World of Gothic Archiv > Editing
Skripte laufen nicht in der .mod datei
Seite 1 von 1  1 
18.04.2004, 19:06 #1
Fiddlers Green
Beiträge: 33
Skripte laufen nicht in der .mod datei
Hi,

ich habe mich mal an das Skript Tutorial aus der wiki gemacht. Habe jetzt das Skript abgeschrieben, mit dem der eigentliche NPC erstellt wird. Wenn ich das jetzt in den NPC Unterordner im Skript Ordner vom _work-tree packe, dann klappt das auch wunderbar, ich kann den NPC über die Konsole einfügen. Das Skript stimmt also.

Wenn ich das Skript jetzt aber in eine *.mod datei packe, dann funktioniert es nicht. In der *.mod datei liegt es in _workdatascriptscontentstorynpc. Und ich habe die Gothic.dat unter _workdatascripts_compiled. Wenn ich das Skript jetzt aber aus dem Gothic-work-tree lösche, passiert nichts mehr. Ich kann den NPC nicht per Console einfügen. Das Häkchen bei 'Skripte parsen' im GothicStarter habe ich gesetzt. Was mache ich falsch?
18.04.2004, 19:22 #2
NicoDE
Beiträge: 1.398

In die *.mod -Volumes kommen im Normalfall nur die kompilierten Dateien (im Falle der Skripte die *.dat unter /_work/data/Scripts/_compiled).

Kompiliere die geänderten Skripte mit 'reparse' und pack die Gothic.DAT in ein MOD-Volume. Und stelle beim Starten sicher, dass 'physical first' nicht aktiviert ist, sonst wird das Volume ignoriert...
19.04.2004, 16:17 #3
Fiddlers Green
Beiträge: 33

Ach so, hatte ich wieder mal was falsch verstanden. Danke.

Und schon habe ich wieder ein neues Problem. Ich habe jetzt auch die Dialogskript aus dem Tutorial abgetippt, unter Dia_A_Gunther gespeichert im Ordner Dialoge. In die Welt eingefügt wird der Kerl und er steht auch an seinem WP, aber der gute spricht mich nicht an, wenn ich zu ihm gehe. Den Teil aus dem Tut, wo ich im Spacer die neuen Untertitel einlesen lasse habe ich auch gemacht, trotzdem passiert nichts. Habe ich irgendeinen Schritt vergessen? Das Skript ist genauso, wie im Tut, dass habe ich doppelt und dreifach kontrolliert...
20.04.2004, 13:28 #4
Fiddlers Green
Beiträge: 33

Hmm, kann mir keiner helfen? Das blöde Dialogskript klappt immer noch nicht. alles andere ist in Ordnung, der NPC ist da und das Schwert kann ich mittlerweile auch einfügen, nur der Dialog klappt nicht. Ich kopier hier mal das Skript rein, so wie ichs im Dialoge-Ordner drinne hab (mein Gunther heißt allerdings nicht Gunther, sondern Art, aber das habe ich auch überall geändert, also auch in den anderen Skripten):

quote:
///////////////////////////////////////////////////////////////////////
// Info EXIT
///////////////////////////////////////////////////////////////////////
instance Dia_Art_Exit (C_INFO)
{
npc = None_999_Art;
condition = Dia_Art_Exit_Condition;
information = Dia_Art_Exit_Info;
important = 0;
permanent = 1;
description = "ENDE";
};

FUNC int Dia_Art_Exit_Condition()
{
return 1;
};

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


const string ArtsSword = "Bringe Arts Schwert zurück";
var int int_GotSword;

instance None_999_Art_AskForSword (C_INFO)
{
npc = None_999_Art;
condition = None_999_Art_AskForSword_Condition;
information = None_999_Art_AskForSword_Info;
important = TRUE;
permanent = FALSE;

description = "";
};

FUNC int None_999_Art_AskForSword_Condition()
{
if (hero.level >= 0)
{
return TRUE;
};
return FALSE;
};

func void None_999_Art_AskForSword_Info()
{
AI_Output ( self, other, "None_999_Art_AskForSword_Info_8_01"); // Hey Du, Heute schon was vor?

Info_ClearChoices(None_999_Art_AskForSword);

Info_AddChoice(None_999_Art_AskForSword,
"Auf jedenfall genug", None_999_Art_AskForSword_Yes);

Info_AddChoice(None_999_Art_AskForSword,
"Nichts spezielles", None_999_Art_AskForSword_No);
};

// Der Spieler will nicht
func void None_999_Art_AskForSword_Yes ()
{
AI_Output(other,self,
"None_999_Art_AskForSword_Info_8_02"); // Es geht Dich zwar nichts an, [...]
AI_Output(self,other,
"None_999_Art_AskForSword_Info_8_03"); // Na gut dann scheidest Du wohl aus:

AI_StopProcessInfos (self);
};

// Der Spieler bekundet Interesse
func void None_999_Art_AskForSword_No ()
{
AI_Output(other,self,"None_999_Art_AskForSword_Info_8_04"); // Bisher noch nichts spezielles.

AI_Output(self,other,"None_999_Art_AskForSword_Info_8_05"); // Das ist gut, denn Du mußt [...]

Log_CreateTopic (ArtsSword,LOG_MISSION);
Log_SetTopicStatus (ArtsSword,LOG_RUNNING);
B_LogEntry(ArtsSword, "Art hat mich gebeten sein Schwert für Ihn aufzutreiben");
AI_StopProcessInfos (self);
};



Was ist falsch?
20.04.2004, 13:40 #5
bollerwagen
Beiträge: 49

hat der NPC senses? Wenn nicht, bemerkt der dich glaub ich nicht.
20.04.2004, 13:59 #6
Fiddlers Green
Beiträge: 33

Hmm, das müsste ja in diesem Teil des NPC-Skripts geregelt sein, oder?

quote:
//--------senses-------------

senses = SENSE_SEE | SENSE_SMELL;
senses_range = 2000;


Nochwas, ich kann den NPC auch nicht ansprechen. Also, wenn ich ihn anklicke passiert gar nichts, auch kein Dialogfeld, in dem nur 'Ende' steht.
20.04.2004, 14:59 #7
bollerwagen
Beiträge: 49

Hmm, hat der nen ZS mit Npc_PercEnable?
Ansonsten fällt mir atm auch nichts mehr ein.
20.04.2004, 15:35 #8
Neely
Beiträge: 133

Wenn du ihn nicht ansprechen kannst, hat er wahrscheinlich keinen TA zugewiesen bekommen. In den TA werden die PERCS festgelegt wodurch er überhaupt erst auf seine Umgebung reagieren kann. Steht allerdings auch alles im Tut bzw Wiki.
Seite 1 von 1  1