Hey
I'm going to show (for those who don't know) how to make a bomb, so when you press F it appears and after a few seconds it explodes. The tutorial is step-by-step, so don't worry, you will understand it easily.
First, open Radiant and make a wall, like this:
After doing that, make a copy of that wall and select one of them, do right click on the 2d view and select script->brushmodel. Give the wall these values:
Move the wall you asigned these values out of the other one, so you won't confuse, and after that, select the other wall and "destroy" it:
(Note: to make decals, make a brush, give the texture nodraw_decal, inside Tools, select one face of the brush and give it a decal).
Once done that, select all of the destroyed wall, including the decals and details you put, and give them these values:
Ok you made it, now put the first wall (before) exactly over the one you've done now. We're gonna put the bomb. Do right click on the 2d view, script->model. Search for the bomb model (military_tntbomb). If you don't know how to put models, there's a topic inside this forum). Put the bomb wherever you want, press N and give it these values:
Now make a trig_use_touch over the bomb and give it these values:
Make a script_origin in the bomb, like this, and give the following values (this will set the origin of the explosion and the sound):
And the mapping part is done!
Now let's script. You will need to script a gsc.
For the gsc:
PHP Code:
main()
{
//mapstuff.....
//functions
thread precachefx();
thread bomb();
}
precachefx()
{
//loads the given effect so you
//can use this effect anywhere in you script
//without needing to be loaded again
level._effect["explosion"] = loadfx("fx/props/barrelexp.efx");
}
bomb()
{
//first we define the variables
before = getent("wallbefore","targetname");
after = getent("wallafter","targetname");
bomb = getent("bomb","targetname");
trig_bomb = getent("trig_bomb","targetname");
origin = getent("origin_bomb","targetname");
while(1)
{
//hide the bomb and the wall at first
bomb hide();
after hide();
after notsolid();
//someone puts the bomb
trig_bomb waittill("trigger",user);
playfx(level._effect["explosion"],origin.origin);
bomb show();
user iprintlnbold("Bomb Planted");
user iprintlnbold("Will explode in a few seconds");
origin playsound("MP_bomb_plant");
origin playloopsound("bomb_tick");
//the bomb is shown and starts
//to play a tictac
wait(5);
//wait 5 seconds until the bomb
//explodes
origin stoploopsound();
earthquake( 0.5, 3, origin.origin, 900 );
radiusDamage(origin.origin, 250, 300, 20);
playfx(level._effect["explosion"],origin.origin);
origin playsound("mortar_explosion3");
//do an earthquake, radius damage
//and plays the sound and the effect
//for more info about radiusdmg
//and the earthquake
//see the docs section
before delete();
trig_bomb delete();
bomb delete();
after show();
after solid();
//the old wall, the trig
//and the bomb delete
//and the destroyed wall
//is shown
break;
//so the loop wont repeat again
//if you want another bomb in the
//same place, just put a wait
//command
}
}
And the bomb is done! You could do it other ways, but this one is more easy. For more info about radiusdamage and earthquake, go to CoD2/Docs/Script Functions and look for it
Maybe I've comit mistakes, because I made this tutorial very fast, 1 hour lol, and not in my computer (still in the cyber) so if there is, I hope you understand it
Pollo