Guest User

Untitled

a guest
Jan 22nd, 2018
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 1.48 KB | None | 0 0
  1. #include <a_samp>
  2.  
  3. #define MAX_CHECKS 50
  4.  
  5. enum E_CHECK
  6. {
  7.     Float: PosX,
  8.     Float: PosY,
  9.     Float: PosZ,
  10.     Float: Size,
  11.     ID
  12. };
  13.  
  14. new
  15.     CHECK_INFO[MAX_CHECKS][E_CHECK];
  16.    
  17. forward OnPlayerEnterMitosCheckpoint(playerid, checkid);
  18.  
  19. public OnPlayerEnterCheckpoint(playerid)
  20. {
  21.     new
  22.         checkid = GetPlayerCheckpoint(playerid);
  23.     return CallLocalFunction("OnPlayerEnterMitosCheckpoint", "ii", playerid, checkid);
  24. }
  25.  
  26. stock sSetPlayerCheckpoint(playerid, Float: PosCX, Float: PosCY, Float: PosCZ, Float: SizeC)
  27. {
  28.     for(new c = 0; c < MAX_CHECKS; c++)
  29.     {
  30.         if(CHECK_INFO[c][ID] != -1) continue;
  31.         SetPlayerCheckpoint(playerid, PosCX, PosCY, PosCZ, SizeC);
  32.         CHECK_INFO[c][PosX] = PosCX;
  33.         CHECK_INFO[c][PosY] = PosCY;
  34.         CHECK_INFO[c][PosZ] = PosCZ;
  35.         CHECK_INFO[c][Size] = SizeC;
  36.         CHECK_INFO[c][ID] = c;
  37.         return CHECK_INFO[c][ID];
  38.     }
  39.     return -1;
  40. }
  41.  
  42. stock GetPlayerCheckpoint(playerid)
  43. {
  44.     for(new c = 0; c < MAX_CHECKS; c++)
  45.     {
  46.         if(CHECK_INFO[c][ID] == -1) continue;
  47.         if(iIsPlayerInCheckpoint(playerid, c)) return c;
  48.     }
  49.     return -1;
  50. }
  51.  
  52. stock iIsPlayerInCheckpoint(playerid, checkid)
  53. {
  54.     if(IsPlayerInRangeOfPoint(playerid, CHECK_INFO[checkid][Size], CHECK_INFO[checkid][PosX], CHECK_INFO[checkid][PosY], CHECK_INFO[checkid][PosZ])) return 1;
  55.     return 0;
  56. }
  57.  
  58. stock MitosCheck()
  59. {
  60.     for(new c = 0; c < MAX_CHECKS; c++)
  61.     {
  62.         CHECK_INFO[c][ID] = -1;
  63.     }
  64.     return 1;
  65. }
  66.  
  67. #define SetPlayerCheckpoint sSetPlayerCheckpoint
  68. #define IsPlayerInCheckpoint iIsPlayerInCheckpoint
Add Comment
Please, Sign In to add comment