Gość Diegtiariow Opublikowano 20 Maja 2023 Zgłoś Udostępnij Opublikowano 20 Maja 2023 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/ Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
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.