PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Spiel auf Unreal Engine 3 Basis, kurze Frage wegen keybinding eines Konsolenbefehls


looking glass
2014-03-31, 21:57:27
Hi,

um es kurz zu machen, ich möchte eine Taste drücken, die das Spiel in Slowmotion ablaufen lässt für mich.

Der Befehl für die Konsole ist mir bekannt und lautet slomo mit Parameter, mein Problem, wenn ich das binde ala

Bindings=(Name="G",Command="slomo 0.2 | slomo 1.0")

hat das keinerlei Effekt, öffne ich die Konsole mit TAB und schreibe da slomo 0.2 rein, funktioniert es - wo ist mein Fehler, oder funktioniert das gar nicht, wie ich mir das denke?

looking glass
2014-04-01, 00:23:46
Echt keiner? Ich hab jetzt einiges probiert, ob nun Slomo, oder slomo, ob alleinstehend ohne Doppler, ob mit false oder true flags versehen, ob mit tidle als Command opener oder nicht, das Ding will nicht gebunden reagieren.

K-putt
2014-04-01, 00:51:34
Der befehl muss für jede slomo stufe einzeln eingestellt werden. Da gibt's bestimmt auch einen weg das alles auf eine Taste zu verknüpfen, aber ich weiß nicht wie.

Bindings=(Name="F1",Command="Slomo 0.3")
Bindings=(Name="F2",Command="Slomo 1.0")

Man könnte es auch auf einen key binden aber mit der ALT taste.
Also, F1 = Slomo an
F1+ALT = Slomo aus

Bindings=(Name="F1",Command="Slomo 0.3", Alt=False)
Bindings=(Name="F1",Command="Slomo 1.0", Alt=True)

Ben Carter
2014-04-01, 08:56:09
Ich glaube, man muss den Command 2x reinschreiben.

Bindings=(Name="G",Command="slomo 0.2" | Command="slomo 1.0")

Vielleicht klappts ja.

lg Ben

Grey
2014-04-01, 10:30:13
Echt keiner? Ich hab jetzt einiges probiert, ob nun Slomo, oder slomo, ob alleinstehend ohne Doppler, ob mit false oder true flags versehen, ob mit tidle als Command opener oder nicht, das Ding will nicht gebunden reagieren.

Sicher, dass du alle relevanten Configs editiert hast? Mach es noch mal bei allen.

looking glass
2014-04-01, 14:07:43
Bisher nur die BaseInput.ini, hab so die Konsole anschalten können und wie gesagt, wenn ich den Befehl in die Konsole eintrage, funktioniert der ja, nur an ein Key kann ich ihn nicht binden, er will einfach nicht funktionieren.

Die UDKInput.ini (als Spiegel der BaseInput.ini) ändert sich automatisch, sobald ich das Spiel mal laufen lasse und beende, in anderen INIs habe ich keine Hinweise auf die Phrasen ala ConsoleKey, Tilde, Bindings o.ä. gefunden.

Wie gesagt einiges gestern noch versucht an Syntax, wie bei K-putt und auch wie bei Ben genannt, will einfach nicht funktionieren.

x00
2014-04-01, 14:16:23
setbind G "slomo 0.2 | onrelease slomo 1.0"

in konsole

dann solltest du deine zeitlupe kriegen wenn du G gedrückt hälst

mach deine udkinput schreibgeschützt wenn du das in der config änderst

looking glass
2014-04-01, 15:26:35
Nicht gedrückt halten, drücken = slomo, noch mal drücken = normal, müsste nach meinem Verständnis also der onrelease bei deinem Befehl raus.

Wobei der Befehl ja dann irgendwo hinterlegt werden müsste in einer INI oder nicht? Wäre das dann nicht egal, ob ich den jetzt in die Konsole schreibe, oder halt die INI bearbeite?

Warum die UDKInput schreibschützen? Ist doch nur ein Spiegel der BaseInput, von der habe ich eine Kopie angelegt.


Ich hab als Workaround mir vorhin zwei Makros für die Mausdaumentasten geschrieben mit dem Umweg über den Konsolenaufruf - quick n dirty halt, funktioniert allerdings.

P.S. Der Befehlsteiler, ist das ein kleines L, oder der ALTGR+> senkrechte Doppelstrich, nicht das ich das deswegen versaubetele.

x00
2014-04-01, 19:33:00
Soweit ich weiß kann man sone "toggle" binds nicht in udk machen.. bin mir aber nicht sicher!

Es ist im prinzip egal ob konsole oder ini aber mit der konsole kannst du es sofort testen

looking glass
2014-04-01, 21:32:15
Okay, in die Konsole setbind G "slomo 0.2" eingegeben, funktioniert. Interessanterweise taucht das bindings nicht in der BaseInput.ini auf, sondern in der UDKInput.ini und der UDKGame.ini.


P.S. Wie kann ich das wieder entbinden, denn ich würde gern slomo und normal speed als Tastenbelegung nebeneinander setzen, G war halt nur ein Test wegen der versuchten Doppelbelegung, da das nicht klappt, brauch ich ja zwei Tasten.

x00
2014-04-01, 22:49:17
Zum entbinden musst du etwas anderes auf die taste setzen

wenn du den befehl löschen willst und nichts auf G haben willst

setbind G "abc"

wenn du irgendwas spiel spezifisches auf G haben willst einfach bei steuerung wieder ändern

looking glass
2014-04-02, 00:10:13
Mhh, ich besetze H wohl einfach anders und da kommt dann normalspeed drauf, dann passt das, die Funktion auf H war ja auch nur ein Test an den ich mich noch nicht gewöhnt habe, insofern.


Nur zum Verständnis weil spät und so, wenn ich, sagen wir, Vorwärts von W auf G setzen würde, wäre G wieder frei und der setbind wäre gelöst und gelöscht? Oder habe ich das jetzt falsch verstanden?


[Edit]
Doch noch ausprobiert, funktioniert so nicht, setbind bleibt erhalten, komischerweise kann ich die Funktion auf H, die ich ja über INI Eintrag rein gebracht habe, nun nicht mehr umlegen, sie bleibt auf H, Mist.

x00
2014-04-02, 13:45:35
Nur zum Verständnis weil spät und so, wenn ich, sagen wir, Vorwärts von W auf G setzen würde, wäre G wieder frei und der setbind wäre gelöst und gelöscht? Oder habe ich das jetzt falsch verstanden?

Müsste so funktionieren, komisch

looking glass
2014-04-02, 16:17:45
Ja, versteh ich auch nicht, vor allem warum auch H nicht auf Z umzuziehen ist, was soll es momentan, hab jetzt Normalmode (slomo 1.0) auf J gelegt und die Tasten G und J auf die Daumentasten der Maus programmspezifisch gemapt, jaja Doppelmoppel, aber da ich sowohl Maus als auch Tastatur für die Funktion nutze passt das.

looking glass
2014-04-11, 17:55:43
Ich bin es wieder, anderes Spiel, gleiche Engine, aber wieder mit Problemen.

Meine Frage, ich will eine Funktion um Commands erweitern, die per Deffault da nicht drin sind - wenn ich das richtig verstanden habe, ist zum abgrenzen jeweils ein " | " zu setzen. Mir stellen sich drei Fragen, 1. gibt es in der Reihenfolge eine Priorisierung, 2. die Commands sollen gleichzeitig aktiv sein, nicht sich unbedingt bedingen, ist dannn " | " das richtige, 3. der einzufügende Command würde einer Systemvariable genau gegenüber stehen, ähnlich wie die Anpassung der Mausgeschwindigkeit bei unterschiedlichen Waffen, ist da die Stelle wichtig, wo das jeweilige in der INI steht?

looking glass
2014-04-11, 22:15:58
Zur Verdeutlichung, Alice Madness Returns bietet keine ordentliche Invertierungsmöglichkeit auf beiden Achsen für die Kamera (von Haus aus nur Y), meine Lösung ist dreckig aber funktioniert, ich ändere einfach die Vorzeichen, aus:

Bindings=(Name="XboxTypeS_RightX",Command="Axis aTurn Speed=1.0 DeadZone=0.2")
Bindings=(Name="XboxTypeS_RightY",Command="Axis aLookup Speed=0.8 DeadZone=0.2")

wird

Bindings=(Name="XboxTypeS_RightX",Command="Axis aTurn Speed=-1.0 DeadZone=0.2")
Bindings=(Name="XboxTypeS_RightY",Command="Axis aLookup Speed=-0.8 DeadZone=0.2")

(wer es nicht sieht, Speed hat ein Minus davor bekommen)

So nun das Problem, es gibt noch einen weiteren Sichtmodus, den Zielmodus. Diese Drecksfunktion ist versaut worden, indem die Eingaben immer invertiert werden, für jeden.

Bindings=(Name="XboxTypeS_RightThumbstick",Command="EnterFPSByRS | On bA Bugit | On cA togglephysicsmode | On dA ToggleGhost | On eA StatUnitAndStatFPS | DiscardWatch")

Meine Idee war jetzt, die Eingaben bei Aufruf der Funktion EnterFPSByRS zu invertieren, dann invertiert die Funktion und ich habe die Bewegungsrichtung die ich will, so:

Bindings=(Name="XboxTypeS_RightThumbstick",Command="Axis aTurn Speed=1.0 DeadZone=0.2 | Axis aLookup Speed=0.8 DeadZone=0.2 | EnterFPSByRS | On bA Bugit | On cA togglephysicsmode | On dA ToggleGhost | On eA StatUnitAndStatFPS | DiscardWatch")


Nur das funktioniert nicht, egal wo ich die Befehle einfüge (Priorisierungsgedanke, ob vor oder nach EnterFPSByRS).

[Edit]
Selbst das funktioniert nicht (wäre einfach nur die Achsenumkehrung bei mir):

Bindings=(Name="XboxTypeS_RightThumbstick",Command="Axis aTurn Speed=1.0 DeadZone=0.2 | Axis aLookup Speed=0.8 DeadZone=0.2")

Auch das hat keine Wirkung (wollte herausfinden, ob man den Parameter Ingame per Tastendruck "überschreiben" kann):
Bindings=(Name="N",Command "setbind XboxTypeS_RightX Axis aTurn Speed=-1.0 DeadZone=0.2")
Bindings=(Name="M",Command "setbind XboxTypeS_RightX Axis aTurn Speed=1.0 DeadZone=0.2")


Ist die Idee so überhaupt ausführbar (ich habe mich an der Setzung von setsensivitiy und FOV Änderungen etc. orientiert) oder muss ich mit extra erstellten Variablen arbeiten, mit Set, oder was völlig anderem? Und wenn das nicht funktioniert und/oder die Funktion den Wert aus der INI direkt ausliest, kann ich den INI Wert per Command irgendwie direkt umschreiben?

looking glass
2014-04-12, 19:36:06
Sodele, keine Lust auf weiteren Edit, deshalb neu.

Meine Vermutung warum

Bindings=(Name="XboxTypeS_RightThumbstick",Command="Axis aTurn Speed=1.0 DeadZone=0.2 | Axis aLookup Speed=0.8 DeadZone=0.2 | EnterFPSByRS | On bA Bugit | On cA togglephysicsmode | On dA ToggleGhost | On eA StatUnitAndStatFPS | DiscardWatch")


nicht funktionierte war, das der Befehl Leerzeichen beinhaltete und vielleicht deshalb die bisherigen Versuche nicht fruchteten, siehe auch die Versuche im [Edit].

Wie sich raus stellte, lag ich damit wohl gar nicht verkehrt, ich habe diese Änderungen in der defaultinput.ini vorgenommen (die Befehlskette auf kleinstmögliche Einheiten zerlegt und eine Kaskade aufgebaut):

aus
Bindings=(Name="XboxTypeS_RightX",Command="Axis aTurn Speed=-1.0 DeadZone=0.2")
Bindings=(Name="XboxTypeS_RightY",Command="Axis aLookup Speed=-0.8 DeadZone=0.2")

wurde
Bindings=(Name="XboxTypeS_RightX",Command="ORx1")
Bindings=(Name="XboxTypeS_RightY",Command="ORy1")

die ausgelagerten Funktionen und Invertierungen firmieren nun unter:
Bindings=(Name="ORx1",Command="Axis aTurn Speed=-1.0 DeadZone=0.2")
Bindings=(Name="ORy1",Command="Axis aLookup Speed=-0.8 DeadZone=0.2")

Bindings=(Name="IORx1",Command="Axis aTurn Speed=1.0 DeadZone=0.2")
Bindings=(Name="IORy1",Command="Axis aLookup Speed=0.8 DeadZone=0.2")

Meine Testbelegung für die Achsen (wer sich fragt warum die Bezeichnungen so variieren, siehe unten):
Bindings=(Name="N",Command="SetBind XboxTypeS_RightX ORx1")
Bindings=(Name="ICSBx",Command="SetBind XboxTypeS_RightX IORx1")
Bindings=(Name="J",Command="SetBind XboxTypeS_RightY ORy1")
Bindings=(Name="ICSBy",Command="SetBind XboxTypeS_RightY IORy1")

Ingame funktioniert folgendes:
Bindings=(Name="XboxTypeS_RightThumbstick",Command="ICSBx | ICSBy | EnterFPSByRS | On bA Bugit | On cA togglephysicsmode | On dA ToggleGhost | On eA StatUnitAndStatFPS | DiscardWatch")


Das dumme ist nur, wenn ich aus dem Modi raus gehe, dann bleibt die Invertierung (deshalb die Tasten N und J, damit ich wieder zurück komme).

Was ich zum verrecke nicht hin bekomme, das folgendes passiert, eine Funktion die die gesetzten Command Werte (ORx1, ORy1, IORx1, IORy1) bei XboxTypeS_RightX (ORx1, IORx1) und
XboxTypeS_RightY (ORy1, IORy1) abfragt und jeweils das Gegenteil über die Funktionen ICSBx, ICSBy, (N wäre also CSBx, J wäre CSBy) einbaut, dies soll dann den Bereich "ICSBx | ICSBy" aus der letzten Befehlskette oben ersetzen, um die Invertierung halt wieder zurück nehmen zu können, innerhalb des Funktionsaufrufes von EnterFPSByRS.


Daran beisse ich mir hier jetzt schon 2 Stunden die Zähne aus.

[Edit]
Letzter eigener Versuch, ich gebe auf, denn ich sehe einfach meinen Fehler nicht, ich hab diese dumm Schleife gebaut (also keine Wertabfrage):

Bindings=(Name="SWa",Command="ICSBx | ICSBy | SetBind Dummy SWb")
Bindings=(Name="SWb",Command="CSBx | CSBy | SetBind Dummy SWa")
Bindings=(Name="Dummy",Command="SWa")

Verbunden mit:
Bindings=(Name="XboxTypeS_RightThumbstick",Command="Dummy | EnterFPSByRS | On bA Bugit | On cA togglephysicsmode | On dA ToggleGhost | On eA StatUnitAndStatFPS | DiscardWatch")


Dummy tut also nichts anderes als das, was schon mal funktioniert hat, nur halt eben auch mit der Rückfunktion. Beim ersten Aufruf der Funktion setzt er ICSBx | ICSBy in Gang und verwandelt sich dann zur Rückfunktion CSBx | CSBy, die beim zweiten mal Taste benutzen dann aufgerufen wird. Warum zur Hölle funktioniert das nicht, ich versteh diesen Dreck einfach nicht. Ist das jetzt eine Funktinstiefenproblematik oder was?



P.S. Wenn das keiner weiß, nennt mir doch mal ein deutsches UT3 Forum, wo noch was los ist, dann frag ich halt da - den Mist auf englisch zu kommunizieren, ist mir echt zu hoch.

looking glass
2014-04-13, 14:29:56
Noch ein paar Sachen versucht, ich bekomme den Backport von ICSBx | ICSBy auf CSBx | CSBy einfach nicht hin, k.A. wieso.

Versuch über OnRelease
Bindings=(Name="XboxTypeS_RightThumbstick",Command="ICSBx | ICSBy | EnterFPSByRS | On bA Bugit | On cA togglephysicsmode | On dA ToggleGhost | On eA StatUnitAndStatFPS | DiscardWatch | OnRelease SWRTSxy")
Bindings=(Name="SWRTSxy",Command="CSBx | CSBy")

Vorher funktioniert, im Modus funktioniert, Rückfunktion Fehlanzeige

direkt rein geschrieben
Bindings=(Name="XboxTypeS_RightThumbstick",Command="ICSBx | ICSBy | EnterFPSByRS | On bA Bugit | On cA togglephysicsmode | On dA ToggleGhost | On eA StatUnitAndStatFPS | DiscardWatch | OnRelease CSBx | OnRelease CSBy")

funktioniert ebenfalls nicht die Rückfunktion.

Mal ehrlich, stelle ich mich wirklich so dämlich an? Das kann doch einfach nicht wahr sein, das diese verkackte Rücksprungfunktion einfach nicht funktionieren will. Ich mein verdammter Dreck nicht noch, mache ich das händig funktioniert es, was soll diese Scheisse.

[Edit]

Funktioniert immer noch nicht, ich hab alle mir einfallenden Varianten durch, die letzte war die Methode zusätzlich eine Schicht zum wechseln einzuführen, also nicht hinten die CSB und ICSB Werte zu wechseln, sondern vorn:

Bindings=(Name="SWx",Command="SetBind XboxTypeS_RightX IORx1")
Bindings=(Name="SWy",Command=""SetBind XboxTypeS_RightY IORy1")

Bindings=(Name="SWa",Command="SetBind SWx CSBx | SetBind SWy CSBy | SetBind SWRTSxy SWb")
Bindings=(Name="SWb",Command="SetBind SWx ICSBx | Setbind SWy ICSBy | SetBind SWRTSxy SWa")
Bindings=(Name="SWRTSxy",Command="SWb")

Bindings=(Name="XboxTypeS_RightThumbstick",Command="SWx | SWy | EnterFPSByRS | On bA Bugit | On cA togglephysicsmode | On dA ToggleGhost | On eA StatUnitAndStatFPS | DiscardWatch | OnRelease SWRTSxy")

Wie immer, die Rückfunktion funktioniert nicht.

Das war es, ich gebe auf.