World of Gothic Archiv > Editing
Statt dem Öffnen eines Briefes soll ein Text kommen aber wie?
Seite 1 von 1  1 
13.04.2003, 15:36 #1
Mudfreak
Beiträge: 446
Statt dem Öffnen eines Briefes soll ein Text kommen aber wie?
Eigentlich sagt die Frage schon alles. Wir haben nen Brief gemacht und wenn man diesen benutzt soll keine Seite kommen sondern es soll auf dem Bildschirm ne Schrift kommen die zb sagt dass man den Brief nicht öffnen darf. Wie mach ich des? Ich weiss nur dass unten beim Briefscript unten FUNC OpenBrief was reinmuss. Aber was?
13.04.2003, 15:47 #2
HornOx
Beiträge: 1.458

code\:
INSTANCE irgendeine_instanze(C_Item)
{
name = " ";
mainflag = ITEM_KAT_DOCS;
flags = 0;
value = 0;
visual = "ItWr_Book_02_03.3ds";
material = MAT_LEATHER;
scemeName = "MAP";
description = " ";
TEXT[5] = NAME_Value;
COUNT[5] = value;
on_state[0] = irgendeine_funktion;
};
FUNC VOID irgendeine_funktion()
{
G_PrintScreen ("Text");
//oder so:
//func VOID PrintScreen(var INT dialogNr, VAR STRING msg, VAR INT posx, VAR INT posy, VAR STRING font, VAR INT timeSec) { };
// Gibt den Text 'msg' auf dem Bildschrim aus und benutzt dabei den Font 'font'.
// Die Position ist für jede Koordinate eine Zahl zwischen 0 und 99 und gibt die prozentuale Position an.
// Der Ursprung befindet sich oben links (also 0% X und 0% Y)
};
13.04.2003, 15:59 #3
Mudfreak
Beiträge: 446

Kannst du mir sagen was bei dem Script falsch ist. Wenn ichs compile dann sagt er immer Unknown Identifier G_PrintScreen . Das Cript sieht folgendermaßen aus:


INSTANCE Argons_Brief (C_Item)
{
name = "Argon's Brief";

mainflag = ITEM_KAT_DOCS;
flags = ITEM_MISSION;

value = 0;

visual = "ItWr_Scroll_01.3DS";
material = MAT_LEATHER;
on_state[0] = UseArgonsBrief;
scemeName = "MAP";
description = "Argons Brief";
};
func void UseArgonsBrief ()
{
G_PrintScreen ("Ich darf den Brief nicht öffnen!");
};

13.04.2003, 19:01 #4
HornOx
Beiträge: 1.458

Die Funktion G_PrintScreen wird anscheinend erst recht spät im Script defeniert, vermutlich rufst du sie auf bevor sie defeniert ist :( Ändere die Reihenfolge in gothic.src oder benutz direkt die externe Funktion
code\:
PrintScreen ("Ich darf den Brief nicht öffnen!", -1, 10, _STR_FONT_ONSCREEN, 3 );
13.04.2003, 19:32 #5
Mudfreak
Beiträge: 446

Danke hat gefunzt.

Habs mit Print Screen hinbekommen. Also ich glaub dass die Funktion G_PrintScreen nicht funktionieren kann weils ja noch Unterfunktionen gibt. Zum Beispiel PrintScreen, PrintDialog und PrintDebugNpc. Dann weiss ernicht welche er nehmen muss.
14.04.2003, 17:27 #6
Cool Moe Di
Beiträge: 120

Mudfreak, das liegt, wie HornOx schon sagte, an der Reihenfolge, wie die Dateien von Gothic kompiliert werden. Wenn eine Funktion nicht gefunden wird dann musst die entsprechenden Dateien in den .src Dateien verschieben, bis es klappt, d.h. die benötigte Funktion zuerst kompiliert wird. Gothic kann fast immer nur auf vorher definierte Funktionen und Instanzen zugegreifen, daran sollte man immer denken, wenn eine Fehlermeldung, dass die Funktion/Instanz nicht gefunden wurde, erscheint. (Dialogfunktionen sind da eine Ausnahme, um ein Beispiel zu nennen).

ciao
Moe
Seite 1 von 1  1