OK i am going to explain how to set up ai to use deployable 30cal, mg34s etc.
OK 1st of all if u are using U.S actors only the snow version works - the 1 that says snow_mg30cal, for some reason the normal 30cal guy shoots it like a bar and if u kill him and pick it up it is infact a bar :S .
Anyway down to the good stuff
ok make an actor -- snow_mg30cal for example. Now set up a node were u want him to got to, if u want a 2 step movement or how ever many u want set them up now and put pathnodes (pink1s) between all the nodes and the player to create a path.

Notice that i have not linked the actor or put him on a friendly chain, il explain that later.
for the rest of the radiant stuff wot u do 1st is select ur nodes that u have for where u want the actor 2 go.
key = script_dontdeploy value - 0 or 1
now want i am wanting here is for the actor 2 reach his 1st node and idle and then go to his 2nd node when i hit a trigger.
the set-up i have is this;
Trigger (ai)/ once -- targetname trig 1st node (any type) -- targetname 1stmove 2nd node (any type) -- targetname deploy and a path of pathnodes
the 1st node has a script_dontdeploy of 0 and the 2nd has a script_dontdeploy of 1. <-- set up at 2nd point.
the reason i did not link the actor/ friendly_chain is becuase if i do that then he will go to a random node in the f_chain cuasing me to loose control and have to put script_dontdeploy on every node = waste of time. Instead i have targetnames on the nodes, shown above ^.
Then i wrote a small relevent script which is;
*NOTE* everything in red isint part of the script, it is there for ur guidence only*
*it is recommended that you do not copy and paste script from the tutorials - rather type it into your GSC manually*
#using_animtree ("generic_human"); main() { //Fog setExpFog(.000044, .1, .06, 0.1, 0); setCullFog (0, 3000, 0.0274, 0.0823, 0.1607, 0 );
maps\_load::main(); maps\_load_gmi::main();
level.player takeallweapons(); level.player giveWeapon("m1garand"); level.player giveWeapon("m1garand"); level.player switchToWeapon("m1garand"); thread move1(); //<-- remember to thread thread move2(); }
move1() {
guy1 = getent ("calguy","targetname");
node1 = getnode ("1stmove","targetname"); //<-- move to node
{ if (isalive (guy1) ) { guy1 setgoalnode (node1); }
}
}
move2() { trig = getent ("trig","targetname"); trig waittill ("trigger");//<-- waits until i hit a trigger before moving from node 1 guy1 = getent ("calguy","targetname");
node1 = getnode ("deploy","targetname"); //<-- move to node
{ if (isalive (guy1) ) { guy1 setgoalnode (node1); }
}
}
save the script, save the map -- compile and you are ready to go, have fun.
For finishing touches u can add script_favoriteenemy and then value as the german targetname to make him pummel a certain enemy.
Hope i didnt miss anything -- i am tired and its been a loooong day, hope i helped some1
Cheers muchly PoW |