AdvanceGamer
Ученик
Сделал систему бана. Команда бана: /ban работает. Заносит в таблицу данные, кикает игрока. Но.
В общем смотрите:
Паблик OnPlayerConnect:
Сток CheckBan:
Сток CheckBanIp:
Проблема заключается в том что при коннекте сразу авторизация! Проверку на бан обходит стороной. Что сделать? Помогите! +сом не обижу! =)
Так же в mysql логе ошибок нет.
В общем смотрите:
Паблик OnPlayerConnect:
PHP:
public OnPlayerConnect(playerid)
{
GetPlayerName(playerid, PlayerInfo[playerid][pName], MAX_PLAYER_NAME);
mysql_real_escape_string(PlayerInfo[playerid][pName], PlayerInfo[playerid][pName]);
new string[256];
format(string, sizeof(string), "SELECT * FROM `Banlist` WHERE `Name` = '%s'", PlayerInfo[playerid][pName]);
mysql_function_query(connectionHandle, string, true, "CheckBan", "d", playerid);
new Ip[16];
GetPlayerIp(playerid, Ip, 16);
format(string, sizeof(string), "SELECT * FROM `Banlist` WHERE `BanIp` = '%s'", Ip);
mysql_function_query(connectionHandle, string, true, "CheckBanIp", "d", playerid);
format(string, sizeof(string),"SELECT `Name` FROM `Accounts` WHERE `Name` = '%s'", PlayerInfo[playerid][pName]);
mysql_function_query(connectionHandle, string, true, "OnPlayerRegCheck", "d", playerid);
PlayerInfo[playerid][pAdmin] = 0;
PlayerInfo[playerid][Kills] = 0;
PlayerInfo[playerid][Deaths] = 0;
logged[playerid] = 0;
DMZone[playerid] = 0;
AFKTime[playerid] = 0;
return 1;
}
PHP:
stock CheckBan(i)
{
new rows, fields;
cache_get_data(rows, fields);
if(rows)
{
new reason[128], adminname[24], string[512];
cache_get_field_content(0, "Reason", reason);
cache_get_field_content(0, "AdminName", adminname);
format(string, sizeof(string), "{E84141}Аккаунт забанен!\nЗабанил: %s\nПричина: %s\nИспользуйте '/q' чтобы выйти.", adminname, reason);
ShowPlayerDialog(playerid, 0, DIALOG_STYLE_MSGBOX, "{BA3434}Забанены", string, "Ок", "");
Kick(i);
return 1;
}
return 1;
}
PHP:
stock CheckBanIp(i)
{
new rows, fields;
cache_get_data(rows, fields);
if(rows)
{
ShowPlayerDialog(playerid, 0, DIALOG_STYLE_MSGBOX, "{BA3434}Забанены", "{E84141}Данный IP адрес заблокирован\nИспользуйте '/q' чтобы выйти.", "Ок", "");
Kick(i);
return 1;
}
return 1;
}
Так же в mysql логе ошибок нет.
Последнее редактирование:
