Ausrastelli hat geschrieben:nhach...es lässt mir doch keine ruhe...*g*
<---Lacht sich weg...
...eigentlich wollte ich ja nur der Community hier eine guten Rutsch und alles erdenklich Gute fürs nächste Jahr wünschen, um dann auf die Piste zu gehen, aber jetzt muß meine Girlie-Bande noch ein wenig warten. Ich mach auch schnell...
Ausrastelli hat geschrieben:
vielleicht machen wir hier einfach nen urschleimtutorial draus anhand deines hubfütterungsscripts...natürlich nur wenn du magst.
Ich mag.
Ausrastelli hat geschrieben:
was für mich erstmal nicht klar ist...was genau ist der unterschied zwischen argumenten und variablen?
Der Unterschied liegt darin, das Argumente bestimmte benutzergenerierte Angaben an das Script liefern, Variablen dagegen scriptgenerierte Informationen weitergeben. Obwohl...
...so recht ist das auch nicht endgültig, denn es gibt auch Variablen, die Usereingaben beinhalten.
Variablen sind so etwas wie Wildcards (Platzhalter), die das Ergebnis ganzer Programmstrukturen an anderer Strukturen übergeben können.
Argumente sind keine Menüs, aber deren Inhalt.
Über Argumente kann der Nutzer bestimmte (fest definierte) Inhalte bestimmen, die später dann vom Programmcode übernommen werden.
So sind zum Beispiel die Argumente in dem Hubscript eine Art Container, die jeweils einen bestimmten (definierten) Inhalt, was die Form betrifft, haben können, aber in Menge oder Aussehen variabel sind.
Mit Menge und Aussehen meine ich, das sie zwar auf einen Typ (zum Beispiel die Sektorenposition) beschränkt sind, aber innerhalb dieses Typs jede beliebige Form annehmen können.
Ausrastelli hat geschrieben:
woher weiß ich welchen wert ich einer variable zuweisen muss (zum beispiel deiner Tempstore variable)
Hihi, das ist Deiner Phantasie überlassen...
...besser, Deinem logischen Denken. Da Variablen jeden Wert annehmen können, ist es also Deine Entscheidung, wann und wo sie wieder zum Einsatz kommen. Und, Variablen werden keine Werte zugewiesen...
...Werte bekommen Variablen zugewiesen.
Ausrastelli hat geschrieben:
ich habe die erste zeile jetzt schon soweit hinbekommen dass sie aussieht wie bei dir und tempstore den wert null zugewiesen
Warum null?
Der Inhalt der Variable wird von <get max store amount of ware $ware> erzeugt.
Um das mal zu verdeutlichen...
...diese Anweisung liefert einen Wert zurück, nähmlich genau die maximalen Lagermenge einer bestimmten Ware (geliefert vom Argument $ware, das wiederum flexibel ist, also jede Ware sein kann, da der User sie bei jedem Durchlauf neu bestimmen kann) an einer bestimmten Station (hier geliefert von dem Argument $station) und dieser Wert wird in der Variable $tempstore gespeichert, damit man ihn später abrufen kann.
Ausrastelli hat geschrieben:
in zeile 2 kriegt eine variable i den wert null...auch klar soweit...
Ja, das ist der Anfang einer Schleife, hier wird ein Wert definiert, der als Grundwert für die Schleife gilt. Solange das Argument $wert ungleich (!=) dem Wert i ist, läuft die Schleife immer wieder durch.
Der Zähler inc $i wird dabei bei jedem Durchlauf der Schleife um 1 erhöht (increase), so daß $i irgendwann einmal gleich dem Argument $wert ist, und somit die Bedingung für die Schleife ($i != $wert) nicht mehr existiert und die Schleife beendet wird.
Ausrastelli hat geschrieben:
ich merke grad je mehr ich das für mich selber aufdrösle, desto klarer wird es...ist dem basic was ich for 20 jahren mal in der schule gelernt hab gar nicht so unähnlich xD
Naja, an der Programmlogik hat sich seit den Tagen des Basic und Pascal nichts geändert...
...nur am Umfang und an den Möglichkeiten der einzelnen Sprachen.
Ausrastelli hat geschrieben:
und danke taktkonform für deine stoische geduld
Frag mal meine Töchter, von wegen stoischer Geduld.
Ausrastelli hat geschrieben:
doppeledith: wie schafft man denn in zeile 4 den | vor die zeile? ich krieg da nur das $tmp hin und danach kann ich da nichts mehr davor machen...hab das als zeichen schon zur auswahl gesehen aber ich krieg es da nicht hin...und:
Dieser Strich ist ein "nicht zurückgegebener Wert".
Etwas blöd zu erklären, aber vom Prinzip her lieferst Du die Variable ja bereits in Zeile 3, indem Du festlegst, das solange durchgelaufen werden soll, wie die beiden Vergleichswerte ungleich zueinander sind.
Zeile 4 ist also die Fortsetzung von Zeile 3, nähmlich das was bei jedem Durchlauf passieren soll, das Zuweisen einer bestimmten Menge einer bestimmten Ware zu einer bestimmten Station.
Wie bekommst Du das nun hin...
...die Zeile 4 beginnt im Normalfall ja auch mit einem <RetVar/If>, nur das hier eben weder eine Variable oder eine Bedingung gebraucht wird. Also greift das Return, genauer gesagt das <no return value>.
Wenn Du die Zeile in den Editor einfügst, fragt Dich doch der SE nach einem Variablennamen oder einem Wert, im ersten PopUp. Scroll in diesem PopUp mal ein Stück nach unten, dann wirst Du den Eintrag <no return value> finden, der dann die Zeile ohne <RetVar/If> erzeugt.
noch nen netten Tag
Taktkonform