U: PAR: CONTENT\STORY\MISSIONS\DIA_GRD_10003_GIACOMO.D: Unkown identifier: QUEST1 2281 6

O temacie

Autor eto

Zaczęty 8.06.2009 roku

Wyświetleń 2281

Odpowiedzi 6

eto

eto

Użytkownicy
-Banany pod pokładem? -SĄĄĄĄĄĄ
posty1741
Propsy1793
ProfesjaLvl designer
  • Użytkownicy
  • -Banany pod pokładem? -SĄĄĄĄĄĄ
Witam. Stworzyłem sobie kilku NPC oraz jeden dialog. Najpierw wszystko ładnie, ale gdy dodałem kilka linijek do dialogu, to wyskakuje okienko z niezbyt zabawnym komunikatem, a mianowicie:
U: PAR: CONTENT\STORY\MISSIONS\DIA_GRD_10003_GIACOMO.D: Unkown identifier: QUEST1
No i teraz nie wiem co mam zrobić! Pomóżcie! Dialog:

///////////////////////////////////////////////////////
////////////// stop
///////////////////////////////////////////////////////
instance Dia_Giacomo_stop   (C_INFO)
{
npc = GRD_10003_Giacomo;
condition =  Dia_Giacomo_stop_condition;
information =  Dia_Giacomo_stop_info;
permanent = FALSE;
important = TRUE;
};

FUNC int  Dia_Giacomo_stop_condition()
{
return TRUE;
};

FUNC VOID  DIA_Giacomo_stop_info()
{
AI_Output (self, other,"DIA_Giacomo_stop_1_01"); //.
AI_Output (other,self,"DIA_Giacomo_stop_1_02"); //.
AI_Output (self, other,"DIA_Giacomo_stop_1_03"); //.
AI_Output (other,self,"DIA_Giacomo_stop_1_04"); //.
AI_Output (self, other,"DIA_Giacomo_stop_1_05"); //.
};
///////////////////////////////////////////////////////
////////////// zadanie
///////////////////////////////////////////////////////
instance Dia_Giacomo_zadanie   (C_INFO)
{
npc = GRD_10003_Giacomo;
nr = 1;
condition =  Dia_Giacomo_zadanie_condition;
information =  Dia_Giacomo_zadanie_info;
permanent = FALSE;
important = FALSE;
description =  "Do czego?";
};

FUNC int  Dia_Giacomo_zadanie_condition()
{
if (Npc_KnowsInfo(hero, Dia_Giacomo_stop))
{
return TRUE;
};
};

FUNC VOID  DIA_Giacomo_zadanie_info()
{
AI_Output (other,self,"DIA_Giacomo_zadanie_1_01"); //.
AI_Output (self, other,"DIA_Giacomo_zadanie_1_02"); //.
AI_Output (other,self,"DIA_Giacomo_zadanie_1_03"); //.
AI_Output (self, other,"DIA_Giacomo_zadanie_1_04"); //.

Log_CreateTopic(CH1_Quest1, LOG_MISSION);
B_LogEntry(CH1_Quest1, ".");
};
///////////////////////////////////////////////////////
/////////////// wynocha
////////////////////////////////////////////////////////
instance Dia_Giacomo_wynocha (C_INFO)
{
npc = GRD_10003_Giacomo;
nr = 2;
condition = Dia_Giacomo_wynocha_condition;
information = Dia_Giacomo_wynocha_info;
permanent   = FALSE;
important   = TRUE;
description = "NIE MA!";
};

func int Dia_Giacomo_wynocha_condition()
{
if (CH1_Quest1 == log_running)
{
return 1;
};
};

func void Dia_Giacomo_wynocha_info()
{
AI_Output (self, other,"DIA_Giacomo_wynocha_1_01"); //.
AI_Output (other, self,"DIA_Giacomo_wynocha_1_02"); //.
AI_Output (self, other,"DIA_Giacomo_wynocha_1_03"); //.
AI_GotoWP (hero, "WYNOCHA");
AI_StopProcessInfos (self);
};
///////////////////////////////////////////////////////
////////////// EXIT
///////////////////////////////////////////////////////
instance Dia_Giacomo_EXIT   (C_INFO)
{
npc = GRD_10003_Giacomo;
nr = 999;
condition =  Dia_Giacomo_EXIT_condition;
information =  Dia_Giacomo_EXIT_info;
permanent = TRUE;
description = DIALOG_ENDE;
};

FUNC int  Dia_Giacomo_EXIT_condition()
{
return TRUE;
};

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

Dodałem część wynocha.
 
Niespełniony Level Designer z ambicjami, zmęczeniem i brakiem czasu...

Adanos

Adanos

Administrator
Szara eminencja
posty5204
Propsy3870
ProfesjaProgramista
  • Administrator
  • Szara eminencja
Cytuj
U: PAR: CONTENT\STORY\MISSIONS\DIA_GRD_10003_GIACOMO.D: Unkown identifier: QUEST1
Nie zdefiniowałeś nigdzie takiej zmiennej.

eto

eto

Użytkownicy
-Banany pod pokładem? -SĄĄĄĄĄĄ
posty1741
Propsy1793
ProfesjaLvl designer
  • Użytkownicy
  • -Banany pod pokładem? -SĄĄĄĄĄĄ
 
Niespełniony Level Designer z ambicjami, zmęczeniem i brakiem czasu...

Adanos

Adanos

Administrator
Szara eminencja
posty5204
Propsy3870
ProfesjaProgramista
  • Administrator
  • Szara eminencja
if (CH1_Quest1 == log_running)Z tego co się orientuję, to CH1_Quest jest zdefiniowaną stałą napisową, więc nie możesz jej traktować jak zmiennej. Jeśli chcesz korzystać ze zmiennej, to zdefiniuj ją przed dialogiem, o tak:
var int zmienna;
Później operujesz na tej zmiennej.

eto

eto

Użytkownicy
-Banany pod pokładem? -SĄĄĄĄĄĄ
posty1741
Propsy1793
ProfesjaLvl designer
  • Użytkownicy
  • -Banany pod pokładem? -SĄĄĄĄĄĄ
Przeczytałem tutorial i nie bardzo wiem o co w tych zmiennych chodzi... Wydaję mi się(nie wiem czy dobrze), że ta zmienna to pula punkcików, których odpowiednia wartość może "aktywować" dany temat w dialogu. Więc mógłbym zrobić takie coś: X pilnujący np. bramy zleca nam questa, żeby kogoś zabić(Y). I zrobić coś takiego, że jeśli zmienna == 5 to nas wygania gdzieś tam, dopóki się tego Y nie pozbawi życia. Gdy się Y zabije, to zmienna == 5-2, czyli już nas wyganiał nie będzie. Pytanie tylko jak?
 
Niespełniony Level Designer z ambicjami, zmęczeniem i brakiem czasu...

Adanos

Adanos

Administrator
Szara eminencja
posty5204
Propsy3870
ProfesjaProgramista
  • Administrator
  • Szara eminencja
No więc tak:
1. Najpierw inicjujesz zmienną przed dialogiem np.
var int zmienna;2. Gdzieś tam w treści dialogu dajesz:
zmienna=5;np.:
FUNC VOID  DIA_Giacomo_zadanie_info()
{
AI_Output (other,self,"DIA_Giacomo_zadanie_1_01"); //.
AI_Output (self, other,"DIA_Giacomo_zadanie_1_02"); //.
AI_Output (other,self,"DIA_Giacomo_zadanie_1_03"); //.
AI_Output (self, other,"DIA_Giacomo_zadanie_1_04"); //.

Log_CreateTopic(CH1_Quest1, LOG_MISSION);
B_LogEntry(CH1_Quest1, ".");
zmienna=5;
};
3. Następnie w następnym dialogu dajesz warunek:
if zmienna==5
{
   return true;
}
np. o tak:
instance Dia_Giacomo_wynocha (C_INFO)
{
npc = GRD_10003_Giacomo;
nr = 2;
condition = Dia_Giacomo_wynocha_condition;
information = Dia_Giacomo_wynocha_info;
permanent   = FALSE;
important   = TRUE;
description = "NIE MA!";
};

func int Dia_Giacomo_wynocha_condition()
{
if (zmienna==5)
   {
 return 1;
   };
};

func void Dia_Giacomo_wynocha_info()
{
AI_Output (self, other,"DIA_Giacomo_wynocha_1_01"); //.
AI_Output (other, self,"DIA_Giacomo_wynocha_1_02"); //.
AI_Output (self, other,"DIA_Giacomo_wynocha_1_03"); //.
AI_GotoWP (hero, "WYNOCHA");
AI_StopProcessInfos (self);
};
4. Musisz stworzyć gdzieś jakąś funkcję odpowiedzialną za zmienienie wartości zmiennej np. przed naszym całym dialogiem.
func int smierc_y()
{
if (Npc_IsDead(instancja_Npc))
{
  zmienna-=2;//albo zmienna=zmienna-2;
}
}

eto

eto

Użytkownicy
-Banany pod pokładem? -SĄĄĄĄĄĄ
posty1741
Propsy1793
ProfesjaLvl designer
  • Użytkownicy
  • -Banany pod pokładem? -SĄĄĄĄĄĄ
Działa. Dziękuję za pomoc.
PS. Sorki że nie pisałem nic przez tyle czasu, ale się chemii uczyłem. Mam nadzieję, że to zrozumiesz....
 
Niespełniony Level Designer z ambicjami, zmęczeniem i brakiem czasu...


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