[Script][V3.01][Übersetzung] Mineralienschürfer

Hier ist der ideale Ort um über Scripts und Mods für X³: Reunion zu diskutieren.

Moderators: Scripting / Modding Moderators, Moderatoren für Deutsches X-Forum

opastest
Posts: 21
Joined: Sun, 11. Mar 07, 15:50

Post by opastest »

"opastest" ist wirklich ein bescheuerter alias, ich hab's aber nicht geschafft deinen neuen Account ohne neue Mail-Addresse zu kriegen.


@narvis
Da nun Lucike die Idee wohl auch ganz gut findet, besteht ja eine gute Chance das es bald eine neue Version gibt, die einen manuellen "Hack" überflüssig macht.
Trotzdem beschreibe ich dir noch kurz, wie ich es gemacht habe - man hat's ja eilig, der Cash-Flow darf nicht zum Stillstand kommen :!:
Ich benutze nur den Schürfer, mit einem Mineralienlaser ausgestattet zerlegt er genug Asteroiden für mehrere zusätliche Schürfer=Sammler ohne Laser. Ob der Sprengmeister die Scripten ebenfalls nutzt (checkmineraldemand) weiss ich (noch) nicht. Wie bereits erwähnt, es geht nur um eine privaten Hack, nicht darum Bunny und Lucike die Arbeit abzunehmen :P


1) Das ist ein "Quick and dirty" Hack!!! - es "tut" halt für meine Bedürfnisse, das Ziel war nicht eine neue Version zu erstellen.
- Es ist nicht ordentlich integriert,
- Nividium wird nicht berücksichtigt
- Der Name des Schiffs muss "-S-" oder "-E-" enthalten.
- Hmm, der Editor hier verschluckt die Leerzeichen, die Einrückungen sind weg :(

Der Hack beinflusst die bestehenden Funktionen glücklicherweise nicht, da diese ja recht nützlich sind. Je nach Anwendungsfall/Bedarf... ohne "-S-" oder "-E-" werden die bestehenden Funktionen genutzt.

Leider hat das Netzteil meines Rechners gestern das zeitliche gesegnet, deshalb kann ich die Dateien nicht für den Download bereitstellen.

Also, für den Trader (ohne Homebase) muss
plugin.bms.checkmineraldemand geändert werden.
Das rote ist meine Änderung.


005 $NeedOre = 0
006 $NeedSilicon = 0
007
008 skip if $WorkSector -> exists
009 return null
010

011 $ShipName = [THIS] -> get name
012 if $ShipName != null
013 $Pos = find position of pattern '-S-' in $ShipName
014 skip if $Pos < 0
015 return 2
016 $Pos = find position of pattern '-E-' in $ShipName
017 skip if $Pos < 0
018 return 1
019 end


Soll er eine Homebase Versorgen, muss noch plugin.bms.mainscript modifiziert werden.
(Das ist aus dem Gedächtnis, die Datei ist nicht auf meinem USB-Stick, sondern auf dem defekten Rechner - also keine Garantie das es funktioniert!)
Damit kann man selbst bestimmen, welche Ware er anliefern soll, falls der Komplex Silicon und Erz verwendet. Normalerweise bestimmt der Schürfer die Ware selbst anhand des Bedarfs des Komplexes, was dazu führt das 3 Schürfer 3 mal Erz anliefern. So kann man es selber bestimmen.
Eigentlich sollte man $UsesOre = FALSE setzen wenn er Silizium abbauen soll, aber es geht auch so, und der Ingame-Editor ist ja nun nicht sooo Bedienerfreundlich.

508 if $UsesOre OR $UsesSilicon OR $UsesNividium
509 if $DemandSilicon <= $DemandOre
510 $WorkResource = Erz
511 else
512 $WorkResource = Siliziumscheiben
513 end
514 end
515 if $UsesNividium AND ! $UsesOre AND ! $UsesSilicon
516 $WorkResource = $RealNividium
517 end
518

$ShipName = [THIS] -> get name
if $ShipName != null
$Pos = find position of pattern '-S-' in $ShipName
if $Pos >= 0
$UsesSilicon = [TRUE]
$DemandSilicon = 1
$WorkResource = Siliziumscheiben
end
$Pos = find position of pattern '-E-' in $ShipName
if $Pos >= 0
$UsesOre = [TRUE]
$DemandOre = 1
$WorkResource = Erz
end
end

519 else
520 $IsTrader = [TRUE]
521 end
522
523 skip if $UsesOre OR $UsesSilicon OR $UsesNividium
524 $IsTrader = [TRUE]
User avatar
Lucike
Posts: 12969
Joined: Sun, 9. May 04, 21:26
x4

Post by Lucike »

@opastest

Ja, so ähnlich ... ;)
Da nun Lucike die Idee wohl auch ganz gut findet,
Ja? Wer? Ich? :)

Von mir aus ...

Bunny ist wohl schon dabei.

Gruß
Lucike
Image
Bunny
Posts: 2014
Joined: Mon, 1. Dec 03, 19:44
x3ap

Post by Bunny »

Diese Lösung ist schön sehr gut :) .

Diese Name Idee ist auch ein gutes erweiterung für die Sprengmeister :thumb_up: .

@Lucike - Andere punkt - Es gibt ein klein Problem mit der Schürfer wann mann hat mehr als 15 diesem Schiffe in einen Sektor. Die Schiffe nicht so effektiv Schürfern. Ich testen es jetzt.
(Ich denke das viellicht die Sprengmeister verfolgt die Schürfer zu nah und ein klein gruppe bildet sich...Non-linear Dynamic Systems sind immer spass :) )

(Für die letzt drei wochen Ich habe nur das Spiel gespielt.)
User avatar
Lucike
Posts: 12969
Joined: Sun, 9. May 04, 21:26
x4

Post by Lucike »

Alt - plugin.bms.mainscript.xml

Code: Select all

477      $ShipName = [HOMEBASE] -> get name
478      $ResourceName =  read text: page=17 id=2023
479      $Uses =  find position of pattern $ResourceName in $ShipName
480      if $Uses >= 0
481       $DemandOre = 100
482       $DemandSilicon = 0
483      end
484      $ResourceName =  read text: page=35 id=1102539
485      $Uses =  find position of pattern $ResourceName in $ShipName
486      if $Uses >= 0
487       $DemandOre = 0
488       $DemandSilicon = 100
489      end
Neu - plugin.bms.mainscript.xml - Ab Zeile 496 nach dem Löschen von 477 bis 489

Code: Select all

496    $StationName = [HOMEBASE] -> get name
497    $ResourceName =  read text: page=17 id=2023
498    $Uses =  find position of pattern $ResourceName in $ShipName
499    if $Uses >= 0
500     $DemandOre = 100
501     $DemandSilicon = 0
502    end
503    $ResourceName =  read text: page=35 id=1102539
504    $Uses =  find position of pattern $ResourceName in $ShipName
505    if $Uses >= 0
506     $DemandOre = 0
507     $DemandSilicon = 100
508    end
509    
510    $ShipName = [THIS] -> get name
511    $ResourceName =  read text: page=17 id=2023
512    $Uses =  find position of pattern $ResourceName in $ShipName
513    if $Uses >= 0
514     $DemandOre = 100
515     $DemandSilicon = 0
516    end
517    $ResourceName =  read text: page=35 id=1102539
518    $Uses =  find position of pattern $ResourceName in $ShipName
519    if $Uses >= 0
520     $DemandOre = 0
521     $DemandSilicon = 100
522    end
Image
opastest
Posts: 21
Joined: Sun, 11. Mar 07, 15:50

Post by opastest »

Jepp, that's how it looks like if you do it in the right way.

Nearly... :wink:
Because it won't do what you achieved.

Take a look at line
498 $Uses = find position of pattern $ResourceName in $ShipName
wieso eigentlich Englisch ??
Ok, es sollte wohl
498 $Uses = find position of pattern $ResourceName in
$StationName
heissen.
Ebenso in Zeile 594.

#!@x%\ Copy and Paste Bugs :P

Danke für deine Mühe !
User avatar
Lucike
Posts: 12969
Joined: Sun, 9. May 04, 21:26
x4

Post by Lucike »

opastest wrote:#!@x%\ Copy and Paste Bugs :P
Bäh :p
Bunny wrote:@Lucike - Andere punkt - Es gibt ein klein Problem mit der Schürfer wann mann hat mehr als 15 diesem Schiffe in einen Sektor. Die Schiffe nicht so effektiv Schürfern. Ich testen es jetzt.
Bau zum Test mehrere Sats.

SAT <-10km-> SAT <-10km-> SAT <-10km-> SAT

Vielleicht im Stern um ein Minenfeld. Die Schürfer suchen sich doch einen Sat per Zufall im Arbeitssektor als Hauptschürfstelle aus.

Gruß
Lucike

Test:

http://www.lucike.info/x3_reunion/work/ ... script.zip

Entpacken und in den Skriptordner kopieren. Danach das Spiel neu starten.
Image
Bunny
Posts: 2014
Joined: Mon, 1. Dec 03, 19:44
x3ap

Post by Bunny »

Ya, mehr Sats hilft. Ich denke ein paar mehr Sprengmeister Schiffe sind auch notwendig in meine spiel.

Schiffe bewaffnet mit "Mobile drilling rigs" sind immer noch nicht so gut wie einen M3 Sprengmeister OOS.

Auch, es ist ein bisschen schwere ausreichent Erz für ein komplex zu Schürfen (als in vergleich mit Silizium).
(Oder "Home of light" hat wirklich miese Erz ausbeute pro Brocke. :gruebel: )

Das ist was ich mit der Schürfer Skript immer toll finde. Mann kann einfach eine paar Schiffe ins Sektor werfen und es wird functionieren. Aber für maximal Leistung, mann musst planen.

Wie mit alles in diese Spiel, Dinge geht besser wann mann ein gute Plan hat :D.
Bunny
Posts: 2014
Joined: Mon, 1. Dec 03, 19:44
x3ap

Post by Bunny »

Don't Panic...Probleme gefunden

Ich habe Änderungen in die folgendes Datei gemacht:
447000.xml
plugin.bar.checksats
plugin.bar.mainscript
plugin.bar.selectrock
plugin.bms.mainscript
lib.by.randommove

ACHTUNG - Der Deutsche Sprache T File 447000.xml ist nocht nicht updated. Ich brache jemand dass kann die neue Nachrichten rein schreiben.

Download here:
http://www.bigupload.com/d=170D889B
http://www.sendmefile.com/00538299

Sprengmeister fix: Es wird jetzt Yield 0 Brochen angriffen
Nun, FindDebris hat Yield 0. Das heisst ein Sprengmeister Schiff werden Yield 0 Brocken zerstoeren
(das Schiff wird diese art Brocken zerstoren auch wann es in zerkleinern modus lauft).

T file Nachricht Fehler Korrektur
Probleme mit Englisch Sprache Datei Sprengmeister Meldungen 102,103 und 105 war repariert.

Schwer Fehler mit lib.by.randommove repariert
Der code war gebrochen. Das bedeutet zufallbewegungen war nicht richtig gemacht. Entweder das Schiff macht ein relative Bewegung von 0 m oder es direkt nach Sektor Zentrum fliegt.
Es hat zwei wirkungen:
1. Wann der Sprenmeister keine Brocken findet dann normaleweise er wird eine "Grosse Flaeche Suche" start starten. Aber das Schiff war einfach stehengeblieben und schicht viel Suche Meldungen (Jemand hat schon diese Problem berichtet).
2. Die Schuerfer Schiffer bildet eine Gruppe.
Die Datei war neu geschrieben und getestet.

Schuerfer fix: Suche Code Korrektur
Es war ein fehler in plugin.bms.mainscript das ein erheblich negativ Einfluss auf Sammelnleistung hat - der 32768 flag war nicht drin.

Code: Select all

216 Flags = [FindNearest] | FindMultiple | 32768
Die Egosoft Befehl "Collect Rocks in Sector" (!ship.cmd.collectrocks.std) verwendet diese Flag um nur Sammelbar Brocken zu finden. Ohne Flag 32768 ist das Schiff ein bisschen blind und braucht ungafahr 2-3 fach langer um ein voll Mineral last zu sammel. Das erklaert warum die Schiffe ein bisschen langsam arbeitet.


Schuerfer Code modification
Jetzt die Schiffname wird bestimmt welche Mineralien das "Free Trader" Schuerfer sammeln werden.

Code: Select all

568	$ShipName = [THIS]->getname
569	%ResourceName = read text: page=17 id=2023
570	%Uses = find position of pattern $ResourceName
571	if $Uses >= 0
572		$UsesOre = [TRUE]
573		$UsesSilicon = [FALSE]
574		$WorkResource = Ore
575	end
576
577	%ResourceName = read text: page=35 id=1102539
578	%Uses = find position of pattern $ResourceName	
579	if $Uses >= 0
580		$UsesSilicon = [TRUE]
581		$UsesOre = [FALSE]
582		$WorkResource = Silicon Wafers
583	end

Sprengmeister fix: Scanner Reichweite war grenzenlos
Range variabel war null (Suche Code ohne Satelliten), jetzt es ist richtig

Busy night

Cheers

Bunny

(Ich mache jetzt weiter mit Weapons Changer)
User avatar
SymTec ltd.
Posts: 5285
Joined: Mon, 11. Apr 05, 21:11
x3tc

Post by SymTec ltd. »

Thanks, Bunny :) :thumb_up:
User avatar
JoJaCorp
Posts: 238
Joined: Wed, 14. Feb 07, 18:23

Post by JoJaCorp »

Hallo,

kann die Anleitung von X3 Plus nicht im Windows Startordner finden.
Wo sind die Anleitungen für X3plus?

Nach der Installation von X3plus findest Du die Anleitung im Windows Startmenü unter X3plus.
Kann mir jemand sagen, wo ich die Anleitung noch finden kann?
Hab schon alles erfolglos abgesucht.

Gruß
JoJa
User avatar
Metal_Hammer
Posts: 669
Joined: Fri, 24. Nov 06, 22:14
x3tc

Post by Metal_Hammer »

moinsen
ich hab noch ne verbesserungsidee:
es gibt ja leider das problem dass der schürfer ansich sehr langsam sammelt (OOS finde ich ihn auch nicht wirklcih schneller...) daher wäre es doch eine idee dass wenn der schürfer mit einem tansporter ausgestattet wird sich nur neben die kleinastros stellt und dass diese dann in den frachrraum gebeamt werden...


Mfg Metal_Hammer
Man kann alles schreiben, was man denkt, nur muss man es so formulieren, dass keiner weiß, was man eigentlich meint.
***modified*** und stolz drauf!
***Alle meine Megakomplexe ordentlich ohne den FCC gebaut*** und stolz drauf!
User avatar
SymTec ltd.
Posts: 5285
Joined: Mon, 11. Apr 05, 21:11
x3tc

Post by SymTec ltd. »

Das ist nicht so einfach: Diese Kleinasteroiden sind nicht als einzelne Objekte gelistet und können daher nicht mit dem Frachttransporter erfasst werden.

Und ein bisschen Schwierigkeit muss ja schon dabei bleiben, nech? ;)


