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
![]() |