if(strcmp(cmd, "/offlineadmins", true) == 0)
{
if(PlayerInfo[playerid][pAdmin] <= 3) return SendClientMessage(playerid, COLOR_GREY, "Вам недоступна данная комманда");
mysql_query("SELECT * FROM `Admins`");
mysql_store_result();
new nickadmin[32];
new lvladmin[1];
new Namea;
new result[1024];
new lvl;
if(mysql_fetch_row(result))
{
mysql_get_field("Namea", nickadmin);
mysql_get_field("lvl", lvladmin);
format(string,64,"%s %d",nickadmin, lvladmin);
SendClientMessage(playerid,-1,string);
}
mysql_free_result();
return 1;
}
for(new i = 1; i <= mysql_num_rows(); i++)
{
if(mysql_fetch_row(result))
{
mysql_get_field("Namea", nickadmin);
mysql_get_field("lvl", lvladmin);
format(string,64,"%s %d",nickadmin, lvladmin);
SendClientMessage(playerid,-1,string);
}
}
if(strcmp(cmd, "/getip", true) == 0)
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_WHITE, "Введите: /getip [Ник]");
mysql_query("SELECT * FROM `Player` WHERE `Nick` = '%s'",(strlen(tmp)));
mysql_store_result();
new nickk[32],pipp[15],pipregg[15],lipp[15];
new query[256];
if (mysql_num_rows() > 0)
{
mysql_fetch_row(query),
sscanf(query, "p<|>s[32]s[15]s[15]s[15]",
nickk,
pipp,
pipregg,
lipp);
format(string, sizeof(string), "- Ник: %s | [IP: %s] | R: [IP: %s] | L: [IP: %s]",nickk,pipp,pipregg,lipp);
SendClientMessage(playerid,COLOR_BLUE,string);
}
else
{
SendClientMessage(playerid,COLOR_BLUE,"Ошибка");
return 1;
}
mysql_free_result();
return true;
}
+-------------------+-----------------+-----------------+-----------------+ | Nick | pIp | pIpReg | LIp | +-------------------+-----------------+-----------------+-----------------+ | Admin_tipo | 127.0.0.1 | 127.0.0.1 | 127.0.0.1 | | Mike_Tayler | 127.0.0.1 | 127.0.0.1 | 127.0.0.1 | | Misha_Demidov | 127.0.0.1 | 127.0.0.1 | 127.0.0.1 | +-------------------+-----------------+-----------------+-----------------+
|
Преобразовать IP в INT можно так: https://sampforum.blast.hk/showthread.php?tid=374358
|
public OnPlayerLogin(playerid,password[])
{
new Query[1024];
format(Query,sizeof(Query),"UPDATE `Player` SET `pIp`='%s' WHERE (`Nick`='%s');",playersip,sendername);
mysql_query(Query);
mysql_free_result();
if(PlayerInfo[playerid][pReg] == 0)
{
new Query[1024];
format(Query,sizeof(Query),"REPLACE INTO `Player` (`Nick`,`pIp`,`pIpReg`,`LIp`) VALUES ('%s','%s','%s','%s');",sendername,playersip,playersip,playersip);
mysql_query(Query);
mysql_free_result();
}
}
stock EncodeIP(ip[], size=sizeof(ip))
{
new val=0, acc=0, s=3;
for(new i=0; i < size; i++)
{
switch(ip[i])
{
case '.', '\0':
{
val += acc << (s*8);
acc = 0;
if ((s--) == 0 || ip[i] == '\0') break;
}
case '0'..'9':
{
acc = (acc * 10) + (ip[i] - '0');
}
case '*': continue;
default: printf("WARNING: unknown character #%d in ip address '%s': %c", ip[i], ip, ip[i]);
}
}
return val;
}
stock DecodeIP(value)
{
new ip[16];
format(ip,sizeof(ip),"%i.%i.%i.%i",(value >> 24) & 0x000000FF,(value >> 16) & 0x000000FF,(value >> 8) & 0x000000FF,(value) & 0x000000FF);
return ip;
}
new ip_str[16] = DecodeIP(134744072); // вернёт строку 8.8.8.8
new ip_int = EncodeIP("8.8.8.8"); // вернёт число 134744072
if(strcmp(cmd, "/getip", true) == 0)
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_WHITE, "Введите: /getip [Ник]");
mysql_query("SELECT * FROM `Player` WHERE `Nick` = '%s'",(strlen(tmp)));
mysql_store_result();
new nickk[32],pipp,pipregg,lipp;
new query[256];
if (mysql_num_rows() > 0)
{
mysql_fetch_row(query),
sscanf(query, "p<|>s[32]ddd",
nickk,
pipp,
pipregg,
lipp);
format(string, sizeof(string), "- Ник: %s | [IP: %s] | R: [IP: %s] | L: [IP: %s]",nickk,DecodeIP(pipp),DecodeIP(pipregg),DecodeIP(lipp));
SendClientMessage(playerid,COLOR_BLUE,string);
}
else
{
format(string, sizeof(string), "Ошибка! Строк %d,",mysql_num_rows());
SendClientMessage(playerid,COLOR_BLUE,string);
}
mysql_free_result();
return true;
}
mysql_query("SELECT * FROM `Player` WHERE `Nick` = '%s'",(strlen(tmp)));
отметил). Теперь всё работает.