[Skript][0.1.4]Beta: KI Kampf-Divisionen

Hier ist der ideale Ort um über Scripts und Mods für X³: Reunion zu diskutieren.

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

Besteht interesse an deisem Skript?

Ja, klar!
120
85%
Hm, vieleicht wenn es dann fertig ist...
17
12%
eher nicht.
5
4%
 
Total votes: 142

User avatar
Cires
Posts: 1158
Joined: Sat, 10. Dec 05, 11:13
x3tc

Post by Cires »

wird die KSW MK3 jetzt eigentlich die normalen EGO-Kommandos ersetzten oder werden wieder neue Kampfkommandos hinzugefügt?
Was hat sich denn jetzt zu 0.9 verändert?

Gruß
Cires
3ddz
Posts: 139
Joined: Mon, 15. Mar 04, 15:52
x3

Post by 3ddz »

Soo, hier ist sie dann jetzt doch die benutzbare Version, es sind zwar noch etliche fehlerchen drin aber grundlegend funktioniert sie.

http://rapidshare.com/files/24743664/Build11.zip

Die Benutzung:
Unter Kampf erscheint ein Neues Kommande Kampf-Division führt man das Kommando aus wird man aufgefordert ein Schiff zu wählen. Wählt man das Schiff auf dem man das Kommando ausgeführt hat wird eine neue Division eingerichtet, wählt man den Einsatzleiter einer bestehenden Division wird das Schiff dieser hinzugefügt. Wenn man eine neue Division auf einem Träger startet werden automatisch alle gelandeten Schiffe hinzugefügt.
Sobald die Division aus 10 oder mehr Schiffen besteht kann man unter zusätzliche Schiffskommandos Division einrichten wählen um 5 Sektoren als Einsatzgebiet zuzuweisen, kann auch 5 mal der gleiche Sektor sein.
Danach nimmt die Division die Arbeit auf.
Division Einrichten kann jetzt für diverse aktionen genutzt werden, wenn man das Kommando erneut ausführt stehen folgende Optionen zur verfügung:
0-Bericht
9-Division auflösen

Division auflösen braucht allerdings einige zeit bis alle Schiffe ihre Aufgabe beendet haben und zum Einsatzleiter zurückgeflogen sind.

Edit: benutzbare Version ist vieleicht etwas irreführend, also im normalen Spiel benutzbar ist sie sicher noch nicht, ich sage wohl besser so sie tut erstmals das wofür sie gedacht ist :) Also nur zum testen und experimentieren geeignet, risiken und Nebenwirkungen nicht ausgeschlossen :D


@X-Freak Cartman [KBG]:
In dieser Version benutze ich jetzt auch START COMMAND_.... hoffe das läuft besser mit der KSW MK3 zusammen.
***modified*** und stolz drauf!
User avatar
X-Freak Cartman
Posts: 4017
Joined: Mon, 2. Oct 06, 15:08
x3

Post by X-Freak Cartman »

@3ddz
Es ist sowieso nur formal, aber damit gehst du auf Nummer sicher.

@ Cires
Die Egosoft-Kommandos werden ersetzt, neue Wingmentasten eingeführt usw usf.
Es ist eine Komplettüberholung der für den Spieler verfügbaren KI.

Genaueres gibt es im Thread der
Kampfsoftware MK3
.
Ich will für die Sperrung dieses Threads verantwortlich sein, immerhin hat die KSW MK3 einen Eigenen ^^
User avatar
Jey 16
Posts: 1212
Joined: Sun, 30. Jul 06, 22:52
x3ap

Post by Jey 16 »

X-Freak Cartman [KBG] wrote:@3ddz
Es ist sowieso nur formal, aber damit gehst du auf Nummer sicher.

@ Cires
Die Egosoft-Kommandos werden ersetzt, neue Wingmentasten eingeführt usw usf.
Es ist eine Komplettüberholung der für den Spieler verfügbaren KI.

Genaueres gibt es im Thread der
Kampfsoftware MK3
.
Ich will für die Sperrung dieses Threads verantwortlich sein, immerhin hat die KSW MK3 einen Eigenen ^^
das war aber hoffentlich nur ein tippfehlern :sceptic:
User avatar
X-Freak Cartman
Posts: 4017
Joined: Mon, 2. Oct 06, 15:08
x3

Post by X-Freak Cartman »

rofl

Kann ja mal passieren...
Ich hock seit heut früh fast ununterbrochen an mathematischen Formeln, die im Script die Feuerrate regeln sollen... da kann ein Tippfehler im Forum ja mal passieren..

Lieber hier als im Script ;)
User avatar
Cires
Posts: 1158
Joined: Sat, 10. Dec 05, 11:13
x3tc

Re: [Skript][0.1.1] In Entwicklung: KI Kampf-Divisionen

Post by Cires »

3ddz wrote:

Code: Select all

Kommandoslots:
COMMAND_TYPE_CUSTOM_58.............Kampfeinsatz..................{plugin.3ddz.combat}
[...]
COMMAND_TYPE_CUSTOM_58.............Feindkontakt vermeiden........{plugin.3ddz.avoidenemycon}
Kannst du mir den Trick verraten, wie das geht? :wink:

Ich glaube du meinst

Code: Select all

COMMAND_TYPE_CUSTOM_55.............Kampfeinsatz..................{plugin.3ddz.combat}
Gruß
Cires
3ddz
Posts: 139
Joined: Mon, 15. Mar 04, 15:52
x3

Re: [Skript][0.1.1] In Entwicklung: KI Kampf-Divisionen

Post by 3ddz »

Cires wrote:Ich glaube du meinst

Code: Select all

COMMAND_TYPE_CUSTOM_55.............Kampfeinsatz..................{plugin.3ddz.combat}
Ährm ja, was ich meinte war

Code: Select all

COMMAND_TYPE_CUSTOM_48.............Kampfeinsatz..................{plugin.3ddz.combat}
Ach wenn nur alle Probleme so einfach zu lösen wären :(
Mein Skript treibt mich grad in den Wahnsinn, da läuft nix mehr so wie es soll nur noch chaos....

Kann mir vieleicht jemand sagen warum folgendes Skript, das auf Task 38 läuft, nicht tut was es soll?

Code: Select all

001   START [THIS] -> command COMMAND_MOVE_POS : arg1=[SECTOR], arg2=$x, arg3=$y, arg4=$z
002   
003   $distance = [THIS] -> get distance to: x=$x y=$y z=$z
004   while $distance > 1500
005 @  = wait randomly from 700 to 1400 ms
006    $COMMAND = [THIS] -> get command
007    if not $COMMAND == COMMAND_MOVE_POS
008     START [THIS] -> command COMMAND_MOVE_POS : arg1=[SECTOR], arg2=$x, arg3=$y, arg4=$z
009    end
010    $distance = [THIS] -> get distance to: x=$x y=$y z=$z
011   end
012   
013   return 0
Get Command gibt immer nur COMMAND_NONE zurück und somit läuft das ganze endlos vor sich hin ohne das das Schiff sich auch nur einen millimeter bewegt...
***modified*** und stolz drauf!
3ddz
Posts: 139
Joined: Mon, 15. Mar 04, 15:52
x3

Post by 3ddz »

und nochmal zu dem Thema weiter oben, habe das jetzt wie folgt umgebaut:

Code: Select all

001   $position =  array alloc: size=4
002   $sector = [THIS] -> get sector
003   $position[0] = $x
004   $position[1] = $y
005   $position[2] = $z
006   $position[3] = $sector
007   
008   [THIS] -> start task 0 with script '!ship.cmd.moveposition.std' and prio 0: arg1=$position arg2=null arg3=null arg4=null arg5=null
009   
010   $distance = [THIS] -> get distance to: x=$x y=$y z=$z
011   while $distance > 1500
012    skip if [THIS] -> is script '!ship.cmd.moveposition.std' on stack of task=0
013     [THIS] -> start task 0 with script '!ship.cmd.moveposition.std' and prio 0: arg1=$position arg2=null arg3=null arg4=null arg5=null
014 @  = wait randomly from 700 to 1400 ms
015    $distance = [THIS] -> get distance to: x=$x y=$y z=$z
016   end
017   
018   return 0
Das funktioniert auch eigentlich ganz gut, nur wenn ich selbst im Sektror bin habe ich jetzt schon 2 mal beobachtet das das Schiff plötzlich auf Position 0,0,0 springt und da festhängt...
Verlasse ich den Sektor wieder geht alles ganz normal weiter, kann mir vieleicht jemand sagen was da bitte los ist :?
***modified*** und stolz drauf!
sarok
Posts: 96
Joined: Sat, 9. Sep 06, 18:08
x3

Post by sarok »

hallo,

hab es mit kampfsoftware MK3 gesaugt und werde es ausgibig tzesten.
bin sehr darauf gespann!!

mfg
sarok
3ddz
Posts: 139
Joined: Mon, 15. Mar 04, 15:52
x3

Post by 3ddz »

Und schon wieder eine Skriptproblem der nervigen sorte....
ich möchte ein array aller Feinde in einem bestimmten abstand um ein Sprungtor, dazu benutze ich folgendes:

Code: Select all

004    $flags = [Find.Enemy]
005    $enemylist =  find ship: sector=[SECTOR] class or type=Moveable Ship race=null flags=$flags refobj=[THIS] maxdist=10000 maxnum=100 refpos=$nextgate
Nur leider gibt mir das immer nur null zurück obwohl 2 Xenon in der Nähe des Tores sind wenn ich Feinde um This damit suche funktioniert es aber nicht mit dem Tor, woran liegt das denn schon wieder :?
***modified*** und stolz drauf!
User avatar
Jey 16
Posts: 1212
Joined: Sun, 30. Jul 06, 22:52
x3ap

Post by Jey 16 »

bin zwar kein scripter aber bei race vll auf enemy anstatt auf null :?
User avatar
SymTec ltd.
Posts: 5285
Joined: Mon, 11. Apr 05, 21:11
x3tc

Post by SymTec ltd. »

@Jey: nö ;)

* die flag [Find.Multiple] muss mit rein
* $Gate ist keine Position, sondern ein Objekt. Vllt. mal als Position versuchen (Array: [0]=x, [1]=y, [2]=z, [3]=sec)
* sind 10km "in der Nähe"? Oder waren vllt. die Xenon zu weit weg?
3ddz
Posts: 139
Joined: Mon, 15. Mar 04, 15:52
x3

Post by 3ddz »

hmm, jetzt mit Positions Array und multiple geht es, allerdings geht es auch mit This als refpos und dann ohne multiple nur dann im Abstand um das Schiff, sehr verwirrend dieses find ship...
Wenn mir jetzt noch jemand bei meinem motoposition problem weiter oben helfen könnte wär der Tag gerettet :)
***modified*** und stolz drauf!
3ddz
Posts: 139
Joined: Mon, 15. Mar 04, 15:52
x3

Post by 3ddz »

Nachdem ja nun schon ein paar Leute das Skript runtergeladen haben bin ich doch sehr erstaunt das noch keine Beschwerden gekommen sind das es nicht funktioniert :)
oder habt ihr es bloß noch nicht ausprobiert? :D
***modified*** und stolz drauf!
sarok
Posts: 96
Joined: Sat, 9. Sep 06, 18:08
x3

Post by sarok »

hallo,

soooooo nun hab ich einige zeit das script getestet.
naja ganz durchschaut hab ich es ja nicht gerade ^^

habe einen M1 mit 50xM3+ (hab also keine scout) und alle mit der neuen KI-MK3 ausgerüstet.
habe die Division eingerichtet und 5 mal den gleichen sektor(erzgürtel) zugeteilt.

nach einiger zeit wurden nach und nach bis zu 6 scout (M3+) ausgesant.
dabei ist mir aufgefallen das immer nur 2 scouts aktiv sind und die anderen irgend wo im raum stehen und keinen befehl haben.

obwohl mehrere feinde gesichtet wurden (durch meine sateliten und raumstationen - wahrscheinlich nicht von den scouts) ist kein kampfeinsatz gekommen. somit konnten einzelne piratenfrachter oder kleingruppen von piraten ungehindert weiter reisen.

hatte also nach 1 tag spiel noch keinen einzigen kampf!

einige fragen hätte ich noch:
1) bindet das script auch M2, M6 und M7 ein?
2) wie reagieren die kampfstaffel wenn sie einen einsatz fliegen und die heimbasis zerstört wird?
3) wenn sektoren von mehreren Divisionen bewacht werden - was genau pasiert dann?

mfg
sarok
3ddz
Posts: 139
Joined: Mon, 15. Mar 04, 15:52
x3

Post by 3ddz »

Wenn du nur einen Sektor zuteilst kann es sein das die Gegner zu schnell wieder raus sind und daher gar nicht erst ein Schiff losgeschickt wird, auch sollten M5 Gruppen ignoriert werden wenn du selbst keine M4 dabei hast da die M5 für andere Schiffe einfach zu schnell sind und das nix bringen würde.
Das allerdings die Scouts ohne Befehl in der Gegend rumstehen sollte nicht passieren habe da extra noch was eingebaut was sowas erkennen soll, obwohl es erst gar nicht dazu kommen sollte das Schiffe stehenbleiben, sehr komisch muss ich mir wohl mal ansehen...
Werde demnächst auch noch eine neu Version mit einigen Verbesserungen hochladen, einmal werden dann auch unterlegene Gegner ohne Auftrag unterwegs bekämpft und zum anderen sind die Schiffe dann bei Tordurchflügen intelligenter.
Man kann alle Schiffe der Division zuweisen und die werden auch eingesetzt auch M7 und M1/2, nur werden die GKS wohl so gut wie nie Eingesetzt werden wenn nicht gerade ein Feindlicher Zerstörer auftaucht.
Was passiert wenn der Einsatzleiter zerstört wird kann weiß ich nicht ganz hundertprozentig da ich es noch nie ausprobiert habe, muss ich mir mal ansehen und testen, sollte aber so sein das alle ihren aktuellen Auftrag abarbeiten und dann die Arbeit einstellen. Müsste allerdings mal testen ob das auch tatsächlich funktioniert...
***modified*** und stolz drauf!
User avatar
wyvern11
Posts: 1703
Joined: Sat, 15. Jul 06, 20:59
x3

Post by wyvern11 »

ich habe mal am anfang eure diskussion über die stärke von verbänden verfolgt und wollte da mal meinen bescheidenen senf dazugeben:

ich habe bei eigenen OOS-gefechten und daraus folgenden gescripteten gefechten beobachtet, daß eigene verluste recht wahrscheinlich sind, wenn

- in der größten anwesenden klasse nicht mindestens eine 3:1, besser 4:1 überlegenheit herrscht
- nicht genügend schwache eigene ziele als "täuschkörper" vorhanden sind
(hintergrund: ich habe auch in 5-M6-gegen-XenonPat-Situationen noch M6e verloren, weil die erstmal alle M4 abgeschossen haben und M6 und M3+ ignoriert haben)
Redest du noch - oder denkst du schon ?
sarok
Posts: 96
Joined: Sat, 9. Sep 06, 18:08
x3

Post by sarok »

hallo,

so da ist mir noch was aufgefallen... :roll:

wenn ich eine division auflöse - erscheint bei der selbigen nicht noch mal der befehl um sie erneut zu erstellen.
also klar text:
unter kampf erscheit nicht mehr der befehl "Kampf-Division"
auch nach längerer warte zeit! (ig. 10stunden)


mfg
sarok
3ddz
Posts: 139
Joined: Mon, 15. Mar 04, 15:52
x3

Post by 3ddz »

hm, das ist auch nicht schön...
Leider habe ich im moment keine Zeit um zu skripten, werde ich mir aber alles ansehen wenn ich wieder dazu komme, also hoffentlich bald...
***modified*** und stolz drauf!
sarok
Posts: 96
Joined: Sat, 9. Sep 06, 18:08
x3

Post by sarok »

3ddz wrote:hm, das ist auch nicht schön...
Leider habe ich im moment keine Zeit um zu skripten, werde ich mir aber alles ansehen wenn ich wieder dazu komme, also hoffentlich bald...
hallo,

muss ja nicht gleich gemacht werden, aber man muss es ja mal posten :D

last dir noch zeit, denn ich werde es noch sehr genau testen ....
dazu ist ja ne BETA da !

mfg
sarok

Return to “X³: Reunion - Scripts und Modding”