Problem w dialogu 2281 2

O temacie

Autor Pragasek

Zaczęty 12.01.2014 roku

Wyświetleń 2281

Odpowiedzi 2

Pragasek

Pragasek

Użytkownicy
posty334
Propsy39
ProfesjaSkrypter
  • Użytkownicy

Pragasek

Problem w dialogu
2014-01-12, 13:16(Ostatnia zmiana: 2014-01-12, 15:07)
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!

RafalBudzis

RafalBudzis

Użytkownicy
posty1967
Propsy808
ProfesjaSkrypter
  • Użytkownicy

RafalBudzis

Problem w Dialogu
#1 2014-01-12, 13:38(Ostatnia zmiana: 2014-01-12, 13:44)
jak dobrze pamiętam do dialogów można odwoływac się po instancjach więc
DIA_Skorpion_Teachtofightman.permanent = FALSE;
daj to do tego if`a
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);
  }

co do nie wyświetlania tamtego to gdzie masz zrobioną zmienną Skorpion_Teach  ??

EDIT:
właściwie to permanent możesz zostawić a dodać do pierwszego warunek

&& (Skorpion_Teach == FALSE)

Pragasek

Pragasek

Użytkownicy
posty334
Propsy39
ProfesjaSkrypter
  • Użytkownicy

Pragasek

Problem w Dialogu
#2 2014-01-12, 14:11(Ostatnia zmiana: 2014-01-12, 14:46)
Tak właśnie myślałem, bo tak samo jest w dialogach istniejących, np. opcje permanent Vatrasa też są wyłączone za pomocą zmiennych a nie Info_ClearChoices... No nic właśnie naprawiam skrypty także zaraz dam edita i powiem czy działa!

#EDIT

Dobra działa, dzięki :)


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