How do I customize the keyboard?
Jump to navigation
Jump to search
There is no built-in feature to customize the keyboard in an OHRRPGCE game. The default keyboard controls are:
Arrow Keys | Movement |
Space or Enter or CTRL | Use/Talk |
ESC or ALT | Menu/Cancel |
Hold ESC or TAB | Run (battle) |
It is possible to set up your own keyboard controls using plotscripting. You must use the suspend player command and suspend box advance to disable normal keyboard actions, and then create an On-Keypress script that uses the key is pressed command to check what key the player has pressed.
Here is an example script that re-implements the default controls. You can customize it to suit your own needs
plotscript, keypress handler, begin if (hero is walking(me) == false) then, begin if (topmenu == false) then, begin if (current text box == -1) then, begin if (key is pressed(up key)) then (walk hero(me, up, 1), exit script) if (key is pressed(left key)) then (walk hero(me, left, 1), exit script) if (key is pressed(down key)) then (walk hero(me, down, 1), exit script) if (key is pressed(right key)) then (walk hero(me, right, 1), exit script) end end if (keypress(use key)) then, begin if (topmenu == false) then, begin if (current text box == -1) then, begin variable (x,y, who) x := hero X(me) y := hero Y(me) switch(hero direction(me)) do ( case (up) y -= 1 case (down) y += 1 case (left) x -= 1 case (right) x += 1 ) if (NPC at spot (x,y)) then ( who := (NPC at spot(x,y)) if (read NPC (who,NPCstat:when activated) <> NPCwhenactivated:donotfaceplayer) then ( switch(hero direction(me)) do, ( case (up) do (set NPC direction (who, down)) case (down) do (set NPC direction (who, up)) case (left) do (set NPC direction (who, right)) case (right) do (set NPC direction (who, left)) ) ) wait use npc (who) ) end end, else if (topmenu) then, begin use menu item(selected menu item) end, else if (current text box >= 0) then, begin advance text box end end if (keypress(menu key)) then, begin if (top menu == false) then, begin main menu end, else, begin close menu(top menu) end end end end
Caveats: This works in the main menus and all custom menus, but not on any other built in menus, including battle menus, because scripts don't run during battles.