milanosie

Voorbeeld van een Backup Systeem

Jun 29th, 2012
140
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 2.32 KB | None | 0 0
  1. CMD:bk(playerid, params[])
  2. {
  3.     if(PlayerInfo[playerid][Fmember] != 1) return nal(playerid);
  4.     if(lspdduty[playerid] == lspdduty_2) return SCM(playerid, COLOR_GREY, "{FFFFFF}[{6B6B6B}ERROR{FFFFFF}] You can only use this while on duty.");
  5.     if(bkreq[playerid] == 1) return SCM(playerid, COLOR_GREY, "{FFFFFF}[{6B6B6B}ERROR{FFFFFF}] You already placed a backup request. Wait a while before requesting another one.");
  6.     if(bkreq2 > -1 && bkreq2 < 1000) return SCM(playerid, COLOR_GREY, "{FFFFFF}[{6B6B6B}ERROR{FFFFFF}] The GPS system can only handle one backup request at once. Wait till the other request is cleared. ");
  7.     if(bkreq2 > 1000) return SCM(playerid, COLOR_GREY, "{FFFFFF}[{6B6B6B}ERROR{FFFFFF}] The GPS system is currently cooling down. ");
  8.     GetPlayerPos(playerid, bkx[playerid], bky[playerid], bkz[playerid]);
  9.     new str[128];
  10.     bkreq[playerid] = 1;
  11.     bkreq2 = playerid;
  12.     new zonez[28];
  13.     GetPlayer3DZone(playerid, zonez, sizeof(zonez));
  14.     SetTimerEx("clear_backup", 30000, false, "i", playerid);
  15.     format(str, sizeof(str), "[FCSD] %s Is requesting immediate backup at %s. GPS Location Marker activated.", GetNameEx(playerid), zonez);
  16.     SCM(playerid, COLOR_BLUE, str);
  17.     foreach(Player, i)
  18.     {
  19.         if(lspdduty[i] == lspdduty_1)
  20.         {
  21.             if(i != playerid)
  22.             {
  23.                 SetPlayerCheckpoint(i, bkx[playerid], bky[playerid], bkz[playerid], 5);
  24.                 SCM(i, COLOR_BLUE, str);
  25.                 SetTimerEx("update_backup", 3000, false, "i", i);
  26.             }
  27.         }
  28.     }
  29.     return 1;
  30. }
  31.            
  32.            
  33. forward clear_backup(playerid);
  34. public clear_backup(playerid)
  35. {
  36.     new str[128];
  37.     bkreq[playerid] = 0;
  38.     bkreq2 = 1500;
  39.     SetTimer("allow_backup", 15000, false);
  40.     format(str, sizeof(str), "[FCSD] Backup request by %s is cleared.", GetNameEx(playerid));
  41.     foreach(Player, i)
  42.     {
  43.         if(lspdduty[i] == lspdduty_1)
  44.         {
  45.             DisablePlayerCheckpoint(i);
  46.             SCM(i, COLOR_BLUE, str);
  47.         }
  48.     }
  49.     return 1;
  50. }
  51.  
  52. forward update_backup(playerid);
  53. public update_backup(playerid)
  54. {
  55.     if(bkreq[bkreq2] == 1)
  56.     {
  57.         GetPlayerPos(bkreq2, bkx[bkreq2], bky[bkreq2], bkz[bkreq2]);
  58.         SetPlayerCheckpoint(playerid, bkx[bkreq2], bky[bkreq2], bkz[bkreq2], 5);
  59.         SetTimerEx("update_backup", 3000, false, "i", playerid);
  60.     }
  61.     return 1;
  62. }
  63.            
  64. forward allow_backup();
  65. public allow_backup()
  66. {
  67.     bkreq2 = -1;
  68.     return 1;
  69. }
Advertisement
Add Comment
Please, Sign In to add comment