CharacterHelper - Trofea 3760 9

O temacie

Autor Timler

Zaczęty 23.07.2012 roku

Wyświetleń 3760

Odpowiedzi 9

Timler

Timler

Użytkownicy
posty43
Propsy1
  • Użytkownicy
Witam, chciałbym do dialogu CharacterHelpera dodać naukę pozyskiwania trofeów (gothic I). Zrobiłem już wcześniej, jednak nie wyświetlała się opcja dialogowa i nikt nie wiedział dlaczego. Dlatego pomyślałem sobie - może całość zrobiłem źle? Jak to dodać?
Z góry dzięki za pomoc.
 

WoYo

WoYo

DreamVader
artysta
posty398
Propsy236
ProfesjaGrafik 3D
  • DreamVader
  • artysta
wklej swój skrypt bo tak to oczekujesz że ktoś poda ci kompletne rozwiązanie twojego problemu

Timler

Timler

Użytkownicy
posty43
Propsy1
  • Użytkownicy
A więc tutaj zamieszczam to, co dopisałem do pliku CharacterHelper.d (nic więcej nie zmieniałem). Nie wyświetla się ta opcja dialogowa.
// #################################################################
// ########## Animaltrophies ############
// #################################################################

INSTANCE CH_Training_Animaltrophies (C_INFO)
{
npc = CH;
condition = CH_Training_Animaltrophies_Cond;
information = CH_Training_Animaltrophies_Info;
important = 0;
permanent = 1;
description = "TALENT:Oprawianie zwierząt";
};                      

FUNC int  CH_Training_Animaltrophies_Cond()
{
if (hero.LP > 0)
{
return TRUE;
};
};

FUNC VOID  CH_Training_Animaltrophies_Info()
{


Info_ClearChoices (CH_Training_Animaltrophies);
Info_AddChoice   (CH_Training_Animaltrophies, DIALOG_BACK ,CH_Training_Animaltrophies_BACK);
if (Knows_GetTeeth == FALSE)
{
Info_AddChoice   (CH_Training_Animaltrophies, "Usuwanie kłów (koszt: 1 punkt umiejętności)" ,CH_Training_Animaltrophies_Zahn);
};
if (Knows_GetFur == FALSE)
{
Info_AddChoice (CH_Training_Animaltrophies, "Ściąganie futer (koszt: 1 punkt umiejętności)" ,CH_Training_Animaltrophies_Fell);
};
if (Knows_GetClaws == FALSE)
{
Info_AddChoice (CH_Training_Animaltrophies, "Usuwanie pazurów (koszt: 1 punkt umiejętności)" ,CH_Training_Animaltrophies_Kralle);
};
if (Knows_GetHide == FALSE)
{
Info_AddChoice (CH_Training_Animaltrophies, "Skórowanie gadów (koszt: 1 punkt umiejętności)" ,CH_Training_Animaltrophies_Haut);
};
};

func void CH_Training_Animaltrophies_BACK()
{
Info_ClearChoices (CH_Training_Animaltrophies);
};

func void CH_Training_Animaltrophies_Zahn()
{

if (other.lp >= 1)
{
other.lp = other.lp - 1;

PrintScreen ("Nowa umiejętność: Zdobywanie kłów", -1,-1,"FONT_OLD_20_WHITE.TGA",2);

Knows_GetTeeth = TRUE;
Log_CreateTopic (GE_AnimalTrophies,LOG_NOTE);
B_LogEntry (GE_AnimalTrophies,"Umiejętność zdobywania kłów wilków, orkowych psów, zębaczy, kąsaczy, ogarów i cieniostworów.");
}
else
{
PrintScreen ("Za mało punktów umiejętności!", -1,-1,"FONT_OLD_20_WHITE.TGA",2);
};
};

func void CH_Training_Animaltrophies_Fell()
{
if (other.lp >= 1)
{
other.lp = other.lp - 1;


PrintScreen ("Nowa umiejętność: Ściąganie futer", -1,-1,"FONT_OLD_20_WHITE.TGA",2);
Knows_GetFur = TRUE;
Log_CreateTopic (GE_AnimalTrophies,LOG_NOTE);
B_LogEntry (GE_AnimalTrophies,"Umiejętność ściągania futer z wilków, orkowych psów, cieniostworów i trolli");
}
else
{
PrintScreen ("Za mało punktów umiejętności!", -1,-1,"FONT_OLD_20_WHITE.TGA",2);
};
};

func void CH_Training_Animaltrophies_Kralle()
{
if (other.lp >= 1)
{
other.lp = other.lp - 1;

PrintScreen ("Nowa umiejętność: Zdobywanie pazurów", -1,-1,"FONT_OLD_20_WHITE.TGA",2);
Knows_GetClaws = TRUE;
Log_CreateTopic (GE_AnimalTrophies,LOG_NOTE);
B_LogEntry (GE_AnimalTrophies,"Umiejętność wyciągania pazurów jaszczurów, zębaczy, topielców, kąsaczy i brzytew");
}
else
{
PrintScreen ("Za mało punktów umiejętności!", -1,-1,"FONT_OLD_20_WHITE.TGA",2);
};
};

func void CH_Training_Animaltrophies_Haut()
{
if (other.lp >= 1)
{
other.lp = other.lp - 1;

PrintScreen ("Nowa umiejętność: Skórowanie jaszczurów", -1,-1,"FONT_OLD_20_WHITE.TGA",2);
Knows_GetHide = TRUE;

Log_CreateTopic (GE_AnimalTrophies,LOG_NOTE);
B_LogEntry (GE_AnimalTrophies,"Umiejętność skórowania jaszczurów i błotnych węży");
}
else
{
PrintScreen ("Za mało punktów umiejętności!", -1,-1,"FONT_OLD_20_WHITE.TGA",2);
};

};

 

Timler

Timler

Użytkownicy
posty43
Propsy1
  • Użytkownicy
Mógłby też ktoś sprawdzić z CH z GIINK, jeśli oczywiście jest takie nauczanie. ja nie mogę sprawdzić, bo mi się napęd popsuł i nie mogę zainstalować GIINK.
Z góry dzięki jeśli się ktoś o to pofatyguje.
 

Wicon

Wicon

Użytkownicy
posty147
Propsy5
  • Użytkownicy
Są dwie możliwości.

1. Nie zrobiłeś paczki z modem i uruchamiasz grę bez parse scripten.
2.  :
FUNC int  CH_Training_Animaltrophies_Cond()
{              
        if      (hero.LP > 0)
        {
                return TRUE;
        };
};

To warunek twojej opcji dialogowej. Będzie ona dostępna jeśli będziesz miał więcej jak 1PN. Może po prostu sprawdzałeś nie mając punktów nauki.
 

Timler

Timler

Użytkownicy
posty43
Propsy1
  • Użytkownicy
Uruchomiłem grę z parse scripten, a podczas sprawdzania dałem sobie level ( co daje także punkty nauki ). Wszystkie inne  opcje były, tylko nie moja.
 

Wicon

Wicon

Użytkownicy
posty147
Propsy5
  • Użytkownicy
W sumie mi się wydaje, że parse scripten można użyć tylko gdy dodajemy jakieś nowe funkcje, nowy kod. A jeśli chodzi o dialogi to musisz zrobić paczkę z modem. Zrób paczkę z modem a dialog napewno będzie. Po za tym usuń z Condition warunek:
jeśli npc ma punkty nauki. Ten warunek i tak dałeś w opcji wyboru. W Condition daj warunek: Jeśli npc jeszcze nie umie chociaż jednej umiejętności z tych które są dostępne pod tą opcją dialogową, czyli:
if (Knows_GetTeeth == FALSE)
A, tylko nie usuwaj tego warunku z AddChoice.
 

HerrKlebstoff

HerrKlebstoff

Użytkownicy
posty165
Propsy48
Profesjabrak
  • Użytkownicy
Wicon, na uja paczka? Paczkę robisz wtedy, kiedy już masz wszystko gotowe. Możesz stworzyć nowy plik .ini (a to co innego) albo skorzystać z emptymoda.

Cytuj
W sumie mi się wydaje, że parse scripten można użyć tylko gdy dodajemy jakieś nowe funkcje, nowy kod.

To jest właśnie nowy kod dialogu. :| W przypadku dialogów parsujesz spacerem + to, co napisałem wcześniej.
 

Wicon

Wicon

Użytkownicy
posty147
Propsy5
  • Użytkownicy
U mnie dialogi pojawiają się dopiero po stworzeniu paczki z modem.
 

Timler

Timler

Użytkownicy
posty43
Propsy1
  • Użytkownicy
U mnie nie trzeba. W spacerze ino trzeba Output - units zupdate'ować i zapasac i tyle. Problem rozwiązany, dzięki
 


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