Posted May 6, 2020 · Report post Команда: Спойлер CMD:ahelp(playerid,params[]) { ShowPlayerDialog(playerid, 4,DIALOG_STYLE_LIST, "Команды администраторов" , "Команды администратора 1 уровень\nКоманды администратора 2 уровень\nКоманды администратора 3 уровень\nКоманды администратора 4 уровень\nКоманды администратора 5 уровень\nКоманды администратора 6 уровень\nКоманды администратора 7 уровень\n", "Далее","Отмена"); return true; } Спойлер if(dialogid == 4) { if(!response) return 1; switch(listitem) { case 0: { new stringer[495]; stringer[0] = EOS; strcat(stringer, "{FFCC00}/ahelp {FFFFFF}- Админ-Команды\n"); } case 1: { if(Player[playerid][pAdmin] < 2) return SendClientMessage(playerid,COLOR_WHITE,"Недоступно"); new stringer[495]; stringer[0] = EOS; strcat(stringer, "{FFCC00}/cmd {FFFFFF}- \n"); } case 2: { if(Player[playerid][pAdmin] < 3) return SendClientMessage(playerid,COLOR_WHITE,""InfoA"Недоступно"); new stringer[495]; stringer[0] = EOS; strcat(stringer, "{FFCC00}/hp {FFFFFF}- Восстановить себе здоровье\n"); } case 3: { if(Player[playerid][pAdmin] < 4) return SendClientMessage(playerid,COLOR_WHITE,""InfoA"Недоступно"); new stringer[495]; stringer[0] = EOS; strcat(stringer, "{FFCC00}/sethp {FFFFFF}- Установить HP игроку\n"); } case 4: { if(Player[playerid][pAdmin] < 5) return SendClientMessage(playerid,COLOR_WHITE,"Недоступно"); new stringer[495]; stringer[0] = EOS; strcat(stringer, "{FFCC00}/clearchat {FFFFFF}- Отчистить чат\n"); } case 5: { if(Player[playerid][pAdmin] < 6) return SendClientMessage(playerid,COLOR_WHITE,"Недоступно"); new stringer[495]; stringer[0] = EOS; strcat(stringer, "{FFCC00}/cmd {FFFFFF}- \n"); } case 6: { if(Player[playerid][pAdmin] < 7) return SendClientMessage(playerid,COLOR_WHITE,"Недоступно"); new stringer[495]; stringer[0] = EOS; strcat(stringer, "{FFCC00}/timeset {FFFFFF}- Изменить время на сервере\n"); } case 7: { if(Player[playerid][pAdmin] < 8) return SendClientMessage(playerid,COLOR_WHITE,"Недоступно"); new stringer[495]; stringer[0] = EOS; strcat(stringer, "{FFCC00}/setadmin {FFFFFF}- Выдать админ-права\n"); } case 8: { if(Player[playerid][pAdmin] < 9) return SendClientMessage(playerid,COLOR_WHITE,"Недоступно"); new stringer[495]; stringer[0] = EOS; strcat(stringer, "{FFCC00}/cmd {FFFFFF}- \n"); } case 9: { if(Player[playerid][pAdmin] < 10) return SendClientMessage(playerid,COLOR_WHITE,"Недоступно"); new stringer[495]; stringer[0] = EOS; strcat(stringer, "{FFCC00} {FFFFFF}- \n"); } } } Когда вызываешь команду вылазит диалоговое окно, когда кликаешь - оно тупо скипается. 0 Share this post Link to post
0 Posted May 6, 2020 · Report post Твой код ничего большего и не содержит в себе. Да, переменную stringer ты изменяешь, только впустую. После использования функции strcat используй функцию ShowPlayerDialog. Примерное использование: ShowPlayerDialog(playerid, 0, DIALOG_STYLE_MSGBOX, "Команды администратора", stringer, "Закрыть", ""); 0 Share this post Link to post
0 Posted May 6, 2020 · Report post Гость Андрей, Ну во первых Андрей, зачем вам params? И в switch у вас всего лишь 7 case будет, у вас их 10. 0 Share this post Link to post
0 Posted May 6, 2020 · Report post 4 минуты назад, Nekit_Krut18 сказал: Гость Андрей, Ну во первых Андрей, зачем вам params? И в switch у вас всего лишь 7 case будет, у вас их 10. От наличия params[] в регистрации новой команды ничего критического не происходит, это не является ошибкой. В switch-конструкции может быть и один-единственный case, однако это тоже не является решением заявленной проблемы. 0 Share this post Link to post
0 Posted May 6, 2020 (edited) · Report post Гость Андрей, И вам не куда выводить текст. Либо используйте SendClientMessage(playerid, COLOR_WHITE, stringer); Либо же диалогом - ShowPLayerDialog( playerid, d_none, DIALOG_STYLE_MSGBOX, "{"#cBL"}Команды администрации", stringer, "Закрыть", "" ) ; d_none - это ид диалога, можете заменить на другой свободный. Вот замените на то, что у вас есть сейчас. Цитата if(dialogid == 4) { if(!response) return 1; switch(listitem) { case 0: { new stringer[495]; stringer[0] = EOS; strcat(stringer, "{FFCC00}/ahelp {FFFFFF}- Админ-Команды\n"); } case 1: { if(Player[playerid][pAdmin] < 2) return SendClientMessage(playerid,COLOR_WHITE,"Недоступно"); new stringer[495]; stringer[0] = EOS; strcat(stringer, "{FFCC00}/cmd {FFFFFF}- \n"); } case 2: { if(Player[playerid][pAdmin] < 3) return SendClientMessage(playerid,COLOR_WHITE,""InfoA"Недоступно"); new stringer[495]; stringer[0] = EOS; strcat(stringer, "{FFCC00}/hp {FFFFFF}- Восстановить себе здоровье\n"); } case 3: { if(Player[playerid][pAdmin] < 4) return SendClientMessage(playerid,COLOR_WHITE,""InfoA"Недоступно"); new stringer[495]; stringer[0] = EOS; strcat(stringer, "{FFCC00}/sethp {FFFFFF}- Установить HP игроку\n"); } case 4: { if(Player[playerid][pAdmin] < 5) return SendClientMessage(playerid,COLOR_WHITE,"Недоступно"); new stringer[495]; stringer[0] = EOS; strcat(stringer, "{FFCC00}/clearchat {FFFFFF}- Отчистить чат\n"); } case 5: { if(Player[playerid][pAdmin] < 6) return SendClientMessage(playerid,COLOR_WHITE,"Недоступно"); new stringer[495]; stringer[0] = EOS; strcat(stringer, "{FFCC00}/cmd {FFFFFF}- \n"); } case 6: { if(Player[playerid][pAdmin] < 7) return SendClientMessage(playerid,COLOR_WHITE,"Недоступно"); new stringer[495]; stringer[0] = EOS; strcat(stringer, "{FFCC00}/timeset {FFFFFF}- Изменить время на сервере\n"); } } ShowPlayerDialog( playerid, d_none, DIALOG_STYLE_MSGBOX, "{"#cBL"}Команды администрации", "Закрыть" , ""); } И всё будет нормально. Edited May 6, 2020 by Nekit_Krut18 Причина: Дополнение. 0 Share this post Link to post
0 Posted May 7, 2020 (edited) · Report post @Nekit_Krut18 допустил ошибочку) Проверь ещё раз строку кода с показом диалога if(dialogid == 4) { if(!response) return 1; new stringer[495]; switch(listitem) { case 0: { stringer[0] = EOS; strcat(stringer, "{FFCC00}/ahelp {FFFFFF}- Админ-Команды\n"); } case 1: { if(Player[playerid][pAdmin] < 2) return SendClientMessage(playerid,COLOR_WHITE,"Недоступно"); stringer[0] = EOS; strcat(stringer, "{FFCC00}/cmd {FFFFFF}- \n"); } case 2: { if(Player[playerid][pAdmin] < 3) return SendClientMessage(playerid,COLOR_WHITE,""InfoA"Недоступно"); stringer[0] = EOS; strcat(stringer, "{FFCC00}/hp {FFFFFF}- Восстановить себе здоровье\n"); } case 3: { if(Player[playerid][pAdmin] < 4) return SendClientMessage(playerid,COLOR_WHITE,""InfoA"Недоступно"); stringer[0] = EOS; strcat(stringer, "{FFCC00}/sethp {FFFFFF}- Установить HP игроку\n"); } case 4: { if(Player[playerid][pAdmin] < 5) return SendClientMessage(playerid,COLOR_WHITE,"Недоступно"); stringer[0] = EOS; strcat(stringer, "{FFCC00}/clearchat {FFFFFF}- Отчистить чат\n"); } case 5: { if(Player[playerid][pAdmin] < 6) return SendClientMessage(playerid,COLOR_WHITE,"Недоступно"); stringer[0] = EOS; strcat(stringer, "{FFCC00}/cmd {FFFFFF}- \n"); } case 6: { if(Player[playerid][pAdmin] < 7) return SendClientMessage(playerid,COLOR_WHITE,"Недоступно"); stringer[0] = EOS; strcat(stringer, "{FFCC00}/timeset {FFFFFF}- Изменить время на сервере\n"); } } ShowPlayerDialog(playerid, 0, DIALOG_STYLE_MSGBOX, "Команды администрации", stringer, "Закрыть" , ""); } Edited May 7, 2020 by SCRIPTMAN 0 Share this post Link to post
0 Posted May 7, 2020 · Report post @Nekit_Krut18 а выводить какой текст будет в диалоге? =) 0 Share this post Link to post
0 Posted May 7, 2020 (edited) · Report post @Nekit_Krut18 ShowPlayerDialog( playerid, d_none, DIALOG_STYLE_MSGBOX, "{"#cBL"}Команды администрации", "Закрыть" , ""); Посмотри свой диалог повнимательнее, и давай, прекратим заполнять тему Edited May 7, 2020 by SCRIPTMAN 0 Share this post Link to post
Posted · Report post
Команда:
Когда вызываешь команду вылазит диалоговое окно, когда кликаешь - оно тупо скипается.
Share this post
Link to post