beginscript; label Wait: if (GetState() != 0 && UnitDead() != 1) { SetFollowRange(0); DisableAvoidanceTurn (1); ExcTargetType(0xffffffff); IncTargetType(0x2); SetVar(0,GetObjectXPos(0x7401)); SetVar(1,GetObjectZPos(0x7401)); label WaitPlayer: if (GetObjectXPos(0x7401) != GetVar(0) && GetObjectZPos(0x7401) != GetVar(1)) { IncTargetType(0xffffffff); ExcTargetType(0x1); IncTargetType(0x2); IncludeGTarget(2); SetFollowWaypoint(129,0,0); SetFollowRange(0); TriggerMessage(30,h30,0x783b); SetVar (6, GetTime()+100); EndFrame(); goto WaitPlayer2; } EndFrame(); goto WaitPlayer; } EndFrame(); goto Wait; label WaitPlayer2: if ((PlayerInRange(300) || PlayerInArea(-3086,-240,400) || PlayerInRange(800) != 1) && GetFollowMode() == 3) { SetFollowWaypoint(136,0,0); SetFollowRange(0); SpawnOtherUnit (Ftk_Gr1_02_scr); SpawnOtherUnit (Jkl_Gr1_01_Scr); SpawnOtherUnit (Jkl_Gr1_02_Scr); SpawnOtherUnit (Jkl_Gr1_03_Scr); WaitForTime(50); TriggerMessage(35,h35,0x783b); EndFrame(); goto StopJacks; } if (PlayerInRange(600) != 1 && GetVar(2) != 1 && GetVar(6) < GetTime()) { TriggerMessage(49,h49,0x783b); SetVar(2,1); } EndFrame(); goto WaitPlayer2; label StopJacks: if (Triggered()) { SetFollowWaypoint(38,0,0); SetFollowRange(0); TriggerMessage(30,h30,0x783b); EndFrame(); goto GoHome; } EndFrame(); goto StopJacks; label GoHome: if(Triggered()) { WaitForTime(10); SetFollowWaypoint(116,0,0); SetFollowRange(0); SetVar(6, GetTime() + 200); EndFrame(); goto WaitASec; } EndFrame(); goto GoHome; label WaitASec: if (GetFollowMode() == 3) { WaitForTime(50); SetFollowWaypoint(118,0,0); SetFollowRange(0); EndFrame(); goto Spits1; } EndFrame(); goto WaitASec; label Spits1: if (GetGlobalVar(1) == 1 && UnitDead() != 1) { WaitForTime(250); SetFollowWaypoint(20,0,0); SetFollowRange(0); EndFrame(); goto WaitForPickup; } EndFrame(); goto Spits1; label WaitForPickup: if (GetFollowMode() == 3) { label Loop: if (Triggered()) { SetFollowWaypoint(11,0,0); SetVar (7, GetTime()+150); EndFrame(); goto Spits2; } EndFrame(); goto loop; } EndFrame(); goto WaitForPickup; label Spits2: if (GetGlobalVar(5) == 1 && UnitDead() != 1) { WaitForTime(40); TriggerMessage(37,h37,0x783b); SetGlobalVar(7,0); SetVar(3,1); SetFollowWaypoint(2,0,0); SetFollowRange(0); SetGlobalVar(7,0); SetVar (7, GetTime()+150); SetVar(5,0); EndFrame(); goto Spits3; } gosub FollowCheck; EndFrame(); goto Spits2; label Spits3: gosub FollowCheck; if (GetGlobalVar(5) == 2 && UnitDead() != 1) { if (GetGlobalVar(7) >= 4) TriggerMessage(31,h31,0x783b); WaitForTime(140); SetFollowWaypoint(18,0,0); SetFollowRange(0); SetGlobalVar(7,0); SetVar (7, GetTime()+150); SetVar(5,0); EndFrame(); goto SpitsDie; } EndFrame(); goto Spits3; label SpitsDie: gosub FollowCheck; if (GetGlobalVar(4) == 3 && UnitDead() != 1) { TriggerMessage(39,h39,0x783b); WaitForTime(210); SetFollowWaypoint(20,0,0); SetFollowRange(0); EndFrame(); goto WaitPlayer3; } EndFrame(); goto SpitsDie; label WaitPlayer3: if (GetFollowMode() == 3) { label Loop: if (Triggered()) { SetFollowWaypoint(44,0,0); SetFollowRange(0); EndFrame(); goto Pause1; } EndFrame(); goto loop; } EndFrame(); goto WaitPlayer3; label Pause1: if (GetFollowMode() == 3) { WaitForTime(100); SetFollowWaypoint(46,0,0); SetFollowRange(0); EndFrame(); goto Pause2; } EndFrame(); goto Pause1; label Pause2: if (GetFollowMode() == 3) { WaitForTime(100); SetFollowWaypoint(249,0,0); EndFrame(); goto WaitForAct4; } EndFrame(); goto Pause2; label WaitForAct4: if (Triggered()) { //WaitForTime(265); SetFollowWaypoint(111,0,0); SetFollowRange(0); WaitForTime(265); SetFollowWaypoint(244,0,0); EndFrame(); goto End; } EndFrame(); goto WaitForAct4; label End: EndFrame(); goto End; endscript; beginsub FollowCheck; if (PlayerInRange(600) != 1 && GetGlobalVar(7) == 0 && GetVar(5) != 1 && GetVar(7) < GetTime()) { TriggerMessage(49,h49,0x783b); SetVar(5,1); } endsub; $