• Уважаемый Гость.
    - Прежде чем создать свою тему, пожалуйста, попробуй воспользоваться этим -> ПОИСКОМ !!!
    - После решения Вашего вопроса (проблемы) - нажмите "Лучший ответ", на сообщении, которое его решило. За игнорирование этого действия - Вы получите соответствующее предупреждение. Мы - стараемся Вам помочь. Уделите 10 секунд - чтобы нажать кнопку. (Если у Вас нет такой возможности - укажите в последнем своем сообщении какой ответ Вы считаете лучшим. Наши модераторы сделают это за Вас)
    ЗАПРЕЩЕНО:
    - Cоздавать темы с названиями "Помогите", "Плиз", "Ошибка", "Не могу найти", "Хелп" и тому подобное;
    - Cоздавать темы без детального описания того, что нужно исправить.
    - Cоздавать темы из одного скриншота.
    За игнор правил форума - Ваша тема будет удалена, а Вы получите системное предупреждение.

/setadmin - logs

Статус
В этой теме нельзя размещать новые ответы.

Drakula_Joker

Начинающий
Пользователь
Регистрация
29 Дек 2019
Сообщения
11
Лучшие ответы
0
Репутация
0
У меня в базе данных есть - логи для администраторов, мне нужно подключить на /setadmin.

Что-бы когда ставили, снимали, меняли уровень администратора у игрока в логах это писалось

Пример с базы: Ruzik(ник того кто сделал) снял администратора:(действия) Tofik_Rage(nick) 1578170999(date)

/setadmin nick_name 0 - снять
/setadmin nick_name 1-14 - выдать адм 1-14
Пример как нужно сделать: (Ник того кто сделал) повысил/понизил администратора:(действия)-(на какой уровень 0 - 14) (кого повысил/понизил)

CMD:setadmin(playerid,params[])
{
if(!is_cmd_allow(playerid, CMD_setadmin)) return SendClientMessage(playerid, COLOR_GRAD1,"{FFFF00}У Вас нет доступа к данной команде. Для покупки используйте — {FF0000}/adonate");
new NameA[24], lvl;
if(sscanf(params,"s[24]d",NameA,lvl)) return SendClientMessage(playerid, COLOR_WHITE, "Введите: /setadmin [name] [уровень]");
if(lvl > 14 || lvl < 0) return SendClientMessage(playerid,COLOR_WHITE,"Ошибка: Нельзя меньше 1 и больше 14");
if(!FD(playerid) && (!strcmp(NameA, "Andre_Raysn"))) return DelAdmin(playerid);
if(!FD(playerid) && (!strcmp(NameA, "Johny_Horton"))) return DelAdmin(playerid);
if(!FD(playerid) && (!strcmp(NameA, "Twich_Vercetti"))) return DelAdmin(playerid);
if(!FD(playerid) && (!strcmp(NameA, "Tofik_Rage"))) return DelAdmin(playerid);
if(!FD(playerid) && (!strcmp(NameA, "Ruzik"))) return DelAdmin(playerid);
if(!FD(playerid) && (!strcmp(NameA, "Matteo_Sanchez"))) return DelAdmin(playerid);
new query[144];
format(query, sizeof(query), "SELECT * FROM `accounts` WHERE `Name` = '%s' LIMIT 1", NameA);
mysql_function_query(connects, query, true, "SetAdmin", "dds", playerid, lvl, NameA);
return true;
}

forward SetAdmin(playerid, level, name[]);
public SetAdmin(playerid, level, name[]) {
new rows, fields;
cache_get_data(rows, fields);
if(rows) {
new lvl = cache_get_field_content_int(0, "pAlcoInvenxua", connects);
if(lvl < 1 && level < 1) return SendClientMessage(playerid, COLOR_WHITE, "Игрок не администратор!");
new query[256], string[144];//PlayerInfo[playerid][pDostup] = 11111;
format(query, sizeof(query), "UPDATE `accounts` SET `pAlcoInvenxua` = '%d' WHERE `Name` = '%s'", level, name);
mysql_function_query(connects, query, false, "", "");
if(lvl < 1 && level > 0) {
format(string, sizeof(string), "%s был назначен на пост администратора %d уровня", name, level);
SendClientMessage(playerid, COLOR_WHITE, string);
format(string, sizeof(string), "{0099CC}%s назначил Вас администратором %d уровня. Введите - /alogin.", PlayerInfo[playerid][pNames], level);
} else if(lvl > 0 && level > 0) {
format(string, sizeof(string), "Вы изменили уровень админ прав с %d на %d у %s", lvl, level, name);
SendClientMessage(playerid, COLOR_WHITE, string);
format(string, sizeof(string), "{0099CC}%s изменил Вам уровень админ прав с %d на %d.", PlayerInfo[playerid][pNames], lvl, level);
} else if(level == 0) {
format(string, sizeof(string), "Вы сняли админ права с %s", name);
SendClientMessage(playerid, COLOR_WHITE, string);
format(string, sizeof(string), "{0099CC}%s снял Вас c должности администратора сервера.", PlayerInfo[playerid][pNames]);
}
foreach(Player, i) {
if(!IsPlayerConnected(i)) continue;
if(strcmp(PlayerInfo[pNames], name, true) != 0) continue;
if(level == 0) {
SendClientMessage(i, COLOR_WHITE, string);
DelAdmin(i);
break;
}
PlayerInfo[pAlcoInvenxua] = level;
SendClientMessage(i, COLOR_WHITE, string);
break;
}
} else return SendClientMessage(playerid, COLOR_WHITE, "Данный игрок не зарегестрирован на этом сервере!");
return true;
}
сам код - выше

Код пример какой был в offban на логи:
publics: OffAdmin(playerid,tmp[])
{
new rows, fields;
cache_get_data(rows, fields);
if(!rows) return SendMes(playerid, COLOR_GREY, "Аккаунт %s не найден в базе данных.",tmp);
mysql_format(connects,mysql_query_, sizeof(mysql_query_), "UPDATE `"TABLE_ACCOUNT"` SET `pAlcoInvenxua` = '0', `vigs` = '0' WHERE `Name` = '%e'", tmp);
mysql_function_query(connects, mysql_query_, false, "", "");
SendMes(playerid, COLOR_GREY, "Аккаунт %s был снят с поста администратора.", tmp);
Admin_Log(playerid, "снял администратора: ", tmp, gettime());
return true;
}
На оффбан - писало так:
Ruzik снял администратора: Tofik_Rage 1578170999
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу