SA-MP Forums Archive
[Duda]: Max counts por IP - 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: [Duda]: Max counts por IP (/showthread.php?tid=533038)



[Duda]: Max counts por IP - PolloLoko - 22.08.2014

Bueno estaba definiendo en mi sistema de registro un Maximo de cuentas por IP
osea que solo se puedan registrar 2 cuentas maximas por IP

Pero no me salio, no sй si alguno me pueda dar alguna forma la que yo usaba en el Conncet y en el dialogo era asн

Maso menos

pawn Код:
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;
}
Espero una idea


Respuesta: [Duda]: Max counts por IP - [J]ulian - 22.08.2014

No pierdas tiempo haciendolo, hoy dнa creo que muy pocos tienen IP fija. Reinician router y ya se saltan la restricciуn.


Respuesta: [Duda]: Max counts por IP - jurgen - 22.08.2014

que son galletas?


Respuesta: [Duda]: Max counts por IP - dindong1 - 22.08.2014

Pon esto arriba en del gamemode:

Код:
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);
}
En ongamemodeinit pon "CargarIPS();"

el guardar ips puedes ponerlo en un timer de 1 hora para que no te de lag

Esto iria en onplayerconnect "GetStampIP(playerid);"
Aqui la funcion:
Код:
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;
}
Si te falta algo o hay un bug o no entiendes algo avisame por pm o aqui para que lo vean todos y nos ayudemos entre todos


Re: [Duda]: Max counts por IP - Zodiaco - 22.08.2014

Si no me equivoco en la carpeta del samp cuando te lo descargas hay un archivo llamado maxip.pwn solo metelo en tu gm.


Respuesta: [Duda]: Max counts por IP - PolloLoko - 22.08.2014

Julian - tienes razуn en sн con eso

Jurgen - galletas son al estilo minecraft donde puedes obtener cosas en una tienda como galletas y mas cosas
osea para que el dinero sea util y comprar comida

dindong1 Gracias por el cargador de IPS seguro me servira como base para acoplar aunque me desanime poco por lo de Julian porque es verdad pero de algo servira ya que el FTP se me llena de cuentas la ultima vez tenia 30.000
pero por otro lado ya habia creado un limite de IPS en el sv, en otras palabras limite que mas de 2 playeres con el mismo IP no puedan entrar al SV.

- Zodiaco gracias pero lo que me dices no viene al tema se de ese FS pero solo es un MaxIP y se pueden crear mejores ese solo es un BETA, en mi caso limito users por IP, pero gracias a todos


PD: me referia a maximos registros por IP, en fin seguro ya lo averiguare gracias hommies.


Respuesta: [Duda]: Max counts por IP - dindong1 - 22.08.2014

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


Respuesta: [Duda]: Max counts por IP - [J]ulian - 22.08.2014

Quote:
Originally Posted by dindong1
Посмотреть сообщение
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
Sуlo le aconsejamos. Es perder el tiempo hacer algo que es fбcil de "vulnerar".