Witam, z tej strony Oskar,
zrobiłem skrypt nowej broni, NPC i jego dialogów z pierwszym prostym questem, na podstawie tutoriala dobrze znanego z YT. Pod tytułem 'Gothic 2 Tworzenie modów od A do Z.'
Spacer pokazał kilka błędów, okazało się, że w poradniku był błąd, bo brakowało znaku "_" w pewnej części skryptu NPC ale to naprawiłem. Zostało kilka innych błędów w plikach dialogu, lecz nie umiem ich naprawić. Mój 1 NPC działa, wpisałem go do pliku startup, nosi nową broń, lecz z opcji dialogowej ma tylko KONIEC. Resztę które dodałem do skryptu w spacerze pokazywało błędy (SIEMA,ZADANIE,BROWAR) i nie działają te opcje dialogowe. Co może być źle? Było jeszcze kilka innych błędów nie wiem z jakiej racji ale nie mają na to chyba wpływu.
//*********************************************************************
// Info EXIT
//*********************************************************************
INSTANCE DIA_SLD_888_Wiechu_EXIT (C_INFO)
{
npc = SLD_888_Wiechu;
nr = 999;
condition = DIA_SLD_888_Wiechu_EXIT_Condition;
information = DIA_SLD_888_Wiechu_EXIT_Info;
permanent = TRUE;
description = DIALOG_ENDE;
};
FUNC INT DIA_SLD_888_Wiechu_EXIT_Condition()
{
return TRUE;
};
FUNC VOID DIA_SLD_888_Wiechu_EXIT_Info()
{
AI_StopProcessInfos (self);
};
//*********************************************************************
// Info Hello
//*********************************************************************
INSTANCE DIA_SLD_888_Wiechu_siema (C_INFO)
{
npc = SLD_888_Wiechu_siema;
nr = 1;
condition = DIA_SLD_888_Wiechu_siema_Condition;
information = DIA_SLD_888_Wiechu_siema_Info;
permanent = FALSE;
description = "Co słychać?";
};
FUNC INT DIA_SLD_888_Wiechu_siema_Condition()
{
return TRUE;
};
FUNC VOID DIA_SLD_888_Wiechu_siema_Info()
{
AI_Output (other,self ,"DIA_SLD_888_Wiechu_siema_15_00"); //Co słychać?
AI_Output (self ,other,"DIA_SLD_888_Wiechu_siema_55_01"); //Umieram...
};
//*********************************************************************
// Zadanie
//*********************************************************************
INSTANCE DIA_SLD_888_Wiechu_zadanie (C_INFO)
{
npc = SLD_888_Wiechu_zadanie;
nr = 1;
condition = DIA_SLD_888_Wiechu_zadanie_Condition;
information = DIA_SLD_888_Wiechu_zadanie_Info;
permanent = FALSE;
description = "Umierasz?";
};
FUNC INT DIA_SLD_888_Wiechu_zadanie_Condition()
{
if (npc_knowsinfo (other, DIA_SLD_888_Wiechu_Siema))
{
return TRUE;
};
};
FUNC VOID DIA_SLD_888_Wiechu_zadanie_Info()
{
AI_Output (other,self ,"DIA_SLD_888_Wiechu_zadanie_15_00"); //Jak to umierasz?
AI_Output (self ,other,"DIA_SLD_888_Wiechu_zadanie_55_01"); //Umieram, bo od jakiś 10 min nie piłem żadnego browara i nie mam wystarczająco dużo sił by dojść do tawerny,a w okolicy nie ma żadnego sklepu gdzie mógłbym kupić jakiegoś browca.
AI_Output (self ,other,"DIA_SLD_888_Wiechu_zadanie_55_02"); //Jeżeli mógłbyś przynieść mi jakiegoś browca byłbym Ci dozgonnie wdzięczny!
Log_CreateTopic (TOPIC_piwko, LOG_MISSION); Log_SetTopicStatus (TOPIC_piwko, LOG_RUNNING);
B_LogEntry (TOPIC_piwko, "Wiesław potrzebuje piwa.");
};
//*********************************************************************
// Koniec zadania
//*********************************************************************
INSTANCE DIA_SLD_888_Wiechu_browar (C_INFO)
{
npc = SLD_888_Wiechu_browar;
nr = 1;
condition = DIA_SLD_888_Wiechu_browar_Condition;
information = DIA_SLD_888_Wiechu_browar_Info;
permanent = FALSE;
description = "Mam browara";
};
FUNC INT DIA_SLD_888_Wiechu_browar_Condition()
{
if (npc_knowsinfo (other, DIA_SLD_888_Wiechu_zadanie))
&& (npc_hasitems (other, itfo_beer) >=1)
{
return TRUE;
};
};
FUNC VOID DIA_SLD_888_Wiechu_browar_Info()
{
AI_Output (other,self ,"DIA_SLD_888_Wiechu_browar_15_00"); //Mam piwo.
AI_Output (self ,other,"DIA_SLD_888_Wiechu_browar_55_01"); //Bożesz Ty mój! Chłopie! Ratujesz mi życie!
AI_Output (self ,other,"DIA_SLD_888_Wiechu_browar_55_02"); //Naprawdę wielkie dzięki! Weź te kilka złociszy w nagrodę przyjacielu!
B_giveinvitems (other, self, itfo_beer, 1);
Createinvitems (self, itmi_gold 150);
B_giveinvitems (self, other, itmi_gold, 150);
B_LogEntry (TOPIC_piwko, "Dałem Wiechowi piwo.");
Log_SetTopicStatus (TOPIC_piwko, LOG_SUCCESS);
};
To są moje początki, zacząłem od wczoraj i to jest już 4 próba, w połowie udana (nareszcie ;]) :naughty:
I jeszcze jedno pytanie, skąd wziąć te wszystkie nazwy do pisania ręcznego modów tzn. nazwy przedmiotów do ekwipunku, zbroi, rutyn do wykonywania, twarzy, nazwy w stylu 2HD_SWD tylko, że dla łuków, kuszy itp.?
Pozdrawiam i zarazem dzień dobry ;] to mój pierwszy post.