Gdy tworzymy nową, potężną frakcję, zapewne chcemy też, aby żyła wraz z innymi stalkerami.
Na sam początek polecam zapoznać się z tym poradnikiem:
viewtopic.php?f=98&t=9090 Gdy mamy pewność, że nasza nowa frakcja jest pełna, stabilna i ogólnie "dobrze zrobiona", to możemy zabrać się za tworzenie nowych squadów.
Potrzebne będą pliki:
- spawn_section_general.ltx (configs\creatures)
- character_desc_general.xml (configs\gameplay)
- npc_profile.xml (configs\gameplay)
- squad_descr.ltx (configs\misc)
- simulation_objects_props.ltx (configs\misc)
oraz w dalszej kolejności dowolny smart terrain wybrany spośród plików dla dowolnej lokacji (configs\scripts\zaton\smart, configs\scripts\jupiter\smart, configs\scripts\pripyat\smart).
Osobiście stworzyłem sobie nową frakcję, którą nazwałem "milstalkers", czyli wojskowi stalkerzy. Nazwa, którą umieściliśmy w pliku game_relations.ltx (configs\creatures) będzie nam służyła przez resztę poradnika.
1. Na początku zajmijmy się wykreowaniem nowego "profilu" określającego rodzaj squadu naszej frakcji:
Potrzebny będzie nam plik spawn_section_general.ltx. Na samym końcu pliku dopisujemy taką sekcję.
- Kod: Zaznacz wszystko
[sim_default_mil_stalker_1]:stalker
$spawn = "respawn\sim_default_mil_stalker_1"
character_profile = sim_default_mil_stalker_1
spec_rank = veteran
community = milstalkers
- nazwa w nawiasie kwadratowym będzie potrzebna przy ustalaniu składu grupy w pliku squad_descr.ltx oraz będzie używana przez smart terrain podczas spawnu.
- $spawn = "respawn\sim_default_mil_stalker_1" - umieszczamy tutaj tę samą nazwę, co w nawiasie, linijkę wyżej.
- character_profile = sim_default_mil_stalker_1 - nazwa po "=" będzie używana przez plik npc_profile.xml. Lepiej wpisać tu to samo, co w nawiasie.
- spec_rank = veteran - linijka ta oznacza rangę, jakiej są przedstawiciele owej grupy. W tym przypadku jest to weteran.
- community = milstalkers - nic innego, jak nazwa frakcji, którą stworzyliśmy. W moim przypadku jest to wspomniane już "milstalkers", ale Wy użyjcie nazwy swojej własnej frakcji.
Gdy plik mamy już gotowy, zapisujemy go.
2. Informacje na temat stworzonego przed chwilą profilu musimy umieścić również w pliku npc_profile.xml. Otwieramy go np. notatnikiem i pod koniec pliku (ale uważając, aby zmieścić się w tagu <\xml>! Inaczej nasza sekcja nie będzie czytana przez grę!) dopisujemy:
- Kod: Zaznacz wszystko
<character id="sim_default_mil_stalker_1">
<class>sim_default_mil_stalker_1</class>
</character>
- character id to to, co umieściliśmy w spawn_section_general, a <class> to sekcja używana przez plik character_desc_general.
3. Określanie członków i wyposażenia nowego ugrupowania.
Docieramy do pliku character_desc_general.xml (configs\gameplay) i otwieramy go np. przy pomocy notatnika. Na (aby uniknąć ryzyka pogubienia) samym końcu pliku (również uważając, aby zmieścić się w tagu!) dopisujemy sekcję odpowiedzialną za przedstawiciela frakcji.
Plik ów określa wygląd i wyposażenie przedstawicieli frakcji występujących w grze. Tutaj możemy posłużyć się metodą "kopiuj - wklej". Jako, że moja frakcja to wojskowi stalkerzy, to skopiowałem i przerobiłem któregoś z wojskowych.
- Kod: Zaznacz wszystko
<specific_character id="sim_default_military_stalker_default_0" team_default = "1">
<name>GENERATE_NAME_stalker</name>
<icon>ui_inGame2_Soldier_4</icon>
<map_icon x="1" y="0"></map_icon>
<bio>Îďűňíűé ńňŕëęĺđ. Äĺňŕëüíŕ˙ číôîđěŕöč˙ îňńóňńňâóĺň.</bio>
<class>sim_default_mil_stalker_1</class>
<community>milstalkers</community> <terrain_sect>stalker_terrain</terrain_sect>
<snd_config>characters_voice\human_03\stalker\</snd_config>
<rank>60</rank>
<reputation>0</reputation>
<visual>actors\stalker_soldier\stalker_soldier_4</visual>
<supplies>
[spawn] \n
wpn_groza \n
ammo_9x39_ap = 1 \n
wpn_usp \n
ammo_11.43x23_fmj = 1 \n
grenade_f1 = 4 \n
#include "gameplay\character_items_nd.xml"
#include "gameplay\character_food.xml"
#include "gameplay\character_drugs.xml"
</supplies>
#include "gameplay\character_criticals_4.xml"
#include "gameplay\character_dialogs.xml"
</specific_character>
• "sim_default_military_stalker_default_0" oznacza nazwę stalkera. Tutaj możemy wpisać cokolwiek, byleby jednak ta nazwa nie powtarzała się w całym pliku, ani też w innych plikach z kategorii "character_desc".
• <name>GENERATE_NAME_stalker</name> - imię naszego stalkera. Tutaj mamy do wyboru: GENERATE_NAME_stalker, GENERATE_NAME_bandit, GENERATE_NAME_science, GENERATE_NAME_private, GENERATE_NAME_lieutenant, GENERATE_NAME_captain, GENERATE_NAME_sergeant.
• <icon>ui_inGame2_Soldier_4</icon> - ikonka NPC, wyświetlana podczas handlu.
• <class>sim_default_mil_stalker_1</class> - nazwa "profilu", do którego przyporządkowany jest nasz NPC. Nazwę tą już umieściliśmy w plikach spawn_section_general.ltx, oraz npc_profile.xml.
• <community>milstalkers</community> <terrain_sect>stalker_terrain</terrain_sect> - community to tyle, co "frakcja", a terrain_sect... cóż, nie wiem - ale lepiej nie ruszać
.
• <snd_config>characters_voice\human_03\stalker\</snd_config> - typ i rodzaj głosu przedstawiciela frakcji. W tym przypadku jest to głos stalkera-mistrza (w folderze human_03 zwykle znajdują się głosy "przytłumione", pasuje więc to do jego wyglądu)
• <rank>60</rank> - ranga. Nie mam pewności, czy jest to używane przez grę, podobnie jak <reputation>.
• <visual>actors\stalker_soldier\stalker_soldier_4</visual> - wygląd naszej postaci. Mój wojskowy stalker ma wygląd żołnierza-mistrza.
• <supplies> - w tej sekcji znajduje się ogół wyposażenia naszego NPC. Ja dałem mu Grozę i amunicję oraz USP i granaty. Należy pamiętać, aby każdą linijkę kończyć "\n", np. "wpn_ak74 \n".
Reszta plików oznacza resztę wyposażenia, takiego jak jedzenie, apteczki, a ostatnia jest odpowiedzialna za dialogi.
4. Gdy profil naszego NPC jest kompletny i taki, jakiego oczekiwaliśmy, zapisujemy plik.
Teraz pora ustanowić wygląd squadów, w jakich będzie się poruszać nasza frakcja. Znajdujemy więc plik squad_descr.ltx i otwieramy go. Gdzieś pod koniec dopisujemy sekcję:
- Kod: Zaznacz wszystko
[military_stalkers_sim_squad]:online_offline_group
faction = stalker
npc_random = sim_default_mil_stalker_1
npc_in_squad = 1, 3
- nawias kwadratowy mieści nazwę, jaką będziemy posługiwać się podczas spawnowania grupy.
- faction to frakcja. Tutaj możemy wpisać "stalker", pomimo faktu, iż nasza frakcja nosi nieco inną nazwę. Jednak zanim nie zedytujemy kilku innych plików, trzymajmy się tego.
- npc_random - tutaj możemy ustalić, jaka konkretnie klasa będzie wchodziła w skład grupy. My stworzyliśmy dopiero jedną klasę - sim_default_mil_stalker_1 - więc umieszczamy ją tutaj. Jednak, gdybyśmy stworzyli więcej klas i dodali je wszystkie do tej linijki, gra losowo wybierałaby, które z nich znajdą się w grupie.
- npc_in_squad - określa, ile minimalnie i ile maksymalnie jednostek ma wchodzić w skład grupy. W moim przypadku, oddział będzie liczył od 1 do 3 wojskowych stalkerów.
5. Gdy nasz skład jest już gotowy, musimy dodać go do pliku simulation_objects_props.ltx (config\misc). Gdzieś na końcu pliku, bądź na końcu "sekcji" przeznaczonej dla NPC (po zombied_sim_squad_veteran) dopisujemy:
- Kod: Zaznacz wszystko
[military_stalkers_sim_squad]:default_squad
sim_avail = true
6. Przyszedł czas na stworzenie punktu respawnu. Tutaj odeślę Was do tutoriala drugiego, poświęconego NPC.
Może pojawić się problem, że stalkerzy z nowej, stworzonej przez Was frakcji wydają się być niemi.
W takim przypadku musicie edytować pliki script_sound.ltx (configs\misc), oraz script_sound_music_and_stories.ltx (configs\misc). W obu plikach odnajdziecie sekcje z linijkami "avail_communities". Dopiszcie do nich nazwę swojej frakcji i gotowe!
przykład ze script_sound_music_and_stories.
- Kod: Zaznacz wszystko
[attack_begin]
type = npc
avail_communities = stalker, bandit, dolg, freedom, army, milstalkers
npc_prefix = true
path = alife\attack\attack_begin_
shuffle = rnd
idle = 0,0,100
Uwaga! Należy uważać podczas dodawania nazwy swojej frakcji i zwracać uwagę na zestawy głosów, jakie przyporządkowaliśmy swoim NPC-om. Niektóre z zestawów głosów (m.in. głosy najemników) są niekompletne. Gdy gra nie odnajdzie szukanego głosu, istnieje ryzyko pojawienia się błędu. Sprawdzałem.