06:12
ОбновитьСмайлыУправление мини-чатом
МИНИ-ЧАТ
Главная страница!

 



 
          





Рекомендуем:





Последние Файлы GTA 4 Последние Файлы GTA-MP Реклама
Скрипт GTA 4 элементы Watch... 07.09.2014
Ferrari 360 Spider [EPM con... 13.12.2013
Porsche Cayenne Turbo 2012 ... 13.12.2013
Shelby Terlingua Mustang v1... 13.12.2013
Hamann Lamborghini Gallardo... 27.10.2013
[GM] The Big PEN1:LS v2.00 ... 04.12.2017
Dgun (AvnanceRP,SampRP,Dimo... 19.03.2016
SAMP скрипт SX Events (MySQ... 03.03.2016
Карта ASL мэрия для SAMP се... 03.03.2016
AIM для SA-MP 0.3.7 22.02.2016
  • Страница 1 из 4
  • 1
  • 2
  • 3
  • 4
  • »
Модератор форума: Alcoholik  
Ларьки с хотдогами.
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. если юзать маски и прочее...
в-третьих. советую добавить анимацию еды, иначе во время ДМа некоторые будут хилиться :D



Главный программист в Malefic Entertainment.
RockmanДата: Суббота, 24.04.2010, 17:05 | Сообщение # 5
Постоялец
Группа: Продвинутые
Сообщений: 428
Награды: 4
Город: Нижний Новгород
Репутация: 474
Замечания: 0%
Статус:
Добавил анимацию и звук.
KrambabylДата: Суббота, 24.04.2010, 18:15 | Сообщение # 6
Новенький
Группа: Пользователи
Сообщений: 33
Награды: 0
Город: Солигорск
Репутация: -40
Замечания: 0%
Статус:
спасибо очень помогло только насчёт хп уже очень много yes
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%
Статус:
мб лучше сделать на диалоговых окнах? А то это уже прошлый век kiss А так идея хорошая.
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, отличная работа но можно было сделать и лучше но всё равно + за сторания! Мб себе поставлю
Трепаться каждый горазд, ты сначала предложи что-нибудь, а потом критикуй wall




Полезные ссылки:
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]

  • Страница 1 из 4
  • 1
  • 2
  • 3
  • 4
  • »
Поиск:





 


 


 
Хостинг от uCoz samp.at.ua