Доступ к архиву

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

AFK система

Статус
В этой теме нельзя размещать новые ответы.

Green_Beer

Новичок
Удобная АФК система
Ко всем new:
PHP:
new plafk[MAX_PLAYERS];
В паблик OnPlayerSpawn:
PHP:
plafk[playerid] = 0;
В паблик OnPlayerConnect:
PHP:
plafk[playerid] = -2;
В паблик OnPlayerDeath:
PHP:
plafk[playerid] = -2;
В паблик OnPlayerUpdate:
При выходе из АФК игроку будет писать его время АФК
PHP:
if(plafk[playerid] > -2) 
{ 
if(plafk[playerid] > 0) 
{ 
new string[128]; 
format(string,sizeof(string),"Время вашего АФК: %s",ConvertSeconds(plafk[playerid])); 
SendClientMessage(playerid, COLOR_ORANGE, string); 
SetPlayerChatBubble(playerid, "АФК: завершено", COLOR_WHITE, 10.0, 1); 
} 
plafk[playerid] = 0; 
}
В паблик OnGameModeInit:
PHP:
SetTimer("AFKSystem", 1000, 1);
В конец мода:
PHP:
forward AFKSystem(); 
public AFKSystem() 
{ 
for(new playerid;playerid < MAX_PLAYERS;playerid++) 
{ 
if(IsPlayerConnected(playerid)) 
{ 
if(plafk[playerid] == 0) plafk[playerid] -= 1; 
else if(plafk[playerid] == -1) 
{ 
plafk[playerid] = 1; 
new string[128]; 
format(string, sizeof(string), "АФК: %s", ConvertSeconds(plafk[playerid])); 
SetPlayerChatBubble(playerid, string, COLOR_WHITE, 10.0, 70000000); 
} 
else if(plafk[playerid] > 0) 
{ 
new string[255]; 
plafk[playerid] += 1; 
format(string, sizeof(string), "АФК: %s", ConvertSeconds(plafk[playerid])); 
SetPlayerChatBubble(playerid, string, COLOR_WHITE, 10.0, 70000000); 
} 
} 
} 
}
Тоже в конец мода, отвечает за время:
PHP:
stock ConvertSeconds(time) 
{ 
new string[128]; 
if(time < 60) format(string, sizeof(string), "%d секунд", time); 
else if(time == 60) string = "1 минуту"; 
else if(time > 60 && time < 3600) 
{ 
new Float: minutes; 
new seconds; 
minutes = time / 60; 
seconds = time % 60; 
format(string, sizeof(string), "%.0f минут и %d секунд", minutes, seconds); 
} 
else if(time == 3600) string = "1 час"; 
else if(time > 3600) 
{ 
new Float: hours; 
new minutes_int; 
new Float: minutes; 
new seconds; 
hours = time / 3600; 
minutes_int = time % 3600; 
minutes = minutes_int / 60; 
seconds = minutes_int % 60; 
format(string, sizeof(string), "%.0f:%.0f:%d", hours, minutes, seconds); 
} 
return string; 
}
АФК:

P.S. у меня цвет Gold
От + не откажусь!!!
Автор Splav
 
Последнее редактирование модератором:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу