Advertisement
Guest User

[FS] ESC Time Counter

a guest
Jun 24th, 2011
1,313
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.35 KB | None | 0 0
  1. //--------------------------------ESC Time Counter FilterScript by [_FFG_]BuLLeT----------------------------------------------------
  2. #include <a_samp>
  3. #define MAX_ESC_TIME 60 //1 minute
  4. #define COLOR_WHITE 0xFFFFFFAA
  5. new UpdateCount[MAX_PLAYERS], OldUpdateCount[MAX_PLAYERS], Spawned[MAX_PLAYERS],ESCWarns[MAX_PLAYERS];
  6. new PlayerUpTimer[MAX_PLAYERS],IsPaused[MAX_PLAYERS],ESCSeconds[MAX_PLAYERS],ESCMinutes[MAX_PLAYERS];
  7. new ESCTime[MAX_PLAYERS];
  8. new Text3D:ESCLabel[MAX_PLAYERS];
  9. forward UpdatePlayer(playerid);
  10. public OnFilterScriptInit()
  11. {
  12. print("\n|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|");
  13. print(" ESC Time Counter [FS] by [_FFG_]BuLLeT");
  14. print("|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|\n");
  15. return 1;
  16. }
  17.  
  18. public OnFilterScriptExit()
  19. {
  20. return 1;
  21. }
  22.  
  23. public OnPlayerConnect(playerid)
  24. {
  25. ESCTime[playerid] = 0;
  26. UpdateCount[playerid] = 0;
  27. OldUpdateCount[playerid] = 0;
  28. ESCSeconds[playerid] = 0;
  29. ESCMinutes[playerid] = 0;
  30. IsPaused[playerid] = 0;
  31. ESCWarns[playerid] = 0;
  32. PlayerUpTimer[playerid] = SetTimerEx("UpdatePlayer",1000,1,"d",playerid);
  33. Spawned[playerid] = 0;
  34. return 1;
  35. }
  36.  
  37. public OnPlayerDisconnect(playerid, reason)
  38. {
  39. Spawned[playerid] = 0;
  40. ESCTime[playerid] = 0;
  41. UpdateCount[playerid] = 0;
  42. OldUpdateCount[playerid] = 0;
  43. ESCWarns[playerid] = 0;
  44. KillTimer(PlayerUpTimer[playerid]);
  45. if(IsPaused[playerid] == 1)
  46. {
  47. IsPaused[playerid] = 0;
  48. Delete3DTextLabel(ESCLabel[playerid]);
  49. ESCSeconds[playerid] = 0;
  50. ESCMinutes[playerid] = 0;
  51. }
  52. return 1;
  53. }
  54.  
  55. public OnPlayerSpawn(playerid)
  56. {
  57. Spawned[playerid] = 1;
  58. return 1;
  59. }
  60.  
  61. public OnPlayerDeath(playerid, killerid, reason)
  62. {
  63. Spawned[playerid] = 0;
  64. return 1;
  65. }
  66.  
  67. public OnPlayerUpdate(playerid)
  68. {
  69. UpdateCount[playerid] ++;
  70. if(UpdateCount[playerid] >= 999999)
  71. {
  72. UpdateCount[playerid] = 0;
  73. }
  74. if(IsPaused[playerid] == 1)
  75. {
  76. IsPaused[playerid] = 0;
  77. Delete3DTextLabel(ESCLabel[playerid]);
  78. ESCSeconds[playerid] = 0;
  79. ESCMinutes[playerid] = 0;
  80. ESCTime[playerid] = 0;
  81. }
  82. return 1;
  83. }
  84.  
  85. public UpdatePlayer(playerid)
  86. {
  87. if(IsPlayerConnected(playerid) && Spawned[playerid] == 1)
  88. {
  89. if(IsPaused[playerid] == 0)
  90. {
  91. if(UpdateCount[playerid] == OldUpdateCount[playerid])
  92. {
  93. ESCWarns[playerid]++;
  94. switch (ESCWarns[playerid])
  95. {
  96. case 10:
  97. {
  98. IsPaused[playerid] = 1;
  99. ESCSeconds[playerid] = 10;
  100. ESCLabel[playerid] = Create3DTextLabel("ESC 0:10",0xFF0000AA,0.0,0.0,0.6,30,0,0);
  101. Attach3DTextLabelToPlayer(ESCLabel[playerid],playerid,0.0,0.0,0.0);
  102. }
  103. }
  104. }
  105. else
  106. {
  107. ESCTime[playerid] = 0;
  108. IsPaused[playerid] = 0;
  109. ESCWarns[playerid] = 0;
  110. OldUpdateCount[playerid] = UpdateCount[playerid];
  111. }
  112. }
  113. else
  114. {
  115. ESCSeconds[playerid]++;
  116. if(ESCSeconds[playerid] >= 60)
  117. {
  118. ESCSeconds[playerid] = 0;
  119. ESCMinutes[playerid] ++;
  120. }
  121. new str[30];
  122. format(str,sizeof(str),"ESC %d:%02d",ESCMinutes[playerid],ESCSeconds[playerid]);
  123. Update3DTextLabelText(ESCLabel[playerid],COLOR_WHITE,str);
  124. ESCTime[playerid] ++;
  125. if(ESCTime[playerid] >= MAX_ESC_TIME)
  126. {
  127. Kick(playerid);//kick for ESC
  128. }
  129. }
  130. }
  131. return 1;
  132. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement