-
Dialog startet nicht - trotz korrekten Skripts(?)
Ich habe eine Quest geschrieben, die (in Anlehnung an die Gebet für die Paladine Quest in Gothic II) ein spezielles Gebet verlangt.
Meine Skripts weisen eigentlich keine Syntaxfehler auf, aber nachdem ich das Gebet am Schrein gesprochen habe will der Dialog, dass das Gespräch gesprochen wurde nicht aufgehen.
Ich hab hierbei diesselben Conditions wie bei dem Gespräch mit Marduk übernommen, und verstehe deshalb nicht wo mein Fehler liegt. Was mir aber aufgefallen ist, die Instanz "PC_PrayShrine_SpecialPrayer" wird vom Stampfer nicht bei den automatischen Vervollständigungen angezeigt - Die Condition und Info davon allerdings schon...
Neue Instanz im PrayIdol_addon.d
Code:
//*******************************************************
// SpeziellesGebetfürBeliar
//*******************************************************
INSTANCE PC_PrayShrine_SpecialPrayer (C_Info)
{
npc = PC_Hero;
nr = 2;
condition = PC_PrayShrine_SpecialPrayer_Condition;
information = PC_PrayShrine_SpecialPrayer_Info;
permanent = TRUE;
description = "Ein spezielles Gebet an Beliar sprechen";
};
FUNC INT PC_PrayShrine_SpecialPrayer_Condition ()
{
if (PLAYER_MOBSI_PRODUCTION == MOBSI_PRAYIDOL)
&& (MIS_BetenZura == LOG_RUNNING)
{
return TRUE;
};
};
FUNC VOID PC_PrayShrine_SpecialPrayer_Info()
{
B_LogEntry (TOPIC_BetenZura, "Ich habe ein ausführliches Gebet an Beliar gerichtet. Ich hoffe, Zura reicht dieses Gebet ausgabe. Ich will seinen Zorn nicht wecken.");
};
Dialog, der nach dem benutzen der Instanz verfügbar sein soll...
Code:
// ************************************************************
// ich_hab_gebetet
// ************************************************************
Instance DIA_Zura_ich_hab_gebetet (C_INFO)
{
npc = KDF_99011_Zura;
nr = 2;
condition = DIA_Zura_ich_hab_gebetet_Condition;
information = DIA_Zura_ich_hab_gebetet_Info;
description = "Ich habe zu Beliar gebetet.";
};
Func int DIA_Zura_ich_hab_gebetet_Condition()
{
if (MIS_BetenZura == LOG_RUNNING)
&& (Npc_KnowsInfo (other, pc_prayshrine_specialPrayer))
{
return TRUE;
};
};
Func void DIA_Zura_ich_hab_gebetet_Info()
{
AI_Output (other, self, "DIA_Zura_ich_hab_gebetet_15_0"); //Ich habe zu Beliar gebetet.
AI_Output (self, other, "DIA_Zura_ich_hab_gebetet_4_2"); //Das habe ich mitbekommen.
AI_Output (self, other, "DIA_Zura_ich_hab_gebetet_4_3"); //Bist du fertig mit deinem Dienst an Beliar?
AI_Output (other, self, "DIA_Zura_ich_hab_gebetet_15_1"); //Ja.
AI_Output (self, other, "DIA_Zura_ich_hab_gebetet_4_4"); //Dann störe Ares nicht weiter.
B_LogEntry (Topic_BetenZura,"Ich habe Zura gesagt, dass ich zu Ende gebetet habe. Ich will mich nicht sehr viel länger in seiner Nähe aufhalten...");
MIS_BetenZura = LOG_SUCCESS;
B_GivePlayerXP (100);
B_StartOtherRoutine (Pal_99106_Ares,"START");
};
Kann mir vielleicht jemand weiterhelfen?
Oh, was mir grade dazu einfällt, wo liegen denn die Skripts für das, was auf den Bildschirm geprinted werden soll? Dann könnte ich mein Gebet, genau wie in der originalen Quest auch darstellen.
Danke
EDIT:
Als ich das grade hier reingepostet habe, hab ich gesehen, dass das Gebet ja auf permanent gestellt ist. - Mein Fehler^^
DIe zweite Frage lastet mir allerdings immernoch auf der Seele...
"Es ist nicht schwer, von jedem ethischen Prinzip zu beweisen, dass es in der Praxis scheitern muss, wenn man zugleich voraussetzt, dass allgemeiner Schwachsinn herrscht."
- John Stuart Mill
Geändert von Xardas1001 (19.06.2018 um 14:43 Uhr)
-
Die Innos Schrein Skripte sind in Content/Story/Dialog_Mobsis/PrayShrine.d
Für das Gebet für die Paladine wird da mit PrintScreen Text ausgegeben.
Code:
FUNC VOID PC_PrayShrine_Paladine_Info()
{
PrintScreen (Pray_Paladin1, -1, 33,FONT_ScreenSmall,3);
PrintScreen (Pray_Paladin2, -1, 36,FONT_ScreenSmall,4);
PrintScreen (Pray_Paladin3, -1, 39,FONT_ScreenSmall,5);
PrintScreen (Pray_Paladin4, -1, 42,FONT_ScreenSmall,6);
};
Pray_Paladin1 und so weiter sind einfach String Konstanten.
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
|