NEU und GEÄNDERT in Version 5.04 (12.10.2004) gegenüber 5.03:
EINKAUFSFUNKTIONEN:
"Intelligenz" der TS entscheidend verbessert!
Bei den drei Befehlen "Versorge..." hat bisher (bis 5.03) der TS einfach bei den zugewiesenen Fabriken nachgeschaut, welche Fab am wenigsten Ressource hat und sich auf diese Fabrik und Ressource festgelegt. Wenn die Fab nicht genug Geld hatte, wurde das Script beendet und eine Meldung wegen Geldmangel an den Spieler gesandt.
Wurde komplett geändert!
Jetzt (5.04) gibt es diese Meldung nicht mehr. Das läuft jetzt wie folgt:
Der TS prüft auf
Ressourcenmangel anhand der Menge in der Fabrik und der Einstellung seiner Raketenabschusshäufigkeit. Er nimmt dann den in der Fabrik eingestellten Einkaufspreis. Errechnet dann, wieviel Ware er kaufen muß und was diese Menge zum eingestellten EK kosten würde. Diesen Betrag vergleicht er mit dem Geldbetrag in der Fabrik. Hat die Fabrik nicht ausreichend Geld dafür, wird diese Ressource ausgelassen und der TS nimmt (bei Fabriken mit mehr als einer Ressource) die nächste Ressource. Ist es eine Level1-Fabrik (Agrarzentrum, BoGas, SKW, usw.) wird diese Fabrik solange nicht bedient, bis wieder genug Geld zum Kaufen drin ist. Es kann jetzt vorkommen, daß der TS in einer Fabrik liegen bleibt und nichts kauft, weil er einfach wegen Geldmangel nichts kaufen kann. Die Fabrik(en) wird/werden ihre restlichen Ressourcen verbrauchen und dann anfangen gelb zu blinken. Ohne Moos nix los

Andererseits hört er aber nicht wie bisher auf zu arbeiten, wenn eine Fabrik für BoFu zwar zuwenig Geld hat, aber für EZ würde es noch reichen. Er kauft dann eben kein BoFu mehr, sondern EZ. Beispiel:
- Boronen Kristallfabrik. Am Lager
Energiezellen (EK 10Cr.): 2000 (= 40%)
BoFu (EK 292Cr.): 45 (= 13%)
Siliziumscheiben (EK 230Cr.): 167 (= 80%)
Geld: 25.000 Cr
Einstellung Raketenabschuß des TS: 50%
Es wären jetzt vordringlich 121 BoFu für den Preis von 35.332Cr zu kaufen; außerdem 500 EZ für den Preis von 5.000Cr. Weil nur 25.000 Cr. in der Fabrik sind, wird der TS die 500 EZ kaufen. BoFu wird er solange nicht kaufen, bis entweder genug Geld dafür in der Fabrik ist oder die Raketenabschußhäufigkeit des TS runtergestellt wird. Ich habe bewußt darauf verzichtet, das so zu programmieren, daß der TS für den vorhandenen Geldbetrag BoFu kauft. Denn das bringt nichts. Die für 25.000Cr zu kaufende Menge reicht nicht lange aus und man ist wieder in genau derselben Zwangslage. Hier im BoFu-Beispiel mag das noch nicht so gravierend sein, aber bei Cahoona oder RastarÖl sieht das noch etwas anders aus. Eine Fabrik braucht eben einen gewissen Grundbetrag an Geld, um zu funktionieren...
Suche nach Verkäufern. Die Suche nach einem passenden Verkäufer mit den Standardbefehlen des Scripteditors war mir nicht leistungsfähig genug. Daher habe ich meine eigene Suche programmiert. Hierdurch wird die Fabrik vom TS angeflogen, die folgende Voraussetzungen erfüllt:
...a) Niedrigster Verkaufspreis (gleich oder niedriger zum in der Fab eingestellten Preis)
...b) Gemeinsam mit höchster Menge an gesuchter Ware im Lager
...c) Gemeinsam mit niedrigster Sprungweite (gleich oder niedriger als bei der Fab eingestellte Sprungweite)
...d) Die Fabrik darf nicht bereits von einem anderen Spielerschiff zwecks Kauf dieser Ware angeflogen werden.
Nur der Verkäufer, der alle vier Kriterien erfüllt, wird angeflogen. Manchmal "entdecken" zwei TS im selben Moment denselben passenden Verkäufer. Dann fliegen doch zwei TS parallel dorthin (d ist nicht erfüllt). Aber nur einer kann kaufen (danach ist ja der Preis wieder höher und a) ist nicht mehr erfüllt). Der zweite muß (und wird) sich von diesem Verkäufer aus einen neuen Verkäufer suchen.
Es ist oft der Fall, daß keine Völkerfabrik gefunden wird, welche die obigen Anforderungen erfüllt (hängt von der eingestellten Sprungweite und von der gesuchten Ware ab - manche Sachen sind rar). Dann wird automatisch vom TS nach einem Dock (Handelsdock oder Hauptquartier) gesucht, das die Ware vorrätig hat und es wird dort zum Durchschnittspreis gekauft. Hier zählen dann folgende Kriterien:
...b) Höchste Menge an gesuchter Ware im Lager
...c) Gemeinsam mit niedrigster Sprungweite (gleich oder niedriger als bei der Fab eingestellte Sprungweite)
...d) Das Dock darf nicht bereits von einem anderen Spielerschiff zwecks Kauf dieser Ware angeflogen werden.
Sonderfunktionen.
- Der Pilotenname eines Schiffes gibt Auskunft darüber, was der TS gerade macht.
- Die Einstellung "0" der Raketenabschußhäufigkeit beendet das Script (wenn gerade gekauft wurde, liefert der TS die Ware in seinem Frachtraum erst noch ab) und setzt dabei den Pilotennamen auf den Spielernamen zurück.
- Bei der "Goner-Feind" Einstellung (wenn der TS also bevorzugt bei eigenen Fabriken zum DORT eingestellten Preis
... kaufen soll) gelten besondere Regeln:
...' Dem TS ist egal, ob bereits ein anderes Spielerschiff dort hinfliegt.
...' Er fliegt nur dorthin, wenn mindestens 50% von der Menge, die er braucht dort am Lager sind.
...' Beispiel: Raketenabschuß 30%, in Fabrik sind 20% EZ. TS braucht also 10% (500 EZ).
...' Es müssen im Spieler-SKW mindestens 250 EZ an Lager sein, sonst holt der TS dort nichts.
... Und fliegt doch wieder zu einer Volkerfabrik oder einem Dock.
Mehr Waits
Ich habe gegenüber der Vorgängerversion wieder mehr Wartebefehle ins Script gebaut. Andernfalls zieht das Script zuviel CPU-Leistung an sich und der Spieler hat dadurch Verzögerungen bei der Tastatureingabe.
So, das war's erstmal zum Waren-Einkauf... Testet mal, ob das auch alles so geht
Für die Verkaufsfunktion mache ich jetzt hier drunter ein zweites Topic auf.