Показать сообщение отдельно
Старый 09.06.2005, 10:26   #426
Bliz@rd

AGFC
Гость
 
Сообщений: n/a

По умолчанию Re: Скриптинг в Готике

Вот скрипт моего диалога(поговорить с Грегом):

instance None_999_Leo_AskForSword (C_INFO)
{
npc = None_668_Leo;
condition = None_668_Leo_AskForSword_Condition;
information = None_668_Leo_AskForSword_Info;
important = TRUE;
permanent = FALSE;
description = "";
};

FUNC int None_668_Leo_AskForSword_Condition()
{
if (hero.level >= 0)
{
return TRUE;
};
return FALSE;
};

func void None_668_Leo_AskForSword_Info()
{
AI_Output ( self, other, "None_668_Leo_AskForSword_Info_8_01"); // Эй, ты занят ?

Info_ClearChoices (None_668_Leo_AskForSword);
Info_AddChoice (None_668_Leo_AskForSword, "Нет, а что?",
None_668_Leo_AskForSword_Yes);
Info_AddChoice (None_668_Leo_AskForSword, "Боюсь, что да",
None_668_Leo_AskForSword_No);
};

Func void None_668_Leo_AskForSword_No ()
{
AI_Output(other,self, "None_668_Leo_AskForSword_Info_8_02"); // Я занят...
AI_Output(self,other, "None_668_Leo_AskForSword_Info_8_03"); //(Перебивает)Ну и вали отсюда...
AI_StopProcessInfos (self);
};

func void None_668_Leo_AskForSword_Yes ()
{
AI_Output(other,self,"None_668_Leo_AskForSword_Inf o_8_04"); // Да,вроде,нет.
AI_Output(self,other,"None_668_Leo_AskForSword_Inf o_8_05"); // Тогда принеси мне Нужно чтобы ты поговорил с Грегом.

Log_CreateTopic (GunthersSword,LOG_MISSION);
Log_SetTopicStatus (GunthersSword,LOG_SUCCESS);
B_LogEntry(GunthersSword, "Лео попросил меня поговорить с Грегом");
AI_StopProcessInfos (self);
};



// ************************ EXIT **************************
instance None_668_Leo_AskForSword_Exit (C_INFO)
{
npc = None_668_Leo;
condition = None_668_Leo_AskForSword_Exit_Condition;
information = None_668_Leo_AskForSword_Exit_Info;
important = 0;
permanent = 1;
description = "конец";
};

FUNC int None_668_Leo_AskForSword_Exit_Condition()
{
return 1;
};

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

instance None_668_Leo_BringSword (C_INFO)
{
npc = None_668_Leo;
condition = None_668_Leo_bringSword_Condition;
information = None_668_Leo_bringSword_Info;
important = FALSE;
permanent = TRUE;

description = "Я поговорил с ним?";
};

FUNC int None_668_Leo_bringSword_Condition()
{

if (Npc_KnowsInfo ( hero, None_668_Leo_AskForSword)
&! int_GotSword && Npc_HasItems (other, PlayerTalkedToGreg) >= 1)
{
return TRUE;
};
return FALSE;
};

func void None_668_Leo_bringSword_Info()

{
Info_ClearChoices (None_668_Leo_bringSword);

Info_AddChoice  (None_668_Leo_bringSword,
"Я поговорил, но он просил ничего не говорить тебе",
None_999_Leo_bringSword_Yes);

Info_AddChoice  (None_668_Leo_bringSword,
"Он всё рассказал.",
None_668_Leo_bringSword_No);
};  


func void None_668_Leo_bringSword_Yes ()
{
AI_Output( other, self, "None_668_Leo_bringSword_Info_8_06"); //Я так не думаю.
AI_Output( self, other, "None_668_Leo_bringSword_Info_8_07"); // Тогда получи!?!
AI_StopProcessInfos (self);
AI_StartState( self, ZS_Attack, 0, "");
};

func void None_668_Leo_bringSword_No ()
{
AI_Output ( other, self, "None_999_Leo_bringSword_Info_8_08"); // Да я поговорил и он мне всё рассказал.
AI_Output ( self, other, "None_999_Leo_bringSword_Info_8_09"); // Великолепно, а это мой подарок тебе - Яблоко.(смеется)

B_LogEntry (GunthersSword, "");

other.exp = other.exp + 100;
other.lp = other.lp + 2;
b_giveinvitems(other,self, ItFo_Fish,1);
b_giveinvitems(self,other,ItFo_Apple,1);
AI_StopProcessInfos (self);
};
Потом в паке Story_Globals прописал var int PlayerTalkedToGreg;Спайсер выдавал ошибку NONE_668_Leo_AskForSword.
Что я сделад н6е правильно?
Делал по примеру принести меч.И ещё там где написано B_LogEntry (GunthersSword, "");что нужно написать?
Ответить с цитированием