Доступ к архиву

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Помощь по командам.

Статус
В этой теме нельзя размещать новые ответы.

Anthony_Harison

Новичок
Не знаю, может кто-то уже и выкладывал что-то подобное, если это так - удалю.
Вообщем, сделал вчера у себя дабы сократить длину диалога
Например при написании команды /help у нас появляется диалог "Команды сервера" с наполнением
"Основные"
"Команды бизнеса"
"Команды дома"
"Команды для мерии"
"Команды для МЧС"
"Команды для полиции и фбр"
"Команды для Банд"
И все в таком духе.


Что бы сократить диалог до
"Команды бизнеса"
"Команды дома"
"Команды фракции"


сделаем следующие действия:


на пункт "Команды фракции" задаем следующую функцию:


PHP:
if(PlayerInfo[playerid][pMember] != 0) 
{
   switch(PlayerInfo[playerid][pMember])
   {
      case F_MAYOR:
      {
         //Задаем функцию которая будет вызываться если игрок состоит в мерии, например SendClientMessage(playerid, COLOR_BLUE, "Команды для мерии");
      }
      case F_POLICE_LS, F_POLICE_SF, F_FBI:
      {
         //Задаем функцию которая будет вызываться если игрок состоит в полиции или фб, например SendClientMessage(playerid, COLOR_BLUE, "Команды для полиции и фбр:");
      }
      case F_HOSPITAL:
      {
         //Задаем функцию которая будет вызываться если игрок состоит в МЧС, например SendClientMessage(playerid, COLOR_BLUE, "Команды для МЧС");
      }
      case F_LIC:
      {
         //Задаем функцию которая будет вызываться если игрок состоит в инструкторах, например SendClientMessage(playerid, COLOR_BLUE, "Команды для лицензиров");
      }
      case F_GROVE,F_BALLAS, F_RIFA, F_AZTECAS, F_VAGOS:
      {
         //Задаем функцию которая будет вызываться если игрок состоит в банде, например SendClientMessage(playerid, COLOR_BLUE, "Команды для банд");
      }
      case F_ARMY, F_AVIO:
      {
         //Задаем функцию которая будет вызываться если игрок состоит в Армии, например SendClientMessage(playerid, COLOR_BLUE, "Команды для армии");
      }
      case F_CASINO, F_REDDRAGON:
      {
         //Задаем функцию которая будет вызываться если игрок состоит в казино, например SendClientMessage(playerid, COLOR_BLUE, "Команды для казино");
      }
      case F_LCN, F_YAKUZA, F_RM:
      {
         //Задаем функцию которая будет вызываться если игрок состоит в Мафии, например SendClientMessage(playerid, COLOR_BLUE, "Команды для мафий");
      }
      case F_QUITENEWS:
      {
         //Задаем функцию которая будет вызываться если игрок состоит в Новостях, например SendClientMessage(playerid, COLOR_BLUE, "Команды для новостей");
      }
   } return false;
} else SendClientMessage(playerid, COLOR_WHITE, "Вы не состоите в организации");
Теперь разжуем, что к чему.

Проверяем что бы переменная фракции не была ровна нулю.

PHP:
if(PlayerInfo[playerid][pMember] != 0)
Case - грубо говоря, ячейка.
Дальше идет переменная на которую будем проверять "PlayerInfo[playerid][pMember]"
Если например "PlayerInfo[playerid][pMember] == F_POLICE_LS" то нам будет показывать наполнение этой ячейки

PHP:
case F_POLICE_LS, F_POLICE_SF, F_FBI:
вот такие значения у меня равны номеру фракции, заменяйте их на свои.
PHP:
F_MAYOR, F_POLICE_LS, F_POLICE_SF, F_FBI, F_LIC //и бла бла бла

Думаю понять откуда я взял такие слова как "F_LCN, F_YAKUZA, F_RM ..... " не трудно
Если не понятно то где нибудь в начале пишем вот такой вот код:
Где № - номер фракции
Где #### - то самое значение

PHP:
#define №  ####
В итоге у нас получилось, что при нажатии пункта "команды фракции" нам автоматически показывает команды вашей фракции или сообщение, что вы нигде не состоите
Надеюсь кому нибудь помог.
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу