|Posted by Kell on 2008/03/09 14:25:20|
|Finally. Quoth Part 2, the base-oriented update.
Note: the mapping tutorial is only half done. We've decided to release anyway, because it's taking too long, plus there are maps already finished that use this content and surely some more will follow.
Map sources for all the Quoth maps, including the previous pak0 maps, are downloadable from the tutorial page.
Have at it.
[edit: fixed URL]
The sounds a func_train makes can now be customised. Set "noise" to the path of the desired sound the train will make while in motion. This should be a looping sound file. Similarly set "noise1" to the sound the train should make when motion ends.
Rather than set the speed at which the train should move, you may instead set the "duration" key, which will move the train at the speed required to make the journey take "duration" seconds between each path corner. If you need to specify the duration of each journey from path corner to path corner, see the path_corner entry below.
The "count" key allows you to create clones of the func_train. Each one will start at the next free path corner until "count" clones have been created(in addition to the original) or until each path corner of the circuit has a train.
TRAIN_SMOOTH = 1
TRAIN_BLOCKABLE = 2
if TRAIN_SMOOTH is set, will not pause (unless wait is set) on path_corners. It will not apply damage either when blocked, you must use the TRAIN_BLOCKABLE flag to make it cause damage when blocked.
Set "duration" on a path_corner and any func_train which visits this corner will inherit the value of "duration" set. This means it will take "duration" seconds to travel between path_corners from that point onwards. By having each path_corner set duration, you can control the lengths of each stage of the train's journey. The train will use the duration or speed it is given initially for it's first journey between path corners, it will not inherit the duration of it's starting target.
The "event" key can be used to trigger an event when a func_train leaves this corner. Set "event" to the targetname which you wish to trigger. This doesn't trigger if the train arrives and stops with a "wait".
setting "wait" will cause monsters to pause for that number of seconds on the path_corner. while they are waiting, they will turn to face whatever angle the path_corner has set.
if "wait" is set to -1, monsters will stop there forever, and turn to face whatever angle the path_corner has set.
info_screenshake now shakes ALL player's screens (not just the one who triggered it) in a radius around it's origin.
The entity is the same as before, except you now can use the "height" key to specify how large a radius to affect player's screens.
"noise" specifies the looping sound to be played while the entity is active and "noise1" specifies the sound played when it ends. Set both to misc/null.wav to make the effect silent.
This is basically an invisble func_wall that can be toggled on and off indefinitely.
The "noise" key is used to specify the sound effect played when the wall is triggered and "noise1" is for the sound played while the wall is actually blocking the player's movement. "noise2" is the sound to play when a player touches/takes damage from the wall. Add these in the format "weapons/lhit.wav" ( the "/sound/" bit is automatically added by the engine ). The wall can also be set to inflict damage on the player every "wait" seconds, with "dmg" specifying how much damage per hit. Default values are 0.5 and 0 respectively.
Spawnflag 1 means that the wall begins non solid, and will become solid once triggered. Spawnflag 2 turns on the particle effect, making this into a forcefield. While the func_togglewall is solid, a particle effect will scroll across it. The "worldtype" key takes values from 0 to 5 specifying the direction the effect scrolls;up, down, east, west, north or south,. The "colour" key should be a quake palette index specifying the colour of the particles. "speed" specifies the speed at which the wave should travel. "style" specifies the number of particles that should be generated per second. Take care that style is not set too high, or the player will be flooded with particle messages, causing lag in network games.
If the wall does not have a particle effect, spawnflag 4 will change the type of solid object that the func_togglewall is. By default a func_togglewall blocks line of sight to monsters and has a shape matching the brushes it is built from. With spawnflag 4 it does not block line of sight and has a bounding box shape like a trigger, so it is a cuboid aligned to the axes of the world large enough to cover the whole extent of the brushes it is made from. If you are using this spawnflag, construct the object from a single, unrotated cuboid brush to see the shape of it correctly.
That begs the question though, what are the other spawnflags then?
So far I have only included spawnflag 1 as "ambush" which I assume is used here in the same way as the standard monsters.
If spawnflag 4 is used to turn the Sentinel into a nail guy, what are the other spawnflags used for?
Are there any other new spawnflags for any of the other monsters? The Quoth web page does not specify any new spawnflags for any of the monsters as far as I can see.
I just realised I didn't even have the complete range of spawnflags for the standard stuff, let alone the new ones. (The whole easy/medium/hard/not in dm)
I never noticed since I haven't done an SP map in Radiant! (Or at all..)
So yeah, anyone got a list of all the spawnflags (new and old? ;)
There are the general flags added to all monsters here:
I don't think any individual monsters have new spawnflags. Also all the coop/not in skill level/not in dm apply, but those get applied to every entity. The monsters in quoth1 tended to have their own keys rather than spawnflags, like the dangle key for vorelings.
Spawnflag 2 was skipped because that is also ambush. The ID people screwed up and made spawnflag 1 crucified for zombies, so to make an ambush zombie you give it the second spawnflag. This will in fact work on any monster, both in original quake and quoth.
Thanks again for the info Preach!
Fribbles, here's what I have for those standard flags:
SF_NotInEasy = 256,
SF_NotInNormal = 512,
SF_NotInHardNightmare = 1024,
I think "DM only" is all of those combined (so, not in any skill level - only DM). It's not a real spawnflag, just a side effect (I think). Or, obviously, not setting any of them will also let the entity appear in DM which is why your DM maps worked.
Not In Deathmatch
Not in deathmatch is 2048, it's a different flag. Quoth adds
coop only = 4096
not in coop = 8192
which are the next two flags. The quoth coop flags don't work quite as efficiently as the built in ones, mostly with regard to precaching things. If all the shamblers in your map had not_in_easy, then the shambler models wouldn't get precached in easy skill. The same can't be said for the coop flags, as it's done by the qc code, not the engine. Hopefully other than that the effects are the same.
Could you respond to my email pretty please?
Details for the info_trap entity, which is quite complex:
This entity allows you to create highly customisable shooters along the lines of the spikeshooter in regular Quake.
if set, will not start until triggered. Will also turn off when triggered again.
info_notnull to shoot towards. Theoretically, you could target monsters or func_trains... This is only the initial direction. If "tracking" is set, projectiles will eventually curve toward the activator.
delay between shots
delay for first shot
determines the speed of the projectile
0 = None, 1 = Vore style, 2 = Death Lord/Rocketeer style
0 = Flying, 1 = Ballistic (Explode on Impact), 2 = Bounce (noise2 sets bounce sound, duration sets fuse time)
Defaults to 1. This is the least amount of damage the projectile will cause
If set, damage will be between 'mindamage' and 'maxdamage'. Maxdamage is at least mindamage
Makes this projectile explode. Higher values increase radius and damage. (Player rockets are 120 for reference)
Sets the sound to play when firing
Sets the sound to play when hitting
Sets the sound to play when bouncing (only applicable with style=2)
How long the fuse should burn before exploding
This is how much damage will be multiplied when the shooter hits func_breakables. This is so shooters can break func_breakables fast, without needed to be overpowering strong and kill the player in one shot.
Whether projectile should glow, 0 = Don't glow, 1 = glow
String for obituary message, "was zapped by a trap" outputs "Player was zapped by a trap"
Various preset values for common projectile settings. Preset settings simply replace default settings. Can be overridden selectively.
0 - No preset
1 - Player Rockets
2 - Player Grenades
3 - Player Plasma
4 - Player Nails
5 - Player Super Nails
That Just Leaves
func_door_button, which sounds like it's related to doors somehow...
It's a regular func_button except that it can be attached to a door, so that the pair of them move together. This is basically for making lifts with attached buttons. While the door is in motion the attached button and any other buttons which target the door are disabled.
Set this key to the targetname of the door you wish to attach the button to. If you require several doors, each with their own attached buttons but all of them affected by by the same trigger, then give them a unique targetname and use targetname2 to give all the doors a single name to trigger them with. In all respects besides this key, the func_door_button is identical to a regular button, and the usual keys of wait, delay, target apply.
You just gave me an idea...
So why does Quoth2's ambient_generalpurpose precache that one machine sound instead of drip1.wav as specified? Placing a regular ambient_drip entity somewhere in the map seems to fix it though.
And what's with those "lr_strt.wav not precached" warnings every time doors have sounds 0?
The machine sound is always precached regardless of any entities you add, so that it's first on the list for some protocol message hacking. Not sure why drip1.wav isn't being precached if you've set it in the noise field, I've just made a test map in which this sound works.
I also included a door with 'sounds 0' and I get no warning messages. "doors/ir_strt.wav" is the noise for 'sounds 5', but if that was the cause then it would be precached. You're gonna have to send me the map file with these problems, as I can't replicate them myself.
Oh, I didn't know there's a 'sounds 5' option (as well as 'sounds 6' which uses er_strt/stop), especially since none of the sounds are included in the Quoth 1/2 paks.
I'll send you the map file later on.
Sounds To Me
Sounds to me like you're trying to do some hacky stuff with the noise fields to support custom sounds on your door. This isn't necessary in quoth, leave the sounds field at 0, and set noise1, noise2 to the desired effects. They will be precached by the progs if you do this, so you don't have to worry about including them with another entity.
Yeah, I'm using sound hacks. Setting the sound fields to 0 did the trick.
As for the ambient_generalpurpose sounds, I don't know what I did apart from moving some entities up the list but for some reason it works now. Odd.
play_sound_triggered as well.
How do I make a door button stick to a door that starts open?
Place the button in line with the starting position of the door(the "closed" position). Not very intuitive, but the buttons don't take account of the spawnflags of the door. In theory this could be changed, but if I did that now, then you'd be put in the position of making a map that works with the current progs, or one that will work with a new one.
Discovered 30 Minutes After Posting
New issue: It appears from the documentation that trigger_relay can't use the broadcast flag. Yet, when I rename it to trigger_once (so I can set the notouch flag), the entity mvoes to the origin and becmes unselectable by clicking on it (GTKR 1.5.0). I must be missing something here...
The documentation might be a bit misleading then, because the broadcast flag does work on a trigger_relay, it should work on any of the regular entities used for activating targets. Myself and Kell would like to add that we cannot be held responsible for editor bugs that result from attempting to make a Quoth map : - ).
Does "cnt" work for all triggers? I mean to autoremove a trigger after n uses.
What, A Cnt?
No, that was only added to trigger_hurt, and I didn't know it was there until now. Adding it to trigger_multiple/all triggers is certainly something to think about for Quoth part 3 though.
You must be logged in to post in this thread.
Website copyright © 2002-2022 John Fitzgibbons. All posts are copyright their respective authors.