Перейти к содержанию
Авторизация  
Hardtmuth

Платный БТР с возможностью покупки

Рекомендуемые сообщения

 

Платный БТР с возможностью покупки

Автор: dimak-stalker

Всем привет! Сегодня в этом уроке я расскажу как сделать платный БТР, т.е актор может купить себе БТР!

Спойлер

Спауним БТР:

1.Создаём скрипт my_car.script (в папке gamedata/scripts/) и пишем туда такое содержимое:


function btr_1 ()       
alife():create("vehicle_btr",vector():set(-198.585,-20.227,-147.066),53596,57)
end

Всё 1 шаг завершён!

Спойлер

1. Теперь мы должны сделать так чтобы у нас заводился двигатель и мы могли любоваться нашим БТР от 3-его лица.

Для этого открываем файл ui_keybinding (находится в gamedata\config\ui) и вписываем туда в секцию:


<group name="kb_grp_common">

это:


<command id="kb_cam_1" exe="cam_1"/>
<command id="kb_cam_2" exe="cam_2"/>
<command id="kb_cam_3" exe="cam_3"/>
<command id="kb_turn_engine" exe="turn_engine"/>

2. Теперь в игре зайдя в настройки управления вы найдёте наши клавиши и назначьте клавиши выполнения команд.

Всё 2 шаг завершён!

Спойлер

1. Создаём скрипт с названием money.script и пишем внутрь:


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_list>
                  <phrase id="0">
              <text>test_dialog_0</text>
              <next>1</next>
                  </phrase>
                  <phrase id="1">
                      <text>test_dialog_1</text>
              <next>2</next>
              <next>3</next>
                  </phrase>
                  <phrase id="2">
                      <text>test_dialog_2</text>
                <precondition>money.has_money_2000</precondition>
                   <action>my_car.btr_1</action>
                     <action>money.dat_dengi</action>
                  </phrase>
                  <phrase id="3">
                      <text>test_dialog_3</text>
                  </phrase>
              </phrase_list>
          </dialog>

Это скелет диалога. В нём будут написана наша функция.

  • <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) и пишем в конце:


<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" и находим секцию Сидоровича. Она идёт самой первой и после всех:


<actor_dialog>???</actor_dialog>

Прописываем свой:


<actor_dialog>test_dialog</actor_dialog>

 

Спойлер

 Сидоровича будет новый диалог типа:
(Меченый): - Я хочу купить БТР
(Сидорович): - Да? А ты уверен что денег у тебя хватит? Ты должен заплатить мне 2000 рублей. Ну как у тебя бабло есть?


Меченый - 1 вариант. Появится если у Меченого есть 2000 рублей:
- Да есть, держи.

Также появится наш БТР. А также Сидорович заберёт у нас 2000 рублей.

Меченый - 2 вариант. Появится если у Меченого нету 2000 рублей:
 - Сорри нету.

БТР не появится.

Спойлер

1. Сам БТР находится в папке gamedata\config\creatures\vechicles.ltx:


[vehicle_btr]

GroupControlSection  = spawn_group
$spawn     = "vehicles\vehicle_btr"
class     = SCRPTCAR
cform                   = skeleton
visual                  = physics\vehicles\btr\veh_btr_u_01.ogf
actor_visual   = physics\vehicles\btr\veh_btr_u_01.ogf
ef_equipment_type  = 3
ph_mass      = 100000
script_binding       = bind_physic_object.init

2. Для тех у кого АМК мод 1.4.1,то в файле ui_keybinding надо делать только:


<command id="kb_turn_engine" exe="turn_engine"/>

а этот кусок не надо


<command id="kb_cam_1" exe="cam_1"/>
<command id="kb_cam_2" exe="cam_2"/>
<command id="kb_cam_3" exe="cam_3"/>

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу