Whitetigerswt

Rapid fire time recorder

Aug 31st, 2011
226
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 2.26 KB | None | 0 0
  1. #include <a_samp>
  2. #include <zcmd>
  3.  
  4. #define COLOR_ORANGE 0xFF8000FF
  5.  
  6. new Ready[MAX_PLAYERS];
  7. new StartAmmo[MAX_PLAYERS];
  8. new Ticks[MAX_PLAYERS] = 0;
  9. new Float:Record[MAX_PLAYERS] = 99999.0;
  10.  
  11. public OnPlayerUpdate(playerid)
  12. {
  13.     if(Ready[playerid] == 1) {
  14.         new placeholder, ammo;
  15.         GetPlayerWeaponData(playerid, 2, placeholder, ammo);
  16.         if(ammo < StartAmmo[playerid]) {
  17.             if(ammo == StartAmmo[playerid]-1 && Ticks[playerid] == 0) { printf("hi"); Ticks[playerid] = GetTickCount(); printf("%d", Ticks[playerid]); }
  18.             if(ammo <= StartAmmo[playerid] - 7) {
  19.                 new Float:ticks[MAX_PLAYERS];
  20.                 ticks[playerid] = GetTickCount() - Ticks[playerid];
  21.                 printf("%d", ticks[playerid]);
  22.                 new string[128];
  23.                 ticks[playerid] = ticks[playerid] / 1000;
  24.                 format(string, sizeof(string), "You took %0.2f seconds to rapid fire a clip.", ticks[playerid]);
  25.                 SendClientMessage(playerid, 0x0FFFFFFFA, string);
  26.                 if(ticks[playerid] < Record[playerid]) {
  27.                     new name[MAX_PLAYER_NAME];
  28.                     GetPlayerName(playerid, name, sizeof(name));
  29.                     format(string, sizeof(string), "** %s has gotten a new rapid fire record (%0.2f)", name, ticks[playerid]);
  30.                     SendClientMessageToAll(0x0FFFFFFFA, string);
  31.                     Record[playerid] = ticks[playerid];
  32.                 }
  33.                 Ticks[playerid] = 0;
  34.                 ResetPlayerWeapons(playerid);
  35.                 GivePlayerWeapon(playerid, placeholder, ammo);
  36.                 StartAmmo[playerid] = ammo;
  37.             }
  38.             if(ammo == 0) // player died or ran out of ammo.
  39.             {
  40.                 StartAmmo[playerid] = 0;
  41.                 Ready[playerid] = 0;
  42.                 Ticks[playerid] = 0;
  43.             }
  44.         }
  45.     }
  46.     return 1;
  47. }
  48.  
  49.  
  50.  
  51. CMD:c(playerid, params[]) {
  52.     SetPlayerPos(playerid, 405.0976,2449.1226,16.5000);
  53.     Ready[playerid] = 1;
  54.     SendClientMessage(playerid, 0x0FFFFFFFA, "You're set to ready, the time will begin once you take your first shot.");
  55.     ResetPlayerWeapons(playerid);
  56.     GivePlayerWeapon(playerid, 24, 9999);
  57.     StartAmmo[playerid] = 9999;
  58.     SetPlayerVirtualWorld(playerid, playerid+2000);
  59.     return 1;
  60. }
  61.  
  62. public OnPlayerDisconnect(playerid) {
  63.     StartAmmo[playerid] = 0;
  64.     Ready[playerid] = 0;
  65.     Ticks[playerid] = 0;
  66.     return 1;
  67. }
  68.  
  69. public OnPlayerConnect(playerid) {
  70.     StartAmmo[playerid] = 0;
  71.     Ready[playerid] = 0;
  72.     Ticks[playerid] = 0;
  73.     return 1;
  74. }
Advertisement
Add Comment
Please, Sign In to add comment