Advertisement
Guest User

Untitled

a guest
Feb 26th, 2017
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.88 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; i < p; i++)
  66. {
  67. if(!IsPlayerConnected(i) || sf__PlayerPickUp[i] == false) continue;
  68.  
  69. new Float:sf__p_x, Float:sf__p_y, Float:sf__p_z;
  70. GetPlayerPos(i, sf__p_x, sf__p_y, sf__p_z);
  71.  
  72. if(floatsqroot(floatadd(floatpower(sf__x[i]-sf__p_x, 2), floatpower(sf__y[i]-sf__p_y, 2))) > LossPickup)
  73. {
  74. sf__PlayerPickUp[i] = false;
  75. }
  76.  
  77. }
  78. return 1;
  79. }
  80.  
  81.  
  82. #if defined S_OnPlayerPickUpDynamicPickup
  83. #undef OnPlayerPickUpDynamicPickup
  84. #else
  85. #define S_OnPlayerPickUpDynamicPickup
  86. #endif
  87.  
  88. #define OnPlayerPickUpDynamicPickup sf__OnPlayerPickUpDynamicPickup
  89. #if defined sf__OnPlayerPickUpDynamicPickup
  90. forward sf__OnPlayerPickUpDynamicPickup();
  91. #endif
  92.  
  93.  
  94. #if defined _ALS_OnGameModeInit
  95. #undef OnGameModeInit
  96. #else
  97. #define _ALS_OnGameModeInit
  98. #endif
  99.  
  100. #define OnGameModeInit sf__OnGameModeInit
  101. #if defined sf__OnGameModeInit
  102. forward sf__OnGameModeInit();
  103. #endif
  104.  
  105.  
  106. #if defined _ALS_OnPlayerDisconnect
  107. #undef OnPlayerDisconnect
  108. #else
  109. #define _ALS_OnPlayerDisconnect
  110. #endif
  111.  
  112. #define OnPlayerDisconnect sf__OnPlayerDisconnect
  113. #if defined sf__OnPlayerDisconnect
  114. forward sf__OnPlayerDisconnect(playerid, reason);
  115. #endif
  116.  
  117.  
  118. #if defined _ALS_OnPlayerPickUpPickup
  119. #undef OnPlayerPickUpPickup
  120. #else
  121. #define _ALS_OnPlayerPickUpPickup
  122. #endif
  123.  
  124. #define OnPlayerPickUpPickup sf__OnPlayerStateChange
  125. #if defined sf__OnPlayerStateChange
  126. forward sf__OnPlayerStateChange(playerid, pickupid);
  127. #endif
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement