PDA

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



Kenny_Dalglish
29.05.2014, 09:21
Привет, всем случилось такая проблема -
http://www.youtube.com/watch?v=4FZDZLJEm-w&feature=youtu.be
Сама команда:


CMD:unban(playerid, params[])
{
new mysql_strinjik[400];
if(PlayerInfo[playerid][pAdmin] < 3) return true;
if(sscanf(params, "s[128]s[128]", params[0], params[1])) return SendClientMessage(playerid,COLOR_GREY228,"Используйте: /unban [Имя игрока][Причина разбана]");
format(mysql_strinjik, sizeof(mysql_strinjik), "SELECT * FROM `BanIP` WHERE `Name` = '%s'", params[0]);
mysql_function_query(MYSQL_ARG, mysql_strinjik, true, "UnBan", "dss",playerid,params[0],params[1]);
return true;
}

Колэбек:


forward UnBan(playerid,UnbanNick[], reason[]);
public UnBan(playerid,UnbanNick[], reason[])
{
new rows, fields,stringer[144],mysql_string228[128];
cache_get_data(rows, fields);
if(!rows)
{
format(mysql_string228, sizeof(mysql_string228), "[ MySql ] Аккаунт %s не найден в базе данных.",UnbanNick);
SendClientMessage(playerid, COLOR_GREY, mysql_string228);
}
format(mysql_string228, sizeof(mysql_string228), "DELETE FROM `BanIP` WHERE `Name` = '%s'", UnbanNick);
mysql_function_query(MYSQL_ARG, mysql_string228, false, "", "");
format(stringer, sizeof(stringer), "[ MySql ] Аккаунт %s успешно разбанен",UnbanNick);
SendClientMessage(playerid, COLOR_GREY, stringer);
format(stringer, sizeof(stringer), "[UNBAN] {FFFFFF}Администратор {FF6347}%s {FFFFFF}разбанил {FF6347}%s. Причина: %s",PlayerInfo[playerid][pName],UnbanNick, reason);
SendAdminMessage(COLOR_ADMCHAT, stringer);
return true;
}

DeimoS
29.05.2014, 15:01
А возврат в условии Папа Римский должен ставить?


if(!rows)
{
format(mysql_string228, sizeof(mysql_string228), " [MySql] Аккаунт %s не найден в базе данных.",UnbanNick);
SendClientMessage(playerid, COLOR_GREY, mysql_string228);
return 1;
}
Почитайте (http://pro-pawn.ru/showthread.php?6662-%D0%9E%D0%BF%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80-%D0%B2%D0%BE%D0%B7%D0%B2%D1%80%D0%B0%D1%82%D0%B0-%28return%29). Я ведь не для себя старался

Kenny_Dalglish
29.05.2014, 15:29
А возврат в условии Папа Римский должен ставить?


if(!rows)
{
format(mysql_string228, sizeof(mysql_string228), " [MySql] Аккаунт %s не найден в базе данных.",UnbanNick);
SendClientMessage(playerid, COLOR_GREY, mysql_string228);
return 1;
}
Почитайте (http://pro-pawn.ru/showthread.php?6662-%D0%9E%D0%BF%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80-%D0%B2%D0%BE%D0%B7%D0%B2%D1%80%D0%B0%D1%82%D0%B0-%28return%29). Я ведь не для себя старался
Возврат, я бы поставил дело не в этом. Почему ник/причина багаеться?

DeimoS
29.05.2014, 15:40
Пробуйте

CMD:unban(playerid, params[])
{
if(PlayerInfo[playerid][pAdmin] < 3) return true;
if(sscanf(params, "s[128]s[128]", params[0], params[1])) return SendClientMessage(playerid,COLOR_GREY228,"Используйте: /unban [Имя игрока][Причина разбана]");
new mysql_strinjik[41+MAX_PLAYER_NAME];
format(mysql_strinjik, sizeof(mysql_strinjik), "SELECT * FROM `BanIP` WHERE `Name` = '%s'", params[0]);
mysql_function_query(MYSQL_ARG, mysql_strinjik, true, "UnBan", "dss", playerid, params[0], params[1]);
return true;
}

forward UnBan(playerid, UnbanNick[], reason[]);
public UnBan(playerid, UnbanNick[], reason[])
{
new rows,
fields,
mysql_string228[81+(MAX_PLAYER_NAME*2)+128];

cache_get_data(rows, fields);
if(!rows)
{
format(mysql_string228, sizeof(mysql_string228), "[ MySql ] Аккаунт %s не найден в базе данных.",UnbanNick);
return SendClientMessage(playerid, COLOR_GREY, mysql_string228);
}

format(mysql_string228, sizeof(mysql_string228), "DELETE FROM `BanIP` WHERE `Name` = '%s'", UnbanNick);
mysql_function_query(MYSQL_ARG, mysql_string228, false, "", "");

format(mysql_string228, sizeof(mysql_string228), "[ MySql ] Аккаунт %s успешно разбанен",UnbanNick);
SendClientMessage(playerid, COLOR_GREY, mysql_string228);

format(mysql_string228, sizeof(mysql_string228), "[UNBAN] {FFFFFF}Администратор {FF6347}%s {FFFFFF}разбанил {FF6347}%s. Причина: %s", PlayerInfo[playerid][pName], UnbanNick, reason);
SendAdminMessage(COLOR_ADMCHAT, mysql_string228);
return true;
}

Kenny_Dalglish
29.05.2014, 15:45
Пробуйте

CMD:unban(playerid, params[])
{
if(PlayerInfo[playerid][pAdmin] < 3) return true;
if(sscanf(params, "s[128]s[128]", params[0], params[1])) return SendClientMessage(playerid,COLOR_GREY228,"Используйте: /unban [Имя игрока][Причина разбана]");
new mysql_strinjik[41+MAX_PLAYER_NAME];
format(mysql_strinjik, sizeof(mysql_strinjik), "SELECT * FROM `BanIP` WHERE `Name` = '%s'", params[0]);
mysql_function_query(MYSQL_ARG, mysql_strinjik, true, "UnBan", "dss", playerid, params[0], params[1]);
return true;
}

forward UnBan(playerid, UnbanNick[], reason[]);
public UnBan(playerid, UnbanNick[], reason[])
{
new rows,
fields,
mysql_string228[81+(MAX_PLAYER_NAME*2)+128];

cache_get_data(rows, fields);
if(!rows)
{
format(mysql_string228, sizeof(mysql_string228), "[ MySql ] Аккаунт %s не найден в базе данных.",UnbanNick);
return SendClientMessage(playerid, COLOR_GREY, mysql_string228);
}

format(mysql_string228, sizeof(mysql_string228), "DELETE FROM `BanIP` WHERE `Name` = '%s'", UnbanNick);
mysql_function_query(MYSQL_ARG, mysql_string228, false, "", "");

format(mysql_string228, sizeof(mysql_string228), "[ MySql ] Аккаунт %s успешно разбанен",UnbanNick);
SendClientMessage(playerid, COLOR_GREY, mysql_string228);

format(mysql_string228, sizeof(mysql_string228), "[UNBAN] {FFFFFF}Администратор {FF6347}%s {FFFFFF}разбанил {FF6347}%s. Причина: %s", PlayerInfo[playerid][pName], UnbanNick, reason);
SendAdminMessage(COLOR_ADMCHAT, mysql_string228);
return true;
}

Пробувал добавить s[128]s[128] в команду не помогло все так же.)

DeimoS
29.05.2014, 15:47
Пробувал добавить s[128]s[128] в команду не помогло все так же.)

Мой код проверили?

Kenny_Dalglish
29.05.2014, 15:49
Мой код проверили?

Да, все так же..

DeimoS
29.05.2014, 15:49
Логи после того, как ник заглючит

CMD:unban(playerid, params[])
{
if(PlayerInfo[playerid][pAdmin] < 3) return true;
if(sscanf(params, "s[128]s[128]", params[0], params[1])) return SendClientMessage(playerid,COLOR_GREY228,"Используйте: /unban [Имя игрока][Причина разбана]");
printf("\nunban: \"%s\" | \"%s\"", params[0], params[1]);
new mysql_strinjik[41+MAX_PLAYER_NAME];
format(mysql_strinjik, sizeof(mysql_strinjik), "SELECT * FROM `BanIP` WHERE `Name` = '%s'", params[0]);
mysql_function_query(MYSQL_ARG, mysql_strinjik, true, "UnBan", "dss", playerid, params[0], params[1]);
return true;
}

forward UnBan(playerid, UnbanNick[], reason[]);
public UnBan(playerid, UnbanNick[], reason[])
{
printf("\nUnBan: \"%s\" | \"%s\"", UnbanNick, reason);
new rows,
fields,
mysql_string228[81+(MAX_PLAYER_NAME*2)+128];

cache_get_data(rows, fields);
if(!rows)
{
format(mysql_string228, sizeof(mysql_string228), "[ MySql ] Аккаунт %s не найден в базе данных.",UnbanNick);
return SendClientMessage(playerid, COLOR_GREY, mysql_string228);
}

format(mysql_string228, sizeof(mysql_string228), "DELETE FROM `BanIP` WHERE `Name` = '%s'", UnbanNick);
mysql_function_query(MYSQL_ARG, mysql_string228, false, "", "");

format(mysql_string228, sizeof(mysql_string228), "[ MySql ] Аккаунт %s успешно разбанен",UnbanNick);
SendClientMessage(playerid, COLOR_GREY, mysql_string228);

format(mysql_string228, sizeof(mysql_string228), "[UNBAN] {FFFFFF}Администратор {FF6347}%s {FFFFFF}разбанил {FF6347}%s. Причина: %s", PlayerInfo[playerid][pName], UnbanNick, reason);
SendAdminMessage(COLOR_ADMCHAT, mysql_string228);
return true;
}

Kenny_Dalglish
29.05.2014, 15:53
Логи после того, как ник заглючит

CMD:unban(playerid, params[])
{
if(PlayerInfo[playerid][pAdmin] < 3) return true;
if(sscanf(params, "s[128]s[128]", params[0], params[1])) return SendClientMessage(playerid,COLOR_GREY228,"Используйте: /unban [Имя игрока][Причина разбана]");
printf("\nunban: \"%s\" | \"%s\"", params[0], params[1]);
new mysql_strinjik[41+MAX_PLAYER_NAME];
format(mysql_strinjik, sizeof(mysql_strinjik), "SELECT * FROM `BanIP` WHERE `Name` = '%s'", params[0]);
mysql_function_query(MYSQL_ARG, mysql_strinjik, true, "UnBan", "dss", playerid, params[0], params[1]);
return true;
}

forward UnBan(playerid, UnbanNick[], reason[]);
public UnBan(playerid, UnbanNick[], reason[])
{
printf("\nUnBan: \"%s\" | \"%s\"", UnbanNick, reason);
new rows,
fields,
mysql_string228[81+(MAX_PLAYER_NAME*2)+128];

cache_get_data(rows, fields);
if(!rows)
{
format(mysql_string228, sizeof(mysql_string228), "[ MySql ] Аккаунт %s не найден в базе данных.",UnbanNick);
return SendClientMessage(playerid, COLOR_GREY, mysql_string228);
}

format(mysql_string228, sizeof(mysql_string228), "DELETE FROM `BanIP` WHERE `Name` = '%s'", UnbanNick);
mysql_function_query(MYSQL_ARG, mysql_string228, false, "", "");

format(mysql_string228, sizeof(mysql_string228), "[ MySql ] Аккаунт %s успешно разбанен",UnbanNick);
SendClientMessage(playerid, COLOR_GREY, mysql_string228);

format(mysql_string228, sizeof(mysql_string228), "[UNBAN] {FFFFFF}Администратор {FF6347}%s {FFFFFF}разбанил {FF6347}%s. Причина: %s", PlayerInfo[playerid][pName], UnbanNick, reason);
SendAdminMessage(COLOR_ADMCHAT, mysql_string228);
return true;
}


[14:52:10]
unban: "K1" | "1"
[14:52:10]
UnBan: "K1" | "1"

DeimoS
29.05.2014, 16:08
CMD:unban(playerid, params[])
{
if(PlayerInfo[playerid][pAdmin] < 3) return true;
if(sscanf(params, "s[128]s[128]", params[1], params[2])) return SendClientMessage(playerid,COLOR_GREY228,"Используйте: /unban [Имя игрока][Причина разбана]");
new mysql_strinjik[41+MAX_PLAYER_NAME];
format(mysql_strinjik, sizeof(mysql_strinjik), "SELECT * FROM `BanIP` WHERE `Name` = '%s'", params[1]);
mysql_function_query(MYSQL_ARG, mysql_strinjik, true, "UnBan", "dss", playerid, params[1], params[2]);
return true;
}
или так

CMD:unban(playerid, params[])
{
if(PlayerInfo[playerid][pAdmin] < 3) return true;
new l_ban_name[MAX_PLAYER_NAME], l_ban_reason[129];
if(sscanf(params, "s[24]s[128]", l_ban_name, l_ban_reason)) return SendClientMessage(playerid,COLOR_GREY228,"Используйте: /unban [Имя игрока][Причина разбана]");
new mysql_strinjik[41+MAX_PLAYER_NAME];
format(mysql_strinjik, sizeof(mysql_strinjik), "SELECT * FROM `BanIP` WHERE `Name` = '%s'", l_ban_name);
mysql_function_query(MYSQL_ARG, mysql_strinjik, true, "UnBan", "dss", playerid, l_ban_name, l_ban_reason);
return true;
}

Kenny_Dalglish
29.05.2014, 16:17
CMD:unban(playerid, params[])
{
if(PlayerInfo[playerid][pAdmin] < 3) return true;
if(sscanf(params, "s[128]s[128]", params[1], params[2])) return SendClientMessage(playerid,COLOR_GREY228,"Используйте: /unban [Имя игрока][Причина разбана]");
new mysql_strinjik[41+MAX_PLAYER_NAME];
format(mysql_strinjik, sizeof(mysql_strinjik), "SELECT * FROM `BanIP` WHERE `Name` = '%s'", params[1]);
mysql_function_query(MYSQL_ARG, mysql_strinjik, true, "UnBan", "dss", playerid, params[1], params[2]);
return true;
}
или так

CMD:unban(playerid, params[])
{
if(PlayerInfo[playerid][pAdmin] < 3) return true;
new l_ban_name[MAX_PLAYER_NAME], l_ban_reason[129];
if(sscanf(params, "s[24]s[128]", l_ban_name, l_ban_reason)) return SendClientMessage(playerid,COLOR_GREY228,"Используйте: /unban [Имя игрока][Причина разбана]");
new mysql_strinjik[41+MAX_PLAYER_NAME];
format(mysql_strinjik, sizeof(mysql_strinjik), "SELECT * FROM `BanIP` WHERE `Name` = '%s'", l_ban_name);
mysql_function_query(MYSQL_ARG, mysql_strinjik, true, "UnBan", "dss", playerid, l_ban_name, l_ban_reason);
return true;
}

Все так же...

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

2 вариант проверил, работает спасибо тему можно закрывать.