Problemy z wstawianiem pierwszych NPC 177238 279

O temacie

Autor Buła

Zaczęty 24.10.2008 roku

Wyświetleń 177238

Odpowiedzi 279

Adanos

Adanos

Administrator
Szara eminencja
posty5204
Propsy3870
ProfesjaProgramista
  • Administrator
  • Szara eminencja

Adanos
Administrator

Problemy z wstawianiem pierwszych NPC
#60 2009-06-12, 23:55(Ostatnia zmiana: 2009-06-12, 23:55)
Wyślij na jakiś serwer plik ze swoim npc-em. Np. możesz uploadować na www.sendspace.com

SkateGTX

SkateGTX

Użytkownicy
posty3
  • Użytkownicy
Mój problem z NPC wygląda tak, że pojawia się on, gra na lutni (tak jak ustaliłem), ale przy dialogu po wybraniu ustalonego tytułu (description) nie ma nic. Po chwili pojawia się już tylko zakończenie dialogu.


Cytuj
// ************************ EXIT **************************

instance  Bau_2001_Ray_Exit (C_INFO)
{
   npc         =  Bau_2001_Ray;
   nr         =  999;
   condition   =  Bau_2001_Ray_Exit_Condition;
   information   =  Bau_2001_Ray_Exit_Info;
   important   =  0;   
   permanent   =  1;
   description =  DIALOG_ENDE;
};                      

FUNC int  Bau_2001_Ray_Exit_Condition()
{
   return 1;
};

FUNC VOID  Bau_2001_Ray_Exit_Info()
{
   AI_StopProcessInfos   ( self );
};
// ***************************** INFOS ****************************************//

instance  Bau_2001_Ray_GREET (C_INFO)
{
   npc            = Bau_2001_Ray;
   condition      = Bau_2001_Ray_GREET_Condition;
   information      = Bau_2001_Ray_GREET_Info;
   important      = 0;
   permanent      = 0;
   description      = "Ich habe gehört, du bist der Schmelzer";
};

FUNC int  Bau_2001_Ray_GREET_Condition()
{
   return 1;
};


FUNC void  Bau_2001_Ray_GREET_Info()
{
   AI_Output (other, self,"Bau_2001_Ray_GREET_Info_15_01"); //Ich habe gehört, du bist der Schmelzer.
   AI_Output (self, other,"Bau_2001_Ray_GREET_Info_11_02"); //Du bist ja ein ganz schlauer Bursche.
};
 


SkateGTX

SkateGTX

Użytkownicy
posty3
  • Użytkownicy
Thx pomogło, tylko nie wiem dlaczego mój NPC ciągle wyciąga i chowa lutnie
 

Polik
  • Gość
Witam ja mam 2 pytania jak sprawdzic te waypoint (w gothicu 2 nk)
Czym je sprawdzic, jak je wpisac, np żeby npc znajdował sie w starej gorzelni wina i tam stał prosze wytłumaczcie to mi
A drugie pytanie
Czy skrypty npc z gothica 1 będą działały w g2: nk bo z g1 troche sie różnią i są łatwiejsze
Prosze o pomoc
 

Adanos

Adanos

Administrator
Szara eminencja
posty5204
Propsy3870
ProfesjaProgramista
  • Administrator
  • Szara eminencja
Cytuj
Witam ja mam 2 pytania jak sprawdzic te waypoint (w gothicu 2 nk)
Czym je sprawdzic, jak je wpisac, np żeby npc znajdował sie w starej gorzelni wina i tam stał prosze wytłumaczcie to mi
Nowe waypointy tworzysz w spacerze.

Cytuj
Czy skrypty npc z gothica 1 będą działały w g2: nk bo z g1 troche sie różnią i są łatwiejsze
Jeśli odpowiednio je zmodyfikujesz, to tak.

Polik
  • Gość
aha kurcze to nieda rady nowego npc umieścić w starej gorzelni wina bez spacera ?
 

kazzam

kazzam

Użytkownicy
Tester GWW
posty212
  • Użytkownicy
  • Tester GWW
aha kurcze to nieda rady nowego npc umieścić w starej gorzelni wina bez spacera ?

Da jeśli ktoś poda ci nazwy waypointów jakie tam są.

Ale ściągnij space.masz   go na tym forum w dziale download
 

Polik
  • Gość
ok dzięki za pomoc
sprawdzcie czy dobrze nowego npc zrobiłem on ma byc w starej gorzelni wina zrobiłem waypointa o nazwie test w spacerze robiłem wszystko tak jak w torturialach dopisałem w pliku Startup wszystko ale większość jest do gothic 1 więc troche ciężko
instance KDW_9999_TEST (Npc_Default)
{
//-------- primary data --------

name = "TEST";
npctype = npctype_main;
guild = GIL_KDW;
level = 80;
voice = 9;
id = 9999;

//-------- abilities --------
attribute[ATR_STRENGTH] = 100;
attribute[ATR_DEXTERITY] = 100;
attribute[ATR_MANA_MAX] = 1000;
attribute[ATR_MANA] = 1000;
attribute[ATR_HITPOINTS_MAX]= 1200;
attribute[ATR_HITPOINTS] = 1200;

//-------- visuals --------
// animations
Mdl_SetVisual (self,"HUMANS.MDS");
Mdl_ApplyOverlayMds (self,"Humans_Arrogance.mds");
// body mesh ,bdytex,skin,head mesh ,headtex,teethtex,ruestung
Mdl_SetVisualBody (self,"hum_body_Naked0", 0, 1,"Hum_Head_Bald", 10, 1, EBR_ARMOR_H2);

Mdl_SetModelFatness(self,0);

fight_tactic = FAI_HUMAN_MAGGE;

//-------- Talente --------
Npc_SetTalentSkill (self, NPC_TALENT_2H,2);
Npc_SetTalentSkill (self, NPC_TALENT_MAGE, 6);

//-------- inventory --------
EquipItem(self,Artos_Schwert);
CreateInvItem(self,ItPo_Health_Addon_04);
CreateInvItem(self,ItPo_Mana_Addon_04);

// ------ TA anmelden ------
//-------------Daily Routine-------------
daily_routine = Rtn_start_9999;
};

FUNC VOID Rtn_start_9999 ()
{
TA_Sleep (02,05,07,35,"TEST");
TA_Smalltalk (07,35,21,10,"TEST");
};
może trzeba jeszcze coś dopisac w innych plikach bo cały czas gothic starter mod wywala mi błędy ehhh
 

eto

eto

Użytkownicy
-Banany pod pokładem? -SĄĄĄĄĄĄ
posty1741
Propsy1793
ProfesjaLvl designer
  • Użytkownicy
  • -Banany pod pokładem? -SĄĄĄĄĄĄ
Źle napisałeś rutynę. Powinieneś mieć:
FUNC VOID Rtn_start_9999 ()
{
TA_Sleep (21,10,07,35,"TEST");
TA_Smalltalk (07,35,21,10,"TEST");
};
 
Niespełniony Level Designer z ambicjami, zmęczeniem i brakiem czasu...

Adanos

Adanos

Administrator
Szara eminencja
posty5204
Propsy3870
ProfesjaProgramista
  • Administrator
  • Szara eminencja
Pokaż te błędy. A nie łatwiej by było skopiować skrypt z g2 (robisz pod g2, prawda?)  i pozmieniać odpowiednie wartości?

Polik
  • Gość

Polik
Gość

Problemy z wstawianiem pierwszych NPC
#71 2009-06-23, 09:34(Ostatnia zmiana: 2009-06-23, 11:19)
Ok bardzo dziękuje za pomoc poradziłem sobie

Sorry jeszcze mam mały problem z waypointami chciałbym umieścic nowego npc u sagitty i żeby on robił na odwrut rutyne sagitty ale jak włanczam mod startera to wyskakuje mi błąd    daily_routine       = Rtn_Start_9999;
FUNC VOID Rtn_Start_9999 ()


instance KDW_9999_TEST (Npc_Default)
{
//-------- primary data --------

name = "TEST";
npctype = npctype_main;
guild = GIL_KDW;
level = 80;
voice = 9;
id = 9999;
flags   = NPC_FLAG_IMMORTAL;

// ------ aivars ------
aivar[AIV_MagicUser] = MAGIC_ALWAYS;

//-------- abilities --------
attribute[ATR_STRENGTH] = 100;
attribute[ATR_DEXTERITY] = 100;
attribute[ATR_MANA_MAX] = 1000;
attribute[ATR_MANA] = 1000;
attribute[ATR_HITPOINTS_MAX]= 1200;
attribute[ATR_HITPOINTS] = 1200;

//-------- visuals --------
// animations
Mdl_SetVisual (self,"HUMANS.MDS");
Mdl_ApplyOverlayMds (self, "Humans_Mage.mds");
// body mesh ,bdytex,skin,head mesh ,headtex,teethtex,ruestung
Mdl_SetVisualBody (self,"hum_body_Naked0", 0, 1,"HUM_HEAD_Bald", 10, 1, ITAR_Xardas);

Mdl_SetModelFatness(self,0);

// ------ Kampf-Taktik ------
fight_tactic = FAI_HUMAN_STRONG;

//-------- Talente --------
Npc_SetTalentSkill (self, NPC_TALENT_2H,2);
Npc_SetTalentSkill (self, NPC_TALENT_MAGE, 6);

//-------- inventory --------
CreateInvItem(self,ItPo_Health_Addon_04);
CreateInvItem(self,ItPo_Mana_Addon_04);

B_CreateAmbientInv (self);

// ------ TA anmelden ------
daily_routine = Rtn_Start_9999;
};

FUNC VOID Rtn_Start_9999 ()
{
TA_Potion_Alchemy (08,00,23,00,"NW_SAGITTA_CAVE_IN_02");
TA_Sit_Throne (23,00,08,00,"NW_SAGITTA_CAVE_IN_03");
};

A tu Startup


//------------------------------------------------------------
// Addon World ENTRANCE
//------------------------------------------------------------
func void STARTUP_ADDON_PART_ENTRANCE_01 ()
{
Wld_InsertNpc (KDW_9999_TEST ,"NW_SAGITTA_CAVE_IN_02");
Wld_InsertNpc (KDW_9999_TEST ,"NW_SAGITTA_CAVE_IN_03");
Wld_InsertNpc (KDW_14000_Addon_Saturas_ADW   ,"ADW_ENTRANCE");
Wld_InsertNpc (KDW_14010_Addon_Cronos_ADW ,"ADW_ENTRANCE");
Wld_InsertNpc (KDW_14020_Addon_Nefarius_ADW  ,"ADW_ENTRANCE");
Wld_InsertNpc (KDW_14030_Addon_Myxir_ADW ,"ADW_ENTRANCE");
Wld_InsertNpc (KDW_14040_Addon_Riordian_ADW  ,"ADW_ENTRANCE");
Wld_InsertNpc (KDW_14050_Addon_Merdarion_ADW ,"ADW_ENTRANCE");
 

SkateGTX

SkateGTX

Użytkownicy
posty3
  • Użytkownicy
Jedno małe pytanko.
Co zrobić aby nasz hero nosił automatycznie zbroje po wczytaniu gry.
Dopisuje
[codebox]EquipItem (self, GRD_ARMOR_H);[/codebox]
Niestety efektu nie widać i muszę ręcznie zdjąć i ponownie założyć zbroję.
 

necroii

necroii

Użytkownicy
posty10
  • Użytkownicy
Mam jedno pytanie. Chciałbym dodać do G2NK nową twarz i nowego gościa, ale nie wiem jak zrobić żeby ta nowa twarz była na nim. W ogóle nie orientuje się w twarzach w G2NK.
 

jamokiolE

jamokiolE

Użytkownicy
posty164
Propsy3
  • Użytkownicy
Jedno małe pytanko.
Co zrobić aby nasz hero nosił automatycznie zbroje po wczytaniu gry.
Dopisuje
[codebox]EquipItem (self, GRD_ARMOR_H);[/codebox]
Niestety efektu nie widać i muszę ręcznie zdjąć i ponownie założyć zbroję.


Daj skrypt NPC to ci go napisze poprawnie.
PS:Robisz w G1??
 

Creed

Creed

Użytkownicy
posty5
  • Użytkownicy
Witam. Postanowiłem zrobic moda dla siebie postawiając pare npc jednak gdy już zrobiłem wszystko, zaznaczam reparse script wlaczam i mam błąd:

U:PAR: Unknown identifier : B_ASSIGNFINDNPC_OC ( line 174 )
Na logiczne myślenie sprawdzałem wszystko co zmieniałem. W skrypcie mojego NPC nie ma nawet 174 linijki więc to napewno nie to więc pomyślałem że pewnie startup.d jednak tam 174 linijka wygląda tak:

Wld_SetObjectRoutine (20,00,"PC_CRYSTALLIGHT_14",1);
Nie ma nic o B_Assignfindnpc..

Startup.d gdzie dodałem strażnika to linijka 670 a kod:
Wld_InsertNpc   (Grd_2390_Straznik,"WP_Intro_WI07");  


W razie potrzeby zamieszam odrazu kod NPC:
Oczywiscie nazwa Grd_2390_Straznikinstance GRD_2390_Straznik (Npc_Default)
{

//----------Info ogolne----------

name = "Straznik";
Npctype = Npctype_Guard;
guild = GIL_GRD;
level = 30;
voice = 7;
id = 2390;

//----------Statystyki----------

attribute[ATR_STRENGTH] = 60;
attribute[ATR_DEXTERITY] = 40;
attribute[ATR_MANA_MAX] = 0;
attribute[ATR_MANA] = 0;
attribute[ATR_HITPOINTS_MAX] = 350;
attribute[ATR_HITPOINTS] = 350;

//----------Wyglad----------

Mdl_SetVisual (self,"HUMANS.MDS");
Mdl_ApplyOverlayMds (self,"Humans_Militia.mds");
Mdl_SetVisualBody (self,"hum_body_naked0",0, 1,"Hum_Head_Bald",0, 1,GRD_ARMOR_M);
B_Scale (self);
Mdl_SetModelFatness(self,0);

//----------Umiejetnasci----------

Npc_SetTalentSkill (self, NPC_TALENT_1H,2);
Npc_SetTalentSkill (self, NPC_TALENT_2H,1);
Npc_SetTalentSkill (self, NPC_TALENT_CROSSBOW,2);

//----------Ekwipunek----------
EquipItem (self, ItMw_1H_Sword_03);
EquipItem (self, ItRw_Crossbow_02);
//----------Pozostale----------
fight_tactic = FAI_HUMAN_Strong;
daily_routine = Rtn_start_2390;
};
FUNC VOID Rtn_start_2390 ()
{
TA_Guard (09,00,15,00,"WP_INTRO_WI07");
TA_Smoke (15,00,16,00,"WP_INTRO_WI07");
TA_Guard (16,00,09,00,"WP_INTRO_WI07");
};

Dodam że waypointWP_INTRO_WI07 to waypoint przy kamieniu na początku gdzie zaczynamy grę.
 

Zysk

Zysk

Użytkownicy
posty606
Propsy451
  • Użytkownicy
użyj funkcji "Find in files" twojego ulubionego edytora
 

Creed

Creed

Użytkownicy
posty5
  • Użytkownicy
[C:\Program Files\Piranha Bytes\Gothic\_Work\Data\Scripts\Content\Story\B\B_AssignAmbientInfos_Grd_13.d]
Line 174 : B_AssignFindNpc_OC(slf);

Ok znalazłem tylko.. co ja mam z tym zrobic? Ja tego nie modyfikowałem...
 

Zysk

Zysk

Użytkownicy
posty606
Propsy451
  • Użytkownicy
a gothic.src zmieniałeś? mogłeś usunąć plik definiujący funkcję? B_AssignFindNpc_OC.d w tym samym katalogu.
 

Creed

Creed

Użytkownicy
posty5
  • Użytkownicy
Niee również gothic.src nie dotykałem.

A w B_AssignFindNpc_OCzamiast skryptu mam same kwadraciki w 1 linijce.. to chyba tego wina..

Czyli tak muszę siągnac GMDK wypakowac i podmienic B_AssignFindNpc_OC będzie działac?
 


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