- Регистрация
- 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
Что-бы когда ставили, снимали, меняли уровень администратора у игрока в логах это писалось
Пример с базы: 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