NPC nie zmienia rutyny 3938 10

O temacie

Autor Jastrzab

Zaczęty 13.01.2011 roku

Wyświetleń 3938

Odpowiedzi 10

Jastrzab

Jastrzab

Użytkownicy
posty197
Propsy39
Profesjabrak
  • Użytkownicy

Jastrzab

NPC nie zmienia rutyny
2011-01-13, 15:57(Ostatnia zmiana: 2011-01-13, 19:16)
Hej wszystkim. Mam taki problem, gdyż jak chcę aby po dialogu zmieniła się rutyna 2 npców (obok siebie stoją ze mną). Daję oczywiście Npc_ExchangeRoutine(MIL_1034_Oficer10,"Guide"); i Npc_ExchangeRoutine(self,"Guide"); ale dalej stoją w miejscu w poprzedniej rutynie. Chodzi mi o rutynę, która służy za prowadzenie nas do waypointu przez NPC'ów. I teraz jak zrobić żeby ta rutyna się zmieniła? Mam 2 dialogi związane z tym i oczywiście skrypt NPC'ów.

Podaję je poniżej:


-> (SKRYPT DIALOGOWY Z LARESEM, GDZIE POJAWIAJĄ SIĘ STRAŻNICY)
//========================================
//-----------------> Pierwsze_spotkanie
//========================================

INSTANCE DIA_Lares_Pierwsze_spotkanie (C_INFO)
{
   npc          = VLK_449_Lares;
   nr           = 1;
   condition    = DIA_Lares_Pierwsze_spotkanie_Condition;
   information  = DIA_Lares_Pierwsze_spotkanie_Info;
   permanent = FALSE;
   Important    = TRUE;
};

FUNC INT DIA_Lares_Pierwsze_spotkanie_Condition()
{
    if (filmik == TRUE)
    {
    return TRUE;
    };
};


FUNC VOID DIA_Lares_Pierwsze_spotkanie_Info()
{
    AI_Output (other, self ,"DIA_Lares_Pierwsze_spotkanie_15_01"); //O cholera! Gdzie jest ten smok?!
    AI_Output (self, other ,"DIA_Lares_Pierwsze_spotkanie_03_02"); //Jaki smok?... Chyba wypaliłeś za dużo ziela od najemników.
    AI_Output (self, other ,"DIA_Lares_Pierwsze_spotkanie_03_03"); //Idź lepiej do Lorda Andre. Mamy stan wojenny, a każdy nowy mieszkaniec musi się zarejestrować.
    AI_Output (self, other ,"DIA_Lares_Pierwsze_spotkanie_03_04"); //A ja nigdy wcześniej cię tu nie widziałem.
    AI_Output (other, self ,"DIA_Lares_Pierwsze_spotkanie_15_05"); //Dobra, ale kim jestem?
    AI_Output (other, self ,"DIA_Lares_Pierwsze_spotkanie_15_06"); //Gdzie jestem?
    AI_Output (self, other ,"DIA_Lares_Pierwsze_spotkanie_03_07"); //Wszystko wytłumaczy ci Andre.
    AI_Output (self, other ,"DIA_Lares_Pierwsze_spotkanie_03_08"); //Straże!
    AI_Output (self, other ,"DIA_Lares_Pierwsze_spotkanie_03_09"); //Zaprowadźcie go do ratusza, do Lorda Andre.
    Info_ClearChoices (DIA_Lares_Pierwsze_spotkanie);
    Info_AddChoice (DIA_Lares_Pierwsze_spotkanie, "W porządku, do zobaczenia.", DIA_Lares_Pierwsze_spotkanie_eskorta_tak);
};

FUNC VOID DIA_Lares_Pierwsze_spotkanie_eskorta_tak()
{

    AI_PlayAni (other, "T_SEARCH");
    AI_Output (other, self ,"DIA_Lares_Pierwsze_spotkanie_eskorta_tak_15_01"); //W porządku, do zobaczenia.
    AI_Output (self, other ,"DIA_Lares_Pierwsze_spotkanie_eskorta_tak_03_02"); //Tylko nie sprawiaj żadnych kłopotów.

AI_StopProcessInfos (self);

AI_Teleport (MIL_1033_Oficer9,"ESKORTA_STRAZ");
AI_Teleport (MIL_1034_Oficer10,"ESKORTA_STRAZ");


Npc_ExchangeRoutine (VLK_449_Lares,"Start");



};


-> (SKRYPT DIALOGOWY ZE STRAŻNIKIEM I ZMIANĄ RUTYNY)
//========================================
//-----------------> Eskorta_straz
//========================================

INSTANCE DIA_Oficer_Eskorta_straz (C_INFO)
{
   npc          = MIL_1033_Oficer9;
   nr           = 1;
   condition    = DIA_Oficer_Eskorta_straz_Condition;
   information  = DIA_Oficer_Eskorta_straz_Info;
   permanent = FALSE;
   Important    = TRUE;
};

FUNC INT DIA_Oficer_Eskorta_straz_Condition()
{
    if (Npc_KnowsInfo (other, DIA_Lares_Pierwsze_spotkanie))
    {
    return TRUE;
    };
};


FUNC VOID DIA_Oficer_Eskorta_straz_Info()
{
    AI_Output (self, other ,"DIA_Oficer_Eskorta_straz_03_01"); //Chodź z nami i nie oddalaj się bo będziesz miał kłopoty!
    AI_Output (other, self ,"DIA_Oficer_Eskorta_straz_15_02"); //Wedle życzenia.

Eskorta_port = 1;

Npc_ExchangeRoutine(self,"Guide");
Npc_ExchangeRoutine(MIL_1034_Oficer10,"Guide");

};

-> (A tutaj rutyny strażników)
daily_routine = Rtn_Start_900000;
};

FUNC VOID Rtn_Start_900000 ()
{
TA_Guard_Passage (08,00,24,00,"ESKORTA_STRAZ");
TA_Guard_Passage (24,00,08,00,"ESKORTA_STRAZ");
};

FUNC VOID Rtn_Run_900000 ()
{
TA_RunToWP (00,00,00,00,"NW_CITY_HALUNY");
};


FUNC VOID Rtn_Guide_900000 ()
{
TA_Guide_Player (08,00,24,00,"NW_CITY_CITYHALL_IN_01");
TA_Guide_Player (24,00,08,00,"NW_CITY_CITYHALL_IN_01");
};


i drugiego:
daily_routine = Rtn_Start_910000;
};

FUNC VOID Rtn_Start_910000 ()
{
TA_Guard_Passage (24,00,08,00,"ESKORTA_STRAZ");
TA_Guard_Passage (08,00,24,00,"ESKORTA_STRAZ");
};

FUNC VOID Rtn_Run_910000 ()
{
TA_RunToWP (00,00,00,00,"NW_CITY_HALUNY");
};

FUNC VOID Rtn_Guide_910000 ()
{
TA_Guide_Player (08,00,24,00,"NW_CITY_CITYHALL_IN_01");
TA_Guide_Player (24,00,08,00,"NW_CITY_CITYHALL_IN_01");
};

Czekam niecierpliwie na pomoc  :lol:   nagradzam propsem i podziękowaniami  :lol2:   A i jakby co chodzi o G2NK!!
 
CPU: Intel Core i7 8700k
RAM: G.Skill Ripjaws 16GB 3000MHz CL15
GPU: MSI GTX 1060 6GB
Mobas: MSI Z370 Gaming Pro Carbon

pawbuj

pawbuj

Użytkownicy
posty1623
Propsy135
ProfesjaSkrypter
  • Użytkownicy
a spróbuj coś takiego :
B_ExchangeRoutine (instance npc, "nazwa rutyny");   

ewentualnie jeżeli nie pomoże , zrób próbę z inną rutyną dla tego npc'a i upewnij się, że dialog jest na pewno w reparsowem folderze
 

RafalBudzis

RafalBudzis

Użytkownicy
posty1967
Propsy808
ProfesjaSkrypter
  • Użytkownicy

RafalBudzis

NPC nie zmienia rutyny
#2 2011-01-13, 17:04(Ostatnia zmiana: 2011-01-13, 17:08)
przy zmianie zamiast Guide daj Rtn_Guide_910000
i jak dobrze mi się zdaje rutyny są takie same więc nie musisz ich robić podwójnie ;p
jeden raz starczą ;)

zastanowił bym się czy rutyny są dobre
1)bo jak mi się dobrze wydaje to po 23:59 jest 00:00 a ty w rutynie dałeś 24:00 czego mi się zdaje nie ma
2)Zastanawia mnie też Rtn_Run_910000 to ze jest tam jedna rutyna a zawsze się daje 2 takie same jak to zrobiłeś w innych pętlach ;)

Jastrzab

Jastrzab

Użytkownicy
posty197
Propsy39
Profesjabrak
  • Użytkownicy

Jastrzab

NPC nie zmienia rutyny
#3 2011-01-13, 19:18(Ostatnia zmiana: 2011-01-13, 20:09)
Cytat: pawbuj link=topic=12935.msg130377#msg130377#msg130377#msg130377 date=1294932895
a spróbuj coś takiego :
B_ExchangeRoutine (instance npc, "nazwa rutyny");   

ewentualnie jeżeli nie pomoże , zrób próbę z inną rutyną dla tego npc#msg130377#msg130377#msg130377#msg130377 date=1294932895]
a spróbuj coś takiego :
B_ExchangeRoutine (instance npc, "nazwa rutyny");   

ewentualnie jeżeli nie pomoże , zrób próbę z inną rutyną dla tego npca i upewnij się, że dialog jest na pewno w reparsowem folderze


To jest funkcja do G1 (tą co podałeś) a ja mam G2NK  ;p

Zmieniłem nazwę rutyny jak pisałeś RafalBudzis, wywaliłem rutynę Run bo była zbędna, poprawiłem godziny rutyn i dalej to samo. Strażnicy stoją jak słupy i się nie ruszają.  :|

Sorki za spam...
 
CPU: Intel Core i7 8700k
RAM: G.Skill Ripjaws 16GB 3000MHz CL15
GPU: MSI GTX 1060 6GB
Mobas: MSI Z370 Gaming Pro Carbon

EdekSumo

EdekSumo

Wyspa Khorinis
posty1739
Propsy924
ProfesjaLvl designer
  • Wyspa Khorinis
dajesz w npc_globals na początku
var C_NPC Imię_npc;
i na końcu
imię_npc         = Hlp_GetNpc (Instancja_npc);   
a w dialogu
Npc_ExchangeRoutine   (imię_npc,"rutyna");
 

Jastrzab

Jastrzab

Użytkownicy
posty197
Propsy39
Profesjabrak
  • Użytkownicy
Nic...  :[
 
CPU: Intel Core i7 8700k
RAM: G.Skill Ripjaws 16GB 3000MHz CL15
GPU: MSI GTX 1060 6GB
Mobas: MSI Z370 Gaming Pro Carbon

RafalBudzis

RafalBudzis

Użytkownicy
posty1967
Propsy808
ProfesjaSkrypter
  • Użytkownicy
Zaważył ktoś mojego posta :D  ??

Cytat: edeksumo link=topic=12935.msg130441#msg130441#msg130441#msg130441 date=1294943318
dajesz w npc_globals na początku
var C_NPC Imię_npc;
i na końcu
imię_npc         = Hlp_GetNpc (Instancja_npc);   
a w dialogu
Npc_ExchangeRoutine   (imię_npc,"rutyna");
nie zgodzę się po co w globals ?? równie dobrze można tak

Npc_ExchangeRoutine (Hlp_GetNpc (MIL_1033_Oficer9),"Rtn_Guide_910000");
Npc_ExchangeRoutine (Hlp_GetNpc (MIL_1034_Oficer10),"Rtn_Guide_910000");

Jastrzab

Jastrzab

Użytkownicy
posty197
Propsy39
Profesjabrak
  • Użytkownicy

Jastrzab

NPC nie zmienia rutyny
#7 2011-01-14, 15:19(Ostatnia zmiana: 2011-01-14, 15:54)
Tak zauważyłem twojego posta, ale żaden z tych sposobów mi nie działa.


EDIT:
Dobra błąd naprawiłem, stwarzając po prostu nowych NPC'ów.  :)
 
CPU: Intel Core i7 8700k
RAM: G.Skill Ripjaws 16GB 3000MHz CL15
GPU: MSI GTX 1060 6GB
Mobas: MSI Z370 Gaming Pro Carbon

Pawciow

Pawciow

Użytkownicy
posty533
Propsy70
ProfesjaTłumacz
  • Użytkownicy

Pawciow

NPC nie zmienia rutyny
#8 2011-01-14, 16:12(Ostatnia zmiana: 2011-01-14, 16:13)
zmieniłbym te godziny jednak

(08,00,24,00,"NW_CITY_CITYHALL_IN_01");
        TA_Guide_Player         (24,00,08,00,"NW_CITY_CITYHALL_IN_01");

na takie np.
08,00,22,00,"NW_CITY_CITYHALL_IN_01");
        TA_Guide_Player         (22,00,08,00,"NW_CITY_CITYHALL_IN_01");


Pragasek

Pragasek

Użytkownicy
posty334
Propsy39
ProfesjaSkrypter
  • Użytkownicy
użyj tego

B_StartOtherRoutine (instance,"nazwa waypointa");

Jastrzab

Jastrzab

Użytkownicy
posty197
Propsy39
Profesjabrak
  • Użytkownicy
Sposób Pawciowa już próbowałem i Pragraska też i nic to nie dawało heh.
 
CPU: Intel Core i7 8700k
RAM: G.Skill Ripjaws 16GB 3000MHz CL15
GPU: MSI GTX 1060 6GB
Mobas: MSI Z370 Gaming Pro Carbon


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