PMG 09 cze 2015, 21:46
Powinność
PMG
Redaktor
Posty: 376
Rejestracja: 12 gru 2010, 10:30
Ostatnio: 01 sie 2024, 15:05
Ulubiona broń: Viper 5 9x18
Kozaki:
127
Na górę
Post autor: PMG  Ostatnio zmieniony 09 cze 2015, 23:37 przez PMG, łącznie zmieniany 4 razy.
Witajcie. Zebrałem się dziś do napisania kolejnego tutka, może trochę przekombinowanego, ale mam nadzieję, że ktoś znajdzie w nim pomoc. Ogólnie zauważyłem, że niektórzy gracze poszukują modów dodających nowe mutanty - oczywiście tych modów jest sporo, ale w większości z nich nowe mutanty to jeden z setek elementów, które wchodzą w skład moda. Istnieje jednak bardzo prosty sposób, aby zrobić to samemu. Mam jednak świadomość, że jest on prosty dla kogoś, kto z moddingiem miał już do czynienia, dlatego jeżeli pojawiają się błędy, problemy lub niejasności - proszę pytać.

W Zewie Prypeci twórcy przywrócili dwa mutanty: burera i chimerę, ale wiadomo, że "zapomnianych" mutantów było trochę więcej. Wbrew pozorom przywrócenie pozostałych wyciętych stworów, które ostały się w plikach pierwszego S.T.A.L.K.E.R.-a jest zadaniem stosunkowo łatwym, oczywiście jeżeli zna się podstawową strukturę folderów i plików Cienia i Zewu.

Naszym zadaniem jest przywrócenie do Zewu Prypeci trzech mutantów: cywilnych zombi (bez broni), połamańców (aka "izłomów") oraz kotów.

Uwaga! Radzę robić kopie wszystkich oryginalnych plików, zanim je edytujemy. Zawsze może coś pójść nie tak, a oryginalny wygląd pliku czasem ciężko odzyskać...

Pliki
Potrzebne nam będą pliki z dwóch gier: Cień Czarnobyla i Zew Prypeci, dlatego najpierw wypakujmy obie ich gamedaty. Zajmie to sporo miejsca, ale niektóre z niepotrzebnych, dużo ważących folderów (np. levels) możemy na bieżąco usuwać.

Z Cienia są to:
• Modele:
- zombi_1.ogf (meshes/monsters/zombi)
- zombi_2.ogf (meshes/monsters/zombi)
- zombi_trup.ogf (meshes/monsters/zombi)
- zombi_trup_2.ogf (meshes/monsters/zombi)
- zombi_1_ghost.ogf (meshes/monsters/zombi)
- izlom.ogf (meshes/monsters/zombi)
- cat.ogf (meshes/monsters/cat)

• Animacje:
- zombi_animation (meshes/monsters)

• Pliki konfiguracyjne (configi):
- m_zombie (config/creatures)
- m_fracture (config/creatures)
- m_cat (config/creatures)

• Pliki... ekhm... captures? (będę szczery i powiem, że nie wiem jak określić ich funkcję, chociaż orientuję się mniej więcej za co odpowiadają):
- zombi_captures (config/models/capture)
- zombi_damage_med (config/models/capture)
- izlom_captures (config/models/capture)
- cat_captures (config/models/capture)

• Tekstury:
- act_zombie_1.dds (textures/act)
- act_zombie_2.dds (textures/act)
- act_trup.dds (textures/act)
- act_miaso.dds (textures/act)
- act_izlom.dds (textures/act)

(Tekstura kota znajduje się w plikach Zewu Prypeci.)


Z Zewu natomiast:
- squad_descr.ltx (configs/misc)
- simulation_object_props.ltx (configs/misc)
- monsters.ltx (configs/creatures)
Przenoszenie plików 1. Przed nami zadanie nie tyle trudne, co czasochłonne. Osoby nieobeznane w modowaniu mogą mieć lekkie problemy, ale postaram się wyjaśnić najlepiej jak mogę, co trzeba zrobić.

Na sam początek wrzucamy modele mutantów do odpowiednich folderów, tak więc:
• W katalogu głównym Zewu Prypeci tworzymy folder o nazwie gamedata, następnie w nim kolejny folder, który nazywamy meshes. W tym z kolei folderze tworzymy jeszcze kolejny o nazwie monsters, a jeszcze w nim trzy foldery o nazwach:
- zombi
- izlom
- cat
Do tego folderu (monsters) musimy też wrzucić plik zombi_animation.omf. To animacja, z której korzysta zombi.

• Do folderu "zombi" wrzucamy skopiowane z "wnętrzności" Cienia Czarnobyla pliki zombi_1.ogf, zombi_2.ogf i resztę modeli zombiaków. Do folderu "izlom" wrzucamy izlom.ogf, a do folderu "cat" plik cat.ogf.

Całość ma wyglądać tak:
Obrazek

Jeśli wszystko jest na swoim miejscu, przechodzimy do przenoszenia tekstur.


2. Tworzymy w folderze gamedata folder textures. W tym folderze tworzymy folder act. Przenosimy do niego tekstury mutantów, czyli act_zombie_1.dds, act_zombie_2.dds, act_miaso.dds, act_trup.dds oraz act_izlom.dds.

Obrazek

Gotowe? No to dalej.


3. W folderze gamedata tworzymy folder configs. W nim kolejne dwa foldery: models oraz creatures. Na razie zajmijmy się tym pierwszym.

W utworzonym folderze "models" tworzymy kolejny, który nazywamy "capture". Wrzucamy do niego pliki:
• zombi_captures.ltx
• zombied_damage_med.ltx
• izlom_captures.ltx
• cat_captures.ltx

Obrazek


4. W utworzonym folderze "creatures" umieszczamy pliki konfiguracyjne mutantów: m_zombie.ltx, m_fracture.ltx, m_cat.ltx.

Obrazek

Umieszczamy tam też skopiowany z plików Zewu Prypeci plik monsters.ltx. Otwieramy następnie ten plik. Powinniśmy zobaczyć szereg linijek zaczynających się na "#include". Gdzieś na końcu, najlepiej po linijce #include "m_burer.ltx" dopisujemy linijki o nazwach:
• #include "m_zombie.ltx"
• #include "m_fracture.ltx"
• #include "m_cat.ltx"

Po edycji zapisujemy plik.


5. Teraz czeka nas właściwie najtrudniejsze i najcięższe do opisania zadanie: mianowicie musimy dostosować pliki konfiguracyjne mutantów do "wymagań" Zewu Prypeci.

Zombi
5.1 Na początku zajmijmy się plikiem zombi. Nosi on nazwę - jak łatwo się domyślić - m_zombie.ltx. Otwieramy go.

5.2 Widzimy mnóstwo enigmatycznie brzmiących linijek. Aby mutant "zadziałał" należy dopisać zaledwie kilka nowych, a dokładnie:

Kod: Zaznacz cały

icon = ui_npc_monster_zombie
Linijkę tę można dopisać (prawie) gdziekolwiek, jednak polecałbym tuż pod linijką "corpse_visual". Linijka odpowiada za ikonkę mutanta, która widnieje w PDA w miejscu przeznaczonym dla najsilniejszego zabitego stwora. Ikonki zwanej "ui_npc_monster_zombie" nie ma, więc po zabiciu zombi, w PDA ukarze nam się w miejscu zdjęcia puste pole.

5.3 W pliku znajdują się też linijki odpowiedzialne za przedmioty, jakie spawnują się przy zwłokach zabitego mutanta. Są to:

Kod: Zaznacz cały

Spawn_Inventory_Item_Section = mutant_zombie_hand
Spawn_Inventory_Item_Probability = 0.2
Zew Prypeci nie czyta jednak tych linijkek - w grze nie można przeszukiwać mutantów. "Usuwamy" więc te linijki dodając przed nimi znak średnika:

Kod: Zaznacz cały

;Spawn_Inventory_Item_Section = mutant_zombie_hand
;Spawn_Inventory_Item_Probability = 0.2
5.4 Gdzieś pod sekcją...

Kod: Zaznacz cały

transparency_threshold		= 0.25
... dodajemy dwie linijki:

Kod: Zaznacz cały

vision_danger_section		= stalker_zombied_vision_danger
vision_free_section		= stalker_zombied_vision_free
Jak na logikę, te linijki odpowiadają za zdolności wzrokowe mutanta gdy jest on spokojny (vision_free_section) i gdy jest w trakcie walki (vision_danger_section). Możemy mu oczywiście napisać jego własne sekcje, ale - póki ich nie mamy - skorzystajmy z sekcji stalkera-zombie.

5.5 Na samym końcu pliku znajdują się profile mutantów. Określają one różne odmiany stworów, zwykle dzielą się one na "weak", "normal" i "strong". Tego nie musimy ruszać, bo jest zrobione i kompletne.

Po dokonaniu zmian zapisujemy plik. I tak oto nasz zombi cywil jest gotowy! Teraz możemy zabrać się za pozostałe mutanty.
Połamaniec
Otwieramy plik m_fracture.ltx. Sytuacja wygląda podobnie jak w przypadku zombi, jednak ten plik jest - niestety - jeszcze mniej kompletny. A więc:

5.1 Dopisujemy gdzieś (osobiście zrobiłem to pod linijką "smart_terrain_choose_interval") linjkę:

Kod: Zaznacz cały

icon = ui_npc_monster_fracture
5.2 Dopisywanie linijek vision_danger_section oraz vision_free_section idzie tak samo jak u zombi. Nawet odniesienia możemy wpisać te same.

5.3 Plik połamańca nie posiada linijki o nazwie:

Kod: Zaznacz cały

satiety_threshold	= 0.5
Dopisujemy takową gdzieś pod "eat_slice_weight = 10.0"

5.4 Trzeba też dopisać...

Kod: Zaznacz cały

critical_wound_threshold		= -1
critical_wound_decrease_quant	= 0.
... na przykład pod "DamagedThreshold = 0.5".

5.5 Plik połamańca nie posiada również sekcji odpowiedzialnych za profile mutanta. Należy więc je napisać, najlepiej na samym końcu:

Kod: Zaznacz cały

[fracture_weak]:m_fracture_e
$spawn               		= "monsters\fracture_weak"
panic_threshold			= 0.05
spec_rank			= weak
community			= fracture
Stworzyliśmy dzięki temu "odmianę" połamańca, którą będziemy mogli zespawnować.

5.6 Została jeszcze kwestia obrażeń jakie zadaje nam mutant. Sekcje odpowiedzialne za siłę ciosów znajdziemy na samym początku pliku. Sekcja nazywa się "m_fracture_attack_params". Znajdują się tam nazwy animacji (stand_attack_0 ...2) oraz kolumna o nazwie "hit_power". I tylko ona będzie nas interesować.

Kod: Zaznacz cały

;-------------------------------------------------------
;	anim			| time[0..1] | hit_power |
;-------------------------------------------------------
stand_attack_0 =	  	0.45,		20,
stand_attack_1 =	  	0.45,		20,
stand_attack_2 =	  	0.45,		30,
Wartości vanillowe są jak widać nieźle zawyżone - mutant zadaje obrażenia zdolne zabić jednym ciosem NPC i prawdopodobnie też gracza. Dlatego zmieńmy je np. na:

Kod: Zaznacz cały

;-------------------------------------------------------
;	anim			| time[0..1] | hit_power |
;-------------------------------------------------------
stand_attack_0 =	  	0.45,		0.50,
stand_attack_1 =	  	0.45,		0.50,
stand_attack_2 =	  	0.45,		0.60,
W tym miejscu radziłbym sugerować się wartościami z plików innych mutantów.

Po edycji plik zapisujemy.
Kot
5.1 Modyfikacja tego pliku jest podobna do pliku połamańca. Dopisujemy dwie brakujące linijki:

Kod: Zaznacz cały

smart_terrain_choose_interval	= 00:15:00

Kod: Zaznacz cały

icon = ui_npc_monster_cat
5.2 A także:

Kod: Zaznacz cały

satiety_threshold		= 0.5
5.3 Następnie - podobnie jak w przypadku poprzedniego stworka:

Kod: Zaznacz cały

critical_wound_threshold	= 0.4
critical_wound_decrease_quant	= 0.
5.4 Trzeba też umieścić:

Kod: Zaznacz cały

vision_free_section		= pseudodog_vision_free
vision_danger_section		= pseudodog_vision_danger
Wybrałem tutaj odniesienia dotyczące pieska, ale - jeżeli potraficie - możecie zrobić własne sekcje.

5.5 I na samym końcu tworzymy profil mutanta:

Kod: Zaznacz cały

[cat_weak]:m_cat_e	
$spawn 			= "monsters\cat"	
spec_rank 		= weak	
community 		= cat	
Po zmianach zapisujemy.
Dodawanie mutantów do świata gry
Aby dodać mutanty do świata gry, tak aby spacerowały po Zonie, musimy edytować przede wszystkim dwa pliki: squad_descr.ltx oraz simulation_object_props.ltx (znajdują się one w trzewiach Zewu Prypeci).

Otwieramy pierwszy z nich i widzimy sekcje odpowiadające za skład i liczbę oddziałów stalkerów i mutantów jakie znajdują się w Zonie.

Mamy teraz wybór:
• Jeżeli zależy nam na szybkim zobaczeniu efektów naszych działań możemy edytować jedną z już istniejących sekcji np.:

Kod: Zaznacz cały

[simulation_boar]:online_offline_group
faction = monster_vegetarian
npc_random = boar_normal, boar_normal, boar_normal, boar_strong
npc_in_squad = 1, 2
Jeżeli chcemy, aby w tym oddziale zamiast dzików pojawiły się zombi, zamieniamy dane w linijce npc_random na:

Kod: Zaznacz cały

[simulation_boar]:online_offline_group
faction = monster_vegetarian
npc_random = zombie_weak, zombie_normal, zombie_strong
npc_in_squad = 1, 2
Gdzie: zombie_weak, _normal i _strong to nazwy profili mutantów jakie znajdują się w pliku m_zombie.ltx.

Po edycji oczywiście zapisujemy. Po tej modyfikacji zamiast dzików, w stadach (niektórych) przemierzających Zonę powinny pojawić się zombi.

• Drugi sposób - odrobinę trudniejszy - pozwoli nam na stworzenie zupełnie nowego squadu z własnym zestawem mutantów. Opiszę to na przykładzie zombi. Jest to sposób, który pasuje do wszystkich typów mutantów.

1. Edytujemy plik squad_descr.ltx dopisując w nim gdzieś taką sekcję:

Kod: Zaznacz cały

[simulation_zombie]:online_offline_group
faction = monster_zombied_night
npc_random = zombie_weak, zombie_normal, zombie_strong
npc_in_squad = 2, 4
Gdzie:
• simulation_zombie - nazwa squadu
• faction = monster_zombied_night - szczerze mówiąc nie za bardzo wiem, co to może oznaczać i za co odpowiada
• npc_random - losowo dobierane rodzaje mutantów
• npc_in_squad - minimalna i maksymalna liczba mutantów w squadzie

Po edycji zapisujemy.

2. Dodajemy nowy wpis do pliku simulation_object_props.ltx, gdzieś po sekcji [simulation_psy_dog]

Kod: Zaznacz cały

[simulation_zombie]:default_squad
sim_avail = true
• simulation_zombie to nazwa, którą umieściliśmy w squad_descr.ltx.

Teraz wystarczy stworzyć punkt odradzania dla nowych mutantów. Jak to zrobić, napisałem w tym tutorialu:
https://nowe-forum.stalker.pl/viewtopic.php?f=98&t=25064, a konkretnie w pierwszym rozdziale o spawnowaniu mutantów. Mam nadzieję, że ten obszerny i być może troszkę chaotyczny poradnik pomoże Wam w modowaniu i zrobicie z jego pomocą coś naprawdę ciekawego ;) . Jeżeli pojawią się jakieś wyloty, błędy, pytania, niejasności - proszę informować, pytać, słać PW, krzyczeć. Postaram się na wszystko odpowiedzieć.
Oto efekty - mutanty zespawnowałem przy pomocy lekko przerobionego Władcy Zony:
Obrazek
Obrazek
Obrazek
Widocznego na pierwszym zdjęciu "zombi ducha" przywróciłem po dodaniu do pliku m_zombie.ltx nowego profilu. Brzmi on:

Kod: Zaznacz cały

[zombie_ghost]:zombie_strong
$spawn				= "monsters\zombies\zombie_ghost"
visual				= monsters\zombi\zombi_1_ghost
panic_threshold		= 0.05	
Pozdrawiam i przyjemnej zabawy z moddingiem!
Postawili kozaka za ten post (5):
Monolit
Posty: 4280
Rejestracja: 27 maja 2012, 10:49
Ostatnio: 28 lis 2017, 19:49
Lokalizacja: Kukle Karakańskie
Ulubiona broń: TOZ34
Kozaki:
853
Na górę
Post autor: Pangia 
Oszczędziłbyś sobie mnóstwo pisania, dając po prostu screena z eksploratora ze ścieżką folderów i plików w nich się znajdujących i osobiście bym to poprawił, bo ta ściana tekstu jest dość trudna do zrozumienia, jeżeli się nie załapie, że właśnie o to chodzi ;)
Proszę państwa, sto pięćdziesiąt kilometrów na godzinę w ciągu kilku sekund, wspaniały wynik. Gdyby w ten sposób można było wypie*dolić z polskiej polityki tych wszystkich śmieci z Okrągłego Stołu, Leszka Millera, byłoby… cudownie i każdemu bym ku*wa kupił po takim Ferrari, byleby w piz*u pojechali tym PROSTO do swojego ukochanego… Izraela. SYJONIŚCI Europy, jedźcie do siebie! Pozdrawiam, Zbigniew Stonoga. Nie jestem antysemitą!
Powinność
PMG
Redaktor
Posty: 376
Rejestracja: 12 gru 2010, 10:30
Ostatnio: 01 sie 2024, 15:05
Ulubiona broń: Viper 5 9x18
Kozaki:
127
Na górę
Post autor: PMG 
Dziękuję za sugestię, przemodeluję ten twór w najbliższym czasie ;) .

Edit: Dokonałem.
Odpowiedz

Podobne tematy