Question

Я новичок, поэтому мне будет сложно объяснить что надо, но получилось так.
Обычное меню (/menu) использует стоки (на картинке), но как сделать так чтобы меню использовало уже готовые команды?
К примеру выбрал пункт статистика и открылся /stats если по простому. Возможно ли такое, и если возможно то как?

stock.PNG

Share this post


Link to post

6 answers to this question

  • 0

Если у вас имеется команда /stats , что мешает скопировать функционал с неё в диалог, который вам нужен?)

 

Share this post


Link to post
  • 0
8 часов назад, keyl1337 сказал:

Если у вас имеется команда /stats , что мешает скопировать функционал с неё в диалог, который вам нужен?)

 

А шо так можно?)

Share this post


Link to post
  • 0
3 часа назад, Серега4341341 сказал:

А шо так можно?)

 стой стой стой,я не правильно понял тебя. Тебе нужен пункт с командами для /menu? 

 

Share this post


Link to post
  • 0

Если я вас понял правильно, то у вас есть команда /stats которая открывает статистику игрока, просто в case с пунктом открытия статистики поставьте

cmd_stats(playerid);

Под свой командный процессор сделайте сами.

Выглядеть это будет примерно так:
 

case 4:
{
	....
}
case 5: cmd_stats(playerid); // т.е при нажатии на пункт в /menu будет вызываться команда /stats для игрока который нажал
case 6:
{
	....
}

 

Share this post


Link to post
  • 0

Да да, вот так

Share this post


Link to post
  • 0

@Серега4341341, ну, так вопрос решен?

Share this post


Link to post
Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • zerolora
      By zerolora
      Всем привет, помогите пожалуйста разобраться. Что за беда с командой. Младшие ранги могут банить основателей на раз-два. Хотя в команде вроде как есть защита FD
       
      CMD:ban(playerid, params[]) {     if(PI[playerid][pAdmin] < 3) return SCM(playerid, COLOR_RED, NO_DOSTUP_TEXT);     if(!ADuty{playerid}) return callcmd::apanel(playerid);     static id, days, reason[30];     if(sscanf(params, "uds[30]", id, days, reason)) return SCM(playerid, COLOR_RED, !"Используй: /ban [id] [days 1-30] [Причина]");     if(id == INVALID_PLAYER_ID) return 0;     if(GetString(PN(id), ""FULL_FD"") && !GetString(PN(id), ""FULL_FD2"")) return SCM(playerid, COLOR_RED, "Нельзя забанить создателя");     if(strlen(reason) > 30) return SCM(playerid, COLOR_RED, !"Не больше 30 символов!");     if(IsAIP(reason)) return 1;     if(CheckIsADomen(playerid, reason)) return 1;     if(!(1 <= days <= 30)) return SCM(playerid, COLOR_RED, !"Используй: /ban [id] [days 1-30] [Причина]");     if(id == playerid) return SCM(playerid, COLOR_GREY, !"Вы не можете выдать наказание самому себе!");     ASCMToAllf(COLOR_LIGHTRED, "Администратор %s[%i] забанил игрока %s[%i] на %i дней. Причина: %s", PN(playerid), playerid, PN(id), id, days, reason);     AntiReAction(playerid);     SPDf(id, 0, DIALOG_STYLE_MSGBOX, !"", !"Закрыть", !"", !"Вы получили бан аккаунта, если вы не согласны с решением Администратора, то напишите жалобу на форум, приложив данный скриншот.\n{2D8E35}%s", ServerCFG[server_forum]);     UpdatePlayerDataInt(id, "Warns", 0);     BanName(PN(id), PN(playerid), days, reason);     PI[playerid][pReputation] += 5;     UpdatePlayerDataInt(playerid, "Reputation", PI[playerid][pReputation]);     //  aml(8, playerid, PN(id), reason, days);     str_1[0] = EOS, f(str_1, sizeof(str_1), "%s[%i] забанил игрока %s[%i] на %i дней. Причина: %s", PN(playerid), playerid, PN(id), id, days, reason);     SavePunish(0, str_1, id);     return J_Kick(id); }