Übrigens: User ab lvl3 können im "Script Testing"-Forum dieses Script einem wirklichen Betatest unterziehen. :thumb_up: :D
Akatash
Posts: 154
Joined: Wed, 9. Mar 05, 14:05
x2

Post by Akatash »

:o ich seh schon, hier wird gerade gearbeitet...

Mal eine ganz Bescheidene Frage: Könnt ihr den Schürfer/ Sprengmeister in der aktuellen Version (gerne auch als Beta) einzeln zum Download anbieten.

Das "+" Pak ist ja wohl nicht mehr so ganz aktuell zur Zeit (oder)?

Greetings

Aka
User avatar
SymTec ltd.
Posts: 5285
Joined: Mon, 11. Apr 05, 21:11
x3tc

Post by SymTec ltd. »

Wie gesagt, eine Betaversion steht lvl3-Usern bereits zum Test bereit. Von aktuelleren Versionen habe ich momentan keine Kenntnis. :roll:
Akatash
Posts: 154
Joined: Wed, 9. Mar 05, 14:05
x2

Post by Akatash »

Öh, und was ist ein "Lev3" User?
User avatar
SymTec ltd.
Posts: 5285
Joined: Mon, 11. Apr 05, 21:11
x3tc

Post by SymTec ltd. »

Akatash wrote:Öh, und was ist ein "Lev3" User?
FAQ:

Was ist das DevNet?
Was ist lvl3?
blubbla
Posts: 269
Joined: Fri, 19. Aug 05, 21:31
x3tc

Post by blubbla »

irgendwie will mein schürfer nicht so, wie ich es will. alles so gemacht wie es auf der ersten seite steht und dennoch klappt nix... :(

wenn ich im selben sektor bin, macht mein schürfer eine große rundreise ohne rohstoffe aufzusammeln. bin ich in einem anderen sektor, zuckt der schürfer einfach nur rum.

das ergebnis ist in beiden fällen gleich: es werden keine rohstoffe abgebaut.

hat wer nen tip oder rat?
User avatar
SymTec ltd.
Posts: 5285
Joined: Mon, 11. Apr 05, 21:11
x3tc

Post by SymTec ltd. »

Du hast einen Satelliten im Sektor, und es gibt in Reichweite dieses Satelliten genug kleine Brocken? Dein Schürfer hat passende Waffen installiert? Du hast die aktuellste Version?

Wenn das alles zutrifft, scheinst du wohl ein Problem zu haben. :D Momentan wird das Script auf eine Signierung vorbereitet und auch nur in die Richtung weiter entwickelt. Daher gibt es für DevNet-lvl3-Mitglieder die Möglichkeit, Fehler am Script festzustellen und zu melden. Wenn du dich in deinem [url=http://forum.egosoft.com/profile.php?mode=editprofile][b]Fo[/b]rum[b]Pr[/b]ofile[/url] als lvl3-User registrierst und die aktuelle signierfähige Version herunterlädst und noch einmal auf das Problem testest, kannst du dort auch deinen Fehlerreport einbringen.
schliebo82
Posts: 462
Joined: Mon, 7. Jan 08, 12:44
x4

Post by schliebo82 »

moin Leute,

hab da mal ne Frage:

Und zwar, ist es ja so, dass die Kampfdrohnen im Script MARS Feuerleitcomputer die Fracht, die frei im Weltraum herum schwirrt, automatisch einsammel können. Wäre so etwas auch realisierbar für die Kleinasteroiden, die dann auch im Frachtraum landen würden??

MfG Schliebo82 :wink:
"Der Weltraum! Unendliche Weiten..."

X3-R [Tutorial] Texturen von Schiffen verändern; X3-R [Tutorial] Selbst installierte Schiffe für KI verfügbar machen

X3 ***modified*** und stolz drauf!
X4 ***unmodified*** und trotzdem glücklich :D

Return to “X³: Reunion - Scripts und Modding”