PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Expression 2 Bug - Hilfe



Itsab
23.01.2010, 22:37
Hi,
ich habe ein kleines Problem:

Sobald ich beim Expression 2 eine Klammern benutze, beispielsweise bei einer if Funktion, bekomme ich den Fehler "Right paranthesis ()) without matching left paranthesis", beim validieren. Der Fehler tritt auf, sobald ich die Klammern setzte also:



@name Beispiel
@inputs
@outputs
@persist
@trigger all

if (<Ausdruck>)
{
<Anweisungen>
}


Der Editor meckert also an den runden Klammern für den Ausdruck rum. Seltsamerweise kann ich meine alten Projekte problemlos validieren und da sind haufenweise if's drin. Sobald ich dort eine neue einfüge, tritt das Problem allterdings wieder auf. Ich hab die Gates mit dem Error mal probeweise gespawnt, sie funktionieren leider nicht.
Ich hoffe mir kann jemand helfen. Bitte um schnelle Antwort. Ich wollte grad ein neues Projekt anfangen :).

PS: Ich habe die Suchfunktion benutzt aber nichts dergleichen gefunden. Wenn doch jemand was findet, verweise er mich bitte ohne Anschuldigungen darauf ;).

Mitsuma
23.01.2010, 23:18
"Right paranthesis ()) without matching left paranthesis" heißt das du ne offene Klammer hast.

Guck mal genauer hin, vllt. ist ja doch ne offene Klammer.

Itsab
23.01.2010, 23:22
Jo ich weiß, das ist mir bekannt. Das ist ja gerade das Seltsame. Tschuldige wenn ich mich nicht klar genug ausgedrückt habe: Es ist garantiert ein Bug oder sowas. es liegt nicht an mir. Sobald ich in einem neuen Expression () schreibe, taucht die Fehlermeldung auf. Ich hab eben übrigens Wiremod gelöscht und neu heruntergeladen über TortoiseSVN.

Sk3y
23.01.2010, 23:27
Dann zeig uns doch mal den Code wo das auftritt aber bitte mit fehlermeldung (da steht zeile und zeichen).

Itsab
24.01.2010, 01:26
Seht doch mal den Code den ich geschrieben habe. Egal was ich mache. Ich muss nur ein neues Expression 2 öffnen und eine Klammer auf und eine wieder zu machen und schon bekomme ich den Fehler dass eine Klammer fehlt. Das finde ich ja so komisch. Ich habe ein ganz leeres Dokument mache einfach nur "()" und schon bekomme ich den Fehler. Es tritt auch auf wenn ich das is einer if Anweisung oder in irgentetwas sonst verwende. Sobald ich irgentwo "()" benutze bekomme ich die Fehlermeldung. Wie oben schon gesagt solange ich an meinen alten Projekten nichts verändere kann ich sie problemlos validieren. Will ich aber beispielsweise eine neue if Anweisung einbauen, bekomme ich sofort den Fehler.

Sk3y
24.01.2010, 02:42
Öhmm ich an deiner stelle würde erstmal nicht < und > irgendwo in den code schreiben es sei denn du brauchst es. Warum du das nicht tun solltest könntest du ja bei
http://wiki.garrysmod.com/?title=Wire_Expression2
nachlesen.

Ansonsten bekomme ich keinen error wenn ich ein wenig was ändere:

@name Beispiel
@inputs
@outputs
@persist Ausdruck
@trigger all

if (Ausdruck)
{
#<Anweisungen>
}

Mitsuma
24.01.2010, 12:31
@name Test
@inputs Knopf
@outputs Anzeige

if (knopf == 1)
{ Anzeige = 200 }
else
{ Anzeige = 33 }


Hier mal ein genaues Beispiel.

Clarity
24.01.2010, 12:39
@name Test
@inputs Knopf
@outputs Anzeige

if (knopf == 1)
{ Anzeige = 200 }
else
{ Anzeige = 33 }


Hier mal ein genaues Beispiel.

< und > sind Vergleichsoperatoren und haben wie sie oben verwendet sind nichts darin zu suchen.

Wieso?
Ist doch egal, das istn Kommentar, da kann stehen was will.
Zudem soll das ja nur zeigen, dass da diverse Anweisungen stehen können.

Mitsuma
24.01.2010, 12:45
Hab das Kommentar übersehen, aber hätte er trotzdem raus lassen können, könnte Verwirren. ;)

Itsab
24.01.2010, 12:46
Genau, Clarity weiß, was ich meine ^^. Die <> mit etwas drin meinen allgemein, dass dort nicht genau das steht, sondern beispielsweise ein Vergleich, wie "Input1 == 4", oder als Anweisung: "Output = owner():pos()"

Tut mir leid, wenn das Verwirrung geschaffen hat. :)

EDIT: Ok. Das Problem ist gelöst. Seltsamerweise habe ich nichts geändert. Ein Expression, welches vor wenigen Stunden noch Errors ausgab, gibt jetzt keine mehr, obwohl ich nichts verändert habe. Tut mir leid :)