Cans
Умник
И так начну,данную систему разработал Mr.Velix известный нам на сторонних порталах.
Разработал мануал мой хороший знакомый)Я его выкладываю сюда специально для новечков
1.Добавляем в конец конструкции enum:
2. Добавляем const перед переменными:
3. Добавляем в public OnPlayerCommandText(playerid, cmdtext[]) команду:
Если у вас в моде уже есть команда /drink посоветую или прикрепить эту систему к вашей команду или просто переименовать данную команду по типу вместо /drink поставить /bar
4.Добавляем в public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]),если укажет ошибку на данные диалог то просто уберите else в самом начале что бы остался только if
5. Добавляем в конец мода strock:
6. Добавляем в конец мода stock:
Разработал мануал мой хороший знакомый)Я его выкладываю сюда специально для новечков
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
};
PHP:
const MAX_DRINKS = 8;// Количество напитков!
const MAX_BAR_POS = 4;// Количество позиций баров!
Если у вас в моде уже есть команда /drink посоветую или прикрепить эту систему к вашей команду или просто переименовать данную команду по типу вместо /drink поставить /bar
PHP:
if(strcmp(cmd, "/drink", true) == 0)
{
if(!IsAtBar(playerid)) return SendClientMessage(playerid, 0xFFFFFFFF, "* Вы не в баре!");
ShowBarDialog(playerid);
return 1;
}
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]);
}
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,"Съесть","Отмена");
}
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;
}
Последнее редактирование:
