NPC nie zmienia rutyny 3786 10

O temacie

Autor KiełbasianTM

Zaczęty 24.03.2012 roku

Wyświetleń 3786

Odpowiedzi 10

KiełbasianTM

KiełbasianTM

Użytkownicy
posty73
Propsy5
  • Użytkownicy
Witajcie. Nie jestem tu nowy więc wiem o co chodzi w skryptach i tych innych, więc mnie tak nie traktujcie tak od razu. Mój skrypt npc jest bez błędów ale podczas dialogu z nim tam gdzie jest opcja zmiany rutyny on tej rutyny nie zmienia tylko nadal robi to co robił - je. Dodam że postać np Xardas zmienia swoją rutynę a nowa postać nie. Reparsowałem skrypty w spacerze a nawet widać o czym gadają. Pomóżcie! Robię akurat betę mojego moda a bez tego nie dam rady go stworzyć. Z góry thx.

Tu są skrypty

NPC:

Cytuj
instance NONE_05060708_Codename89 (Npc_Default)
{
   // ------ NSC ------
   name       = "Zabójca - Codename 89";
   guild       = GIL_NONE;
   id          = 05060708;
   voice       = 12;
   flags       = 0;                                                   
   npctype      = NPCTYPE_MAIN;
   
   // ------ Attribute ------
   B_SetAttributesToChapter (self, 3);                                                   
      
   // ------ Kampf-Taktik ------
   fight_tactic      = FAI_HUMAN_STRONG;   
   
   // ------ Equippte Waffen ------                                                   
   EquipItem         (self, Sword);
   
   
   // ------ Inventory ------
   // Händler
   Createinvitems (self, Glowa_Zabojcy, 1);
      
   // ------ visuals ------                                                         
   B_SetNpcVisual       (self, MALE, "Hum_Head_Thief", Face_N_ToughBart01 , BodyTex_N, ITAR_Sld_L);
   Mdl_SetModelFatness   (self, 0.7);
   Mdl_ApplyOverlayMds   (self, "Humans_Militia.mds");

   // ------ NSC-relevante Talente vergeben ------
   B_GiveNpcTalents (self);
   
   // ------ Kampf-Talente ------                                                      
   B_SetFightSkills (self, 60);
   
   // ------ TA anmelden ------
   daily_routine       = Rtn_Start_05060708;
};
FUNC VOID Rtn_Start_05060708 ()
{   
   TA_Stand_Eating   (08,00,22,00,"NW_CITY_HABOUR_TAVERN01_01");
    TA_Stand_Eating            (22,00,08,00,"NW_CITY_HABOUR_TAVERN01_01");
};

FUNC VOID Rtn_Ded_05060708 ()
{   
   TA_Stand_WP   (08,00,22,00,"NW_FARM1_PATH_CITY_04");
    TA_Stand_WP            (22,00,08,00,"NW_CITY_FARM1_PATH_CITY_04");
};

oraz dialog:

Cytuj
// ************************************************************
//                           EXIT
// ************************************************************
INSTANCE DIA_NONE_05060708_Codename89_EXIT   (C_INFO)
{
   npc         = NONE_05060708_Codename89;
   nr          = 999;
   condition   = DIA_NONE_05060708_Codename89_EXIT_Condition;
   information = DIA_NONE_05060708_Codename89_EXIT_Info;
   permanent   = TRUE;
   description = DIALOG_ENDE;
};

FUNC INT DIA_NONE_05060708_Codename89_EXIT_Condition()
{
   return TRUE;
};

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

// ************************************************************
//                           Misja
// ************************************************************
INSTANCE DIA_NONE_05060708_Codename89_Hallo   (C_INFO)
{
   npc         = NONE_05060708_Codename89;
   nr          = 1;
   condition   = DIA_NONE_05060708_Codename89_Hallo_Condition;
   information = DIA_NONE_05060708_Codename89_Hallo_Info;
   permanent   = FALSE;
   description    = "(zamówinie)";
};

FUNC INT DIA_NONE_05060708_Codename89_Hallo_Condition()
{
      return TRUE;
};

