if(PlayerInfo[playerid][Registrado] > 2)//Variable que se pondra 1 al registrarse y el > es mayor 2 de counts maximos
Kick(playerid);//El jugador sera kickeado al entra y verificar que tendra mas de 2 Counts de la misma IP
GetStampIP(playerid);//Extraer la IP
stock GetStampIP(playerid)
{
new S_IP[16];
Join_Stamp=GetTickCount();
GetPlayerIp(playerid,S_IP,16);
format(ban_s, 16, "%s", S_IP);
}
//Obviamente no creo que con la variable detenga el registro de mas de 2 cuentas del mismo IP ademas es solo un ejemplo
//necesitaria hacer un GetCount de IP
//Aca el dialogo al registrarse
if(udb_Create(PlayerName2(playerid),inputtext))
{
new guardar[20], year,month,day; getdate(year, month, day);
GetPlayerName(playerid,name,sizeof(name)); format(file,sizeof(file),"/Registros/%s.sav",udb_encode(name));
GetPlayerIp(playerid,tmp3,100); dini_Set(file,"ip",tmp3);
dUserSetINT(PlayerName2(playerid)).("registrado",1);
format(guardar, sizeof(guardar), "%d/%d/%d",day,month,year);
dini_Set(file,"RegisteredDate",guardar);
dUserSetINT(PlayerName2(playerid)).("Logueo",1);
dUserSetINT(PlayerName2(playerid)).("Admin",0);
dUserSetINT(PlayerName2(playerid)).("Kits",0);
dUserSetINT(PlayerName2(playerid)).("Galletas",0);
dUserSetINT(PlayerName2(playerid)).("Dinero",0);
dUserSetINT(PlayerName2(playerid)).("Exp",0);
dUserSetINT(PlayerName2(playerid)).("kills",0);
dUserSetINT(PlayerName2(playerid)).("Muertes",0);
PlayerInfo[playerid][Logueado] = 1;
PlayerInfo[playerid][Registrado] = 1;
GameTextPlayer(i,"~g~Registrado",3000,3);
GuardarInfo(playerid);
return 1;
}
enum IPinfo
{
Iip[32],
Iusado
};
new IPInfo[500][IPinfo];
CargarIPS()
{
new arrCoords[26][64];
new strFromFile2[256];
new File: file = fopen("cargarips.cfg", io_read);
if (file)
{
new ips;
while (ips < 500) // cambia esto por las ips que quieras que sea el limite
{
fread(file, strFromFile2);
splits(strFromFile2, arrCoords, '|');
strmid(IPInfo[ips][Iip], arrCoords[0], 0, strlen(arrCoords[0]), 128);
IPInfo[ips][Iusado] = strval(arrCoords[1]);
ips++;
}
print("IP's Cargadas.");
fclose(file);
}
return 1;
}
GuardarIPS()
{
new szFileStr[512],
File: fHandle = fopen("cargarips.cfg", io_write);
for(new ips; ips < 500; ips++)
{
format(szFileStr, sizeof(szFileStr), "%s|%d\r\n",
IPInfo[ips][Iip],
IPInfo[ips][Iusado]);
fwrite(fHandle, szFileStr);
}
return fclose(fHandle);
}
stock GetStampIP(playerid)
{
new S_IP[16],ban_s[32];
GetPlayerIp(playerid,S_IP,16);
format(ban_s, 16, "%s", S_IP);
for(new ips; ips < 500; ips++)
{
if(strcmp(IPInfo[ips][Iip], ban_s, true) == 0)
{
if(IPInfo[ips][Iusado] > 2) Kick(playerid);
return 1;
}
else if(IPInfo[ips][Iip] == 0)
{
format(IPInfo[ips][Iip], 16, "%s", S_IP);
break;
}
}
return 1;
}
|
Vale cualquier cosas aqui estamos, otra cosa... No te desanimes por personas que dicen que esta mal algo o simplemente no sirve tu haz lo que tengas que hacer y hazlo bien olvida las demas personas tu sabes bien que estas haciendo, nos vemos
![]() |