Problem z rutyną. 8604 29

O temacie

Autor Wicek

Zaczęty 29.12.2015 roku

Wyświetleń 8604

Odpowiedzi 29

Wicek

Wicek

Użytkownicy
posty27
Propsy8
Profesjabrak
  • Użytkownicy
Siema!
Mam problem z rutyna mojego NPC. Otóż gdy chce żeby zaprowadził by mnie do danego WP stoji w miejscu i dokańcza dialog tak jakby już mnie tam doprowadził. Dodam jeszcze że mod jest robiony na nowym świecie ściągniętym z wow`a.

Tutaj skrypt NPC:
instance VLK_10000_Julia (Npc_Default)
{
// ------ NSC ------
name = "Julia";
guild = GIL_VLK;
id = 435;
voice = 16;
flags       = 0;
npctype = NPCTYPE_MAIN;


// ------ Attribute ------
B_SetAttributesToChapter (self, 1);

// ------ Kampf-Taktik ------
fight_tactic = FAI_HUMAN_COWARD;

// ------ Equippte Waffen ------



// ------ Inventory ------
B_CreateAmbientInv (self);


// ------ visuals ------
B_SetNpcVisual (self, FEMALE, "Hum_Head_Babe8", FaceBabe_N_Hure, BodyTex_N, ITAR_VlkBabe_H);
Mdl_SetModelFatness (self,0);
Mdl_ApplyOverlayMds (self, "Humans_Babe.mds");

// ------ NSC-relevante Talente vergeben ------
B_GiveNpcTalents (self);

// ------ Kampf-Talente ------
B_SetFightSkills (self, 30);

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

FUNC VOID Rtn_Start_10000 ()
{
TA_Stand_Drinking (08,00,23,00,"PLAZA_1");
TA_Stand_Drinking (23,00,08,00,"PLAZA_1");
};



FUNC VOID Rtn_DOWUJA_10000 ()
{

TA_Guide_Player (08,00,23,00,"STATEK_1");
TA_Guide_Player (23,00,08,00,"STATEK_1");

};


Tutaj skrypt dialogu:
//========================================
//-----------------> OPCJA *KONIEC*
//========================================

INSTANCE DIA_Julia_EXIT(C_INFO)
{
npc             = VLK_10000_Julia;
nr              = 999;
condition = DIA_Julia_EXIT_Condition;
information = DIA_Julia_EXIT_Info;
permanent = TRUE;
description     = "KONIEC";
};

FUNC INT DIA_Julia_EXIT_Condition()
{
return TRUE;
};

FUNC VOID DIA_Julia_EXIT_Info()
{
AI_StopProcessInfos (self);
};

//========================================
//-----------------> ELO1
//========================================

INSTANCE DIA_Julia_ELO1 (C_INFO)
{
   npc          = VLK_10000_Julia;
   nr           = 1;
   condition    = DIA_Julia_ELO1_Condition;
   information  = DIA_Julia_ELO1_Info;
   permanent = FALSE;
   description = "Zaprowadź mnie do twojego wuja.";
};

FUNC INT DIA_Julia_ELO1_Condition()
{
    return TRUE;
};

FUNC VOID DIA_Julia_ELO1_Info()
{
    AI_Output (other, self ,"DIA_Julia_ELO1_15_01"); //Zaprowadź mnie do twojego wuja.
    AI_Output (self, other ,"DIA_Julia_ELO1_03_02"); //Dobrze.
    self.aivar[AIV_PARTYMEMBER] = TRUE;
    Npc_ExchangeRoutine (self, "DOWUJA");
    AI_Output (self, other ,"DIA_Julia_ELO1_03_03"); //Jesteśmy na miejscu.
};
 

Splash

Splash

Moderator
posty4212
Propsy3414
ProfesjaNierób
  • Moderator

Splash
Moderator

Problem z rutyną.
#1 2015-12-29, 15:31(Ostatnia zmiana: 2015-12-30, 15:34)
Bo wszystko jest w jednym dialogu:
FUNC VOID DIA_Julia_ELO1_Info()
{
    AI_Output (other, self ,"DIA_Julia_ELO1_15_01"); //Zaprowadź mnie do twojego wuja.
    AI_Output (self, other ,"DIA_Julia_ELO1_03_02"); //Dobrze.
    self.aivar[AIV_PARTYMEMBER] = TRUE;
    Npc_ExchangeRoutine (self, "DOWUJA");
    AI_Output (self, other ,"DIA_Julia_ELO1_03_03"); //Jesteśmy na miejscu.
};
Musisz zrobić 2 osobne dialogi.
FUNC VOID DIA_Julia_ELO1_Info()
{
    AI_Output (other, self ,"DIA_Julia_ELO1_15_01"); //Zaprowadź mnie do twojego wuja.
    AI_Output (self, other ,"DIA_Julia_ELO1_03_02"); //Dobrze.
    self.aivar[AIV_PARTYMEMBER] = TRUE;
    Npc_ExchangeRoutine (self, "DOWUJA");
};
Dialog, który rozpocznie się, gdy dotrzesz na miejsce.
FUNC INT DIA_Julia_uwuja_Condition()
{
    if (Npc_KnowsInfo (other, DIA_Julia_ELO1) && Hlp_StrCmp  (Npc_GetNearestWP (self),"STATEK_1")
    {
    return TRUE;
    };
};

FUNC VOID DIA_Julia_uwuja_Info()
{
    self.aivar[AIV_PARTYMEMBER] = false;
    Npc_ExchangeRoutine (self, "START");
    AI_Output (self, other ,"DIA_Julia_ELO1_03_03"); //Jesteśmy na miejscu.
};
 
Nie zajmuję się multiplayerami do Gothica. Przestańcie zawracać mi tym głowę...
Ps. Siemekk ma downa i śpi w pufie

Wicek

Wicek

Użytkownicy
posty27
Propsy8
Profesjabrak
  • Użytkownicy
To nic nie zmienia, NPC mówi swoją kwestie i zamiast iść do do waypointa kończy dialog i nie reaguje.
 

Splash

Splash

Moderator
posty4212
Propsy3414
ProfesjaNierób
  • Moderator
Rozpocząłeś grę od nowa? Zmiany w dialogach nie zachodzą w zapisach.
 
Nie zajmuję się multiplayerami do Gothica. Przestańcie zawracać mi tym głowę...
Ps. Siemekk ma downa i śpi w pufie

Wicek

Wicek

Użytkownicy
posty27
Propsy8
Profesjabrak
  • Użytkownicy
Tak, zacząłem grę od nowa.
 

Splash

Splash

Moderator
posty4212
Propsy3414
ProfesjaNierób
  • Moderator
FUNC VOID DIA_Julia_ELO1_Info()
{
    AI_Output (other, self ,"DIA_Julia_ELO1_15_01"); //Zaprowadź mnie do twojego wuja.
    AI_Output (self, other ,"DIA_Julia_ELO1_03_02"); //Dobrze.
    self.aivar[AIV_PARTYMEMBER] = TRUE;
    Npc_ExchangeRoutine (self, "DOWUJA");
};
Dialog, który rozpocznie się na miejscu:
INSTANCE DIA_Julia_uwuja(C_INFO)
{
npc             = VLK_10000_Julia;
nr              = 1;
condition = DIA_Julia_uwuja_Condition;
information = DIA_Julia_uwuja_Info;
permanent = false;
};

FUNC INT DIA_Julia_uwuja_Condition()
{
    if (Npc_KnowsInfo (other, DIA_Julia_ELO1) && Hlp_StrCmp (Npc_GetNearestWP (self),"STATEK_1"))
    {
    return TRUE;
    };
};

FUNC VOID DIA_Julia_uwuja_Info()
{
    self.aivar[AIV_PARTYMEMBER] = false;
    Npc_ExchangeRoutine (self, "START");
    AI_Output (self, other ,"DIA_Julia_ELO1_03_03"); //Jesteśmy na miejscu.
};
 
Nie zajmuję się multiplayerami do Gothica. Przestańcie zawracać mi tym głowę...
Ps. Siemekk ma downa i śpi w pufie

Wicek

Wicek

Użytkownicy
posty27
Propsy8
Profesjabrak
  • Użytkownicy
No i nic. Nie wiem dlaczego, ale NPC nadal stoi w miejscu. Możliwe że coś nie tak jest z way pointami, chociaż wszystkie są połączone :P
 

Wicek

Wicek

Użytkownicy
posty27
Propsy8
Profesjabrak
  • Użytkownicy
Pomoże ktoś? :redface:
 

Mark56

Mark56

Moderator
som veľký magič
posty1632
Propsy1846
ProfesjaAnimator
  • Moderator
  • som veľký magič
Spróbuj jedna z tych funkcji

FUNC VOID AI_StartState
FUNC VOID Npc_ClearAIQueue
FUNC VOID AI_ContinueRoutine
 


Fabio

Fabio

The Modders
posty3477
Propsy2157
ProfesjaSkrypter
  • The Modders
To co ci pisał Splash MUSI działać. W ogóle zreparsowałeś skrypty?

U mnie wygląda to tak:

INSTANCE DIA_DM_Rupert_CITY (C_INFO)
{
   npc          = VLK_5039_DM_Rupert;
   nr           = 1;
   condition    = DIA_DM_Rupert_CITY_Condition;
   information  = DIA_DM_Rupert_CITY_Info;
   permanent = FALSE;
   description = "Możemy ruszać w drogę.";
};


FUNC VOID DIA_DM_Rupert_CITY_Info()
{
    AI_Output (other, self ,"DIA_DM_Rupert_CITY_15_01"); //Możemy ruszać w drogę.
    AI_Output (self, other ,"DIA_DM_Rupert_CITY_03_02"); //Dobrze, trzymaj się za mną.

AI_StopProcessInfos (self);
    self.aivar[AIV_PARTYMEMBER] = TRUE;

    Npc_ExchangeRoutine (self, "DROGA");
};

Toworish

Toworish

Użytkownicy
http://chomikuj.pl/ToWoRiSh
posty1664
Propsy254
ProfesjaNierób
  • Użytkownicy
  • http://chomikuj.pl/ToWoRiSh
No i nic. Nie wiem dlaczego, ale NPC nadal stoi w miejscu. Możliwe że coś nie tak jest z way pointami, chociaż wszystkie są połączone :P

Jesteś sto procent pewny że nie masz gdzieś przerwy między waynet'em?

Btw i głupie pytanie, tworzysz oczywiście pliki OU.BIN oraz OU.CSL jak należy?
 
Niebawem...Pierdolnę se poradniki do Goticzka. Albo i nie, bo sie mnie nie chce.

Wicek

Wicek

Użytkownicy
posty27
Propsy8
Profesjabrak
  • Użytkownicy
Tutaj masz screena ze spacera(chyba wszytko jest dobrze):http://imgur.com/TMa1o33

Cytuj
Btw i głupie pytanie, tworzysz oczywiście pliki OU.BIN oraz OU.CSL jak należy?

Robię to redefixem. Dialog się normalnie wyświetla, tylko NPC stoi w miejscu  :pokerface:
 

Fabio

Fabio

The Modders
posty3477
Propsy2157
ProfesjaSkrypter
  • The Modders
Tutaj masz screena ze spacera(chyba wszytko jest dobrze):http://imgur.com/TMa1o33

Cytuj
Btw i głupie pytanie, tworzysz oczywiście pliki OU.BIN oraz OU.CSL jak należy?

Robię to redefixem. Dialog się normalnie wyświetla, tylko NPC stoi w miejscu  :pokerface:

Mogę się mylić, ale zobacz jak mam u siebie i dodaj to"AI_StopProcessInfos   (self);" (kończy dialog czy jakoś tak). Kiedyś chyba też miałem coś takiego jak ty, nie pamiętam.

Toworish

Toworish

Użytkownicy
http://chomikuj.pl/ToWoRiSh
posty1664
Propsy254
ProfesjaNierób
  • Użytkownicy
  • http://chomikuj.pl/ToWoRiSh
Btw, czip chyba w zaawansowanych dialogach mówi o  doprowadzeniu PC przez NPC do way, obczaj filmik i po problemie
 
Niebawem...Pierdolnę se poradniki do Goticzka. Albo i nie, bo sie mnie nie chce.

Fabio

Fabio

The Modders
posty3477
Propsy2157
ProfesjaSkrypter
  • The Modders
Nie no poza tym co zostało tutaj opisane i patrząc w skrypty nie jest źle, na ssie również dobrze to wygląda. Spróbuj może spacerem to zrobić i daj znać czy coś poskutkuję.

PS. Też ostatnio mam dziwny błąd przy parsowaniu Redefixem, gdzie wszystko śmiga a zmiany nie ma (o dziwo wcześniej to działało a skrypt został nie ruszany, ale cóż... to Gothic :D).

Toworish

Toworish

Użytkownicy
http://chomikuj.pl/ToWoRiSh
posty1664
Propsy254
ProfesjaNierób
  • Użytkownicy
  • http://chomikuj.pl/ToWoRiSh
Niemożliwe aby spacer zadziałał lepiej niż Redefix, uruchom rdedefixa jako admin na wszelki wypadek i na wszelki wypadek usuń Gothic.DAT z Scripts/_compiled przed uruchomieniem gry oczywiście z zaznaczoną opcją Reparse scripts
 
Niebawem...Pierdolnę se poradniki do Goticzka. Albo i nie, bo sie mnie nie chce.

Fabio

Fabio

The Modders
posty3477
Propsy2157
ProfesjaSkrypter
  • The Modders
Niemożliwe aby spacer zadziałał lepiej niż Redefix, uruchom rdedefixa jako admin na wszelki wypadek i na wszelki wypadek usuń Gothic.DAT z Scripts/_compiled przed uruchomieniem gry oczywiście z zaznaczoną opcją Reparse scripts

Niestety, ale z Gothicem nigdy nic nie wiadomo. Raz się okaże tak, a raz tak. W każdym razie najlepiej popróbować w jedną i  w drugą stronę, żeby wiedzieć chociaż na przyszłość.

Wicek

Wicek

Użytkownicy
posty27
Propsy8
Profesjabrak
  • Użytkownicy
Zrobiłem to raz spacerem a raz redefixem, ale w obu przypadkach nie działa. Próbowałem też usuwac plik GOTHIC.DAT, ale to też nie pomogło :/
 

Toworish

Toworish

Użytkownicy
http://chomikuj.pl/ToWoRiSh
posty1664
Propsy254
ProfesjaNierób
  • Użytkownicy
  • http://chomikuj.pl/ToWoRiSh
Hmm, a może pokaż skrypt, czy aby na pewno wszystko wkleiłeś jak Splash ci podał
 
Niebawem...Pierdolnę se poradniki do Goticzka. Albo i nie, bo sie mnie nie chce.

Wicek

Wicek

Użytkownicy
posty27
Propsy8
Profesjabrak
  • Użytkownicy
//========================================
//-----------------> OPCJA *KONIEC*
//========================================

INSTANCE DIA_Julia_EXIT(C_INFO)
{
npc             = VLK_10000_Julia;
nr              = 999;
condition = DIA_Julia_EXIT_Condition;
information = DIA_Julia_EXIT_Info;
permanent = TRUE;
description     = "KONIEC";
};

FUNC INT DIA_Julia_EXIT_Condition()
{
return TRUE;
};

FUNC VOID DIA_Julia_EXIT_Info()
{
AI_StopProcessInfos (self);
};

//========================================
//-----------------> ELO1
//========================================

INSTANCE DIA_Julia_ELO1 (C_INFO)
{
   npc          = VLK_10000_Julia;
   nr           = 1;
   condition    = DIA_Julia_ELO1_Condition;
   information  = DIA_Julia_ELO1_Info;
   permanent = FALSE;
   description = "Zaprowadź mnie do twojego wuja.";
};

FUNC INT DIA_Julia_ELO1_Condition()
{
    return TRUE;
};

FUNC VOID DIA_Julia_ELO1_Info()
{
       AI_Output (other, self ,"DIA_Julia_ELO1_15_01"); //Zaprowadź mnie do twojego wuja.
    AI_Output (self, other ,"DIA_Julia_ELO1_03_02"); //Dobrze.
    self.aivar[AIV_PARTYMEMBER] = TRUE;
    Npc_ExchangeRoutine (self, "DOWUJA");
};


INSTANCE DIA_Julia_uwuja(C_INFO)
{
npc             = VLK_10000_Julia;
nr              = 1;
condition = DIA_Julia_uwuja_Condition;
information = DIA_Julia_uwuja_Info;
permanent = false;
};

FUNC INT DIA_Julia_uwuja_Condition()
{
    if (Npc_KnowsInfo (other, DIA_Julia_ELO1) && Hlp_StrCmp (Npc_GetNearestWP (self),"STATEK_1"))
    {
    return TRUE;
    };
};

FUNC VOID DIA_Julia_uwuja_Info()
{
    self.aivar[AIV_PARTYMEMBER] = false;
    Npc_ExchangeRoutine (self, "START");
    AI_Output (self, other ,"DIA_Julia_uwuja_03_03"); //Jesteśmy na miejscu.
};
 


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