PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : globale Variable - Umgang


Hercules-HH
17.12.2008, 16:00
Ich hab folgende fragen zur globalen Variable:

Frage/Fall/Problem1

Eine Datei mit folgender Angabe:
#Start
Euro = 0;
exit;Zweite Datei
#Start
~1
? (!(alive Hans1)) : goto"Geld1";
goto"Start";
#Geld1
Euro = Euro +10;
hint format ["%1 EUROS", Euro];
#Punkt1
~1
? (!(alive Hans2)) : goto"Geld2";
goto"Punkt1";
#Geld2
Euro = Euro -10;
hint format ["%1 EUROS", Euro];
exit;Das Funktioniert gut bis hier hin. Nur machmal wird 15 Euro angezeigt, wenn Hans1 stirbt.

Dritte Datei
#Start
~1
? Euro >= 10 : goto"Schlecht";
hint "SUPER";
#Punkt1
~3
hint format ["%1 EUROS", Euro];
goto"Start";
#Schlecht
hint "Schlecht";
#Punkt2
~3
hint format ["%1 EUROS", Euro];
goto"Start";
#Ende
exit;Das funktioniert aber nicht. Wenn Hans1 tot ist, steht da schlecht und kurz danach 10 Euro. Aber da soll ja SUPER stehen. Erst wenn Hans2 stirbt soll schlecht stehen.

Im Editor geht die Abfrage Euro >= 10, wenn ich das im Auslöser in der Bedingung schreibe! Wie frag ich also in einer Datei?

Bitte um baldige Antwort, Hilfe oder was auch immer. DANKE

Frage/Fall/Problem2

Die Fahne1 soll sich in grün ändern und so bleiben, wenn ich ein Gebiet betrete. Wenn Erobert1 auf true gesetzt wird soll dies passieren. Anschließend soll die Fahne rot werden, wenn Erobert1 auf false gesetzt wird. Aber erst dazu
Ich möchte mit Hilfe eines auslösers die Datei starten:

#Start
#Verschieben
Sektor1 setPos getPos Weit1
#Erstellen1
Erobert1 = true;
#Punkt1
"Fahne1" setMarkerType "Town";
~1
#Punkt2
"Fahne1" setMarkerColor "ColorGreen";
~2
#Abfrage
? Erobert1 : goto"Ende";
#Plusp
hint "Sekunden laufen";
~60
Player addRating 100;
goto"Abfrage";
#Ende
#Punkt2
"Fahne1" setMarkerColor "ColorRed";
hint "jetzt Ende";
exit;Doch leider funktioniert das nicht. Die Abfrage geht ncht. Ich weiß nicht wie ich das anders formulieren soll. Die Fahne wird nur kurz grün, dann wieder rot (logisch, weil die Abfrage nicht funktioniert).

Auch hier:
Bitte um baldige Antwort, Hilfe oder was auch immer. DANKE

raedor
22.12.2008, 15:58
Fall 1:

In Datei 2 machst Du Euro = Euro+10 sobald Hans1 tot ist, Euro hat also den Wert 10. In Datei 3 springt er, sobald Euro >= 10, also genau jetzt, zu schlecht. Also zeigt er dann "Schlecht". Dort macht er dann weiter und zeigt dann "10 Euros". Der Code funktioniert also, Du mußt ihn nur besser durchdenken, damit er das macht, was Du willst ;)

Fall 2:

Die Abfrage muß so aussehen:

? !Erobert1 : goto"Ende"

Das "!" kann man auch durch ein "not" ersetzen.

Schau mal hier: Scripting - Bohemia Interactive Community (http://community.bistudio.com/wiki/Scripting), da gibt's ein paar Infos zum Scripten.

Hercules-HH
26.12.2008, 23:32
NNNNNNNNNNEEEEEEEEEEEIIIIIIIIIINNNNNNNNN
Nur das: Bei der Abfrage nur das. ICh sitz da so lange, wegen einem Ausrufe- ZEICHEN. Ein AUSRUFEZEICHEN. Ein Zeichen. Verdammt nochmal. Das ist ein Zeichen.:motz:

Ich rege mich deshalb so auf, weil ich da ein noch viel komplexeres Ding eigentlich gemache habe, dass aber zu lange wäre um hier rein zu setzten, doch was ist: Ein Zeichen raubt mir Kraft und Zeit.

Das wort schlech hab ich da reingestzt, weil ich sehen wollte, ob die Abfrage-Formel Funktioniert, nicht ob der zusammenhang funktioniert. Deshalb gehe ich die Decke hoch. Wenn es der lange Zusammenhang (der ist wirklich verdammt lang&komplex-hier nur ein Ausschnitt zu sehen/gebastelt) Schuld wäre, aber nein Die "Abfrage-Formel" ist falsch hingeschrieben.:motz:

echt, ich muss mir erst die korrekte Schreibweise bei bringen. Verstehst ne?! Da stand immer schlecht, obwohl der alte Sack Hans1 noch lebte. War dann Schlecht wenn "schlecht" da stand. Im sinne von "geht nicht"!

Danke. Jedenfalls Danke. "AUSRUFEZEICHEN" schreib ich beim nächsten testen hin. Ich hab das dann mit einer IF-THEN-Else-Formel gelöst, wobei ich das THEN mit a geschrieben habe. Ähnliche fehlerquelle!!! grrrrr:motz:

Danke nochmal. Werde ich fürs nächste mal brauchen auch die Kraft, wenn ich wieder THAN mit Then vertausche.