- Регистрация
- 3 Фев 2016
- Сообщения
- 87
- Лучшие ответы
- 0
- Репутация
- 0
Здравствуйте. Мне нужно,чтобы админ заходил в меню,вводил ник,время и причину наказания игрока,и его наказывало,но неработает( Сделал такое:
Вот админка:
Кейс наказаний:
Ну и для примера, функция закрытия доступа к репорту:
Но не работает. Делал по принципу наказаний для ДРУГОГО ИГРОКА в моде,а мне нужно вводить ник/ид игрока,время и причину,вот с чего я брал:
Дальше такое:
Ну и опять же для примера репорт:
Как так сделать?
Вот админка:
PHP:
case ADMIN:
{
AddDListItem(playerid, "Наказания", ADM_pen);
Кейс наказаний:
PHP:
case ADMIN:
{
if(response)
{
switch(DLItemID)
{
case ADM_pen:
{
if(PI[playerid][Admin] >= AdmLvl1)
{
if(PI[playerid][Admin] >= AdmLvl1)
{
AddDListItem(playerid, "Закрыть доступ к репорту", MENU_ADM_pen_reportme);
}
}
if(PI[playerid][Admin] >= AdmLvl2)
{
if(PI[playerid][Admin] >= AdmLvl2)
{
AddDListItem(playerid, "Закрыть доступ к чату", MENU_ADM_pen_mute);
}
if(PI[playerid][Admin] >= AdmLvl3)
{
AddDListItem(playerid, "Закрыть доступ к командам", MENU_ADM_pen_mutecmd);
}
if(PI[playerid][Admin] >= AdmLvl4)
{
AddDListItem(playerid, "Посадить в тюрьму", MENU_ADM_pen_jail);
}
if(PI[playerid][Admin] >= AdmLvl5)
{
AddDListItem(playerid, "Выпустить из читерского мира", MENU_ADM_pen_cheaters);
AddDListItem(playerid, "Посадить в читерский мир", MENU_ADM_pen_cheaters);
}
}
if(PI[playerid][Admin] >= AdmLvl6)
{
AddDListItem(playerid, "Кикнуть", MENU_ADM_pen_kick);
AddDListItem(playerid, "Забанить", MENU_ADM_pen_ban);
AddDListItem(playerid, "Забанить подсеть", P_MENU_ADM_pen_pban);
}
ShowPlayerDList(playerid, MENU_ADMIN_pen, "{FFFFFF}Админка - Наказания", "Выбрать", "Назад");
}
case ADM_tp: ShowMenu(playerid, ADMIN_TP);
case ADM_veh: ShowMenu(playerid, ADMIN_VEH);
case ADM_chat: ShowMenu(playerid, ADMIN_CHAT);
case ADM_other: ShowMenu(playerid, ADMIN_OTHER);
case ADM_soe: ShowPlayerDialog(playerid, DIALOG_SOE, DIALOG_STYLE_LIST, "Редактор объектов", "Инструкция\nСоздать объект\nИзменить карту","Выбрать","Назад");
case ADM_info: ShowMenu(playerid, D_ADMIN_COMMAND);
case ADM_leader: ShowMenu(playerid, ADMIN_LEADERS);
case ADM_admin: ShowMenu(playerid, ADMIN_ADMINS);
case ADM_chat_log: cmd::clog(playerid, "");
case ADM_admin_log: cmd::alog(playerid, "");
}
} else {
cmd::menu(playerid, "");
}
}
Ну и для примера, функция закрытия доступа к репорту:
PHP:
case MENU_ADM_pen_reportme:
{
if(PI[playerid][Admin] >= AdmLvl2)
{
format(glstr, sizeof(glstr), "{FFFFFF}????? ??????? ?????????:");
} else {
format(glstr, sizeof(glstr), "{FFFFFF}????? ???, ????? ? ??????? ?????????:\n??????: 300 ???");
}
ShowPlayerDialog(playerid, MENU_ADM_pen_muteme_input, DIALOG_STYLE_INPUT, "??????", glstr, "??", "?????");
}
case MENU_ADM_pen_reportme_input:
{
if(response)
{
new plid, time, reason[65], str[100];
sscanf(inputtext, "sds[64]", plid, time, reason);
if(PI[playerid][Admin] >= AdmLvl2)
{
format(str, sizeof(str), "%d %s", GetPVarInt(playerid, "plid"), inputtext);
} else {
format(str, sizeof(str), "%d %d %s", GetPVarInt(playerid, "plid"), plid, time, reason);
}
cmd::mute(playerid, str);
}
}
Но не работает. Делал по принципу наказаний для ДРУГОГО ИГРОКА в моде,а мне нужно вводить ник/ид игрока,время и причину,вот с чего я брал:
PHP:
case P_MENU_ADMIN:
{
AddDListItem(playerid, "Наказания", P_MENU_ADM_pen);
if(PI[playerid][Admin] >= AdmLvl4) AddDListItem(playerid, "Аккаунт", P_MENU_ADM_acc);
AddDListItem(playerid, "Игрок", P_MENU_ADM_pl);
ShowPlayerDList(playerid, P_MENU_ADMIN, "{FFFFFF}Админка", "Выбрать", "Назад");
}
Дальше такое:
PHP:
case P_MENU_ADMIN:
{
if(response)
{
switch(DLItemID)
{
case P_MENU_ADM_pen:
{
if(PI[playerid][Admin] >= AdmLvl1)
{
if(PIpen[GetPVarInt(playerid, "ClickedPlayer")][MuteReport] > 0)
{
AddDListItem(playerid, "Открыть доступ к репорту", P_MENU_ADM_pen_report);
} else {
AddDListItem(playerid, "Закрыть доступ к репорту", P_MENU_ADM_pen_report);
}
}
if(PI[playerid][Admin] >= AdmLvl2)
{
if(PIpen[GetPVarInt(playerid, "ClickedPlayer")][MuteTime] > 0)
{
AddDListItem(playerid, "Открыть доступ к чату", P_MENU_ADM_pen_mute);
} else {
AddDListItem(playerid, "Закрыть доступ к чату", P_MENU_ADM_pen_mute);
}
if(PIpen[GetPVarInt(playerid, "ClickedPlayer")][MuteCMD] > 0)
{
AddDListItem(playerid, "Открыть доступ к командам", P_MENU_ADM_pen_mutecmd);
} else {
AddDListItem(playerid, "Закрыть доступ к командам", P_MENU_ADM_pen_mutecmd);
}
if(PIpen[GetPVarInt(playerid, "ClickedPlayer")][JailTime] > 0)
{
AddDListItem(playerid, "Выпустить из тюрьмы", P_MENU_ADM_pen_jail);
} else {
AddDListItem(playerid, "Посадить в тюрьму", P_MENU_ADM_pen_jail);
}
if(PIpen[GetPVarInt(playerid, "ClickedPlayer")][Cheater])
{
AddDListItem(playerid, "Выпустить из читерского мира", P_MENU_ADM_pen_cheaters);
} else {
AddDListItem(playerid, "Посадить в читерский мир", P_MENU_ADM_pen_cheaters);
}
}
if(PI[playerid][Admin] >= AdmLvl6)
{
AddDListItem(playerid, "Кикнуть", P_MENU_ADM_pen_kick);
AddDListItem(playerid, "Забанить", P_MENU_ADM_pen_ban);
AddDListItem(playerid, "Забанить подсеть", P_MENU_ADM_pen_pban);
}
ShowPlayerDList(playerid, P_MENU_ADMIN_PEN, "{FFFFFF}Админка - Наказания", "Выбрать", "Назад");
}
Ну и опять же для примера репорт:
PHP:
case P_MENU_ADMIN_PEN:
{
if(response)
{
switch(DLItemID)
{
case P_MENU_ADM_pen_report:
{
if(PIpen[GetPVarInt(playerid, "ClickedPlayer")][MuteReport] == 0)
{
ShowPlayerDialog(playerid, P_MENU_ADM_pen_report_input, DIALOG_STYLE_INPUT, "Репорт", "{FFFFFF}Введи время и причину наказания:\nПример: 300 мат", "ОК", "Назад");
} else {
new str[12];
format(str, sizeof(str), "%d 0", GetPVarInt(playerid, "ClickedPlayer"));
cmd::mutereport(playerid, str);
}
}
PHP:
case P_MENU_ADM_pen_report_input:
{
if(response)
{
new time, reason[60], str[100];
sscanf(inputtext, "ds[60]", time, reason);
format(str, sizeof(str), "%d %d %s", GetPVarInt(playerid, "ClickedPlayer"), time, reason);
cmd::mutereport(playerid, str);
}
}
Как так сделать?
Последнее редактирование: