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

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

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

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

Система баров

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

Cans

Умник
И так начну,данную систему разработал Mr.Velix известный нам на сторонних порталах.
Разработал мануал мой хороший знакомый)Я его выкладываю сюда специально для новечков



1.Добавляем в конец конструкции enum:

PHP:
enum DrinkBar 
 { 
   DrinkName[24], 
   Float:DrinkHP, 
   DrinkPrice 
 }; 

 new DrinkInfo[ MAX_DRINKS ][ DrinkBar ] = {// Напитки 
 /* Название, хп, цена */ 
   {"Водка", 20.0, 5}, 
   {"Вино", 25.0, 5}, 
   {"Коньяк", 23.0, 5}, 
   {"Пиво", 25.0, 3}, 
   {"Coca-Cola", 15.0, 2}, 
   {"Sprite", 15.0, 2}, 
   {"Кофе", 30.0, 2}, 
   {"Какао", 5.0, 2} 
 }; 

 enum DrinkBarCoords 
 { 
   Float:drX, 
   Float:drY, 
   Float:drZ 
 }; 

 new DrinkCoordsInfo[ MAX_BAR_POS ][ DrinkBarCoords ] = {// Координаты 
   {495.7801,-76.0305,998.7578},// Бар на грув 
   {499.9654,-20.2515,1000.6797},// Бар 
   {1215.9480,-13.3519,1000.9219},// Стрип 1 
   {-2658.9749,1407.4136,906.2734}// Стрип 2 
 };
2. Добавляем const перед переменными:

PHP:
const MAX_DRINKS = 8;// Количество напитков! 
 const MAX_BAR_POS = 4;// Количество позиций баров!
3. Добавляем в public OnPlayerCommandText(playerid, cmdtext[]) команду:
Если у вас в моде уже есть команда /drink посоветую или прикрепить эту систему к вашей команду или просто переименовать данную команду по типу вместо /drink поставить /bar


PHP:
if(strcmp(cmd, "/drink", true) == 0) 
   { 
       if(!IsAtBar(playerid)) return SendClientMessage(playerid, 0xFFFFFFFF, "* Вы не в баре!"); 
       ShowBarDialog(playerid); 
       return 1; 
   }
4.Добавляем в public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]),если укажет ошибку на данные диалог то просто уберите else в самом начале что бы остался только if

PHP:
else if(dialogid == 200) 
   { 
    if(!response) return 1; 
    if(GetPlayerMoney(playerid) < DrinkInfo[listitem][DrinkPrice]) return SendClientMessage(playerid, 0xFFFFFFAA, "* У вас нехватает денег."); 
    GivePlayerMoney(playerid,-DrinkInfo[listitem][DrinkPrice]); 
    ApplyAnimation(playerid,"FOOD","EAT_Burger",4.0,1,1,1,1,1); 
    new Float:health; 
    GetPlayerHealth(playerid, health); 
    SetPlayerHealth(playerid, health+DrinkInfo[listitem][DrinkHP]); 
   }
5. Добавляем в конец мода strock:

PHP:
stock ShowBarDialog(playerid) 
 { 
   new string[600]; 
   for(new i=0;i<sizeof(DrinkInfo);i++) 
   format(string,sizeof(string),"{FFFFFF}%s[{00D900}%d{FFFFFF}] {00D900}%s{FFFFFF} \t [{00D900}$%d{FFFFFF}]\n",string,i,DrinkInfo[i][DrinkName],DrinkInfo[i][DrinkPrice]); 
   return ShowPlayerDialog(playerid,200,DIALOG_STYLE_LIST,"{FFFFFF}Покупка еды",string,"Съесть","Отмена"); 
 }
6. Добавляем в конец мода stock:

PHP:
stock IsAtBar(playerid) 
 { 
   for(new id=0;id<sizeof(DrinkCoordsInfo);id++) 
   { 
    if(IsPlayerInRangeOfPoint(playerid,2,DrinkCoordsInfo[id][drX],DrinkCoordsInfo[id][drY],DrinkCoordsInfo[id][drZ])) 
     return 1; 
   } 
   return 0; 
 }
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу