| Великс | Дата: Среда, 08.02.2012, 13:06 | Сообщение # 1 |
|
Мастер джэдай
Группа:
Модераторы
Сообщений: 3931
Награды: 287
Город: Мухосранск
Репутация: 8429
Замечания: 0%
Статус: 
| Вообщем то эта система была написана давно, и выкладываю я её от делать нефиг, да и еще потому что каждый ололош присваивает код себе.
В начале устанавливаем значения: Code const MAX_DRINKS = 8;// Кол-во напитков const MAX_BAR_POS = 4;// Кол-во баров
Далее енуминаторы + массивы с данными: Code 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 };
Добавляем команду: Code if(strcmp(cmd, "/drink", true) == 0) { // Команда if(!IsAtBar(playerid)) return SendClientMessage(playerid, 0xFFFFFFFF, "* Вы не в баре!"); ShowBarDialog(playerid); return 1; }
Функция высвечивания диалога: Code stock ShowBarDialog(playerid) { new string[256]; 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,"Выпить","Отмена"); }
Значение диалога: Code if(dialogid == 200) { if(!response) return true; 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]); }
Получение координат баров: Code 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 true; } return false; }
Вот и все...
[cut=freestyle] ПРИНЕСЛА СОРОКА В РОТЕ ПРИВОРОТ , СВЯЗАЛАСЬ НА ШЕЕ ЛОЗА И БЫЛ ПОЛНЫЙ ПИ**ЕЦ, ОСЕНЬ С ЗИМОЙ, ЛЕТО С ВЕСНОЙ, ГУСЬ С ЛИСОЙ, ЕБ**ИСЬ ВО ТЬМЕ НОЧНОЙ. УЗЕЛ ЗАВЯЗАЛСЯ, ПЕПЕЛ РАЗМЕТАЛСЯ И ЛИСА ЗАБЕРЕМЕНЕЛА. ВМЕСТЕ ВЕК ВЕКОВАТЬ, ПУТУ НЕ РАЗВЯЗАТЬ. ТРАВА ПЕРЕПЛЕТИСЬ, УЗЕЛ ЗАВОРОЖИСЬ. ЛЕНАРУ ДАЙ УМА И ЛЕНУ НА ВЕЛЕ НЕ ОТРАЗИСЬ,ЕБ*СЬ ЕБ*СЬ ЕБ*СЬ © Хасан [/cut]
Сообщение отредактировал velix - Среда, 08.02.2012, 13:08 |
| |
|
|
| MarkeloFF | Дата: Среда, 08.02.2012, 13:51 | Сообщение # 2 |
|
Советчик
Группа:
I'm V.I.P.
Сообщений: 1033
Награды: 14
Город: Калининград
Репутация: 191
Замечания: 80%
Статус: 
| спасибо.
|
| |
|
|
| KillForFun | Дата: Среда, 08.02.2012, 14:49 | Сообщение # 3 |
|
Освоившийся
Группа:
Продвинутые
Сообщений: 143
Награды: 3
Город: Cызрань
Репутация: 26
Замечания: 0%
Статус: 
| хорошая система , отлично поработал на щет тех кт оприсваивает скрипты моды и т д согласен лови +
|______Мои работы______| Хотдоги на диалогах |______________________| Modern State[RP] IP Addres 88.198.67.14:7557 Cайт http:\\rp-ms.ru
|
| |
|
|
| EmiGrant | Дата: Среда, 08.02.2012, 20:20 | Сообщение # 4 |
|
Долгожитель
Группа:
Продвинутые
Сообщений: 1362
Награды: 34
Город: Пятигорск
Репутация: 1653
Замечания: 40%
Статус: 
| Спасибо веля, немного изменю, и возьму себе
Если человек несет бред, то здесь 2 варианта: либо он очень умный либо очень тупой © EmiGrant
|
| |
|
|
| Egen | Дата: Среда, 08.02.2012, 20:48 | Сообщение # 5 |
|
Освоившийся
Группа:
Продвинутые
Сообщений: 80
Награды: 12
Город: Город-Герой Ленинград
Репутация: 285
Замечания: 20%
Статус: 
| Спасибо, возьму себе) Пригодится)
Забил на все :)
Удачи форуму :)
|
| |
|
|
| Navvy | Дата: Суббота, 11.02.2012, 20:12 | Сообщение # 6 |
|
Освоившийся
Группа:
Пользователи
Сообщений: 94
Награды: 0
Город: Cherkassy
Репутация: 26
Замечания: 0%
Статус: 
| О, это мне понадобится, спасибо.
Как всунуть сюда картинку?:D
|
| |
|
|
| DiSE | Дата: Воскресенье, 26.02.2012, 10:59 | Сообщение # 7 |
|
Группа:
I'm V.I.P.
Сообщений: 1759
Награды: 23
Город: Уфа
Репутация: 337
Замечания: 80%
Статус: 
| так легко сделано
|
| |
|
|
| Artem_T | Дата: Понедельник, 27.02.2012, 01:33 | Сообщение # 8 |
|
Освоившийся
Группа:
I'm V.I.P.
Сообщений: 132
Награды: 26
Город: Полтава
Репутация: 59
Замечания: 40%
Статус: 
| Хорошая работу, автору спасибо
|
| |
|
|
| Alcoholik | Дата: Понедельник, 27.02.2012, 14:30 | Сообщение # 9 |
|
Мастер джэдай
Группа:
Администратор
Сообщений: 8299
Награды: 111
Город: Санкт-Петербург
Репутация: 6085
Статус: 
| Лучше помоему бутылку давать, чтобы пьяный эффект был
if(isset($beer)&&isset($girl)) { drink($beer);fuck($girl); }else die(); Мониторинг sa:mp серверов Приватно никого не консультирую, моды также не пишу, ни так, ни за деньги. Моя ICQ 675715, пишу только с неё. Все остальные Роачи фейки, ничего я не продаю и продавать не буду, вас разводят.
|
| |
|
|