Hej.
Jestem nowy w skrypceniu, i od dwóch dni próbuję oskrypcić poprawnie dwie postacie...
Problem polega na tym, że nie wiem do końca jak działają funkcje var int.
Zerknijcie proszę na dwa poniższe skrypty:
Franko:
Spoiler
//*********************************************************************
// Info EXIT
//*********************************************************************
INSTANCE DIA_BDT_1_Franko_EXIT (C_INFO)
{
npc = BDT_1_Franko;
nr = 999;
condition = DIA_BDT_1_Franko_EXIT_Condition;
information = DIA_BDT_1_Franko_EXIT_Info;
permanent = TRUE;
description = DIALOG_ENDE;
};
FUNC INT DIA_BDT_1_Franko_EXIT_Condition()
{
return TRUE;
};
FUNC VOID DIA_BDT_1_Franko_EXIT_Info()
{
AI_StopProcessInfos (self);
};
//*********************************************************************
// Witaj
//*********************************************************************
INSTANCE DIA_BDT_1_Franko_Witaj (C_INFO)
{
npc = BDT_1_Franko;
nr = 1;
condition = DIA_BDT_1_Franko_Witaj_Condition;
information = DIA_BDT_1_Franko_Witaj_Info;
permanent = TRUE;
description = Witaj.;
};
FUNC INT DIA_BDT_1_Franko_Witaj_Condition()
{
return TRUE;
};
FUNC VOID DIA_BDT_1_Franko_Witaj_Info()
{
AI_Output (other, self ,DIA_BDT_1_Franko_Witaj_15_00); //Witaj.
AI_Output (self, other,DIA_BDT_1_Franko_Witaj_01_01); //Czy my kurwa jesteśmy na per TY?!
AI_Output (other, self,DIA_BDT_1_Franko_Witaj_15_02); //Eee... Chyba nie.
AI_Output (self, other,DIA_BDT_1_Franko_Witaj_01_03); //To na co się gapisz? Spierdalaj.
};
//*********************************************************************
// Mięso
//*********************************************************************
INSTANCE DIA_BDT_1_Franko_Mieso (C_INFO)
{
npc = BDT_1_Franko;
nr = 2;
condition = DIA_BDT_1_Franko_Mieso_Condition;
information = DIA_BDT_1_Franko_Mieso_Info;
permanent = FALSE;
description = Jest coś do zrobienia?;
};
FUNC INT DIA_BDT_1_Franko_Mieso_Condition()
{
return TRUE;
};
FUNC VOID DIA_BDT_1_Franko_Mieso_Info()
{
AI_Output (other,self ,DIA_BDT_1_Franko_Mieso_15_00); //Hej, czy jest coś do zrobienia?
AI_Output (self ,other,DIA_BDT_1_Franko_Mieso_01_01); //Hmm...
AI_PlayAni (self, T_SEARCH);
AI_Output (self ,other,DIA_BDT_1_Franko_Mieso_15_02); //Może faktycznie mam dla Ciebie zadanie, leszczu.
AI_Output (self ,other,DIA_BDT_1_Franko_Mieso_01_03); //Pokaż, że jesteś czegoś wart, i przynieś mi pięć świeżo upolowanych kawałków mięsa.
Info_ClearChoices (DIA_BDT_1_Franko_Mieso);
Info_AddChoice (DIA_BDT_1_Franko_Mieso,Uznaj to mięso za Twoje.,DIA_BDT_1_Franko_Mieso_Okej);
Info_AddChoice (DIA_BDT_1_Franko_Mieso,Chyba Cie pies wydymał, nie zamierzam się poniżać.,DIA_BDT_1_Franko_Mieso_Nie);
};
FUNC VOID DIA_BDT_1_Franko_Mieso_Okej ()
{
AI_Output (self, other,DIA_BDT_1_Franko_Mieso_Okej_15_00); //Haha! Podoba mi się takie nastawienie! Czekam.
Log_SetTopicStatus (TOPIC_Mieso, LOG_RUNNING);
B_LogEntry (TOPIC_Mieso, Franko chce, abym zdobył dla niego pięć kawałków surowego mięsa.);
AI_StopProcessInfos (self);
};
FUNC VOID DIA_BDT_1_Franko_Mieso_Nie ()
{
AI_Output (self, other,DIA_BDT_1_Franko_Mieso_Nie_15_00); //Co powiedziałeś?! Zdychaj gnido!
B_attack (self, other, AR_NONE, 0);
AI_StopProcessInfos (self);
};
//*********************************************************************
// Koniec zadania - mieso
//*********************************************************************
INSTANCE DIA_BDT_1_Franko_Koniecmieso (C_INFO)
{
npc = BDT_1_Franko;
nr = 2;
condition = DIA_BDT_1_Franko_Koniecmieso_Condition;
information = DIA_BDT_1_Franko_Koniecmieso_Info;
permanent = TRUE;
description = Mam Twoje mięso.;
};
FUNC INT DIA_BDT_1_Franko_Koniecmieso_Condition()
{
if ((npc_knowsinfo (other,DIA_BDT_1_Franko_Mieso)) && ((npc_hasitems (other, itfomuttonraw) >= 5)))
{
return TRUE;
};
};
FUNC VOID DIA_BDT_1_Franko_Koniecmieso_Info()
{
AI_Output (other, self,DIA_BDT_1_Franko_Koniecmieso_15_00); //Mam Twoje mięso.
AI_Output (self, other,DIA_BDT_1_Franko_Koniecmieso_01_01); //Dawaj mi je.
B_giveinvitems (other, self, itfomuttonraw, 5);
B_UseItem (self, itfomuttonraw);
AI_Output (self, other,DIA_BDT_1_Franko_Koniecmieso_01_02); //Mmm... mmm.. Pychotka... Mmm.
AI_Output (other, self,DIA_BDT_1_Franko_Koniecmieso_15_03); //Ekhm...
AI_Output (self, other,DIA_BDT_1_Franko_Koniecmieso_01_04); //Co?!
B_UseItem (self, itfomuttonraw);
AI_Output (other, self,DIA_BDT_1_Franko_Koniecmieso_15_05); //Mogę liczyć na jakąś... Nagrodę?
AI_Output (self, other,DIA_BDT_1_Franko_Koniecmieso_01_06); //Chyba oszalałeś! Won ode mnie, sępie!
B_LogEntry (TOPIC_Mieso, Ten frajer nie dał mi nic w zamian... Co za porażka.);
Log_SetTopicStatus (TOPIC_Mieso, LOG_SUCCESS);
B_GivePlayerXP (XP_Franko_Mieso);
Npc_ExchangeRoutine (self,Mieso);
AI_StopProcessInfos (self);
Koniec_Mieso = TRUE;
};
Bolo:
Spoiler
//*********************************************************************
// Info EXIT
//*********************************************************************
INSTANCE DIA_BDT_4_Bolo_EXIT (C_INFO)
{
npc = BDT_4_Bolo;
nr = 999;
condition = DIA_BDT_4_Bolo_EXIT_Condition;
information = DIA_BDT_4_Bolo_EXIT_Info;
permanent = TRUE;
description = DIALOG_ENDE;
};
FUNC INT DIA_BDT_4_Bolo_EXIT_Condition()
{
return TRUE;
};
FUNC VOID DIA_BDT_4_Bolo_EXIT_Info()
{
AI_StopProcessInfos (self);
};
//*********************************************************************
// Witaj
//*********************************************************************
INSTANCE DIA_BDT_4_Bolo_Witaj (C_INFO)
{
npc = BDT_4_Bolo;
nr = 1;
condition = DIA_BDT_4_Bolo_Witaj_Condition;
information = DIA_BDT_4_Bolo_Witaj_Info;
permanent = TRUE;
description = Czy Ty czasem sypiasz?;
};
FUNC INT DIA_BDT_4_Bolo_Witaj_Condition()
{
if (Pobij_Franko == FALSE)
{
return TRUE;
};
};
FUNC VOID DIA_BDT_4_Bolo_Witaj_Info()
{
AI_Output (other, self ,DIA_BDT_4_Bolo_Witaj_15_00); //Czy Ty czasem sypiasz?
AI_Output (self, other,DIA_BDT_4_Bolo_Witaj_01_01); //Chłopie, a kto inny będzie pilnował tych obiboków, jak nie ja?
AI_Output (other, self,DIA_BDT_4_Bolo_Witaj_15_02); //W sumie... Sam nie wiem.
AI_Output (self, other,DIA_BDT_4_Bolo_Witaj_01_03); //No właśnie.
AI_StopProcessInfos (self);
};
//*********************************************************************
// Franko-gnida
//*********************************************************************
INSTANCE DIA_BDT_4_Bolo_Franko (C_INFO)
{
npc = BDT_4_Bolo;
nr = 2;
condition = DIA_BDT_4_Bolo_Franko_Condition;
information = DIA_BDT_4_Bolo_Franko_Info;
permanent = TRUE;
Important = TRUE;
};
FUNC INT DIA_BDT_4_Bolo_Franko_Condition()
{
if (DIA_BDT_4_Bolo_Franko == TRUE)
{
return TRUE;
};
};
FUNC VOID DIA_BDT_4_Bolo_Franko_Info()
{
AI_Output (self, other,DIA_BDT_4_Bolo_Franko_01_00); //Hej, Ty!
AI_Output (other, self,DIA_BDT_4_Bolo_Franko_15_01); //Tak?
AI_Output (self, other,DIA_BDT_4_Bolo_Franko_01_02); //Czy to prawda, że ten ciurmok Franko opitolił Cię z pięciu kawałków mięsa?
Info_ClearChoices (DIA_BDT_4_Bolo_Franko);
Info_AddChoice (DIA_BDT_4_Bolo_Franko,Niestety tak,DIA_BDT_4_Bolo_Franko_Pobij);
Info_AddChoice (DIA_BDT_4_Bolo_Franko,Skąd to przypuszczenie? Oczywiście, że nie,DIA_BDT_4_Bolo_Franko_Oszczedz);
};
FUNC VOID DIA_BDT_4_Bolo_Franko_Pobij ()
{
AI_OutPut (self, other,DIA_BDT_4_Bolo_Franko_Pobij_01_00); //Wiedziałem! Po prostu wiedziałem! Ten frajer cały czas zmuszałby innych do pracy za niego! Zapłaci mi za to!
AI_Stopprocessinfos (self);
B_Attack (self, BDT_1_Franko, AR_NONE, 0);
Pobij_Franko = TRUE;
};
FUNC VOID DIA_BDT_4_Bolo_Franko_Oszczedz ()
{
AI_OutPut (self, other,DIA_BDT_4_Bolo_Franko_Oszczedz_01_00); //No... Tym razem mu się upiekło.
Ai_Stopprocessinfos (self);
};
//*********************************************************************
// Franko Pobity
//*********************************************************************
INSTANCE DIA_BDT_4_Bolo_Franko_Przegral (C_INFO)
{
npc = BDT_4_Bolo;
nr = 1;
condition = DIA_BDT_4_Bolo_Przegral_Condition;
information = DIA_BDT_4_Bolo_Przegral_Info;
permanent = TRUE;
description = Niezly jestes;
};
FUNC INT DIA_BDT_4_Bolo_Przegral_Condition()
{
if (Pobij_Franko == FALSE) && (npc_knowsinfo (other, DIA_BDT_4_Bolo_Franko))
{
return TRUE;
};
};
FUNC VOID DIA_BDT_4_Bolo_Przegral_Info()
{
AI_Output (other, self ,DIA_BDT_4_Bolo_Witaj_15_00); //Niezly jestes. Nie sądzisz, że trochę za ostro go potraktowałeś?
AI_Output (self, other,DIA_BDT_4_Bolo_Witaj_01_01); //Ktoś tutaj musi trzymać wszystko w garści, bo inaczej wilki by nas pożarły.
AI_StopProcessInfos (self);
};
Cały pierwszy skrypt działa.
Skrypt Bola natomiast działa tylko częsciowo.
Mogę wyjść... Wyświetla się także pierwsze pytanie.
Tzn. Czy Ty czasem sypiasz. Po kliknięciu w/w opcji, wyświetlają się pierwsze dwie linijki z działu
Franko Pobity i dwie końcowe z
Witaj.
Totalny miszung, a ja już nie ogarniam :[
Choć jestem pewien, że źle używam var int'ów.
Dodam, że dodałem var int'y do story_globals.