PDA

Просмотр полной версии : [CMD] /agetip



Dima_Tushin
30.01.2017, 22:39
Здравствуйте, уважаемые пользователи Pro-Pawn сделал команду для Администраторов /agetip [ip] - данная команда ищет в базе данных ip адрес если он совпал то он выдает все игровые аккаунты и их ip адреса с которых данный аккаунт заходил и их игровой лвл можно изменить под себя решать и дерзать вам.
В простой командный процессор:


if(strcmp(cmd, "/agetip", true) == 0)
{
cmd = strtok(cmdtext, idx);
if(!strlen(cmd)) return SendClientMessage(playerid, COLOR_WHITE, "[Введите]: /agetip [ip адрес]");
format(mysql_logs, sizeof(mysql_logs), "SELECT * FROM "MYSQL_AKK" WHERE `pIp` = '%s'", cmd);
mysql_function_query(MYSQL, mysql_logs, true, "OnPlayerAgetIP", "is", playerid, cmd);
return 1;
}
"MYSQL_AKK" - это ваша база аккаунтов
Теперь самый конец мода или где у вас все public'e'


forward OnPlayerAgetIP(playerid, const ip[]);
public OnPlayerAgetIP(playerid, const ip[])
{
new r, d, maximum[16];
cache_get_data(r, d);
if(r)//Нашел
{
for(new i = 0; i < r; i++)
{
new string[190];
new level = cache_get_field_content_int(i, "pLevel");
cache_get_field_content(i, "pName", maximum), strmid(PlayerInfo[i][pName], maximum, 0, strlen(maximum), 20);
cache_get_field_content(i, "pIp", maximum), strmid(PlayerInfo[i][pIp], maximum, 0, strlen(maximum), 20);
cache_get_field_content(i, "pLastIP", maximum), strmid(PlayerInfo[i][pLastIP], maximum, 0, strlen(maximum), 20);
cache_get_field_content(i, "pRegIp", maximum), strmid(PlayerInfo[i][pRegIp], maximum, 0, strlen(maximum), 20);
format(string, sizeof(string), "%s\t[LastIP: %s]\t[pRegIP: %s]\t[pIp: %s]\t[Level: %d]\n", PlayerInfo[i][pName], PlayerInfo[i][pLastIP], PlayerInfo[i][pRegIp], PlayerInfo[i][pIp], level);
SendClientMessage(playerid, COLOR_BLUE, string);
}
}
else
{
SendClientMessage(playerid, COLOR_WHITE, "Неверно введен IP Адрес");
return 1;
}
return 1;
}
Так же предоставлю скриншот то что получилось.
http://ihost.pro-pawn.ru/image.php?di=7EG4

- - - Добавлено - - -

Добавлю еще можно проверить при назначение игрока например на пост администратора или лидера логи если у игрока Варны или Баны... и сколько было...

Код со временем будит улучшаться и оптимизироваться

ziggi
30.01.2017, 23:47
Привет SQL инъекциям? Или в mysql_function_query присутствуют какие-то проверки?

Seviel
31.01.2017, 01:07
Может вместо обычного format-а использовать mysql_format?

DeimoS
31.01.2017, 01:29
Сейчас и обычный format поддерживает спецификатор "%e"

$continue$
31.01.2017, 02:02
Че ито? Как перекопал куча говнокода РЛС, аш на другом языке заговорил.

ащкьфе

Long-
31.01.2017, 02:44
Че ито? Как перекопал куча говнокода РЛС, аш на другом языке заговорил.

format ито, случайно не переключил транслит, что докапываться то)
За деимоса и двор стреляю в упор:triniti::pardon: