Bei mir ist da nen fehler das ding ist rot kp wieso!
vielleicht brauchst du propcore falls du es nochnicht hast
zufinden im unofficial wire svn
Ich hätte mal gern ein-zwei Probleme und hoffe, Ihr habt da einen Tipp für mich.
1)
Ich möchte die Funktion Entity:keyUse() abfragen. Auch alles kein Problem, jedoch möchte ich die getriggert abfragen, es soll also nur eine Variable gesetzt werden, wenn die Benutzen-Taste angetippt wird.
Füge ich in die Abfrage aber einmeldet mir der Expression2-Chip die Fehlermeldung "Triggered operator (~) must be proceeded by variable at line ......"PHP-Code:
if (~owner():keyUse() & owner():keyUse()==1){Variable=1,hint("Variable gesetzt",3)}
Hat da jemand eine Idee, wie ich die Abfrage zu meiner Zufriedenheit anpassen kann? Das Problem ist nämlich, dass diese Aktion solange wiederholt wird, bis ich die Benutzen-Taste loslasse. Daher wird der Hint dann auch mehr als 1x angezeigt, denn so schnell kann man die Taste ja nicht loslassen. Zur Info: Am Anfang des Chips ist ein runOnTick(1).
2)
Ich möchte mit Entity:eye() arbeiten. Den Vector in Berechnungen einzubauen klappt wunderbar, jedoch möchte ich bestimmte Aktionen nur ausführen können, wenn ich genau nach oben schaue.
Hier scheitert jedoch die if-Abfrage, sie gibt immer 0 aus, obwohl ich mit dem debugger diesen Wert überprüft habe und dieser auch genau 1 ausgibt, sobald ich genau nach oben schaue.
So habe ich es geschrieben:
Kann mir da jemand weiterhelfen? Vielen DankPHP-Code:
if (owner():eye():z()==1){......}
![]()
Geändert von Hidden Evil (13.11.2009 um 11:24 Uhr)
Hi,
zu 1: ~ funktioniert nur mit Inputs. Das ist True, wenn dieser Input die E2 auslöst, sonst False. Du könntest changed() verwenden:
Oder Delta ($):PHP-Code:
runOnTick(1)
Use = owner():keyUse()
if(Use & changed(Use)) { ... }
Zu 2: Da sehe ich jetzt keinen Fehler. Poste am besten mal den gesammten Code, evtl. liegt der Fehler woanders.PHP-Code:
@persist Use
runOnTick(1)
Use = owner():keyUse()
if(Use & $Use) { ... }
Geändert von Quabit (13.11.2009 um 11:35 Uhr) Grund: runOnTick(1) vergessen...
Zu 1)
Das hat hingehauen
Ich musste nur die zweite Variante nehmen, denn mit changed hätte ich diese Aktion nur 1x ausführen können. Mit $ kann ich wie gewünscht die Aktion mehrmals hintereinander ausführen.
Zu 2)
Im Prinzip ist es auch nur das, was im folgenden Quelltext steht, es ist ja jetzt nur ein Test und sollte später umgesetzt werden. Aber alleine der Test funktioniert ja nicht.
Zum Testen habe ich Eye auch mal nicht als Persist sondern als Output definiert und mit dem Debugger geprüft, welcher Wert gerade vorliegt. Es wird auch die 1.0 ausgegeben (Abfrage wurde auch mit 1.0 probiert, ebenfalls gescheitert), nur der Chip reagiert darauf nicht.PHP-Code:
@persist Eye:vector Oben
runOnTick(1)
Eye=owner():eye()
if (Eye:z() == 1){Oben=1}esle{Oben=0}