Advertisement
S4T3K

s_changes_last

Jun 6th, 2014
282
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 9.59 KB | None | 0 0
  1. #include <a_samp>
  2. #include <YSI\y_hooks>
  3. #include <YSI\y_iterate>
  4.  
  5. /* Liste des pré-processeurs disponibles
  6.  
  7. #define USE_WEAPON - Active la callback "OnPlayerWeaponChange"
  8. #define USE_AMMO - Active la callback "OnPlayerAmmoChange"
  9. #define USE_HEALTH - Active la callback "OnPlayerHealthChange"
  10. #define USE_ARMOUR - Active la callback "OnPlayerArmourChange"
  11. #define USE_MONEY - Active la callback "OnPlayerMoneyChange"
  12. #define USE_CONNECTED - Active la callback "OnServerConnectedChange"
  13. #define USE_POS - Active la callback "OnPlayerPosChange"
  14. #define USE_SPEED - Active les callbacks "OnPlayerSpeedChange" (si le joueur est à pied) et "OnPlayerVehicleSpeedChange" (si le joueur est en véhicule)
  15. #define USE_ANIMATIONS - Active la callback "OnPlayerAnimationChange" (également appelée lorsqu'une animation appliquée à un joueur se termine)
  16. #define USE_SCORE - Active la callback "OnPlayerScoreChange"
  17. #define USE_PING - Active la callback "OnPlayerPingChange"
  18. #define USE_NAME - Active la callback "OnPlayerNameChange"
  19. #define USE_FPS - Active la callback "OnPlayerFPSChange"
  20.  
  21. */
  22.  
  23. #if defined USE_WEAPON
  24.     new s_changes_weapon[MAX_PLAYERS];
  25. #endif
  26. #if defined USE_AMMO
  27.     new s_changes_ammo[MAX_PLAYERS];
  28. #endif
  29. #if defined USE_HEALTH
  30.     new Float:s_changes_health[MAX_PLAYERS];
  31. #endif
  32. #if defined USE_ARMOUR
  33.     new Float:s_changes_armour[MAX_PLAYERS];
  34. #endif
  35. #if defined USE_MONEY
  36.     new s_changes_money[MAX_PLAYERS];
  37. #endif
  38. #if defined USE_CONNECTED
  39.     new s_changes_connected;
  40. #endif
  41. #if defined USE_POS
  42.     new Float:s_changes_pos[MAX_PLAYERS][3];
  43. #endif
  44. #if defined USE_SPEED
  45.     new Float:s_changes_ps[MAX_PLAYERS][3], Float:s_changes_vs[MAX_VEHICLES][3];
  46.     native IsValidVehicle(vehicleid);
  47. #endif
  48. #if defined USE_ANIMATIONS
  49.     new s_changes_animation[MAX_PLAYERS][2][32];
  50. #endif
  51. #if defined USE_SCORE
  52.     new s_changes_score[MAX_PLAYERS];
  53. #endif
  54. #if defined USE_PING
  55.     new s_changes_ping[MAX_PLAYERS];
  56. #endif
  57. #if defined USE_NAME
  58.     new s_changes_name[MAX_PLAYERS][MAX_PLAYER_NAME+1];
  59. #endif
  60. #if defined USE_FPS
  61.     new s_changes_fps[MAX_PLAYERS], s_changes_checked[MAX_PLAYERS];
  62. #endif
  63.  
  64.  
  65. hook OnPlayerConnect(playerid)
  66. {
  67.     #if defined USE_WEAPON
  68.         s_changes_weapon[playerid] = GetPlayerWeapon(playerid);
  69.         s_changes_ammo[playerid] = GetPlayerAmmo(playerid);
  70.     #endif
  71.     #if defined USE_MONEY
  72.         s_changes_money[playerid] = GetPlayerMoney(playerid);
  73.     #endif
  74.     #if defined USE_HEALTH
  75.         GetPlayerHealth(playerid, s_changes_health[playerid]);
  76.     #endif
  77.     #if defined USE_ARMOUR
  78.         GetPlayerArmour(playerid, s_changes_armour[playerid]);
  79.     #endif
  80.     #if defined USE_POS
  81.         GetPlayerPos(playerid, s_changes_pos[playerid][0], s_changes_pos[playerid][1], s_changes_pos[playerid][2]);
  82.     #endif
  83.     #if defined USE_SPEED
  84.         GetPlayerVelocity(playerid, s_changes_ps[playerid][0], s_changes_ps[playerid][1], s_changes_ps[playerid][2]);
  85.         if(IsPlayerInAnyVehicle(playerid))
  86.         {
  87.             new vid = GetPlayerVehicleID(playerid);
  88.             GetVehicleVelocity(vid, s_changes_vs[playerid][0], s_changes_vs[playerid][1], s_changes_vs[playerid][2]);
  89.         }
  90.     #endif
  91.     #if defined USE_ANIMATIONS
  92.         GetAnimationName(GetPlayerAnimationIndex(playerid), s_changes_animation[playerid][0], 32, s_changes_animation[playerid][1], 32);
  93.     #endif
  94.     #if defined USE_SCORE
  95.         s_changes_score[playerid] = GetPlayerScore(playerid);
  96.     #endif
  97.     #if defined USE_PING
  98.         s_changes_ping[playerid] = GetPlayerPing(playerid);
  99.     #endif
  100.     #if defined USE_NAME
  101.         GetPlayerName(playerid, s_changes_name[playerid], MAX_PLAYER_NAME+1);
  102.     #endif
  103.     #if defined USE_FPS
  104.         s_changes_fps[playerid] = 150;
  105.         SetPlayerDrunkLevel(playerid, 150);
  106.         s_changes_checked[playerid] = gettime();
  107.     #endif
  108.     return 1;
  109. }
  110.  
  111. #if defined USE_AMMO
  112. stock UpdateAmmo(playerid)
  113. {
  114.     new ammon;
  115.     ammon = GetPlayerAmmo(playerid);
  116.     new weaponn;
  117.     weaponn = GetPlayerWeapon(playerid);
  118.     if(s_changes_ammo[playerid] != ammon) CallLocalFunction("OnPlayerAmmoChange", "iiii", playerid, s_changes_ammo[playerid], ammon, weaponn);
  119.     s_changes_ammo[playerid] = ammon;
  120. }
  121. #endif
  122.  
  123. hook OnPlayerUpdate(playerid)
  124. {
  125.     #if defined USE_WEAPON
  126.         new weaponn;
  127.         weaponn = GetPlayerWeapon(playerid);
  128.         if(s_changes_weapon[playerid] != weaponn) CallLocalFunction("OnPlayerWeaponChange", "iii", playerid, s_changes_weapon[playerid], weaponn);
  129.         s_changes_weapon[playerid] = weaponn;
  130.     #endif
  131.     #if defined USE_HEALTH
  132.         new Float:healthn;
  133.         GetPlayerHealth(playerid, healthn);
  134.         if(s_changes_health[playerid] != healthn) CallLocalFunction("OnPlayerHealthChange", "iff", playerid, s_changes_health[playerid], healthn);
  135.         s_changes_health[playerid] = healthn;
  136.     #endif
  137.     #if defined USE_ARMOUR
  138.         new Float:armourn;
  139.         GetPlayerArmour(playerid, armourn);
  140.         if(s_changes_armour[playerid] != armourn) CallLocalFunction("OnPlayerArmourChange", "iff", playerid, s_changes_armour[playerid], armourn);
  141.         s_changes_armour[playerid] = armourn;
  142.     #endif
  143.     #if defined USE_MONEY
  144.         new moneyn;
  145.         moneyn = GetPlayerMoney(playerid);
  146.         if(s_changes_money[playerid] != moneyn) CallLocalFunction("OnPlayerMoneyChange", "iii", playerid, s_changes_money[playerid], moneyn);
  147.         s_changes_money[playerid] = moneyn;
  148.     #endif
  149.     #if defined USE_SCORE
  150.         new scoren;
  151.         scoren = GetPlayerScore(playerid);
  152.         if(s_changes_score[playerid] != scoren) CallLocalFunction("OnPlayerScoreChange", "iii", playerid, s_changes_score[playerid], scoren);
  153.         s_changes_score[playerid] = scoren;
  154.     #endif
  155.     #if defined USE_PING
  156.         new pingn;
  157.         pingn = GetPlayerPing(playerid);
  158.         if(s_changes_ping[playerid] != pingn) CallLocalFunction("OnPlayerPingChange", "iii", playerid, s_changes_ping[playerid], pingn);
  159.         s_changes_ping[playerid] = pingn;
  160.     #endif
  161.     #if defined USE_NAME
  162.         new namen[MAX_PLAYER_NAME+1];
  163.         GetPlayerName(playerid, namen, sizeof(namen));
  164.         if(strcmp(s_changes_name[playerid], namen, false) != 0) CallLocalFunction("OnPlayerNameChange", "iss", playerid, s_changes_name[playerid], namen);
  165.         s_changes_name[playerid] = namen;
  166.     #endif
  167.     #if defined USE_FPS
  168.         if(s_changes_checked[playerid] > gettime()) return 1;
  169.         new fpsn;
  170.         fpsn = 150 - GetPlayerDrunkLevel(playerid);
  171.         if(s_changes_fps[playerid] != fpsn) CallLocalFunction("OnPlayerFPSChange", "iii", playerid, s_changes_fps[playerid], fpsn);
  172.         s_changes_fps[playerid] = fpsn;
  173.     #endif
  174.     #if defined USE_POS
  175.         new Float:posn[3];
  176.         GetPlayerPos(playerid, posn[0], posn[1], posn[2]);
  177.         if(posn[0] != s_changes_pos[playerid][0] || posn[1] != s_changes_pos[playerid][1] || posn[2] != s_changes_pos[playerid][2]) CallLocalFunction("OnPlayerPosChange", "iffffff", playerid, s_changes_pos[playerid][0], posn[0], s_changes_pos[playerid][1], posn[1], s_changes_pos[playerid][2], posn[2]);
  178.         s_changes_pos[playerid][0] = posn[0];
  179.         s_changes_pos[playerid][1] = posn[1];
  180.         s_changes_pos[playerid][2] = posn[2];
  181.     #endif
  182.     #if defined USE_SPEED
  183.         new Float:vsn[3];
  184.         if(IsPlayerInAnyVehicle(playerid))
  185.         {
  186.             new vid = GetPlayerVehicleID(playerid);
  187.             GetVehicleVelocity(vid, vsn[0], vsn[1], vsn[2]);
  188.             if(s_changes_vs[playerid][0] != vsn[0] || s_changes_vs[playerid][1] != vsn[1] || s_changes_vs[playerid][2] != vsn[2]) CallLocalFunction("OnPlayerVehicleSpeedChange", "iffffff", playerid, vid, s_changes_vs[playerid][0], vsn[0], s_changes_vs[playerid][1], vsn[1], s_changes_vs[playerid][2], vsn[2]);
  189.             s_changes_vs[playerid][0] = vsn[0];
  190.             s_changes_vs[playerid][1] = vsn[1];
  191.             s_changes_vs[playerid][2] = vsn[2];
  192.             return 1;
  193.         }
  194.         new Float:psn[3];
  195.         GetPlayerVelocity(playerid, psn[0], psn[1], psn[2]);
  196.         if(psn[0] != s_changes_ps[playerid][0] || psn[1] != s_changes_ps[playerid][1] || psn[2] != s_changes_ps[playerid][2]) CallLocalFunction("OnPlayerSpeedChange", "iffffff", playerid, s_changes_ps[playerid][0], psn[0], s_changes_ps[playerid][1], psn[1], s_changes_ps[playerid][2], psn[2]);
  197.         s_changes_ps[playerid][0] = psn[0];
  198.         s_changes_ps[playerid][1] = psn[1];
  199.         s_changes_ps[playerid][2] = psn[2];
  200.     #endif
  201.     #if defined USE_CONNECTED
  202.         new connectedn;
  203.         foreach(new i : Player)
  204.         {
  205.             connectedn++;
  206.         }
  207.         if(connectedn != s_changes_connected) CallLocalFunction("OnServerConnectedPlayersChange", "ii", s_changes_connected, connectedn);
  208.         s_changes_connected = connectedn;
  209.     #endif
  210.     #if defined USE_ANIMATIONS
  211.         new animations[2][32];
  212.         GetAnimationName(GetPlayerAnimationIndex(playerid), animations[0], 32, animations[1], 32);
  213.         if(strcmp(animations[0], s_changes_animation[playerid][0], false) != 0 || strcmp(animations[1], s_changes_animation[playerid][1], false) != 0) CallLocalFunction("OnPlayerAnimationChange", "issss", playerid, s_changes_animation[playerid][0], animations[0], s_changes_animation[playerid][1], animations[1]);
  214.         s_changes_animation[playerid][0] = animations[0];
  215.         s_changes_animation[playerid][1] = animations[1];
  216.     #endif
  217.     return 1;
  218. }
  219.  
  220. forward OnPlayerAmmoChange(playerid, olda, newa, weapona);
  221. forward OnPlayerWeaponChange(playerid, oldw, neww);
  222. forward OnPlayerHealthChange(playerid, Float:oldh, Float:newh);
  223. forward OnPlayerArmourChange(playerid, Float:olda, Float:newa);
  224. forward OnServerConnectedPlayersChange(old, newc);
  225. forward OnPlayerPosChange(playerid, Float:oldx, Float:newx, Float:oldy, Float:newy, Float:oldz, Float:newz);
  226. forward OnPlayerMoneyChange(playerid, oldm, newm);
  227. forward OnPlayerSpeedChange(playerid, Float:oldsx, Float:newsx, Float:oldsy, Float:newsy, Float:oldsz, Float:newsz);
  228. forward OnPlayerVehicleSpeedChange(playerid, vehicleid, Float:oldsx, Float:newsx, Float:oldsy, Float:newsy, Float:oldsz, Float:newsz);
  229. forward OnPlayerAnimationChange(playerid, oldal[], newal[], oldan[], newan[]);
  230. forward OnPlayerScoreChange(playerid, olds, news);
  231. forward OnPlayerPingChange(playerid, oldp, newp);
  232. forward OnPlayerNameChange(playerid, oldn[], newn[]);
  233. forward OnPlayerFPSChange(playerid, oldfps, newfps);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement