Adding A Hanging Paratrooper
This tutorial by br3nt shows you how to add a hanging paratrooper to your map.
OK The Map Part Of This Tutorial Is Simple ..All You Need Is A Pathnode High Up off The Ground. Right click 2D View, node> pathnode - You Know The Pink Ones.. Give It These Paramaters:
KEY: targetname
VALUE: parachute guy
It Will Turn Green After You Rename it..
Remember to have it Up High Off the Ground Else he will Spwn In The Ground...And Of Course You Will Have to Build Something for Him To Hang On. Or Else he hangs in the Air. But For Testing it Out This Is Not Necessary.
NOTE:If You Open The Map In The Files For This Tutorial You Will Find A Triange Shaped Brush On The Roof Of Tower. It Is The Slope Of The Parachute..And Will Help You Out When Building Your Own Map. -=How Nice Of Me...=-
Download: HERE
Here Is The Script...
main()
{
maps\_load::main(); //Loads Global Scripts
thread parachute(); // Precahces Our ParaTrooper Animations
thread treeguy(); // Precahces Our ParaTrooper Animations
maps\_utility::precache ("xmodel/parachute_animrig_churchguy"); // Precahces Our ParaTrooper Model
thread dead_para(); // Thread Our Function Dead_Para
}
dead_para ()
{
guy = spawn ("script_model",(0,0,0)); // Spawns a Blank script_Model
guy.animname = "tree_guy"; // Sets Its Animation Alias
guy character\_utility::new(); // Assigins a Blank Character--I Think...
guy characterAirborne3d_garand::main(); // Threads The Charater Model Script
guy assignanimtree(); // Assigns The Animation Tree
parachute = spawn ("script_model",(0,0,0)); // Spawns a Blank Script_Model
parachute.animname = "parachute"; // Sets Its Animation Alias
parachute setmodel ("xmodel/parachute_animrig_churchguy"); // Sets The Model
parachute assignanimtree(); // Assigns the Animation Tree
node = getnode ("parachute guy","targetname"); // Defines the Node Where He Will Hang
array[0] = guy; // the rest sets Origins and integers to run AnimLoop
array[1] = parachute;
guy.origin = node.origin;
parachute.origin = node.origin;
level thread anim_loop ( array, "idle", undefined, undefined, node);
}
assignanimtree() // Function to Assign Animation Tree
{
self UseAnimTree(level.scr_animtree[self.animname]);
}
anim_loop ( guy, anime, tag, ender, node, tag_entity ) // Runs The Animation
{
maps\_anim::anim_loop ( guy, anime, tag, ender, node, tag_entity );
}
#using_animtree("animation_rig_parachute"); // Animation Trees And Functions
parachute ()
{
level.scr_animtree["parachute"] = #animtree;
level.scr_anim["parachute"]["idle"][0] = (%hanginggear_church_idle);
}
#using_animtree("pathfinder_treeguy");
treeguy()
{ level.scr_animtree["tree_guy"] = #animtree;
level.scr_anim["tree_guy"]["idle"][0] = (%hangingguy_church_idle);
}
Thats it...Easy Huh? Name Your Compiled Map and Your Script The Same Name...
Ex: YOURMAP.bsp YOURMAP.gsc
Put Them In "C:Program Files/Call of Duty/Main/maps"
Folder.
These Scripts Are Right out of The Stock Ones that Come With The Game. Remember I dont Know Everything...And Even Though This Script Is Commented It May Not Be Accurate.