ich musste letztens mein X3:TC neu installieren, da eine DAT defekt war und hab mir dabei auch meine installierten Scripte neu geordnet und neue installiert. Beim Zuweisen von Hotkeys ist mir dann aufgefallen, dass mir ein Script (warum auch immer) einen Hotkey doppelt angelegt hat. Einer war in einer globalen Variable gespeichert und konnte entfernt werden, der andere leider nicht. Da es (leider) keinen Befehl zum Anzeigen der Hotkey-IDs gibt, hab ich mit etwas Tricksen folgenden Weg gefunden, vielleicht kann das ja mal jemand brauchen.



1. Ihr benötigt die globale Variable mit der ID. Sucht euch die ID mit folgendem Script raus:
Code: Select all
$key = get global variable: name='Name der Variable'
$log = sprintf: fmt='Key: %s', $key, null, null, null, null
[PLAYERSHIP]->send incoming message: text=$log temporary=[TRUE]
return null
2. Belegt den Hotkey mit irgendeiner Taste(nkombination) und speichert das Profil.
3. Sucht in folgendem File nach der ID: <Eigene Dokumente>\Egosoft\X3TC\profiles\profile0.xpf (kann u.U. benannt sein). Ihr solltet etwas in der Art finden:
Code: Select all
0;1545;4512
4. Belegt den anderen Hotkey (den mit der unbekannten ID) mit der selben Taste(nkombination) und sucht nach dem Speichern des Profils in der gleichen Datei nach dem letzten Wert in der Zeile (4512).
Beispiel:
Code: Select all
0;1537;4512
5. Hotkeys mit folgendem Code entfernen (zur Sicherheit auch den richtigen, das Script sollte ihn wieder setzen

Code: Select all
$key = get global variable: name='Name der Variable'
if $key
unregister hotkey $key
set global variable: name='Name der Variable' value=null
end
unregister hotkey <ID des/der anderen Hotkeys>
return null
Wenn alles geklappt hat, habt ihr den Hotkey jetzt nur noch einmal.
Mit dem Wert der letzten Zeile als Suchparameter lassen sich natürlich gezielt bestimmte Hotkeys entfernen, einfach die Tasten(kombination) so lange den Hotkeys zuweisen, bis man alle "Störenfriede" gefunden und notiert/entfernt hat.
MfG,
HAUSMEiSTER