World of Gothic Archiv > Editing
Script-Problem
Seite 3 von 3  1  2  3 
28.03.2004, 13:54 #51
Black Daemon
Beiträge: 218

Am besten baust du ne If abfrage um die Exp vergabe so wie es nellx mit der condition vorgeschlagen hat.
28.03.2004, 15:45 #52
aragorn_16
Beiträge: 529

Also bei dem Beispiel zur Lageraufnahme. Da kann man ja auch fragen, wie das Ansehen im Lager ist. Ich hab mir des mal bei Diegos Dialog angeschaut, aber der hatte auch permanent = 1. Wieso funktioniert das dann da?
28.03.2004, 16:03 #53
HornOx
Beiträge: 1.458

quote:
INSTANCE Info_Diego_JoinAnalyze(C_INFO)
{
npc = PC_Thief;
nr = 800;
condition = Info_Diego_JoinAnalyze_Condition;
information = Info_Diego_JoinAnalyze_Info;
permanent = 1;
description = "Wie steht's mit meinem Ansehen im Lager?";
};

FUNC INT Info_Diego_JoinAnalyze_Condition()
{
if Npc_KnowsInfo(hero,Info_Diego_Rules)
&& (Npc_GetTrueGuild(hero) == GIL_NONE)
&& (oldHeroGuild == 0)
{
return 1;
};
};
Da steht doch wie's funktioniert...
28.03.2004, 17:31 #54
aragorn_16
Beiträge: 529

So hab ichs aber auch gemacht und bei mir funktionierts nicht.
Hat des vielleicht was mit diesen Zeilen hier zu tun?
&& (Npc_GetTrueGuild(hero) == GIL_NONE)
&& (oldHeroGuild == 0)
28.03.2004, 18:00 #55
HornOx
Beiträge: 1.458

quote:
Ist ein Dialog Permanent wird er, so lange seine Condition True ist immer angeboten
Wenn der held schon in einem Lager aufgenomen wurde ist Npc_GetTrueGuild(hero) nicht mehr GIL_NONE und deswegen liefert die Codition false zurück. Wenn der Held nach dem Einbruch der neuen Miene aus dem Alten Lager geschmießen wird ist die Gilde zwar wieder GIL_NONE aber dann ist oldHeroGuild nicht mehr 0 und es gibt wieder ein false.
28.03.2004, 18:08 #56
aragorn_16
Beiträge: 529

OK, danke für den Tipp.
29.03.2004, 17:04 #57
König Rhobar II
Beiträge: 639

Ich hab ein neues Problem:
Ich hab eine neue Quest gemacht, aber beim Parsen kommt diese Fehlermeldung:
Unexpected End of File (line 1054)
Es gibt insgesammt 6 Scripte, an denen ich für diese Quests etwas verändert habe, aber nur 3 davon kommen in Frage. Ich finde nur keinen Fehler.

Erstes Script:
code\:
// ********************************
// Gilbert
// ********************************
instance Org_826_Mordrag_Gilbert (C_INFO)
{
npc = Org_826_Mordrag;
nr = 2;
condition = Org_826_Mordrag_Gilbert_Condition;
information = Org_826_Mordrag_Gilbert_Info;
permanent = 0;
description = "Du hast nicht zufällig ein Buch, was in einer fremden Sprache
geschrieben ist?";
};

FUNC int Org_826_Mordrag_Gilbert_Condition()
{
if (gilbert==LOG_RUNNING)
&& (Npc_KnowsInfo(hero, DIA_Gilbert_OCInfo))
{
return 1;
};
};

FUNC VOID Org_826_Mordrag_Gilbert_Info()
{
AI_Output (other, self,"Org_826_Mordrag_Gilbert_15_00"); //Du hast nicht
zufällig ein Buch, was in einer fremden Sprache geschrieben ist?
AI_Output (self, other,"Org_826_Mordrag_Gilbert_11_01"); //Wieso, willst du es haben? Dann musst
du bezahlen. Ich gebe es dir für gerademal 500 Erz. Was sagst du?
AI_Output (other, self,"Org_826_Mordrag_Gilbert_15_02"); //Das ist mir zu teuer. geht es auch
etwas billiger?
AI_Output (self, other,"Org_826_Mordrag_Gilbert_11_03"); //Hm... Pass auf ich mache dir ein Angebot.
Ich gebe dir das Buch umsonst, und du tust mir einen gefallen.
AI_Output (other, self,"Org_826_Mordrag_Gilbert_15_04"); //Was für einen?
AI_Output (self, other,"Org_826_Mordrag_Gilbert_11_05"); //(...)
AI_Output (other, self,"Org_826_Mordrag_Gilbert_15_06"); //Nagut, dann mal her mit dem Buch.

CreateInvItems (self,Gilbertsbook,1);
B_GiveItems (self, other, Gilbertsbook,1);
B_GiveXP (100);
B_LogEntry (CH1_Gilbert,"Mordrag hat mir das Buch gegeben.");
}; //<-- Zeile 1054


