if((!strcmp(Info[playerid][IP], Info[giveplayerid][IP])) // No funciona, devuelve 0/1. { } if(Info[playerid][IP] == Info[giveplayerid][IP] // Funciona a ratos. { }
Revisar entre 2 IP, algo estilo: CheckPlayersIP(id1, id2) y devuelve 1 - 0. CheckPlayerIPs(id) { new IP[2][16], ips; GetPlayerIp(playerid, IP[0], 16); for(new i; i<GetMaxPlayers(); i++) { if(IsPlayerConnected(i)) { GetPlayerIp(i, IP[1], 16); if(!strcmp(IP[0], IP[1]))ips++; } } if(ips > 2)Kick(id); // Este cуdigo seria obtener la IP de un usuario y compararla con el resto de conectados, pero lo que intento es que se obtengan 2 ID's y sean comparados. Pero el cуdigo creado por mi al principio no funciona. }
enum PlayerData { ..., IP[16], ... }; new Info[MAX_PLAYERS][PlayerData]; //Obtener la IP del jugador al conectarse o en algъn momento GetPlayerIp(playerid, Info[playerid][IP], 16); //Comprobar si la IP de playerX es igual a la IP de playerY if(!strcmp(Info[playerX][IP],Info[playerY][IP],false)) { //PlayerX y PlayerY tienen la misma IP! }
Код:
... if(!strcmp(Info[playerX][IP],Info[playerY][IP],false)) { //PlayerX y PlayerY tienen la misma IP! } |
if(strcmp(Info[playerid][IP], Info[giveplayerid][IP], true) == 0)
new PlayersIP[MAX_PLAYERS] = { 0, ... };
public OnPlayerConnect(playerid)
{
new ip[16];
GetPlayerIp(playerid, ip, sizeof(ip));
PlayersIP[playerid] = ip2long(ip);
}
CheckPlayerIP(playerid)
{
new ips = 0;
new max = GetMaxPlayers();
for(new i = 0; i < max; i++)
{
if(IsPlayerConnected(i))
{
if(PlayersIP[playerid] == PlayersIP[i])
ips++;
}
}
return ips;
}