15.10.2016, 06:53
When I understood your system then you should make it like this:
PHP код:
//under the includes:
new RadiationPlayer[MAX_PLAYERS],RadiationTimer[MAX_PLAYERS];
//your callback
public OnPlayerEnterDynamicArea(playerid, areaid) {
for (new zone=0; zone<MAX_ZONES; zone++) {
if (areaid==zones[zone]) {
new msg[90];
format(msg, 90, "Welcome to %s", zones_text[zone]);
SendClientMessage(playerid, 0xFFFFFFFF, msg);
RadiationTimer[playerid] = SetTimerEx("OnPlayerRadiationSystem",1000,1,"ii",playerid,areaid);
}
}
return 1;
}
//callback for the timer
forward OnPlayerRadiationSystem(playerid,areaid);
public OnPlayerRadiationSystem(playerid,areaid)
{
if(IsPlayerInDynamicArea(playerid,areaid))
{
RadiationPlayer[playerid] += 10;
if(RadiationPlayer[playerid] == 100)
{
SetPlayerHealth(playerid,0.0);
SendClientMessage(playerid,-1,"Your Radiation is on 100! You die!");
return 1;
}
new string[50];
format(string,sizeof string,"RADIATION: + 10 (current: %d)",RadiationPlayer[playerid]);
SendClientMessage(playerid,-1,string);
}
return 1;
}
//your callback
public OnPlayerLeaveDynamicArea(playerid, areaid) {
for (new zone=0; zone<MAX_ZONES; zone++) {
if (areaid==zones[zone]) {
new msg[90];
format(msg, 90, "Goodbye from %s", zones_text[zone]);
SendClientMessage(playerid, 0xFFFFFFFF, msg);
KillTimer(RadiationTimer[playerid]);
}
}
return 1;
}