das zweite:
code\:
// ****************************************
// Gilbert
// ****************************************
instance DIA_Thorus_Gilbert (C_INFO)
{
npc = GRD_200_Thorus;
condition = GRD_200_Thorus_Gilbert_Condition;
information = GRD_200_Thorus_Gilbert_Info;
permanent = 0;
description = "Kennst du einen Gilbert?";
};

FUNC int GRD_200_Thorus_Gilbert_Condition()
{
if (gilbert == LOG_RUNNING)
{
return 1;
};
};

FUNC VOID GRD_200_Thorus_Gilbert_Info()
{
AI_Output (other, self,"GRD_200_Thorus_Gilbert_15_00"); //Kennst du einen Gilbert?
AI_Output (self, other,"GRD_200_Thorus_Gilbert_09_01"); //Gilbert? Und ob ich den kenne. Wenn
ich den in die Finger kriege... Gomez hat seine Wut über den bei uns Gardisten ausgelassen.
Lebt dieses Schwein etwa noch? Wo ist er?
AI_Output (other, self,"GRD_200_Thorus_Gilbert_15_02"); //Beruhig dich, ich weiß nicht wo er steckt.
Ein Buddler hat mir von ihm erzählt und ich wollte wissen ob es wahr ist.
AI_Output (self, other,"GRD_200_Thorus_Gilbert_09_03"); //Leider ja. Und jetzt hör auf von ihm zu
reden.

B_LogEntry (CH1_gilbert, "Thorus kannte Gilbert, und es scheint, als
wäre er immernoch unbeliebt. Er sollte sich hier nicht blicken lassen. Es
wäre für ihn hilfreich, wenn ich das Buch finden würde.); //<-- Zeile 1054
AI_StopProcessInfos (self);
};


das dritte:
code\:
// ********************************
// Hab Buch gegeben
// ********************************

instance DIA_Gilbert_Buch2 (C_INFO)
{
npc = Non_1500_Gilbert;
nr = 1;
condition = DIA_Gilbert_Buch2_Condition;
information = DIA_Gilbert_Buch2_Info;
permanent = 0;
description = "Ich habe den Magiern das Buch gegeben.";
};

FUNC int DIA_Gilbert_Buch2_Condition()
{
if (Npc_KnowsInfo (other, DIA_Milten_Gilbert))
&& (gilbert == LOG_RUNNING)
{
return 1;
};
};

FUNC VOID DIA_Gilbert_Buch2_Info()
{
AI_Output (other, self,"DIA_Gilbert_Buch2_15_00"); //Ich habe den Magiern
das Buch gegeben. Du kannst das Lager wieder betreten
AI_Output (self, other,"DIA_Gilbert_Buch2_04_01"); //Danke für deine Hilfe.

B_GiveXP (200);

B_LogEntry (CH1_gilbert, "Gilbert kann sich nun wieder im Lager sehen lassen und ist zufrieden.");
Log_SetTopicStatus (CH1_gilbert, LOG_SUCCESS);
AI_StopProcessInfos (self);
};


Ich finde da einfach nicht den Fehler.
29.03.2004, 17:29 #58
HornOx
Beiträge: 1.458

quote:
Es gibt insgesammt 6 Scripte, an denen ich für diese Quests etwas verändert habe, aber nur 3 davon kommen in Frage.
Wenn du ZSpy beim parsen mitlaufen lassen würdest wüsstest du genau in welcher datei der Fehler ist.
quote:
B_LogEntry (CH1_gilbert, "Thorus kannte Gilbert, und es scheint, als
wäre er immernoch unbeliebt. Er sollte sich hier nicht blicken lassen. Es
wäre für ihn hilfreich, wenn ich das Buch finden würde.); //<-- Zeile 1054
da fehlt ein abschließendes "
29.03.2004, 17:32 #59
König Rhobar II
Beiträge: 639

Stimmt, zSpy vergess ich immer. Das erste was ich jetzt mache, ist ne Verknüpfung auf dem Desktop.

Werds gleich testen, danke
Seite 3 von 3  1  2  3