FUNC VOID DIA_NONE_05060708_Codename89_Hallo_Info()
{
   AI_Output (other ,self, "DIA_NONE_05060708_Codename89_Hallo_15_00"); //Chciałbym złożyć zamówienie.
   AI_Output (self ,other, "DIA_NONE_05060708_Codename89_Hallo_14_01"); //Hmmm... OK! Spotkajmy się... Na ścieżce przed schodami do Farmy Lobarta.
   B_StartOtherRoutine  (NONE_05060708_Codename89,"Ded");
   AI_StopProcessInfos   (self);
};

// ************************************************************
//                           Misja
// ************************************************************
INSTANCE DIA_NONE_05060708_Codename89_Kill   (C_INFO)
{
   npc         = NONE_05060708_Codename89;
   nr          = 1;
   condition   = DIA_NONE_05060708_Codename89_Kill_Condition;
   information = DIA_NONE_05060708_Codename89_Kill_Info;
   permanent   = FALSE;
   description    = "(zabijanie)";
};

FUNC INT DIA_NONE_05060708_Codename89_Kill_Condition()
{
   if (Npc_KnowsInfo(other, DIA_NONE_05060708_Codename89_Hallo))
   && Hlp_StrCmp     (Npc_GetNearestWP(self),"NW_FARM1_PATH_CITY_04")
{
      return TRUE;
   };
};

FUNC VOID DIA_NONE_05060708_Codename89_Kill_Info()
{
   AI_Output (other ,self, "DIA_NONE_05060708_Codename89_Kill_15_00"); //Teraz cię zabije.
   AI_Output (self ,other, "DIA_NONE_05060708_Codename89_Kill_14_01"); //CO? Mnie się nie zabija! To JA zabijam!
   B_LogEntry (TOPIC_czeladnik,"Jego głowa należy do mnie! Wracam do Bospera");
   AI_StopProcessInfos   (self);
   B_Attack(self,other,AR_NONE, 1);
   B_LogEntry (TOPIC_czeladnik,"Jego głowa należy do mnie! Wracam do Bospera");
};


Proszę a nawet błagam o pomoc!
 
Moje opowiadanko



- Je**ć dzieci!

- A starczy nam czasu?

Bogdan Zwei

Bogdan Zwei

Użytkownicy
Wulgarny skurwiel pierdolony.
posty1864
Propsy541
Profesjabrak
  • Użytkownicy
  • Wulgarny skurwiel pierdolony.
B_StartOtherRoutine (NONE_05060708_Codename89,"Ded");
zamień na:
B_StartOtherRoutine (self,"Ded");
 
:ok: zachęca do dalszej pomocy. Nie zapominaj o tym!

Prywatne wiadomości typu "Ej, pomocy" kasuję od razu. Od tego jest forum, a nie PW.

To me, defeat in anything is merely temporary, and its punishment is but an urge for me to greater effort to achieve my goal. Defeat simply tells me that something is wrong in my doing; it is a path leading to success and truth.

In order to realize our true self we must be willing to live without being dependent upon the opinion of others.

RafalBudzis

RafalBudzis

Użytkownicy
posty1967
Propsy808
ProfesjaSkrypter
  • Użytkownicy

RafalBudzis

NPC nie zmienia rutyny
#2 2012-03-24, 13:24(Ostatnia zmiana: 2012-03-24, 13:24)
Mi się zdaje że błąd jest w ID liczba id = 05060708; jest równa 5060708 radził bym unikać takich ID (zera z przodu) zakład ze jak usuniesz 0 z ID i z Nazwy rutyny to ruszy ? :D

P.S. KiełbasianTM rozjebałeś forum tą sygnaturką xD

KiełbasianTM

KiełbasianTM

Użytkownicy
posty73
Propsy5
  • Użytkownicy

KiełbasianTM

NPC nie zmienia rutyny
#3 2012-03-24, 15:43(Ostatnia zmiana: 2012-03-29, 18:18)
Cytuj
P.S. KiełbasianTM rozjebałeś forum tą sygnaturką xD

Naprawiłem xD

Cytuj
jest równa 5060708 radził bym unikać takich ID (zera z przodu) zakład ze jak usuniesz 0 z ID i z Nazwy rutyny to ruszy ?

Zaraz sprawdzę i odpisze

EDIT: Niestety ale nadal to samo. może tym razem ten twój sposób nie działa bo trzeba jeszcze raz zreprasować spacerem i stworzyć nowy OU.bin i OU.csl?
Jakieś jeszcze pomysły?
 
Moje opowiadanko



- Je**ć dzieci!

- A starczy nam czasu?

Sawik

Sawik

Moderator działu
Rebel
posty4772
Propsy3197
ProfesjaNierób
  • Moderator działu
  • Rebel
Numer id i numer rutyny muszą się zgadzać i nie mogą się zaczynać od zera.
 
Życzę wam seksu analnego po stronie biernej.
Dropbox +500 mb na start
LowPoly
Wykonanie modelu niskopoligonowego to sztuka kompromisu. Nie jest to jedynie uproszczenie modelu wysokopoligonowego, ale głęboka modyfikacja oraz podejmowanie decyzji często zmieniających wygląd pierwotny obiektu, tak by przy najmniejszej ilości trójkątów uzyskać jak najwierniej odwzorowany kształt oryginału. Nie można też zapomnieć o tym iż musi nadal wyglądać przekonywająco i tak balansować by uzyskać efekt optymalny.

Podstawowym założeniem jest, że model nie powinien mieć zbędnych, niewidocznych dla gracza detali włączonych w geometrie. Większość obiektów jakie znajdują się w grze powinna prezentować się najlepiej z odległości około 3-5 metrów. Wszelkie detale, które zanikają, wydają się płaskie lub zlewają się z bryłą modelu należy uznać za zbędne i pozostawić je na normal mapie.

Fakt, iż gracz będzie w stanie podejść bliżej do obiektu i zobaczyć go z mniejszej niż 3m odległości nie powinno stanowić większego problemu, gdyż większą rolę odgrywają wtedy tekstury oraz dodatkowy detal zależny od materiału obiektu. To właśnie kompromis między wydajnością, a szczegółowością otoczenia.

Detal, którego nie widać z 3-5 metrów nie powinnien istnieć w geometrii modelu.
Krawędzie znajdujące się blisko siebie, które zlewają się z większej odległości należy uprościć do wspólnej płaszczyzny

KiełbasianTM

KiełbasianTM

Użytkownicy
posty73
Propsy5
  • Użytkownicy

KiełbasianTM

NPC nie zmienia rutyny
#5 2012-03-24, 20:27(Ostatnia zmiana: 2012-04-02, 21:58)
to już naprawiłem ale ni działa dalej :facepalm:
 
Moje opowiadanko



- Je**ć dzieci!

- A starczy nam czasu?

KiełbasianTM

KiełbasianTM

Użytkownicy
posty73
Propsy5
  • Użytkownicy
Sory za powtórzenie ale odkopię ten temat i się jeszcze raz zapytam czy ktoś mi pomoze?
 
Moje opowiadanko



- Je**ć dzieci!

- A starczy nam czasu?

Sawik

Sawik

Moderator działu
Rebel
posty4772
Propsy3197
ProfesjaNierób
  • Moderator działu
  • Rebel
A poprawiłeś też przy rutynie? Pokaż cały skrypt znowu to się zobaczy.
 
Życzę wam seksu analnego po stronie biernej.
Dropbox +500 mb na start
LowPoly
Wykonanie modelu niskopoligonowego to sztuka kompromisu. Nie jest to jedynie uproszczenie modelu wysokopoligonowego, ale głęboka modyfikacja oraz podejmowanie decyzji często zmieniających wygląd pierwotny obiektu, tak by przy najmniejszej ilości trójkątów uzyskać jak najwierniej odwzorowany kształt oryginału. Nie można też zapomnieć o tym iż musi nadal wyglądać przekonywająco i tak balansować by uzyskać efekt optymalny.

Podstawowym założeniem jest, że model nie powinien mieć zbędnych, niewidocznych dla gracza detali włączonych w geometrie. Większość obiektów jakie znajdują się w grze powinna prezentować się najlepiej z odległości około 3-5 metrów. Wszelkie detale, które zanikają, wydają się płaskie lub zlewają się z bryłą modelu należy uznać za zbędne i pozostawić je na normal mapie.

Fakt, iż gracz będzie w stanie podejść bliżej do obiektu i zobaczyć go z mniejszej niż 3m odległości nie powinno stanowić większego problemu, gdyż większą rolę odgrywają wtedy tekstury oraz dodatkowy detal zależny od materiału obiektu. To właśnie kompromis między wydajnością, a szczegółowością otoczenia.

Detal, którego nie widać z 3-5 metrów nie powinnien istnieć w geometrii modelu.
Krawędzie znajdujące się blisko siebie, które zlewają się z większej odległości należy uprościć do wspólnej płaszczyzny

KiełbasianTM

KiełbasianTM

Użytkownicy
posty73
Propsy5
  • Użytkownicy
oto ten zasrany skrypt postaci i dialogu

Cytuj
// ************************************************************
//                           EXIT
// ************************************************************
INSTANCE DIA_NONE_506070800000_Codename89_EXIT   (C_INFO)
{
   npc         = NONE_506070800000_Codename89;
   nr          = 999;
   condition   = DIA_NONE_506070800000_Codename89_EXIT_Condition;
   information = DIA_NONE_506070800000_Codename89_EXIT_Info;
   permanent   = TRUE;
   description = DIALOG_ENDE;
};

FUNC INT DIA_NONE_506070800000_Codename89_EXIT_Condition()
{
   return TRUE;
};

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

// ************************************************************
//                           Misja
// ************************************************************
INSTANCE DIA_NONE_506070800000_Codename89_Hallo   (C_INFO)
{
   npc         = NONE_506070800000_Codename89;
   nr          = 1;
   condition   = DIA_NONE_506070800000_Codename89_Hallo_Condition;
   information = DIA_NONE_506070800000_Codename89_Hallo_Info;
   permanent   = FALSE;
   description    = "(zamówinie)";
};

FUNC INT DIA_NONE_506070800000_Codename89_Hallo_Condition()
{
      return TRUE;
};

FUNC VOID DIA_NONE_506070800000_Codename89_Hallo_Info()
{
   AI_Output (other ,self, "DIA_NONE_506070800000_Codename89_Hallo_15_00"); //Chciałbym złożyć zamówienie.
   AI_Output (self ,other, "DIA_NONE_506070800000_Codename89_Hallo_14_01"); //Hmmm... OK! Spotkajmy się... Na ścieżce przed schodami do Farmy Lobarta.
   B_StartOtherRoutine  (NONE_506070800000_Codename89,"Ded");
   AI_StopProcessInfos   (self);
};

// ************************************************************
//                           Misja
// ************************************************************
INSTANCE DIA_NONE_506070800000_Codename89_Kill   (C_INFO)
{
   npc         = NONE_506070800000_Codename89;
   nr          = 1;
   condition   = DIA_NONE_506070800000_Codename89_Kill_Condition;
   information = DIA_NONE_506070800000_Codename89_Kill_Info;
   permanent   = FALSE;
   description    = "(zabijanie)";
};

FUNC INT DIA_NONE_506070800000_Codename89_Kill_Condition()
{
   if (Npc_KnowsInfo(other, DIA_NONE_506070800000_Codename89_Hallo))
   && Hlp_StrCmp     (Npc_GetNearestWP(self),"NW_FARM1_PATH_CITY_04")
{
      return TRUE;
   };
};

FUNC VOID DIA_NONE_506070800000_Codename89_Kill_Info()
{
   AI_Output (other ,self, "DIA_NONE_506070800000_Codename89_Kill_15_00"); //Teraz cię zabije.
   AI_Output (self ,other, "DIA_NONE_506070800000_Codename89_Kill_14_01"); //CO? Mnie się nie zabija! To JA zabijam!
   B_LogEntry (TOPIC_czeladnik,"Jego głowa należy do mnie! Wracam do Bospera");
   AI_StopProcessInfos   (self);
   B_Attack(self,other,AR_NONE, 1);
   B_LogEntry (TOPIC_czeladnik,"Jego głowa należy do mnie! Wracam do Bospera");
};

Cytuj
instance NONE_506070800000_Codename89 (Npc_Default)
{
   // ------ NSC ------
   name       = "Zabójca - Codename 89";
   guild       = GIL_NONE;
   id          = 506070800000;
   voice       = 12;
   flags       = 0;                                                   
   npctype      = NPCTYPE_MAIN;
   
   // ------ Attribute ------
   B_SetAttributesToChapter (self, 3);                                                   
      
   // ------ Kampf-Taktik ------
   fight_tactic      = FAI_HUMAN_STRONG;   
   
   // ------ Equippte Waffen ------                                                   
   EquipItem         (self, Sword);
   
   
   // ------ Inventory ------
   // Händler
   Createinvitems (self, Glowa_Zabojcy, 1);
      
   // ------ visuals ------                                                         
   B_SetNpcVisual       (self, MALE, "Hum_Head_Thief", Face_N_ToughBart01 , BodyTex_N, ITAR_Sld_L);
   Mdl_SetModelFatness   (self, 0.7);
   Mdl_ApplyOverlayMds   (self, "Humans_Militia.mds");

   // ------ NSC-relevante Talente vergeben ------
   B_GiveNpcTalents (self);
   
   // ------ Kampf-Talente ------                                                      
   B_SetFightSkills (self, 60);
   
   // ------ TA anmelden ------
   daily_routine       = Rtn_Start_506070800000;
};
FUNC VOID Rtn_Start_506070800000 ()
{   
   TA_Stand_Eating   (08,00,22,00,"NW_CITY_HABOUR_TAVERN01_01");
    TA_Stand_Eating            (22,00,08,00,"NW_CITY_HABOUR_TAVERN01_01");
};

FUNC VOID Rtn_Ded_506070800000 ()
{   
   TA_Stand_WP   (08,00,22,00,"NW_FARM1_PATH_CITY_04");
    TA_Stand_WP            (22,00,08,00,"NW_CITY_FARM1_PATH_CITY_04");
};

PS i innymi postaciami nowo stworzonymi tez tak mam
 
Moje opowiadanko



- Je**ć dzieci!

- A starczy nam czasu?

Sawik

Sawik

Moderator działu
Rebel
posty4772
Propsy3197
ProfesjaNierób
  • Moderator działu
  • Rebel
Zamiast B_StartOtherRoutine (NONE_506070800000_Codename89,"Ded");daj
Npc_ExchangeRoutine (NONE_506070800000_Codename89,"Ded");I powiedz czy nastąpiła jakaś zmiana.
 
Życzę wam seksu analnego po stronie biernej.
Dropbox +500 mb na start
LowPoly
Wykonanie modelu niskopoligonowego to sztuka kompromisu. Nie jest to jedynie uproszczenie modelu wysokopoligonowego, ale głęboka modyfikacja oraz podejmowanie decyzji często zmieniających wygląd pierwotny obiektu, tak by przy najmniejszej ilości trójkątów uzyskać jak najwierniej odwzorowany kształt oryginału. Nie można też zapomnieć o tym iż musi nadal wyglądać przekonywająco i tak balansować by uzyskać efekt optymalny.

Podstawowym założeniem jest, że model nie powinien mieć zbędnych, niewidocznych dla gracza detali włączonych w geometrie. Większość obiektów jakie znajdują się w grze powinna prezentować się najlepiej z odległości około 3-5 metrów. Wszelkie detale, które zanikają, wydają się płaskie lub zlewają się z bryłą modelu należy uznać za zbędne i pozostawić je na normal mapie.

Fakt, iż gracz będzie w stanie podejść bliżej do obiektu i zobaczyć go z mniejszej niż 3m odległości nie powinno stanowić większego problemu, gdyż większą rolę odgrywają wtedy tekstury oraz dodatkowy detal zależny od materiału obiektu. To właśnie kompromis między wydajnością, a szczegółowością otoczenia.

Detal, którego nie widać z 3-5 metrów nie powinnien istnieć w geometrii modelu.
Krawędzie znajdujące się blisko siebie, które zlewają się z większej odległości należy uprościć do wspólnej płaszczyzny

KiełbasianTM

KiełbasianTM

Użytkownicy
posty73
Propsy5
  • Użytkownicy
dzięki nie sprawdzałem tego po usunięciu zera
 
Moje opowiadanko



- Je**ć dzieci!

- A starczy nam czasu?


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