[MOD]PirateShipReloadet_v1.1c - (+XTMv.7.2) aka: job.PirateShip_Docktrader

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

Sollten die 'Farbmarkierungen' der Schiffe so bleiben oder entfernt werden? (Original-Split-Farbe wiederherstellen)

Mir gefällt das so. Bitte so lassen wie's ist :)
20
69%
Originalfarbe ist besser für Piratentransporter um weniger aufzufallen.
8
28%
Farben? was für Farben? Ich spiele ohne aktive Shadereffekte...
0
No votes
Die gesammte Mod ist Blödsinn.. wer braucht schon Piratentransporter? Schreib lieber ein "Geld/Waffen/GOD-Mode"-Cheatmod ;P
1
3%
 
Total votes: 29

User avatar
o1ofco2
Posts: 1032
Joined: Mon, 2. Feb 04, 20:30
x4

[MOD]PirateShipReloadet_v1.1c - (+XTMv.7.2) aka: job.PirateShip_Docktrader

Post by o1ofco2 » Mon, 25. Jun 07, 00:06

  • PirateShipReloadet_v1.1c_for_XTM.7.2 by o1ofco2
    job.PirateShip_Docktrader_v1.1_for_X3v2.0.02 by o1ofco2

Was macht diese Modifikation
  • - es bringt die 'Piraten Schiffe' als modifizierte (evolutionstechnisch erbesserte) Version zurück ins Spiel

    - die neuen PiratenSchiffe nutzen das Model vom Split-Kaiman-Superfrachter (split_TS_liquidstorage_M_scene - Tanks&Kisten-Model) - (der Kaiman-Superfrachter wird dadurch in KEINSTER Weise beeinflusst - lediglich die 'szene' (Aussehen) wird geborgt)

    - die Piratenschiffe haben fast die selben Werte wie in X2 - aber sie sind weitaus gefährlicher :P

    - die Piratenschiffe gibt es in 5 Farb-Versionen, die durchs Universum streifen (die 'nocolor'-version benutzt die original-split-farbe)
    - Flugschule: auch Piraten müssen fliegen lernen ;) (color-version: 'Rosa') (alte szene-liquid_M)
    - Chemiekalientransport: wer Drogen herstellt braucht sowas (color-version: 'Gelb') (alte szene-liquid_M)
    - Hightech-Waren Händler: da wird sicherlich was wertvolles transportiert ;P (color-version: 'dunkles Blau') (alte szene-liquid_M)
    - Waffenhändler: wohl das wichtigste was Piraten brauchen können (color-version: 'mattes Tarngrün') (alte szene-liquid_M)
    - Militärischer Versorgungstransport: es gibt kaum Piloten, die ihnen lebend davon gekommen sind um darüber berichten zu können ... (color-version: 'unbekannt') :roll:
Bis auf den 'Militärischen Versorgungstransport' fliegen alle Versionen als 'Undercover Piraten' durchs Universum. Zum enttarnen reicht sie einfach anzufunken doch das können sie am wenigsten leiden - das reizt sie aufs äußerste!
Doch man kann ihnen entkommen indem man den Sektor verläßt - Sie haben wichtigeres zu tun als kleinen "Möchtegernpiloten" zu folgen ;)

Man wird sehr selten auf 2 Schiffe der gleichen Farbe treffen, die beide die selbe Ausstattung haben (Waffen, Erweiterungen, Gefährlichkeit...)

Desweiteren werden die Schiffe so erstellt, dass sie dem Spieler immer neutral eingestellt sind. (dies ist eine leider unumgängliche Einschränkung) Ausgenommen davon ist der Militärtransport.



Welche Dateien wurden modifiziert:
  • TShips.txt:
    - Model des 'Piraten Schiff's (ehemals 'Argon Merkur') durch Model des 'Split Kaiman Tanker' ersetzt
    - Waffenslots mit typische Waffen des Piratenschiffs aus X2 versehen (+ einem EXTRA :o )

    TCockpits.txt:
    - 'Piraten Schiff'-Kanzel (hinterer Turret) mit den typischen Waffen des Piratenschiffs aus X2 versehen

    JOBS.txt
    - 5 neue Jobs eingefügt (9082 bis 9086) welche die verschiedenen Versionen ins Spiel einsetzen

    WareLists.txt
    - da eine neue Warenliste benötigt wird, wurde auch diese Datei modifiziert
    - Warenliste 120 hinzugefügt (bei der "XtendetMOD v0.7.2"-Version)
    - Warenliste 112 hinzugefügt (bei der "X3 v2.0.02"-Version)
Installationshinweis:
(siehe Readme.txt)


Dank an all die Leute, der Community, die mir mit Tips und Trix meine flausen aus dem kopf geschlagen haben :D
(sry für die manchmal nervenden Fragen ;) )


Haftungs/Eula-krempel:

für Schäden an leib/leben/material/SAVEGAMES übernehmt IHR die volle Haftung indem IHR dieses Mod installiert und nutzt
HINWEIS: sichert eure Savegames bitte VORHER



Versionshistorie:

Mo Jun 25, 2007 job.PirateShip_Docktrader_v1 mehr oder weniger Beta, leider

Mi Jun 27, 2007 job.PirateShip_Docktrader_XTM_v1.1 code vom 'if Volk = Feind'-Problem befreit + div. Optimierungen
Mi Jun 27, 2007 job.PirateShip_Docktrader_XTM_nocolor_v1.1 Farbversionen auf Standard gesetzt
Mi Jun 27, 2007 job.PirateShip_Docktrader_X3v2.0.02_v1.1 siehe "XTM_v1.1", "X3 v2.0.02 -Version"
Mi Jun 27, 2007 job.PirateShip_Docktrader_X3v2.0.02_nocolor_v1.1 siehe "XTM_nocolor_v1.1", "X3 v2.0.02 -Version"

Do Jun 28, 2007 job.PirateShip_Docktrader_XTMv0.7.2_v1.1a Integration in den "XTMv0.7.2-Patch" + Anpassung an diesen
Do Jun 28, 2007 job.PirateShip_Docktrader_XTMv0.7.2_nocolor_v1.1a.zip siehe XTMv0.7.2_v1.1a + Standard-Splitfarbe

Fr Jun 29, 2007 PirateShipReloadet_XTMv0.7.2_v1.1b_c_nc.zip balancing (movement), neue szene (liquidstorage_M)+Namensgebung

Di Jul 17, 2007 PirateShipReloadet_XTMv0.7.2_v1.1c_c_nc.zip falsche WareLists.pck (in v1.1b) durch korrekte ersetzt


DOWNLOADs:

____________________________
...viel spaß beim jagen :pirat: :x3:
LG
-o1
Last edited by o1ofco2 on Tue, 17. Jul 07, 23:48, edited 26 times in total.

User avatar
Adlantis
Posts: 336
Joined: Sat, 16. Dec 06, 11:19
x4

Post by Adlantis » Mon, 25. Jun 07, 00:11

Klingt interessant. Werde es gleich morgen ausprobieren.
Weh mir Frevler, dass ich schoss
den Schicksalsvogel Albatros!
Dreimal wehe, dass ich traf!
Dafür trifft mich des Schicksals Straf’!

User avatar
GehirnPfirsich
Posts: 1128
Joined: Tue, 3. Jan 06, 23:55
x3

Post by GehirnPfirsich » Mon, 25. Jun 07, 08:44

runtergeladen ists schon. werde ich gleich nach dem berufschulunterricht ausprobieren ;) Ich denke aber, da es ohne probleme funktionieren wird, sage ich jetzt schon Schöne Arbeit :D :thumb_up: :thumb_up: weiter so.

Greetings GP

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

Post by Unbekannter Sektor » Mon, 25. Jun 07, 14:40

verlese ich mich oder ist das wirklich nur für den X-tendet Mod?

User avatar
GehirnPfirsich
Posts: 1128
Joined: Tue, 3. Jan 06, 23:55
x3

Post by GehirnPfirsich » Mon, 25. Jun 07, 15:20

Jein. Es ist unter dem Xtended Mod entwickelt worden und ein funktionieren ohne Xtended kann nicht garantiert werden. Er Bittet aber darum das zu testen.

Greetings GP

User avatar
o1ofco2
Posts: 1032
Joined: Mon, 2. Feb 04, 20:30
x4

Post by o1ofco2 » Mon, 25. Jun 07, 17:16

Unbekannter Sektor wrote:verlese ich mich oder ist das wirklich nur für den X-tendet Mod?
GehirnPfirsich liegt genau richtig.
Es wurde unter XtendetMod v0.7 entwickelt und da dort die "TShips.txt" sowie die "JOBS.txt" und die "WareLists.txt" schon modifiziert wurden wird es ohne Xtendet höchst warscheinlich zu fehlern kommen.

Aber ich hab schon mit dem gedanken gespielt auch eine X3 v2.0.02 (letzter Patch)-Version davon zu machen... sind ja nur einige anpassungen in den o.g. Dateien vorzunehmen. Die scripte sind zu 100% kompatibel da ich keine Xtendet-scripte verwendet hab.

LG
-o1 :)

EDIT:
angepasste Version für "X3v2.0.02" erstellt und hinzugefügt

EDIT2:
mist, hab nen Bug gefunden :shock:
es ist kein 'echter' Bug aber es entpuppt sich als 'unannehmlichkeit' wenn man eines der Völker gegen sich hat (Feind=Rot) da die Rassenwahl ALLE Völker einbezieht. Sprich: Die Boronen hab ich als feind, dann sind die 'Undercover Boronenpiraten' auch auf "Feind" gestellt (ROT). Ist dies der Fall und ein 'UndercoverPirat' betritt den Sektor indem sich der Player befindet ist die k*cke am dampfen - der Pirat steuert genau auf den Player zu und will ihm ans Leder :o ... und das ohne vorwarnung :twisted:

hier ein scriptschnippsel welchen ich anpassen müsste um besagtes Problem zu beheben - andererseits macht es den EGOSOFT-Spielstart "Bankrotter Attentäter" umso interessanter :twisted:

Code: Select all

021   $relation = [THIS] -> get relation to race Player
022   
023   * check, get, set and store some data
024   if $relation == Feind
025    $OwnerRace = [THIS] -> erhalte korrekten Eigentümer
026    $old.command = [THIS] -> get command
027    [THIS] -> set local variable: name='old.command' value=$old.command
028    
029    if $OwnerRace == Piraten
030     [THIS] -> set pirate cover state to [FALSE]
031     [THIS] -> set race logic control enabled to [FALSE]
032     $PlayerSector = [PLAYERSHIP] -> get sector
033     $PirateSector = [THIS] -> get sector
034 @   = wait randomly from 1000 to 2000 ms
035     
036   * keep fighting while PlayerSector is same as PirateShipSector
037     while $PirateSector == $PlayerSector
038      [THIS] -> interrupt task 303 with script 'plugin.o1ofco2.PirateShip.attack'...
Zeile 021 bekommt somit unumgänglich den 'Feindflag' womit Zeile 024 auf TRUE geschaltet wird und der Wahnsinn nimmt seinen Lauf :o :roll: :twisted:

Was meint ihr dazu? So lassen oder abändern?
Abändern in der Form von:
-beim erstellen des Schiffes prüfen ob der Pilot einer Rasse angehört welche dem Player feindlich gesinnt ist und wenn ja (TRUE) gleich auf eine 'freundlich' gesinnte Rasse wechseln...
Das wär so meine einzige Idee, die ich im moment hätte...

EDIT3:
mir ist was eingefallen.. ich könnte mit diesen beiden neuen zeilen einen kompromiss eingehen... aber heikel bleibts dann immernoch...
sobald man unter 8km ran kommt gibts saures ;)

Code: Select all

024   if $relation == Feind
025    $commdistance = get distance between [THIS] and [PLAYERSHIP]
026    if not $commdistance > 8000
027     $OwnerRace = [THIS] -> erhalte korrekten Eigentümer

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

Post by Cires » Mon, 25. Jun 07, 22:54

hast du das bereits im download mit drin?

gibts das auch ohne Farbliche Kennungen?

Gruß
Cires

User avatar
o1ofco2
Posts: 1032
Joined: Mon, 2. Feb 04, 20:30
x4

Post by o1ofco2 » Mon, 25. Jun 07, 23:44

Cires wrote:hast du das bereits im download mit drin?
ist noch nicht mit drin, es gibt noch einige schwierigkeiten :(
ich musste auf eine while-schleife ausweichen welche solange 'schleift' wie das ziel weiter als 8km entfernt ist.
Zusätzlich hab ich nocheine schleife mit eingebaut welche prüft ob das ziel sich zwischen 8km und 4km befindet und einen signalton abspielt:

Code: Select all

024   if $relation == Feind
025    $commdistance = get distance between [THIS] and [PLAYERSHIP]
026    while $commdistance > 8000
027     $commdistance = get distance between [THIS] and [PLAYERSHIP]
028 @   = wait randomly from 2000 to 3000 ms
029    end
030    while $commdistance < 8000 AND $commdistance > 4000
031     $commdistance = get distance between [THIS] and [PLAYERSHIP]
032     play sample 1103
033 @   = wait 3000 ms
034    end
035    $OwnerRace = [THIS] -> erhal...
in einem testscript welches auf einem sateliten lief hat es sauber funktioniert (while dist<8km AND dist>4km -> ton abspielen und warten; dann zwischen 4 und 2km -> ton und kürzer warten...usw 4 schleifen hintereinander: hat super als annäherungsscript funktioniert)

aber der oben gezeigte code hat irgendwie ne macke :gruebel:
es ist weit und breit kein Piratenschiff da aber die warntöne überschlagen sich förmlich ...*ratlos*

ich werd wohl die erste variante mit dem Pilotenwechsel in betracht ziehen..
Am liebsten als AI-schalter, den man ein und ausschalten kann um damit den schwierigkeitsgrad zu regulieren.
Cires wrote:gibts das auch ohne Farbliche Kennungen?

Gruß
Cires
war so nicht vorgesehen aber wenn du die shaderqualität runterdrehst sind die farben nicht mit drin...
Die Farben werden in der Jobs.txt an den einzelnen Jobs festgelegt und sind dort veränderbar (-1; -1 sind die Originalwerte)

LG
-o1

EDIT:
ich glaub ich hab den 'Fehler' gefunden welcher den Warnton 'überschlagen' lässt: es sind die einzelnen Respawns, die aus irgend einem Grund erstmal dieses Script komplett durchlaufen... :o
Hatte den Sinza angeschaltet und erstmal bissl gewartet und nach einer weile verstummten die Warntöne... man hört sozusagen wenn ein Schiff irgendwo Respawnt.

So passt mir das aber nicht. Ich werd morgen mal schauen was sich machen lässt...

PS:
wenn ihr die v1 dieses Mods nutzt/Ausprobiert: Sichert Eure SAVEGAMES Bitte! (ich sags nur ungern aber: Sicher ist Sicher ;) )

EDIT2:
so sollte es funktionieren:

Code: Select all

021   $relation = [THIS] -> get relation to race Player
022   $PlayerSector = [PLAYERSHIP] -> get sector
023   $PirateSector = [THIS] -> get sector
024   
025   * check, get, set and store some data
026   if $PirateSector == $PlayerSector
027    if $relation == Feind
028     $commdistance = get distance between [THIS] and [PLAYERSHIP]
029     while $commdistance > 8000
030      if $PirateSector == $PlayerSector
031       $commdistance = get distance between [THIS] and [PLAYERSHIP]
032       $PlayerSector = [PLAYERSHIP] -> get sector
033       $PirateSector = [THIS] -> get sector
034      else if not $PirateSector == $PlayerSector
035       goto label startcheck
036      end
037 @    = wait randomly from 2000 to 3000 ms
038      break
039     end
040     while $commdistance < 8000 AND $commdistance > 4000
041      if $PirateSector == $PlayerSector
042       $commdistance = get distance between [THIS] and [PLAYERSHIP]
043       $PlayerSector = [PLAYERSHIP] -> get sector
044       play sample 1103
045      else if not $PirateSector == $PlayerSector
046       goto label startcheck
047      end
048 @    = wait 3000 ms
049      break
050     end
051     $OwnerRace = [THIS] -> erhalte korrekten Eigentümer
Ich habs als HOTFIX hochgeladen aber es ist noch nicht im Mod integriert.
Sollte jmd Fehler erkennen - bitte anprangern ;)

User avatar
GehirnPfirsich
Posts: 1128
Joined: Tue, 3. Jan 06, 23:55
x3

Post by GehirnPfirsich » Tue, 26. Jun 07, 10:03

schöne arbeit kann ich immer wieder sagen.

was ganz schön wäre, wäre die farblichen markierungen zu entfernen. mit der markierung weiß ich ja direkt wonach ich ausschau halten muss um zu kapern/waren zu ergattern. Du könntest ja 4 Versionen deiner Mod zum Dload bereitstellen. 2 Zu XTM jeweils eine Mit und ohne Farben und das gleiche zu vanilla 2.0.02 ;)


Greetings GP

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

Post by Lucike » Tue, 26. Jun 07, 10:21

Ist der "Break" in Zeile 38 wirklich so gewollt, da du auch anstatt eine While-Schleife eine einfache If-Abfrage einfügen könntest? Aber die Schleife soll ja bestimmt so lange schleifen, bis die Distanz stimmt. Genauso Zeile 49.

Gruß
Lucike

Tipp:

<RetVar/IF> <RefObj> is in same sector as <Var/Ship/Station>
aber noch eleganter wäre:
<RetVar/IF> <RefObj> get sectorObject ID

Code: Select all

026   if [THIS]-> get sectorObject ID
027    if $relation == Feind 
028     $commdistance = get distance between [THIS] and [PLAYERSHIP] 
029     while $commdistance > 8000 
030      if [THIS]-> get sectorObject ID 
031       $commdistance = get distance between [THIS] and [PLAYERSHIP] 
034      else if not [THIS]-> get sectorObject ID 
035       goto label startcheck 
036      end 
037 @    = wait randomly from 2000 to 3000 ms 
039     end 
040     while $commdistance < 8000 AND $commdistance > 4000 
041      if [THIS]-> get sectorObject ID 
042       $commdistance = get distance between [THIS] and [PLAYERSHIP] 
044       play sample 1103 
045      else if not [THIS]-> get sectorObject ID 
046       goto label startcheck 
047      end 
048 @    = wait 3000 ms 
050     end 
Image

User avatar
o1ofco2
Posts: 1032
Joined: Mon, 2. Feb 04, 20:30
x4

Post by o1ofco2 » Tue, 26. Jun 07, 17:27

@GehirnPfirsich
danke erstmal für die Blumen :)
Zur geschichte mit der Farbe:
es war von mir so angedacht, dass die Schiffe verschiedene Farben haben um die Vielfalt zu erhöhen und der Tuninggeilheit der Piraten etwas mehr Ausdruck zu verleihen.
Wenn dir zbsp. das Rosa nicht gefällt (was der am einfachsten zu kapernde ist) musst du dich mehr anstrengen um an die (für viele spieler warscheinlich) 'schöneren Farben zu kommen... im Endeffekt sind die Schiffe von den werten her eh alle gleich...
Und zu dieser "mit der markierung weiß ich ja direkt wonach ich ausschau halten muss"-sache kann ich nur sagen: Schau auf die Map - dort siehst du unabhängig von der Farbe die Schiffsbezeichnungen (Flugschule, Chemikalientransport, Waffenhändler Piratenschiff, Wertguttransport Piratenschiff...)
Also mir fallen die Farben nur im vorbeiflug (wenn ich grad mal nicht auf der Map ausschau halte) auf...
ich werde mal eine umfrage starten ob Farben weniger gewünscht sind und dann ggf. eine angepasste version erstellen ;)
Doch zuvor muss ich das ganze teil erstmal Bugfrei bekommen :oops:


@Lucike
nun, while-schleifen hab ich erst letztes wochenende begriffen...
die "Breaks" sollen die schleifen stoppen sobald die werte sich so verändern, dass die schleifen verlassen werden und der code weiter fortgesetzt wird.
(in meinem 'annäherungstestscript hab ich ehrlich gesagt keinen unterschied zuwischen 'mit Break' und 'ohne Break' feststellen können :gruebel: )

Und JA, es sollte schon solange 'geschliffen' werden biss das Zielschiff die grenzwerte unterschreitet (schleifen bis Zielschiff unter 8km ran ist; dann in der nächsten schleife 'weiterschleifen' bis der nächste schwellwert unter-, bzw überschritten ist)
Wichtig dabei ist auch, dass der Pointer zwischen den beiden schleifen hin und herspringen kann wenn die werte sich soweit verändern, dass sie für die jeweilig aktive Schleife nicht mehr zutreffen... klingt bissl kompliziert aber es ist halt inGame auch bissl kompliziert, die ganze Geschichte :roll:

Auf jeden fall werde ich mir mal deinen Vorschlag anschauen - sieht vielversprechend aus ;)


EDIT:
so, bevor ich was falsches hochlade (den selbsttest werde ich gleich starten) schaut doch mal bitte drüber ob ihr noch irgendwelche ungereimtheiten finden könnt, danke :)
(ich mag es eigendlich nicht soviel code in posts zu stopfen aber diesmal muss es einfach sein)

Code: Select all

009   startcheck:
010   
011   * --------------------------------------------------------------------------------
012   * check if its not owned by player OR pilot has eject
013   *skip if not $OwnerRace == Player OR $OwnerRace == null
014   skip if not $OwnerRace == Player
015    return null
016   * --------------------------------------------------------------------------------
017   
018   
019   * --------------------------------------------------------------------------------
020   * MainLoop - check if it has turned to RED or is it NEUTRAL to player
021   * --------------------------------------------------------------------------------
022   $relation = [THIS] -> get relation to race Player
023   
024   * check, get, set and store some data
025   if [THIS] -> get SectorObject ID
026    if $relation == Feind
027     $commdistance = get distance between [THIS] and [PLAYERSHIP]
028     while $commdistance > 8000
029      if [THIS] -> get SectorObject ID
030       $commdistance = get distance between [THIS] and [PLAYERSHIP]
031      else if not [THIS] -> get SectorObject ID
032       goto label startcheck
033      end
034 @    = wait randomly from 2000 to 3000 ms
035     end
036     while $commdistance < 8000 AND $commdistance > 4000
037      $OwnerRace = [THIS] -> get owner race
038      if [THIS] -> get SectorObject ID
039       $commdistance = get distance between [THIS] and [PLAYERSHIP]
040       play sample 1103
041       skip if not $OwnerRace == Piraten
042        break
043      else if not [THIS] -> get SectorObject ID
044       goto label startcheck
045      end
046 @    = wait 3000 ms
047     end
048     
049   * prepare to AND discover the real Pirate
050     $old.command = [THIS] -> get command
051     [THIS] -> set local variable: name='old.command' value=$old.command
052     [THIS] -> set pirate cover state to [FALSE]
053     [THIS] -> set race logic control enabled to [FALSE]
054     = speak text: page=13 id=1271 priority=10 *<-Tussi labert: Warnung*
055     = speak text: page=13 id=2005 priority=10 *<-T.labert: Ziel lokalisiert*
056 @   = wait randomly from 1000 to 2000 ms
057     
058   * keep fighting while PlayerSector is same as PirateShipSector
059     while [THIS] -> get SectorObject ID
060      [THIS] -> interrupt task 303 with script 'plugin.o1ofco2.PirateShip.attack' and prio 10: arg1=[PLAYERSHIP] arg2=$old.command arg3=null arg4=null
061 @    = wait randomly from 1000 to 2000 ms
062      break
063     end
064     
065   * turn back to cover-state and move on with last trade-command
066     if not [THIS] -> get SectorObject ID
067      [THIS] -> set attack target to null
068      [THIS] -> set attacker to null
069      [THIS] -> set pirate cover state to [TRUE]
070      [THIS] -> set command: $oldCommand
071 @    = wait randomly from 1000 to 2000 ms
072     end
073     goto label startcheck
074    end
075   end
076   
077 @ = wait 10000 ms
078   goto label startcheck
079   * --------------------------------------------------------------------------------
080   * Main-Loop-End
081   * --------------------------------------------------------------------------------
082   
083   return null
Fragen:
Zeile 013: ich möchte, dass das script stopt wenn das schiff dem spieler gehört ODER der Pilot ausgestiegen ist. kann ich diese zeile so lassen oder gibt es keine 'null'-race?


thx und LG
-o1 :)
Last edited by o1ofco2 on Tue, 26. Jun 07, 19:27, edited 1 time in total.

User avatar
GehirnPfirsich
Posts: 1128
Joined: Tue, 3. Jan 06, 23:55
x3

Post by GehirnPfirsich » Tue, 26. Jun 07, 18:49

der code wird schons eine richtigkeit haben aber was ich nichts o ganz verstehe ist wieso du immer mit THIS arbeitest und nicht anstatt dem THIS eine lokale bzw Gloable variable verwendest. so wie ich das verstehe ist THIS der transporter weshalb ich denke das man ihn auch in einer Variable speichern könnte..

Greetings GP

ich denke zu 013 das müsste heißen

Code: Select all

skip if ownerrace == player
sonst würde er das script die ganze zeit stoppen bis das schiff dem spieler gehört und dann würde er es erst starten.

User avatar
o1ofco2
Posts: 1032
Joined: Mon, 2. Feb 04, 20:30
x4

Post by o1ofco2 » Tue, 26. Jun 07, 19:23

GehirnPfirsich [FIS] wrote:der code wird schons eine richtigkeit haben aber was ich nichts o ganz verstehe ist wieso du immer mit THIS arbeitest und nicht anstatt dem THIS eine lokale bzw Gloable variable verwendest. so wie ich das verstehe ist THIS der transporter weshalb ich denke das man ihn auch in einer Variable speichern könnte..

Greetings GP
[THIS] ist ja schon eine art Lokale Variable und damit bekommt jeder Transporter sein eigenes script was auch unabdingbar ist.
Bei einer globalen variable würden wenn mehrere Transporter im Spielersektor sind doch alle ein und dasselbe script am laufen haben womit wenn ich einen angreife gleich alle im System am hals haben würde... oder nicht?

GehirnPfirsich [FIS] wrote: ich denke zu 013 das müsste heißen

Code: Select all

skip if ownerrace == player
sonst würde er das script die ganze zeit stoppen bis das schiff dem spieler gehört und dann würde er es erst starten.
"$OwnerRace" ist eine variable welche die rasse des Piloten enthält ->
"überspringe wenn: Variableninhalt NICHT GLEICH player ist" d.h. solange die Variable $OwnerRace nicht den wert PLAYER beinhaltet sringt er drüber (über zeile 015 welche die beendigung des scriptes bewirken würde) :P
...alles bissl haaring, die sache mit den "if not" ... *einweiteresRedBullöffnet* 'Prost' :mrgreen:

btw: das ganze hier ist übrigens mein erstes Projekt/Script was dermaßen komplex (für mich) ist... also verzeiht mir diverse sachen wie zbsp. "if [THIS] -> exist" (war übrigens auch im script drin - ganz am anfang :lol: )
..man lernt halt die ganze zeit weiter ;)

LG
-o1

PS: @GehirnPfirsich
die sache mit der Map und dem anhängsel "Piratenschiff" lässt sich wegretuschieren - damit wirds nichtmehr so leich sie auf der Map zu entdecken... wär das was?
Last edited by o1ofco2 on Tue, 26. Jun 07, 19:29, edited 1 time in total.

User avatar
GehirnPfirsich
Posts: 1128
Joined: Tue, 3. Jan 06, 23:55
x3

Post by GehirnPfirsich » Tue, 26. Jun 07, 19:28

"$OwnerRace" ist eine variable welche die rasse des Piloten enthält ->
das muss man mir natürlich sagen. ich hatte es genau andersherum verstanden das die ownerrace die rasse des piratenenthält und das du überspringen willst wenn sie dem spieler gehört. aber so wie du es meinst ist natürlich

Code: Select all

skip if not
richtig.


Greetings GP

User avatar
o1ofco2
Posts: 1032
Joined: Mon, 2. Feb 04, 20:30
x4

Post by o1ofco2 » Tue, 26. Jun 07, 20:15

ähm... ich glaub mir wächst langsam blumenkohl im kopf....
ich hab mal das "Setze in jeden sektor Sateliten aus"-Cheatscript aktiviert um nach einem NewGame-Start mal zu schauen was so los ist und ich hab dinge gesehen, die wollen mir nicht in den kopf :o

einzelne teladi-transporter, die mir Feindlich gesinnt sind die ich aber nach anfunken und "um verzeihung bitten" auf neutral stellen konnte .. (mein script hat die nicht ROT gemacht)

und dann das hier: (2 minuten nach Neustart: Bankrotter Attentäter)
[ external image ]
Die beiden Roten kreise markieren Schiffe, die durch mein Mod erstellt wurden.
Doch wieso sind die einen Feind und die anderen Neutral?
Die Argonen sind normalerweise auf Neutral und die Boronen auf Feind gestellt. Aber auf dem Screen wiederspricht sich das ganze... :o

Ich hab mich nach dem entfernen des Blumenkohls aus meinem Hirn und nach eingehendem nachdenken zu folgender "Lösung" des "Rot oder Nicht Rot"-Problems entschieden:
Ich setze einfach folgende zeile mit der ich einfach aber effektiv dem Problem aus dem weg gehen kann:

Code: Select all

008   [THIS] -> set relation against Player to Neutral
Dies setzt die Ausgangslage der einzelnen Schiffe auf Neutral und was später passiert ist dem Spieler überlassen ;)

was meint ihr dazu?


EDIT:
hach, es ist zum haareraufen :evil:
der versuch mit Zeile 008 funzt nicht da die KI andauern die Rassendaten updatet womit die Zeile 008 überflüssig/wirkungslos wird.

ich hab jetzt den großen holzhammer rausgeholt und meinen ersten Gedanken zu diesem Problem in code gebannt - nicht ganz die sauberste lösung aber mir fällt nichts weiter ein was ich noch machen könnte.

hab folgenden code anstatt der Zeile 008 eingesetzt:

Code: Select all

011   $FakeOwnerRace = [THIS] -> get owner race
012   if $FakeOwnerRace
013    $relation = [THIS] -> get relation to race Player
014    if $relation != Neutral
015     [THIS] -> destruct: show no explosion=[TRUE]
016     return null
017    end
018   end
damit wird das schiff nach dem respawn wieder zerstört sollte es einer feindlich gesinnten Rasse angehören. (Pilotwechsel hab ich auch getestet aber da hatte beim test ein Teladi mit Boronenstimme gelabert... löl)

das einzige problem was derzeit noch besteht ist, dass sich dieses script nach dem kapern nicht beendet :gruebel:
folgender code wäre dafür aber zuständig:

Code: Select all

029   * check if its not owned by player OR pilot has eject
030   $OwnerRace = [THIS] -> get owner race
031   skip if not $OwnerRace == Player OR $OwnerRace == Neutrale
032    return null
(hinweis: dies liegt innerhalb der Goto-schleife)
hier nen creen eines frisch gekaperten schiffes (was da nöch läuft ist der Task meines scripts)
screen
das "IntReq=YES" wechselt nach ca 10sekunden ganz kurz auf "NO" - hab leider keinen blassen was das sein könnte...

kann mir bitte jmd nen rat dazu geben?
LG
-o1

EDIT2:
habs, es hing in ner schleife fest...
ich werd das ganze mal neu packen und den Download updaten (update: neue Versionen sind oben)

User avatar
o1ofco2
Posts: 1032
Joined: Mon, 2. Feb 04, 20:30
x4

Post by o1ofco2 » Fri, 29. Jun 07, 18:57

sooooo... alles gefixt, rebalanced und Downloads geupdatet... :D

neue updates kommen wenn XTM wieder neue fixes bekommt ;)


viel spass beim Piratenjagen und Piratspielen :xt:M

LG
-o1 :)

Mailo
Posts: 1901
Joined: Wed, 5. May 04, 01:10
x3

Post by Mailo » Sun, 8. Jul 07, 13:13

Nochmal vielen Dank fuer dieses Skript, es macht echt Spass, Piratentransporter aufzuspueren und zu jagen. Do solltest das Skript auch im englischen Forum anbieten, ich bin mir sicher viele wuerden sich darueber freuen.

Blinki1984
Posts: 245
Joined: Sat, 14. Feb 04, 11:15
x3

Post by Blinki1984 » Sun, 8. Jul 07, 14:10

Die Downloaddateinen verwirren mich ein wenig.

Welche Daten muss ich herunterladen, um sie mit XTM 7.2 spielen zu können???

Vielleicht könntest du die Downloads etwas übersichtlicher gestallten.

User avatar
o1ofco2
Posts: 1032
Joined: Mon, 2. Feb 04, 20:30
x4

Post by o1ofco2 » Sun, 8. Jul 07, 15:21

Blinki1984 wrote:Die Downloaddateinen verwirren mich ein wenig.

Welche Daten muss ich herunterladen, um sie mit XTM 7.2 spielen zu können???
für die aktuelle Version vom XTM (v0.7.2) ist es der unterste Downloadlink (PirateShipReloadet_XTMv0.7.2_v1.1b_c_nc.zip"XTMv0.7.2-Version")

Blinki1984 wrote: Vielleicht könntest du die Downloads etwas übersichtlicher gestallten.
eigendlich steht alles soweit geschrieben - in der Versions-Historie kannst du nachlesen welcher Download für welche Version von X³ kompatibel ist...
Ich habs aber mal etwas übersichtlicher gestaltet ;)

Mailo wrote:Nochmal vielen Dank fuer dieses Skript, es macht echt Spass, Piratentransporter aufzuspueren und zu jagen.
danke für die Blumen und schön, dass es dir gefällt :)
Mailo wrote:Du solltest das Skript auch im englischen Forum anbieten, ich bin mir sicher viele wuerden sich darueber freuen.
Nun, bisher kam halt wenig bis keine resonanz (nur die aufrufe stiegen in die höhe) weshalb ich keine weiteren Anstalten geplant hatte... aber mal sehen, vielleicht mach noch nen hinweis ins englische forum :roll:

LG
-o1 :)

Mailo
Posts: 1901
Joined: Wed, 5. May 04, 01:10
x3

Post by Mailo » Sun, 15. Jul 07, 12:52

Ich habe im Moment das Problem, dass mein X3 ca. 2 Minuten nach dem Laden eines Spielstandes komplett einfriert und zu 50% durch den Taskmanager abgeschossen werden muss, zu 50% sogar einen Reboot braucht.

Nach langer suche habe ich es auf die Mod-Datei des Piratentransporters zurueckgefuehrt, wenn ich die entferne, laeuft alles weiter, mit ihr (auch ohne die Skripte), habe ich max. 2 Minuten.

Kurz bevor es zum ersten Mal aufgetreten ist, habe ich an den Skripten herumgespielt, ich wollte, dass die Militaertransporter auch Alpha Kyonen transportieren (fuer die Piraten Kea in XTM). Kann es sein, dass das simple einfuegen einer Ware in einer der Listen im Skript das ausloest?

Ich bin mir nicht 100%ig sicher, dass es wirklich am Mod liegt, da ich die Jobs.txt Datei dazu benutzt habe, zusaetzlich installierte Schiffe (hauptsaechlich DDRS) ins Spiel zu bringen.
Allerdings liegt diese Aenderung ca. einen Tag Spielzeit zurueck, und bisher lief alles problemlos, die neuen Schiffe sind aufgetaucht.

Post Reply

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