W tym tutorialu napiszę jak zrobić dialog w którym będziemy się mogli czegoś nauczyć. W tym przypadku siły i zręczności.
Na początek napiszmy początek dialogu:
INSTANCE GUR_1202_CorAngar_Teach(C_INFO)
{
npc = GUR_1202_CorAngar;
nr = 10;
condition = GUR_1202_CorAngar_Teach_Condition;
information = GUR_1202_CorAngar_Teach_Info;
permanent = 1;
description = "Pokażesz mi, jak poprawić moją siłę i zręczność?";
};
FUNC INT GUR_1202_CorAngar_Teach_Condition()
{
if (C_NpcBelongsToPsiCamp(hero))
{
return TRUE;
};
};
Po tym dodajemy:
FUNC VOID GUR_1202_CorAngar_Teach_Info()
{
AI_Output(other,self,"GUR_1202_CorAngar_Teach_15_00"); //Pokażesz mi, jak poprawić moją siłę i zręczność?
AI_Output(self,other,"GUR_1202_CorAngar_Teach_08_01"); //Siła i zręczność to cechy wielkiego wojownika.
Info_ClearChoices (GUR_1202_CorAngar_Teach);
Info_AddChoice (GUR_1202_CorAngar_Teach,DIALOG_BACK ,GUR_1202_CorAngar_Teach_BACK);
Info_AddChoice (GUR_1202_CorAngar_Teach,B_BuildLearnString(NAME_LearnStrength_5,5*LPCOST_ATTRIB
UTE_STRENGTH,0) ,GUR_1202_CorAngar_Teach_STR_5);
Info_AddChoice (GUR_1202_CorAngar_Teach,B_BuildLearnString(NAME_LearnStrength_1,LPCOST_ATTRIBUT
E_STRENGTH,0) ,GUR_1202_CorAngar_Teach_STR_1);
Info_AddChoice (GUR_1202_CorAngar_Teach,B_BuildLearnString(NAME_LearnDexterity_5,5*LPCOST_ATTRI
BUTE_DEXTERITY,0) ,GUR_1202_CorAngar_Teach_DEX_5);
Info_AddChoice (GUR_1202_CorAngar_Teach,B_BuildLearnString(NAME_LearnDexterity_1,LPCOST_ATTRIBU
TE_DEXTERITY,0) ,GUR_1202_CorAngar_Teach_DEX_1);
};
Doda do opcje dialogową o nauce kolejno 5 i 1 siły i 5 i 1 zręczności.
Potem dodajemy:
func void GUR_1202_CorAngar_Teach_BACK()
{
Info_ClearChoices (GUR_1202_CorAngar_Teach);
};
doda opcję o powrocie do poprzedniego menu
Teraz piszemy:
func void GUR_1202_CorAngar_Teach_STR_5()
{
B_BuyAttributePoints(other, ATR_STRENGTH, 5*LPCOST_ATTRIBUTE_STRENGTH);
Info_ClearChoices (GUR_1202_CorAngar_Teach);
Info_AddChoice (GUR_1202_CorAngar_Teach,DIALOG_BACK ,GUR_1202_CorAngar_Teach_BACK);
Info_AddChoice (GUR_1202_CorAngar_Teach,B_BuildLearnString(NAME_LearnStrength_5,5*LPCOST_ATTRIB
UTE_STRENGTH,0) ,GUR_1202_CorAngar_Teach_STR_5);
Info_AddChoice (GUR_1202_CorAngar_Teach,B_BuildLearnString
5*LPCOST_ATTRIBUTE_STRENGTH
to ile PN kosztuje nas nauka w tym przypadku 5PN
i tak później analogicznie dodajemy opcje dla 1 pkt siły i zręczności. Mam nadzieję że się przyda. Jeśli coś nie działa lub ktoś ma inny lepszy pomysł to pisać na PW lub gg.