24.09.2013, 20:05
Contando e punindo jogadores de ESC.
pawn Код:
#include <a_samp>
public OnFilterScriptInit()
{
SetTimer("ContandoTempoEsc", 1000, true);
return 1;
}
forward ContandoTempoEsc();
public ContandoTempoEsc() {
for(new playerid; playerid <= GetMaxPlayers(); playerid++) {
if(IsPlayerConnected(playerid)) {
if(gettime() - GetPVarInt(playerid, "TempoEsc") > 5) { //Vendo se o jogador estб de esc por mais de 5 segundos
new MinEsc = gettime() - GetPVarInt(playerid, "TempoEsc");
if(MinEsc >= 60) //Se for mais de 60 segundos transformar a variavel em minutos
MinEsc = (MinEsc / 60); // Aqui vai transformar de segundos para minutos
if(MinEsc >= 5)
KickEx(playerid, "5 minutos de esc");
}
}
}
return 1;
}
public OnPlayerUpdate(playerid)
{
SetPVarInt(playerid, "TempoEsc", gettime());
return 1;
}
public OnPlayerConnect(playerid) {
SetPVarInt(playerid, "TempoEsc", gettime() + 10); //Detectado problema de 'kickar' no login.
return 1;
}
stock KickEx(playerid, NicK[]) {
new Msg[144];
format(Msg, sizeof(Msg), "{ff0000}Vocк foi kickado pelo motivo: {ffffff}%s{ff0000}.", NicK);
SendClientMessage(playerid, -1, Msg);
SetTimerEx("Kickar", 150, false, "d", playerid);
return 1;
}
forward Kickar(playerid);
public Kickar(playerid) return Kick(playerid);