Signalerweiterung in TR: Destruktor ???

Hier ist der ideale Ort um über Scripts und Mods für X²: Die Bedrohung zu diskutieren.

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

User avatar
mf_lueders
Posts: 346
Joined: Tue, 17. Feb 04, 14:42
x2

Signalerweiterung in TR: Destruktor ???

Post by mf_lueders »

Hi,

hab mich gerade mal mit den diversen Signalen beschäftigt und mich gefragt, ob die für TR eventuell erweitert werden könnten ?

Speziell um ein Abbruchsignal, falls das Skript - von aussen über "Kein" beendet wird.
Könnte man dazu verwenden, um mal nen sauberen Destruktor zu schreiben, der solche lustigen Sachen macht wie lokale & globale Variablen aufräumen, etc...

Oder gibts sowas schon :?

CU, MF
:skull: :skull: :skull:
Oberscht
Posts: 1205
Joined: Mon, 11. Oct 04, 19:50
x3

Post by Oberscht »

Versteh ich jetzt nicht :?
Deleted User

Post by Deleted User »

Dann halt die... (nein könnte Ärger geben) ...dich da raus. Ich weis was er meint und die die es angeht werden es auch wissen.


@Thema
Ich hoffe mal das da noch mehr kommt als Signale wobei dieses Signal schon allein aus Performancegründen recht wichtig wäre.
User avatar
mf_lueders
Posts: 346
Joined: Tue, 17. Feb 04, 14:42
x2

Post by mf_lueders »

Oberscht wrote:Versteh ich jetzt nicht :?
Hmm, also.
Wenn ich das richtig verstanden habe, werden Signale an Skripte gesendet, falls gewisse Ereignisse eintreten, z.B. das Schiff angegriffen oder sogar zerstört wird. Innerhalb eines Skriptes kann man die Skripte, die diese Signale abfangen und behandeln, neu definieren. Macht z.B. der MK3-Trader.
Ist also ein klassisches Event-Handling.
Wenn man jetzt ein Skript-Abbruch-Signal hätte, könnte man für ein Skript, das exessive Seiteneffeke verursacht (gibt es), ein entsprechendes Aufräum-Skript schreiben und dieses mit dem Abbruch-Signal verknüpfen.
Beispielsweise könnte es die lokalen Variablen, die das ursprüngliche Skript benutzt hat, wieder löschen und evtl. Registrierungen in globalen Variablen (für Kollisionsvermeidung in Buy/Sell-Skripten hilfreich) aufheben, oder einfach nur "Bye,Bye" sagen.
Solche Aufgaben erledigt in OO-Sprachen üblicherweise ein Destruktor (falls ein Objekt gelöscht wird).

Klarer geworden ?

Warum komme ich darauf ? Ich bin z.Zt. auf der Suche nach einem vernünftigen Buy/Sell-Skript (nur um meines nicht weiterentwickeln zu müssen), von denen es zugegebenermassen eine menge gibt. Dabei ist mir nur aufgefallen, das einige sehr exzessiv globale und lokale Variablen verwenden, ohne dass die jemals wieder gelöscht werden könnten.
Es sei denn - und das würde mich extrem positiv überraschen - es gäbe einen "intelligenten" (müsste er auch sein) Garbage-Collector für diese Dinge. Halte ich aber für unwahrscheinlich.

CU,MF
:skull: :skull: :skull:
ticaki
Posts: 4861
Joined: Wed, 6. Nov 02, 20:31
x3

Post by ticaki »

Frage verstanden! Aber ich würde mir da nicht zuviele Hoffnungen machen :)

Gruß ticaki

P.S. aber ich schau mal was ich tun kann.
Zur Zeit nicht aktiv
User avatar
mf_lueders
Posts: 346
Joined: Tue, 17. Feb 04, 14:42
x2

Post by mf_lueders »

ticaki wrote:Aber ich würde mir da nicht zuviele Hoffnungen machen :)
Ich doch nicht :D
ticaki wrote:P.S. aber ich schau mal was ich tun kann.

Hört sich ja schon mal besser an als ein klares "gibbet nicht"...

CU,MF
:skull: :skull: :skull:
User avatar
Lucike
Posts: 12969
Joined: Sun, 9. May 04, 21:26
x4

Post by Lucike »

Irgendwie kommt mir das bekannt vor. Ist schon eine Weile her und ist auch auf meiner Wunschliste. ;)

http://www.egosoft.com/x2/forum/viewtopic.php?t=55700

Gruß
Lucike
Image
User avatar
Nemomuc
Posts: 315
Joined: Tue, 23. Mar 04, 19:49
x2

Post by Nemomuc »

@ Lucike : steht auch auf meiner Wunschliste - leider ohne Erfolg


Dieses Signal oder ein Befehl zum Abfragen der laufenden Tasks auf einem Objekt wäre echt sinnvoll -es würde schon genügen, wenn dieser Befehl

1.012 <RetVar/IF> is script with prio <Var/Number> on stack


noch einen Referenzzeiger für den Task bekäme und somit taskübergreifend benutzt werden könnte .

Return to “X²: Die Bedrohung - Scripts und Modding”