Итак. В моем прошлом мануале нашелся баг, и я решил полностью переписать. Эта версия создает минимальную нагрузку т.к код я оптимизировал.
Начнем!
1) В начало мода:
Code
new SnowObject[MAX_PLAYERS], snowtimer[MAX_PLAYERS];
2) В конец мода:
Code
forward UpdateSnow(playerid);
public UpdateSnow(playerid)
{
if(GetPlayerInterior(playerid) != 0 && GetPVarInt(playerid, "SnowBool") == 1)
{
DestroyObject(SnowObject[playerid]);
return SetPVarInt(playerid, "SnowBool", 0);
}
if(GetPlayerInterior(playerid) == 0 && GetPVarInt(playerid, "SnowBool") == 0)
{
CreateObject(18864, 0, 0, -30, 0, 0, 0);
SetPVarInt(playerid, "SnowBool", 1);
}
if(GetPlayerInterior(playerid) != 0) return 1;
new Float:pX, Float:pY, Float:pZ;
GetPlayerPos(playerid, pX, pY, pZ);
SetObjectPos(SnowObject[playerid], pX, pY, pZ+5);
return 1;
}
3) Распихать по пабликам:
Code
public OnPlayerConnect(playerid)
{
snowtimer[playerid] = SetTimerEx("UpdateSnow", 2000, 1, "i", playerid);
SnowObject[playerid] = CreateObject(18864, 0, 0, -30, 0, 0, 0), SetPVarInt(playerid, "SnowBool", 1);
}
public OnPlayerDisconnect(playerid, reason)
{
DestroyObject(SnowObject[playerid]), KillTimer(snowtimer[playerid]);
}
Автор: 7Zip