Khaak und Xenon Rank als Race-Rank

Hier ist der ideale Ort um über Scripts und Mods für X³: Terran Conflict und X³: Albion Prelude zu diskutieren.

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

Charles Monroe
Posts: 1596
Joined: Fri, 7. Apr 06, 14:47
x3tc

Khaak und Xenon Rank als Race-Rank

Post by Charles Monroe » Thu, 12. Dec 13, 11:22

Hallo
Ich wollte mir die Ränge von Yaki, Piraten, Xenon und Khaak anzeigen lassen und bin dabei auf dieses hier

http://forum.egosoft.com/viewtopic.php?t=307436

gestossen. Meine Frage ist jetzt, ob ich die Ränge für Xenon und Khaak auch irgendwie in den oberen Kasten bei den Völkerrängen bekomme, statt in den der Missionsränge... wenn ja, wie geht das?
Du weisst, dass du X angefangen hast, wenn du in der Flugschule den Autopiloten benutzt und der Fluglehrer dich fragt, wo du hin willst.

User avatar
ubuntufreakdragon
Posts: 5195
Joined: Thu, 23. Jun 11, 14:57
x4

Post by ubuntufreakdragon » Thu, 12. Dec 13, 13:05

Soweit ich weis sind die Firmenränge per MD anzeigbar, die Raceränge aber nur per Hardcode, also nö, die bleiben im Bereich Firmenränge, oder ich grab mal nach russischen Tools zum ändern des Hardcodes, könnte sehr kompliziert werden.
My X3 Mods

XRebirth, things left to patch:
In General; On Firing NPC's; In De Vries; Out Of Zone; And the Antiwishlist

Chaber
Posts: 6693
Joined: Wed, 6. Nov 02, 20:31
x4

Post by Chaber » Thu, 12. Dec 13, 22:40

mal abgesehen davon das verwerkeln des Hardecodes illigal sein dürfte..
Du empfindest Xenon "langweilig", Khaak nur "lästig" und willst einen richtigen Feind in einem nagelneuem Universum?
Dann warte auf meinen Mod, "den" Feind wirst du hassen lernen ;) -> Mapper/Skripter (auch MD) und Modder gesucht, melden per PN bei Interesse.
Forumsthread - - - NW-Modforum

User avatar
X2-Illuminatus
Moderator (Deutsch)
Moderator (Deutsch)
Posts: 24965
Joined: Sun, 2. Apr 06, 16:38
x4

Post by X2-Illuminatus » Thu, 12. Dec 13, 23:09

Nein, ist es nicht. Bernd hat schon vor einigen Jahren die Erlaubnis gegeben. enenra hat das seinerzeit auch irgendwo gepostet. Ich finde den Beitrag aber gerade nicht.
Nun verfügbar! X3: Farnham's Legacy - Ein neues Kapitel für einen alten Favoriten

Die komplette X-Roman-Reihe jetzt als Kindle E-Books! (Farnhams Legende, Nopileos, X3: Yoshiko, X3: Hüter der Tore, X3: Wächter der Erde)

Neuauflage der fünf X-Romane als Taschenbuch

The official X-novels Farnham's Legend, Nopileos, X3: Yoshiko as Kindle e-books!

Chaber
Posts: 6693
Joined: Wed, 6. Nov 02, 20:31
x4

Post by Chaber » Thu, 12. Dec 13, 23:41

Wenns inszwischen erlaubt worden ist, dann ist´s gut ;), damals *ewig her* wars jedenfalls nicht erlaubt.
Du empfindest Xenon "langweilig", Khaak nur "lästig" und willst einen richtigen Feind in einem nagelneuem Universum?
Dann warte auf meinen Mod, "den" Feind wirst du hassen lernen ;) -> Mapper/Skripter (auch MD) und Modder gesucht, melden per PN bei Interesse.
Forumsthread - - - NW-Modforum

Guest

Post by Guest » Fri, 13. Dec 13, 01:15

ubuntufreakdragon wrote:Soweit ich weis sind die Firmenränge per MD anzeigbar ...
... man kann sich jeden "stuss" in der "firmenrang-liste" anzeigen lassen ;)
... einfach ein paar einträge unter pageID 900, je nachdem, welchen rang & welche textid du dann eingibst, wird dann der text angezeigt:

{900,textid+rangnr.} // befehl <set_mission_rank/>

... gleiches gilt übrigens für die errungenschaften (pageID 35 & befehl <increment_statistic/>)

... mal ´ne "blöde" frage: inwiefern lassen sich die xenon-/khaak-ränge verändern ??
--> sind die nicht IMMER feindlich (rangunabhängig) ??

Charles Monroe
Posts: 1596
Joined: Fri, 7. Apr 06, 14:47
x3tc

Post by Charles Monroe » Fri, 13. Dec 13, 02:08

X2-Illuminatus wrote:Nein, ist es nicht. Bernd hat schon vor einigen Jahren die Erlaubnis gegeben. enenra hat das seinerzeit auch irgendwo gepostet. Ich finde den Beitrag aber gerade nicht.
Für sich privat am Code "rumwerkeln" (reverse Engineering) ist keinesfalls illegal, so kann man als Entwickler feststellen, wie das ein oder andere umgesetzt wurde. In eigener Software wird man den entdeckten Code ohnehin kaum selber verwenden können, man weiß aber was man machen muss, um das Gesehene zu erreichen. Erlaubt war so etwas schon immer, bestes Beispiel dazu dürfte der U880-Prozessor aus der deutschen demokratischen Republik sein, welcher eindeutig ein Z80-Prozessor war.
Was allerdings verboten bleibt, ist per RE einen Kopierschutz zu entfernen, um die geschützte Sache an sich privat weiter zu vertreiben.
Ich zum Beispiel wollte vor längerer Zeit schon mal in Erfahrung bringen, wie bei Egosoft diese Signaturgeschichte "*** modified ***" funktioniert und muss sagen, dass Entdeckte hat mich ein wenig beeindruckt. Ob Egosoft irgendwann die "Gegenstelle" dazu auch veröffentlicht? Denke mal nicht.
Und wo ich grad' beim Thema bin... Egosoft täte auch gut daran, sich mal Quellcode der ein oder anderen Fremdengine anzusehen, damit sie endlich mal eine vernünftige KI hinbekommen.

Aber zurück zur eigentlichen Problematik:
Ich habe gesehen, dass in den Texten der Sprachdateien des öfteren Variablen verwendet werden. Nun hatte ich mir gedacht, dass man eine solche ja vor den Namen einer Rasse einfügen könnte, welche man dann mit einem String auffüllt, welche die Anzeige um die fehlenden Rassen ergänzt. Das habe ich mal versucht, indem ich "Argonen" (P1266ID1) in "{variable}Argonen" geändert habe. Dann habe ich die "variable" initialisiert, aber irgendwie wird sie nicht entsprechend ersetzt, im Menü taucht dann halt "{variable}Argonen" statt "TEXT\nArgonen" auf. Was läuft da denn falsch?

@JohnFerson: Das mit PID 900 ist ja bekannt. es geht aber mehr darum Xenon und Khaak (von mir aus auch Yaki und andere Rassen) als Völkerränge anzeigen zu lassen, also PID 23 und folgende.
Xenon und Khaak kan man per Script natürlich auch freundlich machen, indem deren Notoriety-Wert in den Bereich -4 legt. Erst -5 (-1000000) ist entgültig feindlich, soviel konnte ich schon herausfinden.
Du weisst, dass du X angefangen hast, wenn du in der Flugschule den Autopiloten benutzt und der Fluglehrer dich fragt, wo du hin willst.

Guest

Post by Guest » Fri, 13. Dec 13, 04:22

Charles Monroe wrote:Nun hatte ich mir gedacht, dass man eine solche [variable] ja vor den Namen einer Rasse einfügen könnte, welche man dann mit einem String auffüllt, welche die Anzeige um die fehlenden Rassen ergänzt. Das habe ich mal versucht, indem ich "Argonen" (P1266ID1) in "{variable}Argonen" geändert habe. Dann habe ich die "variable" initialisiert, aber irgendwie wird sie nicht entsprechend ersetzt, im Menü taucht dann halt "{variable}Argonen" statt "TEXT\nArgonen" auf. Was läuft da denn falsch?
... nix machste falsch ;) ... du kannst ganz einfach keine text-file ingame setzen, das sind so gesehen keine variablen !!
... was gehen würde, ist, den entsprechenden texteintrag auf ´nen anderen zu verweisen:

Code: Select all

<page id="1266">
 <t id="1">Argon {23,100}</t>
</page>
... ist aber nicht dynamisch (bzw. ingame) veränderbar


@ xenon-/khaak-rang usw. ... wie sieht´s bei respawnenden schiffen aus ??
... achja, und mach´ dich von der vorstellung los, die beziehung zum player hinge maßgeblich von notoriety ab ;)
=> wie könnte dich sonst ein argon M1 angreifen, wenn du den allerhöchsten rang hast & es mit ´n paar "schüsschen" provozierst ?? ^^
// notoriety & relation sind 1,5 paar schuhe :roll: *link*

Charles Monroe
Posts: 1596
Joined: Fri, 7. Apr 06, 14:47
x3tc

Post by Charles Monroe » Fri, 13. Dec 13, 05:23

Also ich will ja den Völkerrang nur beim Völkerrang anzeigen. wenn Xenon und Khaak auf -3 oder -4 stehen, besteht noch die Möglichkeit, dass man sich bei denen auch einschleimen kann, wie z.B. bei den Terranern (bzw den Argonen) in AP.
mit Variablen in den Text-Konserven meinte ich so etwas hier:

Code: Select all

<page id="383383" title="L2 Dual Convoy" descr="0" voice="no">
 <t id="183010">In letzter Zeit verliere ich ständig Konvois an die {lookup.race.name@{param@EnemyRace}}. Ich muss in Kürze wieder zwei Konvois losschicken.\nIch brauche jemanden, der sie beschützt.</t>
</page>
{lookup.race.name...} ist ein Funktionsaufruf oder eine Variable, die durch irgendwas irgendwo ersetzt wird. Leider weis ich nicht wie und wo das geht.
Du weisst, dass du X angefangen hast, wenn du in der Flugschule den Autopiloten benutzt und der Fluglehrer dich fragt, wo du hin willst.

Guest

Post by Guest » Fri, 13. Dec 13, 06:14

Charles Monroe wrote:... ich will ja den Völkerrang nur beim Völkerrang anzeigen.
... äähhh, geht´s ä bissl präziser ?! :D


Charles Monroe wrote:wenn Xenon und Khaak auf -3 oder -4 stehen, besteht noch die Möglichkeit, dass man sich bei denen auch einschleimen kann
... yupp, da hast du recht, beim "einschleimen" (bzw. per scannen) hat´s durchaus was zu sagen

Charles Monroe wrote:{lookup.race.name...} ist ein Funktionsaufruf oder eine Variable, die durch irgendwas irgendwo ersetzt wird. Leider weis ich nicht wie und wo das geht.

Code: Select all

{lookup.race.name@race} ... Race name associated with the specified race lookup value
... das ist ´ne MD variable, die von ´nem MD-script eingelesen wird, und dieses {param@EnemyRace} wurde dem MD-script von ´nem anderen übermittelt
... von diesen variablen gibt´s ´ne ganze menge, die datei, die all diese enthält, heißt "director.xsd" (zu finden in den .cat-files, darstellbar im internet-explorer)
... ach, jetzt, wo du das erwähnt hast, ging mir ´n lichtlein auf ^^

... probier mal sowas wie:

Code: Select all

<page id="1266"> 
 <t id="1">Argon {lookup.notoriety.argon.name@{player.notoriety.argon}}</t> 
</page> 
... nicht vergessen, diesen text-eintrag "irgendwie" (per MD oder SE) zu laden ;)

Charles Monroe
Posts: 1596
Joined: Fri, 7. Apr 06, 14:47
x3tc

Post by Charles Monroe » Fri, 13. Dec 13, 06:27

JonfersonSDD wrote:
Charles Monroe wrote:... ich will ja den Völkerrang nur beim Völkerrang anzeigen.
... äähhh, geht´s ä bissl präziser ?! :D
ääähhhh.... auch äähhhh... :lol:
Ich meine: Xenon und Khaak sind Völker und da wollte ich, dass mein Rang dort auch als Völkerrang angezeigt wird und nicht als Missionsrang.

Das mit dem "lookup" hab ich mal flüchtig ausprobiert... funktioniert natürlich nicht...
Du weisst, dass du X angefangen hast, wenn du in der Flugschule den Autopiloten benutzt und der Fluglehrer dich fragt, wo du hin willst.

Charles Monroe
Posts: 1596
Joined: Fri, 7. Apr 06, 14:47
x3tc

Post by Charles Monroe » Sat, 14. Dec 13, 15:22

@JonfersonSDD: Anscheinend hattest du doch recht mit den Rängen. Xenon und Khaakränge ändern sich nicht nach einem Abschuss aber man kann sie per Script ändern. Meine Idee ist nun, diese über ein Event-System ähnlich dem Bounty-System des XRM zu ändern, das registriert ja auch alle Kills. Hab irgendwo gelesen, dass es bereits Scripte in diese Richtung geben soll, nur leider finde ich keine. Das XRM ist auch leider ein wenig zu Umfangreich, so dass man da kaum die erforderlichen Kenntnisse herausfiltern kann. Gibt es für so ein Event-System evtl irgendwo ein Tutorial? Das dürfte dann auch in Englisch sein. Am besten wäre natürlich gleich ein passendes Script.

Was ich mich frage... wie kommt einer auf die Idee, sich unveränderliche Ränge überhaupt anzeigen zu lassen.

Naja... wie dem auch sei. Gibt es eigentlich eine Formel dafür, wie sich die Rangänderung errechnet? Da müsste doch eigentlich massig was reinspielen, z.B. Dinge wie Schiffs- Stationsklasse und Kampfrrang.
Du weisst, dass du X angefangen hast, wenn du in der Flugschule den Autopiloten benutzt und der Fluglehrer dich fragt, wo du hin willst.

Guest

Post by Guest » Sat, 14. Dec 13, 16:29

Charles Monroe wrote:Meine Idee ist nun, diese über ein Event-System ähnlich dem Bounty-System des XRM zu ändern, das registriert ja auch alle Kills. Hab irgendwo gelesen, dass es bereits Scripte in diese Richtung geben soll, nur leider finde ich keine. Das XRM ist auch leider ein wenig zu Umfangreich, so dass man da kaum die erforderlichen Kenntnisse herausfiltern kann. Gibt es für so ein Event-System evtl irgendwo ein Tutorial? Das dürfte dann auch in Englisch sein. Am besten wäre natürlich gleich ein passendes Script.
... das ist dermaßen einfach zu scripten, das zeig´ ich dir einfach mal ;):

Code: Select all

<?xml version="1.0" encoding="utf-8" ?>
<?xml-stylesheet href="director.xsl" type="text/xsl" ?>
<director name="test" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="director.xsd">

  <cues>

    <cue version="1" name="blablablauswbla" instantiate="static">

      <condition>
        <check_all>
          <player_killed_object/>
        </check_all>
      </condition>

      <action>
        <do_all>
          <do_if value="{event.object@player_killed_object}" exact="1">
            <!--dieser code wird immer ausgeführt, sobald der spieler ein objekt zerstört-->
            <incoming_message silent="1" text="... bist wieder mal auf aggro oder was ?! *smile*"/>
          </do_if>
        </do_all>
      </action>
      
    </cue>
    
  </cues>
  
</director>
... alles, was im <action> block steht, wird beim event "player_killed_object" ausgeführt ... fehlt nur noch ´ne formel zum berechnen des rang-abzugs /-anstiegs ;)

Charles Monroe wrote:Was ich mich frage... wie kommt einer auf die Idee, sich unveränderliche Ränge überhaupt anzeigen zu lassen.
... kein plan :? ... ich würd´s einfach bei den missions-rängen stehen lassen

Charles Monroe wrote:Gibt es eigentlich eine Formel dafür, wie sich die Rangänderung errechnet? Da müsste doch eigentlich massig was reinspielen, z.B. Dinge wie Schiffs- Stationsklasse und Kampfrrang.
... lass´ mal deine mathematische kreativität freien lauf :D
// ich kenn´ zwar keine, kann aber deine umsetzen ^^ (sofern du keine DGL o.ä. haben willst)

Charles Monroe
Posts: 1596
Joined: Fri, 7. Apr 06, 14:47
x3tc

Post by Charles Monroe » Sat, 14. Dec 13, 16:57

JonfersonSDD wrote:
Charles Monroe wrote:Meine Idee ist nun, diese über ein Event-System ähnlich dem Bounty-System des XRM zu ändern, das registriert ja auch alle Kills. Hab irgendwo gelesen, dass es bereits Scripte in diese Richtung geben soll, nur leider finde ich keine. Das XRM ist auch leider ein wenig zu Umfangreich, so dass man da kaum die erforderlichen Kenntnisse herausfiltern kann. Gibt es für so ein Event-System evtl irgendwo ein Tutorial? Das dürfte dann auch in Englisch sein. Am besten wäre natürlich gleich ein passendes Script.
... das ist dermaßen einfach zu scripten, das zeig´ ich dir einfach mal ;):

Code: Select all

<?xml version="1.0" encoding="utf-8" ?>
<?xml-stylesheet href="director.xsl" type="text/xsl" ?>
<director name="test" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="director.xsd">

  <cues>

    <cue version="1" name="blablablauswbla" instantiate="static">

      <condition>
        <check_all>
          <player_killed_object/>
        </check_all>
      </condition>

      <action>
        <do_all>
          <do_if value="{event.object@player_killed_object}" exact="1">
            <!--dieser code wird immer ausgeführt, sobald der spieler ein objekt zerstört-->
            <incoming_message silent="1" text="... bist wieder mal auf aggro oder was ?! *smile*"/>
          </do_if>
        </do_all>
      </action>
      
    </cue>
    
  </cues>
  
</director>
... alles, was im <action> block steht, wird beim event "player_killed_object" ausgeführt ... fehlt nur noch ´ne formel zum berechnen des rang-abzugs /-anstiegs ;)

Charles Monroe wrote:Was ich mich frage... wie kommt einer auf die Idee, sich unveränderliche Ränge überhaupt anzeigen zu lassen.
... kein plan :? ... ich würd´s einfach bei den missions-rängen stehen lassen

Charles Monroe wrote:Gibt es eigentlich eine Formel dafür, wie sich die Rangänderung errechnet? Da müsste doch eigentlich massig was reinspielen, z.B. Dinge wie Schiffs- Stationsklasse und Kampfrrang.
... lass´ mal deine mathematische kreativität freien lauf :D
// ich kenn´ zwar keine, kann aber deine umsetzen ^^ (sofern du keine DGL o.ä. haben willst)
Hey... supie... Danke.
Obwohl DGL? Isch hasse "abbreviations". :D
Du weisst, dass du X angefangen hast, wenn du in der Flugschule den Autopiloten benutzt und der Fluglehrer dich fragt, wo du hin willst.

Guest

Post by Guest » Sat, 14. Dec 13, 17:49

... zum thema ´´formel zur rangberechnung´´:

... es gibt ´ne vorgefertigte variable, die die "stärke" eines objekts darstellt
--> diese könnt´ man irgendwie dazu verwenden ;) (im zusammenspiel mit objektgröße z.B.)

Code: Select all

{object.strength@object} ... Overall strength rating of the specified object (sum of hull, shields and lasers)
z.B. (1+objektstärke) x (1+objektgröße/200) x (1+kampfrang/3)

kampfrang = 0 ... 30 (Xtreme)
objektgröße = ca. 20m ... ca. 4000m
objektstärke = ... ?????????

Charles Monroe
Posts: 1596
Joined: Fri, 7. Apr 06, 14:47
x3tc

Post by Charles Monroe » Sat, 14. Dec 13, 18:00

Charles Monroe wrote:Obwohl DGL? Isch hasse "abbreviations". :D
JonfersonSDD wrote:... zum thema ´´formel zur rangberechnung´´:

... es gibt ´ne vorgefertigte variable, die die "stärke" eines objekts darstellt
--> diese könnt´ man irgendwie dazu verwenden ;) (im zusammenspiel mit objektgröße z.B.)

Code: Select all

{object.strength@object} ... Overall strength rating of the specified object (sum of hull, shields and lasers)
z.B. (1+objektstärke) x (1+objektgröße/200) x (1+kampfrang/3)

kampfrang = 0 ... 30 (Xtreme)
objektgröße = ca. 20m ... ca. 4000m
objektstärke = ... ?????????
Ach Differentialgleichung meinst du... :lol:
Du weisst, dass du X angefangen hast, wenn du in der Flugschule den Autopiloten benutzt und der Fluglehrer dich fragt, wo du hin willst.

Guest

Post by Guest » Sat, 14. Dec 13, 19:20

... wenn du zeit hast, kannst du ja folgendes testen:

Code: Select all

<?xml version="1.0" encoding="utf-8" ?>
<?xml-stylesheet href="director.xsl" type="text/xsl" ?>
<director name="test" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="director.xsd">
  
  <cues>

    <cue version="1" name="XENON_RELATION" instantiate="static">

      <condition>
        <check_all>
          <player_killed_object/>
        </check_all>
      </condition>

      <action>
        <do_all>
          <do_if value="{event.object@player_killed_object}" exact="1">
            
            <!--objektgröße festlegen-->
            <do_choose>
              <do_when value="{object.size.m@{event.object@player_killed_object}}" min="3000">
                <set_value name="XENON_RELATION.objectsize" exact="15"/>
              </do_when>
              <do_when value="{object.size.m@{event.object@player_killed_object}}" max="30">
                <set_value name="XENON_RELATION.objectsize" exact="1"/>
              </do_when>
              <do_otherwise>
                <set_value name="XENON_RELATION.objectsize" exact="({object.size.m@{event.object@player_killed_object}}/200)"/>
              </do_otherwise>
            </do_choose>

            <!--objektstärke festlegen-->
            <do_choose>
              <do_when value="{object.strength@{event.object@player_killed_object}}" min="5000000">
                <set_value name="XENON_RELATION.objectstrength" exact="1000"/>
              </do_when>
              <do_when value="{object.strength@{event.object@player_killed_object}}" max="5000">
                <set_value name="XENON_RELATION.objectstrength" exact="1"/>
              </do_when>
              <do_otherwise>
                <set_value name="XENON_RELATION.objectstrength" exact="({object.strength@{event.object@player_killed_object}}/5000)"/>
              </do_otherwise>
            </do_choose>
            
            <!--rangpunkte festlegen-->
            <set_value name="XENON_RELATION.notorietypoints" exact="((1+{player.fightrank.rank}/3)*{value@XENON_RELATION.objectsize}*{value@XENON_RELATION.objectstrength})"/>
            
            <do_choose>
              <!--sektorrasse ungleich rasse des zerstörten objekts-->
              <do_when value="{object.race@{event.object@player_killed_object}}" exact="{sector.race@{player.sector}}" negate="1">
                <!--rangsteigerung nur, wenn sektorrasse = xenon/khaak-->
                <do_if value="{sector.race@{player.sector}}" list="{lookup.race@xenon}|{lookup.race@khaak}">
                  <reward_player>
                    <notoriety>
                      <relation mutual="1" exact="{value@XENON_RELATION.notorietypoints}" race="{sector.race@{player.sector}}" operation="add"/>
                    </notoriety>
                  </reward_player>
                </do_if>
                <!--rangabzug nur, wenn rasse des zerstörten objekts = xenon/khaak-->
                <do_if value="{object.race@{event.object@player_killed_object}}" list="{lookup.race@xenon}|{lookup.race@khaak}">
                  <reward_player>
                    <notoriety>
                      <relation mutual="1" exact="{value@XENON_RELATION.notorietypoints}" race="{object.race@{event.object@player_killed_object}}" operation="subtract"/>
                    </notoriety>
                  </reward_player>
                </do_if>
              </do_when>
              <!--sektorrasse gleich rasse des zerstörten objekts und zerstörten objekt = xenon/khaak, ergo rangabzug bei sektorbesitzer-->
              <do_when value="{sector.race@{player.sector}}" list="{lookup.race@xenon}|{lookup.race@khaak}">
                <reward_player>
                  <notoriety>
                    <relation mutual="1" exact="{value@XENON_RELATION.notorietypoints}" race="{sector.race@{player.sector}}" operation="subtract"/>
                  </notoriety>
                </reward_player>
              </do_when>
            </do_choose>
            
          </do_if>
        </do_all>
      </action>
      
    </cue>
    
  </cues>
  
</director>

Charles Monroe
Posts: 1596
Joined: Fri, 7. Apr 06, 14:47
x3tc

Post by Charles Monroe » Sun, 15. Dec 13, 11:22

Das funktioniert ja alles nur, bei "player_killed_object" oder "player_scanned_object" :(

Jetzt hab ich versucht in der director.xsd ein Element "player_attacked_object" hinzuzufügen, aber das wird irgendwie nicht erkannt. Im Editor taucht es auch an der richtigen Stelle auf, daran liegt es also schon mal nicht. Wenn ich raten müsste, würde ich sagen, dass in der Exe-Datei für das neue Element kein Pendant existiert.

Gibt es nicht irgendwie eine einfache Möglichkeit (am besten per Script) auf "killed", "attacked", "scanned" und evtl. noch "boarded" des Players oder PlayerObjekten zu reagieren?

Also ehrlich gesagt, frage ich mich überhaupt, wer sich erstens eine solch schwerfällige Script-Engine ausgedacht hat und Abhängigkeitswerte von irgendwelchen Rassen hardcoded... Das ist doch schon zur Entwicklungszeit ein epischer Fehler.
Du weisst, dass du X angefangen hast, wenn du in der Flugschule den Autopiloten benutzt und der Fluglehrer dich fragt, wo du hin willst.

Guest

Post by Guest » Sun, 15. Dec 13, 15:17

Charly wrote:Das funktioniert ja alles nur, bei "player_killed_object" oder "player_scanned_object" :(
... das war jetz´ nicht ´ne ernst gemeinte frage, oder ?! ^^
// inwiefern sollte sich das scannen eines xenon-schiffs auf notoriety auswirken :?
Charly wrote:Jetzt hab ich versucht in der director.xsd ein Element "player_attacked_object" hinzuzufügen, aber das wird irgendwie nicht erkannt. Im Editor taucht es auch an der richtigen Stelle auf, daran liegt es also schon mal nicht. Wenn ich raten müsste, würde ich sagen, dass in der Exe-Datei für das neue Element kein Pendant existiert.
... wenn du MD-scripten mit autovervollständigung willst, tue folgendes:
1. installiere MS Visual Web Developer // kostenlos & funzt problemlos, andere mögen zwar auch funzen, kenn´ mich disbzgl. aber überhaupt nicht aus
2. extrahiere und kopiere die allseits bekannten 6 director-files in deinen director-ordner // kannst auch einfach ´nen director-ordner auf´m desktop erstellen, damit nicht alles gleich installliert ist
3. kopier´ dir aus irendeinem MD-script den ´kopf´ der datei // alles außer das, was im <director> block steht, und speicher das als ´vorlage´
// davon erstellst du immer ´ne kopie, wenn du ´n neues script erstellst
Charly wrote:Gibt es nicht irgendwie eine einfache Möglichkeit (am besten per Script) auf "killed", "attacked", "scanned" und evtl. noch "boarded" des Players oder PlayerObjekten zu reagieren?
... ja, die gibt´s, einfach mit SE-signalen arbeiten, dazu musst du diese signale mit dein script per setup verknüpfen

Charly wrote:Also ehrlich gesagt, frage ich mich überhaupt, wer sich erstens eine solch schwerfällige Script-Engine ausgedacht hat und Abhängigkeitswerte von irgendwelchen Rassen hardcoded... Das ist doch schon zur Entwicklungszeit ein epischer Fehler.
... scripting in Xrebirth sieht nur noch so aus !! ^^
... ist zwar vieeel schwieriger & umständlicher, aber moddong-freundlicher // & ehrlich gesagt ist auch nur gewöhnungssache, trotzdem ist der SE 1000x ´intuitiver´

Charles Monroe
Posts: 1596
Joined: Fri, 7. Apr 06, 14:47
x3tc

Post by Charles Monroe » Sun, 15. Dec 13, 16:34

JonfersonSDD wrote:
Charly wrote:Das funktioniert ja alles nur, bei "player_killed_object" oder "player_scanned_object" :(
... das war jetz´ nicht ´ne ernst gemeinte frage, oder ?! ^^
// inwiefern sollte sich das scannen eines xenon-schiffs auf notoriety auswirken :?
Doch, das war ernstgemeint.
Bei den anderen Völkern wirkt sich Scannen ohne Lizenz auch auf die notoriety aus. Ich will die Xenon und die Khaak möglichst zu einem vollständigen Volk machen.

Also in Eclipse funzt das Directorn besser (liegt woh daran, das ich mich damit auskenne). Da hat man nicht blos CodeCompletion sondern auch noch einen NodeTree
CodeCompletion
NodeTree

Das funktioniert ja auch alles. Nur wenn man in der director.xsd selber Elemente hinzufügt, wird das nichts. Die werden im Editor zwar dann auch vorgeschlagen aber im Programm funktioniert das dann nicht.
Du weisst, dass du X angefangen hast, wenn du in der Flugschule den Autopiloten benutzt und der Fluglehrer dich fragt, wo du hin willst.

Post Reply

Return to “X³: Terran Conflict / Albion Prelude - Scripts und Modding”