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