Dialog zależny od parametru TRUE 2612 5

O temacie

Autor zmajcek

Zaczęty 18.05.2014 roku

Wyświetleń 2612

Odpowiedzi 5

zmajcek

zmajcek

Użytkownicy
posty49
Propsy99
Profesjabrak
  • Użytkownicy
Kurcze miałem tego nie pisać ale nie mogę sobie za bardzo poradzić choć wiem że to jest proste. :facepalm:

Cel dialogu

dialog nr.1 Gracz zagaduje postać -ten dialog powinien być ponawialny.

Jeżeli gracz przystąpił do straży i usłyszał już dialog nr.1 dostaje questa w dialogu nr.2

Napisałem skrypt ale mam problem bo jak w dialogu 1 ustawie parametr TRUE to owszem dialog się ponawia ale w dialogu 2 funkcja if nie działa bo warunek pewnie czeka na zakończenie. (czyli wyświetla mi tylko 1 dalog i tyle)

No a jak dam False to wiadomo, dialog występuje 1 raz.
Da się jakoś to: if (npc_knowsinfo (other, dialog1)) uzależnić od dialogu 1 opartego na parametrze true?

Tutaj ten skrypt bo wiem ze jeszcze bardziej zawikłałem sprawe tym opisem:P
//*********************************************************************
// Info Hello
//*********************************************************************
INSTANCE DIA_Pal_888_Talos_Hello   (C_INFO)
{
npc         = Pal_888_Talos;
nr          = 1;
condition   = DIA_Pal_888_Talos_Hello_Condition;
information = DIA_Pal_888_Talos_Hello_Info;
permanent   = TRUE;
description = "Witaj, jakie jest twoje zadanie???";
};

FUNC INT DIA_Pal_888_Talos_Hello_Condition()
{
return TRUE;
};

FUNC VOID DIA_Pal_888_Talos_Hello_Info()
{
AI_Output (other,self ,"DIA_Pal_888_Talos_Hello_15_00"); //Witaj, jakie jest twoje zadanie?
AI_Output (self,other ,"DIA_Pal_888_Talos_Hello_17_01"); //blablabla

if (hero.guild == GIL_MIL)
{
AI_Output (self,other ,"DIA_Pal_888_Talos_Hello_17_03"); //Widzę jednak że jesteś strażnikiem, czy nie zechciałbyś przysłużyć się Innosowi pomagając mi?
};
};




//*********************************************************************
// Zadanie
//*********************************************************************
INSTANCE DIA_Pal_888_Talos_zadanie   (C_INFO)
{
npc         = Pal_888_Talos;
nr          = 2;
condition   = DIA_Pal_888_Talos_zadanie_Condition;
information = DIA_Pal_888_Talos_zadanie_Info;
permanent   = FALSE;
description = "O co chodzi?";
};

FUNC INT DIA_Pal_888_Talos_zadanie_Condition()
{
if (npc_knowsinfo (other, DIA_Pal_888_Talos_Hello))
&& (hero.guild ==GIL_MIL)

{

return TRUE;
};
};

FUNC VOID DIA_Pal_888_Talos_zadanie_Info()

Jeszcze tak dopowiem, że jak inne osoby z forum też jestem zmuszony kompilować dialogi jako mod zeby zadziałały. Dodatkowo musiałem przerzucić się na redefixa bo spacer coś źle to naprawiał.
 

chicken

chicken

RaveN Studio
posty1230
Propsy559
ProfesjaNierób
  • RaveN Studio
Musisz wiedzieć co piszesz i jaki efekt chcesz uzyskać. Wysłowiłbyś się normalnie to może pomógłbym Ci lepiej. Nie czytam Ci myślach.
Cytuj
Napisałem skrypt ale mam problem bo jak w dialogu 1 ustawie parametr TRUE to owszem dialog się ponawia ale w dialogu 2 funkcja if nie działa
bo warunek pewnie czeka na zakończenie. (czyli wyświetla mi tylko 1
dalog i tyle)
Skąd mam wiedzieć o jaki parametr Ci chodzi?
Permament? Return? What ever?
Napisz dokładnie co chcesz uzyskać.

zmajcek

zmajcek

Użytkownicy
posty49
Propsy99
Profesjabrak
  • Użytkownicy
Cel dialogu

dialog nr.1 Gracz zagaduje postać -ten dialog powinien być ponawialny.

Jeżeli gracz przystąpił do straży i usłyszał już dialog nr.1 dostaje questa w dialogu nr.2
Tu napisałem :D
Po prostu uzależniłem w skrypcie dialog 2 czyli: DIA_Pal_888_Talos_zadanie
od tego: if (npc_knowsinfo (other, DIA_Pal_888_Talos_Hello))
jednakże ustawiając w dialogu DIA_Pal_888_Talos_Hello
permanent   = TRUE jest on ciągle aktywny przez co to powyższe if nie może się wykonać. I mam tylko ten pierwszy dialog dostępny cały czas.
A w najwiekszym skrócie to nie wiem jak otrzymać cytowany przeze mnie efekt dialogowy.
 

chicken

chicken

RaveN Studio
posty1230
Propsy559
ProfesjaNierób
  • RaveN Studio
Przecież dobrze napisałeś dialogi, skryptowo poprawnie.
Najpierw gada: dialog nr1 i można cały czas gadać.
Potem jak jest strażnikiem(GIL_MIL) i gadał(dialog nr1) to może gadać ponownie: dialog nr2 i można tylko raz gadać.

zmajcek

zmajcek

Użytkownicy
posty49
Propsy99
Profesjabrak
  • Użytkownicy
hm a to nie wiem już..

myślałem że dla permanent   = TRUE;
nie można przypisywać if (npc_knowsinfo...

W każdym razie mi postać wymawia tylko 1 tekst nawet gdy moją gildia jest straż i dialog nie postępuje do przodu.

No nic może to jakiś mój bug, będe jeszcze próbować.

Dzięki za zainteresowanie chicken mimo wszystko!
 

chicken

chicken

RaveN Studio
posty1230
Propsy559
ProfesjaNierób
  • RaveN Studio
Permament odpowiada za to, czy dialog ma być jednorazowy, czy na stałe.


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