Skocz do zawartości

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


Gość Diegtiariow

Rekomendowane odpowiedzi

Gość 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/

Odnośnik do komentarza
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.
Uwaga: Twój wpis zanim będzie widoczny, będzie wymagał zatwierdzenia moderatora.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Korzystając z tej strony, zgadzasz się na nasze Warunki użytkowania.