[Ajuda] sistema de kick apos ficar afk por um tempo
#1

eu quero que o kra seja kikado depois de que ele fique 30 min afk, como faзo?

Quote:

public FicarAFK(playerid)
{
if(PlayerToPoint(0.8, playerid, AfkX, AfkY, AfkZ))
{
AFK[playerid]=1;
SetPlayerVirtualWorld(playerid, 1);
SetCameraBehindPlayer(playerid);
TogglePlayerControllable(playerid,0);

TextDrawShowForPlayer(playerid,AfkText);
TextDrawShowForPlayer(playerid,AfkBackText);

new string[256];
format(string, sizeof(string), "%s (%d) estб afk(/afk)", Nome(playerid), playerid);
ProxDetector(100.0, playerid, string,COLOR_RED,COLOR_RED,COLOR_RED,COLOR_RED,COL OR_RED);
return 1;
}
else
{
AFK[playerid] = 0;
SendClientMessage(playerid,COLOR_RED,"Voce nao esta mais no local onde digitou o comando.");
return 1;
}
}

Reply
#2

Acho que ta funcionando nгo testei , estou pelo celular . mais qualquer erro pode avisar .

PHP код:
#define TEMPO_AFK            Coloque o Tempo aqui 
Coloque junto as suas new

PHP код:
new Float:Posicoes[MAX_PLAYERS][6];
new 
TAFK[MAX_PLAYERS]; 
Na Public OnPlayerConnect

PHP код:
TAFK[playerid] = 0
No fim do Gamemode

PHP код:
GetPlayerPos(iPosicoes[i][0], Posicoes[i][1], Posicoes[i][2]);
if(
Posicoes[i][0] == Posicoes[i][3] && Posicoes[i][1] == Posicoes[i][4] && Posicoes[i][2] == Posicoes[i][5])
{
    
    
TAFK[i] += 1;
    if(
TAFK[i] >= TEMPO_AFK)
    {
        
        
TAFK[i] = 0;
        
SendClientMessage(iCOR_NEGATIVO"Vocк foi kikado por estar parado muito tempo!");
        
Kick(i);
    }
}
else
{
    
    
Posicoes[i][3] = Posicoes[i][0];
    
Posicoes[i][4] = Posicoes[i][1];
    
Posicoes[i][5] = Posicoes[i][2];
    
TAFK[i] = 0;

Adapte ao seu gamemode . Espero ter ajudado .
Reply
#3

Quote:

Adapte ao seu gamemode . Espero ter ajudado .

bom amigo, deu um erro.

Код:
pwn(3924) : error 021: symbol already defined: "GetPlayerPos"
pwn(3925) : error 010: invalid function or declaration
pwn(3928) : error 010: invalid function or declaration
pwn(3929) : error 010: invalid function or declaration
pwn(3932) : error 010: invalid function or declaration
pwn(3937) : error 010: invalid function or declaration
pwn(3940) : error 010: invalid function or declaration
pwn(78521) : warning 203: symbol is never used: "Posicoes"
Reply
#4

dei uma editada no que ele lhe passou. Tente ae (Qualquer coisa pode da o REP a ele)

Код:
#define TEMPO_AFK       1800000
Coloque junto as suas new

Код:
new AFK[MAX_PLAYERS];
Em Public OnPlayerConnect

Код:
AFK[i]= 0;
No fim do Gamemode

Код:
new Float:X,Float:Y,Float:Z;
GetPlayerPos(playerid, X, Y, Z);
if(playerid, X, Y, Z)
{
	AFK(playerid) += 1;
	if(AFK(playerid) >= TEMPO_AFK)
	{
		
		AFK(playerid) = 0;
		SendClientMessage(playerid, 0xFF0000AA, "Vocк Foi Kickado por ficar AFK por muito tempo!");
		Kick(i);
	}
}
else
{
	AFK[i] = 0;
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)