Como hacer esto... - Printable Version
+- SA-MP Forums Archive (
https://sampforum.blast.hk)
+-- Forum: Non-English (
https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (
https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Español/Spanish (
https://sampforum.blast.hk/forumdisplay.php?fid=29)
+---- Thread: Como hacer esto... (
/showthread.php?tid=271123)
Como hacer esto... -
TiNcH010 - 23.07.2011
Hola, bueno tengo el FS de Anti-Afk de GROVE4L (muy bueno) y anda perfecto. Pero yo tengo como 10 bots en el server que estan quietos y otros moviendose. A los que no estan quietos no les pasa nada, pero a los que estan quietos los kickea este FS.. mi pregunta es.. que agrego para "no kickear" a los bots? xD
Aca el FS:
pawn Код:
#include <a_samp>
#define COLOR_ROJO 0xAA3333AA
#define TIEMPO 240000 // 4 Minutos en Milisegundos
forward AFK(playerid);
forward Fuera(playerid);
new Float:Posiciones[MAX_PLAYERS][6];
new TAFK[MAX_PLAYERS];
new TFuera[MAX_PLAYERS];
new EstaAFK[MAX_PLAYERS] = 0;
public OnPlayerDisconnect(playerid, reason)
{
KillTimer(TAFK[playerid]);
KillTimer(TFuera[playerid]);
return 1;
}
public OnPlayerSpawn(playerid)
{
KillTimer(TAFK[playerid]);
KillTimer(TFuera[playerid]);
TAFK[playerid] = SetTimerEx("AFK", TIEMPO, 1, "i", playerid);
return 1;
}
public AFK(playerid)
{
GetPlayerPos(playerid, Posiciones[playerid][0], Posiciones[playerid][1], Posiciones[playerid][2]);
if(Posiciones[playerid][0] == Posiciones[playerid][3] && Posiciones[playerid][1] == Posiciones[playerid][4] && Posiciones[playerid][2] == Posiciones[playerid][5])
{
if(EstaAFK[playerid] == 0)
{
new string[256];
new nombre[MAX_PLAYER_NAME];
GetPlayerName(playerid, nombre, sizeof(nombre));
format(string, sizeof(string), "[LS-RP] %s fue expulsado del servidor. Razon: AFK", nombre);
SendClientMessageToAll(COLOR_ROJO, string);
Kick(playerid);
return 1;
}
else
{
Posiciones[playerid][3] = Posiciones[playerid][0];
Posiciones[playerid][4] = Posiciones[playerid][1];
Posiciones[playerid][5] = Posiciones[playerid][2];
KillTimer(TAFK[playerid]);
TAFK[playerid] = SetTimerEx("AFK", TIEMPO, 1, "i", playerid);
return 1;
}
}
else
{
Posiciones[playerid][3] = Posiciones[playerid][0];
Posiciones[playerid][4] = Posiciones[playerid][1];
Posiciones[playerid][5] = Posiciones[playerid][2];
KillTimer(TAFK[playerid]);
TAFK[playerid] = SetTimerEx("AFK", TIEMPO, 1, "i", playerid);
return 1;
}
}
public Fuera(playerid)
{
EstaAFK[playerid] = 0;
return 1;
}
public OnPlayerText(playerid, text[])
{
if(EstaAFK[playerid] == 0)
{
TFuera[playerid] = SetTimerEx("Fuera", 60000, 1, "i", playerid);
EstaAFK[playerid] = 1;
return 1;
}
else if(EstaAFK[playerid] == 1)
{
KillTimer(TFuera[playerid]);
TFuera[playerid] = SetTimerEx("Fuera", 60000, 1, "i", playerid);
EstaAFK[playerid] = 1;
return 1;
}
return 0;
}
// By GROVE4L
IsPlayerNPC(playerid)
Saludos
Respuesta: Como hacer esto... -
TheChaoz - 23.07.2011
pawn Код:
public OnPlayerSpawn(playerid)
{
if(IsPlayerNPC(playerid))return 1;
KillTimer(TAFK[playerid]);
KillTimer(TFuera[playerid]);
TAFK[playerid] = SetTimerEx("AFK", TIEMPO, 1, "i", playerid);
return 1;
}
PD: si ya tenes la respuesta xq no "jugas" con el codigo, aprendes mucho mas.
Respuesta: Como hacer esto... -
TiNcH010 - 25.07.2011
Gracias xD
Lo voy a probar

Saludos