Modding Gothica > Pytania i problemy

Problemy z wstawianiem pierwszych NPC

<< < (56/56)

R4zor:
Po ponownej instalacji gothica wszystko działa poprawnie - dodałem nowe tekstury twarzy i ciała. Pojawił się jednak pewien mały defekt graficzny:
screenTa ziarnistość/migotanie tekstur nie jest jakimś palącym problemem, aczkolwiek gryzie się z pozostałymi, oryginalnymi teksturami. Jak ktoś zna rozwiązanie tego problemu, niech da znać.
Dziękuję wszystkim za pomoc.

Fabio:
Jak konwertujesz gomanem to przy mipmap musi być większa wartość.

R4zor:
Dawno nie modyfikowałem skryptów w Gothicu 2 dlatego chciałbym zapytać o parę kwestii.

Skrypt postaci (Nazwa pliku: pc_hermes | Lokalizacja: _Work/Data/Scripts/Content/Story/NPC)

--- Kod: ---instance pc_hermes(NPC_DEFAULT)
{
name[0] = "Hermes";
guild = GIL_NONE;
id = 5000;
voice = 5;
flags = NPC_FLAG_IMMORTAL;
npctype = NPCTYPE_FRIEND;

b_setattributestochapter(self,6);
fight_tactic = FAI_HUMAN_MASTER;

b_createambientinv(self);
EquipItem(self,itmw_1h_pal_sword);

b_setnpcvisual(self,MALE,"Hum_Head_Pony",FACE_N_LEFTY,BODYTEX_N,ITAR_SLD_M);
Mdl_SetModelFatness(self,0);
Mdl_ApplyOverlayMds(self,"Humans_Relaxed.mds");

b_givenpctalents(self);
b_setfightskills(self,65);

daily_routine = rtn_start_5000;
};

func void rtn_start_5000()
{
ta_smoke_joint (8,0,10,0,"NW_XARDAS_TOWER_IN1_31");
ta_stand_armscrossed (10,0,23,0,"NW_XARDAS_TOWER_IN1_31");
ta_sleep (23,0,8,0,"NW_XARDAS_TOWER_IN1_31");
};


--- Koniec kodu ---

Pytania:
1. Jakie pliki potrzebne są tylko do dodania postaci do świata i jak je poprawnie zmodyfikować?
Dodaję postać do _Work/Data/Scripts/Content/Story/NPC i reparsuję skrypty GothicStarter_mod -> wpisując w konsolę kod "pc_hermes" nie pojawia się żadna postać (tak jakby nie istniała w plikach gry...)
Dodając go do startup.d:
func void startup_newworld_part_xardas_01()
{

   Wld_InsertNpc(pc_hermes,"NW_XARDAS_START");
   Wld_InsertNpc(none_100_xardas,"NW_XARDAS_START");

};
przy uruchamianiu gry wyskakuje błąd: U:PAR:CONTENT\STORY\STARTUP.D: Uknown Identifier: PC_HERMES
EDIT:
Dopiero gdy ręcznie wpiszę go w plik Gothic.src wszystko działa poprawnie... tzn. postać pojawia się w świecie gry, kod działa i nie ma błędów.

2. ^Dlaczego nie uwzględnia mi dodanego npca przy reparsowaniu skryptów? (tylko muszę ręcznie dodawać jak pisałem wyżej)

3. Jak dokładnie używać redefixa do dialogów, bo u mnie wyskakuje następujący błąd:
https://imgur.com/a/pCFww7Y <----------- z tym sobie poradziłem

Z góry dziękuję za pomoc i udzielone odpowiedzi.

Adanos:
1., 2. Wpis
--- Kod: ---STORY\NPC\*.d
--- Koniec kodu ---
w gothic.src powinien być wcześniej niż wpis
--- Kod: ---STORY\Startup.d
--- Koniec kodu ---

MrSnooker:


Dzisiaj o 21:34

    Szybka Edycja
    Więcej

Witam, stworzona postać nie chce zmienić rutyny. próbowałem komend takich jak:

--- Kod: ---
B_StartOtherRoutine (self,"wait");

--- Koniec kodu ---
i

--- Kod: ---Npc_ExchangeRoutine (self,"wait");

--- Koniec kodu ---
kod postaci wygląda tak:

--- Kod: ---
instance NONE_01_Test(NPC_DEFAULT)
{
name[0] = "Test";
guild = GIL_NONE;
id = 01;
voice = 7;
flags = NPC_FLAG_IMMORTAL;
npctype = NPCTYPE_MAIN;
aivar[AIV_TOUGHGUY] = TRUE;
aivar[AIV_TOUGHGUYNEWSOVERRIDE] = TRUE;
aivar[AIV_IGNORE_THEFT] = TRUE;
b_setattributestochapter(self,6);
fight_tactic = FAI_HUMAN_MASTER;
EquipItem(self,itmw_2h_sld_sword);
b_setnpcvisual(self,MALE,"Hum_Head_Bald",FACE_B_NORMAL_KIRGO,BODYTEX_B,itar_djg_crawler);
Mdl_SetModelFatness(self,0);
Mdl_ApplyOverlayMds(self,"Humans_MILITIA.mds");
b_givenpctalents(self);
b_setfightskills(self,60);
daily_routine = rtn_prestart_01;
};


func void rtn_prestart_01()
{
ta_Stand_Armscrossed(8,0,23,0,"MOB_01");
ta_Stand_Armscrossed(23,0,8,0,"MOB_01");
};

func void rtn_wait_01()
{
ta_Stand_Eating(8,0,23,0,"MOB_03");
ta_Stand_Eating(23,0,8,0,"MOB_03");
};

--- Koniec kodu ---

kod w dialogach, gdzie chcę tego użyć:


--- Kod: ---
func void DIA_NONE_01_Test_zadanie_info()
{
AI_Output(other,self,"DIA_NONE_01_Test_zadanie_15_00"); //Co mam zrobić?
AI_Output(self,other,"DIA_NONE_01_Test_zadanie_01_01"); //Zbierz 5 roślin leczniczych i 2 menzurki.
Log_CreateTopic (TOPIC_ADDON_TEST1, LOG_MISSION);
Log_SetTopicStatus (TOPIC_ADDON_TEST1, LOG_RUNNING);
B_LogEntry (TOPIC_ADDON_TEST1, "Mam zebrać 5 roślin leczniczych i 2 menzurki.");
AI_Output(other,self,"DIA_NONE_01_Test_zadanie_15_02"); //Jasne.
AI_Output(self,other,"DIA_NONE_01_Test_zadanie_01_02"); //Jak już zbierzesz co trzeba wróć do mnie, sprawdzimy inne rodzaje zadań.
AI_StopProcessInfos(self);
B_StartOtherRoutine (self,"wait");
};

--- Koniec kodu ---
Zamiana kolejności z ai_stopprocessinfos nic nie daje, zmiana nazwy rutyny również. Postać dalej stoi w miejscu ze skrzyżowanymi rękami, zamiast przemieścić się jesć w inne miejsce. Skrypt podczas kompilacji bez błędów.

Nawigacja

[0] Indeks wiadomości

[*] Poprzednia strona

Idź do wersji pełnej