Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_samp>
- #include <YSI\y_hooks>
- #include <YSI\y_iterate>
- /* Liste des pré-processeurs disponibles
- #define USE_WEAPON - Active la callback "OnPlayerWeaponChange"
- #define USE_AMMO - Active la callback "OnPlayerAmmoChange"
- #define USE_HEALTH - Active la callback "OnPlayerHealthChange"
- #define USE_ARMOUR - Active la callback "OnPlayerArmourChange"
- #define USE_MONEY - Active la callback "OnPlayerMoneyChange"
- #define USE_CONNECTED - Active la callback "OnServerConnectedChange"
- #define USE_POS - Active la callback "OnPlayerPosChange"
- #define USE_SPEED - Active les callbacks "OnPlayerSpeedChange" (si le joueur est à pied) et "OnPlayerVehicleSpeedChange" (si le joueur est en véhicule)
- #define USE_ANIMATIONS - Active la callback "OnPlayerAnimationChange" (également appelée lorsqu'une animation appliquée à un joueur se termine)
- #define USE_SCORE - Active la callback "OnPlayerScoreChange"
- #define USE_PING - Active la callback "OnPlayerPingChange"
- #define USE_NAME - Active la callback "OnPlayerNameChange"
- #define USE_FPS - Active la callback "OnPlayerFPSChange"
- */
- #if defined USE_WEAPON
- new s_changes_weapon[MAX_PLAYERS];
- #endif
- #if defined USE_AMMO
- new s_changes_ammo[MAX_PLAYERS];
- #endif
- #if defined USE_HEALTH
- new Float:s_changes_health[MAX_PLAYERS];
- #endif
- #if defined USE_ARMOUR
- new Float:s_changes_armour[MAX_PLAYERS];
- #endif
- #if defined USE_MONEY
- new s_changes_money[MAX_PLAYERS];
- #endif
- #if defined USE_CONNECTED
- new s_changes_connected;
- #endif
- #if defined USE_POS
- new Float:s_changes_pos[MAX_PLAYERS][3];
- #endif
- #if defined USE_SPEED
- new Float:s_changes_ps[MAX_PLAYERS][3], Float:s_changes_vs[MAX_VEHICLES][3];
- native IsValidVehicle(vehicleid);
- #endif
- #if defined USE_ANIMATIONS
- new s_changes_animation[MAX_PLAYERS][2][32];
- #endif
- #if defined USE_SCORE
- new s_changes_score[MAX_PLAYERS];
- #endif
- #if defined USE_PING
- new s_changes_ping[MAX_PLAYERS];
- #endif
- #if defined USE_NAME
- new s_changes_name[MAX_PLAYERS][MAX_PLAYER_NAME+1];
- #endif
- #if defined USE_FPS
- new s_changes_fps[MAX_PLAYERS], s_changes_checked[MAX_PLAYERS];
- #endif
- hook OnPlayerConnect(playerid)
- {
- #if defined USE_WEAPON
- s_changes_weapon[playerid] = GetPlayerWeapon(playerid);
- s_changes_ammo[playerid] = GetPlayerAmmo(playerid);
- #endif
- #if defined USE_MONEY
- s_changes_money[playerid] = GetPlayerMoney(playerid);
- #endif
- #if defined USE_HEALTH
- GetPlayerHealth(playerid, s_changes_health[playerid]);
- #endif
- #if defined USE_ARMOUR
- GetPlayerArmour(playerid, s_changes_armour[playerid]);
- #endif
- #if defined USE_POS
- GetPlayerPos(playerid, s_changes_pos[playerid][0], s_changes_pos[playerid][1], s_changes_pos[playerid][2]);
- #endif
- #if defined USE_SPEED
- GetPlayerVelocity(playerid, s_changes_ps[playerid][0], s_changes_ps[playerid][1], s_changes_ps[playerid][2]);
- if(IsPlayerInAnyVehicle(playerid))
- {
- new vid = GetPlayerVehicleID(playerid);
- GetVehicleVelocity(vid, s_changes_vs[playerid][0], s_changes_vs[playerid][1], s_changes_vs[playerid][2]);
- }
- #endif
- #if defined USE_ANIMATIONS
- GetAnimationName(GetPlayerAnimationIndex(playerid), s_changes_animation[playerid][0], 32, s_changes_animation[playerid][1], 32);
- #endif
- #if defined USE_SCORE
- s_changes_score[playerid] = GetPlayerScore(playerid);
- #endif
- #if defined USE_PING
- s_changes_ping[playerid] = GetPlayerPing(playerid);
- #endif
- #if defined USE_NAME
- GetPlayerName(playerid, s_changes_name[playerid], MAX_PLAYER_NAME+1);
- #endif
- #if defined USE_FPS
- s_changes_fps[playerid] = 150;
- SetPlayerDrunkLevel(playerid, 150);
- s_changes_checked[playerid] = gettime();
- #endif
- return 1;
- }
- #if defined USE_AMMO
- stock UpdateAmmo(playerid)
- {
- new ammon;
- ammon = GetPlayerAmmo(playerid);
- new weaponn;
- weaponn = GetPlayerWeapon(playerid);
- if(s_changes_ammo[playerid] != ammon) CallLocalFunction("OnPlayerAmmoChange", "iiii", playerid, s_changes_ammo[playerid], ammon, weaponn);
- s_changes_ammo[playerid] = ammon;
- }
- #endif
- hook OnPlayerUpdate(playerid)
- {
- #if defined USE_WEAPON
- new weaponn;
- weaponn = GetPlayerWeapon(playerid);
- if(s_changes_weapon[playerid] != weaponn) CallLocalFunction("OnPlayerWeaponChange", "iii", playerid, s_changes_weapon[playerid], weaponn);
- s_changes_weapon[playerid] = weaponn;
- #endif
- #if defined USE_HEALTH
- new Float:healthn;
- GetPlayerHealth(playerid, healthn);
- if(s_changes_health[playerid] != healthn) CallLocalFunction("OnPlayerHealthChange", "iff", playerid, s_changes_health[playerid], healthn);
- s_changes_health[playerid] = healthn;
- #endif
- #if defined USE_ARMOUR
- new Float:armourn;
- GetPlayerArmour(playerid, armourn);
- if(s_changes_armour[playerid] != armourn) CallLocalFunction("OnPlayerArmourChange", "iff", playerid, s_changes_armour[playerid], armourn);
- s_changes_armour[playerid] = armourn;
- #endif
- #if defined USE_MONEY
- new moneyn;
- moneyn = GetPlayerMoney(playerid);
- if(s_changes_money[playerid] != moneyn) CallLocalFunction("OnPlayerMoneyChange", "iii", playerid, s_changes_money[playerid], moneyn);
- s_changes_money[playerid] = moneyn;
- #endif
- #if defined USE_SCORE
- new scoren;
- scoren = GetPlayerScore(playerid);
- if(s_changes_score[playerid] != scoren) CallLocalFunction("OnPlayerScoreChange", "iii", playerid, s_changes_score[playerid], scoren);
- s_changes_score[playerid] = scoren;
- #endif
- #if defined USE_PING
- new pingn;
- pingn = GetPlayerPing(playerid);
- if(s_changes_ping[playerid] != pingn) CallLocalFunction("OnPlayerPingChange", "iii", playerid, s_changes_ping[playerid], pingn);
- s_changes_ping[playerid] = pingn;
- #endif
- #if defined USE_NAME
- new namen[MAX_PLAYER_NAME+1];
- GetPlayerName(playerid, namen, sizeof(namen));
- if(strcmp(s_changes_name[playerid], namen, false) != 0) CallLocalFunction("OnPlayerNameChange", "iss", playerid, s_changes_name[playerid], namen);
- s_changes_name[playerid] = namen;
- #endif
- #if defined USE_FPS
- if(s_changes_checked[playerid] > gettime()) return 1;
- new fpsn;
- fpsn = 150 - GetPlayerDrunkLevel(playerid);
- if(s_changes_fps[playerid] != fpsn) CallLocalFunction("OnPlayerFPSChange", "iii", playerid, s_changes_fps[playerid], fpsn);
- s_changes_fps[playerid] = fpsn;
- #endif
- #if defined USE_POS
- new Float:posn[3];
- GetPlayerPos(playerid, posn[0], posn[1], posn[2]);
- 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]);
- s_changes_pos[playerid][0] = posn[0];
- s_changes_pos[playerid][1] = posn[1];
- s_changes_pos[playerid][2] = posn[2];
- #endif
- #if defined USE_SPEED
- new Float:vsn[3];
- if(IsPlayerInAnyVehicle(playerid))
- {
- new vid = GetPlayerVehicleID(playerid);
- GetVehicleVelocity(vid, vsn[0], vsn[1], vsn[2]);
- 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]);
- s_changes_vs[playerid][0] = vsn[0];
- s_changes_vs[playerid][1] = vsn[1];
- s_changes_vs[playerid][2] = vsn[2];
- return 1;
- }
- new Float:psn[3];
- GetPlayerVelocity(playerid, psn[0], psn[1], psn[2]);
- 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]);
- s_changes_ps[playerid][0] = psn[0];
- s_changes_ps[playerid][1] = psn[1];
- s_changes_ps[playerid][2] = psn[2];
- #endif
- #if defined USE_CONNECTED
- new connectedn;
- foreach(new i : Player)
- {
- connectedn++;
- }
- if(connectedn != s_changes_connected) CallLocalFunction("OnServerConnectedPlayersChange", "ii", s_changes_connected, connectedn);
- s_changes_connected = connectedn;
- #endif
- #if defined USE_ANIMATIONS
- new animations[2][32];
- GetAnimationName(GetPlayerAnimationIndex(playerid), animations[0], 32, animations[1], 32);
- 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]);
- s_changes_animation[playerid][0] = animations[0];
- s_changes_animation[playerid][1] = animations[1];
- #endif
- return 1;
- }
- forward OnPlayerAmmoChange(playerid, olda, newa, weapona);
- forward OnPlayerWeaponChange(playerid, oldw, neww);
- forward OnPlayerHealthChange(playerid, Float:oldh, Float:newh);
- forward OnPlayerArmourChange(playerid, Float:olda, Float:newa);
- forward OnServerConnectedPlayersChange(old, newc);
- forward OnPlayerPosChange(playerid, Float:oldx, Float:newx, Float:oldy, Float:newy, Float:oldz, Float:newz);
- forward OnPlayerMoneyChange(playerid, oldm, newm);
- forward OnPlayerSpeedChange(playerid, Float:oldsx, Float:newsx, Float:oldsy, Float:newsy, Float:oldsz, Float:newsz);
- forward OnPlayerVehicleSpeedChange(playerid, vehicleid, Float:oldsx, Float:newsx, Float:oldsy, Float:newsy, Float:oldsz, Float:newsz);
- forward OnPlayerAnimationChange(playerid, oldal[], newal[], oldan[], newan[]);
- forward OnPlayerScoreChange(playerid, olds, news);
- forward OnPlayerPingChange(playerid, oldp, newp);
- forward OnPlayerNameChange(playerid, oldn[], newn[]);
- forward OnPlayerFPSChange(playerid, oldfps, newfps);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement