Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ##########################
- #DYNAMIC MOVEMENT CHECKER#
- ##########################
- #1 Unit Move
- if ($Units_Sta_Speed == 1)
- {
- DynamicMove($Tx, $Ty+$DUNIT);
- DynamicMove($Tx, $Ty-$DUNIT);
- DynamicMove($Tx+$DUNIT, $Ty);
- DynamicMove($Tx-$DUNIT, $Ty);
- return 1;
- }
- #2 Unit Move
- if ($Units_Sta_Speed == 2)
- {
- if (GetSpace(($Tx, $Ty+$DUNIT)))
- {
- if (IsOpen($Tx, $Ty+$DUNIT) == 1)
- {
- DynamicMove($Tx, $Ty+$DUNIT,1);
- DynamicMove($Tx, $Ty+($DUNIT*2));
- DynamicMove($Tx-($DUNIT), $Ty+($DUNIT));
- DynamicMove($Tx+($DUNIT), $Ty+($DUNIT));
- }
- }
- if (GetSpace(($Tx, $Ty-$DUNIT)))
- {
- if (IsOpen($Tx, $Ty-$DUNIT) == 1)
- {
- DynamicMove($Tx, $Ty-$DUNIT,1);
- DynamicMove($Tx, $Ty-($DUNIT*2));
- DynamicMove($Tx-($DUNIT), $Ty-($DUNIT));
- DynamicMove($Tx+($DUNIT), $Ty-($DUNIT));
- }
- }
- if (GetSpace(($Tx, $Ty-$DUNIT)))
- {
- if (IsOpen($$Tx-$DUNIT, $Ty) == 1)
- {
- DynamicMove($Tx-$DUNIT,$Ty, 1);
- DynamicMove($Tx-($DUNIT*2),$Ty);
- DynamicMove($Tx-($DUNIT),$Ty-($DUNIT));
- DynamicMove($Tx-($DUNIT),$Ty+($DUNIT));
- }
- }
- if (GetSpace(($Tx+$DUNIT, $Ty)))
- {
- if (IsOpen($Tx+$DUNIT, $Ty) == 1)
- {
- DynamicMove($Tx+$DUNIT,$Ty, 1);
- DynamicMove($Tx+($DUNIT*2),$Ty);
- DynamicMove($Tx+($DUNIT),$Ty-($DUNIT));
- DynamicMove($Tx+($DUNIT),$Ty+($DUNIT));
- }
- }
- $client->SetEntityVariable("Lock", 0);
- return 2;
- }
- #3 UNIT MOVE
- if ($Units_Sta_Speed == 3)
- {
- #North/South
- if (GetSpace(($Tx, $Ty+$DUNIT)))
- {
- if (IsOpen($Tx, $Ty+$DUNIT) == 1 )
- {
- DynamicMove($Tx, $Ty+$DUNIT,1);
- if (IsOpen($Tx, $Ty+($DUNIT*2)) == 1)
- {
- DynamicMove($Tx,$Ty+($DUNIT*2),1);
- DynamicMove($Tx,$Ty+($DUNIT*3));
- DynamicMove($Tx-$DUNIT,$Ty+($DUNIT*2));
- DynamicMove($Tx+$DUNIT,$Ty+($DUNIT*2));
- }
- if (IsOpen($Tx-($DUNIT), $Ty+($DUNIT)) == 1)
- {
- DynamicMove($Tx-($DUNIT), $Ty+($DUNIT),1);
- DynamicMove($Tx-($DUNIT), $Ty+($DUNIT*2));
- DynamicMove($Tx-($DUNIT*2), $Ty+($DUNIT));
- }
- if (IsOpen($Tx+($DUNIT), $Ty+($DUNIT)) == 1)
- {
- DynamicMove($Tx+($DUNIT), $Ty+($DUNIT),1);
- DynamicMove($Tx+($DUNIT), $Ty+($DUNIT*2));
- DynamicMove($Tx+($DUNIT*2), $Ty+($DUNIT));
- }
- }
- }
- #North/South
- if (GetSpace(($Tx, $Ty-$DUNIT)))
- {
- if (IsOpen($Tx, $Ty-$DUNIT) == 1 )
- {
- DynamicMove($Tx, $Ty-$DUNIT,1);
- if (IsOpen($Tx, $Ty-($DUNIT*2)) == 1)
- {
- DynamicMove($Tx,$Ty-($DUNIT*2),1);
- DynamicMove($Tx,$Ty-($DUNIT*3));
- DynamicMove($Tx-$DUNIT,$Ty-($DUNIT*2));
- DynamicMove($Tx+$DUNIT,$Ty-($DUNIT*2));
- }
- if (IsOpen($Tx-($DUNIT), $Ty-($DUNIT)) == 1)
- {
- DynamicMove($Tx-($DUNIT), $Ty-($DUNIT),1);
- DynamicMove($Tx-($DUNIT), $Ty-($DUNIT*2));
- DynamicMove($Tx-($DUNIT*2), $Ty-($DUNIT));
- }
- if (IsOpen($Tx+($DUNIT), $Ty-($DUNIT)) == 1)
- {
- DynamicMove($Tx+($DUNIT), $Ty-($DUNIT),1);
- DynamicMove($Tx+($DUNIT), $Ty-($DUNIT*2));
- DynamicMove($Tx+($DUNIT*2), $Ty-($DUNIT));
- }
- }
- }
- $client->SetEntityVariable("MOVEMENT_SWAP_LOCK",1);
- #East/West
- if (GetSpace(($Ty, $Tx-$DUNIT)))
- {
- if (IsOpen($Ty, $Tx-$DUNIT) == 1 )
- {
- DynamicMove($Ty, $Tx-$DUNIT,1);
- if (IsOpen($Ty, $Tx-($DUNIT*2)) == 1)
- {
- DynamicMove($Ty,$Tx-($DUNIT*2),1);
- DynamicMove($Ty,$Tx-($DUNIT*3));
- DynamicMove($Ty-$DUNIT,$Tx-($DUNIT*2));
- DynamicMove($Ty+$DUNIT,$Tx-($DUNIT*2));
- }
- if (IsOpen($Ty-($DUNIT), $Tx-($DUNIT)) == 1)
- {
- DynamicMove($Ty-($DUNIT), $Tx-($DUNIT),1);
- DynamicMove($Ty-($DUNIT), $Tx-($DUNIT*2));
- DynamicMove($Ty-($DUNIT*2), $Tx-($DUNIT));
- }
- if (IsOpen($Ty+($DUNIT), $Tx-($DUNIT)) == 1)
- {
- DynamicMove($Ty+($DUNIT), $Tx-($DUNIT),1);
- DynamicMove($Ty+($DUNIT), $Tx-($DUNIT*2));
- DynamicMove($Ty+($DUNIT*2), $Tx-($DUNIT));
- }
- }
- }
- if (GetSpace(($Ty, $Tx+$DUNIT)))
- {
- if (IsOpen($Ty, $Tx+$DUNIT) == 1 )
- {
- DynamicMove($Ty, $Tx+$DUNIT,1);
- if (IsOpen($Ty, $Tx+($DUNIT*2)) == 1)
- {
- DynamicMove($Ty,$Tx+($DUNIT*2),1);
- DynamicMove($Ty,$Tx+($DUNIT*3));
- DynamicMove($Ty-$DUNIT,$Tx+($DUNIT*2));
- DynamicMove($Ty+$DUNIT,$Tx+($DUNIT*2));
- }
- if (IsOpen($Ty-($DUNIT), $Tx+($DUNIT)) == 1)
- {
- DynamicMove($Ty-($DUNIT), $Tx+($DUNIT),1);
- DynamicMove($Ty-($DUNIT), $Tx+($DUNIT*2));
- DynamicMove($Ty-($DUNIT*2), $Tx+($DUNIT));
- }
- if (IsOpen($Ty+($DUNIT), $Tx+($DUNIT)) == 1)
- {
- DynamicMove($Ty+($DUNIT), $Tx+($DUNIT),1);
- DynamicMove($Ty+($DUNIT), $Tx+($DUNIT*2));
- DynamicMove($Ty+($DUNIT*2), $Tx+($DUNIT));
- }
- }
- }
- $client->SetEntityVariable("Lock", 0);
- return 3;
- }
- #4 Unit Move [Max movement]
- if ($Units_Sta_Speed == 4)
- {
- #North
- if (GetSpace(($Tx, $Ty+$DUNIT)))
- {
- if (IsOpen($Tx, $Ty+$DUNIT) == 1 )
- {
- DynamicMove($Tx, $Ty+$DUNIT,1);
- if (IsOpen($Tx, $Ty+($DUNIT*2)) == 1)
- {
- DynamicMove($Tx,$Ty+($DUNIT*2),1);
- if (IsOpen($Tx,$Ty+($DUNIT*3)) == 1)
- {
- DynamicMove($Tx, $Ty+($DUNIT * 3),1);
- DynamicMove($Tx, $Ty+($DUNIT * 4));
- DynamicMove($Tx-$DUNIT, $Ty+($DUNIT*3));
- DynamicMove($Tx+$DUNIT, $Ty+($DUNIT*3));
- }
- if (IsOpen($Tx-$DUNIT,$Ty+($DUNIT*2)) == 1)
- {
- DynamicMove($Tx-$DUNIT, $Ty+($DUNIT*2),1);
- DynamicMove($Tx-$DUNIT, $Ty+ ($DUNIT*3));
- DynamicMove($Tx-($DUNIT*2), $Ty+($DUNIT*2));
- }
- if (IsOpen($Tx+$DUNIT,$Ty+($DUNIT*2)) == 1)
- {
- DynamicMove($Tx+$DUNIT, $Ty+($DUNIT*2),1);
- DynamicMove($Tx+$DUNIT, $Ty+($DUNIT*3));
- DynamicMove($Tx+($DUNIT*2), $Ty+($DUNIT*2));
- }
- }
- if (IsOpen($Tx-($DUNIT), $Ty+($DUNIT)) == 1)
- {
- DynamicMove($Tx-($DUNIT), $Ty+($DUNIT),1);
- if (IsOpen($Tx-($DUNIT), $Ty+($DUNIT*2)) == 1)
- {
- DynamicMove($Tx-($DUNIT), $Ty+($DUNIT*2),1);
- DynamicMove($Tx-$DUNIT, $Ty+($DUNIT*3));
- DynamicMove($Tx-($DUNIT*2), $Ty+($DUNIT*2));
- DynamicMove($Tx, $Ty+($DUNIT*2) );
- }
- if (IsOpen($Tx-($DUNIT*2), $Ty+($DUNIT)) == 1)
- {
- DynamicMove($Tx-($DUNIT*2), $Ty+($DUNIT),1);
- DynamicMove($Tx-($DUNIT*3), $Ty+$DUNIT);
- DynamicMove($Tx-($DUNIT*2), $Ty+($DUNIT*2));
- DynamicMove($Tx-($DUNIT*2), $Ty);
- }
- }
- if (IsOpen($Tx+($DUNIT), $Ty+($DUNIT)) == 1)
- {
- DynamicMove($Tx+($DUNIT), $Ty+($DUNIT),1);
- if (IsOpen($Tx+($DUNIT), $Ty+($DUNIT*2)) == 1)
- {
- DynamicMove($Tx+($DUNIT), $Ty+($DUNIT*2),1);
- DynamicMove($Tx+$DUNIT, $Ty+($DUNIT*3));
- DynamicMove($Tx+($DUNIT*2), $Ty+($DUNIT*2));
- DynamicMove($Tx,$Ty + ($DUNIT*2) );
- }
- if (IsOpen($Tx+($DUNIT*2), $Ty+($DUNIT)) == 1)
- {
- DynamicMove($Tx+($DUNIT*2), $Ty+($DUNIT),1);
- DynamicMove($Tx+($DUNIT*3), $Ty+$DUNIT);
- DynamicMove($Tx+($DUNIT*2), $Ty+($DUNIT*2));
- DynamicMove($Tx+($DUNIT*2), $Ty);
- }
- }
- }
- }
- #South
- if (GetSpace(($Tx, $Ty-$DUNIT)))
- {
- if (IsOpen($Tx, $Ty-$DUNIT) == 1 )
- {
- DynamicMove($Tx, $Ty-$DUNIT,1);
- if (IsOpen($Tx, $Ty-($DUNIT*2)) == 1)
- {
- DynamicMove($Tx,$Ty-($DUNIT*2),1);
- if (IsOpen($Tx,$Ty-($DUNIT*3)) == 1)
- {
- DynamicMove($Tx, $Ty-($DUNIT * 3),1);
- DynamicMove($Tx, $Ty-($DUNIT * 4));
- DynamicMove($Tx-$DUNIT, $Ty-($DUNIT*3));
- DynamicMove($Tx+$DUNIT, $Ty-($DUNIT*3));
- }
- if (IsOpen($Tx-$DUNIT,$Ty-($DUNIT*2)) == 1)
- {
- DynamicMove($Tx-$DUNIT, $Ty-($DUNIT*2),1);
- DynamicMove($Tx-$DUNIT, $Ty- ($DUNIT*3));
- DynamicMove($Tx-($DUNIT*2), $Ty-($DUNIT*2));
- }
- if (IsOpen($Tx+$DUNIT,$Ty-($DUNIT*2)) == 1)
- {
- DynamicMove($Tx+$DUNIT, $Ty-($DUNIT*2),1);
- DynamicMove($Tx+$DUNIT, $Ty-($DUNIT*3));
- DynamicMove($Tx+($DUNIT*2), $Ty-($DUNIT*2));
- }
- }
- if (IsOpen($Tx-($DUNIT), $Ty-($DUNIT)) == 1)
- {
- DynamicMove($Tx-($DUNIT), $Ty-($DUNIT),1);
- if (IsOpen($Tx-($DUNIT), $Ty-($DUNIT*2)) == 1)
- {
- DynamicMove($Tx-($DUNIT), $Ty-($DUNIT*2),1);
- DynamicMove($Tx-$DUNIT, $Ty-($DUNIT*3));
- DynamicMove($Tx-($DUNIT*2), $Ty-($DUNIT*2));
- DynamicMove($Tx, $Ty-($DUNIT*2) );
- }
- if (IsOpen($Tx-($DUNIT*2), $Ty-($DUNIT)) == 1)
- {
- DynamicMove($Tx-($DUNIT*2), $Ty-($DUNIT),1);
- DynamicMove($Tx-($DUNIT*3), $Ty-$DUNIT);
- DynamicMove($Tx-($DUNIT*2), $Ty-($DUNIT*2));
- DynamicMove($Tx-($DUNIT*2), $Ty);
- }
- }
- if (IsOpen($Tx+($DUNIT), $Ty-($DUNIT)) == 1)
- {
- DynamicMove($Tx+($DUNIT), $Ty-($DUNIT),1);
- if (IsOpen($Tx+($DUNIT), $Ty-($DUNIT*2)) == 1)
- {
- DynamicMove($Tx+($DUNIT), $Ty-($DUNIT*2),1);
- DynamicMove($Tx+$DUNIT, $Ty-($DUNIT*3));
- DynamicMove($Tx+($DUNIT*2), $Ty-($DUNIT*2));
- DynamicMove($Tx,$Ty + ($DUNIT*2) );
- }
- if (IsOpen($Tx+($DUNIT*2), $Ty-($DUNIT)) == 1)
- {
- DynamicMove($Tx+($DUNIT*2), $Ty-($DUNIT),1);
- DynamicMove($Tx+($DUNIT*3), $Ty-$DUNIT);
- DynamicMove($Tx+($DUNIT*2), $Ty-($DUNIT*2));
- DynamicMove($Tx+($DUNIT*2), $Ty);
- }
- }
- }
- }
- $client->SetEntityVariable("MOVEMENT_SWAP_LOCK",1);
- #West
- if (GetSpace(($Ty, $Tx-$DUNIT)))
- {
- if (IsOpen($Ty, $Tx-$DUNIT) == 1 )
- {
- DynamicMove($Ty, $Tx-$DUNIT,1);
- if (IsOpen($Ty, $Tx-($DUNIT*2)) == 1)
- {
- DynamicMove($Ty,$Tx-($DUNIT*2),1);
- if (IsOpen($Ty,$Tx-($DUNIT*3)) == 1)
- {
- DynamicMove($Ty, $Tx-($DUNIT * 3),1);
- DynamicMove($Ty, $Tx-($DUNIT * 4));
- DynamicMove($Ty-$DUNIT, $Tx-($DUNIT*3));
- DynamicMove($Ty+$DUNIT, $Tx-($DUNIT*3));
- }
- if (IsOpen($Ty-$DUNIT,$Tx-($DUNIT*2)) == 1)
- {
- DynamicMove($Ty-$DUNIT, $Tx-($DUNIT*2),1);
- DynamicMove($Ty-$DUNIT, $Tx- ($DUNIT*3));
- DynamicMove($Ty-($DUNIT*2), $Tx-($DUNIT*2));
- }
- if (IsOpen($Ty+$DUNIT,$Tx-($DUNIT*2)) == 1)
- {
- DynamicMove($Ty+$DUNIT, $Tx-($DUNIT*2),1);
- DynamicMove($Ty+$DUNIT, $Tx-($DUNIT*3));
- DynamicMove($Ty+($DUNIT*2), $Tx-($DUNIT*2));
- }
- }
- if (IsOpen($Ty-($DUNIT), $Tx-($DUNIT)) == 1)
- {
- DynamicMove($Ty-($DUNIT), $Tx-($DUNIT),1);
- if (IsOpen($Ty-($DUNIT), $Tx-($DUNIT*2)) == 1)
- {
- DynamicMove($Ty-($DUNIT), $Tx-($DUNIT*2),1);
- DynamicMove($Ty-$DUNIT, $Tx-($DUNIT*3));
- DynamicMove($Ty-($DUNIT*2), $Tx-($DUNIT*2));
- DynamicMove($Ty, $Tx-($DUNIT*2) );
- }
- if (IsOpen($Ty-($DUNIT*2), $Tx-($DUNIT)) == 1)
- {
- DynamicMove($Ty-($DUNIT*2), $Tx-($DUNIT),1);
- DynamicMove($Ty-($DUNIT*3), $Tx-$DUNIT);
- DynamicMove($Ty-($DUNIT*2), $Tx-($DUNIT*2));
- DynamicMove($Ty-($DUNIT*2), $Tx);
- }
- }
- if (IsOpen($Ty+($DUNIT), $Tx-($DUNIT)) == 1)
- {
- DynamicMove($Ty+($DUNIT), $Tx-($DUNIT),1);
- if (IsOpen($Ty+($DUNIT), $Tx-($DUNIT*2)) == 1)
- {
- DynamicMove($Ty+($DUNIT), $Tx-($DUNIT*2),1);
- DynamicMove($Ty+$DUNIT, $Tx-($DUNIT*3));
- DynamicMove($Ty+($DUNIT*2), $Tx-($DUNIT*2));
- DynamicMove($Ty,$Tx + ($DUNIT*2) );
- }
- if (IsOpen($Ty+($DUNIT*2), $Tx-($DUNIT)) == 1)
- {
- DynamicMove($Ty+($DUNIT*2), $Tx-($DUNIT),1);
- DynamicMove($Ty+($DUNIT*3), $Tx-$DUNIT);
- DynamicMove($Ty+($DUNIT*2), $Tx-($DUNIT*2));
- DynamicMove($Ty+($DUNIT*2), $Tx);
- }
- }
- }
- }
- #East
- if (GetSpace(($Ty, $Tx+$DUNIT)))
- {
- if (IsOpen($Ty, $Tx+$DUNIT) == 1 )
- {
- DynamicMove($Ty, $Tx+$DUNIT,1);
- if (IsOpen($Ty, $Tx+($DUNIT*2)) == 1)
- {
- DynamicMove($Ty,$Tx+($DUNIT*2),1);
- if (IsOpen($Ty,$Tx+($DUNIT*3)) == 1)
- {
- DynamicMove($Ty, $Tx+($DUNIT * 3),1);
- DynamicMove($Ty, $Tx+($DUNIT * 4));
- DynamicMove($Ty-$DUNIT, $Tx+($DUNIT*3));
- DynamicMove($Ty+$DUNIT, $Tx+($DUNIT*3));
- }
- if (IsOpen($Ty-$DUNIT,$Tx+($DUNIT*2)) == 1)
- {
- DynamicMove($Ty-$DUNIT, $Tx+($DUNIT*2),1);
- DynamicMove($Ty-$DUNIT, $Tx+ ($DUNIT*3));
- DynamicMove($Ty-($DUNIT*2), $Tx+($DUNIT*2));
- }
- if (IsOpen($Ty+$DUNIT,$Tx+($DUNIT*2)) == 1)
- {
- DynamicMove($Ty+$DUNIT, $Tx+($DUNIT*2),1);
- DynamicMove($Ty+$DUNIT, $Tx+($DUNIT*3));
- DynamicMove($Ty+($DUNIT*2), $Tx+($DUNIT*2));
- }
- }
- if (IsOpen($Ty-($DUNIT), $Tx+($DUNIT)) == 1)
- {
- DynamicMove($Ty-($DUNIT), $Tx+($DUNIT),1);
- if (IsOpen($Ty-($DUNIT), $Tx+($DUNIT*2)) == 1)
- {
- DynamicMove($Ty-($DUNIT), $Tx+($DUNIT*2),1);
- DynamicMove($Ty-$DUNIT, $Tx+($DUNIT*3));
- DynamicMove($Ty-($DUNIT*2), $Tx+($DUNIT*2));
- DynamicMove($Ty, $Tx+($DUNIT*2) );
- }
- if (IsOpen($Ty-($DUNIT*2), $Tx+($DUNIT)) == 1)
- {
- DynamicMove($Ty-($DUNIT*2), $Tx+($DUNIT),1);
- DynamicMove($Ty-($DUNIT*3), $Tx+$DUNIT);
- DynamicMove($Ty-($DUNIT*2), $Tx+($DUNIT*2));
- DynamicMove($Ty-($DUNIT*2), $Tx);
- }
- }
- if (IsOpen($Ty+($DUNIT), $Tx+($DUNIT)) == 1)
- {
- DynamicMove($Ty+($DUNIT), $Tx+($DUNIT),1);
- if (IsOpen($Ty+($DUNIT), $Tx+($DUNIT*2)) == 1)
- {
- DynamicMove($Ty+($DUNIT), $Tx+($DUNIT*2),1);
- DynamicMove($Ty+$DUNIT, $Tx+($DUNIT*3));
- DynamicMove($Ty+($DUNIT*2), $Tx+($DUNIT*2));
- DynamicMove($Ty,$Tx + ($DUNIT*2) );
- }
- if (IsOpen($Ty+($DUNIT*2), $Tx+($DUNIT)) == 1)
- {
- DynamicMove($Ty+($DUNIT*2), $Tx+($DUNIT),1);
- DynamicMove($Ty+($DUNIT*3), $Tx+$DUNIT);
- DynamicMove($Ty+($DUNIT*2), $Tx+($DUNIT*2));
- DynamicMove($Ty+($DUNIT*2), $Tx);
- }
- }
- }
- }
- $client->SetEntityVariable("Lock", 0);
- return 4;
- }
- plugin::Debug("MoveMaster Fail!");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement