News | Forum | People | FAQ | Links | Search | Register | Log in
Mapping Help
This is the place to ask about mapping problems, techniques, and bug fixing, and pretty much anything else you want to do in the level editor.

For questions about coding, check out the Coding Help thread: https://www.celephais.net/board/view_thread.php?id=60097
First | Previous | Next | Last
 
Does anyone know how to compile maps right from the Netradiant menus? Is that even possible for Quake 1? 
 
You need to edit the default_build_menu.xml file in the q1.game folder. 
 
No output in the console thing. Is that possible with hmap2 or any of the linux build tools? 
QC Error In Coop Mode 
I'm stumped here. In coop mode (or to be more precise anything with maxplayers > 1) one of the hacks in Mappi2 causes an error that crashes some engines. The culprit is a customized notnull door entity (of the generator cables - the purpose was to make it nonsolid) which becomes erroneous when more than one player slot is active, because this change in the edict list invalidates the entity's owner field.

I worked around it by changing the entity in question to "use" "func_wall" with "owner" "1" so that it only appears when triggered and is nonsolid at least for the first player. This setup works fine in coop mode.

However, for a reason I don't understand it still causes an error in coop if the berzerker mode (=axe only) is enabled. Not only when the entity is triggered, but already on mapstart. The game displays then a "door_fire: self.owner != self" and the cable doesn't appear.

Any ideas why that could be? Does the removal of the shotgun for the first player mess with the edict list, too? It seems so as there's also a 'walkmonster in wall' warning from a vore inside a func_wall (set to be his owner). But why only with maxplayers > 1?

mappi2tmp.zip 
"owner" "1|2" 
Just throwing it out there. Probably won't work. 
Hmm. 
You've got yourself a tough one there, but the question that I'd want to investigate first is not why it's breaking in berserker mode, but how you're getting away with it in the other modes. There is no way that you can run door_fire if owner is anything but self. Have you assigned door_fire to a particular field yourself? 
 
I didn't use door_fire anywhere. However, could it be related to the other (now only) door hack in the map: the water from the bucket puzzle? For the warning message does not appear on Easy (where said entity is flagged out). When the maps starts in bezerk mode, a script is run that activates and removes a whole bunch of entities including the water door.
Not that it would be any less strange. 
 
Yes, it's indeed related. If the door isn't triggered, everything works as it should. But why? 
Fire In The Hole 
door_fire expects to be called from the master door in a set of doors. Just make sure that the hacked door entity has owner set to itself - you may need to include a copy for each skill configuration which includes the door if the entity number changes in different configurations.

Two comments on setting that field right. Firstly, the higher up the list of entities you can put the hacky door the better, since there's less chance the entity number will change that way.

Secondly, there's a good chance you'll be screwed over for coop by this. Single player reserves only 1 entity for players, but coop has to reserve up to "maxplayers" entities even if that many have not connected yet.

Best thing to do might be to create two version of the door, one for a server with maxplayers 1 (the single player version) and one for maxplayers 16 (the maximal coop version). One door would have an owner 15 greater than the other. Then killtarget off whichever one will crash the game using the coop detection trick as soon as you can. People who want to play coop would have to set maxplayers 16 for it to work - I don't think there's a way to detect server capacity through qc.

Good luck! 
Yeah 
I'll just remove the entire puzzle on coop. Let's see how I can squeeze the additional entities in... on skill 2 the map is practically on the edge of maxedicts.

A reminder that I shouldn't forget to coop test my maps in the future. 
Ah Crap 
As neat as the coop detection hack is, I can't afford it. In fact, I'll have to solve it the cheapest way possible with a simple killtarget trigger. Is there by any chance a way to make a trigger that removes itself after a while if it isn't touched? 
This Message Will Self Destruct In Five...four... 
Yeah, turns out that's pretty simple. Just add

"think" "SUB_Remove"
"nextthink" "60"

to a regular trigger_multiple to get it removed after 60 seconds. The counter will go away if someone triggers it. 
Nice, Thanks 
I actually tried that but with an into_notnull and the trigger touch/use fields which didn't work. I thought the trigger_ entities' think field was locked to InitTrigger. 
 
does scaling up textures on triggers and other invisible things (clip even?) reduce lightmaps?
what about skybrushes?

i do this out of habit, but i don't remember if it actually does anything or not. my gut tells me yes but i've been wrong about stuff like this before. 
 
Hmm I think invisible things are ... immune? ... to lightmaps. At least, that would make sense to me. Not sure about skybrushes, but being fullbright I would assume it too wouldn't matter. 
 
triggers: yes

clips: no

skies: no 
 
thanks!

yeah, in retrospect, it makes sense that clips wouldn't as they are only part of hull1 and 2. and skies are treated as liquid i guess?

but yeah, thanks for clearing that up. :) 
I just gathered my wits and lost them again...
Did recheque my last map and saw I scaled up all skymaps an clips to reduce lightmaps as I was on the 32768 brush limit.

Must I use a toppicname now again? 
Brushes? 
32,000 brushes? That's one mighty big map; mighty f'kin' big. 
I Think He Meant Marksurfaces 
 
Doh! 
Oh well. 
Out Of Orbit 
Yes, the map had 2954 brushes and marksurfaces were at the limit. (about 32768 I think)

But again, does it reduce the lightmap count scaling up clips and skytexture?
Triggers I understand, but after a half year I don't know why I took that much care. 
Skip 
skip doesn't work when it's external bsps loaded from an entity? shit made me very very sad. :'( 
Skip It First? 
 
 
... 
First | Previous | Next | Last
You must be logged in to post in this thread.
Website copyright © 2002-2024 John Fitzgibbons. All posts are copyright their respective authors.