Seite 1 von 1

Modding: Eingabe merken

Verfasst: 28. Mär 2014, 21:27
von Yuan DeLazar
Hallöle,

ich möchte gern ein wenig mich im modifizieren üben, muss aber leider feststellen, dass ich keine Ahung habe, wie man bestimmte Sachen angeht. Beispiel: In einer Dialogbox soll es (mind.) zwei Antwortmöglichkeiten geben. Ich möchte gern eine Variable setzen, die die Antwortnummer speichert. Im nächsten Dialogfenster soll diese Variable abgefragt werden und je nach Variablenwert unterschiedliche Berechnungen durchgeführt werden.

Code: Alles auswählen

		
			berechnen
			1
			
			false
			Dialogbox1
			einer
			alle
 		
 		
			 berechnen
			 2
			 
 			true
			 
		 
		
			berechnen
			3
			<![CDATA[

function forward () {

...

if (Auswahl == 1) {
	ende = 1;
	anfang = 1;}
	else {
		ende = getPartyCount()-1;
		anfang = 0;
	}

for(var i = anfang; i <= ende; i++) {

....

Wenn ich das so mache, scheint es so, als kann unten "Auswahl" nicht abgefragt werden, weil es nicht existiert. Wie gesagt habe ich keine Ahnung, wie man sowas eigentlich zu machen hat. Ich habe dann weiter probiert und festgestellt, dass unten "Auswahl" bekannt ist, wenn ich ganz oben "function after() {Auswahl = 0}" benutze. Dann lässt sich "Auswahl" aber im folgenden Dialogfeld2 nicht mehr ändern.

Würde mich freuen, wenn mir jemand erklären kann, wie man Variablen übergeben und verändern kann und was es mit dem "function before()", "function after()" und "function processtext()" auf sich hat. Danke!


EDIT
Ok, habe gerade die hilfreiche Beschreibung von Fujak gefunden. Für diesen Anwendungsfall kann man es eleganter mit "function after(selid)" lösen und dann abfragen, was geklickt wurde und entsprechend die Variable setzen: "if (selid == 0) Auswahl = 1; else Auswahl = 0".
Bleibt aber noch die frage, ob und wie man einmal gesetzte Werte wieder ändern kann.

EDIT2:
Anscheinend kann man doch "Auswahl" mit einer function einen neuen Wert zuweisen, auch wenn man sich inzwischen in einem anderen Abschnitt des Dialoges befindet. Damit hat sich die Frage vorerst geklärt.