Доступ к готовым решениям

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

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

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

Мануал /drink в меню

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

Endy_Dyfreyn

Новичок
ко всем new
PHP:
new Menu:DrinkMenu;
в public OnPlayerSelectedMenuRow(playerid, row)
PHP:
if(Current == DrinkMenu)
    {
            switch(row)
      {
                case 0:
       {
        NormMoney[playerid] = 2;
        AntiMoney[playerid] = AntiMoney[playerid] - 10;
        GivePlayerMoney(playerid, - 10);
        GameTextForPlayer(playerid, "~r~-10$", 3000, 1);
        GivePlayerMoney(playerid, -2);
        GameTextForPlayer(playerid, "~r~-2$", 3000, 1);
       if(health < 160)
       {
                    GetPlayerName(playerid, sendername, sizeof(sendername));
                    format(string, sizeof(string), "%s выпил стакан Соды ", sendername);
                    ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
                    GetPlayerHealth(playerid,health);
                    SetPlayerHealth(playerid,health+5);
       }
       else
       {
            SendClientMessage(playerid, COLOR_GREY, " Бармен отказывается вам продовать!");
            TogglePlayerControllable(playerid,1);
            return 1;
       }
       TogglePlayerControllable(playerid,0);
       ShowMenuForPlayer(Menu:DrinkMenu, playerid);
       }
       case 1:
       {
       NormMoney[playerid] = 2;
       AntiMoney[playerid] = AntiMoney[playerid] - 10;
       GivePlayerMoney(playerid, - 10);
       GameTextForPlayer(playerid, "~r~-10$", 3000, 1);
       PlayerDrunk[playerid] += 2;
       if(health < 160)
       {
                    if(GetPlayerDrunkLevel(playerid) < 20000)
                    {
                        SetPlayerDrunkLevel(playerid,GetPlayerDrunkLevel(playerid)+1000);
                    }
                    GetPlayerName(playerid, sendername, sizeof(sendername));
                    format(string, sizeof(string), "%s выпил стакан Водки ", sendername);
                    ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
                    if(PlayerInfo[playerid][pAlcoholPerk] > 0) { PlayerDrunk[playerid] += 1; new hp = 2 * PlayerInfo[playerid][pAlcoholPerk]; hp += 25; SetPlayerHealth(playerid, health + hp); }
                    else { SetPlayerHealth(playerid, health + 25.0); }
       }
       else
       {
            SendClientMessage(playerid, COLOR_GREY, " Бармен отказывается вам продовать!");
            TogglePlayerControllable(playerid,1);
            return 1;
       }
       TogglePlayerControllable(playerid,0);
       ShowMenuForPlayer(Menu:DrinkMenu, playerid);
       }
       case 2:
       {
       NormMoney[playerid] = 2;
       AntiMoney[playerid] = AntiMoney[playerid] - 10;
       GivePlayerMoney(playerid, - 10);
       GameTextForPlayer(playerid, "~r~-10$", 3000, 1);
       PlayerDrunk[playerid] += 2;
       if(GetPlayerHealth(playerid, health) < 100)
       {
       if(GetPlayerDrunkLevel(playerid) < 20000)
       {
       SetPlayerDrunkLevel(playerid,GetPlayerDrunkLevel(playerid)+2000);
       }
       TogglePlayerControllable(playerid,1);
       ShowMenuForPlayer(Menu:DrinkMenu, playerid);
       GetPlayerName(playerid, sendername, sizeof(sendername));
       format(string, sizeof(string), "%s выпил стакан Виски ", sendername);
       ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
       if(PlayerInfo[playerid][pAlcoholPerk] > 0) { PlayerDrunk[playerid] += 1; new hp = 2 * PlayerInfo[playerid][pAlcoholPerk]; hp += 25; SetPlayerHealth(playerid, health + hp); }
       else { SetPlayerHealth(playerid, health + 25.0); }
       }
       else
       {
       SendClientMessage(playerid, COLOR_GREY, " Бармен отказывается вам продовать!");
       TogglePlayerControllable(playerid,1);
       return 1;
       }
       TogglePlayerControllable(playerid,0);
       ShowMenuForPlayer(Menu:DrinkMenu, playerid);
       }
       case 3:
       {
       NormMoney[playerid] = 2;
       AntiMoney[playerid] = AntiMoney[playerid] - 6;
       GivePlayerMoney(playerid, - 6);
       GameTextForPlayer(playerid, "~r~-6$", 3000, 1);
       PlayerDrunk[playerid] += 1;
       if(GetPlayerDrunkLevel(playerid) <= 20000)
       {
       SetPlayerDrunkLevel(playerid,GetPlayerDrunkLevel(playerid)+500);
       }
       GetPlayerName(playerid, sendername, sizeof(sendername));
       format(string, sizeof(string), "%s выпил стакан Воды ", sendername);
       ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
       if(PlayerDrunk[playerid] >= 5) { GameTextForPlayer(playerid, "~w~You are~n~~p~Drunk", 3500, 1); }
       if(health < 160)
       {
       if(PlayerInfo[playerid][pAlcoholPerk] > 0)
       {
       PlayerDrunk[playerid] += 1;
       new hp = 2 * PlayerInfo[playerid][pAlcoholPerk];
       hp += 15;
       SetPlayerHealth(playerid, health + hp);
       }
       else
       {
       SetPlayerHealth(playerid, health + 15.0);
       }
       }
       else
       {
       SendClientMessage(playerid, COLOR_GREY, " Бармен отказывается вам продовать!");
       TogglePlayerControllable(playerid,1);
       return 1;
       }
       TogglePlayerControllable(playerid,0);
       ShowMenuForPlayer(Menu:DrinkMenu, playerid);
       }
       case 4:
       {
       NormMoney[playerid] = 2;
       AntiMoney[playerid] = AntiMoney[playerid] - 2;
       GivePlayerMoney(playerid, - 2);
       GameTextForPlayer(playerid, "~r~-2$", 3000, 1);
                if(health < 160)
                {
                    GetPlayerName(playerid, sendername, sizeof(sendername));
                    format(string, sizeof(string), "%s выпил стакан Пиво ", sendername);
                    ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
                    GetPlayerHealth(playerid,health);
                    SetPlayerHealth(playerid,health+8);
                }
                else
                {
                  SendClientMessage(playerid, COLOR_GREY, " Бармен отказывается вам продовать!");
                  TogglePlayerControllable(playerid,1);
                  return 1;
                }
       TogglePlayerControllable(playerid,0);
       ShowMenuForPlayer(Menu:DrinkMenu, playerid);
       }
      }
      return 1;
    }
