27.01.2015, 17:19
No creo que sea lo mejor, al desconectarse un jugador en medio segundo aсade la IP del servidor a la "lista negra"?, aсade la IP del localhost. No creo que sea lo mejor aъn aсadiйndo la IP del que se desconectу, no lo dejarнa entrar si crasheу o algo semejante por que lo banea la IP. Se me ocurriу algo como esto:
o
El segundo comprobarнa si se conectу con la misma IP tomando el mismo ID del que se desconectу anteriormente y desconctу y conectу en menos de 2 segundos.
El primero harнa lo mismo pero en un tйrmino global.
pawn Код:
new LeaveTime,
LeaveIP[32];
public OnPlayerConnect(playerid)
{
if ((GetTickCount() - LeaveTime) < 2000 && !strcmp(ReturnIP(playerid), LeaveIP))
{
Kick(playerid);
return 1;
}
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
LeaveTime = GetTickCount();
format(LeaveIP, 16, ReturnIP(playerid));
return 1;
}
ReturnIP(playerid)
{
new
ip[32];
GetPlayerIp(playerid, ip, sizeof(ip));
return ip;
}
pawn Код:
new LeaveTime[MAX_PLAYERS],
LeaveIP[MAX_PLAYERS][32];
public OnPlayerConnect(playerid)
{
if ((GetTickCount() - LeaveTime[playerid]) < 2000 && !strcmp(ReturnIP(playerid), LeaveIP[playerid]))
{
Kick(playerid);
return 1;
}
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
LeaveTime[playerid] = GetTickCount();
format(LeaveIP[playerid], 16, ReturnIP(playerid));
return 1;
}
ReturnIP(playerid)
{
new
ip[32];
GetPlayerIp(playerid, ip, sizeof(ip));
return ip;
}
El primero harнa lo mismo pero en un tйrmino global.