[SCR] [v1.7.3] [27.04.2012] MK3 Optimierung Reloaded
Moderators: Scripting / Modding Moderators, Moderatoren für Deutsches X-Forum
-
- Posts: 328
- Joined: Sat, 28. Feb 04, 19:25
Referenz Objekt (?), also das Objekt, von dem aus die Suche gestartet werden soll und das ist der Händler selbst, also [THIS].
Das hat einen Einfluß auf die Flags [Find.Enemy] usw, denn ein Script an sich hat ja keine Feinde, oder Freunde.
Bei 'refpos' kannst Du noch ein Positionsarray des Objektes angeben, ist aber nur nötig, wenn 'refobj' nicht angegeben wurde und Rasse/freund/feind egal ist, also nur die Distanz von einer Sektor Position zum Ziel eine Rolle spielt.
Wer in einem Script Schiffe oder Stationen sucht, sollte mit den Einstellungen/Flags etwas experimentieren. Denn dadurch läßt sich eine Menge an Scriptcode einsparen!
Das hat einen Einfluß auf die Flags [Find.Enemy] usw, denn ein Script an sich hat ja keine Feinde, oder Freunde.
Bei 'refpos' kannst Du noch ein Positionsarray des Objektes angeben, ist aber nur nötig, wenn 'refobj' nicht angegeben wurde und Rasse/freund/feind egal ist, also nur die Distanz von einer Sektor Position zum Ziel eine Rolle spielt.
Wer in einem Script Schiffe oder Stationen sucht, sollte mit den Einstellungen/Flags etwas experimentieren. Denn dadurch läßt sich eine Menge an Scriptcode einsparen!
Gruß,
Michael
Michael
-
- Posts: 2064
- Joined: Wed, 18. Jan 06, 18:40
-
- Posts: 12969
- Joined: Sun, 9. May 04, 21:26
Das geht noch kürzer, aber Du wächst.gnasirator wrote:Code: Select all
217 * Gnasirator-Edit 218 * Falls nicht in einer sicheren Station, fliege dorthin, anstelle hier zu warten. 219 $dockedClass = [DOCKEDAT] -> get object class 220 if ! [DOCKEDAT] OR ( $dockedClass != Trade Dock AND $dockedClass != Equipment Dock ) 221 $fuel.onboard = [THIS] -> get true amount of ware Energiezellen in cargo bay 222 $fuel.range = ( $fuel.onboard - $fuel.reserve ) / $Fuelforonesektor 223 skip if $fuel.range >= 0 224 $fuel.range = 0 225 226 $flags = [Find.Nearest] | [Find.Friend] | [Find.Neutral] 227 $safeStation = find station in galaxy: startsector=[SECTOR] class or type=Trade Dock race=null flags=$flags refobj=[THIS] serial=null max.jumps=$fuel.range 228 229 skip if $safeStation 230 $safeStation = find station in galaxy: startsector=[SECTOR] class or type=Equipment Dock race=null flags=$flags refobj=[THIS] serial=null max.jumps=$fuel.range 231 232 skip if $safeStation 233 goto label stay 234 235 [THIS] -> set command: COMMAND_DOCKAT target=$safeStation target2=null par1=null par2=null 236 [THIS] -> set destination to $safeStation 237 [THIS] -> set local variable: name='destination.lock' value=null 238 @ = [THIS] -> call script 'plugin.autotrade.jumptostation' : Targetstation=$safeStation 239 end 240 241 stay: 242 [THIS] -> set command: COMMAND_STAY target=[DOCKEDAT] target2=null par1=null par2=null 243 [THIS] -> set destination to null 244 [THIS] -> set local variable: name='destination.lock' value=null

Code: Select all
001 if not [ENVIRONMENT] -> is of class Dock
002 $Flags = [Find.Friend] | [Find.Neutral] | [Find.Nearest]
003 $Station = find station: sector=[SECTOR] class or type=Dock race=null flags=$Flags refobj=[THIS] maxdist=null maxnum=null refpos=null
004 if $Station -> exists
005 [THIS] -> set command: COMMAND_DOCKAT target=$Station target2=null par1=null par2=null
006 [THIS] -> set destination to $Station
007 @ = [THIS] -> call script '!move.movetostation' : station=$Station
008 end
009 end
010 return null
Gruß
Lucike

-
- Posts: 328
- Joined: Sat, 28. Feb 04, 19:25
Allerdings würde, bei deiner kurzen Version, der Händler auch im aktuellen Sektor bleiben, wenn es in diesem Sektor kein Dock gibt (Handelsstation, Ausrüstungsdock und Schiffswerft). Das könnte den Sinn dieser Modifikation Sinnlos werden lassen.Lucike wrote:Das geht noch kürzer, aber Du wächst.
Er sollte weningstens versuchen, auch in einem Nachbarsektor, einen sicheren Hafen zu finden.
Code: Select all
003 $Station = find station in galaxy: startsector=[SECTOR] class or type=Dock race=null flags=$Flags refobj=[THIS] serial=null max.jumps=1
Gruß,
Michael
Michael
-
- Posts: 1114
- Joined: Mon, 13. Dec 04, 16:15
die frage ist da doch, wie genau definiert sich die klasse "Dock" ?
sind das alle möglichkeiten, stationen, schiffe, an denen der händler andocken kann? dann wäre diese bedingung nämlich nicht korrekt.
er soll ja schließlich auch zu ner HS oder ner AS fliegen, wenn er z.b. in ner fabrik ist. eigentlich immer, wenn er nicht gerade schon da ist (auch im weltall!)
und ich dachte mir halt mal, dass ein universumhändler sich bei seiner suche nach einer sicheren station zum warten nicht von so lächerlichkeiten, wie einer reichweitenbegrenzung des programmierers ausbremsen lassen sollte
daher gab ich ihm die freiheit in jeder beliebigen reichweite zu suchen, solange sein spritvorrat das mitmacht.
und wegen dem zähler:
der flug zum dock dauert ja grob geschätzt ca. so lange, wie eine warteperiode. insofern habe ich es als ersatz angesehen. warum warten, wenn er was sinnvolles tun kann?
sobald er dann in seinem sicheren hafen ist, kann der händler warten, soviel er will. und er sollte doch besser direkt in sicherheit fliegen und dann weiter warten. die paar Credits für den sprit wird man eh nicht merken. dafür arbeiten die jungs zu gut und verdienen zu viel
also so direkt fällt mir dann jetz nix ein, was ich verkürzen könnte. AUßER, die sache mit der Klasse "Dock" ist anders, als ich vermutet habe.
klärt mich auf!
sind das alle möglichkeiten, stationen, schiffe, an denen der händler andocken kann? dann wäre diese bedingung nämlich nicht korrekt.
er soll ja schließlich auch zu ner HS oder ner AS fliegen, wenn er z.b. in ner fabrik ist. eigentlich immer, wenn er nicht gerade schon da ist (auch im weltall!)
und ich dachte mir halt mal, dass ein universumhändler sich bei seiner suche nach einer sicheren station zum warten nicht von so lächerlichkeiten, wie einer reichweitenbegrenzung des programmierers ausbremsen lassen sollte

daher gab ich ihm die freiheit in jeder beliebigen reichweite zu suchen, solange sein spritvorrat das mitmacht.
und wegen dem zähler:
der flug zum dock dauert ja grob geschätzt ca. so lange, wie eine warteperiode. insofern habe ich es als ersatz angesehen. warum warten, wenn er was sinnvolles tun kann?
sobald er dann in seinem sicheren hafen ist, kann der händler warten, soviel er will. und er sollte doch besser direkt in sicherheit fliegen und dann weiter warten. die paar Credits für den sprit wird man eh nicht merken. dafür arbeiten die jungs zu gut und verdienen zu viel

also so direkt fällt mir dann jetz nix ein, was ich verkürzen könnte. AUßER, die sache mit der Klasse "Dock" ist anders, als ich vermutet habe.
klärt mich auf!
Skripte:
-
- Posts: 12969
- Joined: Sun, 9. May 04, 21:26
@MichaRose
Der "Finde.Stations"-Befehl ist mir hierbei gar nicht wichtig gewesen, sondern eine weitere Zustammenstellung der Befehle.
@gnasirator
Dock = Handelsstationen, Ausrüstungsdocks und Piratenstationen. Auch die Spezialstationen, wie z.B. das Kommunikationszentrum.
Der Zähler war nur eine spielerische Idee meinerseits. Ich dachte mir warum muss der Händler sofort nach seinem Handelsgeschäft ein Dock anlaufen? Warum nicht erst nach dem 5 Durchlauf ohne Handelsmöglichkeit. Nur eine Idee. Nicht mehr und nicht weniger.
Gruß
Lucike
Der "Finde.Stations"-Befehl ist mir hierbei gar nicht wichtig gewesen, sondern eine weitere Zustammenstellung der Befehle.

@gnasirator
Dock = Handelsstationen, Ausrüstungsdocks und Piratenstationen. Auch die Spezialstationen, wie z.B. das Kommunikationszentrum.
Der Zähler war nur eine spielerische Idee meinerseits. Ich dachte mir warum muss der Händler sofort nach seinem Handelsgeschäft ein Dock anlaufen? Warum nicht erst nach dem 5 Durchlauf ohne Handelsmöglichkeit. Nur eine Idee. Nicht mehr und nicht weniger.

Gruß
Lucike

-
- Posts: 328
- Joined: Sat, 28. Feb 04, 19:25
NeNe, Dock ist ein Oberbegriff für Schiffswerften, Ausrüstungsdocks und Handelsstationen. Deswegen habe ich das in meinem letzten Post extra nochmal in Klammern geschrieben. Es wird dann eines von den dreien ausgewählt. Mit Andockplätzen von Stationen oder Schiffen hat das nichts zu tun!gnasirator wrote:die frage ist da doch, wie genau definiert sich die klasse "Dock" ?
sind das alle möglichkeiten, stationen, schiffe, an denen der händler andocken kann? dann wäre diese bedingung nämlich nicht korrekt.
Wird er auch mit Lucike´s Dockversion machen!gnasirator wrote:er soll ja schließlich auch zu ner HS oder ner AS fliegen, wenn er z.b. in ner fabrik ist. eigentlich immer, wenn er nicht gerade schon da ist (auch im weltall!)
Gruß,
Michael
Michael
-
- Posts: 328
- Joined: Sat, 28. Feb 04, 19:25
-
- Posts: 12969
- Joined: Sun, 9. May 04, 21:26
-
- Posts: 1114
- Joined: Mon, 13. Dec 04, 16:15
gut gut.
sprich ich kann das script auf Dock umbauen. kein problem
mir ist gestern abend vorm einschlafen eh noch ne idee gekommen. und zwar will ich die mitgeführte EZ-Tankkapazität an die laderaumgröße anpassen.
bisher fliegt ein händler nämlich immer mit reserven für bis zu 3 kompletten handelsflügen durch die gegend. das sind bei stufe 25 fast 1000 EZ. bei nem kleineren schiff ist das ne menge.
-> schiffe bis zu einer gesamt-laderaumgröße von 3500 Einheiten werden künftig nur noch reserven für einen kompletten flug mitführen (da sie ja eh quasi nie geschäfte auf maximalreichweite ausführen, reicht das ebenfalls noch dicke).
-> schiffe bis 7000 Einheiten werden 2 Runden Reserve haben (das sollte so bis max ~600 EZ gehen)
-> Schiffe darüber werden wie jetzt auch 3 Runden Reserve haben.
Irgendwo muss man ja protzen, wenn man sich schon so ein dickes schiff kauft
da ich gleich aber arbeiten muss, werde ich das erst heute nachmittag umsetzen.
genauso wie den eröffnungs-thread auf seite 1, welchen ich dann mal aufräumen werde.
sprich ich kann das script auf Dock umbauen. kein problem

mir ist gestern abend vorm einschlafen eh noch ne idee gekommen. und zwar will ich die mitgeführte EZ-Tankkapazität an die laderaumgröße anpassen.
bisher fliegt ein händler nämlich immer mit reserven für bis zu 3 kompletten handelsflügen durch die gegend. das sind bei stufe 25 fast 1000 EZ. bei nem kleineren schiff ist das ne menge.
-> schiffe bis zu einer gesamt-laderaumgröße von 3500 Einheiten werden künftig nur noch reserven für einen kompletten flug mitführen (da sie ja eh quasi nie geschäfte auf maximalreichweite ausführen, reicht das ebenfalls noch dicke).
-> schiffe bis 7000 Einheiten werden 2 Runden Reserve haben (das sollte so bis max ~600 EZ gehen)
-> Schiffe darüber werden wie jetzt auch 3 Runden Reserve haben.
Irgendwo muss man ja protzen, wenn man sich schon so ein dickes schiff kauft

da ich gleich aber arbeiten muss, werde ich das erst heute nachmittag umsetzen.
genauso wie den eröffnungs-thread auf seite 1, welchen ich dann mal aufräumen werde.
Skripte:
-
- Posts: 12969
- Joined: Sun, 9. May 04, 21:26
Die Idee ist gut, allerdings bitte nicht mehr so viele Änderungen. Wir liegen eng im Zeitplan. Jede Änderung muss ausgiebig getestet werden. Wollen wir erst mal eine "Deadline" festlegen? Wir würd' sagen der jetzige Stand ist Stand der Dinge. Nach dem Bonuspaket werden noch viele kleinere Updates und Upgrades folgen. Darunter natürlich auch noch deine Optimierungen.gnasirator wrote:da ich gleich aber arbeiten muss, werde ich das erst heute nachmittag umsetzen.
genauso wie den eröffnungs-thread auf seite 1, welchen ich dann mal aufräumen werde.
Gruß
Lucike

-
- Posts: 12969
- Joined: Sun, 9. May 04, 21:26
Mensch, was ein fleißiges Bienchen. 
Was wir jetzt noch brauchen ist eine klare Änderungsliste. Wie etwa:
- Sprungenergiehaushalt optimiert
- Längeres Warten ohne Handelsmöglichkeit jetzt in Docks (AD, HS, PS und SW)
- Kommandoanzeige überarbeitet
- usw...
Jetzt aber erst mal "hophop" zur Arbeit.
Gruß
Lucike

Was wir jetzt noch brauchen ist eine klare Änderungsliste. Wie etwa:
- Sprungenergiehaushalt optimiert
- Längeres Warten ohne Handelsmöglichkeit jetzt in Docks (AD, HS, PS und SW)
- Kommandoanzeige überarbeitet
- usw...
Jetzt aber erst mal "hophop" zur Arbeit.

Gruß
Lucike

-
- Posts: 2064
- Joined: Wed, 18. Jan 06, 18:40
-
- Posts: 1114
- Joined: Mon, 13. Dec 04, 16:15
jepjep ich weiß.
mein seite 1 post ist "etwas" unübersichtlich geworden
sobald ich - evtl. heute abend noch - die lust dazu finde, werde ich den mal aufräumen!
das problem ist: über die zeit hab ich eh einiges vergessen, was ich da so an details verändert habe.
habe zwar noch meine markierungen drin, die sind aber auch nachträglich erst eingefügt worden. hoffentlich überseh ich kein feature
edit: so das wars. den seite 1 post werde ich auch als readme dazu packen. dann ist alles komplett.
@lt. ford: könntest du deinen link noch einmal mit der jetzigen version 1.1 updaten? habe jetzt eine gescheite readme in die rar mit reingepackt.
außerdem kannst du als text jetzt meinen aktualisierten nehmen. damit sollte dann alles geklärt sein.
mein seite 1 post ist "etwas" unübersichtlich geworden

sobald ich - evtl. heute abend noch - die lust dazu finde, werde ich den mal aufräumen!
das problem ist: über die zeit hab ich eh einiges vergessen, was ich da so an details verändert habe.
habe zwar noch meine markierungen drin, die sind aber auch nachträglich erst eingefügt worden. hoffentlich überseh ich kein feature

edit: so das wars. den seite 1 post werde ich auch als readme dazu packen. dann ist alles komplett.
@lt. ford: könntest du deinen link noch einmal mit der jetzigen version 1.1 updaten? habe jetzt eine gescheite readme in die rar mit reingepackt.
außerdem kannst du als text jetzt meinen aktualisierten nehmen. damit sollte dann alles geklärt sein.
Skripte:
-
- Posts: 83
- Joined: Fri, 18. Aug 06, 21:36
-
- Posts: 328
- Joined: Sat, 28. Feb 04, 19:25