EnglishGermanFrenchRussianItalianSpanish
Log inRegister
 
Raumfliegen per Script/Mod entfernen
Post new topic Reply to topic Goto page Previous  1, 2, 3, 4  Next
View previous topic :: View next topic
Author Message
ubuntufreakdragon



MEDALMEDALMEDAL

Joined: 23 Jun 2011
Posts: 3837 on topic
Location: Das Randland des Wahnsinns!
Thank you for registering your game
PostPosted: Tue, 13. Feb 18, 23:06    Post subject: Reply with quote Print

schon find flying ware: sector=<Var/Sector> maintype=<Var/Number> subtype=<Var/Number> flags=<Var/Number> refobj=<Value> maxdist=<Var/Number> maxnum=<Var/Number>, refpos=<Var/Array> anstatt find ship probiert?


_________________
My X3 Mods

XRebirth, things left to patch:
In General; On Firing NPC's; In De Vries; Out Of Zone; And the Antiwishlist
Back to top
View user's profile Send private message
Aldebaran_Prime



MEDALMEDALMEDAL

Joined: 20 Feb 2010
Posts: 1009 on topic
Location: Düsseldorf, Altbiersektor
Thank you for registering your game
PostPosted: Tue, 13. Feb 18, 23:42    Post subject: Reply with quote Print

Da ich eher MD Scripte schreibe, habe ich mal etwas recherchiert und eine auch eine Lösung parat und diese getestet.

Bei mir waren vor dem Scriptaufruf ca 20.500 Spacefly-Scripte auf dem Stack.
Beim Aufruf hat das Script gemeldet, dass es 3.500 Spaceflys gekillt hat. Eine Kontrolle im Scripteditor hat ergeben, dass tatsächlich danach nur noch 17.000 Spacefly-Scripte auf dem Stack waren - scheint also zu funktionieren.
Das Script ist so geschrieben, dass es im MD manuell gestartet werden muss.
Zudem ist es aktuell auf die Entfernung von 3 Sprüngen begrenzt, weil es schon bei 9 Sprüngen ewig gebraucht hat.
Wenn man sein ganzes Universum bereinigen möchte, sollte man das Script noch etwas weiterentwickeln, so dass wirklich alle Sektoren erfasst werden. Ich weiß nicht, ob das Spiel vollständig abstürzt wenn man "99" einträgt, oder ob es einfach ewig dauert -so lange wollte ich jetzt nicht warten.

Code:
    <cue name="KillSpacefly">
        <condition>
           <check_all>
          <cue_completed cue="dummy"/>
        </check_all>   
      </condition>
      <action>
        <do_all>
 
           <find_object  class="spacefly" multiple="1" group="SpaceFlyGroup">
            <sector x="10" y="10"/>
            <jumps max="3"/>
          </find_object>

          <incoming_message author="Debug" text="Anzahl Raumfliegen zu löschen: {group.object.count@SpaceFlyGroup}"/>
                                     
          <destroy_group group="SpaceFlyGroup"/>
         </do_all>
      </action>
    </cue>


Ich bin gespannt ob das bei |K.O.S.H. auch funktioniert!?

P.S.: habe das Script gerade mal mehrfach laufen lassen und die jumps nach jedem durchlauf um 3 erhöht - am Ende dann auf 99 gesetzt. Dadurch konnte ich die Spacefly-Scripte bis auf 4.100 reduzieren.
Dann hat das MD-Script aber keine weiteren Spaceflys gefunden. Die 4.100 restlichen dümplen also irgendwo in einem abgetrennten Sektor herum, der nicht über "Jumps" ermittelt werden kann. Den Effekt hatte ich zuletzt mit Aldrin.
Gebracht hat das Killen der 16.000 Scripte auf dem Stack aber nur 2-3 FPS

Sorry - habe gerade gesehen, das JSDD das Gleiche schon ein paar Seiten vorher gepostet hat...


_________________
Back to top
View user's profile Send private message
|K.O.S.H.





Joined: 19 Dec 2003
Posts: 3082 on topic

Thank you for registering your game
PostPosted: Wed, 14. Feb 18, 09:25    Post subject: Reply with quote Print

@ ubuntufreakdragon: habe ich leider schon ausprobiert :/ Trotzdem danke!

@ Aldebaran_Prime: Ja, das wurde schon gepostet, aber ich Idiot habe es überlesen und noch nicht getestet...
Ich werde es einfach mal probieren.

Bei dir sieht es aber eher so aus, als ob du wirklich Raumfliegen in echten Sektoren hast. Die würdest du wohl auch mit einem Besucht und verlassen des jeweiligen Sektor wegbekommen (kannst du das bestätigen).
Die 4000 übrigen sind dann wohl dasselbe Problem, wie bei mir.
Das mit den abgetrennten Sektoren ist ein guter Hinweis.

bei mir hat Aldrin jedoch mehrere transorbitale Beschleuniger.

Naja, ich werde es testen, vlt hilft es ja Smile


_________________
Wing Commander Mod - German Topic
06.07.11 - v1.1 RELEASED!
Back to top
View user's profile Send private message
|K.O.S.H.





Joined: 19 Dec 2003
Posts: 3082 on topic

Thank you for registering your game
PostPosted: Wed, 14. Feb 18, 17:56    Post subject: Reply with quote Print

hat nicht geklappt, auch nicht mit 100 jumps.. :/


_________________
Wing Commander Mod - German Topic
06.07.11 - v1.1 RELEASED!
Back to top
View user's profile Send private message
JSDD





Joined: 21 Mar 2014
Posts: 759 on topic
Location: Belt of Aguilar ... JSDD Headquarters
Thank you for registering your game
PostPosted: Wed, 14. Feb 18, 21:03    Post subject: Reply with quote Print

reden wir hier aneinander vorbei ??

also diese 17.000 oder 69.000 scriptaufrufe sind NICHT instanzen vom script, die gerade laufen, das sollte vorerst mal klar sein. darüber steht "totally called", was "insgesamt aufgerufen" bedeutet & gemeint ist die summe aller jemals aufgerufenen instanzen. die andere kleinere nummer (on stack) DAS ist die aktuell augerufene anzahl an instanzen des scripts. (bei mir waren das etwa 70..80). nach dem killen ALLER fliegen In-Sector (IS) war die zahl 0. ("totally called" ist gleichgeblieben, logischerweise) angenommen, du willst ALLE sektoren nach fliegen absuchen & killen, dann kannst im MD ne doppelschleife [x: 0..23] x [y: 0..19] via <do_all exact="24" counter="cx">...</do_all> befehle im loop ausführen. d.h. über alle sektoren die fliegen erfassen & killen, debug-weise noch zählen (afaik gibts OOS keine fliegen, zuminest schiens mir danach als ichs testete)

das mit den 100 jumps würde funktionieren, wenn alle sektoren verbunden wären, aber da gibts dann noch die khaak sektoren & sonstigen kram. der obige ansatz funktioniert unabhängig davon ...


_________________
To err is human. To really foul things up you need a computer.
Irren ist menschlich. Aber wenn man richtig Fehler machen will, braucht man einen Computer.


Mission Director Beispiele
Back to top
View user's profile Send private message
Aldebaran_Prime



MEDALMEDALMEDAL

Joined: 20 Feb 2010
Posts: 1009 on topic
Location: Düsseldorf, Altbiersektor
Thank you for registering your game
PostPosted: Thu, 15. Feb 18, 01:45    Post subject: Reply with quote Print

JSDD wrote:
reden wir hier aneinander vorbei ??

also diese 17.000 oder 69.000 scriptaufrufe sind NICHT instanzen vom script, die gerade laufen, das sollte vorerst mal klar sein. darüber steht "totally called", was "insgesamt aufgerufen" bedeutet & gemeint ist die summe aller jemals aufgerufenen instanzen. die andere kleinere nummer (on stack) DAS ist die aktuell augerufene anzahl an instanzen des scripts. (bei mir waren das etwa 70..80). nach dem killen ALLER fliegen In-Sector (IS) war die zahl 0. ("totally called" ist gleichgeblieben, logischerweise) angenommen, du willst ALLE sektoren nach fliegen absuchen & killen, dann kannst im MD ne doppelschleife [x: 0..23] x [y: 0..19] via <do_all exact="24" counter="cx">...</do_all> befehle im loop ausführen. d.h. über alle sektoren die fliegen erfassen & killen, debug-weise noch zählen (afaik gibts OOS keine fliegen, zuminest schiens mir danach als ichs testete)

das mit den 100 jumps würde funktionieren, wenn alle sektoren verbunden wären, aber da gibts dann noch die khaak sektoren & sonstigen kram. der obige ansatz funktioniert unabhängig davon ...


also ganz senil bin ich noch nicht - klar meine ich "on stack" - bei mir ca 20.000 - sorry ist aber so...



_________________
Back to top
View user's profile Send private message
|K.O.S.H.





Joined: 19 Dec 2003
Posts: 3082 on topic

Thank you for registering your game
PostPosted: Thu, 15. Feb 18, 10:41    Post subject: Reply with quote Print

genauso sieht es bei mir auch aus. nur, dass bei mir die zahlen glücklicherweise noch etwas kleiner sind.

Geht dein SINZA noch?
Was für Scripts/Mods hast du am Laufen?


_________________
Wing Commander Mod - German Topic
06.07.11 - v1.1 RELEASED!
Back to top
View user's profile Send private message
Aldebaran_Prime



MEDALMEDALMEDAL

Joined: 20 Feb 2010
Posts: 1009 on topic
Location: Düsseldorf, Altbiersektor
Thank you for registering your game
modified
PostPosted: Thu, 15. Feb 18, 12:53    Post subject: Reply with quote Print

Ja, sinza geht noch, aber mit reduzierter FPS - statt 40 nur 18
Mod-technisch spiele ich natürlich meine EMC4AP
Durch das Thema hier ist mir ein Fehler in einem meiner eigenen Scripte aufgefallen, der die bei mir so extrem hohen Werte verursacht - das ändere ich gerade - die 4000 restlichen Instanzen liegen aber nicht an meinem eigenen Scripten, sondern bestimmt an etwas Anderem


_________________


Last edited by Aldebaran_Prime on Fri, 16. Feb 18, 00:12; edited 1 time in total
Back to top
View user's profile Send private message
|K.O.S.H.





Joined: 19 Dec 2003
Posts: 3082 on topic

Thank you for registering your game
PostPosted: Thu, 15. Feb 18, 14:46    Post subject: Reply with quote Print

Ich habe ja so den Verdacht, dass es sich um ein Vanilla-MD-Script handelt.

Dort werden die Raumfliegen als Platzhalter missbraucht.

Man könnte jetzt mal alle Arten von Missionen annehmen und nachschauen, was sich ändert...


_________________
Wing Commander Mod - German Topic
06.07.11 - v1.1 RELEASED!
Back to top
View user's profile Send private message
Aldebaran_Prime



MEDALMEDALMEDAL

Joined: 20 Feb 2010
Posts: 1009 on topic
Location: Düsseldorf, Altbiersektor
Thank you for registering your game
PostPosted: Fri, 16. Feb 18, 00:07    Post subject: Reply with quote Print

|K.O.S.H. wrote:
Ich habe ja so den Verdacht, dass es sich um ein Vanilla-MD-Script handelt.

Dort werden die Raumfliegen als Platzhalter missbraucht.

Man könnte jetzt mal alle Arten von Missionen annehmen und nachschauen, was sich ändert...


ich habe mir die MD-Dateien in denen create_spacefly vorkommt mal angesehen. In den meisten wird danach aber sauber aufgeräumt wie z.b. in "0.8 Battle Enemy Ships"
Code:
<create_spacefly name="{param@Cue}.{param@ID} L0M08EntryPoint">...
...
<!--destroy temporary spacefly in knaak case-->
            <destroy_object object="{param@Cue}.{param@ID} L0M08EntryPoint" explosion="0" warp="0"/>
...


Allerdings in "3.08 Sector Management" fehlt das destroy_object. Hier wird auch das Verhalten des UFS-Sektors 23/18 gesteuert. Es kann vielleicht sein, dass dort die Raumfliegen beim Verlassen mit dem UFS irgendwo im Speicher als Leichen zurückbleiben.

ist irgendwie schon ein Rätsel...


_________________
Back to top
View user's profile Send private message
ubuntufreakdragon



MEDALMEDALMEDAL

Joined: 23 Jun 2011
Posts: 3837 on topic
Location: Das Randland des Wahnsinns!
Thank you for registering your game
PostPosted: Fri, 16. Feb 18, 01:16    Post subject: Reply with quote Print

Aldebaran_Prime wrote:
|K.O.S.H. wrote:
Ich habe ja so den Verdacht, dass es sich um ein Vanilla-MD-Script handelt.

Dort werden die Raumfliegen als Platzhalter missbraucht.

Man könnte jetzt mal alle Arten von Missionen annehmen und nachschauen, was sich ändert...


ich habe mir die MD-Dateien in denen create_spacefly vorkommt mal angesehen. In den meisten wird danach aber sauber aufgeräumt wie z.b. in "0.8 Battle Enemy Ships"
Code:
<create_spacefly name="{param@Cue}.{param@ID} L0M08EntryPoint">...
...
<!--destroy temporary spacefly in knaak case-->
            <destroy_object object="{param@Cue}.{param@ID} L0M08EntryPoint" explosion="0" warp="0"/>
...


Allerdings in "3.08 Sector Management" fehlt das destroy_object. Hier wird auch das Verhalten des UFS-Sektors 23/18 gesteuert. Es kann vielleicht sein, dass dort die Raumfliegen beim Verlassen mit dem UFS irgendwo im Speicher als Leichen zurückbleiben.

ist irgendwie schon ein Rätsel...

Dann stell das mal hier als patchanfragen sobald verifiziert: https://forum.egosoft.com/viewforum.php?f=99


_________________
My X3 Mods

XRebirth, things left to patch:
In General; On Firing NPC's; In De Vries; Out Of Zone; And the Antiwishlist
Back to top
View user's profile Send private message
|K.O.S.H.





Joined: 19 Dec 2003
Posts: 3082 on topic

Thank you for registering your game
PostPosted: Fri, 16. Feb 18, 16:16    Post subject: Reply with quote Print

Aldebaran_Prime wrote:
(...)

Allerdings in "3.08 Sector Management" fehlt das destroy_object. Hier wird auch das Verhalten des UFS-Sektors 23/18 gesteuert. Es kann vielleicht sein, dass dort die Raumfliegen beim Verlassen mit dem UFS irgendwo im Speicher als Leichen zurückbleiben.

ist irgendwie schon ein Rätsel...


Das war schon ziemlich am Anfang eine meiner Vermutungen.
Eventuell werden diese Leichen auch nur von einer älteren Version des Scripts erzeugt. Mit der Aktuellen Version (der Exe) war es mit dem UNFUG nicht nachstellbar.

Ich kann mir gut vorstellen, dass Egosoft den Bug gefixt hat, aber vergessen hat, die Leichen wegzuräumen.
Ich weiß, ich wiederhole mich, aber ein Statement von Egosoft wäre echt toll...


_________________
Wing Commander Mod - German Topic
06.07.11 - v1.1 RELEASED!
Back to top
View user's profile Send private message
|K.O.S.H.





Joined: 19 Dec 2003
Posts: 3082 on topic

Thank you for registering your game
PostPosted: Thu, 8. Mar 18, 11:42    Post subject: Reply with quote Print

habe leider immernoch keine Lösung...


_________________
Wing Commander Mod - German Topic
06.07.11 - v1.1 RELEASED!
Back to top
View user's profile Send private message
Aldebaran_Prime



MEDALMEDALMEDAL

Joined: 20 Feb 2010
Posts: 1009 on topic
Location: Düsseldorf, Altbiersektor
Thank you for registering your game
PostPosted: Thu, 8. Mar 18, 21:31    Post subject: Reply with quote Print

ich leider auch nicht - und vor allem nicht so viel Zeit um z.B. die UFSA Theorie weiter zu testen


_________________
Back to top
View user's profile Send private message
|K.O.S.H.





Joined: 19 Dec 2003
Posts: 3082 on topic

Thank you for registering your game
PostPosted: Wed, 4. Apr 18, 15:46    Post subject: Reply with quote Print

Die Theorie habe ich bereits falsifiziert


_________________
Wing Commander Mod - German Topic
06.07.11 - v1.1 RELEASED!
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic Reply to topic Goto page Previous  1, 2, 3, 4  Next
 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You cannot download files in this forum
Control Panel
Login Data
The time now is Mon, 25. Jun 18, 02:01

All times are GMT + 2 Hours

[ Disclaimer / Impressum ] | [ Privacy Policy / Datenschutz ]

Board Security

Copyright © EGOSOFT 1989-2018
Powered by phpBB © 2001, 2005 phpBB Group
Template created by Avatar & BurnIt!
Debug: page generation = 0.75950 seconds, sql queries = 29