Page 1 of 1

Frage an die Scripter wg. Tastenanzeige

Posted: Mon Jan 20, 2014 6:59 pm
by usxi7sd
Hallo, ich hoffe es kann mir wer helfen.
Ich habe für eine Auf - und Abwärtsbewegung der Kabine eines Mods folgenden Eintrag in der modDesc.xml:
<l10n>
<text name="KABINE_AUF_AB_1"> <en>cabin up</en> <de>Kabine auf</de> </text> *)
<text name="KABINE_AUF_AB_2"> <en>cabin down</en> <de>Kabine ab</de> </text> *)
<text name="KABINE_AUF_AB"> <en>cabin up/down</en> <de>Kabine auf/ab</de> </text>
</l10n>
<inputBindings>
<axis name="KABINE_AUF_AB" category="VEHICLE" key1="KEY_j" key2="KEY_k"/>
</inputBindings>
*) diese beiden zeilen sind nur notwendig um die richtige Tastenzuordnung in den Spieleoptionen - Steuerung darzustellen.

in der xml des Mods steht:
<movingTool index="0>12" componentJointIndex="5" rotSpeed="-15" rotAcceleration="70" rotMax="0" rotMin="-35" rotationAxis="1" axis="KABINE_AUF_AB">
</movingTool>

in der LUA bei der function draw steht:
g_currentMission:addHelpButtonText(g_i18n:getText("KABINE_AUF_AB"), InputBinding.KABINE_AUF_AB);

Es funktioniert auch alles perfekt nur im Infohud links oben am Bildschirm wird nur die Tastenzuweisung vom key1 angezeigt -
also steht dort: Taste J: Kabine auf/ab
Frage: Wie muß die Zeile in der LUA aussehen um die Tastenzuweisung vom key2 anzuzeigen. In meinem Fall die Taste K.
Ich habe schon sehr viel selber versucht, auch die Scriptdocu durchgeschaut aber die input.lua ist ja leider nicht dabei.

Re: Frage an die Scripter wg. Tastenanzeige

Posted: Mon Jan 20, 2014 7:33 pm
by bassaddict
Dürfte wohl daran liegen, dass du kein Input Button, sondern eine Input Achse hast. Mir ist aber keine Funktion bekannt um im Hilfefenster Achsen anzeigen zu lassen.

Re: Frage an die Scripter wg. Tastenanzeige

Posted: Mon Jan 20, 2014 7:55 pm
by usxi7sd
Ja - ich weiß - ich habe das über axis gemacht weil es so viel einfacher ist und keinerlei zusätzliches Script notwendig ist.
Außerdem zu 100% MP-fähig.

Re: Frage an die Scripter wg. Tastenanzeige

Posted: Mon Jan 20, 2014 8:20 pm
by mx11
soweit ich weiß kann man der Funktion addHelpButtonText nur ein InputBinding mitgeben und da wird der key1 verwendet.

Re: Frage an die Scripter wg. Tastenanzeige

Posted: Sat Feb 22, 2014 1:36 pm
by Ifko
Keine Ahnung ob du nun schon eine Lösung hast, aber versuch es in der lua mal mit:

g_currentMission:addExtraPrintText(g_i18n:getText("KABINE_AUF_AB"));

In der modDesc machst dann aus:

<text name="KABINE_AUF_AB"> <en>cabin up/down</en> <de>Kabine auf/ab</de> </text>

das:

<text name="KABINE_AUF_AB"> <en>J/K cabin up/down</en> <de>J/K Kabine auf/ab</de> </text>

Edit:

So stimmen die Tasten aber dann später nicht mehr wenn sie in den Steuerungsoptionen geändert werden.. Aber das machen sowieso die wenigsten, von daher.. ^^

MFG Ifko

Re: Frage an die Scripter wg. Tastenanzeige

Posted: Sun Feb 23, 2014 5:43 pm
by usxi7sd
Nein - Ich habe noch keine Lösung gefunden.
Ifko wrote: So stimmen die Tasten aber dann später nicht mehr wenn sie in den Steuerungsoptionen geändert werden.
Genau deswegen habe ich nach einer Lösung gefragt.

Ich habe es auch mal mit einem Text irgendwo am Bildschirm und der Variable %s: versucht aber da zeigt es mir auch nur die Tastenzuweisung vom key1 an.
Andere Buchstaben verursachen Logfehler und Spielstartabbruch.
Der Vorschlag von @Ifko ist kein Problem für mich aber nicht die Lösung für mein Problem.

Re: Frage an die Scripter wg. Tastenanzeige

Posted: Thu Apr 17, 2014 9:08 pm
by JakobT
Wie Bassaddict schon sagte, ne automatische, kombinierte Anzeige geht m.E. momentan nicht. Du brauchst aber trotzdem nicht irgendwelche hardcoded Strings zu benutzen. Stattdessen:

Code: Select all

<text name="KABINE_AUF_AB">
     <en>%s/%s: cabin up/down</en>
</text>

Code: Select all

local action = InputBinding.actions[InputBinding.KABINE_AUF_AB];
local str = g_i18n:getText('KABINE_AUF_AB'):format(KeyboardHelper.getKeyNames(action.keys1), KeyboardHelper.getKeyNames(action.keys2));
g_currentMission:addExtraPrintText(str);
Den string am besten einmal in der load() setzen, damit das nicht ständig neu erstellt werden muss.

Re: Frage an die Scripter wg. Tastenanzeige

Posted: Fri Apr 18, 2014 10:13 pm
by usxi7sd
@JakobT Vielen Dank für deine Antwort. Eine solche Lösung habe ich gesucht. Jetzt gehts.