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
Psychic Debugging 
I'm going to channel Raymond Chan here, are the hordes spawned by the death of other monsters? Like waves once a certain number die? 
 
Trigger multiple -> Lightning trap -> Trigger once -> relays 
 
It's a bit odd all the other fights seem to work fine. This particular spawn however is spawning both a zerg in a spawn room that then come through teleporters AND a bunch that spawn right next to the player. If they are not waking you don't notice because they aggro you anyway :p 
Activator 
So the lightning trap is shooting a hurtable trigger_once during this sequence? Because I could see that setting the wrong activator and so not waking monsters up. One test of this would be to replace the hordes with just a regular monster whose back is turned and see if that trigger will wake them up. If this monster also fails to wake then read on to find out the problem...

The concept of the activator is a fairly opaque topic in quake mapping. When an targetname event gets called, one of the entities in the game is designated as the activator of that event. If the trigger was a touch trigger then the player who touched it is the activator. Similarly relays propagate the activator of the original event.

What about when the trigger is driven by damage? Well, the QC has to work a bit harder to get this right. If the damage was done by a player rocket, naive code might make the rocket the activator. Really what we want is for the owner of the rocket to be the activator, which is why T_Damage takes two entities: the inflictor and the attacker. In this case the rocket is the inflictor and the player is the attacker. The concept of the attacker is also needed for correct ai and kill message attribution.

So I'd guess that the problem is that the lightning trap is being identified as the attacker and therefore becomes the activator. Lightning traps don't use their activator as the attacker, self is the attacker (mostly because the lightning uses the thunderbolt attack function which doesn't distinguish between inflictor and attacker). This is typical for trap shooters though, spike shooters would behave in the same way. 
Activator Fix 
Forenote: Bear in mind that if any of the monsters from a horde spot the player, they will wake all the nearby monsters which will overwhelmingly reach the whole horde. Be careful of false positives in your testing.

There's actually a much more common source of activator bugs in maps, which I think have been discussed recently: monster kills (I assumed this was the issue at first). When a monster fires a trigger on death, their killer becomes the activator of the event. Usually the player does the killing but infighting can ruin it! So it's doubly worth looking at how to fix activator issues.

One suggestion would be just change this crazy QC stuff so that monsters who are activated always attack the player regardless of who caused the activation. I don't like this fix because it only works in single player. In co-op you might have multiple players, so you have to decide how to sensibly pick one for monsters to attack. Even if you think you've fixed this, what about if there are no players!

A simple fix on the mapping side of things is to make sure that events to wake up monsters are only bound to things that players can do, like touch triggers, buttons and item pick-ups. A lot of the time this is reasonable and worth bearing in mind. I don't think it's ideal everywhere though; if you imagine a climactic arena fight with multiple waves of spawning monsters, it might destroy the intensity if the player gets to press a button at their leisure to restart the combat.

So in these circumstances I would recommend a new pattern: Use the trigger event which may have the wrong activator to spawn a trigger_once over the combat area. Make this trigger_once target the monsters on touch. Since touch triggers only fire on players you can be sure the monsters will have a valid target. There is no chance in co-op that the monsters will go after the player who is AFK over the one in the arena. If no players are in the server, we just wait for a player to enter the area. 
Yes 
i ran into this problem back in ne_tower.

you could try making a giant info_notnull trigger_once in the area the player will be in that is only turned on when the lightning trap hits the trigger once, and have THAT trigger target the relays and monsters. this way the player will be the activator. 
Heh 
i should refresh pages before posting. -_- 
Addendum 
There is no chance in co-op that the monsters will go after the player who is AFK over the one in the arena.

Reads better as:

There is no chance in co-op that the monsters will go after the player who is AFK in spawn ahead of the one in the arena. 
Oh Yeah! 
For once my verbose answer is in before Necros' concise one! 
Haaah 
I love you guys!

(did I already post this?) 
Apparently Not 
 
 
I think I've fixed it, ta guys 
 
Hah just after typing that I played it through again and both major horde sections broke, grr :p 
 
Battle not with monster activation issues, lest ye become a monster. And if you gaze into the void, the trigger_hurt gazes also.
- Preach 2009 
 
Sod that I was planning to release an alpha of this bloody thing today! :( 
 
anything that stands in the way of horde gameplay is a good thing. I wonder how great rage could have been without it. 
 
you mean, any bit of the game with the mutants? :P 
 
Guh it is actually not working just with a straight trigger now. Monsters spawn but don't aggro. grrr. 
 
I've reduced the spawning down to a single trigger the player walks through, and waves are staggered by doors in front of different groups... but it's only waking about half of the monsters anyway. Added multiple triggers in a line, or a single trigger multiple the player sits in and fires every few seconds, still isn't doing anything. Bit confused :p 
ZQF 
This aint a fix, but:

You could just normal monsters with the spawned and alert flags. This way you have 100% control of where and when they spawn, its easier to implement skills etc. I dunno if that would work in your map, but its an idea maybe :S 
 
Yeah I'll mess around with how they are activating... I think I've worked out one factor that's causing trouble, some groups still had different spawn delays, and I think that was causing some telefragging and messing things up :p 
Worth A Look 
Even if you do get it fixed, do set aside a copy of the map how it is now and send it to me sometime, I can check there isn't a bug in the code that way. 
 
there's horde gameplay in rage?! :D 
 
My conclusion is it is the spawn delay that is causing the mobs to not activate on spawn. I created a set spawned by the same trigger, two with no delay and two with ten seconds, first activate the second don't :E 
 
isn't the auto-wake feature broken in quoth2? i know it definitely is for the horde spawner. 
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.