Bibliotheken

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

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

Mr.Gee
Posts: 207
Joined: Wed, 6. Nov 02, 20:31
x3

Post by Mr.Gee »

hmm. quasi frachter ohne echte hombase oder hombase alle stat in einen sector.... klingt sehr mächtig!

da test ich gerne für Dich :D :D :D
jnrk
Posts: 231
Joined: Thu, 11. Mar 04, 12:00
x2

Post by jnrk »

Klingt wie das Handelsgegenstück zum geplanten HQPatrol ....
User avatar
dPM_HeMan
Posts: 820
Joined: Mon, 16. Feb 04, 13:08
x3

Post by dPM_HeMan »

*wow* hier geht ja ganz schön was ab :D

wenn ich das richtig verstanden habe geht es hier also im Moment um ein Script, das ich quasi aufrufen könnte in meinem Eigenen, wenn ich die Feinde eines Schiffes in einem Sektor auslesen möchte, ist das so richtig ?

zusätzlich werden die Feinde noch nach ihrer Stärke beurteilt oder so ?

klärt mich mal bitte kurz auf, ich glaube für sowas hätte ich auch Verwendung :roll:
ticaki
Posts: 4861
Joined: Wed, 6. Nov 02, 20:31
x3

Post by ticaki »

Du hast die Lage klar erkannt.

Gruß ticaki
Zur Zeit nicht aktiv
User avatar
dPM_HeMan
Posts: 820
Joined: Mon, 16. Feb 04, 13:08
x3

Post by dPM_HeMan »

sehr gut, weitermachen :D
ich schau von Zeit zu Zeit mal rein :thumb_up:

[EDIT] seitdem ich mich wieder mit meinem "Söldner" Script beschäftige wird mir klar, dass dieser Schritt unbedingt nötig war/ist :roll:
ich seh schon wie dann da stehen wird

Code: Select all

$alle.M5="Scriptaufruf für alle Gegner der M5 Klasse"
$alle.M4="Scriptaufruf für alle Gegner der M4 Klasse"
$alle.M5="Scriptaufruf für alle Gegner der M3 Klasse"

$gesamt.Kosten=$alle.M5*5000 + $alle.M4*10000 + $alle.M4*20000
und schwuppdiwupp kann ich genau berechnen wie teuer der Einsatz der SektorSicherheit wird. Da warte ich lieber noch ein wenig, bevor ich das für mein Script extra programmiere :D

So geht das doch oder ?
Last edited by dPM_HeMan on Mon, 5. Apr 04, 01:13, edited 5 times in total.
jnrk
Posts: 231
Joined: Thu, 11. Mar 04, 12:00
x2

Post by jnrk »

@dPM_HeMan
Mr.Gee strickt an einer schicken Lib, damit vielseitige "Gegnerfindung&Erkennung" ermöglicht werden. Du gibst beim Aufruf der Lib mit, nach welcher der Möglichkeiten Du die Rückgabe gerne hättest. Lies Dir einfach nochmal die ersten beiden Seiten in Ruhe durch, vielleicht fällt Dir ja auch noch etwas ein, was wir übersehen haben.

Gruß,
jnrk
User avatar
dPM_HeMan
Posts: 820
Joined: Mon, 16. Feb 04, 13:08
x3

Post by dPM_HeMan »

jnrk wrote:vielleicht fällt Dir ja auch noch etwas ein, was wir übersehen haben.
ich halte die Augen auf :D, bin gespannt auf eine erste Testversion :thumb_up:
Mr.Gee
Posts: 207
Joined: Wed, 6. Nov 02, 20:31
x3

Post by Mr.Gee »

Hallo Leute,

das script ist jetz fast fertig. noch einige kleine sortierungen und ausschlusskriterien dann ist es top.

das ganze besteht aus 3 lib.dateien.
1. lib.find.enemy.race -> findet feindliche rassen anhand der Einstellung
des Schiffes auf das bezug genommen wird.
2. lib.find.ship.station -> findet Schiffe oder /und Stationen in abhängigkeit von mehreren kriterien und gibt diese als array aus oder gibt nur ein einzelnes schiff oder station aus (je nach kriterium bzw. einstellung)

3.lib.find.array.test.tool -> sendet eine Nachricht mit dem inhalt des aus 2. zurückgegebenen arrays um die einstellungen zu püfen und zu optimieren.

Optionen zu 2.

$return= [This] -> call script lib.find.ship.station : ship,station,sector = ? use scanner 0 or 1= ? array or single 0 or 1= ? sort 0 - 3= ? object type= ? race or race.array= ?

ship,station,sector = bezogenes schiff, station auf das sich das script bezieht (nicht ausführt!) oder zielsector

use scanner 0 or 1 = 0 findet alle in sector, 1 bezieht sich auf den scanner der im bezogenen schiff vorhanden ist (Var 1 muss ein schiff sein!)

array or single = das script gibt entweder ein array oder ein einzelnes Target zurück

sort = 0 unsortiert, 1 nach entfernung, 2 nominell stärkster zuerst, 3 schwächster zuerst

object type= ein filter der entweder ein allgemeiner objekt typ (z.B. ship oder station) sein kann oder ganz konkreter (z.B M5)

race or race.array= entweder eine einzelne Rasse oder ein array das die zu filternden rassen enthält (z.B race.array aus lib.find.enemy.race

sollte ich keine fehler mehr finden, steht das ganze morgen abend zum download bereit :D
ticaki
Posts: 4861
Joined: Wed, 6. Nov 02, 20:31
x3

Post by ticaki »

Das hört sich doch verdammt gut an. :)
Dafür gebe ich dir einen :thumb_up: und noch einen :thumb_up:. Eigentlich noch mehr aber das sieht doof aus. :wink:

Gruß ticaki, der an seiner SektorBPH rumgrübelt
Zur Zeit nicht aktiv
User avatar
dPM_HeMan
Posts: 820
Joined: Mon, 16. Feb 04, 13:08
x3

Post by dPM_HeMan »

ticaki wrote:Das hört sich doch verdammt gut an. :)
Dafür gebe ich dir einen :thumb_up: und noch einen :thumb_up:. Eigentlich noch mehr aber das sieht doof aus. :wink:
dann geb ich se dir halt :thumb_up::thumb_up: :boron: :thumb_up::thumb_up:
User avatar
M.Kessel
Posts: 1460
Joined: Wed, 13. Nov 02, 11:49
xr

Post by M.Kessel »

Könnt ihr uns den ersten wirklich lauffähigen Kram auch zuschicken, nach scripts@egosoft.com .

Ich möchte libs sehr schnell haben.

Das beschleunigt den Prozeß ungemein, und hat auch den Vorteil, das es in vorhandene scripte eingebaut werden kann. Ausserdem werden sie auf die Art immer gleich mitgetestet.

Gruß Michael
I'm depressed
Mr.Gee
Posts: 207
Joined: Wed, 6. Nov 02, 20:31
x3

Post by Mr.Gee »

Sachstand:

Das Teil ist soweit fertig. Mit Sort 2 (sortiere nach stärksten) und 3 (sortiere nach schwächsten) habe ich noch ein kleines Problemchen. Sort 0 + 1 funktioniert aber.

Unter bestimmten Umständen stürzt es bei sort 2 und 3 ab. Wird aber gerade behoben.
Ich denke es wird wie versprochen heute fertig. Bei allen anderen Optionen habe ich bisher keinen Fehler gefunden.

@MKess
Mit dem Senden ist das so eine Sache. Ich vermute mal, dass die Mails von mir gar nicht bei euch ankommen oder ist das normal, dass nach einer Woche noch keine Eingangsbestätigung eingeht :?:
Nicht gleich beleidigt sein, aber ich war schon enteuscht, dass nicht einmal ein "wir habens bekommen, Prüfung dauert einige Zeit" zurück kam. :(
Möglicherweise kommen meine Mails aber auch tatsächlich nicht bei euch an, dann ist der Vorwurf unberechtigt. Andererseits macht es aber dann auch wenig Sinn dieses zu senden. Eine kurze Info wäre hier hilfreich.
jnrk
Posts: 231
Joined: Thu, 11. Mar 04, 12:00
x2

Post by jnrk »

@Mr.Gee
RESPEKT ....

...freu mich schon darauf, diese lib einzusetzen in jkPatrol V5. Sollte das Leben und die Scripterei deutlich vereinfachen.

Zu unserem Ursprungstopic der Schnittstellen, ich bin mir immer noch nicht sicher wie diese am einfachsten umzusetzen sind. Werde es aber mit meinem Patrolscript und einer Idee die ich rumliegen habe und mich dann wieder rühren.

Ansonsten bin ich ab Do für 10 Tage im Urlaub und nur sehr eingeschränkt in Rechnerreichweite.

Herzliche,
jnrk
ticaki
Posts: 4861
Joined: Wed, 6. Nov 02, 20:31
x3

Post by ticaki »

@jnrk
Ich hab schon eine fast fertige Idee und da meine Ruckler jetzt sehr wahrscheinlich Geschichte sind, werde ich das mit Mr.Gee schon hinbekommen. Ich kann ja auch mal was zu unserem Gemeinschaftprojekt beitragen und ich glaube das DU genug mit deiner FlottenMK zu tun hast... :wink:
Du mußt wenn meine Idee verwirklicht wird, davon ausgehen. Das deine FlottenMK

entweder:
Neugestartet wird.
oder alle 30 Sekunden eine lokale Variabel abfragt.
oder du ein Script schreibst was im Benachrichtigungsfall aufgerufen wird.

Meine Idee ist so simpel wie einfach.

Ein Array pro Sektor mit Wachschiffen die diesen Sektor behüten.
Meine BPH sendet an jeden existierenden ein "Send Signal Attack_Signal Attacker = [this]"
Die nicht existierenden werden gelöscht.

Dein Patrolien Schiff bekommt ein Routine auf den Signalempfang die Nachschaut ist Attacker race = Player dann >Aktion< ist nicht dann >Standardaktion<
Dein Hauptscript muß halt nur jede Minute eine Lokale ARRAY prüfen in dem sich meine BPH Schiff in Reihenfolge der Alamierung eintragen. Hast du ein Problemgelöst Löschen und auf zum nächsten.

Gruß ticaki
Zur Zeit nicht aktiv
Mr.Gee
Posts: 207
Joined: Wed, 6. Nov 02, 20:31
x3

Post by Mr.Gee »

Also sort 2 +3 stürzen zwar nicht mehr ab, aber irgentwie bekomme ich das nicht in die Reihe......

Vieleicht findet Ihr ja den Fehler.... oder euch fällt eine bessere Lösung ein.

hier mal der dl:www.rg-pc-service.de/X2scripts/html/lib.zip

bitte mal testen ob Ihr sonst noch Fehler findet.....
am besten mit dem Tool die Ausgabe prüfen

P.S: Derzeit nur für interne Testzwecke, kein readme vorhanden.
User avatar
dPM_HeMan
Posts: 820
Joined: Mon, 16. Feb 04, 13:08
x3

Post by dPM_HeMan »

*schwups* downgeloaded :D
gucks mir gleich mal an.
User avatar
dPM_HeMan
Posts: 820
Joined: Mon, 16. Feb 04, 13:08
x3

Post by dPM_HeMan »

hab da glaub ich ein Problem gefunden :oops: , seht euch mal folgendes an:

Code: Select all

$enemy.race =  array alloc: size=3
011    $enemy.race[1] = Khaak
012    $enemy.race[2] = Xenon
013 @  $enemy.ships = [THIS] -> call script 'lib.find.ship.station' :  ship,station,sector=$sector  use scanner 0 or 1=0  array or single 0 or 1=0  sort 0 - 3=0  object type=Ship  race or race.array=$enemy.race
das script soll mir also alle Khaak und Xenon ausgeben. Um es zu testen habe ich mal 4 M5 Xenon gespawned. Problem:

1) Die Ausgabe scheint immer einen weniger rauszugeben als tatsächlich da sind, nachdem ich den array ausgelesen hatte ergab sich folgendes:

null, M5, M5, M5 - sind zwar 4, aber einer ist null

ich glaube das kommt daher, das meine Arrays immer bei 0 anfangen, deine glaub ich aber bei 1 :(

2) bei der Festlegung der Rassen ist es ähnlich, wie du siehst musste ich ein array mit 3 Werten erstellen, weil die 0 nicht ausgelesen wird.

hoffe der Fehler lag jetzt nicht bei mir irgendwo :oops: , gucks dir mal an.

ansonsten sehr gute Arbeit !:thumb_up:

ach übrigens, werden bei dir eigentlich Khaak-Cluster als 1 Schiff oder als z.B. 14 gezählt ? :roll:
ticaki
Posts: 4861
Joined: Wed, 6. Nov 02, 20:31
x3

Post by ticaki »

@Mr.Gee
So Fehler sind alle gefunden.

1. wie schon von heman angemerkt beginnen Arrays bei 0 heißt:

Code: Select all

Index = 0
array alloc: size= 0
aber

Code: Select all

array size = 1
2. dein Test tool hat einen Fehler:
Füge in die erste Zeile folgenden Befehl ein

Code: Select all

return =  array alloc: size= 0
3. In deinem race script:
Die grösse eines Array ermittelts du besser per size of array.
und den wait kannst du dir sparen. Setzte lieber an den anfang ein

Code: Select all

= random wait 100 to 200
4. Das mit den Flags bla | bla wusste ich noch nicht. Danke! :wink:

Gruß ticaki
Zur Zeit nicht aktiv
Mr.Gee
Posts: 207
Joined: Wed, 6. Nov 02, 20:31
x3

Post by Mr.Gee »

Stimmt Array muss auf 0 sein.......wird gleich geändert.

@heman
Wie die Cluster gezählt werden hängt vom ist-Stand ab. Aufgetrennt oder nicht.
Mr.Gee
Posts: 207
Joined: Wed, 6. Nov 02, 20:31
x3

Post by Mr.Gee »

Problem mit Sortierung gelöst!

1. kleine Fehler beseitigt (hab noch einige andere gefunden)

2. Problem mit Sortierung 2 + 3 gelöst -> ändere gerade.

war mal wieder nur eine Kleinigkeit (falsche Variable)

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