Call of Duty 5: FXs
NOTE: This tutorial, taken from the Treyarch Wiki, has been edited as the original code doesnt work
Creating your FX
- Create a GSC file, Intro To Scripting but fill it with the text below instead.
#include maps\mp\_utility;
main()
{
precacheFX();
spawnFX();
}
precacheFX()
{
level._effect["mp_fire_medium"] = loadfx("maps/mp_maps/fx_mp_fire_medium");
}
spawnFX()
{
playLoopedFx(level._effect["fx_mp_fire_medium"], 4, (0,0,0), 0, anglestoforward ((270,0,0)), anglestoup((270,0,0)));
}
- Save the file as mp_yourmapname_fx.gsc in the same directory as your main script file.
- Add the below line to your mp_yourmapname.gsc right under "maps\mp\_load::main();".
maps\mp\mp_yourmapname_fx::main();
- Update your zone file with "rawfile,maps\mp\mp_yourmapname_fx.gsc" if it is missing.
rawfile,maps\mp\mp_yourmapname_fx.gsc fx,maps/mp_maps/fx_mp_fire_medium
Description of your FX GSC
1. Your main function.
main()
{
precacheFX();
spawnFX();
}
- This can do everything if you want but for organization purposes it is advised you have at least these two functions to separate the steps.
2. precacheFX() function
precacheFX()
{
level._effect["mp_fire_medium"] = loadfx("maps/mp_maps/fx_mp_fire_medium");
}
- level._effect["mp_fire_medium"] is the name "mp_fire_medium" that will be referenced by all your scripts, this can be anything.
- loadfx("maps/mp_maps/fx_mp_fire_medium") is the path to the tagged FX, notice that there is no extension on the end of the path.
spawnFX() function
spawnFX()
{
playLoopedFx(level._effect["fx_mp_fire_medium"], 4, (0,0,0), 0, anglestoforward ((270,0,0)), anglestoup((270,0,0)));
}
- playLoopedFx(level._effect["FX Name"], Repeat Rate in seconds, (position XYZ), 0, anglestoforward((Front direction XYZ)), anglestoup((Up direction XYZ)));
Sources: Treyarch's Wiki