dtse
Ученик
Мини-система бара.
Думаю, уже все с ней ознакомлены, но здесь немного другая структура.Смотрите сами.
Автор: velix
Скриншоты:
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!
* Лечу в небе потому, что не перемешал игрока в интерьер кафе.
PHP:
#define MAX_DRINKS 8// Количество напитков
#define MAX_BAR_POS 4 // Количество позиций баров
enum DrinkBar//By velix
{
DrinkName[10],
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:
if(strcmp(cmd, "/drink", true) == 0)
{
if(!IsAtBar(playerid))
return SendClientMessage(playerid, 0xFFFFFFFF, "* Чувак, ты не около бара!");
return ShowBarDialog(playerid);
}
PHP:
stock ShowBarDialog(playerid)
{
new string[600];
for(new i=0;i<sizeof(DrinkInfo);i++)
format(string,sizeof(string),"%s{FFFFFF}[{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,"Выпить","Отмена");
}
stock IsAtBar(playerid)
{
for(new id=0;id<sizeof(DrinkCoordsInfo);id++)
if(IsPlayerInRangeOfPoint(playerid, 2.0, DrinkCoordsInfo[id][drX], DrinkCoordsInfo[id][drY], DrinkCoordsInfo[id][drZ]))
return 1;
return 0;
}
PHP:
else if(dialogid == 200)
{
if(response == 0) 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]);
}
Последнее редактирование:
