Benötige Hilfe um eine Schleife im Script zu schreiben

  • Hallo, ich habe mir ein Script geschrieben, bei dem Der Füllstande der Hänger auf dem Bildschirm wieder gegeben wird, jetz habe ich aber das Problem, das ich mit der "for" Schleife nicht zurecht komme und nun ja die Füllstände sich überlappen.


    Kann mir da jemand helfen, oder es mir genau erklären, wie das mit der Variable und dem Versatz geht



    Grüße Stephan

  • es gibt mehrere Scripts dieser Art.


    Ich nehme an du hast bereits eine for-schleife die durch alle Hänger rennt und in deren Ausführungsbereich du das renderText untergebracht hast. Im Grunde ist es ganz simpel... du benötigst eine offset-Variable mit der du einfach festlegst um wieviel die nächste Zeile versetzt werden soll. Im renderText gibst du ja an : renderText( x-position, y-position, schriftgröße, text ) - damit es sich nicht überlappt musst du also nach jeder Zeile von der y-position die Schriftgröße (+ 0.01 für einen schmalen Abstand) abziehen (abziehen weil 0:0 unten links ist) .


    das ganze sieht dann zum Beispiel so aus:


    Code
    local offset=0;
    for k,v in pairs(self.gefundeneHaenger) do
    renderText(0.8, (0.8 - offset), 0.02, string.format("%s : %0d t",v.name,v.fillLevel));
    offset = offset + 0.03;
    end;


    wie du siehst wird innerhalb der Schleife das offset immer um 0.03 erhöht bei einer Schriftgröße von 0.02 - dadurch sollte alles untereinander stehen. Die Zeile mit dem renderText wird bei dir vermutlich anders aussehen.


    PS: John Deere: ich denke den meisten ist bewusst wo sie sich die Funktionen abgucken könnten wenn sie das wollten. Ich bin aber froh darüber dass es noch Leute wie derschreiner gibt, die es selber hinbekommen wollen und deswegen eine Erklärung wünschen anstatt sich einfach bei anderen zu bedienen und am Ende doch nicht zu kapieren was sie da kopiert haben.

  • da stimme ich dir ja auch zu. find ich ja auch gut, das einige auch mal die inititive ergreifen und auch mal verstehen wollen wie etwas funktionirt und wie man es selber machen kann.
    ich selber behersche die lua sprache ja auch nicht und deswegen dachte ich halt das er etwas von der lua gebrauchen könnte bzw. die lua ganz nutzen könnte.
    ich lese auch immer deine beiträge, wenn du etwas über die einträge in den luas schreibst. dadurch hab ich auch schon viel über die funktionen gelernt und wie sie in der lua gesteuert werden.


    dafür möchte ich mich auch gleich mal bei dir bedanken, das du uns die sprache der lua etwas näher bringst und wir dadurch mehr über die lua und deren funktionen und einträge erfahren.

  • Vielen Dank für die Erklärung, das werde ich später gleich probieren und auch für den Hinweis auf den Hackenlift, doch leider kann das DrawFill Script nicht bei den Standart Hängern benutzen. Meine Schlepper und Drescher habe ich auch bereits mit Motaor Starter, Hectar und Betriebsstundenzähler ausgerüstet, doch leider hat es mit der Füllmenge bei den Hängern eben noch nicht geklappt, aber wie gesagt, ich werde es noch probieren.



    Grüße Stephan

  • keine Angst, ich denke auch an andere ;)



    Wobei Deere Power recht hatte, das Script aus dem Hakenliftpack ist eigentl genau richtig, es zeigt alles an, was ich wollte und man kann es auch noch ausblenden. Bin gerade an testen, und es klappt einwandfrei, auch bei den Standart Hängern. Einziger Nachteil, die Schrift der ShowFilllevels für Drescher färbt sich mit ein, doch das bekomme ich schon noch hin.

  • Helmut


    Es geht hier nicht darum etwas möglichst schnell zu veröffentlichen, das hätte ich ja auch schon machen können, sondern darum, das alles danach einwndfrei läuft, bei dir sind genau die selben Fehler vorhanden, die ich im vorigen Post beschrieben habe, plus die, die ich bereits beseitigt habe und welche, die ich noch gar nicht erwähnt habe.


    Von daher wünsche ich dir viel Spaß beim Beseitigen der Probleme und lege dieses Projekt für mich zu den Akten.

  • wo wir wieder bei den Punkten wären , die für einen Release das allerwichtigste darstellen...


    Punkt 1: wenn du aus fremden Spezis zusammen kopierst (klaust) , dann frag die Autoren vorher. Ich glaube nicht dass du das gemacht hast. Damit trittst du ihre Arbeit mit den Füßen, schmückst dich mit fremden Federn , hast dabei nichts gelernt , ziehst Ärger auf dich und verärgerst andere und schadest damit der gesamten Community.


    Punkt 2: wenn du etwas releasen willst, checke es vorher unter allen möglichen und unmöglichen Bedingungen. Wer etwas released, hat dafür support zu leisten. Wenn sein Script Fehler enthält, unsauber geschrieben ist oder schwer zu implementieren ist , dann hat sich der Autor drum zu kümmern das alle Probleme beseitigt und alle Fragen geklärt werden. Das kann eine Vollzeit-Beschäftigung werden wenn man ein fehlerhaftes Script released hat.


    Punkt 3: "Schuster bleib bei deinen Leisten" - wer scripten will sollte sich eingehend mit der Scriptsprache beschäftigen und versuchen zu lernen. Wer keinen Bock darauf hat das wirklich zu lernen, der sollte tunlichst die Finger davon lassen - auch wenn sich einige Sachen leicht zusammen kopieren lassen. An der Stelle greifen wieder Punkt 1 und 2.


    Glückwunsch - du hast soeben am praktischen Beispiel präsentiert wie man es nicht macht. :thumbup:

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!