Jump to content

Płatny BTR z możliwością kupna


Guest Diegtiariow

Recommended Posts

Guest Diegtiariow

NAZWA: Płatny BTR z możliwością kupna
AUTOR: dimak-stalker

 

KROK 1:

Spoiler

Spawnujemy BTR:

1. Tworzymy skrypt my_car.script (w folderze gamedata/scripts/) i piszemy tam następującą treść:

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

1 krok został zakończony!

 

KROK 2:

Spoiler

1. Teraz musimy się upewnić, że uruchomimy silnik i będziemy mogli podziwiać nasz transporter opancerzony z widoku trzeciej osoby.

W tym celu otwieramy plik ui_keybinding (znajdujący się w gamedata\config\ui) i wpisujemy do takiej sekcji:

<group name="kb_grp_common">

to:

<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. Teraz w grze, wchodząc w ustawienia sterowania, znajdziesz przyciski i przypiszesz klawisze do wykonywania poleceń.

2 krok został zakończony!

 

KROK 3:

Spoiler

1. Tworzymy skrypt o nazwie money.script i piszemy w nim:

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. Teraz pozostaje utworzyć dialog i wstawić funkcję. W tym celu tworzymy prosty dialog.

Otwieramy np. plik dialogs_escape.xml (gamedata/config/gameplay) i piszemy na końcu:

<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>

To jest szkielet dialogu. Nasza funkcja zostanie w nim zapisana.

  • <dialog id="test_dialog"> - nazwa dialogu, który trzeba będzie dopisać NPC.
  • <phrase id="0"> - numer frazy.
  • <text>test_dialog_0</text> - tekst frazy.
  • <next>?</next> - przejście do frazy.
  • <precondition>money.has_money_2000</precondition> - sprawdzenie pieniędzy u GG (2000 rubli)
  • <action>my_car.btr_1</action> - nasza funkcja spawnu BTR
  • <action>money.dat_dengi</action> - ta funkcja zabiera od GG 2000 rubli

3. Teraz musisz napisać teksty dialogów.

Wchodzimy do pliku "stable_dialogs_escape.xml" (gamedata/config/text/pol) i piszemy na końcu:

<string id="test_dialog_0">
              <text>Chcę kupić BTR.</text>
          </string>
          <string id="test_dialog_1">
              <text>Naprawdę? Jesteś pewien, że wystarczy ci pieniędzy? Za transport powinieneś zapłacić mi 2000 rubli. Masz tyle kasy?</text>
          </string>
          <string id="test_dialog_2">
              <text>Tak, mam. Trzymaj.</text>
          </string>
          <string id="test_dialog_3">
              <text>Sorry, nie mam.</text>
          </string>
  • <string id="test_dialog_0"> - to, do czego odnosi się szkielet dialogu.
  • <text>Chcę kupić BTR.</text> - oczywiście tekst.

Uwaga: Wszystkie dialogi zaczynają się od słów Naznaczonego.

4. Teraz musisz dopisać ten dialog do NPC. Na przykład Sidorowiczowi.

Otwórz plik "character_desc_bar.xml" i znajdź sekcję Sidorowicza. Jest ona pierwsza i po wszystkich:

<actor_dialog>???</actor_dialog>

dopisujemy swój dialog:

<actor_dialog>test_dialog</actor_dialog>

3 krok został zakończony!

 

JAK TO TERAZ WYGLĄDA?:

Spoiler

Sidor będzie miał nowy dialog typu:
(Naznaczony): - Chcę kupić BTR.
(Sidorowicz): - Naprawdę? Jesteś pewien, że wystarczy ci pieniędzy? Za transport powinieneś zapłacić mi 2000 rubli. Masz tyle kasy?


Naznaczony - 1 wariant pojawi się, jeśli Naznaczony ma 2000 rubli:
- Tak, mam. Trzymaj.

Nasz BTR pojawi się, a Sidorowicz zabierze od nas 2000 rubli.

 

Naznaczony - 2 wariant pojawi się, jeśli Naznaczony nie ma 2000 rubli:
- Sorry, nie mam.

BTR nie pojawi się.

 

PS.:

Spoiler

1. Sam BTR znajduje się w folderze gamedata\config\creatures\vehicles.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. Ci, którzy mają АМК mod 1.4.1, to w pliku ui_keybinding trzeba zrobić tylko:

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

a ten kawałek nie jest wymagany:

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

 

ŹRÓDŁO:

https://ap-pro.ru/forums/topic/1282-platnyy-btr-s-vozmozhnostyu-pokupki/

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.