Not logged inClonkspot Forum
Forum Home Help Search Register Login
Up Topic Deutsch / Hilfestellung / [Gelöst] Fehler in dieser kleinen zeile?
- - By Serpens66 (More than 200 posts.) Date 03.11.2014 17:40
  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
Parent - - By Luchs (More than 1000 posts.) Date 03.11.2014 17:54
Vielleicht ist dein Script `#strict 2`? Dort müsste es so aussehen:
```
if (GetAction() == "WarnCold") SetAction("WarnCold", target);
```
Wenn du etwas neues schreibst, sollte es möglichst immer `#strict 2` sein.
Parent - - By Serpens66 (More than 200 posts.) Date 03.11.2014 17:59
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)
Parent - - By Luchs (More than 1000 posts.) Date 04.11.2014 14:19
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.
Parent - - By Serpens66 (More than 200 posts.) Date 04.11.2014 15:07
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?
Parent - - By Luchs (More than 1000 posts.) Date 04.11.2014 16:27
Die Fehlermeldung oben kommt denke ich wegen this().
Parent - By Serpens66 (More than 200 posts.) Date 04.11.2014 17:59
ne, die oben war schon wegen dem bereits erwähnten ;)

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.
Parent - - By Zapper (More than 500 posts.) Date 03.11.2014 19:57

>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. :)
Parent - - By Serpens66 (More than 200 posts.) Date 03.11.2014 20:21
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 :D

Naja, jetzt gehts ja.. und ich habe nun Kälte und Hitze, die den Clonks im Freien schaden :) außer sie stehen in Flüssigkeit bei Hitze, oder in nähe von Feuer/Fackel bei Kälte :)
Parent - - By Cmdr. Adler (More than 200 posts.) Date 04.11.2014 00:56

> [...] 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.
Parent - By Serpens66 (More than 200 posts.) Date 04.11.2014 01:07
aah, danke für den Tipp :)
Parent - By Zapper (More than 500 posts.) Date 04.11.2014 06:39 Upvotes 2

>windwos editor


Nimm den C4Scripter oder sowas wie Notepad++.
Der C4Scripter hat den Vorteil, dass Funktionsnamen eingefärbt werden
Up Topic Deutsch / Hilfestellung / [Gelöst] Fehler in dieser kleinen zeile?

Powered by mwForum 2.29.7 © 1999-2015 Markus Wichitill