Here's a vid of this, don't look at the level, it's far from done
http://www.mediafire.com/download.php?nngmdyem5t0
Also the pawn won't play it's death animation if it's attribute goes to zero, but Juutis explained me why is that in a previous topic...
My goal is to create a pawn that leads the way, opens locked doors etc. bu also shoots enemy pawns when they are in it's range.
Here's the script for the pawn's actions...the rest of the code is perfectai.
Code: Select all
Patrol[ ()
{
NextPoint();
RotateToPoint("SG_TurnLeft", 190, false, "" );
MoveToPoint("SG_Walk_N_Run", 200, "");
SetEventState("grunttalk1", true);
Delay("SG_Idle", 3, "");
NextPoint();
RotateToPoint("SG_TurnLeft", 190, false, "" );
MoveToPoint("SG_Walk_N_Run", 200, "");
SetEventState("grunttalk2", true);
NextPoint();
RotateMoveToPoint("SG_Walk_N_Run", 130, 150, false, "");
MoveToPoint("SG_Walk_N_Run", 200, "");
NewOrder("PatrolCheck1");
} ]
PatrolCheck1[ ()
{
CURRENTORDER = "PatrolCheck1";
PlayAnimation(STAND, true, "");
PlayerDistOrder(150, "Patrol1");
RestartOrder();
} ]
Patrol1[ ()
{
CURRENTORDER = "Patrol1";
NextPoint();
RotateMoveToPoint("SG_Walk_N_Run", 130, 150, false, "");
MoveToPoint("SG_Walk_N_Run", 200, "");
NewOrder("PatrolCheck2");
} ]
PatrolCheck2[ ()
{
CURRENTORDER = "PatrolCheck2";
PlayAnimation(STAND, true, "");
PlayerDistOrder(150, "Patrol2");
RestartOrder();
} ]
Patrol2[ ()
{
CURRENTORDER = "Patrol2";
NextPoint();
RotateMoveToPoint("SG_Walk_N_Run", 130, 150, false, "");
MoveToPoint("SG_Walk_N_Run", 200, "");
Delay("SG_Walk_N_Stop", 0.85, "");
NextPoint();
RotateToPoint("SG_TurnLeft", 190, false, "" );
Delay("SG_Holster", 1.65, "");
Delay("Push_Button_Low", 1.7, "");
SetEventState("gen1dtrig", true);
LowLevel("CheckIfOk");
} ]
CheckIfOk[ ()
{
if (GetEventState("gen14ever"))
{
HighLevel("PatrolCheck3");
}
} ]
PatrolCheck3[ ()
{
PlayerDistOrder(200, "Patrol3");
} ]
Patrol3[ ()
{
Delay("SG_Draw", 1, "");
NextPoint();
RotateToPoint("SG_TurnLeft", 190, false, "" );
MoveToPoint("SG_Walk_N_Run", 200, "");
Delay("SG_Walk_N_Stop", 0.85, "");
Delay("SG_Radio_Call", 5.18, "");
NextPoint();
RotateMoveToPoint("SG_Walk_N_Run", 130, 150, false, "");
MoveToPoint("SG_Walk_N_Run", 200, "");
Delay("SG_Holster", 1.65, "");
Delay("SG_Reload", 2.33, "");
SetEventState("bombspawn", true);
NextPoint();
RotateToPoint("SG_TurnLeft", 210, false, "" );
MoveToPoint("SG_Walk_N_Run", 200, "");
NextPoint();
SetNoCollision();
MoveToPoint("SG_Roll_N", 170, "");
SetCollision();
NewOrder("Patrol4");
} ]
Patrol4[ ()
{
Delay("SG_Idle", 1, "");
NextPoint();
RotateToPoint("SG_TurnLeft", 190, false, "" );
MoveToPoint("SG_Walk_N_Run", 200, "");
} ]