[Gelöst] Fehler in dieser kleinen zeile?

  if(GetAction(this()) eq “WarnCold”)  SetAction(“WarnCold”,target);

Soll bewirken: wenn das aufgerufene objekt noch nicht die Action “WarnCold” durchführt, dann soll es das nun bitte tun.

Die Engine sagt mir aber:
‘)’ expected, but found identifier (in Warning, …
Dass es genau diese Zeile ist, die den Fehler enthält, habe ich sichergestellt, indem ich diese eine Zeile einfach auskommentiere. Dann erscheint die Fehlermeldung nicht.

Aber ich weiß beim besten willen nicht, was daran falsch sein könnte. Es sieht für mich genau so aus, wie in der Dokumentation…
http://www.clonk.de/docs/de/sdk/script/fn/GetAction.html
http://www.clonk.de/docs/de/sdk/script/fn/SetAction.html

Vielleicht ist dein Script #strict 2? Dort müsste es so aussehen:
<br/>if (GetAction() == &quot;WarnCold&quot;) SetAction(&quot;WarnCold&quot;, target);<br/>
Wenn du etwas neues schreibst, sollte es möglichst immer #strict 2 sein.

Danke!! das war es =) 

Hm… woher weiß ich denn, wie es bei strict 2 aussehen muss? Gbits dazu was in der Doku, was wann verwendet wird?

(damit es das bewirkt was ich will, muss da natürlich noch ein "!" hin, hatte das nur schon weggenommen, weil ich dachte es würde den Fehler verursachen)

>Dass es genau diese Zeile ist, die den Fehler enthält, habe ich sichergestellt, indem ich diese eine Zeile einfach auskommentiere. Dann erscheint die Fehlermeldung nicht.


Ansonsten steht in der Fehlermeldung auch immer genau die Zeilenzahl - und sogar die Nummer des Zeichens in der Zeile. :)

ja richtig, nur ist es da ja auch manchmal so, dass es die Zeile darüber oder darunter ist (wurde mir so gesagt und zusätzlich arbeite ich mit dem windwos editor, wo ich manuell die zeilen zählen muss, deshalb ist da die Verzählraterate sehr hoch :D). Und ich konnte, obwohl ich die Zeile kannte, den Fehler nicht ausfindig machen :smiley:

Naja, jetzt gehts ja… und ich habe nun Kälte und Hitze, die den Clonks im Freien schaden :slight_smile: außer sie stehen in Flüssigkeit bei Hitze, oder in nähe von Feuer/Fackel bei Kälte :slight_smile:

> [...] dem windwos editor, wo ich manuell die zeilen zählen muss, [...]


Nein, musst du nicht. Zeilenumbruch deaktivieren, Statusleiste aktivieren. Dann wird Zeile und Spalte angezeigt.

aah, danke für den Tipp :slight_smile:

>windwos editor


Nimm den C4Scripter oder sowas wie Notepad++.
Der C4Scripter hat den Vorteil, dass Funktionsnamen eingefärbt werden

Die wesentlichen inkompatiblen  Aenderungen sind, dass keine Klammern hinter this und Konstanten wie C4D_Object erlaubt sind und dass man statt eq, S= und ne immer nur == und != verwenden darf.

okay… danke…
was passiert denn, wenn ich this() im strict 2 schreibe?
Habe das mal gemacht, aber es kommt keine Fehlermeldung in der Engine… funktioniert dann einfach stillschweigend etwas nicht, ohne dass ich den Grund erkennen kann?

Die Fehlermeldung oben kommt denke ich wegen this().

ne, die oben war schon wegen dem bereits erwähnten :wink:

Das this() steht lediglich in einem
  CreateMenu(HZCK, clonk, this(),0,0,0,1);
was scheinbar keine auswirkungen hat. Aber wird es anderswo verwendet, kommen "(" Fehlermeldungen.