Quote:
Originally Posted by leonardo1434
Cуdigo feito, Alйm disso vem com um mini tutorial. e tambйm os crйditos especiais.
pawn Код:
new tempo[MAX_PLAYERS]; // topo do gm
public OnGameModeInit() { SetTimerEx( "afk", 1000, true, "i", playerid );// isso daqui diz que й para executar a funзгo afk a cada 1 segundo. }
forward afk(playerid); public afk(playerid) { tempo[playerid] = gettime() + (600); // Isto irб criar um timer para o playerid, ou seja para cada jogador. new Float:x,Float:y,Float:z,Float:posicao[3]; // aqui sгo as vars que serгo armazenadas... GetPlayerPos(playerid,x,y,z); // Aqui pega e salvar a posiзгo do jogador no momento que o timer foi ativado. if(tempo[playerid] <= gettime()) // Ao final do timer, irб executar essa funзгo { GetPlayerPos(playerid,posicao[0],posicao[1],posicao[2]); // Aqui pega denovo a posiзгo do jogador if (posicao[0] == x && posicao[1] == y && posicao[2] == z) // Aqui faz um comparaзгo das posiзхes, da posiзгo que foi salva lб encima, com estб posiзгo apуs o timer ter acabado, Se for igual irб executar a funзгo abaixo, kickando o jogador. { Kick(playerid); } } }
Crйditos:
Paulor - Aprendi com ele a usar o getimer.
|
Cara, vai dar 'Indefinido simbolo: playerid' no OnGameModeInit. Coloque o timer no OnPlayerConnect!
E pra nгo dar bugs armazene o ID do SetTimer e quando o Player sair de KillTimer.
@Edit
Nгo vai funcionar isso meu caro!