далее в public OnPlayerExitedMenu добавить
PHP:
if(Current == DrinkMenu)
    {
        TogglePlayerControllable(playerid, 1);
    }
в public OnGameModeInit
PHP:
 DrinkMenu = CreateMenu("DrinkMenu", 0,  55.0, 200.0, 100.0, 80.0);
     AddMenuItem(DrinkMenu, 0, "Soda 2$");
     AddMenuItem(DrinkMenu, 0, "Vodka 10$");
     AddMenuItem(DrinkMenu, 0, "Viski 10$");
     AddMenuItem(DrinkMenu, 0, "Voda 2$");
     AddMenuItem(DrinkMenu, 0, "Beer 6$");
Теперь свою команду /drink замените на эту
PHP:
	if(strcmp(cmd, "/drink", true) == 0)
    {
        if(IsPlayerConnected(playerid))
        {
            if(IsAtBar(playerid))
            {
                if(PlayerDrunk[playerid] < 10)
                {
                    TogglePlayerControllable(playerid,0);
                    ShowMenuForPlayer(Menu:DrinkMenu, playerid);
                }
                else
                {
                    SendClientMessage(playerid, COLOR_GREY, " Бармен отказывается вам продовать!");
                    return 1;
                }
            }
            else
            {
                SendClientMessage(playerid, COLOR_GREY, " Вы не в Баре!");
                return 1;
            }
        }
        return 1;
    }
Автор: Неизвестен
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу