 |
|
 |
|
|
|
Последние Файлы GTA 4 |
Последние Файлы GTA-MP |
Реклама |
|
|
|
|
|
Ларьки с хотдогами.
| |
| Rockman | Дата: Суббота, 24.04.2010, 13:50 | Сообщение # 1 |
|
Постоялец
Группа:
Продвинутые
Сообщений: 428
Награды: 4
Город: Нижний Новгород
Репутация: 474
Замечания: 0%
Статус: 
| HotDogs В этой теме хочу рассказать как сделать простые ларьки с хотдогами для пополнения здоровья. Разумеется для некоторых это будет не ново и не интересно, однако многим может пригодиться. Все достаточно просто и не займет много времени. Для начала нам нужно расставить палатки, если их так можно назвать. Для этого в public OnGameModeInit() добавляем следующие строки. [pwn]CreateObject(1340,1540.9914550781,-1697.4248046875,13.674461364746,0,0,180.67541503906);//hotdogs lspd CreateObject(1340,1462.6568603516,-1044.7604980469,23.955711364746,0,0,89.730041503906);//hotdogs bank CreateObject(1340,427.06262207031,-1725.3531494141,9.6279668807983,0,0,79.760009765625);//hotdogs beach[/pwn] В моем примере палатки расположены около LSPD, Банка, и около дороги недалеко от пляжа. Разумеется вы можете поставить их куда вам угодно и сколько угодно. Далее мы делаем пикапы, на которых будет работать команда для покупки хотдога. Добавляем их в тот же public OnGameModeInit() [pwn]AddStaticPickup(1239, 1, 427.3026,-1724.0068,9.5372); //hotdog AddStaticPickup(1239, 1, 1539.6381,-1697.4041,13.5469); //hotdog AddStaticPickup(1239, 1, 1462.7971,-1043.6611,23.8281); //hotdog[/pwn] Затем делаем саму команду для покупки. [pwn]if(strcmp(cmd, "/hotdog", true) == 0) { if(IsPlayerConnected(playerid)) { if(PlayerToPoint(3.0,playerid,427.3026,-1724.0068,9.5372) || PlayerToPoint(3.0,playerid,1539.6381,-1697.4041,13.5469)|| PlayerToPoint(3.0,playerid,1462.7971,-1043.6611,23.8281)) { SetPlayerHealth(playerid, 100); ApplyAnimation(playerid,"FOOD","EAT_Burger",4.1,0,1,1,1,1); PlayerPlaySound(playerid, 1055, 0.0, 0.0, 0.0); GivePlayerMoney(playerid, - 50); GameTextForPlayer(playerid, "~r~ - 50 $", 5000, 1); GetPlayerName(playerid, sendername, sizeof(sendername)); format(string, sizeof(string), "* %s купил хотдог, и неспеша съел его.", sendername); ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE); } else { SendClientMessage(playerid, COLOR_GREY, "Здесь нельзя купить хотдог."); return 1; } } }[/pwn] В моем примере хотдог стоит 50$ и дает 100hp. Больше 100hp игрок не сможет получить, поедая хотдоги. И затем в public CustomPickups() вставляем следующий код, который показывает, находясь на пикапе, сообщение о том какую команду нужно вводить что бы съесть хотдог. [pwn]if (PlayerToPoint(3.0,i,427.3026,-1724.0068,9.5372) || PlayerToPoint(3.0,i,1539.6381,-1697.4041,13.5469)|| PlayerToPoint(3.0,i,1462.7971,-1043.6611,23.8281)) {// hotdog's GameTextForPlayer(i, "~w~BBEѓ…ЏE ~g~/hotdog ~w~ ЌЏO Ђ‘ KYЊ…Џ’ XOЏѓO‚.", 5000, 5); }[/pwn] ~w~BBEѓ…ЏE ~g~/hotdog ~w~ ЌЏO Ђ‘ KYЊ…Џ’ XOЏѓO‚. - в игре отображается как "Введите /hotdog что бы купить хотдог." Вот собственно и все, вот так очень просто все делается. Впринципе переделать можно под что угодно.
Сообщение отредактировал Rockman - Суббота, 24.04.2010, 17:10 |
| |
|
|
| [RGS]JAGUAR | Дата: Суббота, 24.04.2010, 14:40 | Сообщение # 2 |
|
Советчик
Группа:
Продвинутые
Сообщений: 1154
Награды: 25
Город: FloatX,FloatY,FloatZ
Репутация: 291
Замечания: 40%
Статус: 
| Rockman, отличная работа но можно было сделать и лучше но всё равно + за сторания! Мб себе поставлю
[/url] Новая ICQ: 593922
|
| |
|
|
| Ивент | Дата: Суббота, 24.04.2010, 15:27 | Сообщение # 3 |
|
Местный
Группа:
I'm V.I.P.
Сообщений: 610
Награды: 65
Город: ?
Замечания: 100%
Статус: 
| Rockman, Молодец! Лови + за старания, себе точно поставлю понадобится
Банец.
|
| |
|
|
| Morozzzko | Дата: Суббота, 24.04.2010, 15:43 | Сообщение # 4 |
|
Мастер джэдай
Группа:
Продвинутые
Сообщений: 2179
Награды: 40
Город: Moscow
Репутация: 590
Замечания: 0%
Статус: 
| во-первых, hotdogs. без ' во-вторых. лучше действия делать через /me. если юзать маски и прочее... в-третьих. советую добавить анимацию еды, иначе во время ДМа некоторые будут хилиться
Главный программист в Malefic Entertainment.
|
| |
|
|
| Rockman | Дата: Суббота, 24.04.2010, 17:05 | Сообщение # 5 |
|
Постоялец
Группа:
Продвинутые
Сообщений: 428
Награды: 4
Город: Нижний Новгород
Репутация: 474
Замечания: 0%
Статус: 
| Добавил анимацию и звук.
|
| |
|
|
| Krambabyl | Дата: Суббота, 24.04.2010, 18:15 | Сообщение # 6 |
|
Новенький
Группа:
Пользователи
Сообщений: 33
Награды: 0
Город: Солигорск
Репутация: -40
Замечания: 0%
Статус: 
| спасибо очень помогло только насчёт хп уже очень много
|
| |
|
|
| Morozzzko | Дата: Суббота, 24.04.2010, 18:38 | Сообщение # 7 |
|
Мастер джэдай
Группа:
Продвинутые
Сообщений: 2179
Награды: 40
Город: Moscow
Репутация: 590
Замечания: 0%
Статус: 
| кстате. можно реализовать в виде инклуда и автоматически расчитывать XYZ пикапа
Главный программист в Malefic Entertainment.
|
| |
|
|
| xSLiMx | Дата: Суббота, 24.04.2010, 22:47 | Сообщение # 8 |
|
Мастер джэдай
Группа:
I'm V.I.P.
Сообщений: 2163
Награды: 34
Город: Ростов - на - Дону
Репутация: 1429
Замечания: 80%
Статус: 
| Morozzzko, чето я не дотумкиваю как XYZ пикапа найти.
|
| |
|
|
| V1ce | Дата: Суббота, 24.04.2010, 23:42 | Сообщение # 9 |
|
Группа:
Пользователи
Сообщений: 294
Награды: 21
Город: 4'K.
Репутация: 324
Замечания: 100%
Статус: 
| мб лучше сделать на диалоговых окнах? А то это уже прошлый век А так идея хорошая.
|
| |
|
|
| Morozzzko | Дата: Воскресенье, 25.04.2010, 00:09 | Сообщение # 10 |
|
Мастер джэдай
Группа:
Продвинутые
Сообщений: 2179
Награды: 40
Город: Moscow
Репутация: 590
Замечания: 0%
Статус: 
| V1ce, диалоговые окна для покупки хотдогов - УГ. xSLiMx, sin, cos
Главный программист в Malefic Entertainment.
|
| |
|
|
| DarkWolf | Дата: Воскресенье, 25.04.2010, 02:46 | Сообщение # 11 |
|
Новенький
Группа:
Пользователи
Сообщений: 60
Награды: 0
Город: тверь
Репутация: 0
Замечания: 0%
Статус: 
| Спасибо,себе поставил,ух буду етими хотдогами заселять 3 города) не че менять я думаю не стоит все на +5 для хотдога Добавлено (25.04.2010, 02:46) --------------------------------------------- Я так понял скоко ставишь хп стока он не будет давать, а максимально поставит стока А ты можешь исправить команду чтобы при использовании давал по 15хп?пожалуйста^^
|
| |
|
|
| _LexA_ | Дата: Воскресенье, 25.04.2010, 03:01 | Сообщение # 12 |
|
Долгожитель
Группа:
Продвинутые
Сообщений: 1437
Награды: 161
Город: Ростов-на-Дону
Репутация: 563
Замечания: 20%
Статус: 
| Quote (DarkWolf) А ты можешь исправить команду чтобы при использовании давал по 15хп?пожалуйста^^ замени Quote (Rockman) SetPlayerHealth(playerid, 100); на это : [pwn]new Float:health; GetPlayerHealth(playerid, health); SetPlayerHealth(playerid, health + 15);[/pwn]
|
| |
|
|
| DarkWolf | Дата: Воскресенье, 25.04.2010, 03:48 | Сообщение # 13 |
|
Новенький
Группа:
Пользователи
Сообщений: 60
Награды: 0
Город: тверь
Репутация: 0
Замечания: 0%
Статус: 
| народ леха пытался мне обьяснить как сделать таймер, ну чтобы сьеть 1 раз в 3мин было можно Но я не пойму , не получается если можете распишите как сделать чтобы было можно сьесть следущий раз через 3минуты За раннее спасибо
|
| |
|
|
| Stels | Дата: Воскресенье, 25.04.2010, 07:01 | Сообщение # 14 |
|
Группа:
I'm V.I.P.
Сообщений: 3167
Награды: 32
Город: Каменск-Уральский
Репутация: 828
Замечания: 0%
Статус: 
| Quote (|RGS|JAGUAR) Rockman, отличная работа но можно было сделать и лучше но всё равно + за сторания! Мб себе поставлю Трепаться каждый горазд, ты сначала предложи что-нибудь, а потом критикуй
 Полезные ссылки: GTA:SA спецсборка для SA-MP / GTA:SA-MP ver. 0.3a / GTA:SA-MP ver. 0.2x / Руссификатор геймтекста в GTA:SA(рекомендуется) / Классная игрушка!(Рекомендую!) / Пак русских шрифтов.
|
| |
|
|
| _LexA_ | Дата: Воскресенье, 25.04.2010, 08:15 | Сообщение # 15 |
|
Долгожитель
Группа:
Продвинутые
Сообщений: 1437
Награды: 161
Город: Ростов-на-Дону
Репутация: 563
Замечания: 20%
Статус: 
| Quote (DarkWolf) народ леха пытался мне обьяснить как сделать таймер, ну чтобы сьеть 1 раз в 3мин было можно Но я не пойму , не получается если можете распишите как сделать чтобы было можно сьесть следущий раз через 3минуты За раннее спасибо Что именно я непонятно объяснил? Создаем новую переменную, т.е. в начало мода кидаем : [pwn]new primer;[/pwn] затем в public OnPlayerConnect ставим переменной значение 1 : [pwn]primer=1;[/pwn] в команде делаем проверку на эту переменную, затем ставим переменной значение 0 и запускаем таймер : [pwn]if(strcmp(cmd, "/hotdog", true) == 0) { if(IsPlayerConnected(playerid)) { if(primer==1) { if(IsPlayerInRangeOfPoint(playerid,3.0,427.3026,-1724.0068,9.5372) || IsPlayerInRangeOfPoint(playerid,3.0,1539.6381,-1697.4041,13.5469)|| IsPlayerInRangeOfPoint(playerid,3.0,1462.7971,-1043.6611,23.8281)) { SetPlayerHealth(playerid, 100); ApplyAnimation(playerid,"FOOD","EAT_Burger",4.1,0,1,1,1,1); PlayerPlaySound(playerid, 1055, 0.0, 0.0, 0.0); GivePlayerMoney(playerid, - 50); GameTextForPlayer(playerid, "~r~ - 50 $", 5000, 1); GetPlayerName(playerid, sendername, sizeof(sendername)); format(string, sizeof(string), "* %s купил хотдог, и неспеша съел его.", sendername); ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE); primer=0; SetTimerEx("TimerPrimer", 180000, 0, "i", playerid); } else { SendClientMessage(playerid, COLOR_GREY, "Здесь нельзя купить хотдог."); } } else { SendClientMessage(playerid, COLOR_GREY, " Еще не прошло 3-х минут. "); } } return 1; }[/pwn] и создаем паблик таймера. по истечении таймера присваиваем переменной значение 1 [pwn]forward TimerPrimer(playerid); public TimerPrimer(playerid) { primer=1; SendClientMessage(playerid, COLOR_GREY, " 3 минуты истекли, снова можно жрать. "); return 1; }[/pwn]
|
| |
|
|
|
 |
|
 | |
| |
|