Всем привет!Сегодня в этом уроке я расскажу как сделать платный БТР,т.е актор может купить себе БТР!
Теория
Как нам это сделать?Конечно через скрипт!Итак,нам нужно спаунить БТР через скрипт,также привизать этот скрипт к диалогу.
Практика 1 шаг
Спауним БТР: 1.Создаём скрипт my_car.script(в папке gamedata\scripts\) и пишем туда такое содержимое
Code
function btr_1 () alife():create("vehicle_btr",vector():set(-198.585,-20.227,-147.066),53596,57) end
Всё 1 шаг завершён!
2 шаг
1.Теперь мы должны сделать так чтобы у нас заводился двигатель и мы могли любоваться нашим БТР от 3-его лица для этого открываем файл ui_keybinding (находится в gamedata\config\ui) и вписываем туда в секцию
2.Теперь в игре зайдя в настройки управления вы найдёте наши клавиши и назначьте клавиши выполнения команд. Всё 2 шаг завершён!
3 шаг
1.Создаём скрипт с названием money.script и пишем внутрь:
Code
function has_money_2000() local money = math.floor(2000 *
xr_statistic_freeplay.get_freeplay_statistic():get_found_pda_discount()) return db.actor:money()>=money end
function dat_dengi(first_speaker, second_speaker) dialogs.relocate_money(second_speaker, 2000, "out") end
2.Теперь осталось создать диалог и вставить функцию,для этого создаём простой диалог.Открываем, например файл dialogs_escape.xml (gamedata/config/gameplay) и пишем в конец:
Это скелет диалога. В нём будут написана наша функция.
<dialog id="test_dialog"> - это название диалога, которое нужно будет написать НПС.
<phrase id="0"> - номер фразы.
<text>test_dialog_0</text> - это текст фразы.
<next>?</next> - переход к фразе.
<precondition>money.has_money_2000</precondition> - проверка денег у ГГ (2000 рублей)
<action>my_car.btr_1</action> - наша функция спауна БТР
<action>money.dat_dengi</action> - эта функция забирает у ГГ 2000 рублей
3. Теперь нужно написать тексты диалога. Заходим в файл "stable_dialogs_escape.xml" (gamedata/config/text/rus) и пишем в конце:
Code
<string id="test_dialog_0"> <text>Я хочу купить БТР.</text> </string> <string id="test_dialog_1"> <text>Да?А ты уверен что денег у тебя хватит?Ты должен заплатить мне 2000 рублей.Ну как у тебя бабло есть?</text> </string> <string id="test_dialog_2"> <text>Да есть,держи.</text> </string> <string id="test_dialog_3"> <text>Сорри нету.</text> </string>
<string id="test_dialog_0"> - это то, на что ссылается скелет диалога.
<text>Я хочу купить БТР.</text> - собственно текст.
!!!ВНИМАНИЕ!!! Все диалоги начинаются со слов Меченого.
4. Теперь нужно прописать этот диалог НПС. Например Сидоровоичу. Открываем файл "character_desc_bar.xml" и находим секцию Сидоровича. Она идёт самой первой. После всех
Code
<actor_dialog>???</actor_dialog>
Прописываем свой:
Code
<actor_dialog>test_dialog</actor_dialog>
ВСЁ!!!
Теперь:
У Сидоровича будет новый диалог типа:
(Меченый): -Я хочу купить БТР (Сидорович): - Да?А ты уверен что денег у тебя хватит?Ты должен заплатить мне 2000 рублей.Ну как у тебя бабло есть? (Меченый - 1 вариант.Появится если у Меченого есть 2000 рублей): - Да есть,держи. Также появится наш БТР (местоположение смотрите ниже на скринах!),а также Сидорович заберёт у нас 2000 рублей (Меченый - 2 вариант.Появится если у Меченого нету 2000 рублей): - Сорри нету. БТР не появится
Скрины
P.S
1.Сам БТР находится в папке gamedata\config\creatures\vechicles.ltx СОДЕРЖИМОЕ ФАЙЛА:
STARS1212,Никогда не слышал о ниве.Но полюбому принцеп такой: Двигатель не заводиться,так скорее всего.Теперь смотри наша команда завода двигателя <command id="kb_turn_engine" exe="turn_engine"/>,мы делаем скрипт проверки на предмет и при заводе двигателя,если предмет есть,то true,а если нет,то false,то двигатель заводится при наличии предмета(true),а если нет,то не заводится(false).
Неплохо, неплохо. Но... Такая система уже задействована, давным давно, в моде - Божья Кара, на Зов Припяти. Там также можно купить БТР у Шульги, на Янове.
Добавлено (13.06.2012, 17:11) --------------------------------------------- STARS1212, Правила не нарушай. Сам обозвался. Админы бы итак увидели, красный цвет.
_Призрак_, может быть,я не знаю.Я сам придумал принцип создание,может уже создали в ЗП.Но я даже не умею спаунить транспрот в ЗП.Я в ЗП даже не играл,понимаешь,я ТЧ люблю,поэтому это лично моя выдумка!!!!!
Даже если есть такое в ЗП,где найти этот урок?Нету 99%!!!Ты P.S почитай!Откуда думаешь,я это всё знаю?
Сообщение отредактировал dimak-stalker - Среда, 13.06.2012, 17:29