Własna postać (NPC) 18337 2

O temacie

Autor

Zaczęty 25.08.2016 roku

Wyświetleń 18337

Odpowiedzi 2

gothic1210
  • Gość
Gothic 3 - Tworzenie własnej postaci

Zawartość merytoryczna samouczka została opracowana przez: @Squerol
Propsować można tutaj: http://themodders.org/index.php?topic=26949.msg1255827#msg1255827
Zredagował: gothic1210


Hierarchia wczytywania plików
Te informacja może być przydatna dla początkujących użytkowników mający zainstalowane dodatki typu Content Mod itp.
Gra najpierw wczytuje pliki pak, a nod na końcu. Kolejność wg rozszerzeń przedstawia się następująco:
1) pxx(np. p00, p01) 2) pak
1) cxx(np. c00, c01) 2) cpt
1) mxx(np. m00, m01) 2) mod
1) nxx(np. n00, n01) 2) nod
Mówiąc w skrócie: najpierw paczka z rozszerzeniem oznaczonym numerem, potem oryginalna.

Koordynaty
Najpierw znajdź sobie w grze koordynat (miejsce, gdzie chcesz zespawnować NPC'ta). Uruchom grę, wbij "marvin" (kody - możesz też "testmode" true w ge3.ini), konsola ~, zakładka "edit"->"toggle editor", znowu zakładka "edit"->"edit mode"->"free cam mode" (użyj SHIFT aby poruszać kamerą szybciej).
Leć gdzieś gdzie chcesz coś zespawnować, np. w poradniku lokacją testową będzie Braga i namiot na wzgórzu - wciśnij ctrl+s, zobaczysz koordynaty, koordynaty znajduj stykając się kamerą z ziemią, jak na screenie

Zaznaczyłem, które to koordynaty x, y, z, rób sobie najlepiej screena z koordynatami w grze, później łatwo sobie je przepiszesz (polecam bandicam'a).

lrentdat'y
Otwórz wypakowany ".lrentdat" NPC'tów Bragi programem g3dit - folder i nazwa miasta nie ma znaczenia tak na marginesie, możesz wklepać npc'ta do pliku z Ishtar i dać mu koordynaty z Klasztoru, i tak zadziała, jest to tylko tak zrobione żeby był porządeczek :) Ja teraz jak moduję to wklepuje NPC'ty i potworki do osobnego pliku - wziąłem sobie Projects_compiled\Consequences\ZixZax.lrentdat, jest porządeczek :)

Następnie, sklonuj sobie byle jakiego NPC'ta, np. AssWarrior_01 (prawy klik -> klonen). Zmień sobie jego name, zresetuj guid (żeby miał unikalne, kliknij na tą czarną ikonkę), wyczyść Reference Guid - jest to referencja do guid rzeczy z innego pliku, np. do NPC'ta z templatsów, a my na razie tego nie chcemy.

Edytowanie NPC


Weźmiemy się pierw za pancerz i głowę.
Musimy znać nazwę modelu (mesh), wariant jego tekstury (material switch) i jego guid.
Łatwo edytować to pod zakładką NPC, "Kórperteile", Kopf to łeb, Korper to ciało, dalej włosy, broda, hełm.
Klikamy na ikonkę ołóweczka pod Korper.
Bierzemy te dane z pliku wybranego elementu, hełmy w items\items_story a heady, body, barty, facialstuffy mamy w "\Templates\NPC\__Master_Humans", np. wziąłem sobie pancerz "HumanBodyParts_Body_Body_Nom_Elite_Outlaw_a" (elitarny banity), otwórz go. Zakładka "Animation". W "lrentdadzie" kopiujesz to do Korper w odpowiednie pola. Skopiuj też "Reference Guid" pod zakładką "allgemeien". Zmień początek liczby ChangeTime (np. masz 50, zmień na 60, masz 99, zmień na 109, ChangeTime to coś jak odśwież - jak tego nie zmienisz, nie zobaczysz zmian na rzeczach zespawnowanych już w grze, co najwyżej jak coś zespawnujesz komendą spawn - także jak zmieniasz coś, gdzie masz ChangeTime, ZAWSZE ją powiększaj zanim zapiszesz edycję). Kliknij zielonego ptaszka (ok).

Zrób to samo z głową czy tam hełmem, tak samo pierw wypakuj sobie wybraną główkę, skopiuj dane, zrób changetime itd.
Przykładowa nazwa pliku głowy "HumanBodyParts_Head_Hero_04_S13.tple"
Aha, name dajesz jakie sobie chcesz  :ok:

Możesz też importować NPC'ów prosto z innych "lrentdat'ów": "tools"->"entieties aus Datei importieren" i podrzucać ich części ciała, np. głowę Thorusa z pliku Trellis podrzucasz na swoją postać.

Dobra, teraz koordynaty: "allgemeinein", "position" - kliknij ołóweczek, wklep x, y, z ze swojego zrobionego screena w grze.
Pitch, jaw i roll to jak chciałbyś obiekt obrócić, nachylić, itp. (zapomniałem które to które, zostaw to w spokoju przy NPC'cie  :ok:). Scale to rozmiar objektu - naprawdę fajna sprawa  :D
Dobra, daj "Speichren", i gotowe. Zwiększ changetime pod "allgemeinen" i zapisz.

Teraz rutyny pod "navigation".
Na razie w ramach testu, zostaw tylko jedną rutynę (domyślna "start"). Wklej pod working, relaxing i sleeping "guid" swojego NPC'ta, żeby stał w miejscu i nie uciekł hen daleko :)
Tak poza tym możesz dodać tu guid czego chcesz.

Co do innych zakładek tutej:
- "CollisionShape" - jak sama nazwa wskazuje, kolizje. Nie ruszaj przy NPC'tach, co najwyżej jak podstawiasz np. człowieka pod potwora, przy różnorakim podstawianiu itd.
- "Inventar" - tu ustawiasz, co ktoś "dropi" (mówiąc po metinowsku hehe) i jakiego zestawu broni używa. Możesz sobie ustawić byle co, możesz sobie w templatsach nawet robić swoje własne zestawy do grabieży, zestawy używanych broni przez NPC'tów/humanoidy,
- "Animation" - co ustawiasz tutaj zależy od rodzaju edytowanego obiektu,

Jeszcze zakładka "NPC", warte wspomnienia opcje:
- "Stimme" głos - rodzaj jęków, stęków, svm'ów,
- "level" - poziom zadawanych obrażeń i ile dostajemy expa za ubicie NPC'ta/potworka,
- "max level" - poziom wytrzymałości - ile ma HP, jaką ma odporność na obrażenia,
- "klasse" - klasa postaci, tu jest ciekawa sprawa z "mage'em" - ustawisz to, to NPC tak o, od buta, może ciskać kulami ognia i mrozu :)
- "politiche coś tam coś tam" - gildia, np. Out to bandzior, Mid to goniec/druid, none neutralny, nom koczownik itp. Jeśli ustawisz out to postać będzie negatywnie nastawiona (czerwona nazwa + atakowanie bohatera)

Dobra, załóżmy że już zlepiłeś swojego "Frankensteina" hehe.... i oczywiście zwiększyłeś ChangeTime po "allgemeinen".
Kliknij "+" z lewej strony, koło nazwy swojego NPC'ta - jak rozwinięte pliki będą na czerwono, to znaczy że właściciel się nie zgadza.
Pod zakładką "interaction" masz pole "owner" - wklej tam "guid" swojego NPC'ta powyżej, oczywiście ChangeTime i zapisz.
Wróć do swojego NPC'ta, zwiększ mu znowu ChangeTime w razie w i zapisz.

Finalizacja

Skopiuj swój zmodyfikowany plik z całą strukturą, tak jak po wypakowaniu (no wiesz, np. struktura folderu "Projects_compiled\G3_World_01\Varant\Braga_City\G3_Varant_01_Braga_NPC_01\") do Gothic 3\Data.
Możesz też spakować folder w G3PU pod nowy plik "Projects_compiled" ale na razie sprawdzamy tylko czy działa, także nie robimy tego, szkoda czasu.
Rozpocznij nową grę, wklep komendę w konsoli - goto <tu wpisz name swojego NPC'ta z lrentdat'a> kliknij enter. Powinieneś się przenieść do swojego NPC'ta :)

Mój przykładowy NPC:


Zapewne nie wyświetla się nazwa twojego NPC'ta. Musisz dodać odpowiednią linijkę do stringtable.ini (np. FO_<nazwaNPCta>=your mom;;aaa;;bbb;;itd.), skompilować sobie _stringtable.bin (poprzez skasowanie wszystkich projects_compiled poza .pak i rozpoczęciem nowej gry z wklejonym plikiem stringtable.ini w odpowiednie miejsce), zmienić nazwę na stringtable.bin i wrzucić to pod "projects_compiled" .

W razie błędów proszę pisać do mnie na PW (@gothic1210).
 

Wiktor19971

Wiktor19971

Użytkownicy
posty71
Propsy8
  • Użytkownicy
Hmmm a jak dokładnie zmienić NPC broń?
 

Squerol

Squerol

Użytkownicy
twój stary
posty712
Propsy547
ProfesjaNierób
  • Użytkownicy
  • twój stary
Hmmm a jak dokładnie zmienić NPC broń?

To samo narzędzie, czyli g3dit.

Tak jak już chyba wspomniałem, u wybranego NPC'ta (czy to z poziomu pliku .tple czy z poziomu .lrendat) jest zakładka "Inventar".
Tutaj w którą chcesz rubryczkę możesz ustawić NPC'towi zarówno jego założoną broń, jak i łup który możemy z niego zabrać po obiciu go.

Domyślny zestaw założonych broni zaczyna się na "TS_Weaponry...", np. "TS_Weaponry_Ass_1H_1H" itp.

Pliki tej kategorii, jak łup, zestaw broni, itp. znajdują się w "\Templates\Treasure\".

Edycja bądź tworzenie nowego zestawu jest dziecinnie prosta - otwierasz, zakładka "TreasureSet", dajesz "TreasureDistribution" na "Weaponry", niżej "Weaponry_NPC".
Na dole dodajesz ikonką "+" jaką broń chcesz - czy to miecz/łuk/tarcze/co Pan se chcesz.
Do "Reference ID" kopiujesz->wklejasz "Reference Guid" wybranego przedmiotu. Zazwyczaj znajdziesz Guid w pliku .tple swojego przedmiotu.
Kolumny "Amount" i "Quality" to oczywiście wiadomo co.

Nie zapominaj o "ChangeTime" przy zapisywaniu.

Jak se zrobisz co chcesz to po prostu kopiujesz "Name" do "TreasureSet" NPC'ta.
aaaa i przycisk "Ubernamen" automatycznie aktualizuje nazwę TreasureSet'a, taki bajer.


0 użytkowników i 1 Gość przegląda ten wątek.
0 użytkowników
Do góry