Audio für Waren

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

Post Reply
User avatar
Nukleos
Posts: 106
Joined: Tue, 21. Nov 06, 14:01
x3tc

Audio für Waren

Post by Nukleos » Tue, 6. Mar 07, 21:36

Hallo Forum,
bin grad dabei, just for fun and for me, mein Warentransportsystem mit Audioausgabe zu versehen. Da man ja theoretisch jede Ware transferieren kann schreib ich grad nen Script für alle Warenids, also etwa so:

Code: Select all

001 $ware = get global variable: name='selectware'
002   
003   if $ware == Energiezellen
004    $tid = 2013
005    set global variable: name='wareid' value=$tid
006   end
007   if $ware == Moskito
008    $tid = 2813
009    set global variable: name='wareid' value=$tid
010   end
011   if $ware == 125 MJ Schild
012    $tid = 2743
013    set global variable: name='wareid' value=$tid
014   end
015   if $ware == Siliziumscheiben
016    $tid = 2033
017    set global variable: name='wareid' value=$tid
018   end
019   usw....
Nun zu den Fragen :wink:

1. Kann man das anders lösen?
2. oder gibts sowas schon?
3. wenn beides nein, gibts für Scripts nen Limit was die Größe betrifft?

Ist halt ziemlich öde zu scripten und da ich von Hause aus recht bequemlich bin... :D

Ach und noch was, ist das richtig das die

Code: Select all

set global variable: name='wareid' value=$tid
mit

Code: Select all

set global variable: name='wareid' value=[FALSE]
wieder gelöscht wird?

So, das wars erstmal, thx im vorraus

User avatar
SymTec ltd.
Posts: 5285
Joined: Mon, 11. Apr 05, 21:11
x3tc

Post by SymTec ltd. » Tue, 6. Mar 07, 21:49

Es kann sein, dass die Main-/Subtypes der Waren mit der ID in einem bestimmten Verhältnis stehen, sodass man das sample berechnen könnte.

Sonst:

1.: Mit "else if..." arbeiten
2.: der "set global var" kann auch für alle ans Ende, ist ja eh immer das gleiche
3.: Warum genau willst du das Sample abspielen? Wieso setzt du es als Variable und nutzt es nicht einfach als returnwert?

User avatar
Nukleos
Posts: 106
Joined: Tue, 21. Nov 06, 14:01
x3tc

Post by Nukleos » Tue, 6. Mar 07, 22:05

Ah, cool, spart schon mal viel Arbeit. Hätte man auch selber drauf kommen können :oops:

Naja, wie ich oben schon schrieb ist das erstmal nur just for fun. Hab das Hauptscript nur soweit ergänzt das halt die tid ausgelesen wird und dann als Audioausgabe kommt. So kann ich das dann auch für andere Sachen verwenden. Bin halt grad nur etwas am experimentieren mit den Audiosamples.

Aber thx für die Arbeitserleichterung! :wink:

User avatar
Nukleos
Posts: 106
Joined: Tue, 21. Nov 06, 14:01
x3tc

Post by Nukleos » Mon, 12. Mar 07, 16:19

Ich nochmal, hab jetzt so ziemlich alle 490001.txt durch, ich find ums ver.... nicht die audio-tid´s für folgende Sachen:
1Gj Schild
10Gj Schild
Hammerhai
Feuerfalter
etc..
Bisher waren alle Waren in den 490001 unter page 17. Wäre super wenn mir jemand nen Tip geben könnte wo ich den Rest finde!

FritzHugo3
Posts: 4657
Joined: Mon, 6. Sep 04, 17:24
x4

Post by FritzHugo3 » Mon, 12. Mar 07, 17:37

moin moin, sowas hatte ich vor aber wurde erstmal pausiert wegen zeitmangel, also was ich gemacht habe ist die audiodatei aufzunehmen (fast 10 stunden) und dann hab ich die geschnitten (ging automatisch mit nem programm grins). so dann angefangen zu sortieren. hab so ca. die hälfte der waren bereits fertig. der riesen vorteil man kann dann das viel einfachere codedingends mit
= play "nummerXY"

anstadt den umständlichen mit id und dingens

funktioniert super, nur wie gesagt das sortieren dauert erstmal nen bissl, aber wenns mal fertig ist, hat man eine komplette audio datenbank und kann jeden beliebigen text erstellen ;-)

(wie jeden beliebigen, na ganz einfach bei 10 stunden audiomaterial sind alle wichtigen und oft benutzen wörter enthalten, die man nur zu neuen sätzen zusammenfügen muss grins)
Ich fordere mehr und vorallem gerechtere Verteilung von Keksen und Süßkram für die "Magischen 20"! Daher wählen Sie jetzt die DPFGKV, die Deutsche Partei für gerechtere Keks - Verteilung!

User avatar
Nukleos
Posts: 106
Joined: Tue, 21. Nov 06, 14:01
x3tc

Post by Nukleos » Tue, 13. Mar 07, 13:52

@FritzHugo3,
keine schlechte Idee, zwar viel Arbeit aber hat viel Potenzial zum experimentieren. Nur hilft mir das nicht weiter, brauch nur noch ein paar id´s, bloß find ich die nicht :evil:

Keiner ne Idee wo die sich verstecken???

Pleeeaaaseee Heeelp!

User avatar
Blacky_BPG
Posts: 2030
Joined: Mon, 23. Feb 04, 23:42
x4

Post by Blacky_BPG » Tue, 13. Mar 07, 14:18

Wo ist das Problem, steht doch alles in der 490001 drin, Page 300017 welche zur Page 17 dazugehört.
Müsste doch aufgefallen sein das in der Page 17 zum Beispiel nur die Beschreibung der Colossus drin ist, nicht aber der Name, der befindet sich in Page 300017. Das ist bei einigen Sachen so aus diesen beiden Page's.
Da findest du auch Hammerhai (6573), 10 GJ Schild (7863), 1 GJ Schild (7853), Feuerfalter (6733), etc etc.
Aber das hättest du doch auch herausgefunden wenn du in der 490001 mal die Suchfunktion des Notepads befragt hättest :roll:

Ach noch was, im Spiel nutzt du aber die Page 17 weiter, du nimmst nicht die 300017, X3 greift automatisch auf die 300017 zu wenn der Eintrag nicht in der 17 zu finden ist.

User avatar
Nukleos
Posts: 106
Joined: Tue, 21. Nov 06, 14:01
x3tc

Post by Nukleos » Tue, 13. Mar 07, 14:29

Aaarrrgh, *Kopfschuß* ich packs nicht!!! [ external image ] [ external image ]
Da hab ich bestimmt xmal drübergeschaut aber irgendwie war ich immer auf dem Trichter voice="0".
Mann mann, wie doof kann man manchmal sein.

Merci merci, nun kann ich das endlich komplettieren.

User avatar
Blacky_BPG
Posts: 2030
Joined: Mon, 23. Feb 04, 23:42
x4

Post by Blacky_BPG » Tue, 13. Mar 07, 20:34

Lass mal, ich seh auch manchmal den Wald vor lauter Bäumen nicht, passiert eigentlich an dauernd beim Script schreiben.

User avatar
X-Freak Cartman
Posts: 4017
Joined: Mon, 2. Oct 06, 15:08
x3

Post by X-Freak Cartman » Tue, 13. Mar 07, 21:12

Stimmt, jeder Scripter könnte dir ein Lied davon singen.

Ich hätte übrigens Interesse an diesem libscript. Wichtig wäre für mich, dass du keine globale oder lokale variable benutzt, sondern den Wert einfach als Rückgabewert (return $tid) für die angegebene Ware einrichtest.

Die jetzige Funktionsweise missachtet Eines: Der Name einer globalen Variable muss ein String sein.

Was machst du eigentlich hier? Du arbeitest mit überflüssigen globalen Variablen.
Nimm einfach Argumente und Rückgabewerte dafür. Will man die t id wissen, startet man den Script per Script call und erhält die t id als Rückgabewert, sofern sie in der tfile enthalten ist. Keine umständliche GlobVar-Spielerei ;)

soviel von meiner weltverbessernden Seite
cya
- EL

User avatar
Nukleos
Posts: 106
Joined: Tue, 21. Nov 06, 14:01
x3tc

Post by Nukleos » Wed, 14. Mar 07, 06:52

@X-Freak Cartman
hab zwar noch nicht ganz kapiert wie du das meinst aber nach ein bisserl rumfummeln :D ist dann sowas draus geworden und es funktioniert sogar:

Code: Select all

Arguments
1: tid , Var/Number , 'Warenid' 
Source Text

