Advertisement
Guest User

Untitled

a guest
Feb 27th, 2017
426
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.83 KB | None | 0 0
  1. //Pickup Stop Flood by vasyok28 (supported streamer)
  2.  
  3. static bool:sf__PlayerPickUp[MAX_PLAYERS char];
  4. static Float:sf__x[MAX_PLAYERS], Float:sf__y[MAX_PLAYERS], Float:sf__z[MAX_PLAYERS];
  5. forward PlayerPick();
  6.  
  7. #if !defined LossPickup
  8. #define LossPickup 1.0
  9. #endif
  10.  
  11. #if !defined TimeLossPickup
  12. #define TimeLossPickup 1000
  13. #endif
  14.  
  15. public OnGameModeInit()
  16. {
  17. SetTimer(!"PlayerPick", TimeLossPickup, true);
  18.  
  19. #if defined sf__OnGameModeInit
  20. sf__OnGameModeInit();
  21. #endif
  22.  
  23. return 1;
  24. }
  25.  
  26. public OnPlayerDisconnect(playerid, reason)
  27. {
  28. sf__PlayerPickUp{playerid} = false;
  29.  
  30. #if defined sf__OnPlayerDisconnect
  31. sf__OnPlayerDisconnect(playerid, reason);
  32. #endif
  33.  
  34. return 1;
  35. }
  36.  
  37. public OnPlayerPickUpPickup(playerid, pickupid)
  38. {
  39. if(sf__PlayerPickUp{playerid} == true) return 1;
  40. sf__PlayerPickUp{playerid} = true;
  41. GetPlayerPos(playerid, sf__x[playerid], sf__y[playerid], sf__z[playerid]);
  42.  
  43. #if defined OnPlayerPickUpPickup
  44. sf__OnPlayerStateChange(playerid, pickupid);
  45. #endif
  46. return 1;
  47. }
  48.  
  49. #if !defined OnPlayerPickUpDynamicPickup
  50. public OnPlayerPickUpDynamicPickup(playerid, pickupid)
  51. {
  52. if(sf__PlayerPickUp{playerid} == true) return 1;
  53. sf__PlayerPickUp{playerid} = true;
  54. GetPlayerPos(playerid, sf__x[playerid], sf__y[playerid], sf__z[playerid]);
  55.  
  56. #if defined OnPlayerPickUpDynamicPickup
  57. sf__OnPlayerPickUpDynamicPickup(playerid, pickupid);
  58. #endif
  59. return 1;
  60. }
  61. #endif
  62.  
  63. public PlayerPick()
  64. {
  65. for(new i, p = GetPlayerPoolSize()+1, Float:sf__p_x, Float:sf__p_y, Float:sf__p_z; i < p; i++)
  66. {
  67. if(!IsPlayerConnected(i) || sf__PlayerPickUp{i} == false) continue;
  68. GetPlayerPos(i, sf__p_x, sf__p_y, sf__p_z);
  69.  
  70. if(VectorSize(sf__x[i] - sf__p_x, sf__y[i] - sf__p_y, 0.0) > LossPickup)
  71. {
  72. sf__PlayerPickUp{i} = false;
  73. }
  74.  
  75. }
  76. return 1;
  77. }
  78.  
  79.  
  80. #if defined S_OnPlayerPickUpDynamicPickup
  81. #undef OnPlayerPickUpDynamicPickup
  82. #else
  83. #define S_OnPlayerPickUpDynamicPickup
  84. #endif
  85.  
  86. #define OnPlayerPickUpDynamicPickup sf__OnPlayerPickUpDynamicPickup
  87. #if defined sf__OnPlayerPickUpDynamicPickup
  88. forward sf__OnPlayerPickUpDynamicPickup();
  89. #endif
  90.  
  91.  
  92. #if defined _ALS_OnGameModeInit
  93. #undef OnGameModeInit
  94. #else
  95. #define _ALS_OnGameModeInit
  96. #endif
  97.  
  98. #define OnGameModeInit sf__OnGameModeInit
  99. #if defined sf__OnGameModeInit
  100. forward sf__OnGameModeInit();
  101. #endif
  102.  
  103.  
  104. #if defined _ALS_OnPlayerDisconnect
  105. #undef OnPlayerDisconnect
  106. #else
  107. #define _ALS_OnPlayerDisconnect
  108. #endif
  109.  
  110. #define OnPlayerDisconnect sf__OnPlayerDisconnect
  111. #if defined sf__OnPlayerDisconnect
  112. forward sf__OnPlayerDisconnect(playerid, reason);
  113. #endif
  114.  
  115.  
  116. #if defined _ALS_OnPlayerPickUpPickup
  117. #undef OnPlayerPickUpPickup
  118. #else
  119. #define _ALS_OnPlayerPickUpPickup
  120. #endif
  121.  
  122. #define OnPlayerPickUpPickup sf__OnPlayerStateChange
  123. #if defined sf__OnPlayerStateChange
  124. forward sf__OnPlayerStateChange(playerid, pickupid);
  125. #endif
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement