Torverbindungen die hunderste

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

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

Xells
Posts: 85
Joined: Sun, 21. Aug 05, 12:36
x3tc

Torverbindungen die hunderste

Post by Xells » Thu, 10. Aug 06, 19:36

Hi zusammen,

hoffe könnt mir weiterhelfen. Weiß wie man Tore erstellt per script hab nur ein "spezielleres" Problem.

Vorweg: Der Editor bringt mit hier nichts.. muss mit vielen IDs arbeiten und das kann der Editor nicht!


Also möchte in System A ein Tor 1(Type 0, ID0) erstellen was nach System B führtzu Tor 2(Type 1, ID 0).
Tor 1 wird normal erstellt, wählt Tor 2 an, autopilot funktioniert.
Bei Tor 2 wird bei targetx, targety und target ID auf null gestellt. Durch dieses Tor darf nicht mehr zurück geflogen werden. Man fliegt nur noch durch!

Jetzt will ich aber im Sektor B ein Tor 3 erstellen (wieder Type 1,ID 1, hat seinen sinn.. weiß das ich dann 2 mal das gleiche habe) welches auf Tor 1 im System A verlinkt.

Springen funktioniert. Nur der Autopilot wie auch die KI fliegen nicht durch dieses Tor. Durch Tor3 soll kein Schiff ankommen, nur rausspringen.

Ist etwas kompliziert aber ich versuch nochmal anders.

Im Sektor B ist EIN Tor wo alle anderen tore von ausserhalb drauf verlinken(das einzige tor wo schiffe in den sektor ankommen können!, aber durch das Tor kommt man nicht mehr nach außen(ist so gewollt)

Jetzt gibt es ganz viele Tore im Sektor B die in die anderen sektore verlinken (auf die vorhandenen gates, den jeder sektor soll nur 1 Tor bekommen)

Beim Sprung in das System B klappt das mit Autopilot und KI (weil target alles auf "null" gestellt.

Aber bei dem Tor welches nur in eine richtung verlinkt will es nicht hinhauen.

Was mache ich da nun?

MfG

Xells
001 $gate= create gate: type=0 addto=Sektor A gateid=0 dstsecx=12 dstsecy=11 dstgateid=0 x=0 y=0 z=0
002 $gate= create gate: type=1 addto=Sektor B gateid=0 dstsecx=null dstsecy=null dstgateid=null x=0 y=0 z=0
003 $gate= create gate: type=1 addto=Sektor B gateid=1 dstsecx=0 dstsecy=3 dstgateid=0 x=15000 y=0 z=0
004 return null
X0 Y3 = Sektor A
X12 Y11= Sektor B

/edit

Man kann viele Tore in einem Sektor erstellen, aber nur 6 (ID 0-5) wo schiffe ankommen können, springen recht viele

Das Problem ist wahrscheinlich das kein Tor bei Tor 3 ankommt und deswegen nicht von der KI erkannt wird,oder?
Ich kann aber nur max 6 IDs vergeben wo was ankommt.. und das würde bei weitem nicht reichen. Also muss irgend eine andere Lösung her.
Last edited by Xells on Thu, 10. Aug 06, 19:55, edited 1 time in total.

UniTrader
Moderator (Script&Mod)
Moderator (Script&Mod)
Posts: 14571
Joined: Sun, 20. Nov 05, 22:45
x4

Post by UniTrader » Thu, 10. Aug 06, 19:50

was passiert eigentlich, wenn du manuell in das Tor fliegst, welches kein Ziel hat???

hast du schon Probiert, das Eingangstor auf sich selbst zu verlinken??? (das geht wirklich :D), vielleicht hat der Autopilot probleme mit Toren ohne Ziel :roll:
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 ;)

I wont do Script&Mod Request work, but if there are questions how to do something i will GLaDly help ;)

Xells
Posts: 85
Joined: Sun, 21. Aug 05, 12:36
x3tc

Post by Xells » Thu, 10. Aug 06, 20:04

Also

wenn ich manuell in das Tor fliege was null hat fliege ich einfach durch ohne sprung. Wenn ich das Tor auf sich selbst verlinke dann kann ich auch nicht mehr vom System A mit Autopilot/KI in System B kommen.

Fliege ich manuell in Tor 3 komme ich auch an. Aber die KI peilt das nicht.

Tor 3 hat ja ein Ziel, nämlich Tor 1
Nur Tor 2 hat kein Ziel, was aber kein Problem ist.

Hab eben mal Tor 3 gelöscht, dann ging der Autopilot bei Tor 1 auch nicht mehr. Weil kein Tor mehr auf Tor 1 verlinkt hat. Quasi müssen grundsätzlich 2 verbindungen da sein.

Oder ich erstelle "Dummy" Tore die weit ausserhalb liegen, ne höhere ID haben (quasi eigtl nicht funzen) aber ne verlinkung erzeugen würden.

mal austesten ^^

/hat nicht geklappt

Unbekannter Sektor
Posts: 1447
Joined: Sat, 7. Jan 06, 19:52
x3tc

Post by Unbekannter Sektor » Thu, 10. Aug 06, 22:23

ich hab ein script was dir weiter helfen kann PM an mich bidde


Hab mir ungefähr 6 neue Torverbingungen gebaut zwischen Herzogs Vision und Profitabler Handel usw immer von einer Seite zur anderen ich sag dir eins wenn du nur eine Torverbindung baust Beispiel : Ringo Mond und Meer der Fantasie gibt es Staus von bis zu 150 Frachtern in einen Sektor vor den Toren ist voll Krass und dann mal 10 Hammerhai drauf ballern ..... dein Rang geht dann zwar für'n ******** aber es ist lustig wie 50 Frachter oder mehr dabei drauf gehen *BOOM

User avatar
SuperVegeta
Posts: 1611
Joined: Tue, 20. Dec 05, 11:13
x3tc

Post by SuperVegeta » Thu, 10. Aug 06, 22:40

Ich weiß ja nich wie du das gemacht hast ?????

Code: Select all

Script a001
Version: 0
for Script Engine Version: 32
Description
Tor.Script
Arguments

    * 1: Sektor.1 , Var/Sector , 'Sektor.1'
    * 2: Sektor.2 , Var/Sector , 'Sektor.2'
    * 3: X.1 , Nummer , 'X.1'
    * 4: Y.1 , Nummer , 'Hohe.Y.1'
    * 5: Z.1 , Nummer , 'Z.1'
    * 6: Tor.Type.1 , Nummer , 'Tor.1: N=0; S=1; W=2; O=3'
    * 7: X.2 , Nummer , 'X.2'
    * 8: Y.2 , Nummer , 'Hohe.Y.2'
    * 9: Z.2 , Nummer , 'Z.2'
    * 10: Tor.Type.2 , Nummer , 'Tor.2: N=0; S=1; W=2; O=3'

Source Text

001   * ==================================================================
002   * Script by SuperVegeta
003   * ==================================================================
004   
005 @ = wait 15000 ms
006   
007   
008   $X.sec.1 = $Sektor.1 -> get universe x index
009   $Y.sec.1 = $Sektor.1 -> get universe y index
010   $X.sec.2 = $Sektor.2 -> get universe x index
011   $Y.sec.2 = $Sektor.2 -> get universe y index
012   
013   $G.ID.1 = $Tor.Type.1
014   $G.ID.2 = $Tor.Type.2
015   
016   $Tor.1 =  create gate: type=$Tor.Type.1 addto=$Sektor.1 gateid=$G.ID.1 dstsecx=$X.sec.2 dstsecy=$Y.sec.2 dstgateid=$G.ID.2 x=$X.1 y=$Y.1 z=$Z.1
017   $Tor.2 =  create gate: type=$Tor.Type.2 addto=$Sektor.2 gateid=$G.ID.2 dstsecx=$X.sec.1 dstsecy=$Y.sec.1 dstgateid=$G.ID.1 x=$X.2 y=$Y.2 z=$Z.2
018   return null
Die Zahl hinter den Vars 1 oder 2 stehen für das Tor 1 oder Tor 2
(zum auseinander halten)

[ARGUMENTS]
Sektor 1 == Sektor A bei dir
Sektor 2 == Sektor B bei dir
X...(Raumkoordinate jeweiligen Tor)
Y...(Raumkoordinate jeweiligen Tor)
Z...(Raumkoordinate jeweiligen Tor)
Tor.Type..... , Nummer , 'Tor......: N=0; S=1; W=2; O=3'
(North=0,South=1,West=2,East=3)


TOR.1 [= create gate: type=]Tor Type von TOR.1: N=0; S=1; W=2; O=3,addto=Sektor von TOR.1gateid=Gate ID von TOR.1: N=0; S=1; W=2; O=3 dstsecx=X Koordinate von Sektor.2(Standort von TOR.2) dstsecy=Y Koordinate von Sektor.2(Standort von TOR.2) dstgateid=Gate ID von TOR.2: N=0; S=1; W=2; O=3 x=X Raumkoordinate von TOR.1 y=Y Raumkoordinate von TOR.1 z=Z Raumkoordinate von TOR.1


bei TOR.2 das gleiche bloss:
$Var.1 Werte in $Var.2 ändern
$Var.2 Werte in $Var.1 ändern

Klar oder

M. Schabio
Posts: 317
Joined: Fri, 2. Dec 05, 17:49
x3tc

Post by M. Schabio » Fri, 11. Aug 06, 07:28

@ Xell
Wenn du so viele Probleme damit hast, dann hol dir Teemals StarGate Script, damit kannste problemlos Tore erstellen^^.

Gruß
Schabio
***modified*** - und stolz drauf^^

Wisse was du sagst, aber sag nicht alles was du weißt!

In der Ruhe liegt die Kraft!

Xells
Posts: 85
Joined: Sun, 21. Aug 05, 12:36
x3tc

Post by Xells » Fri, 11. Aug 06, 13:20

es geht darum das die Tore in einer komplett neu erstellten Karte erstellt werden sollen beim ersten Laden der Map. Da bringt mir das Script leider auch nichts, zumal ich damit nicht 202 Tore in einem System erstellen kann..

Ist etwas komplexer.. und meine Tore funktionieren ja.. hab zwar im moment nur 20 Tore oder so gescriptet in einem Sektor, nur die KI hat damit probleme.


läuft quasi als galaxy.<mapname>.xml

@SuperVegeta

Schonmal danke, schaue mir das gleich sofort mal genauer an.

MfG

Xells

User avatar
SuperVegeta
Posts: 1611
Joined: Tue, 20. Dec 05, 11:13
x3tc

Post by SuperVegeta » Fri, 11. Aug 06, 21:02

der Post von mir ist die "Teemals StarGate Script", zu 90%

mit dem GE kan man glaub nur 6 Tore pro sektor machen
weil es nur 6 ID giebt im GE ???

darum vielleicht die streikenden KI Ships

kenn mich aber mit GE nicht aus !!!

UniTrader
Moderator (Script&Mod)
Moderator (Script&Mod)
Posts: 14571
Joined: Sun, 20. Nov 05, 22:45
x4

Post by UniTrader » Fri, 11. Aug 06, 21:31

mehr als 6 funktionierende Tore pro Sektor sind nicht möglich :roll:
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 ;)

I wont do Script&Mod Request work, but if there are questions how to do something i will GLaDly help ;)

Sindwiller [ITF]
Posts: 713
Joined: Sun, 29. Feb 04, 12:36

Post by Sindwiller [ITF] » Fri, 11. Aug 06, 22:16

UniTrader wrote:mehr als 6 funktionierende Tore pro Sektor sind nicht möglich :roll:
Sicher? :twisted:

Könnte man nicht einfach eine if-schleife in der KI erstellen, um die Reiseroute zu berechnen und so genau zu kommandieren, durch welches Tor die KI fliegen muss?

Mfg, Sindwiller
Deutsches X3-Modding Wiki und Forum
#dev-kammer auf irc.gamesurge.net

Xells
Posts: 85
Joined: Sun, 21. Aug 05, 12:36
x3tc

Post by Xells » Fri, 11. Aug 06, 23:47

es gehen max 6 eingehende Tore, aber sehr viel mehr tore die auch rausgehen... gaaanz sicher.. nur die KI erkennt die Tore nicht an weil sie keine ID von 0-5 haben. Funktionieren aber(!)

@Sindwiller
Was genau schwebt dir da vor?

Sindwiller [ITF]
Posts: 713
Joined: Sun, 29. Feb 04, 12:36

Post by Sindwiller [ITF] » Sat, 12. Aug 06, 18:34

@Sindwiller
Was genau schwebt dir da vor?
Naja, ich bezweifle jetzt, nach 3 Stunden herumprobieren, allein 1 Stunde zum Map aufsetzen :shock: , dass das funktionieren wird. Dieses "script" das ich geschrieben habe, wird aufgerufen (bzw. sollte aufgerufen werden, ich habe es so vorgesehen, dass das Script bei jedem move.movetosector bzw. cmd.ship.movetosector aufgerufen wird, um die Springtorroute zu überprüfen damit, wenn Ein-Weg Tore in der Route sind, das Schiff zum richtigen Tor fliegt) wenn ein Schiff zu einem Sektor fliegen muss. Zuerst wird halt, wie in den Klammern erklärt, die Reiseroute überprüft, um zu schauen ob ein Ein-Weg Tor in der Route ist. Wenn nein, wird das Script abgebrochen und der Befehl move.movetosector wird normal weitergeführt. Ansonsten wird das Zwei-Weg Sprungtor angeflogen. Im nächsten Sektor wird dann das Ein-Weg Gate in den nächsten Sektor herausgefunden und angeflogen. Und so weiter. Da happert es an einigen Stellen:

1. Ich weiss nicht genau, ob das Konzept realisierbar ist und ob es auch wirklich vernünftig umgesetzt werden kann.
2. Es scheint, als würde das Script auch bei einem Ein-Weg Tor abzubrechen.
3. Ich hab seit Ewigkeiten nicht mehr gescriptet. Daher weiss ich auch nicht mehr so genau, wie ich das machen soll. :roll: Also nicht hauen! :D

Bis jetzt sieht das so aus:

Code: Select all

if   [THIS]  call script  !move.movetosector  :    sector=  [SECTOR]  
$Sector = get next sector on route from sector   [SECTOR]   to sector   [SECTOR]  
$Gate =   get next gate on route from   [SECTOR]   to   $Sector  
while   [THIS]  fly to sector $Sector  
$Getty =   $Gate   get gate destination: return sector=  $Getty  
if not   [THIS]    get warp gate: gate id=  $Gate  
break  
else  
continue  
end  
START   [THIS]  command   COMMAND_MOVE_SECTOR   : arg1=  $Gate, arg2=  null, arg3=  null, arg4=  null  
$Getty = $Sector get gate destination: return sector= $Sector  
if $Getty != $Gate  
continue  
else  
START [THIS] command COMMAND_MOVE_SECTOR arg1= null, arg2=  null, arg3=  null, arg4=  null  
end
end
end
return null
Nun habe ich die Arbeit aufgegeben, weil meine "Arbeit" eh Blödsinn iss und ich net weiter weiss^^.

Mfg, Sindwiller
Deutsches X3-Modding Wiki und Forum
#dev-kammer auf irc.gamesurge.net

Xells
Posts: 85
Joined: Sun, 21. Aug 05, 12:36
x3tc

Post by Xells » Sun, 13. Aug 06, 13:32

Erstmal vielen Dank das du dir die mühe machst!

Finds schon allerhand :)

Muss mich da jetzt grad mal durchwurschteln, auf jedenfall wäre es klasse wenn es klappen würde das Konzept umzusetzen.. würde auf jedenfall sehr in das Mod Umfeld Passen ;) (Babylon 5, Hyperraum)

Und keine Panik, haue nicht :P
Bin eigtl selber script anfänger, hab nur gleich die dicken Brocken auf dem Tisch :D

MfG

Xells

Xells
Posts: 85
Joined: Sun, 21. Aug 05, 12:36
x3tc

Post by Xells » Sun, 13. Aug 06, 19:56

Bin da erstmal noch nicht weiter gekommen, qualmt der Kopf, die Tage gehts da weiter. Wer noch sinnvolle Tipps hat, her damit.

Sindwiller [ITF]
Posts: 713
Joined: Sun, 29. Feb 04, 12:36

Post by Sindwiller [ITF] » Sun, 13. Aug 06, 20:19

Xells wrote:Bin da erstmal noch nicht weiter gekommen, qualmt der Kopf, die Tage gehts da weiter. Wer noch sinnvolle Tipps hat, her damit.
Ich werde mich morgen wieder an das Script setzen. Ich glaube, ich weiss was ich da falsch gemacht habe. Aber zuerst sollte alles auf Papier ;)

Mfg, Sindwiller
Deutsches X3-Modding Wiki und Forum
#dev-kammer auf irc.gamesurge.net

Xells
Posts: 85
Joined: Sun, 21. Aug 05, 12:36
x3tc

Post by Xells » Sun, 13. Aug 06, 20:25

danke dir das du dir die Zeit dafür nimmst!
Wenn das hinhauen würde, wäre das total Klasse!!!

Schönen So Abend noch!

MfG

xells

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