001   $ware = [THIS] -> get local variable: name='select.ware.trans.id'
002   if $ware == Energiezellen
003    $tid = 2013
004    return $tid
005   else if $ware == Erz
006    $tid = 2023
007    return $tid
008   else if $ware == Siliziumscheiben
009    $tid = 2033
010    return $tid
011   else if $ware == Gefechtsköpfe
012  usw...
So ganz hab ich das noch nicht durchschaut wie ich dem script ohne die locale Variable die Ware übergebe, aber immerhin ist die globale Variable weg. :wink:
Hier das Script, sind erstmal nur alle gängigen Waren drin, aber ich werd das wohl noch nach und nach auf alle verwendbaren audioid´s erweitern.

Download

ps: mögliche Änderungswünsche die das vereinfachen sind willkommen, will schließlich was lernen :wink:

User avatar
Nukleos
Posts: 106
Joined: Tue, 21. Nov 06, 14:01
x3tc

Post by Nukleos » Wed, 14. Mar 07, 07:47

Ah, habs geschnallt. Man sollte dann auch den *callscript* Befehl neu einbauen damit das funzt :wink:

So sollte das dann korrekt sein:

Code: Select all

Arguments
1: ware , Var/Ware , 'Ware' 
2: tid , Var/Number , 'Warenid' 
Source Text

001   if $ware == Energiezellen
002    $tid = 2013
003   else if $ware == Erz
004    $tid = 2023
005   else if $ware == Siliziumscheiben
006    $tid = 2033
007   else if $ware == Gefechtsköpfe
....
161   else if $ware == 10 GJ Schild
162    $tid = 7863
163   end
164   return $tid
Hier dann der Download

User avatar
X-Freak Cartman
Posts: 4017
Joined: Mon, 2. Oct 06, 15:08
x3

Post by X-Freak Cartman » Wed, 14. Mar 07, 18:14

Du musst verwendete Variablen im X3 Editor nicht vorher definieren. Das Argument "tid" ist also überflüssig.

btw: Ich brauch den libscript frühestens in einigen Wochen, wenn ich die Flottenscripts anfange. Danke für die Fertigstellung. :D

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

Post by UniTrader » Wed, 14. Mar 07, 18:28

wo ich den Topic gerade sehe: wollte nicht jemand vo nen paar monaten die gesprochenen Worte vom Bordcomputer einzeln zum verwenden zuschneiden???? (also dass man den BC einzelne worte sprechen lassen kann, wie z.B. nicht nur "Nopileos Memorial" zusammen sondern auch nur "Nopileos" oder "Memorial")die [url=http://forum.egosoft.com/search.php][b]Su[/b]ch[b]Fu[/b]nktion[/url] kann ich in diesem fall vergessen, ich hab keine ahnung mehr, wer das machen wollte und weiss nicht mehr, was ich da geantwortet hab....
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
X-Freak Cartman
Posts: 4017
Joined: Mon, 2. Oct 06, 15:08
x3

Post by X-Freak Cartman » Wed, 14. Mar 07, 18:35

War das nicht FritzHugo3 mit seinen play sample-Spielereien?

Die Frage ist nur, wofür man das verwenden könnte...
*zum generic universe schiel*

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

Post by UniTrader » Wed, 14. Mar 07, 19:03

du hasts erfasst ^^ ich kann das Uni mit 480 Sektoren doch kaum mit gesprochenen Sektoren füllen, wenn ich nur die bestehenden verwende ^^ gleich mal nach suchen und in die Link-Merkliste aufnehmen, ehe ich es wieder vergesse :) ich werde dann beim Projektstart mal nachfragen :D
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
Nukleos
Posts: 106
Joined: Tue, 21. Nov 06, 14:01
x3tc

Post by Nukleos » Wed, 14. Mar 07, 22:02

Hab das mal angetestet, also das splitten der 00149.mp3 ist ja kein Problem da das weitgehend automatisch geht wie FritzHugo3 schon sagte aaaber...
das Ergebnis sind ja ein paar tausend einzelne mp3´s. Die dann zu katalogisieren, nein danke.
Einfacher wäre es wenn du ne Liste machst was du brauchst mit welcher Stimme usw. Theoretisch lässt sich mit dem vorhanden Material so ziemlich jede Ausgabe erstellen.

User avatar
Nukleos
Posts: 106
Joined: Tue, 21. Nov 06, 14:01
x3tc

Post by Nukleos » Wed, 14. Mar 07, 23:13

Hier mal ein paar einfache Sektornamen zum reinhören. Geht eigentlich recht flott wenn man weiß was man zusammen fügen soll.
Sektornamen:
Aguilars Erlösung; Aguilars Feuer; Aguilars Stern; Mitons Mond; Niederlage des Imperators; Rhys Gürtel; Xenon Prime

Sounds

Post Reply

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