_SCHOKK_ |
Дата: Четверг, 20.02.2014, 20:16 | Сообщение # 1
|
Новичок
Сообщений: 13
Статус: Offline
|
Всем привет, нашел урок (статистика администратора) решил выложить сюда, мб кому пригодиться, начнем.
Вырезано из мода Ultra RP (RLS)
В enum Pinfo после pPayDayHad, добавим:
Цитата pAreport, pAban, pAwarn, pAkick, pAmute,
В public OnPlayerConnect(playerid) добавим:
Цитата PlayerInfo[playerid][pAreport] = 0; PlayerInfo[playerid][pAban] = 0; PlayerInfo[playerid][pAkick] = 0; PlayerInfo[playerid][pAmute] = 0; PlayerInfo[playerid][pAwarn] = 0;
В public OnPlayerRegister(playerid, password[]) ищем ini_setInteger(File,"Fuel",PlayerInfo[playerid][pFuel]); после того как нашли, ниже вставим:
Цитата ini_setInteger(File,"Areport",PlayerInfo[playerid][pAreport]); ini_setInteger(File,"Aban",PlayerInfo[playerid][pAban]); ini_setInteger(File,"Awarn",PlayerInfo[playerid][pAwarn]); ini_setInteger(File,"Akick",PlayerInfo[playerid][pAkick]); ini_setInteger(File,"Amute",PlayerInfo[playerid][pAmute]);
В public SavessAkk(playerid,string3[]) (у вас может быть совсем другой, так что ищем в своем моде функцию которая отвечает за сохранение аккаунтов) далее ищем ini_setInteger(File,"Fuel",PlayerInfo[playerid][pFuel]); после того как нашли, ниже вставим:
Цитата ini_setInteger(File,"Areport",PlayerInfo[playerid][pAreport]); ini_setInteger(File,"Aban",PlayerInfo[playerid][pAban]); ini_setInteger(File,"Awarn",PlayerInfo[playerid][pAwarn]); ini_setInteger(File,"Akick",PlayerInfo[playerid][pAkick]); ini_setInteger(File,"Amute",PlayerInfo[playerid][pAmute]);
В public OnPlayerLogin(playerid,password[]) ищем ini_getInteger(File,"Fuel",PlayerInfo[playerid][pFuel]); после того как нашли, ниже вставляем:
Цитата ini_getInteger(File,"Areport",PlayerInfo[playerid][pAreport]); ini_setInteger(File,"Aban",PlayerInfo[playerid][pAban]); ini_setInteger(File,"Awarn",PlayerInfo[playerid][pAwarn]); ini_setInteger(File,"Akick",PlayerInfo[playerid][pAkick]); ini_getInteger(File,"Amute",PlayerInfo[playerid][pAmute]);
Далее клацаем на клаве CTRL+F ищем case 1541 после того как нашли, добавим:
Цитата if(listitem == 9) { if(PlayerInfo[playerid][pAdmin] < 1 || dostup[playerid] == 0) return SendClientMessage(playerid, -1, "{afafaf}Вы не 8 уровень администрирование!"); // Заменить на свой последний уровень админки. if(PlayerInfo[playerid][pAdmin] == 0) return SendClientMessage(playerid, -1, "{afafaf}Данный игрок не администратор сервера!"); ADM(playerid,ChosenPlayer[playerid]); }
Код if(listitem == 9) - последний диалог в case 1541, заменяем на свой. if(PlayerInfo[playerid][pAdmin] < 1 || dostup[playerid] == 0) - Где 1, это с какого админ уровня будет доступна функция, заменяем на свое.
В public OnPlayerClickPlayer(playerid, clickedplayerid, source) добавим:
Цитата Статистика администратора.
В команду /mute добавим:
Цитата PlayerInfo[playerid][pAmute] += 1;
В команду /ban добавим:
Цитата PlayerInfo[playerid][pAban] += 1;
В команду /warn добавим:
Цитата PlayerInfo[playerid][pAwarn] += 1;
В команду /pm добавим:
Цитата PlayerInfo[playerid][pAreport] += 1;
В конец мода добавим:
Цитата stock ADM(playerid,targetid){ if(IsPlayerConnected(playerid) && IsPlayerConnected(targetid)){ new lol[128],coordsstring[530], name[MAX_PLAYERS]; GetPlayerName(targetid, name, sizeof(name)); new msg[] = "{ffffff}Статистика администратора - {1e90ff}%s\n\n{ffffff}Проигранно часов: {ff8800}%d\n{ffffff}Ответил на репорт: {ff8800}%d раз\n{ffffff}Забанил игроков: {ff8800}%d раз\n{ffffff}Выдал Warn игрокам: {ff8800}%d раз\n{ffffff}Кикнул игроков: {ff8800}%d раз\n{ffffff}Выдал мут: {ff8800}%d раз\n"; format(coordsstring, 530, msg, name, PlayerInfo[targetid][pPayDayHad], PlayerInfo[targetid][pAreport], PlayerInfo[targetid][pAban], PlayerInfo[targetid][pAwarn], PlayerInfo[targetid][pAkick], PlayerInfo[targetid][pAmute]); format(lol,sizeof(lol),"{ffcc00}Статистика"); SPD(playerid,9999,DIALOG_STYLE_MSGBOX,lol,coordsstring,"Закрыть",""); } return true; }
- У кого нет в моде функции ADMINCLICKMENU через TAB напишите в ЛС или в комментариях, я добавлю.
SCREEN:
Вы здесь: 962-й день
|
|
|
|