Advertisement
Guest User

Miki!Gates

a guest
Apr 1st, 2011
301
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 2.13 KB | None | 0 0
  1. #include <a_samp>
  2. #include <streamer>
  3.  
  4. #define MAX_GATES 10
  5. #define GATE_DRAW_DISTANCE 200
  6.  
  7. #define GATE_INFO_X_OPENED 0
  8. #define GATE_INFO_Y_OPENED 1
  9. #define GATE_INFO_Z_OPENED 2
  10. #define GATE_INFO_X_CLOSED 3
  11. #define GATE_INFO_Y_CLOSED 4
  12. #define GATE_INFO_Z_CLOSED 5
  13. #define GATE_INFO_SPEED 6
  14.  
  15. forward AddNewGate(gateid, modelid, Float:oX, Float:oY, Float:oZ, Float:RoX, Float:RoY, Float:RoZ, Float:cX, Float:cY, Float:cZ, Float:Speed);
  16. forward MoveGate(gateid);
  17.  
  18.  
  19. new aGates[MAX_GATES];
  20. new Float:aGateInfo[MAX_GATES][7];
  21. new aGateCreate[MAX_GATES];
  22. new aGateMoved[MAX_GATES];
  23.  
  24.  
  25. public AddNewGate(gateid, modelid, Float:oX, Float:oY, Float:oZ, Float:RoX, Float:RoY, Float:RoZ, Float:cX, Float:cY, Float:cZ, Float:Speed)
  26. {
  27.     new iLoop;
  28.     while(iLoop <= MAX_GATES)
  29.     {
  30.         if(aGates[iLoop] == 0)
  31.         {
  32.             aGates[iLoop]                           = true;
  33.             aGateInfo[iLoop][GATE_INFO_X_OPENED]    = oX;
  34.             aGateInfo[iLoop][GATE_INFO_Y_OPENED]    = oY;
  35.             aGateInfo[iLoop][GATE_INFO_Z_OPENED]    = oZ;
  36.             aGateInfo[iLoop][GATE_INFO_X_CLOSED]    = cX;
  37.             aGateInfo[iLoop][GATE_INFO_Y_CLOSED]    = cY;
  38.             aGateInfo[iLoop][GATE_INFO_Z_CLOSED]    = cZ;
  39.             aGateInfo[iLoop][GATE_INFO_SPEED]       = Speed;
  40.             aGateCreate[iLoop]                      = CreateDynamicObject(modelid, oX, oY, oZ, RoX, RoY, RoZ, -1 , -1, -1, GATE_DRAW_DISTANCE );
  41.             printf(" --- Miki!Gates: You have sucessfully defined gate ID:%d. Now, It's ready to be moved", gateid);
  42.             break;
  43.         }
  44.         else iLoop++;
  45.     }
  46. }
  47.  
  48. public MoveGate(gateid)
  49. {
  50.     if(aGates[gateid])
  51.     {
  52.         if(!aGateMoved[gateid])
  53.         {
  54.             MoveDynamicObject(gateid, aGateInfo[gateid][GATE_INFO_X_CLOSED], aGateInfo[gateid][GATE_INFO_Y_CLOSED], aGateInfo[gateid][GATE_INFO_Z_CLOSED], aGateInfo[gateid][GATE_INFO_SPEED] );
  55.             aGateMoved[gateid] = true;
  56.         }
  57.         else
  58.         {
  59.             MoveDynamicObject(gateid, aGateInfo[gateid][GATE_INFO_X_OPENED], aGateInfo[gateid][GATE_INFO_Y_OPENED], aGateInfo[gateid][GATE_INFO_Z_OPENED], aGateInfo[gateid][GATE_INFO_SPEED] );
  60.             aGateMoved[gateid] = false;
  61.         }
  62.     }
  63.     else printf(" --- Miki!Gates: The Gate ID:%d isn't defined. If you want to move it, add it first!", gateid);
  64.        
  65. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement