| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120 |
- /********************************************
- * OnPlayerVehicleDamage! V1.0 *
- * Credits: wups *
- ********************************************/
- // include
- #include <a_samp>
- // defines
- #if defined OPVD_INC
- #endinput
- #endif
- #define OPVD_INC
- forward OnPlayerVehicleDamage(playerid,vehicleid,Float:Damage);
- static
- Float:OPVD_VehHealth[MAX_VEHICLES] = {1000.0, 1000.0,...},
- bool:OPVD_VehUpd[MAX_VEHICLES]={false,false,...},
- bool:OPVD_OPUP,
- bool:OPVD_OPSC;
-
-
- public OnPlayerUpdate(playerid)
- {
- static PL_VehID;
- PL_VehID = GetPlayerVehicleID(playerid);
- if(PL_VehID)
- {
- static Float:PL_VehHP;
- GetVehicleHealth(PL_VehID,PL_VehHP);
- if(OPVD_VehUpd[PL_VehID])
- OPVD_VehUpd[PL_VehID]=false;
- else
- {
- if(PL_VehHP != OPVD_VehHealth[PL_VehID] && GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
- CallLocalFunction("OnPlayerVehicleDamage","iif",playerid,PL_VehID,(OPVD_VehHealth[PL_VehID]-PL_VehHP));
- }
- OPVD_VehHealth[PL_VehID]=PL_VehHP;
- }
-
- return (OPVD_OPUP)?CallLocalFunction("OPVD_OnPlayerUpdate","i",playerid):1;
- }
- #if defined _ALS_OnPlayerUpdate
- #undef OnPlayerUpdate
- #else
- #define _ALS_OnPlayerUpdate
- #endif
- #define OnPlayerUpdate OPVD_OnPlayerUpdate
- forward OPVD_OnPlayerUpdate(playerid);
- // OnPlayerStateChange
- public OnPlayerStateChange(playerid, newstate, oldstate)
- {
- if(newstate == PLAYER_STATE_DRIVER)
- OPVD_VehUpd[GetPlayerVehicleID(playerid)]=true;
- return (OPVD_OPSC)?CallLocalFunction("OPVD_OnPlayerStateChange","iii",playerid,newstate,oldstate):1;
- }
- #if defined _ALS_OnPlayerStateChange
- #undef OnPlayerStateChange
- #else
- #define _ALS_OnPlayerStateChange
- #endif
- #define OnPlayerStateChange OPVD_OnPlayerStateChange
- forward OPVD_OnPlayerStateChange(playerid,newstate, oldstate);
- forward OPVD_SetVehicleHealth(vehicleid,Float:health);
- public OPVD_SetVehicleHealth(vehicleid,Float:health)
- {
- OPVD_VehUpd[vehicleid]=true;
- return SetVehicleHealth(vehicleid, health);
- }
- forward OPVD_RepairVehicle(vehicleid);
- public OPVD_RepairVehicle(vehicleid)
- {
- OPVD_VehUpd[vehicleid]=true;
- return RepairVehicle(vehicleid);
- }
- #define RepairVehicle OPVD_RepairVehicle
- #define SetVehicleHealth OPVD_SetVehicleHealth
- #if defined FILTERSCRIPT
- // OnFilterScriptInit
- public OnFilterScriptInit()
- {
- OPVD_OPUP = (funcidx("OPVD_OnPlayerUpdate") != -1);
- OPVD_OPSC = (funcidx("OPVD_OnPlayerStateChange") != -1);
- return (funcidx("OPVD_OnFilterScriptInit") != -1)?CallLocalFunction("OPVD_OnFilterScriptInit",""):1;
- }
- #if defined _ALS_OnFilterScriptInit
- #undef OnFilterScriptInit
- #else
- #define _ALS_OnFilterScriptInit
- #endif
- #define OnFilterScriptInit OPVD_OnFilterScriptInit
- forward OPVD_OnFilterScriptInit();
- #else
- // OnGameModeInit
- public OnGameModeInit()
- {
- OPVD_OPUP = (funcidx("OPVD_OnPlayerUpdate") != -1);
- OPVD_OPSC = (funcidx("OPVD_OnPlayerStateChange") != -1);
- return (funcidx("OPVD_OnGameModeInit") != -1)?CallLocalFunction("OPVD_OnGameModeInit",""):1;
- }
- #if defined _ALS_OnGameModeInit
- #undef OnGameModeInit
- #else
- #define _ALS_OnGameModeInit
- #endif
- #define OnGameModeInit OPVD_OnGameModeInit
- forward OPVD_OnGameModeInit();
- #endif
- // end
|