Wie kann man eigene Namen für NPCs random verwenden.

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

Moderators: Moderators for English X Forum, Scripting / Modding Moderators

Cappy1401
Posts: 313
Joined: Sun, 27. Apr 08, 02:16
x4

Wie kann man eigene Namen für NPCs random verwenden.

Post by Cappy1401 » Fri, 11. Dec 15, 09:31

Weis einer was man in der charakter_macros.xml bei der identification für @random angeben muss.
Damit die gewünschten Namen für die NPCs random genutzt werden, die jedoch in der t.xml eine andere Pageid haben, als die wo schon vorhanden sind?

Zeile aus der charakter_macros.xml um die es geht.

Code: Select all

<identification name="@random" race="argon" female="false" />

Gruß Cappy1401
Jedes Kriegsschiff, das unsere Werften verlässt, jedes abgefeuerte Geschütz bedeutet letztlich einen Diebstahl an denen, die sich nicht wehren können, nämlich an unseren Kindern. Eine Welt bewaffnet bis an die Zähne feuert nicht nur gebündelte Energie allein. Sie feuert auch oft genug die Hoffnung ihrer Kinder nutzlos in den Weltraum hinaus. Doch hin und wieder lässt man uns keine Wahl, dann jedoch besteht jede Salve aus der geballten Hoffnung das endlich wieder Frieden herrscht.

Der Amazone

User avatar
Marvin Martian
Posts: 3548
Joined: Sun, 8. Apr 12, 09:40
x4

Post by Marvin Martian » Fri, 11. Dec 15, 10:16

definiere gewünscht

mir scheint
1 sind formatierungen
10-xx art der Namen wobei die Zahl _vermutlich_ einfach Anzahl der Namen für den jeweiligen Zweck in der nachfolgenden Liste angibt

bei den Argonen sind es 123 was genau den 41+41+41 entspricht :roll:

Cappy1401
Posts: 313
Joined: Sun, 27. Apr 08, 02:16
x4

Post by Cappy1401 » Fri, 11. Dec 15, 16:21

Du hast recht, die ersten vier Zeilen in der t.xml bei den Namen der Rassen, haben mit der Formatierung und Anzahl der Namen zu tun.
Der Erste Eintrag gibt die genaue Zusammensetzung vor, also Vor und Nachname.
Die drei weiteren geben an wie viele M und W Namen es gibt, dann noch wie viele Familiennamen, je nach Rasse.

Das eigentliche Problem ist.

Die Einträge der Namen der Argonen sind wohl als standart festgelegt.
Denn in der charakter_macros.xml ist in der Codezeile unten keine page-ID angegeben sondern nur "@random".
Es gibt also keinen verweis in die t.xml wie z.B. {20102,20} wie es üblich ist.

In der Codezeile unten bei Original gut zu sehen, denn Sie stammt original aus der charakter_macros.xml.

Die Frage wo sich stellt ist, was muss ich dort in der Option "name" angeben, damit eine andere page-ID benutzt wird, mit den von mir gewünschten Namen.
Denn einfach nur die page-ID wie üblich angeben funktioniert nämlich nicht, auch fehlt das @random.
Es ist auch fraglich ob es kombiniert werden kann.

Original aus der charakter_macros.xml

Code: Select all

<identification name="@random" race="argon" female="false" />
Dies funktioniert zum Beispiel nicht, weil es für die Engine keinen Sinn ergibt

Beispiel für charakter_macros.xml

Code: Select all

<identification name="{40000,1}" race="argon" female="false" />
Beispiel für t.xml

Code: Select all

<page id="40000" title="argon Namen" descr=" Namen für Test" voice="no">
<t id="1">$1 $3(Formatting)</t>
<t id="10">1(Male first names)</t>
<t id="11">1(Female first names)</t>
<t id="12">1(Last names)</t>
<t id="101">Sener</t>
<t id="102">Mares</t>
<t id="103">Alkos</t>

Momentaner Eintrag als Beispiel sieht so aus, was ebenso nicht funktioniert.

Code: Select all

<identification name="@random" race="esal" female="false" />

Code: Select all

<page id="40000" title="esal Namen" descr=" Namen für Test" voice="no">
<t id="1">$1 $3(Formatting)</t>
<t id="10">1(Male first names)</t>
<t id="11">1(Female first names)</t>
<t id="12">1(Last names)</t>
<t id="101">Sener</t>
<t id="102">Mares</t>
<t id="103">Alkos</t>

Leider gibt es keine Beschreibung für die charakter_macros.xml welche Befehle und kombinationen möglich sind.
Es gibt auch keine Kommentare dazu, wie die Engine die Namen findet und verwendet.

Gruß Cappy1401
Jedes Kriegsschiff, das unsere Werften verlässt, jedes abgefeuerte Geschütz bedeutet letztlich einen Diebstahl an denen, die sich nicht wehren können, nämlich an unseren Kindern. Eine Welt bewaffnet bis an die Zähne feuert nicht nur gebündelte Energie allein. Sie feuert auch oft genug die Hoffnung ihrer Kinder nutzlos in den Weltraum hinaus. Doch hin und wieder lässt man uns keine Wahl, dann jedoch besteht jede Salve aus der geballten Hoffnung das endlich wieder Frieden herrscht.

Der Amazone

User avatar
Marvin Martian
Posts: 3548
Joined: Sun, 8. Apr 12, 09:40
x4

Post by Marvin Martian » Fri, 11. Dec 15, 16:59

das Problem wird hier sein dass die Rassen in der common/racelookup.xsd stehen, was wohl in der Engine hardcodet sein wird

die Frage ist auch, ob man nicht einfach über Geschlecht/Familie möglicherweise Variationen hinbekommt, da die einträge aber nur nach Female unterscheiden sehe ich da schon wieder Schwarz

bei den Split ist da glaub ich im "1" Schema fix eine Familie hinterlegt, womöglich kann man hier das Namensschema 2-9 noch anpassen

am besten mal das Problem komplex schildern und hoffen das Egosoft irgendwann ein einsehen hat, wie seiner Zeit mit den Produktionsmethoden

IMO würde "Familie" / "Fraktion" noch Sinn ergeben, da man womöglich Militärs / Reivers schon an den Klamotten unterscheiden können sollte

Cappy1401
Posts: 313
Joined: Sun, 27. Apr 08, 02:16
x4

Post by Cappy1401 » Fri, 11. Dec 15, 20:44

Mit Script geht da leider nichts, denn so weit ich mich jetzt erinnere, ist das populieren der Stationen hardcodet.

Ich fürchte das Du recht hast, das darin der Hund mit begraben liegt.

Somit hat sich das Thema wohl von selbst erledigt. :(

Als letztes, das berühmte Google-BDSM-genglisch (Peitsche auspackt :twisted: :fg:) will ich keinem antun.

Nachher heist es noch ich sei schuld, dass die Programmierer nicht mehr Arbeiten können. :D

Gruß Cappy1401
Jedes Kriegsschiff, das unsere Werften verlässt, jedes abgefeuerte Geschütz bedeutet letztlich einen Diebstahl an denen, die sich nicht wehren können, nämlich an unseren Kindern. Eine Welt bewaffnet bis an die Zähne feuert nicht nur gebündelte Energie allein. Sie feuert auch oft genug die Hoffnung ihrer Kinder nutzlos in den Weltraum hinaus. Doch hin und wieder lässt man uns keine Wahl, dann jedoch besteht jede Salve aus der geballten Hoffnung das endlich wieder Frieden herrscht.

Der Amazone

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

Post by UniTrader » Fri, 11. Dec 15, 21:12

du könntest dich an <event_platform_actor_created/> binden
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 ;)

User avatar
Marvin Martian
Posts: 3548
Joined: Sun, 8. Apr 12, 09:40
x4

Post by Marvin Martian » Sat, 12. Dec 15, 08:53

Cappy1401 wrote:Mit Script geht da leider nichts, denn so weit ich mich jetzt erinnere, ist das populieren der Stationen hardcodet.
alles eine Sache der Tags in libraries\characters.xml
wenn da die notwendigen für eine Fraktion fehlen, haben die Stationen kein Personal oder NPCs

Cappy1401
Posts: 313
Joined: Sun, 27. Apr 08, 02:16
x4

Post by Cappy1401 » Mon, 14. Dec 15, 21:00

@ Marvin Martian

Die NPCs sind ja alle da, nur haben Sie die falschen Namen.

Alle vier Dateien wo beteiligt sind, haben alles was nötig ist.
Nur ist es wie gesagt nicht möglich, in der character_macros.xml die Page-ID anzugeben, die für die Namen der NPCs verwendet werden soll.

Für die Namen der Argonen z.B. ist in der t.xml die Page-ID 20301 zuständig.
In der character_macros.xml ist jedoch nur name="@random" angegeben und nicht etwa name="{20301}"
Für meine NPCs wo auf den Stationen im neuen Cluster sind, ist die Page-ID 8900500 zuständig, aber die Engine verwendet die Page-ID 20301 was falsch ist, was will ich mit den Namen der Argonen.
Dabei wäre die Angabe der Page-ID also name="{20301}" besser, weil man so schnell und einfach weitere Rassen hinzufügen kann.
Ich bräuchte bei meinen Einträgen dann nämlich einfach nur name="{8900500}" angeben und die Sache wäre erledigt.

Das mit <event_platform_actor_created/> wie Unitrader vorgeschlagen hat, könnte funktionieren.

Aber da muss ich jedesmal die Faktion und das Macro abfragen und vergleichen.

Ich muss also so gesehen genau das als xml-Script ein zweites mal schreiben, was in der Engine längst vorhanden ist.
Das ist so gesehen absolut :headbang: aber es bleibt wohl vorerst nichts anderes übrig.

Mal sehen was ich mache, zum testen reicht auch das was die Engine benutzt.
Aber später sollen es dann schon die richtigen Namen sein, mal nebenbei was ausbrüten, ich hab ja Zeit.

Gruß Cappy1401
Jedes Kriegsschiff, das unsere Werften verlässt, jedes abgefeuerte Geschütz bedeutet letztlich einen Diebstahl an denen, die sich nicht wehren können, nämlich an unseren Kindern. Eine Welt bewaffnet bis an die Zähne feuert nicht nur gebündelte Energie allein. Sie feuert auch oft genug die Hoffnung ihrer Kinder nutzlos in den Weltraum hinaus. Doch hin und wieder lässt man uns keine Wahl, dann jedoch besteht jede Salve aus der geballten Hoffnung das endlich wieder Frieden herrscht.

Der Amazone

Return to “X Rebirth - Scripts und Modding”