Otóż napisałem ten oto dialog dla jednego z NPC (W gothic 2)
//**********************************************
//-----------------> Teachtofightman <----------
//**********************************************
INSTANCE DIA_Skorpion_Teachtofightman (C_INFO)
{
npc = NONE_15006_Skorpion;
nr = 1;
condition = DIA_Skorpion_Teachtofightman_Condition;
information = DIA_Skorpion_Teachtofightman_Info;
permanent = TRUE;
description = "No to jak nauczysz mnie walczyc?";
};
FUNC INT DIA_Skorpion_Teachtofightman_Condition()
{
if (Npc_KnowsInfo (other, DIA_Skorpion_Shohowtofight))
{
return TRUE;
};
};
FUNC VOID DIA_Skorpion_Teachtofightman_Info()
{
AI_Output (other, self ,"DIA_Skorpion_Teachtofightman_15_01"); //No to jak nauczysz mnie walczyc?
AI_Output (self, other ,"DIA_Skorpion_Teachtofightman_03_02"); //Najpierw pogadaj z Blizna. Musze wiedziec czy mozna ci zaufac.
if (Npc_KnowsInfo (other, DIA_Blizna_Audition))
{
AI_Output (other, self ,"DIA_Skorpion_Teachtofightman_15_02"); //Juz to zrobilem!
AI_Output (self, other ,"DIA_Skorpion_Teachtofightman_03_03"); //Swietnie, zatem pomoge ci...
Skorpion_Teach = TRUE;
Info_ClearChoices (DIA_Skorpion_Teachtofightman);
}
else
{
AI_StopProcessInfos (self);
};
};
//************************************
//-----------------> Teach <----------
//************************************
INSTANCE DIA_Skorpion_Teach (C_INFO)
{
npc = NONE_15006_Skorpion;
nr = 1;
condition = DIA_Skorpion_Teach_Condition;
information = DIA_Skorpion_Teach_Info;
permanent = TRUE;
description = "Zacznijmy juz trening!";
};
FUNC INT DIA_Skorpion_Teach_Condition()
{
if (Skorpion_Teach == TRUE)
{
return TRUE;
};
};
FUNC VOID DIA_Skorpion_Teach_Info()
{
AI_Output (other, self ,"DIA_Skorpion_Teach_15_01"); //Zacznijmy juz trening!
AI_Output (self, other ,"DIA_Skorpion_Teach_03_02"); //Jasne!
Info_ClearChoices (DIA_Skorpion_Teach);
Info_AddChoice (DIA_Skorpion_Teach, "Cofnij" ,DIA_Skorpion_Teach_BACK);
Info_AddChoice (DIA_Skorpion_Teach, B_BuildLearnString(PRINT_Learn2h1 , B_GetLearnCostTalent(other, NPC_TALENT_2H, 1)) ,DIA_Skorpion_Teach_2H_1);
Info_AddChoice (DIA_Skorpion_Teach, B_BuildLearnString(PRINT_Learn2h5 , B_GetLearnCostTalent(other, NPC_TALENT_2H, 5)) ,DIA_Skorpion_Teach_2H_5);
Info_AddChoice (DIA_Skorpion_Teach, B_BuildLearnString(PRINT_Learn1h1 , B_GetLearnCostTalent(other, NPC_TALENT_1H, 1)) ,DIA_Skorpion_Teach_1H_1);
Info_AddChoice (DIA_Skorpion_Teach, B_BuildLearnString(PRINT_Learn1h5 , B_GetLearnCostTalent(other, NPC_TALENT_1H, 5)) ,DIA_Skorpion_Teach_1H_5);
};
FUNC VOID DIA_Skorpion_Teach_1H_1 ()
{
if B_TeachFightTalentPercent (self, other, NPC_TALENT_1H, 1, 75)
{
Info_ClearChoices (DIA_Skorpion_Teach);
Info_AddChoice (DIA_Skorpion_Teach, "Cofnij" ,DIA_Skorpion_Teach_BACK);
Info_AddChoice (DIA_Skorpion_Teach, B_BuildLearnString(PRINT_Learn2h1 , B_GetLearnCostTalent(other, NPC_TALENT_2H, 1)) ,DIA_Skorpion_Teach_2H_1);
Info_AddChoice (DIA_Skorpion_Teach, B_BuildLearnString(PRINT_Learn2h5 , B_GetLearnCostTalent(other, NPC_TALENT_2H, 5)) ,DIA_Skorpion_Teach_2H_5);
Info_AddChoice (DIA_Skorpion_Teach, B_BuildLearnString(PRINT_Learn1h1 , B_GetLearnCostTalent(other, NPC_TALENT_1H, 1)) ,DIA_Skorpion_Teach_1H_1);
Info_AddChoice (DIA_Skorpion_Teach, B_BuildLearnString(PRINT_Learn1h5 , B_GetLearnCostTalent(other, NPC_TALENT_1H, 5)) ,DIA_Skorpion_Teach_1H_5);
};
};
FUNC VOID DIA_Skorpion_Teach_1H_5 ()
{
if B_TeachFightTalentPercent (self, other, NPC_TALENT_1H, 5, 75)
{
Info_ClearChoices (DIA_Skorpion_Teach);
Info_AddChoice (DIA_Skorpion_Teach, "Cofnij" ,DIA_Skorpion_Teach_BACK);
Info_AddChoice (DIA_Skorpion_Teach, B_BuildLearnString(PRINT_Learn2h1 , B_GetLearnCostTalent(other, NPC_TALENT_2H, 1)) ,DIA_Skorpion_Teach_2H_1);
Info_AddChoice (DIA_Skorpion_Teach, B_BuildLearnString(PRINT_Learn2h5 , B_GetLearnCostTalent(other, NPC_TALENT_2H, 5)) ,DIA_Skorpion_Teach_2H_5);
Info_AddChoice (DIA_Skorpion_Teach, B_BuildLearnString(PRINT_Learn1h1 , B_GetLearnCostTalent(other, NPC_TALENT_1H, 1)) ,DIA_Skorpion_Teach_1H_1);
Info_AddChoice (DIA_Skorpion_Teach, B_BuildLearnString(PRINT_Learn1h5 , B_GetLearnCostTalent(other, NPC_TALENT_1H, 5)) ,DIA_Skorpion_Teach_1H_5);
};
};
FUNC VOID DIA_Skorpion_Teach_2H_1 ()
{
if B_TeachFightTalentPercent (self, other, NPC_TALENT_2H, 1, 75)
{
Info_ClearChoices (DIA_Skorpion_Teach);
Info_AddChoice (DIA_Skorpion_Teach, "Cofnij" ,DIA_Skorpion_Teach_BACK);
Info_AddChoice (DIA_Skorpion_Teach, B_BuildLearnString(PRINT_Learn2h1 , B_GetLearnCostTalent(other, NPC_TALENT_2H, 1)) ,DIA_Skorpion_Teach_2H_1);
Info_AddChoice (DIA_Skorpion_Teach, B_BuildLearnString(PRINT_Learn2h5 , B_GetLearnCostTalent(other, NPC_TALENT_2H, 5)) ,DIA_Skorpion_Teach_2H_5);
Info_AddChoice (DIA_Skorpion_Teach, B_BuildLearnString(PRINT_Learn1h1 , B_GetLearnCostTalent(other, NPC_TALENT_1H, 1)) ,DIA_Skorpion_Teach_1H_1);
Info_AddChoice (DIA_Skorpion_Teach, B_BuildLearnString(PRINT_Learn1h5 , B_GetLearnCostTalent(other, NPC_TALENT_1H, 5)) ,DIA_Skorpion_Teach_1H_5);
};
};
FUNC VOID DIA_Skorpion_Teach_2H_5 ()
{
if B_TeachFightTalentPercent (self, other, NPC_TALENT_2H, 5, 75)
{
Info_ClearChoices (DIA_Skorpion_Teach);
Info_AddChoice (DIA_Skorpion_Teach, "Cofnij" ,DIA_Skorpion_Teach_BACK);
Info_AddChoice (DIA_Skorpion_Teach, B_BuildLearnString(PRINT_Learn2h1 , B_GetLearnCostTalent(other, NPC_TALENT_2H, 1)) ,DIA_Skorpion_Teach_2H_1);
Info_AddChoice (DIA_Skorpion_Teach, B_BuildLearnString(PRINT_Learn2h5 , B_GetLearnCostTalent(other, NPC_TALENT_2H, 5)) ,DIA_Skorpion_Teach_2H_5);
Info_AddChoice (DIA_Skorpion_Teach, B_BuildLearnString(PRINT_Learn1h1 , B_GetLearnCostTalent(other, NPC_TALENT_1H, 1)) ,DIA_Skorpion_Teach_1H_1);
Info_AddChoice (DIA_Skorpion_Teach, B_BuildLearnString(PRINT_Learn1h5 , B_GetLearnCostTalent(other, NPC_TALENT_1H, 5)) ,DIA_Skorpion_Teach_1H_5);
};
};
FUNC VOID DIA_Skorpion_Teach_BACK()
{
Info_ClearChoices (DIA_Skorpion_Teach);
};
Problem w tym, że jeżeli spełniamy ten warunek if (Npc_KnowsInfo (other, DIA_Blizna_Audition))
{
AI_Output (other, self ,"DIA_Skorpion_Teachtofightman_15_02"); //Juz to zrobilem!
AI_Output (self, other ,"DIA_Skorpion_Teachtofightman_03_03"); //Swietnie, zatem pomoge ci...
Skorpion_Teach = TRUE;
Info_ClearChoices (DIA_Skorpion_Teachtofightman);
To ta opcja nadal pozostaje permanent a druga opcja z treningiem nie pokazuje się? Tak jakby ta zmienna nie działała albo coś, no nie ogarniam? Dlaczego tak jest?
Dzięki!