Author |
Topic: Setting trigger_damage spawn flags - I want grenade only damage! |
Pikachupoo |
General Member Since: May 4, 2004 Posts: 48 Last: Oct 15, 2005 [view latest posts] |
|
|
Category: CoD Mapping Posted: Wednesday, Oct. 6, 2004 04:52 pm |
|
I'm having a bit of trouble setting spawnflags for a trigger_damage, for some reason they don't seem to work! I've got an exploding truck that I just want to explode from a grenade. I tick NO_Rifle etc, yet everything destroys it. I want only a very percise grenade shot to trigger it. You'll see from my script below that I've got lots of random things going on that'll spice up the gameplay. Anyways, does the damage settings need to be defined in the script?
Here's my script...
main()
{
//find everything with targetname "block"
thetrigger = getent("GMC2_trigger","targetname");
thetrigger thread GMC2_listens();
}
GMC2_listens()
{
//get the trucks
goodtruck = getent("GMC2_before","targetname");
truckafter = getent("GMC2_after","targetname");
//get location for special effects
fx = getent("GMC2_FX_pos","targetname");
if (isdefined(fx))
{FX_location = fx getorigin();
iprintln("fx defined");}
else
{iprintln("fx not defined");}
goodtruck show();
truckafter hide();
self waittill("damage", amount);
iprintln("effects play at: "+FX_location);
iprintln("the damage is " + amount);
randnum = randomIntRange(0,4);
randexplo = randomIntRange(0,3);
randsmoke = randomIntRange(5,10);
randsmoke2 = randomIntRange(5,10);
iprintln("randsmoke "+randsmoke);
iprintln("if it's 0 it'll explode "+randnum);
switch (randnum) { case 0:
switch (randexplo)
{
case 0:
goodtruck doDamage();
goodtruck playsound("mortar_explosion2");
playfx(level._effect["blacksmoke"], FX_location);
playfx(level._effect["explosion2"], FX_location);
goodtruck delete();
truckafter show();
for (i=0; i
{
playfx(level._effect["blacksmoke"], FX_location);
wait(1);
}
break;
case 1:
//random smoke
for (i=0; i
{
playfx(level._effect["fireheavysmoke"], FX_location);
wait(1);
}
//explode
goodtruck doDamage();
goodtruck playsound("mortar_explosion2");
playfx(level._effect["blacksmoke"], FX_location);
playfx(level._effect["explosion2"], FX_location);
goodtruck delete();
truckafter show();
for (i=0; i
{
playfx(level._effect["blacksmoke"], FX_location);
wait(1);
}
break;
case 2:
//explode
goodtruck doDamage();
goodtruck playsound("mortar_explosion2");
playfx(level._effect["blacksmoke"], FX_location);
playfx(level._effect["explosion"], FX_location);
goodtruck delete();
truckafter show();
//random smoke
for (i=0; i
{
playfx(level._effect["fireheavysmoke"], FX_location);
wait(1);
}
//explode
goodtruck doDamage();
goodtruck playsound("mortar_explosion2");
playfx(level._effect["blacksmoke"], FX_location);
playfx(level._effect["explosion2"], FX_location);
for (i=0; i
{
playfx(level._effect["blacksmoke"], FX_location);
wait(1);
}
break;
default:
for (i=0; i
{
playfx(level._effect["blacksmoke"], FX_location);
wait(1);
}
break;
}
default:
for (i=0; i
{
playfx(level._effect["blacksmoke"], FX_location);
wait(1);
}
break;
}
}
doDamage()
{
die = getent("GMC2_boom","targetname");
borigin = die getorigin();
radiusDamage(borigin, 300.0, 2000, 1000);
return;
}
|
|
|
|
StrYdeR |
General Member Since: May 11, 2004 Posts: 11672 Last: Apr 20, 2024 [view latest posts] |
|
|
|
|
|
Pikachupoo |
General Member Since: May 4, 2004 Posts: 48 Last: Oct 15, 2005 [view latest posts] |
|
|
|
StrYdeR |
General Member Since: May 11, 2004 Posts: 11672 Last: Apr 20, 2024 [view latest posts] |
|
|
|
|
Category: CoD Mapping Posted: Wednesday, Oct. 6, 2004 10:54 pm |
|
Quote:
| self waittill("damage", amount); |
|
this line i have to assume waits for a certain amount of damage to occur
i would redo your trigger script something like this:
change Quote:
| main()
{
//find everything with targetname "block"
thetrigger = getent("GMC2_trigger","targetname");
thetrigger thread GMC2_listens();
} |
|
to Quote:
| main()
{
level thread GMC2_listens();
} |
|
and Quote:
| GMC2_listens()
{
//get the trucks
goodtruck = getent("GMC2_before","targetname");
truckafter = getent("GMC2_after","targetname");
//get location for special effects
fx = getent("GMC2_FX_pos","targetname");
if (isdefined(fx))
{FX_location = fx getorigin();
iprintln("fx defined");}
else
{iprintln("fx not defined");}
goodtruck show();
truckafter hide();
self waittill("damage", amount);
|
| didnt need to go further than this - all changes are up to this point
to Quote:
| GMC2_listens()
{
//get the trucks and the trigger
goodtruck = getent("GMC2_before","targetname");
thetrigger = getent("GMC2_trigger","targetname");
truckafter = getent("GMC2_after","targetname");
//get location for special effects
fx = getent("GMC2_FX_pos","targetname");
if (isdefined(fx))
{FX_location = fx getorigin();
iprintln("fx defined");}
else
{iprintln("fx not defined");}
goodtruck show();
truckafter hide();
thetrigger waittill("trigger", other);
|
| |
|
|
|
Pikachupoo |
General Member Since: May 4, 2004 Posts: 48 Last: Oct 15, 2005 [view latest posts] |
|
|
|
StrYdeR |
General Member Since: May 11, 2004 Posts: 11672 Last: Apr 20, 2024 [view latest posts] |
|
|
|
|
|
Pikachupoo |
General Member Since: May 4, 2004 Posts: 48 Last: Oct 15, 2005 [view latest posts] |
|
|
|