World of Gothic Archiv > Editing
Globale Variablen
Seite 1 von 1  1 
09.01.2003, 12:42 #1
Mudfreak
Beiträge: 446
Globale Variablen
Hi

Ich hab ein Problem bei den Scripts von den Conversations. Da es nicht einfach zu beschreiben ist mach ich ein Beispiel. Es gibt zwei Leute. Mann 1 und Frau 2. Wenn ich mit Mann 1 rede dann erfahre ich eine bestimmte Information. Und dann gehe ich zu Frau 2. Da mach ich ne If Anwendung in der Form:

if (Npc_KnowsInfo (hero,DIA_NOVIZE_03_Boss_info))

Aber leider kommt das "DIA_NOVIZE_03_Boss_info" nur in dem Script des Mann 1 vor. Naja dann sagt der Compiler:
Wrong Type "DIA_NOVIZE_03_Boss_info"!

Wie schaffe ich es dass das "DIA_NOVIZE_03_Boss_info" global wird. Also dass ich diese Variable auch in anderen Scripten wie der von der Frau 2 abfragen kann und nicht nur in dem einen wo sie definiert ist. Ich hoffe ihr wisst was ich meine


Ich suche eine funktionierende Variante von GoMan. Ich finde einfach keine Downloadmöglichkeit. Könnte mir die Datei notfalls jemand schicken?

Mudfreak
09.01.2003, 13:48 #2
Timothy
Beiträge: 404

Du musst diese Info definieren, dabei scheinst du aber einen Fehler gemacht zu haben. Das musst du mal überprüfen und wenn nötig bei anderen scripts vergleichen. Da ich dein Script nicht kenne kann ich es dir auch nicht von hier korrigieren. Es handelt sich wahrscheinlich nur um einen kleinen schreibfehler.

Sag Bescheid dann schick ich dir Goman über icq mit fähigkeit zu Gothic 2 vdf zu. Nochmal THX an PyroX
09.01.2003, 15:05 #3
PyroX
Beiträge: 304

quote:
Zitat von Timothy
Sag Bescheid dann schick ich dir Goman über icq mit fähigkeit zu Gothic 2 vdf zu. Nochmal THX an PyroX


Bitte nicht weiter verteilen, eine neue Version kommt bald ...
09.01.2003, 15:33 #4
KaiserARM
Beiträge: 88

Ansonsten könntest du natürlich einfach eine globale Variable definieren, die du dann beim Anzeigen der Info von Mann 1 auf TRUE setzt...
11.01.2003, 19:14 #5
GülleMüller
Beiträge: 472

@ Mudfreak: Die Funktion NPC_KnowsInfo() erfordert als 2. Parameter eine Funktion vom Typ C_INFO. Ich vermute, daß deine xxxx_Info Func vom Typ VOID oder INT ist.

Um es mal anders auszudrücken: Du kannst nur überprüfen, ob ein gesamter Dialog ausgeführt wurde oder nicht ( bei dir also nur DIA_NOVIZE_03_Boss). Wenn du auch prüfen willst, welcher Menüpunkt bei einer Auswahlbox gewählt wurde mußt du mit Variablen arbeiten, da eine Auswahl auch nur zu einem Dialog gehören kann.

ps: Ich gehe mal davon aus, daß dein Dia so definiert wurde:

INSTANCE DIA_NOVIZE_03_Boss (C_INFO){...};
INT DIA_NOVIZE_03_Boss_Condition (){...};
VOID DIA_NOVIZE_03_Boss_Info(){...};


cu
GüMü

[EDIT]
Tipp1: Es handelt sich dort um Funktionen nicht um Variablen.
Tipp2: Zwar gibt es lokale Variablen, allerdings werden sie (speichertechnisch) als global behandelt. D.h.: nachdem sie eigentlich nicht mehr verfügbar sind werden sie dennoch im Speicher gelassen.
Besser: nehmt euch dafür gleich mal 1 oder 2 globale Vars, die ihr dann aber vor jedem Aufruf/Check neu belegen müßt. Und lokale vars braucht man immer ;)
[/EDIT]
12.01.2003, 20:32 #6
NicoDE
Beiträge: 1.398

quote:
Zitat von PyroX
[...]Bitte nicht weiter verteilen, eine neue Version kommt bald ... [...]
Die Tester von heute scheinen immer großzügiger zu werden

- nico
14.01.2003, 17:33 #7
Timothy
Beiträge: 404

Jaja... Ich hab ihm das GoMan 0.92 geschickt Ok ?

Ich wusste ja nicht dass es eine Testversion ist.
14.01.2003, 17:59 #8
NicoDE
Beiträge: 1.398

Friede ;T
14.01.2003, 18:11 #9
Mudfreak
Beiträge: 446

Hab wirklich nur die 0.92 Version.
Is mir auch egal. Die ist auch gut.
Aber respekt dass du sowas machst.
Seite 1 von 1  1