Skocz do zawartości

Generowanie przedmiotów w trupach


Gość Diegtiariow

Rekomendowane odpowiedzi

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

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.