[Ge2NK] Prościutki quest 10532 0

O temacie

Autor Retsked

Zaczęty 23.06.2008 roku

Wyświetleń 10532

Odpowiedzi 0

Retsked

Retsked

Użytkownicy
Jam jest 444
posty1533
Propsy61
  • Użytkownicy
  • Jam jest 444

Retsked

[Ge2NK] Prościutki quest
2008-06-23, 17:04(Ostatnia zmiana: 2009-07-11, 11:34)
-------- PORADNIK POCHODZI Z http://unknown.yoyo.pl/ --------

W tym poradniku opiszę, jak zrobić prościutkiego questa na przyniesienie czegoś (w tym przypadku będzie to kompas). Dodam, że robiłem tego tutka ze skryptów GerranHeart. Zacznijmy od zrobienia dialogu (załóżmy, że mamy już NPC). A i jeszcze jedno: nie będę wstawiał komentarzy, co zmienić w samym dialogu. No to zaczynamy:

///////////////////////////////////////////////////////////////////////
// Info EXIT
///////////////////////////////////////////////////////////////////////
INSTANCE DIA_Zeikko_EXIT   (C_INFO)
{
npc = PIR_1000004_Zeikko;
nr  = 999;
condition   = DIA_Zeikko_EXIT_Condition;
information = DIA_Zeikko_EXIT_Info;
permanent   = TRUE;
description = DIALOG_ENDE;
};

FUNC INT DIA_Zeikko_EXIT_Condition()
{
return TRUE;
};

FUNC VOID DIA_Zeikko_EXIT_Info()
{
AI_StopProcessInfos (self);
};

// *********************************************************
// Hallo
// *********************************************************
instance DIA_Zeikko_QUEST (C_INFO)
{
npc = PIR_1000004_Zeikko;
nr =  3;
condition = DIA_Zeikko_QUEST_Condition;
information = DIA_Zeikko_QUEST_Info;
permanent =  FALSE;
description = "Chce Questa!";
};

func int DIA_Zeikko_QUEST_Condition ()
{
return TRUE;};

func void DIA_Zeikko_QUEST_Info ()
{
AI_Output (other, self, "DIA_Zeikko_QUEST_15_00"); //Chcę questa!
AI_Output (self, other, "DIA_Zeikko_QUEST_15_01"); //Mam coś dla ciebie.
AI_Output (self, other, "DIA_Zeikko_QUEST_15_02"); //Przynieś mi kompas.
AI_Output (other, self, "DIA_Zeikko_QUEST_15_03"); //OK.

Log_CreateTopic (TOPIC_QUESTTUT,LOG_MISSION);
Log_SetTopicStatus (TOPIC_QUESTTUT,LOG_RUNNING);
B_LogEntry (TOPIC_QUESTTUT,"Mam przynieść kompas dla zeika.");

};
Teraz wchodzimy w folder _Work\data\scripts\Content\Story\Log_Entries i odpalamy plik LOG_Constants_Mattes.d. Jedziemy na sam koniec i dopisujemy coś takiego:

const string TOPIC_QUESTTUT = "Tutorial na questa.";
Zapisujemy plik i wracamy do naszego dialogu. Dopisujemy takie coś:

// *********************************************************
// Hallo
// *********************************************************
instance DIA_Zeikko_MAMKOMPAS (C_INFO)
{
npc = PIR_1000004_Zeikko;
nr =  5;
condition = DIA_Zeikko_MAMKOMPAS_Condition;
information = DIA_Zeikko_MAMKOMPAS_Info;
permanent =  FALSE;
description = "Mam kompas";
};

func int DIA_Zeikko_MAMKOMPAS_Condition ()
{
if Npc_KnowsInfo (other, DIA_Zeikko_QUEST)
&& (Npc_HasItems(other, ItMi_kompasmarvina) > 0)
{
return TRUE;
};
};

func void DIA_Zeikko_MAMKOMPAS_Info ()
{
AI_Output (other, self, "DIA_Zeikko_MAMKOMPAS_15_00"); //Mam kompas.
B_GiveInvItems (other, self, itmi_kompasmarvina, 1);
AI_Output (self, other, "DIA_Zeikko_MAMKOMPAS_15_01"); //Świetnie! Dzięki!
CreateInvItems (self, ItMi_Gold, 500);
B_GiveInvItems (self, other, ItMi_Gold, 500);

Log_SetTopicStatus(TOPIC_QUESTTUT, LOG_SUCCESS);
B_GivePlayerXP (XP_Zeikkokompas);
};

Teraz troszkę objaśnień:

if Npc_KnowsInfo (other, DIA_Zeikko_QUEST)
To określa, że musimy pogadać z jakimś NPC właśnie o czymś, co ma taką instancję (dialog).

&& (Npc_HasItems(other, ItMi_kompasmarvina) > 0)
Tutaj akurat określamy, że bohater musi mieć przedmiot o tej instancji (musi mieć go więcej, niż 0 w tym przypadku)

B_GiveInvItems (other, self, itmi_kompasmarvina, 1);
To, że dajemy jedną sztukę tego przedmiotu dla NPC.

CreateInvItems (self, ItMi_Gold, 500);
U NPC tworzy się 500 sztuk złota.

B_GiveInvItems (self, other, ItMi_Gold, 500);
NPC daje dla nas 500 sztuk złota.

Log_SetTopicStatus(TOPIC_QUESTTUT, LOG_SUCCESS);
TOPIC_QUESTTUT jest wykonany (przenosi się do rubryki wykonane zadania w dzienniku)

B_GivePlayerXP (XP_Zeikkokompas);
Dostajemy tyle doświadczenia (xp_zeikkokompas). To akurat można określić w pliku _Work\data\scripts\Content\Story\XP_Constants.d

Chcecie, to kopiujcie sobie to, ale zaznaczajcie, że to ja jestem autorem.


autor: Dekster17

-------- PORADNIK POCHODZI Z http://unknown.yoyo.pl/ --------
 


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