Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_samp>
- #include <callbacks>
- new
- Float:gHEALTH_HP[MAX_PLAYERS],
- Float:gHEALTH_AR[MAX_PLAYERS];
- stock HEALTH_SetPlayerHealth(playerid, Float:health)
- {
- SetPlayerHealth(playerid, health);
- gHEALTH_HP[playerid] = health;
- return 1;
- }
- #if defined _ALS_SetPlayerHealth
- #undef SetPlayerHealth
- #else
- #define _ALS_SetPlayerHealth
- #endif
- #define SetPlayerHealth HEALTH_SetPlayerHealth
- stock HEALTH_SetPlayerArmour(playerid, Float:armour)
- {
- SetPlayerArmour(playerid, armour);
- gHEALTH_AR[playerid] = armour;
- return 1;
- }
- #if defined _ALS_SetPlayerArmour
- #undef SetPlayerArmour
- #else
- #define _ALS_SetPlayerArmour
- #endif
- #define SetPlayerArmour HEALTH_SetPlayerArmour
- stock HEALTH_GetPlayerHealth(playerid, &Float:health)
- {
- health = gHEALTH_HP[playerid];
- return 1;
- }
- #if defined _ALS_GetPlayerHealth
- #undef GetPlayerHealth
- #else
- #define _ALS_GetPlayerHealth
- #endif
- #define GetPlayerHealth HEALTH_GetPlayerHealth
- stock HEALTH_GetPlayerArmour(playerid, &Float:armour)
- {
- armour = gHEALTH_AR[playerid];
- return 1;
- }
- #if defined _ALS_GetPlayerArmour
- #undef GetPlayerArmour
- #else
- #define _ALS_GetPlayerArmour
- #endif
- #define GetPlayerArmour HEALTH_GetPlayerArmour
- public OnPlayerTakeDamage(playerid, issuerid, Float:amount, weaponid, bodypart)
- {
- #if defined HEALTH_OnPlayerTakeDamage
- return HEALTH_OnPlayerTakeDamage(playerid, issuerid, Float:amount, weaponid, bodypart);
- #else
- if(gHEALTH_AR[playerid] >= amount) gHEALTH_AR[playerid] -= amount;
- else gHEALTH_AR[playerid] = 0.0;
- if(gHEALTH_HP[playerid] < amount) gHEALTH_HP[playerid] = 0.0, CallRemoteFunction("OnPlayerDeath", "iii", playerid, issuerid, weaponid);
- else gHEALTH_HP[playerid] -= amount;
- return 1;
- #endif
- }
- #if defined _ALS_OnPlayerTakeDamage
- #undef OnPlayerTakeDamage
- #else
- #define _ALS_OnPlayerTakeDamage
- #endif
- #define OnPlayerTakeDamage HEALTH_OnPlayerTakeDamage
- #if defined HEALTH_OnPlayerTakeDamage
- forward HEALTH_OnPlayerTakeDamage(playerid, issuerid, Float:amount, weaponid, bodypart);
- #endif
- public OnPlayerFall(playerid, Float:height, Float:damage)
- {
- #if defined HEALTH_OnPlayerFall
- return HEALTH_OnPlayerFall(playerid, Float:height, Float:damage);
- #else
- if(gHEALTH_HP[playerid] >= damage) gHEALTH_HP[playerid] -= damage;
- else gHEALTH_HP[playerid] = 0.0, CallRemoteFunction("OnPlayerDeath", "iii", playerid, INVALID_PLAYER_ID, 54);
- return 1;
- #endif
- }
- #if defined _ALS_OnPlayerFall
- #undef OnPlayerFall
- #else
- #define _ALS_OnPlayerFal
- #endif
- #define OnPlayerFall HEALTH_OnPlayerFall
- #if defined HEALTH_OnPlayerFall
- forward HEALTH_OnPlayerFall(playerid, Float:height, Float:damage);
- #endif
Advertisement
Add Comment
Please, Sign In to add comment