//lie now
new global_string[128];
CMD:somecmd(playerid,params[])
{
format(global_string......);
}
CMD:somecmd(playerid,params[])
{
format(global_string......);
}
CMD:somecmd(playerid,params[])
{
format(global_string......);
}
CMD:somecmd(playerid,params[])
{
format(global_string......);
}
//like before
CMD:somecmd(playerid,params[])
{
new string[128];
format(string......);
}
CMD:somecmd(playerid,params[])
{
new string[128];
format(string......);
}
CMD:somecmd(playerid,params[])
{
new string[128];
format(string......);
}
CMD:somecmd(playerid,params[])
{
new string[128];
format(string......);
}
SetTimer("Anticheat", 1000, true);
SetTimer("ServerVaribles", 1000, true);
SetTimer("ServerWanted", 1000, true);
SetTimer("ServerMessages", 120000, true);
public OnPlayerUpdate(playerid)
{
for(new i = 0; i < sizeof(SpikeData); i++)
{
if(IsVehicleCloseSpike(playerid, GetPlayerVehicleID(playerid), 3.2))
{
new panels, doors, lights, tires;
GetVehicleDamageStatus(GetPlayerVehicleID(playerid), panels, doors, lights, tires);
UpdateVehicleDamageStatus(GetPlayerVehicleID(playerid), panels, doors, lights, 15);
}
}
return true;
}
CMD:somecmd(playerid,params[])
{
new string[128];
format(string......);
}
TIMERS
ONPLAYERUPDATE pawn Код:
|
Looks like thats your problem, your server is more or less doing an infinite loop. If i was you I'd find a better way of doing that. "IsVehicleCloseSpike" probably has a loop too (and range check maybe) so your embedding loops in a callback that gets called many times per second - per player..
|
stock IsVehicleCloseSpike(playerid, vehicleid, Float:range)
{
new Float:vX, Float:vY, Float:vZ;
GetVehiclePos(vehicleid, vX, vY, vZ);
for(new i = 0; i < sizeof(SpikeData); i++)
{
if(IsPlayerInRangeOfPoint(playerid, range, SpikeData[i][SpikeX], SpikeData[i][SpikeY], SpikeData[i][SpikeZ])
&& IsPlayerInRangeOfPoint(playerid, range, vX, vY, vZ) && IsPlayerInAnyVehicle(playerid))
{
if(SpikeData[i][SpikeCreated] == 1)
{
return true;
}
}
}
return false;
}
for(new i = 0; i < sizeof(SpikeData); i++)
{
if(IsVehicleCloseSpike(i, GetPlayerVehicleID(playerid), 3.2))
{
new panels, doors, lights, tires;
GetVehicleDamageStatus(GetPlayerVehicleID(i), panels, doors, lights, tires);
UpdateVehicleDamageStatus(GetPlayerVehicleID(i), panels, doors, lights, 15);
}
}
//Onplayerupdate
for(new i = 0; i < sizeof(SpikeData); i++)
{
if(IsPlayerInRangeOfPoint(playerid, 3.2, SpikeData[i][SpikeX], SpikeData[i][SpikeY], SpikeData[i][SpikeZ])
&& IsPlayerInAnyVehicle(playerid))
{
if(SpikeData[i][SpikeCreated] == 1)
{
new panels, doors, lights, tires;
GetVehicleDamageStatus(GetPlayerVehicleID(playerid), panels, doors, lights, tires);
UpdateVehicleDamageStatus(GetPlayerVehicleID(playerid), panels, doors, lights, 15);
}
}
}