Какой-то администратор прописывает например /ban на главного разработчика сервера что считается попыткой
слива или просто помехой, данная система решает эту проблему и теперь появляется дополнительная проверка.
Важно: Необходимо иметь инклуд foreach и sscanf/sscanf2
Различные нужные функции:
// Дефайн на используемый цвет #define COLOR_LIGHTRED 0xFF4530FF
new totalstring[128]; // Переменная на весь мод (у меня такой способ использования format)
stock SCMA(color, text[]) // Функция на отправление сообщения всем администраторам в сети
{
foreach(new i:Player) if(player_info[i][ADMIN] > 0) SCM(i, color, text); // тут используете свою переменную базы данных
return 1;
}
// Новый кик, сделано чтобы видеть "предсмертные" сообщения в чате
stock fix_Kick(playerid) return SetTimerEx("kick_timer", 50, 0, "d", playerid);
forward kick_timer(playerid);
public kick_timer(playerid) return Kick(playerid);
Сам код:
stock CheckKrutoy(playerid, targetid)
{
// Вписывайте сюда свои ники
new KRUTOY_NAME1[36] = "Nikita_Balbes";
new KRUTOY_NAME2[36] = "Maxim_Bashmak";
if(strcmp(player_info[playerid][NAME], KRUTOY_NAME1, true) == 0 ||
strcmp(player_info[playerid][NAME], KRUTOY_NAME2, true) == 0) return 0; // если игрок сам крутой то все хорошо
else if(strcmp(player_info[targetid][NAME], KRUTOY_NAME1, true) == 0 ||
strcmp(player_info[targetid][NAME], KRUTOY_NAME2, true) == 0) // Проверка если targetid является крутым
{
// Здесь можете сделать свои условия
GameTextForPlayer(playerid, "~r~So bad!", 5000, 1);
format(totalstring, 128, "%s попытался навредить крутому на проекте!", player_info[playerid][NAME]);
SCMA(COLOR_LIGHTRED, totalstring);
fix_Kick(playerid);
return 1;
}
else return 0;
}
Пример использования (не является готовой командой):
CMD:ban(playerid, params[])
{
if(sscanf(params, "d", params[0])) return SCM(playerid, COLOR_LIGHTRED, "Введите: /ban [ID игрока]");
if(CheckKrutoy(playerid, params[0])) return 1; // Сама проверка
return 1;
}
Надеюсь эта система Вам пригодиться, спасибо что посмотрели!
Вход
Регистрация
Помощь












