Guest User

yInv .inc

a guest
Apr 3rd, 2013
669
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <a_samp>
  2. #include <foreach>
  3.  
  4. enum e_inv
  5. {
  6.     bool:afk,
  7.     bool:is_afk,
  8.     Float:last_hit,
  9.     inv_warnings
  10. };
  11. new yInv_player[MAX_PLAYERS][e_inv];
  12. new yInv_timer;
  13.  
  14. forward CheckPaused2();
  15.  
  16. public OnGameModeInit()
  17. {
  18.     print(" ---:: yInv by Yiin ");
  19.     yInv_timer = SetTimer("CheckPaused2",5000,true);
  20.     return CallLocalFunction("yInv_OnGameModeInit", "");
  21. }
  22. #if defined _ALS_OnGameModeInit
  23.   #undef OnGameModeInit
  24. #else
  25. #define _ALS_OnGameModeInit
  26. #endif
  27. #define OnGameModeInit yInv_OnGameModeInit
  28. forward yInv_OnGameModeInit();
  29.  
  30. public OnGameModeExit()
  31. {
  32.     KillTimer(yInv_timer);
  33.     return CallLocalFunction("yInv_OnGameModeExit", "");
  34. }
  35. #if defined _ALS_OnGameModeExit
  36.   #undef OnGameModeExit
  37. #else
  38. #define _ALS_OnGameModeExit
  39. #endif
  40. #define OnGameModeExit yInv_OnGameModeExit
  41. forward yInv_OnGameModeExit();
  42.  
  43. public OnPlayerConnect(playerid)
  44. {
  45.     yInv_player[playerid][inv_warnings] = 0;
  46.     yInv_player[playerid][last_hit] = 0;
  47.     return CallLocalFunction("yInv_OnPlayerConnect", "i", playerid);
  48. }
  49. #if defined _ALS_OnPlayerConnect
  50.   #undef OnPlayerConnect
  51. #else
  52. #define _ALS_OnPlayerConnect
  53. #endif
  54. #define OnPlayerConnect yInv_OnPlayerConnect
  55. forward yInv_OnPlayerConnect(playerid);
  56.  
  57. public OnPlayerSpawn(playerid)
  58. {
  59.     yInv_player[playerid][inv_warnings] = 0;
  60.     return CallLocalFunction("yInv_OnPlayerSpawn", "i", playerid);
  61. }
  62. #if defined _ALS_OnPlayerSpawn
  63.   #undef OnPlayerSpawn
  64. #else
  65. #define _ALS_OnPlayerSpawn
  66. #endif
  67. #define OnPlayerSpawn yInv_OnPlayerSpawn
  68. forward yInv_OnPlayerSpawn(playerid);
  69.  
  70. public OnPlayerUpdate(playerid)
  71. {
  72.     yInv_player[playerid][is_afk] = false;
  73.     yInv_player[playerid][afk] = false;
  74.     return CallLocalFunction("yInv_OnPlayerUpdate", "i", playerid);
  75. }
  76. #if defined _ALS_OnPlayerUpdate
  77.   #undef OnPlayerUpdate
  78. #else
  79. #define _ALS_OnPlayerUpdate
  80. #endif
  81. #define OnPlayerUpdate yInv_OnPlayerUpdate
  82. forward yInv_OnPlayerUpdate(playerid);
  83.  
  84. public OnPlayerTakeDamage(playerid, issuerid, Float:amount, weaponid)
  85. {
  86.     if(yInv_player[playerid][afk] || GetPVarInt(playerid, "FREEZED")) return 1;
  87.     new
  88.         Float: hp,
  89.         Float: arm,
  90.         Float: HitPoints;
  91.        
  92.     GetPlayerHealth(playerid, hp);
  93.     GetPlayerArmour(playerid, arm);
  94.     HitPoints = hp + arm;
  95.  
  96.     if(yInv_player[playerid][last_hit] < HitPoints)
  97.         yInv_player[playerid][inv_warnings]++;
  98.     else
  99.         yInv_player[playerid][inv_warnings] = 0;
  100.  
  101.     if(yInv_player[playerid][inv_warnings] > 10 || ! GetPVarInt(playerid, "yInv_Called"))
  102.     {
  103.         SetPVarInt(playerid, "yInv_Called", 1);
  104.         SetTimerEx("yInv_ResetCall", 1000*10, false, "i", playerid);
  105.         CallLocalFunction("OnPlayerUseInv", "i", playerid);
  106.     }
  107.  
  108.     yInv_player[playerid][last_hit] = HitPoints - amount;
  109.  
  110.     return CallLocalFunction("yInv_OnPlayerTakeDamage", "iifi", playerid, issuerid, amount, weaponid);
  111. }
  112. #if defined _ALS_OnPlayerTakeDamage
  113.   #undef OnPlayerTakeDamage
  114. #else
  115. #define _ALS_OnPlayerTakeDamage
  116. #endif
  117. #define OnPlayerTakeDamage yInv_OnPlayerTakeDamage
  118. forward yInv_OnPlayerTakeDamage(playerid, issuerid, Float:amount, weaponid);
  119.  
  120. stock yInv_TogglePlayerControllable(playerid, toggle)
  121. {
  122.     SetPVarInt(playerid, "FREEZED", toggle);
  123.     return TogglePlayerControllable(playerid, toggle);
  124. }
  125.  
  126. #if defined _ALS_TogglePlayerControllable
  127.     #undef TogglePlayerControllable
  128. #else
  129.     #define _ALS_TogglePlayerControllable
  130. #endif
  131. #define TogglePlayerControllable yInv_TogglePlayerControllable
  132.  
  133. forward yInv_ResetCall(playerid);
  134. public yInv_ResetCall(playerid) return DeletePVar(playerid, "yInv_Called");
  135.  
  136. public CheckPaused2()
  137. {
  138.     foreach(new i : Player)
  139.     {
  140.         if(yInv_player[i][is_afk])
  141.             yInv_player[i][afk] = true;
  142.         yInv_player[i][is_afk] = true;
  143.     }
  144.     return 1;
  145. }
  146.  
  147. forward OnPlayerUseInv(playerid);
Advertisement
Add Comment
Please, Sign In to add comment