Benutzungsanleitung für Script-Benutzer:
Installation:
Entpackt den Inhalt des *.zip Archivs in das X3-Hauptverzeichnis. Mehr ist nicht zu tun.
Benutzung:
Startet die "X3FileCheck.exe" im X3-Hauptverzeichnis und klickt auf den Button "Enable System" (Dieser schritt ist theorhetisch nur beim erstmaligen start und bei jeder Script(de)installation nötig, aber es gibt ne kleine fehlermeldung, wenn dies nicht gemacht wird), nun startet X3 auf die gewohnte Art. Kurz nach dem laden des Spielstandes wird es kurz ruckeln, was aber kurz darauf verschwindet.
Alternative ohne die "X3FileCheck.exe":
Startet X3 auf die gewohnte Art und geht kurz nach dem laden (2-3 sekunden) des Spielstandes aus dem Spiel raus und schaut ins X3-verzeichnis. dort sollte sich eine "log08650.txt" befinden, welche ihr in "498650.xml" umbenennt (Anmerkung: die ersten beiden Zahlen können je nach eingestellter Sprache variieren) und in den Ordner "t" verschiebt. Nun geht zurück ins Spiel und fangt an.
Fehlermeldungen:
Die richtige Sprachdatei konnte nicht geladen werden
Kein wirklich kritischer fehler, das sagt nur aus, dass die Logdatei nicht verschoben und umbenannt wurde. wenn seit dem letzten Spielstand laden bzw. Neuen Spiel keine änderungen an den Installierten Scripts durchgeführt werden kann man diese Meldung Ignorieren.
Änderungen an Kommandoslots
Diese Hinweismeldung kommt, wenn mangels freier Kommandoslots einige Befehle in andere Kategorien verschoben werden mussten (nur Hauptkommandos wie Navigation, Kampf usw.) oder gar deaktiviert wurden (dies könnte bei zusätzlichen Schiffs- und Stationskommandos sowie Kanzel-Befehlen der fall sein). Das ist ein Zeichen, dass etwas zu viele Scripte installiert sind, was aber höchst selten auftreten sollte.
bekannte Bugs:
Nach Installation eines Scrips sind einige Kommandos falsch benannt
Das hängt damit zusammen, dass zuerst eine veraltete Textdatei geladen wurde, die noch für die alte Kommandoslotzuweisung geschrieben wurde. Dies kann behoben werden, indem die "X3FileCheck.exe" verwendet wird oder die logdatei manuell verschoben wird und anschliessend der Spielstand erneut geladen wird.
Downloadlinks ganz unten.
Benutzungsanleitung für Scripter:
Vorab: einige regeln, um fehler, wie z.B. Kommandoslotdoppelbelegungen auszuschliessen (wird ggf. noch erweitert):
- Die Kommandoslots dürfen erst NACH dem durchlaufen der Setups, die statische Kommandoslots verwenden ausgeführt werden (bzw. nach dem laden von deren t-files, weil ich den t-file-Eintrag des Slots abfrage)
- Wenn die Funktion genutzt wird aufeinanderfolgende Kommandoslots zu erhalten nehmt bitte nur so viele aufeinanderfolgende wie nötig, weil eure Kommandos sonst schnell in andere Kategorien rutschen oder mangels freier aufeinanderfolgender gar nicht erst zugewiesen werden.
Benutzungsbeispiel für einen einzelnen Kommandoslot (Menü Navigation (200 oder als Input hier 2)):
Setup:
Code: Select all
$null = null
START = $null -> call Script plugin.example.setup
Code: Select all
@ wait 100 ms
$cmd = [THIS] -> call Script plugin.dcsa.get.free.command Command Type= 2 , SE internal Name= 'COMMAND_EXAMPLE' , Long Name= 'Beispielkommando' , Short Name= 'Bsp.cmd' , Description= 'Dies ist die Erklärung des Beispielkommandos'
global script map: set: key=$cmd, class=<Var/Class>, race=<Var/Race>, script=plugin.example, prio=<Var/Number>
set script command upgrade: command=$cmd upgrade=<Var/Ware>
(das Setup ruft wie im vorigen Beispiel das Kommandslotbelegungsscript auf)
Kommandoslotzuweisung (Script 'plugin.example.setup'):
Code: Select all
@ wait 100 ms
$se.name.arr = array alloc: size = 0
$long.name.arr = array alloc: size = 0
$short.name.arr = array alloc: size = 0
$desc.arr = array alloc: size = 0
append 'CMD_1' to array $se.name.arr
append 'Kommando 1' to array $long.name.arr
append 'CMD1' to array $short.name.arr
append 'Beschreibung Kommando 1' to array $desc.arr
append 'CMD_2' to array $se.name.arr
append 'Kommando 2' to array $long.name.arr
append 'CMD2' to array $short.name.arr
append 'Beschreibung Kommando 1' to array $desc.arr
append 'CMD_3' to array $se.name.arr
append 'Kommando 3' to array $long.name.arr
append 'CMD3' to array $short.name.arr
append 'Beschreibung Kommando 3' to array $desc.arr
$cmd = [THIS] -> call Script plugin.dcsa.get.free.command Command Type= 2 , SE internal Name= $se.name.arr , Long Name= $long.name.arr , Short Name= $short.name.arr , Description= $desc.arr
global script map: set: key=$cmd, class=<Var/Class>, race=<Var/Race>, script=plugin.cmd1, prio=<Var/Number>
set script command upgrade: command=$cmd upgrade=<Var/Ware>
inc $cmd
global script map: set: key=$cmd, class=<Var/Class>, race=<Var/Race>, script=plugin.cmd2, prio=<Var/Number>
set script command upgrade: command=$cmd upgrade=<Var/Ware>
inc $cmd
global script map: set: key=$cmd, class=<Var/Class>, race=<Var/Race>, script=plugin.cmd3, prio=<Var/Number>
set script command upgrade: command=$cmd upgrade=<Var/Ware>
2 - Navigation
3 - Kampf
4 - Handel
5 - Spezial
6 - Piraten
7 - Benutzer
8 - Allgemein
9 - Kanzel-Befehle
11 - Stationsbefehle
12 - Zusätzliche Schiffsbefehle
Ein Dankeschön an:
Den Ersteller der Russen-Kommandos für die Idee, Sprachdateien per Script zu erstellen (also grundidee 1 für diese Erweiterung)
SymTec ltd. für die Frage, ob man nicht in die Logdateien den Inhalt von Sprachdateien schreiben kann (grundidee 2)
XGamer für das Programm zum verschieben und umbennenen der Log/Sprachdatei
Falls es noch ein paar unklarheiten gibt einfach hier nachfragen ^^
Downloadlinks DCSA:
Von XGamer
Von MADxHAWK
Von CC-Vorsitzender
Downloadlinks für an diese Erweiterung angepasste Setup- und Sprachdateien anderer Scripts:
- - - Folgt noch, ich werde diese woche einige raussuchen, die Kommandoslots doppelt belegen - - -