(G2) Nieśmiertelność po dialogu 3387 8

O temacie

Autor Zucklov

Zaczęty 14.03.2014 roku

Wyświetleń 3387

Odpowiedzi 8

Zucklov

Zucklov

Quest Pack Team
Sztywniutko
posty1220
Propsy1241
ProfesjaSkrypter
  • Quest Pack Team
  • Sztywniutko
Otóż podczas testowania jednego z moich questów natrafiłem na problem opisany w temacie. Dodam, że używam trialogu. Zrobiłem to w taki sposób - najpierw jest trialog fabularny (czyli rozmowa wnosząca nowości do zadania), a potem jeden z wrogów sam nas zaczepia i występuje pusty dialog - bez kwestii, same funkcje sprawiające, że postaci atakują (kiedyś mi w trialogu npce się atakowali zanim się skończył).

Trialog:
TRIA_Invite (Drunk1);
TRIA_Invite (Drunk2);
TRIA_Start ();
TRIA_Next (Tashman);
AI_Output (self, other,"DIA_Tashman_DrunksTria_09_00"); //Daj mi chwilę. Zaraz się tym zajmę.
AI_TurnToNpc (Tashman, Drunk1);
AI_Output (self, other,"DIA_Tashman_DrunksTria_09_01"); //Doigraliście się. Na mocy prawa nadanego mi przez gubernatora Lariusa, aresztuję was za zorganizowanie rozboju na obywatelu tego miasta!
TRIA_Next (Drunk2);
AI_TurnToNpc (Drunk2, Tashman);
AI_Output (self, other,"DIA_Tashman_DrunksTria_09_02"); //(Hik) Tsoo ty bredzishh, Tashman?
TRIA_Next (Drunk1);
AI_TurnToNpc (Drunk1, Tashman);
AI_Output (self, other,"DIA_Tashman_DrunksTria_09_03"); //Przestań się wygłupiać, durniu, tylko nam zapłać za ostatnią robotę.
TRIA_Next (Drunk2);
AI_Output (self, other,"DIA_Tashman_DrunksTria_09_04"); //Włłłaśnie. Tsoo z kaso?
TRIA_Next (Tashman);
AI_Output (self, other,"DIA_Tashman_DrunksTria_09_05"); //Ty gnoju! Śmiesz się tak zwracać do królewskiego oficera?!
AI_DrawWeapon (self);
AI_Output (self, other,"DIA_Tashman_DrunksTria_09_06"); //Mówię po raz ostatni. Idziecie ze mną do aresztu po dobroci, albo zaciągnę tam wasze trupy!
TRIA_Next (Drunk1);
AI_Output (self, other,"DIA_Tashman_DrunksTria_09_07"); //Działasz mi na nerwy, Tashman! Wciąż nam wisisz za ostatnią akcję, znaleźliśmy ci...
TRIA_Next (Tashman);
AI_Output (self, other,"DIA_Tashman_DrunksTria_09_08"); //Nie będę tego słuchał!
TRIA_Next (Drunk2);
AI_Output (self, other,"DIA_Tashman_DrunksTria_09_09"); //Zarass pożałujesz! Nhhhikt nie zadziera z namy. NHHIKT! (hik)
TRIA_Next (Drunk1);
AI_Output (self, other,"DIA_Tashman_DrunksTria_09_10"); //Właśnie! Chyba czas, by ktoś ci obił ten kłamliwy pysk, Tashman!
AI_Output (self, other,"DIA_Tashman_DrunksTria_09_11"); //Bierz tamtego kolesia, ja się zajmę tym obłudnym skurczybykiem!
TRIA_Finish ();
B_StartOtherRoutine (Tashman, "FightDrunks");
B_LogEntry (TOPIC_MerchantsEmployee, "Dziwne. Tamci pijacy zachowują się, jakby znali Tashmana wcześniej. Mówili coś o zapłacie i chcieli powiedzieć więcej, ale Tashman im przerwał.");
AI_StopProcessInfos (self);

A ten do ataku bardzo prosty:
AI_StopProcessInfos (self);
    B_Attack (self, other, AR_KILL, 1);
    B_Attack (Tashman, Drunk1, AR_KILL, 1);
    B_Attack (Drunk1, Tashman, AR_KILL, 1);
self.aivar [AIV_INVINCIBLE] = FALSE; //dodałem te aivary pierwszym sprawdzeniu, nie pomogło
Drunk1.aivar [AIV_INVINCIBLE] = FALSE;
Tashman.aivar [AIV_INVINCIBLE] = FALSE;
 
Lieb Vaterland magst ruhig sein

Bogdan Zwei

Bogdan Zwei

Użytkownicy
Wulgarny skurwiel pierdolony.
posty1864
Propsy541
Profesjabrak
  • Użytkownicy
  • Wulgarny skurwiel pierdolony.
Trudno zrozumieć, o co Ci dokładnie chodzi.
Rozumowanie #1: Chcesz zrobić, żeby NPC był nieśmiertelny po wszystkich dialogach?
Rozumowanie #2: Chcesz, żeby NPC nie byli nieśmiertelni po wszystkich dialogach?
Rozumowanie #3: Masz buga, że NPC stają się nieśmiertelni po wszystkich dialogach?

Nic nie wiem z tego tematu praktycznie. Przeczytałem wstęp (wszystko, oprócz skryptów) i nie wiem, o co Ci chodzi.
 
: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.

chicken

chicken

RaveN Studio
posty1230
Propsy559
ProfesjaNierób
  • RaveN Studio
Jeśli chcesz usunąć nieśmiertelność po dialogu to:
c_npc.flags = 0;
Jeśli dać mu nieśmiertelność to:
c_npc.flags = NPC_FLAG_IMMORTAL;
Te aivary możesz usunąć

Zucklov

Zucklov

Quest Pack Team
Sztywniutko
posty1220
Propsy1241
ProfesjaSkrypter
  • Quest Pack Team
  • Sztywniutko
@Bogdan
Rzeczywiście niejasno się wyraziłem. Chodzi o rozumowanie 3.
@chicken 
Zrobiłem edit focus na delikwentów i bez zmieniania flag mieli 0, ale byli nieśmiertelni.
 
Lieb Vaterland magst ruhig sein

Bogdan Zwei

Bogdan Zwei

Użytkownicy
Wulgarny skurwiel pierdolony.
posty1864
Propsy541
Profesjabrak
  • Użytkownicy
  • Wulgarny skurwiel pierdolony.
Zrobiłem edit focus na delikwentów i bez zmieniania flag mieli 0, ale byli nieśmiertelni.

Najprawdopodobniej to jakiś bug. W Gothic 2 najmniejsza ilość obrażeń, jaką można zadać to 5.
Jest to niemożliwe, żeby NPC byli nieśmiertelni, chociaż mają flags = 0;.

Preferowałbym ustawienie w dialogu - a w zasadzie trialogu - flags = 2;/flags = NPC_FLAG_IMMORTAL; (obojętnie który z nich, obydwa działają tak samo, a w dialogu po trialogu ustawić im flags = 0;.

No może głupie rozwiązanie, ale jeśli to bug to najprawdopodobniej to zadziała.
 
: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.

Zucklov

Zucklov

Quest Pack Team
Sztywniutko
posty1220
Propsy1241
ProfesjaSkrypter
  • Quest Pack Team
  • Sztywniutko
Może trochę odkopuję, ale dopiero teraz to przetestowałem i jeszcze sprawdziłem po innym trialogu. Problem oczywiście pozostał.
 
Lieb Vaterland magst ruhig sein

Zucklov

Zucklov

Quest Pack Team
Sztywniutko
posty1220
Propsy1241
ProfesjaSkrypter
  • Quest Pack Team
  • Sztywniutko
Może mi ktoś z tym pomóc?
 
Lieb Vaterland magst ruhig sein

Bogdan Zwei

Bogdan Zwei

Użytkownicy
Wulgarny skurwiel pierdolony.
posty1864
Propsy541
Profesjabrak
  • Użytkownicy
  • Wulgarny skurwiel pierdolony.
Próbowałeś mojego sposobu? Nie powiedziałeś, czy to działa, aczkolwiek może to być bug w funkcji trialogowej.
 
: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.

Zucklov

Zucklov

Quest Pack Team
Sztywniutko
posty1220
Propsy1241
ProfesjaSkrypter
  • Quest Pack Team
  • Sztywniutko
No tak, spróbowałem i przy okazji przetestowałem też jeden z innych trialogów. W grze mam ich razem 5, z czego z dwoma występującymi wg. fabuły wcześniej nie mam żadnych problemów (postacie są możliwe do zabicia).
 
Lieb Vaterland magst ruhig sein


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