Перейти к содержанию
Авторизация  
Bruno

Не сохраняется система банов

Рекомендуемые сообщения

Bruno

В моде Your game RP не сохраняются баны,то есть выдаешь бан,а игрок просто перезаходит и ему высвечивается авторизация,помогите исправить!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Bruno

Ну помогите исправить ошибку

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Smolin

@Bruno, кидайте команду бана.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Rici

Коды в студию

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Bruno

@Smolin,

COMMAND:ban(playerid, params[])
{
    new years, months, days;
if(!IsPlayerConnected(playerid)) return false;
if(Player[playerid][pAdmin] < 3) return false;
if(PanelLogged[playerid] == false) return SCM(playerid, COLOR_GRAD1, "{FFFFFF}Вы не авторизованы.");
    new ip[32], data[32], unbandate;
    if(sscanf(params, "dds", params[0], params[1], params[2])) return SCM(playerid, COLOR_WHITE, "Используйте: /ban [id игрока] [кол-во дней] [причина]");
if(!IsPlayerConnected(params[0])) return SCM(playerid, COLOR_GRAD1, "Игрок Offline.");
if(params[1] > 14 || params[1] < 1) return SCM(playerid, COLOR_GRAD1, "Используйте от 1 до 14 дней.");
GetPlayerIp(params[0], ip, 32);
if(Player[params[0]][pAdmin] > Player[playerid][pAdmin]) return SCM(playerid, COLOR_GRAD1, "Вы не можете наказать администратора, старшего вас по рангу!");
format(strcom, 100, "%s %s заблокировал %s на %d дней. Причина: %s", GetAdminRang(Player[playerid][pAdmin]), Player[playerid][pName], Player[params[0]][pName], params[1], params[2]);
SendClientMessageToAll(COLOR_LIGHTRED, strcom), Log("Bans", strcom);
  getdate(years, months, days);
unbandate = gettime() + params[1]*86400;


format(data, 32, "%02d.%02d.%04d", days, months, years);
format(Query, sizeof(Query), "INSERT INTO bans (name, whobanned, ip, bandate, time, unbandate, reason) VALUES ('%s', '%s','%s', '%s', %d, %d, '%s')", Player[params[0]][pName], Player[playerid][pName], ip, data, params[1], unbandate, params[2]);
mysql_function_query(handle, Query, false, "","");


format(strcom, 1000, "Здравствуйте, %s!\nВаш аккаунт только что заблокировали на сервере Fantastic World RolePlay!\
\nВас заблокировал администратор %s по причине: %s.\nКоличество дней: %d\
\n\n\n\tС уважением, администрация проекта.", Player[params[0]][pName], Player[playerid][pName], params[2], params[1]);
SendMail(Player[params[0]][pMail], "[email protected]", "Fantastic World RolePlay", "Fantastic World RolePlay | Ban", strcom);


    SCM(params[0], COLOR_WHITE, "В следующий раз не нарушайте правила сервера."), Kick(params[0]);
    WarnAdmin[playerid]++;
return true;} 
forward CheckBanList(playerid);
public CheckBanList(playerid)
{
new unbandate, bool:ban, ip[32], UBDay, UBMSec, UBHour, UBMin, UBSec;
GetPlayerIp(playerid, ip, 32);


new rows,fields;
cache_get_data(rows, fields);
if(rows)
{
MYSQL_GetInt(5, unbandate);
if(unbandate - gettime() > 0) ban = true;
}


if(ban == true)
{
convert((unbandate-gettime())*1000,UBMin,UBSec,UBMSec);
UBHour = UBMin/60;
UBMin = UBMin%60;
UBDay = UBHour/24;
UBHour = UBHour%24;


new data[16], whobanned[32], reason[32];
MYSQL_GetString(3, data, "bandate");
MYSQL_GetInt(5, unbandate);
MYSQL_GetString(1, whobanned, "whobanned");
MYSQL_GetString(6, reason, "reason");


format(strcom, 384, "{ff4f00}Дата блокировки:{ffffff} %s\n\
{ff4f00}Дата разблокировки через:{ffffff} %d дней\n\
{ff4f00}Заблокировал:{ffffff} %s\n\
{ff4f00}Причина блокировки: {ffffff}%s\n\
",data, UBDay+1, whobanned, reason);


SPD(playerid, 711, DIALOG_STYLE_MSGBOX, "Ваш аккаунт заблокирован!", strcom, "Закрыть", "");
Kick(playerid);
}


return true;
}

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Smolin
CheckBanList(playerid);

В OnPlayerConnect или в авторизации есть вообще?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Bruno

@Smolin,Да это есть  в OnPlayerConnect


@Smolin,Тут указан диалог 711, но этого диалога нет 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Max_Eitzen

В функции бана игрока и в базе данных совершенно разные название переменных.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Bruno

@Max_Eitzen,Как исправить?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Max_Eitzen

Смотрите названия в бд и заменяйте на нужные соответственно.

Сам мучался, косяков в системе бана много, проще переписать.

Если же знаний мало, возьмите из самп'а любую бан-систему на MySQL.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Bruno

@Max_Eitzen,А на какой версии mysql искать? 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Гость
Эта тема закрыта для публикации ответов.
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

Мы разместили cookie-файлы на ваше устройство, чтобы помочь сделать этот сайт лучше. Вы можете изменить свои настройки cookie-файлов, или продолжить без изменения настроек.