Page 1 of 1
Global Exploder
Posted: Sat Jun 11, 2005 2:24 am
by ViPER
Exploder in m5l2a and m5l2b in the Tiger hunt sequence lets you blow up the buildings even with gunfire! is there a way to modify this so it only works with nades, bazookas and other heavies??? not bullets or bashing.
Posted: Sat Jun 11, 2005 8:18 am
by jv_map
Try a trigger_multiple with the PROJECTILES spawnflag checked

Posted: Wed Jun 15, 2005 1:46 am
by ViPER
OK im lost here... if i create a new exploder triger does that mean i do, or do not execute the global exploder?
Posted: Wed Jun 15, 2005 6:25 am
by bdbodger
A lot of the global scripts have instructions in them at the top of the script
quote from the global/exploder.scr
// Exploding chunk system created by Mackey McCandlish.
//
// Before level waittill prespawn "exec global/exploder.scr".
//
// Used in levels where stuff blows up.
//
// Create a script_object that is a "undestroyed" version of the thing that is supposed to blow up and targetname it "exploder"
//
// Create a script_object that is a "destroyed" version of the thing that is supposed to blow up and targetname it
// "explodersmashed". They occupy the same physical space.
//
// Create script_object chunks of geometry that are going to fly out of the destroyable object/building and place them in the
// places they're supposed to fly from. Make them near but not touching the geometry of the explodersmashed. Targetname them
// "exploderchunk".
//
// Create one script_origin for each exploderchunk and make the chunk target the origin the same way a jump pad would target
// the jump pad destination in Quake3.
//
// Create script_models with targetname "exploderfire" and the "model" value of the tiki you want to use. These will be tiki
// explosions that will go off.
//
// Give all the chunks, smasheds, fires, and exploders the same #set value. Note you can have any number of smasheds, chunks,
// fires, or exploders, but typically you only have one smashed and one exploder. The reason you would want multiple of any
// of these is that you can give any of them a #pause value, and that will make it delay that long before occuring, so you
// could create a multistage explosion.
//
// You can create an explodertrigger (with the same #set), or just do "thread global/exploder.scr::explode #" (# being the
// #set value of the exploder in question).
//
the trigger would have the targetname explodertrigger
Posted: Wed Jun 15, 2005 8:27 pm
by ViPER
TY i did find that but i am really good at the cut and paste method of scripting lol. so if i want to do this me think I needs to -
1. find out the set # for each exploder location (by looking at the bsp in notepad)
2. find an example of a trigger multi that shows me how to define targetname, set# and spawnflag thingy.
3. figure out how do i set spawnflag to on. I see spawnflags = 128 alot but thats what is being used already in the map i think.
and i guess i define each exploder with unique targetname and exec it without out executing the main exploder?
whew or just let peeps blow up all those bldgs with pistols! LOL
exploder
Posted: Wed Jun 15, 2005 8:47 pm
by tltrude
Are you trying to modify a stock map, or one you created?
Posted: Wed Jun 15, 2005 9:00 pm
by ViPER
they are conversions of m5l2a and m5l2b "Tiger Hunt maps" where you blow up all the buildings in the Tank.
Darn things blow up when you shoot or even bash em.
What i want to do is blow them all up with a bombing thread (like I have done in several other mods). Its just that peeps can shoot at and explode them before the event occurs.
Posted: Thu Jun 16, 2005 12:21 am
by bdbodger
The bsp for m5l2a has this in it
{
"model" "*77"
"origin" "2452 872 476"
"classname" "trigger_multiple"
"spawnflags" "128"
"setthread" "building1"
}
and the script for m5l2a has this
building1:
if (level.building1 == 1)
end
level.building1 = 1
$building1_damage_volume volumedamage 1000
exec global/exploder.scr::explode 2
end
It has more like that in the bsp and script . Since the trigger does not have a targetname you can't change it's settings you can however remove the triggers from the map for example and spawn all new ones that would be a lot of work . You can try and be clever and add to the thread in the script or just make it blank and spawn new triggers and write new threads . You can get the coords from the bsp and even use the model * to spawn new triggers if you just make the theads blank or just use setsize . I don't think anyone is going to do all that for you so if you are a cut and paste scripter you are out of luck or you can be a real scripter and come here for help if you get stuck . Another idea is to give the triggers you make health and run a thread that checks that . I am not sure that you can stop a trigger multiple from reacting to bash all you can do is say if it reacts to bullets or projectiles or not . That is why I suggested useing the health method . The spawnflag for reacting to projectiles as well is 144 I belive .
Posted: Thu Jun 16, 2005 9:39 am
by ViPER
TY, you gave me the idea to remove all the triggers! they do have a targetname "explodertrigger". And now they are gone. At any rate peeps wont be running around blowing everything up with pistols and all those exploder chunks aren't expossed and ugly.
I would like to use the exploder sets in my mod though.
All i need help with is one example of how to spawn a triggermutiple and assign the necessary stuff to use it. I got this from bsp m5l2a. I believe it is the church southwall.
#set 4
classname trigger_multiple
health 90
model 110
origin 3052 1072 392
spawnflags 128
targetname explodertrigger
So how do i create an explodertrigger (with the same #set) and new spawnflag 144 ?
Posted: Thu Jun 16, 2005 11:35 am
by bdbodger
To use the health method don't name the triggers explodertrigger that will set them off right away . Instead use setthread on the trigger to test the health of the trigger and when it is 0 or less then set off the explosion . It might look something like this
trigger_health:
if(self.health <= 0)
{
exec global/exploder.scr::explode self.set
self remove
}
end
by haveing your triggers use that thread with the setthread key and giveing your triggers the right set number they will be set off when thier health gets low enough
spawn them like this after you remove the old ones
local.trigger = spawn trigger_multiple origin ( ?? ?? ??) spawnflags 144
local.trigger setsize ( ?? ?? ??)(?? ?? ??)
local.trigger.health = 500
local.trigger setthread trigger_health
local.trigger.set = 1
Posted: Thu Jun 16, 2005 12:07 pm
by ViPER
Awesome!! it worked!
Now I have about 35 more exploder sets to identify!!! LOL
TY bdBodger
Posted: Thu Jun 16, 2005 12:34 pm
by ViPER
Oooops!! It does work, except you can still trigger it with bullets
Is there a list of spawnflags?
Posted: Thu Jun 16, 2005 7:07 pm
by lizardkid
just open up Rad and make a trigger, set what checks you want and copy the spawnflags. :S
Posted: Fri Jun 17, 2005 8:27 am
by bdbodger
you can't stop if from reacting to bullets you can make it only react to bullets and include projectiles or not
/*QUAKED trigger_multiple (1 0 0) ? x x NOT_PLAYERS MONSTERS PROJECTILES x x DAMAGE
Scorpios comments/information:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Description:
------------
Variable sized repeatable trigger. Must be targeted at one or more entities.
Spawnflags:
===========
If NOT_PLAYERS is set, the trigger does not respond to players
If MONSTERS is set, the trigger will respond to monsters
If PROJECTILES is set, the trigger will respond to projectiles (rockets, grenades, etc.)
If DAMAGE is set, the trigger will only respond to bullets
Values:
=======
"activatetrigger" ( Entity triggering_entity ) Activates all of the targets for this trigger.
"angle" ( Float newAngle ) set the angles of the entity using just one value.
Sets the yaw of the entity or an up and down direction if newAngle is [0-359] or -1 or -2
"cnt" ( Integer count ) Set the amount of times this trigger can be triggered
"cone" ( Float newTriggerCone )Sets the cone in which directed triggers will trigger.
"delay" ( Float delay_time ) Set the delay time (time between triggering and firing) for this trigger
"doActivate" ( Entity activatingEntity )General trigger event for all entities
"doTouch" ( Entity touchingEntity ) sent to entity when touched.
"edgetriggered" ( Boolean newEdgeTriggered ) If true, trigger will only trigger when object enters trigger, not when it is inside it.
"message" ( String message ) Set a message to be displayed when this trigger is activated
"model" ( String modelName ) set the model to modelName.
"multifaceted" ( Integer facetDirection ) Make this trigger multifaceted. If facet is 1, than trigger is North/South oriented.
If facet is 2 than trigger is East/West oriented. If facet is 3 than trigger is Up/Down oriented.
"noise" ( String sound ) Set the sound to play when this trigger is activated
"nottriggerable" Turn this trigger off
"setthread" ( String thread ) Set the thread to execute when this trigger is activated
"sound" ( String sound )" Set the sound to play when this trigger is activated
"triggerable" Turn this trigger back on
"triggerthread" Start the trigger thread.
"wait" ( Float wait_time ) Set the wait time (time bewteen triggerings) for this trigger
Functions:
==========
None !
Internal Engine Use:
====================
None !
Not sure ?:
===========
None !
******************************************************************************/
spawnflags ( add to set)
NOT_PLAYERS spawnflags 4
MONSTERS spawnflags 8
PROJECTILES spawnflags 16
DAMAGE spawnflags 128
hmm i guess you want spawnflags 16 because 144 ( 16 + 128) may not work hmm I thought I remembered it right I was sure that 144 worked maybe not.
Posted: Sat Jun 18, 2005 9:17 pm
by ViPER
ty. yea spawnflags 16.
ALL is good though, and thanks for the help! I can hide the triggers and make them real small so random shooting would be rare.
This will work fine for the bombing thread and fireworks show!!
thanks!