EnglishGermanFrenchRussianItalianSpanish
Log inRegister
 
Raumfliegen per Script/Mod entfernen
Post new topic Reply to topic Goto page 1, 2, 3  Next
View previous topic :: View next topic
Author Message
|K.O.S.H.





Joined: 19 Dec 2003
Posts: 3082 on topic

Thank you for registering your game
PostPosted: Fri, 19. Jan 18, 09:30    Post subject: Raumfliegen per Script/Mod entfernen Reply with quote Print

Hallo,

ich habe seit längerem das Problem, dass mein SINZA nicht mehr richtig funktioniert.
Mein Savegame ist 10 Jahre alt und es hat sich wohl so einiges angesammelt.

Bei der Suche nach dme Schuldigen bin ich auf das Script blabla.follow.Spacefly aufmerksam geworden. Das läuft über 6000 mal.
Es sind also über 6000 Raumfliegen im Universum unterwegs.

Diese wollte ich per Script entfernen, habe jedoch das Problem, dass man den Shiptype Raumfliege nicht im Editor auswählen kann.
Man kann sie also nicht wegscripten.


Kennt jemand ne Alternative, die Viecher irgendwie per Script zu erfassen?

Ich bin auch für jeden anderen Vorschlag offen.


Mein bisheriger alternativer Ansatz: der Szene einen Engine-Emitter verpassen mit fetter Lensflare, damit ich sie sehe. Rakete mit 100km Sprengradius und nur 500 Schaden, um einen Sektor zu komplett befreien. Dafür müsste ich aber imemrnoch alle Sektoren einzeln abklappern.


Gibt es vlt ein Kommando für KI-Schiffe, die Raumfliegen zu fangen?


_________________
Wing Commander Mod - German Topic
06.07.11 - v1.1 RELEASED!
Back to top
View user's profile Send private message
UniTrader
Moderator (Script&Mod)
Moderator (Script&Mod)

MEDAL

Joined: 20 Nov 2005
Posts: 13624 on topic

Thank you for registering your game
PostPosted: Fri, 19. Jan 18, 14:36    Post subject: Reply with quote Print

Code:
$shiptype = get ware from subtype 7 and maintype 275



_________________
if not stated otherwise everything i post is licensed under WTFPL

Ich mache keine S&M-Auftragsarbeiten, aber wenn es fragen gibt wie man etwas umsetzen kann helfe ich gerne weiter Wink

I wont do Script&Mod Request work, but if there are questions how to do something i will GLaDly help Wink
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, 19. Jan 18, 15:15    Post subject: Reply with quote Print

danke!


_________________
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: Sat, 20. Jan 18, 12:55    Post subject: Reply with quote Print

also mit maintype 7 und subtype 275 bekomme ich "Raumfliegen", das schient auch dme EIntrag in der tShips zu entsprechen.

Die Frage ist, wie geht es weiter?

"Get ship Array" funktioniert nicht, ebenso "find ship" und "find flying ware".


_________________
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: 751 on topic
Location: Belt of Aguilar ... JSDD Headquarters
Thank you for registering your game
PostPosted: Sat, 20. Jan 18, 14:46    Post subject: Reply with quote Print

ich nehm mal an, unitraders zeile stimmt, dann:
Code:

$shiptype = get ware from subtype 7 and maintype 275
$array.flies = get ship array: race = null class/type = $shiptype
$index = size of array $array.flies

$text = '... destroying ' + $index + ' flies ...' ...
write to logbook $text

while $index > 0 ...
dec= $index
$fly = $array.flies[$index]
$fly -> destruct: show no explosion = [TRUE]
end

return null


angenommen, der befehl "get ship array" geht tatsächlich nicht, dann gehts bestimmt (?) via "find object: " in den universe commands, dort solltest du auch die class = Space Flies direkt eingeben können, denk ich ...

bei sector= ... und race=... jeweils null eingeben
bei flags=... solltest du [Find.Multiple] eingeben, sodass du ein array zurück bekommst (statt ne einzelne fliege)


_________________
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
|K.O.S.H.





Joined: 19 Dec 2003
Posts: 3082 on topic

Thank you for registering your game
PostPosted: Sat, 20. Jan 18, 15:49    Post subject: Reply with quote Print

ich habe jetzt ganz simpel:

find shipclass or type == raumfliege, flags find multiple

alles andere null

das Ergebnis ist ein null-Array Sad

edit: egal, was ich eingebe, es kommt immer null raus.
Gibt's da Argumente, die unbedingt gesetzt werden müssen?


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



MEDALMEDALMEDAL

Joined: 13 Feb 2012
Posts: 748 on topic

Thank you for registering your game
PostPosted: Sat, 20. Jan 18, 16:47    Post subject: Reply with quote Print

Bist Du Dir sicher, dass die Raumfliegen noch da sind? Kannst Du sie beobachten?

Vlt. ist Dein Ergebnis ja richtig. (=Null)


_________________
Dif-tor heh smusma (Lebet lang und in Frieden – vulkanischer Gruß), Cockpitsammlung, Spieler HQ aktivieren, XENON-DAE
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: Sat, 20. Jan 18, 16:57    Post subject: Reply with quote Print

Ich habe ihnen eine Szene Engine-Emitter hinzugefügt mit ner dicken Lensflare, jetzt kann man sie durch den ganzen Sektor sehen.
Sind teilweise bis zu 10 Schwärme pro Sektor.

Im Moment jage ich sie mit ner Art Schockwellengenerator.

Also es sind definitiv viele da.

Auch interessant: Wenn man sie killt, verschwinden die Scripte nicht vom Stack.


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



MEDALMEDALMEDAL

Joined: 13 Feb 2012
Posts: 748 on topic

Thank you for registering your game
PostPosted: Sat, 20. Jan 18, 17:19    Post subject: Reply with quote Print

Das Problem bei den Fliegen ist ja, dass man sie erst als Ziel auffassen kann, wenn sie mittels Ionendisruptor betäubt wurden. Dieser Umstand wird dafür sorgen, dass Du kein Ergebnis im Array erhältst.
Wie also die Fliegen betäuben? Vielleicht fällt mir da noch was ein.
Es ist aber ein bisschen Lustig. Andere Piloten suchen verzweifelt nach Fliegen, um sie zu fangen und Du hast eine Plage. (Die Geister die ich rief…) Wink


_________________
Dif-tor heh smusma (Lebet lang und in Frieden – vulkanischer Gruß), Cockpitsammlung, Spieler HQ aktivieren, XENON-DAE
Back to top
View user's profile Send private message
JSDD





Joined: 21 Mar 2014
Posts: 751 on topic
Location: Belt of Aguilar ... JSDD Headquarters
Thank you for registering your game
modified
PostPosted: Sat, 20. Jan 18, 18:08    Post subject: Reply with quote Print

Code:

Script !ship.cmd.follow.spacefly

Version: 2
for Script Engine Version: 40

Description
Ship Spacefly COMMAND FOLLOW

Arguments

    1: leader , Value , 'leader space fly'


Source Text

001   [THIS] ->set command: COMMAND_FOLLOW  target=$leader target2=$leader par1=null par2=null
002   
003   skip if $leader -> exists
004   |return null
005   skip if $leader -> is of class Spacefly
006   |return null
007   
008   [THIS] ->add to formation with leader $leader
009   
010   $disabledtimer = random value from 5000 to 15000 - 1
011   
012   while 1
013   |if [THIS] -> is disabled
014   ||if $disabledtimer > 0
015 @ |||$disabledtimer = wait $disabledtimer ms
016   ||else
017   |||[THIS] ->set ship disabled to [FALSE]
018   |||$disabledtimer = random value from 5000 to 15000 - 1
019   ||end
020   ||continue
021   |end
022   |
023   |$leader = [THIS] -> get formation leader
024   |skip if $leader -> exists
025   ||break
026   |
027   |[THIS] ->set command target: $leader
028   |[THIS] ->set command target2: $leader
029   |
030 @ |= [THIS] -> escort ship $leader
031   |
032 @ |= wait randomly from 100 to 200 ms
033   end
034   
035   * default idle
036 @ = [THIS] -> call script '!ship.cmd.idle.spacefly' :
037   return null


signed


meinst du dieses script ??
!ship.cmd.follow.spacefly

wenn ja, dieses script macht nix außer der fliege auf welchem es läuft, seinen "leader" hinterherzufliegen. ODER wenn "disabled" flag gesetzt, wartet es einfach sooo, d.h. macht nix ... & wenn leader nimmer existiert, ruft es !ship.cmd.idle.spacefly auf, welches dieses fliege unabhängig rumfliegen lässt (d.h. ohne leader zu folgen)

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

amen. soweit sogut.

meine einschätzung ist, dass diese nicht unbedingt die performance beeinflussen, kann mich aber auch irren ...

weitere möglichkeit, diese fliegen zu killen: mission director, der kann so ziemlich alles erfassen. die steuerung ist manchmal etwas stressig, however ...

Code:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<?xml-stylesheet href="director.xsl" type="text/xsl" ?>
<director name="test" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="director.xsd">
         
  <cues>
    <cue name="destroy_all_flies_in_xuniverse" version="1">
      <action>
        <do_all>
          <!-- ... find all spaceflies -->
          <find_object group="this.flies" multiple="1" class="spacefly" max="9999">
            <sector sector="{player.sector}"/>
            <jumps max="99"/>
          </find_object>
          <!-- ... destroy group -->
          <do_if value="{group.object.count@this.flies}" min="1">
            <destroy_group group="this.flies" explosion="1"/>
          </do_if>
          <!-- ... delete group variable -->
          <remove_group group="this.flies"/>
        </do_all>
      </action>
    </cue>
  </cues>

</director>


mit dem md-script zerstörst du (einmalig!) alle fliegen (hoffentlich!), jedenfalls erfasst dieses die fliegen IS (bei mir sind's in "die 3. erlösung" 81 fliegen), OOS scheint es keine fliegen zu geben (hab keine gefunden mit dem script)


|K.O.S.H. wrote:
Auch interessant: Wenn man sie killt, verschwinden die Scripte nicht vom Stack.


welcher "stack" denn ? die globale prozess-liste etwa ??
wenn ein objekt zerstört ist, kann es keine scripts auf dessen (lokalen) stack geben .. (eben weils nimmer existiert)


[edit]
bei mir sinds 73000 "totally called", aber nur 76x "as task" und "on stack"



_________________
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


Last edited by JSDD on Sat, 20. Jan 18, 18:11; 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: Sun, 21. Jan 18, 09:57    Post subject: Reply with quote Print

Quote:
bei mir sinds 73000 "totally called", aber nur 76x "as task" und "on stack"


genau bei mit sind da 6865 "as task" und auch "on stack".

Egal, wie viele Raumfliegen ich töte, die Zahlen werden nicht kleiner.
Durch den IonenDisruptor habe ich jetzt auch rausgefunden, dass die Raumfliegen anscheinend erstellt werden, wenn man den Sektor benutzt (habe die Hülle von 200 auf 40 gesetzt, die Fliegen im neuen Sektor hatten 100% Hülle, wären sie vorher erstellt worden, hätten sie 500% haben müssen).
Ergo -> die 6865 Scripte laufen irgendwo anders...

Evtl auf Schiffen oder Objekten, die fehlerhaft erstellt worden (vlt ist mir in der tShips mal was durcheinander geraten).

Das wird ein Spaß.

Danke schon mal für die Hilfe, ihr seid super.
Bin weiterhin für jede Hilfe dankbar.

Am liebsten wäre mir eine Möglichkeit, alle Objekte anzeigen zu lassen, die ein bestimmten Script ausführen, aber das gibt's wohl nicht...

PS. habe schon probiert, alle Schiffe und Stationen im Universum zu killen...


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



MEDALMEDALMEDAL

Joined: 13 Feb 2012
Posts: 748 on topic

Thank you for registering your game
PostPosted: Sun, 21. Jan 18, 10:54    Post subject: Reply with quote Print

Wäre es nicht einfacher ein neues Spiel zu beginnen? Vielleicht kannst Du Deinen Spielstand auch in einer sauberen Installation laden. Oder funktioniert das nicht?


_________________
Dif-tor heh smusma (Lebet lang und in Frieden – vulkanischer Gruß), Cockpitsammlung, Spieler HQ aktivieren, XENON-DAE
Back to top
View user's profile Send private message
ubuntufreakdragon



MEDALMEDALMEDAL

Joined: 23 Jun 2011
Posts: 3814 on topic
Location: Das Randland des Wahnsinns!
Thank you for registering your game
PostPosted: Sun, 21. Jan 18, 11:03    Post subject: Reply with quote Print

Wäre trotzdem interessant zu wissen, was da abgeht, Schon mal probiert durch alle schiffe des universums zu gehen und Abzufragen ob das script bei ihnen läuft?
Ganzdämlich wäre natürlich, wenn es per bug global gestartet wurde, schau mal ob die Zeil skip if this exists return null vorhanden ist.


_________________
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: Sun, 21. Jan 18, 12:50    Post subject: Reply with quote Print

nee, die Zeile gibt es nicht.

Er prüft nur, ob der Leader eine Raumfliege ist.

Du meinst, es kann vorkommen, dass ein Script noch läuft, ohne, dass das Objekt noch existiert?

Ich versuche mal zu checken, ob das Script läuft, muss aber erstmal lernen, wie das geht .

Auch interessant: Es gibt im gesamten Universum nur (freifliegendes Ufo), seine Rasse (nicht Pilot) ist "Unbekanntes Objekt".


@ Klaus: neues Savegame geht nicht, meins ist 10 Jahre alt!


_________________
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: Sun, 21. Jan 18, 13:56    Post subject: Reply with quote Print

das Script läuft auf keinem Schiff auf den Tasks 0 bis 6...


_________________
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 1, 2, 3  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 Wed, 23. May 18, 13:03

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.10726 seconds, sql queries = 29