03.11.2012, 02:57
This is how I did mine, meant especially for players who are not paused (just standing there getting killed or maybe raksamp bot lol). It works for paused or tabbed players too btw.
PHP Code:
#include <a_samp>
#include <YSI\y_timers>
new ppaused[MAX_PLAYERS];
ptask setafk[145000](playerid)
{
ppaused[playerid] = 1;
defer afktest(playerid);
}
timer afktest[20000](playerid)
{
if(ppaused[playerid] == 1)
{
SendClientMessage(playerid, 0xFFFF00D4, "WARNING: You have not pressed any key for 20 seconds!");
SendClientMessage(playerid, 0xFFFF00D4, "You have 2 minutes to press any key or you will be kicked for AFK!");
defer afktest2(playerid);
}
}
timer afktest2[120000](playerid)
{
new string[196], pname[MAX_PLAYER_NAME];
if (ppaused[playerid] == 1)
{
GetPlayerName(playerid, pname, sizeof(pname));
SendClientMessage(playerid, 0xFF0037BE, "You have been kicked for being paused for too long!");
SendClientMessage(playerid, 0xFF0037BE, "Come back when you want to play!");
format (string, sizeof(string), "{FF0000}%s {FF7D7D}Has Been Automatically Kicked, {FF0000}Reason: {FF7D7D}AFK.", pname);
SendClientMessageToAll(0xFF0037BE,string);
ppaused[playerid] = 0;
Kick(playerid);
}
}
public OnPlayerConnect(playerid)
{
ppaused[playerid] = 0;
return 1;
}
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
ppaused[playerid] = 0;
return 1;
}