The whole code is an example. (This include is about detect when a player use Pay'n'Spray to repair vehicle):
PHP код:
hook OnPlayerUpdate(playerid)
{
if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
{
for(new i = sizeof(PayNSprayPos) - 1; i >= 0; i--)
{
if(IsPlayerInRangeOfPoint(playerid, 3.3, PayNSprayPos[i][0], PayNSprayPos[i][1], PayNSprayPos[i][2]) && GetPlayerMoney(playerid) >= 100)
{
static
Float:x,
Float:y,
Float:z;
GetPlayerPos(playerid, x, y, z);
if(p_A_Flood[playerid] < gettime())
p_Timer[playerid] = SetTimerEx("Ji_Timer_PNS", 100, true, "iifff", playerid, GetPlayerVehicleID(playerid), x, y, z);
}
}
}
}
forward Ji_Timer_PNS(playerid, vehicleid, Float:x, Float:y, Float:z);
public Ji_Timer_PNS(playerid, vehicleid, Float:x, Float:y, Float:z)
{
static
Float:Pos[3],
Float:vHP;
GetVehicleHealth(vehicleid, vHP);
GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
if(x == Pos[0] && y == Pos[1] && z == Pos[2])
{
if(p_A_Flood[playerid] > gettime())
return 1;
new a = v_Color1[vehicleid] ? -1 : random(255),
b = v_Color2[vehicleid] ? -1 : random(255);
p_A_Flood[playerid] = gettime() + TEMPS_MOYEN;
p_Timer[playerid] = 0;
KillTimer(p_Timer[playerid]);
if(!v_Color1[vehicleid] && !v_Color2[vehicleid])
{
ChangeVehicleColor(vehicleid, a, b);
}
vHP = 1000.0 - vHP;
CallLocalFunction("Ji_OnCarResprayAtPNS", "iiiif", playerid, GetPlayerVehicleID(playerid), a, b, vHP <= 0.00 ? 0.00 : vHP);
}
return 1;
}
forward Ji_OnCarResprayAtPNS(playerid, vehicleid, color1, color2, Float:hp_recovered);
In your gamemode where there is your include:
PHP код:
public Ji_OnCarResprayAtPNS(playerid, vehicleid, color1, color2, Float:hp_recovered)
{
AdminWarn("[DEBUG] playerid: %i, vehicleid: %i, color1: %i, color2: %i, hp_recovered: %0.3f", playerid, vehicleid, color1, color2, hp_recovered);
if(hp_recovered > 280.0)
{
foreach(new i : Player)
{
if(i == playerid || !IsPlayerInAnyVehicle(i))
continue;
if(GetPlayerVehicleID(i) == vehicleid)
{
SCM(i, 0xff00ffff, "[REPARATION] {e699ff}Your have to pay 100$ too.");
GivePlayerMoney(i, -100);
}
}
}
return 1;
}