Jump to content

Generowanie przedmiotów w trupach


Guest Diegtiariow

Recommended Posts

Guest Diegtiariow

NAZWA: Generowanie przedmiotów w trupach
TWÓRCA: Костя.н.ы.ч

 

POTRZEBNE PLIKI:

Spoiler

4 pliki są odpowiedzialne za spawn przedmiotów w folderze "config\misc":

  • death_generic.ltx
  • death_items_by_communities.ltx
  • death_items_by_levels.ltx
  • death_items_count.ltx

 

ANALIZA STRUKTURY PLIKÓW:

Spoiler

1. death_generic.ltx:

Spoiler

Jest to główny plik z include'ami pozostałych. W nim są opisane zależności pojawiania się amunicji przy warunku obecności określonej broni (to znaczy, jeśli NPC ma TOZ-34, to spawnowana amunicja powinna być dla niego, a nie np. dla SVD), sekcja: [item_dependence]

Lista unikalnych przedmiotów questowych, których nie należy usuwać, jeśli NPC je posiada, sekcja: [keep_items]

Oraz przedmioty związane z amunicją (muszą zostać spawnowane inną metodą), sekcja: [ammo_sections]

 

2. death_items_by_communities.ltx:

Spoiler

Wskazuje prawdopodobieństwo pojawienia się lub braku jakiegokolwiek przedmiotu w procentach, na przykład:

af_medusa = 0.015
af_cristall_flower = 0.01
af_night_star = 0.005

Oznacza to, że Meduza pojawi się z szansą 1,5%, Kryształowy kolec z szansą 1%, a Nocna Gwiazda z szansą 0,5%. Jeśli jest 1, przedmiot pojawi się ze 100% prawdopodobieństwem. We wszystkich innych sekcjach napisane jest dopasowanie dla tej konkretnej sekcji, na przykład:

[bandit]:stalker

Oznacza to, że wszyscy członkowie frakcji "Bandyci" mają to samo generowanie przedmiotów, co stalkerzy. Jeśli konieczne jest ustawienie innej szansy na spawn, po prostu zapisywana jest linia z nową wartością, na przykład spawn chleba, kiełbasy, wódki jest wyłączony dla najemników, ale zwiększa się szansa na wygenerowanie napoju energetycznego:

[killer]:stalker
;jedzenie
bread = 0
kolbasa = 0
vodka = 0
energy_drink = 0.3

Warto dodatkowo omówić, że brane są pod uwagę tylko części setne, czyli pisanie poniżej 0,01 nie ma sensu, gdyż w tym przypadku liczba zostanie zaokrąglona do zera. Innymi słowy, szansa w grze nie może być mniejsza niż 1%.

 

3. death_items_by_levels.ltx:

Spoiler

Generowanie przedmiotów dla różnych poziomów (lokacji). Ponownie, główna sekcja to:

[default]

A we wszystkich innych dopasowanie jest do niego pisane. W tym pliku jest ustawiana wartość, czy spawnować przedmiot na poziomie:

af_medusa = 1
af_cristall_flower = 0

Jeśli jest 1 to spawnujemy, jeśli 0 to nie spawnujemy.

 

4. death_items_by_count.ltx:

Spoiler

Ilościowy stosunek zaspawnowanych przedmiotów dla różnych poziomów trudności podczas przechodzenia gry.

[item_count_0] - nowicjusz
[item_count_1] – doświadczony
[item_count_2] – weteran
[item_count_3] - mistrz

Jak widać, z każdym poziomem trudności spawn przedmiotów maleje. Główną, jak zawsze, jest pierwsza sekcja (nowicjusz). Charakterystyczną cechą opisu są dwie cyfry. Pierwsza liczba - minimalna liczbę spawnowanych przedmiotów, druga - maksymalna. Jeśli jest jedna wartość, to zawsze pojawia się w określonej ilości. Przykład:

bandage = 2
medkit = 1, 2

Więc zawsze będzie generować 2 bandaże i 1 lub 2 apteczki.

 

 

DODANIE NOWEGO PRZEDMIOTU DO WYGENEROWANIA W ZWŁOKACH:

Spoiler

Na przykład przeanalizujmy dodanie napoju energetycznego "S.T.A.L.K.E.R." (patch 5, brak napoju). Nie będziemy analizować tworzenia własnego obiektu, po prostu napiszemy jego config:

[energy_drink_stalker]:vodka
$spawn = "food and drugs\energy_drink_stalker"
inv_name = energy_drink_stalker_name
inv_name_short = energy_drink_stalker_short_name
visual = equipments\drink_stalker.ogf
description = enc_equipment_energydrink_stalker
cost = 75

inv_grid_width = 1
inv_grid_height = 1
inv_grid_x = 11
inv_grid_y = 0
inv_weight = 0.3
inv_name = drink_stalker
eat_health = 0
eat_satiety = 0
eat_power = 1.0
eat_alcohol = 0
eat_radiation = 0
wounds_heal_perc = 0
eat_portions_num = 1
eat_max_power = 0.2

attach_angle_offset = 0.000000, 0.000000, 0.000000
attach_position_offset = 0.087266, -0.078540, 0.052360
attach_bone_name = bip01_r_hand
auto_attach = false

Oczywiście dodajemy opis... Uprośćmy generowanie, czyli dla wszystkich: frakcji, poziomów trudności, lokacji, będzie to samo... W tym celu dodajemy nasz napój energetyczny do wszystkich głównych sekcji:

Plik: - death_items_by_communities.ltx

[stalker]
energy_drink_stalker =0.2
af_medusa = 0.015

Plik: - death_items_by_levels.ltx

[default]
energy_drink_stalker = 1
af_medusa = 1

Plik: - death_items_count.ltx

[item_count_0]
energy_drink_stalker = 1
af_medusa = 1

Możesz wpisać spawn przedmiotu w dowolnym miejscu w tych sekcjach pomiędzy innymi przedmiotami, ignorując wpisy twórców (jedzenie, lekarstwa, itp.), ponieważ są one tworzone tylko dla wygody, gra nie bierze tego pod uwagę. I to na tyle, nowy przedmiot został dodany do gry, pojawi się z 20% prawdopodobieństwem w ilości 1 szt.

 

ŹRÓDŁO:

https://ap-pro.ru/forums/topic/675-generirovanie-predmetov-v-trupah/

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.