Hmm...
#173 posted by Lardarse on 2008/09/11 18:13:55
Surely you can use trigger_relays to force the ambient to start every 5 seconds (or at some multiple of it's length). Sounds a little bad if you hear it suddenly start, but it will keep it playing...
But...
#174 posted by metlslime on 2008/09/11 20:56:02
you get clipping artifacts when the sound restarts, since even if you made the sound loop perfectly, quakec is not going to reliably time the cut at exactly 5000ms or whatever.
Necros
#175 posted by negke on 2008/09/12 10:29:06
It does keep looping infinitely regardless of where the player goes.
Preach
#176 posted by negke on 2009/02/11 16:46:45
#16 - How does that work exactly; could you post an example entity? Is it also possible to override a monsters existing th_missle function, e.g. to let scrags shoot voreballs and hellknights shoot Chthon etc?
No
#177 posted by necros on 2009/02/11 19:12:10
because the th_ functions are set in the monster spawn functions. you'd have to 'build' the monster you want from scratch and then modify from there.
#178 posted by Spirit on 2009/02/14 12:09:25
"build" in quakec or in a .map hack?
Is It
similar to how does one build a killable Chthon with info_notnull hackery?
http://forums.inside3d.com/viewtopic.php?t=475
Spirit
#180 posted by necros on 2009/02/14 19:29:29
i was referring to the post a little while ago about building a monster with an info_notnull
Megahealth - More Than A Short-lived Pleasure
#181 posted by negke on 2009/06/14 17:11:40
As we all know, having large amounts of health can never be wrong, but unfortunately the Megahealth item doesn't like us to be enjoy our surplus very long. Time to change it:
"classname" "info_notnull"
"origin" "# # #"
"think" "PlaceItem"
"nextthink" "0.2"
"touch" "health_touch"
"healtype" "2"
"healamount" "100" // up to 250
"maxs" "32 32 56"
"model" "maps/b_bh100.bsp"
"modelindex" "#"
"noise" "items/r_item2.wav"
"targetname" "mh"
"killtarget" "mh"
"delay" "0.1"
Now, what's so special about this? The killtarget actually prevents the item from rotting down to 100 like normal Megahealth packs do. This way, nothing will be wasted if one doesn't engage in battle immediately.
You could also do this at map start, for example, by creating an info_notnull brush entity with the same fields except "maxs", "model" and "modelindex", and changing "think" to "InitTrigger"
Doom-style Backpack Full Of Ammo
#182 posted by negke on 2009/06/14 17:26:43
A neater way (for some situations, e.g. secrets) of using the BackpackTouch hack mentioned earlier in this thread:
"classname" "info_notnull"
"origin" "# # #"
"think" "PlaceItem"
"nextthink" "0.2"
"touch" "BackpackTouch"
"model" "progs/backpack.mdl"
"modelindex" "#"
"ammo_shells" "20"
"ammo_nails" "50"
"ammo_rockets" "10"
"ammo_cells" "25"
This will create a backpack that looks and behaves exactly like those the monsters (or players in DM) drop. Of course you can also put some weapons in, with "items" "#" and "netname" "Weapon name". Just don't squish the sandwiches, though.
#183 posted by JneeraZ on 2009/06/14 18:44:18
Ooh, love the backpack idea! Neat stuff, negke!
Neg
#184 posted by necros on 2009/06/14 21:42:30
couldn't you just killtarget/target a regular MH pack? why does it have to be a notnull for the trick to work?
Necros
#185 posted by negke on 2009/06/14 22:30:05
Indeed you could.
The info_notnull just lets you set custom heal values.
Negke
#186 posted by Lardarse on 2009/06/16 12:09:12
For reasons that you will probably not understand even when explained to you, you should make the nextthinks in the above two hacks 1.2 and not 0.2
Well, Try It Anyway
#187 posted by negke on 2009/06/16 13:01:18
I thought items are spawned/drop after 0.2 seconds. I've never encountered problems with this value anyway.
#188 posted by JneeraZ on 2009/06/16 13:11:38
I thought it was 0.1 so, yeah, this should work...
0.2 After The Spawning Frame
#189 posted by Lardarse on 2009/06/16 17:46:55
But time starts at 1, not 0
Scripting Languages Besides QuakeC
#190 posted by inertia on 2009/06/17 00:44:35
Has any work been done to incorporate, say, Lua into a progs?
The Horror, The Horror
#191 posted by ijed on 2009/06/17 18:43:35
I wouldn't recommend it.
AFAIK it wouldn't be difficult, but Lua gets messy over time and, to me at least, is harder to debug than qc.
Other Langs In Quake
#192 posted by inertia on 2009/06/18 06:16:59
The reason I ask is because I love programming in highly-expressive languages, specifically Scheme and Haskell. I know Lua isn't "all that", but something nicer than QC would make me happy. After all it's a hobby, and hobbies should be f.u.n.!
#193 posted by starbuck on 2009/06/18 15:02:56
Haskell is pretty fun. Studied it in the first year of Uni up in Edinburgh. Phil Wadler, the designer of Haskell was the lecturer, and I'll never forget the first lecture, when he tore off the shirt he was wearing to reveal a t-shirt with a giant lambda symbol on it.
He also shouted LAAAMBAAAA!!!. Dude really loved lambda calculus. Think I laughed at that for a solid week. For reference he also looks like this:
http://homepages.inf.ed.ac.uk/wadler/Pics/philtiebig.jpg
#194 posted by inertia on 2009/06/18 19:55:27
That is awesome. I've noticed that a lot of people worship the lambda. Have you heard the story about how Feynman, for his intro physics class, hung a bowling ball from the ceiling? He stood up against the wall, pulled the ball up to touch his nose -- and let it go. Of course, on the return swing, it did not touch smash into his face. His point was that physics works, and you have to get an intuitive feel for it to be good at it.
There's a nice thread here about 'why did Church pick lambda?':
http://groups.google.com/group/plt-scheme/browse_frm/thread/d8a31482f811a0e8/42064e654a20887d?tvc=1
Triggering From A Monster
#195 posted by necros on 2009/06/27 22:32:11
is it possible to trigger a target with a monster as the activator?
i've tried spawning the monster on top of a trigger_teleport, having the monster walk onto the trigger_teleport (with path corners) and lowering a monster into a trigger_teleport with a func_door.
the trigger_teleport had a target, but somehow i was still the activator when the monster would go through the teleporter.
all i can think of would be to make a dummy monster that targets the entity, and make the spike_touch hack kill the dummy with the owner pointing to the activator monster, but that's convoluted as hell and really ugly.
Yes, It Can Happen
#196 posted by Preach on 2009/06/28 00:36:04
For example, if a monster kills another through infighting, and the dead monster had a target, then the killer will be the activator of the target. This caused a very tricky to identify bug in a recent map whose author will remain nameless here...
So it can happen.
Making it happen on demand is a bit trickier. I think I've come up with a hack that will do it though. Add an info_notnull and set its enemy field to the entity number of the monster in question. Then set its use field to trigger_multiple. Then if you use the info_notnull, it will fire its targets with its enemy as the activator.
How it works: originally I was going to try doing it with the "naked trigger_multiple" hack, where you make a trigger that monsters can touch, and have the teleporting monster touch it. That trick relies on short-circuiting the multi_touch function which usually guards against non-player touches.
Unfortunately, skipping that function also skips the line which sets the trigger's enemy to the touching monster/player/fireball. This enemy is then used as the activator - so you still wouldn't get the monster as the activating entity. Instead you get whatever was in the enemy field to being with - world being the default. I got half way through typing up a solution involving the spike_touch hack setting off a trigger_multiple with health, before I saw the short cut that would save an entity...
Not properly tested it btw, but I'm pretty sure that will work as intended!
Thanks
#197 posted by necros on 2009/06/28 00:50:59
that sounds like a much better solution. this brings me to another question i should have asked: how *do* you find the edict numbers?
typing edicts in the console outputs ALL the edicts, and even with condumping, it only actually prints the last 80-100 or so. (the map has over 600 edicts).
all i can think of is to maybe make a progs, but can you even bprint() the edict number?
|