SteelGun1996
Новичок
Приветствую всех!
Я знаю что данные команды уже есть на просторах PI, но я разработал свою версию, делал для мода Arizona RP, слитым на youtube.
Данные команды предназначены для выдачи/снятия выговора администратору, ибо мало кто запомнит кому выдавал выговор, или у кого снимал, да и на форуме лень все вписать (лично для меня), по этому я решил сделать данную команду.
Приступим:
В enum pInfo (или какой там у вас отвечает за игрока) вписываем:
И этот же код добавляем в регистрацию и т.д.
Добавляем также и в базу данных, но это уже объяснять не буду, ничего сложного в этом нет.
Теперь переходим к самой команде.
/awarn
/unawarn:
На этом у меня все.
P.S. Команда сделана под мод который использую я, вам надо будет сделать ее под свой мод.
Это первая команда которую я написал своими руками, строго не судите, если есть какие-то ошибки или можно оптимизировать, напишите в комментах, буду благодарен.
Не откажусь от "+" :dn:
---------- Сообщение добавлено в 12:35 ---------- Предыдущее сообщение добавлено в 12:33 ----------
И еще, если кто считает что это:
не нужно, можете убрать. Я добавил это потому-что множество администраторов дают себе лидерки или же кидают себя в фракцию.
Я знаю что данные команды уже есть на просторах PI, но я разработал свою версию, делал для мода Arizona RP, слитым на youtube.
Данные команды предназначены для выдачи/снятия выговора администратору, ибо мало кто запомнит кому выдавал выговор, или у кого снимал, да и на форуме лень все вписать (лично для меня), по этому я решил сделать данную команду.
Приступим:
В enum pInfo (или какой там у вас отвечает за игрока) вписываем:
Код:
pAWarns
Добавляем также и в базу данных, но это уже объяснять не буду, ничего сложного в этом нет.
Теперь переходим к самой команде.
/awarn
Код:
CMD:awarn(playerid, params[])
{
if(PI[playerid][pAdmin] >= ADM_GRAND_ADMIN)
{
new id,reason[150],string[200];
if(sscanf(params,"us[150]",id,reason)) return SendClientMessage(playerid, COLOR_ISPOLZUY, "Используй: /awarn [id] [причина]");
if(IsPlayerConnected(id))
{
if(IsGiveWarn(playerid, id))
{
PI[id][pAWarns] ++;
format(string,sizeof(string),"Вы дали выговор администратору %s с причиной %s",Name(id),reason);
SendClientMessage(playerid,COLOR_LIGHTBLUE,string);
format(string,sizeof(string),"%s дал вам выговор с причиной %s",Name(playerid),reason);
SendClientMessage(id,COLOR_LIGHTRED,string);
if(PI[id][pAWarns] >= 3)
{
PI[id][pAWarns] = 0;
SendClientMessage(id,COLOR_GREY,"Вы были автоматически сняты с поста администратора т.к у вас больше 2-х выговоров");
format(string,sizeof(string),"%s снят с админки т.к у него больше 2-х выговоров",Name(id));
SendTeamMessage(PI[id][pMember],COLOR_GREY,string);
PI[id][pAdmin] = 0;
PI[id][pAWarns] = 0;
PI[id][pMember] = 0;
PI[id][pRank] = 0;
}
}
}
}
return true;
}
Код:
CMD:unawarn(playerid, params[])
{
if(PI[playerid][pAdmin] >= ADM_GRAND_ADMIN)
{
new id,string[200];
if(sscanf(params,"u",id)) return SendClientMessage(playerid, COLOR_ISPOLZUY, "Используй: /unawarn [id]");
if(IsPlayerConnected(id))
{
if(GetTeamID(id) == GetTeamID(playerid))
{
if(PI[id][pAWarns] > 0)
{
PI[id][pAWarns] --;
format(string,sizeof(string),"Вы сняли выговор администратору %s",Name(id));
SendClientMessage(playerid,COLOR_LIGHTBLUE,string);
format(string,sizeof(string),"%s снял вам выговор",Name(playerid));
SendClientMessage(id,COLOR_LIGHTRED,string);
}
}
}
}
return true;
}
P.S. Команда сделана под мод который использую я, вам надо будет сделать ее под свой мод.
Это первая команда которую я написал своими руками, строго не судите, если есть какие-то ошибки или можно оптимизировать, напишите в комментах, буду благодарен.
Не откажусь от "+" :dn:
---------- Сообщение добавлено в 12:35 ---------- Предыдущее сообщение добавлено в 12:33 ----------
И еще, если кто считает что это:
Код:
PI[id][pMember] = 0;
PI[id][pRank] = 0;
