[SCR] [X3:TC/AP] [v1.8.9.8] [16.11.2019] MK3 Optimierung Reloaded

Hier ist der ideale Ort um über Scripts und Mods für X³: Terran Conflict und X³: Albion Prelude zu diskutieren.

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

Post Reply
Ghostrider[FVP]
Posts: 3141
Joined: Wed, 6. Nov 02, 21:31
x3ap

Post by Ghostrider[FVP] » Sun, 17. Feb 13, 03:21

gnasirator wrote:ne du verstehst das falsch:

es funktioniert alles zu 100%. nur für die bastler unter euch, die lieber einen fernseher zerlegen um zu wissen, was drinnen ist und ihn dann nicht wieder zusammengesetzt kriegen, für die hab ich die möglichkeit im script eingebaut, etwas hinter die kulissen zu schauen und sich anzeigen zu lassen, wann dieser neue ecoboost modus aktiv ist.

mehr nicht :)
Ah.. :idea: okay.. es ist nur visuell, gut dankeschön jetzt hab ich das auch begriffen :)
Föderation Vereinter Planeten -=)FVP(=-
Since 1998... join the future! X4-The Sonen
Image

gnasirator
Posts: 1111
Joined: Mon, 13. Dec 04, 17:15
x3tc

Post by gnasirator » Thu, 28. Feb 13, 08:52

So also bitte alle fleißig testen und gebt mir mal bitte etwas feedback, wie sich der eco helper modus so macht und wo man noch ansetzen kann.

Da gibts bestimmt noch einiges zu optimieren!

edit:
neuer release. changelog:

Code: Select all

Version 1.8.9.6
	- [CHANGE]	Traders now check illegal wares for every trade run, allowing them to trade in otherwise illegal wares as long as they stay inside areas, where tey are legal.
	- [CHANGE]	Salary is now calculated as 20% of average lifetime profits / total flights. This balances small vs big and slow vs fast trader ship types.
	- [CHANGE]	Adjusted amount of launched fight drones mk1.
	- [NEW]		Added two more eco help modes. Mode 1 is used very rarely and makes sure that stalled factories get back on track. This mode ignores profits and can even make a net loss. Mode 2 supplys a single resource to a 
				factory in need even if profits are very low. Mode 3 delivers factories that require more than one resource to start production and makes sure profits are fine. This is the most frequent mode.
	- [FIX]		Removed delivery service bug in XRM. Chose proper ship types so that all deliveries are now received.
	- [CHANGE]	Added a small hint to cargo bay manager.
	- [CHANGE]	Decreased levelling speed for lower experience levels.
	- [FIX]		Fixed trade overview support for delivered wares and bought ship hardware.
	- [CHANGE]	Jump drive costs are now taken into experience calculation. This does set back levelling speed at lvl 12 but the money is quickly earned back.

edit: hotfix: Lieferschiffe gehören nicht mehr dem Spieler. Das war nur eine Debugseinstellung, die in den Release gerutscht war.

User avatar
Joda
Posts: 217
Joined: Mon, 19. Jan 04, 00:44
x3tc

Post by Joda » Fri, 19. Apr 13, 09:21

Mal ne Frage zu deinem Liefersevice:
kann man den auch für andere PRIVATE scripte zweckentfremden oder ist der speciell auf dein script zugeschnitten und somit für andere unbrauchbar?

gnasirator
Posts: 1111
Joined: Mon, 13. Dec 04, 17:15
x3tc

Post by gnasirator » Fri, 19. Apr 13, 18:21

hey, jetzt im moment kann man den nicht für was anderes benutzen, da der lieferdienst checkt, ob der pilot sich die sachen auch leisten kann.

ich kann dir aber gern eine version zusammenklicken, die allgemein funktioniert. sozusagen als lib.delivery.

dauert aber noch ein paar tage. bin grad im urlaub :)

oder du schaust dir einfach selber kurz mal den code in plugin.autotrade.delivery und delivery.go an, wenns eilig ist. dürfte nicht so schwer sein, die stellen zu entfernen, die da blockieren.

User avatar
Joda
Posts: 217
Joined: Mon, 19. Jan 04, 00:44
x3tc

Post by Joda » Sat, 20. Apr 13, 12:03

das mit dem leisten is ja ok
hab da aber ein paar zeilen gefunden die checken welches level der unihändler hat. kann ich die problemlos löschen? und bei der schiffserzeugung des lieferservice gibt es da ein paar leere zeilen ( wegen xtm? )
auch das mit dem ware spawn is ziemlich umfangreich, da wird das einarbeiten dauern :)

wegen nicht so schwer da was zu ändern - das kann der autor leicht sagen :D

gnasirator
Posts: 1111
Joined: Mon, 13. Dec 04, 17:15
x3tc

Post by gnasirator » Thu, 25. Apr 13, 08:48

ja gut, hast recht. wobei ich den code ja auch nur immer wieder angepasst und verändert habe. das ursprüngliche konzept des lieferservice kommt nicht von mir :)

aber ich schaue dann morgen oder übermorgen mal. die zeilen mit dem levelcheck kannst du löschen. auch die zeilen, die gucken, ob $Gained > update.price oder so ist.

das sind die beiden einzigen stellen, soweit ich das jetzt ausm kopf weiß. eventuell ist beim ware spawn noch mal so ein check.

Zur not, nimmt den lieferservice vom galaxy explorer. der müsste allgemein funktionieren. nur ist der nicht auf dem aktuellen stand und dürfte entsprechend noch probleme mit XRM haben, oder auch nicht so optimiert ablaufen.


----------


http://code.google.com/p/x3tcscripts/do ... livery.rar

versuch mal, obs klappt. war jetzt nur zu faul, dafür noch ne eigene t-file zu erstellen. musst also improved Mk3 script installiert haben, sonst kriegst textfehler.

User avatar
Joda
Posts: 217
Joined: Mon, 19. Jan 04, 00:44
x3tc

Post by Joda » Thu, 25. Apr 13, 10:23

danke 1A :)
werds mal probieren


--------------

Hat super funktioniert! jetzt werd ich es noch ein klein wenig ändern, damit sich die schiffe auch im All treffen können.
Danke


------
Edit
1. für was ist eigentlich das script 'a.breakpoint' ?? hab das nicht!
2. der scriptbefehl 'if does script exist' wird von TC nicht erkannt im SE,
was passiert denn dann mit den zeilen darunter? hab die stellen mal gelöscht! war was mit bind signal sellware und buyware ( die scripte hatte ich auch nicht )

gnasirator
Posts: 1111
Joined: Mon, 13. Dec 04, 17:15
x3tc

Post by gnasirator » Thu, 9. May 13, 00:28

Der Teil mit If does script exist checkt, ob die Handelsübersicht installiert ist und sendet dieser entsprechende daten. Kannst getrost löschen, wenn du die nicht benutzt.

a.breakpoint setzt einen breakpoint. Im prinzip ein langer wait mit benachrichtigung, der einem die gelegenheit gibt, das Debugging auf 'Trace' zu stellen und ab dem aktuellen Stand des Skripts einzusteigen und die Variablen zu checken.
Ein Breakpoint halt :)

Das braucht man nicht zum ausführen, darum liefere ich das nicht mit.
Aber wenn du es haben möchtest, hab ich hier mal meine bisher angesammelten Tools reingepackt:
http://code.google.com/p/x3tcscripts/do ... =tools.rar

User avatar
Joda
Posts: 217
Joined: Mon, 19. Jan 04, 00:44
x3tc

Post by Joda » Fri, 10. May 13, 10:01

Danke
Funktioniert soweit alles tadellos! Selbst im All treffen sie sich jetzt!
Deine Toolsammlung schaue ich mir trotzdem mal an.



PS:
Ich hab da evtl einen Fehler in deinem Script gefunden?!
Du checkst zwar im Haupscript ob der Player die benötigten Finanziellen Mittel inkl. der 25% hat, aber berechnen tust du sie nirgends!
Bei spawn ware wird der Preis abgezogen und auch im 2. Script wird die Sprungenergie schön brav berechnet, nur eben die Ware nicht!
Hatte erst gedacht das funktionert über

Code: Select all

[THIS] ->send signal SIGNAL_SELWARE : arg1=$target, arg2=$ware, arg3=$amount, arg4=$ware.price
aber ich hab das in nem Testscript geprüft und es hatte keine Funktion!
Erstattet wird der Betrag aber bei zerstörung des Schiffes!

Testscript:

Code: Select all

$this = get player tracking aim

$this->send signal {SIGNAL_SELWARE} : arg1=[PLAYERSHIP], arg2={Energiezellen}, arg3=10000, arg4=16

= wait randomly from 59500 to 60000 ms

[PLAYERSHIP]->send signal {SIGNAL_SELWARE} : arg1=$this, arg2={Energiezellen}, arg3=10000, arg4=16

Hab in meiner Version eine abrechnung über das Playerkonto eingefügt :)

UUUUUUUUUnd
im 2. Script

Code: Select all

if not $target AND $meetingpoint AND $ware AND $amount
  goto label suicide
end
sollte besser so aussehen

Code: Select all

if not $target OR $meetingpoint OR $ware OR $amount
  goto label suicide
end
du zerstörst nur wenn alle Bedingungen erfüllt sind, aber wenn z.B. das Ziel also $target nicht exist. sollte das script ebenfalls abbrechen, genau wie bei den anderen Bedingungen auch!?


Irren ist menschlich, desshab korregier mich bitte!

gnasirator
Posts: 1111
Joined: Mon, 13. Dec 04, 17:15
x3tc

Post by gnasirator » Mon, 13. May 13, 13:11

puh, so aus dem stehgreif kann ich dir auf das alles keine antwort geben. da muss ich mich in einer ruhigen minute mal hinsetzen und das alles live angucken.

dann sage ich dir bescheid, was ich rausgefunden habe :)

User avatar
ubuntufreakdragon
Posts: 4385
Joined: Thu, 23. Jun 11, 14:57
x4

Post by ubuntufreakdragon » Mon, 13. May 13, 13:28

Code: Select all

if not $target AND $meetingpoint AND $ware AND $amount 
müsste richtig sein, ihr müsst euch einfach die impliziten Klammern einmal vorstellen.

Code: Select all

if not ( $target AND $meetingpoint AND $ware AND $amount ) 
Zu Deutsch, wenn nicht grade alles in bester Ordnung ist, also das Ziel die Ware und die Menge existieren, begeh selbstmord, Weichei! :lol:
My X3 Mods

XRebirth, things left to patch:
In General; On Firing NPC's; In De Vries; Out Of Zone; And the Antiwishlist

User avatar
Earl666
Posts: 197
Joined: Thu, 18. May 06, 18:32
x3ap

Post by Earl666 » Mon, 13. May 13, 14:32

ubuntufreakdragon wrote:

Code: Select all

if NOT ( $target AND $meetingpoint AND $ware AND $amount ) 
ist das gleiche wie

Code: Select all

if ($target OR $meetingpoint OR $ware OR $amount ) 
wohingegen weder

Code: Select all

if NOT $target AND $meetingpoint AND $ware AND $amount
  goto label suicide
end 
noch

Code: Select all

if NOT $target OR $meetingpoint OR $ware OR $amount
  goto label suicide
end 
wie gedacht funktionieren, da das NOT jeweils nur auf das $target angewendet wird. Die Klammern sind in diesem Fall notwendig.

Gruß Dieter
Wer eine Frage stellt, bleibt ein Narr für 5 Minuten! - Wer keine Frage stellt, bleibt ein Narr fürs Leben!

Mach Dir keine Sorgen... Zumindest solange sie keine Tiere paarweise nach Cape Canaveral treiben!

User avatar
ubuntufreakdragon
Posts: 4385
Joined: Thu, 23. Jun 11, 14:57
x4

Post by ubuntufreakdragon » Mon, 13. May 13, 15:40

Ich denke eher das das if not eine Funktion darstellt, wie es auch einfacher zu implementieren ist, alles nach if not wären dann die Argumente

Code: Select all

bool script_if_not(arg1, arg2 ...)
, nur weil die Klammern da nicht sehen können sie implizit doch da sein, am sichersten wäre wohl

Code: Select all

if NOT ( $target AND $meetingpoint AND $ware AND $amount ) 
da doppelte Klammern nix ausmachen und sie auf jedenfall nicht fehlen.
My X3 Mods

XRebirth, things left to patch:
In General; On Firing NPC's; In De Vries; Out Of Zone; And the Antiwishlist

gnasirator
Posts: 1111
Joined: Mon, 13. Dec 04, 17:15
x3tc

Post by gnasirator » Mon, 13. May 13, 15:43

ich erinnere mich jedenfalls noch daran, dass ich da auch viel drüber nachgedacht habe.

ich werds mal auf die version mit klammern umändern!

achja und

Code: Select all

[THIS] ->send signal SIGNAL_SELWARE : arg1=$target, arg2=$ware, arg3=$amount, arg4=$ware.price
ist nur für die unterstützung der Handelsübersicht mit drin.

ich check das auf jeden fall nochmal, ob das geld für die ware abgezogen wird und wo. wenns noch fehlt, bau ichs mit ein!

pegarius
Posts: 69
Joined: Wed, 5. Nov 08, 20:55
x3ap

Post by pegarius » Sun, 2. Jun 13, 17:36

Hey, wie kann ich den Mod "deinstallieren", also korrekt die Scripts deaktivieren, damit ich den Mod löschen kann und mein Savegame weiter verwenden kann?

PS: Geht nur um Fehlersuche ;)
Alle Angaben ohne Gewähr ;)

Post Reply

Return to “X³: Terran Conflict / Albion Prelude - Scripts und Modding”