[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: Stepan23  
Урок Pawno 19 (Команда /drink в диалоговом окне)
Stepan23Дата: Воскресенье, 19.12.2010, 23:38 | Сообщение # 1
Майор
Группа: Администраторы
Сообщений: 91
Репутация: 6
Статус: Offline
Сначало создадим команду:
Code
}  
     if(strcmp(cmd, "/drink", true) == 0)  
     {  
         if(IsPlayerConnected(playerid))  
         {  
             if(IsAtBar(playerid))  
             {  
                 ShowPlayerDialog(playerid,13,DIALOG_STYLE_LIST,"Выпивка","Пиво $6\nВодка $10\nКоктейль $25\nВиски $10\nВода $2\nСпранк $2\nСода $1","Ок","Отмена");  
             }  
             else if(DrinkWater(playerid))  
             {  
                 GetPlayerName(playerid, sendername, sizeof(sendername));  
                 SetPlayerSpecialAction(playerid, SPECIAL_ACTION_DRINK_SPRUNK);  
                 format(string, sizeof(string), "* %s Выпил что-то.", sendername);  
                 ProxDetector(15.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);  
                 ApplyAnimation(playerid,"BAR","dnk_stndF_loop",4.1,0,0,0,0,0);  
                 new Float:health;  
                 if(GetPlayerHealth(playerid, health) < 100)  
                 {  
                     SetPlayerHealth(playerid, health + 8.0);  
                 }  
                }  
             else  
             {  
                 SendClientMessage(playerid, COLOR_GREY, "Вы не можете пить что либо в данный момент.");  
                 return 1;  
             }

Далее в public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
Code
}  
     if(dialogid == 13)  
     {  
         if(PlayerDrunk[playerid] < 10)  
         {  
             new Float:health;  
             new napitok[30];  
               if(listitem == 0)  
             {  
                 if(PlayerInfo[playerid][pAge] < 21)  
                 {  
                     SendClientMessage(playerid, COLOR_WHITE, "Бармен: Извините, но у нас спиртное только с 21 года!");  
                     return 1;  
                 }  
                 SetPlayerSpecialAction(playerid, SPECIAL_ACTION_DRINK_BEER);  
                 GivePlayerMoney(playerid, - 6);  
                 PlayerDrunk[playerid] += 2;  
                 if(PlayerDrunk[playerid] >= 6) { GameTextForPlayer(playerid, "~w~You are~n~~p~Drunk", 3500, 1); }  
                 if(GetPlayerHealth(playerid, health) < 100)  
                 {  
                     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); }  
                 }  
                 napitok = "пиво";  
             }  
               else if(listitem == 1)  
             {  
                 if(PlayerInfo[playerid][pAge] < 18)  
                 {  
                     SendClientMessage(playerid, COLOR_WHITE, "Бармен: Извините, но водка у нас только с 18 лет!");  
                     return 1;  
                 }  
                 SetPlayerSpecialAction(playerid, SPECIAL_ACTION_DRINK_WINE);  
                 GivePlayerMoney(playerid, - 10);  
                 PlayerDrunk[playerid] += 3;  
                 if(PlayerDrunk[playerid] >= 5) { GameTextForPlayer(playerid, "~w~You are~n~~p~Drunk", 3500, 1); }  
                 if(GetPlayerHealth(playerid, health) < 100)  
                 {  
                     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); }  
                 }  
                 napitok = "водку";  
                }  
              else if(listitem == 2)  
             {  
                 if(PlayerInfo[playerid][pAge] < 16)  
                 {  
                     SendClientMessage(playerid, COLOR_WHITE, "Бармен: Извините, но коктейли у нас только с 16 лет!");  
                     return 1;  
                 }  
                 SetPlayerSpecialAction(playerid, SPECIAL_ACTION_DRINK_BEER);  
                 GivePlayerMoney(playerid, - 25);  
                 PlayerDrunk[playerid] += 1;  
                 if(PlayerDrunk[playerid] >= 7) { GameTextForPlayer(playerid, "~w~You are~n~~p~Drunk", 3500, 1); }  
                 if(GetPlayerHealth(playerid, health) < 100)  
                 {  
                     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); }  
                 }  
                 napitok = "коктейль";  
             }  
              else if(listitem == 3)  
             {  
                 if(PlayerInfo[playerid][pAge] < 18)  
                 {  
                     SendClientMessage(playerid, COLOR_WHITE, "Бармен: Извините, но у нас виски только с 18 лет!");  
                     return 1;  
                 }  
                 SetPlayerSpecialAction(playerid, SPECIAL_ACTION_DRINK_WINE);  
                 GivePlayerMoney(playerid, - 10);  
                 PlayerDrunk[playerid] += 5;  
                 if(PlayerDrunk[playerid] >= 6) { GameTextForPlayer(playerid, "~w~You are~n~~p~Drunk", 3500, 1); }  
                 if(GetPlayerHealth(playerid, health) < 100)  
                 {  
                     if(PlayerInfo[playerid][pAlcoholPerk] > 0) { PlayerDrunk[playerid] += 1; new hp = 2 * PlayerInfo[playerid][pAlcoholPerk]; hp += 27; SetPlayerHealth(playerid, health + hp); }  
                     else { SetPlayerHealth(playerid, health + 27.0); }  
                 }  
                 napitok = "виски";  
             }  
              else if(listitem == 4)  
             {  
                 SetPlayerSpecialAction(playerid, SPECIAL_ACTION_DRINK_SPRUNK);  
                 GivePlayerMoney(playerid, - 2);  
                 if(GetPlayerHealth(playerid, health) < 100)  
                 {  
                     if(PlayerInfo[playerid][pAlcoholPerk] > 0) { new hp = 2 * PlayerInfo[playerid][pAlcoholPerk]; hp += 5; SetPlayerHealth(playerid, health + hp); }  
                     else { SetPlayerHealth(playerid, health + 5.0); }  
                 }  
                 napitok = "Вода";  
             }  
               else if(listitem == 5)  
             {  
                 SetPlayerSpecialAction(playerid, SPECIAL_ACTION_DRINK_SPRUNK);  
                 GivePlayerMoney(playerid, - 2);  
                 if(GetPlayerHealth(playerid, health) < 100)  
                 {  
                     if(PlayerInfo[playerid][pAlcoholPerk] > 0) { new hp = 2 * PlayerInfo[playerid][pAlcoholPerk]; hp += 5; SetPlayerHealth(playerid, health + hp); }  
                     else { SetPlayerHealth(playerid, health + 2.5); }  
                 }  
                 napitok = "спранк";  
             }  
              else if(listitem == 6)  
             {  
                 SetPlayerSpecialAction(playerid, SPECIAL_ACTION_DRINK_SPRUNK);  
                 GivePlayerMoney(playerid, - 2);  
                 if(GetPlayerHealth(playerid, health) < 100)  
                 {  
                     if(PlayerInfo[playerid][pAlcoholPerk] > 0) { new hp = 2 * PlayerInfo[playerid][pAlcoholPerk]; hp += 5; SetPlayerHealth(playerid, health + hp); }  
                     else { SetPlayerHealth(playerid, health + 1.5); }  
                 }  
                 napitok = "Сода";  
             }  
             else  
             {  
                 SendClientMessage(playerid, COLOR_WHITE, "Бармен: Извините, я никогда не слышал о таком напитке.");  
                 return 1;  
             }  
             new sendername[MAX_PLAYER_NAME];  
             GetPlayerName(playerid, sendername, sizeof(sendername));  
             format(string, sizeof(string), "* %s Выпил %s.", sendername ,napitok);  
             ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);  
             ApplyAnimation(playerid,"BAR","dnk_stndF_loop",4.1,0,0,0,0,0);  
         }  
         else  
         {  
             SendClientMessage(playerid, COLOR_GREY, "Бармен отказывается вам продавать напитки!");  
             return 1;  
         }

Конец...
 
  • Страница 1 из 1
  • 1
Поиск: