Napisałem Dialog do stworzonej przeze mnie postaci. Sprawdziłem w GothicStarter_mod błędy i poprawiłem je. Następnie użyłem opcji "napraw skrypt" w Spacerze, który nie pokazał żadnych błędów. Usunąłem pliki OU, a potem zaktualizowałem Dialogi według filmików Czipa17. Za jego przykładem również stworzyłem paczkę z modem. Po uruchomieniu gry wywołuję NPCa w konsoli, po czym nawiązuję rozmowę. Opcję dialogowe są, zadanie jest zapisane w dzienniku, również wszystkie warunki działają, po wykonaniu zadania dostaję to co zapisałem w skrypcie dialogu. Jednak postacie nie rozmawiają ze sobą. Po wielu próbach użyłem do pomocy Easy Dialog Makera, ale po poprawieniu błędów problem pozostaje. O to cały dialog:
//========================================
//-----------------> EXIT
//========================================
INSTANCE DIA_Adi_EXIT(C_INFO)
{
npc = ZZZ_5000_Adi;
nr = 999;
condition = DIA_Adi_EXIT_Condition;
information = DIA_Adi_EXIT_Info;
permanent = TRUE;
description = DIALOG_ENDE;
};
func int DIA_Adi_EXIT_Condition()
{
return TRUE;
};
func int DIA_Adi_EXIT_Info()
{
AI_StopProcessInfos (self);
};
//========================================
//-----------------> HELLO1
//========================================
INSTANCE DIA_Adi_HELLO1 (C_INFO)
{
npc = ZZZ_5000_Adi;
nr = 1;
condition = DIA_Adi_HELLO1_Condition;
information = DIA_Adi_HELLO1_Info;
permanent = FALSE;
description = "Witaj!";
};
func int DIA_Adi_HELLO1_Condition()
{
return TRUE;
};
func void DIA_Adi_HELLO1_Info()
{
AI_Output (other, self, "DIA_Adi_HELLO1_15_01"); //Witaj!
AI_Output (self, other, "DIA_Adi_HELLO1_03_02"); //Elo Bezio, Bezio elo.
};
//========================================
//-----------------> ZADANIE1
//========================================
INSTANCE DIA_Adi_ZADANIE1 (C_INFO)
{
npc = ZZZ_5000_Adi;
nr = 4;
condition = DIA_Adi_ZADANIE1_Condition;
information = DIA_Adi_ZADANIE1_Info;
permanent = FALSE;
description = "Co tam?";
};
func int DIA_Adi_ZADANIE1_Condition()
{
if (Npc_KnowsInfo (other, DIA_Adi_HELLO1))
{
return TRUE;
};
};
func void DIA_Adi_ZADANIE1_Info()
{
AI_Output (other, self, "DIA_Adi_ZADANIE1_15_01"); //Co tam?
AI_Output (other, self, "DIA_Adi_ZADANIE1_03_02"); //Gdzie moja Viagra, Bezio?
AI_Output (self, other, "DIA_Adi_ZADANIE1_15_03"); //Zżarłem Ci!
AI_Output (self, other, "DIA_Adi_ZADANIE1_03_04"); //O ty mendo! Jak ja Cię pier...
AI_Output (other, self, "DIA_Adi_ZADANIE1_15_05"); //Żartowałem! Nie wiem gdzie jest Viagra.
AI_Output (self, other, "DIA_Adi_ZADANIE1_03_06"); //Potrzebuję Viagry... Jak mi ją znajdziesz dostaniesz ognisty mieczyk!
Log_CreateTopic (TOPIC_Viagra,LOG_MISSION);
Log_SetTopicStatus (TOPIC_Viagra,LOG_RUNNING);
B_LogEntry (TOPIC_Viagra,"Adi zgubił Viagrę. Jak ją znajdę, dostane ognisty miecz!");
};
//========================================
//-----------------> KONIEC_ZADANIA
//========================================
INSTANCE DIA_Adi_KONIEC_ZADANIA (C_INFO)
{
npc = ZZZ_5000_Adi;
nr = 5;
condition = DIA_Adi_KONIEC_ZADANIA_Condition;
information = DIA_Adi_KONIEC_ZADANIA_Info;
permanent = FALSE;
description = "Mam Viagrę";
};
func int DIA_Adi_KONIEC_ZADANIA_Condition()
{
if (Npc_KnowsInfo (other, DIA_Adi_ZADANIE1))
&& (Npc_HasItems (other, ItFo_viagra) >=1)
{
return TRUE;
};
};
func void DIA_Adi_KONIEC_ZADANIA_Info()
{
AI_Output (other, self, "DIA_Adi_KONIEC_ZADANIA_15_02"); //Mam Viagrę!
AI_Output (self, other, "DIA_Adi_KONIEC_ZADANIA_03_03"); //Hahaha... Dobra Viagra nie jest zła!
AI_Output (self, other, "DIA_Adi_KONIEC_ZADANIA_03_04"); //Masz tu miecz. Uważaj na ogień!
B_GiveInvItems (other, self, itfo_viagra, 1);
B_LogEntry (TOPIC_Viagra,"Dałem Viagrę Adikowi!");
Log_SetTopicStatus (TOPIC_viagra, LOG_SUCCESS);
B_GivePlayerXP (90);
Createinvitems (self, itmw_addon_firesword, 1);
B_GiveInvItems (self, other, ItMw_Addon_firesword, 1);
};
Skrypty itemów stworzonych przeze mnie też są w porządku.
PS. Jest link do jakiegoś Tutka, by zrobić tak, że NPCa nie trzeba wywoływać w konsoli, tylko jest już w grze po jej włączeniu?