Making Solidity Optional In Custom Models
#19160 posted by Esrael on 2017/11/09 22:05:29
Thanks, Preach, for helping me make my first mod with custom models! :) If I finally finish my next map, you can be sure to be in the credits!
I also found out how to make the models solid, by adding the following line to the misc_model function:
self.solid = SOLID_BBOX;
and by adding the appropriate "mins" and "maxs" keys for the entity in the map editor.
But I was wondering if there was a way to allow the mapper to decide whether he wants the misc_model entity to be solid or not (without making two separate misc_model functions, where one is for solid models and the other for non-solid).
First I tried to do it by removing the above line from the code and adding the key "solid" to the custom entity in the map editor, with the value "SOLID_BBOX".
It didn't work, so then I thought that maybe I'd have to rephrase the code into something like
self.solid = (code that reads a key from the entity with the desired SOLID_NOT/BBOX etc. value, and then outputs it);
Am I getting somewhere here, or are my intuitions just plain amusing to you seasoned QC coders? xD
Mins And Maxs Unnecessary?
#19161 posted by Esrael on 2017/11/09 22:15:38
I tried to circumvent the problem by setting the mins and maxs values far away from the map to place the bounding box far away from the entity, but it didn't seem to work. I guess Trenchbroom issues the bounding box to the model from the entity definition file?
Are the mins and maxs keys completely unnecessary then?
Should I just solve the problem by placing skip textures inside the models that I want to be solid? That way I could also have the models cast shadows.
Typo
#19162 posted by Esrael on 2017/11/09 22:17:37
Whoops, I meant brushes with skip textures. You probably knew what I meant, but just had to make sure.
Esrael
#19163 posted by Qmaster on 2017/11/09 23:44:11
SOLID_BBOX is a macro that just gets replaced with the number 2. In your level editor, assign one of the numbers below to solid.
From defs.qc:
float SOLID_NOT = 0; //nonsolid
float SOLID_TRIGGER = 1; //trigger
float SOLID_BBOX = 2; //brush entities
float SOLID_SLIDEBOX = 3; //monsters
float SOLID_BSP = 4; // the world
All of the ALLCAPS variables get replaced by the number or string they represent.
Mins and maxs I believe are automatically generated from the model size and shouldn't be necessary.
Slidebox Is Interesting
#19164 posted by Qmaster on 2017/11/09 23:45:57
I've toyed with the idea for using it for ice or even as a type of player freeze brush since it prevents jumping. In my Keep mod I have a func_slidebox that can let you do that.
Flags
#19165 posted by Preach on 2017/11/10 22:38:06
Although what QMaster posted will work, you can make it a bit more user-friendly using spawnflags. This will make it so that mappers can switch between solid and not using a tickbox. The code you want is something like:
if(self.spawnflags & 1)
self.solid = SOLID_BBOX;
else
self.solid = SOLID_NOT;
The part in the bracket checks if the first spawnflag is ticked, and the second line only happens if that is true. The fourth line only happens if the box is not ticked, because of the else keyword.
If you want to use a different spawnflag (maybe for another feature), it's worth knowing that the boxes are numbered in a surprising way:
1
2
4
8
16
32
...
and so on, doubling each time. So if you want the feature to be controlled by the fifth spawnflag, you would change the condition to
if(self.spawnflags & 16)
E1m1 Door
#19167 posted by pitofmiserymapincoming on 2017/11/11 17:20:09
So is there a tutorial/.map file I can shamelessly copy paste from to get the horizontal opening doors from e1m1? The base style ones. Seems like very complicated brushwork. :[
Newbie Question
just started making quake maps using J.A.C.K. a couple days ago and for the most part I've been able to figure out stuff on my own, but I'm having trouble with func_trains. I'm trying to trigger an event where a platform with a monster on it rises up from the floor but using func_train isn't working the way I want it to. I created a trigger to move my platform) from corner 1 to corner 2 but whenever it reaches corner 2, instead of stopping, the platform just disappears and gives me an error with a bunch of information abut the train.
I'm wondering if there's another method for this kind of thing or if I'm just doing it wrong?
Have corner 2 target corner 1 but use "wait" "-1" to stop it permanently.
@pitofmiserymapincoming
You really should learn by doing it. It's really not that hard and you'll learn a lot about whatever editor you are working with. Hint: use the clip tool.
Copy and pasting brushwork is weak (unless it's for a Speed Map and you've done the same creation before, which I think is fair.)
Challenge yourself, when you succeed you'll be a better person.
How To Clip A Base Door
Woops
I missed a brush (see if you can find what I did wrong) but hopefully you'll figure it out on your own.
How To Clip A Base Door Revised
Sorry for all the posts - this is a revised video.
https://youtu.be/96-oRhYiF-o
I need some coffee.
Fullbright Textures In Trenchbroom
#19176 posted by rafOK! on 2017/11/11 19:25:05
Just started mapping a few days ago, and have become hopelessly addicted. Oops. I can't figure out how to make a fullbright texture. is there a way to do so?
Thanks in advance.
why do items placed in the editor sometimes not show up in-game? like I'll try to place two ammo boxes next to each other but when I boot up the game one of them isn't there.
#19178 posted by muk on 2017/11/11 20:49:40
Theyre too close together. Move them apart and theyll both load.
@rafOK!
You don't make textures in TB actually. You can create textures in Wall or TexMex and most likely QuARK.
General info here:
http://www.celephais.net/stuff/texturefaq.htm
@19176,19179
#19180 posted by Spud on 2017/11/11 23:31:16
It's also possible to make any texture technically fullbright by turning the brush it's applied to into a func_wall and using the necessary (and usually compiler-dependent) entity fields to make the func_wall still cast a shadow and be lit properly on the other faces, but have the one face you want ignore lighting and display at a constant brightness.
Granted, this is only really a solution for smaller details (computer screens, gauges, eldritch runes, etc) as turning giant parts of an actual wall into func_walls so you have holes going everywhere is generally not a great idea for vis time and framerates.
AD Func_breakable Via Trigger
#19181 posted by DOOMer on 2017/11/12 17:27:58
I made func_breakable to the my AD map, then connected trigger to it. Breakable object has breaks by trigger, but also player can make breaks it by his weapons.
How to make a ban for the break object by the player's weapons? I can make greater health value (eg 65000), but is there any other way?
DOOMer
#19182 posted by bal on 2017/11/12 17:50:18
Set the spawnflag to 2 (= nodamage) so player can't damage it.
@Bal
#19183 posted by DOOMer on 2017/11/12 17:55:52
Thanks.
More Questions - Make A Brush Give Off Light?
#19184 posted by rafOK! on 2017/11/12 17:57:26
After some though, I realized that making the texture fullbright isn't the solution to my problem. I need to make the brush (some lava) give off light.
Is there a way that this can be done?
|