World of Gothic Archiv
> Editing Globale Variablen |
|
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: 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: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. |
||
|