[BUG] Crash when assigning backtick as a keybind

When I try to assign backtick (`) as a hotkey, demigod crashes with the following error:

 

Unhandled exception:

attempt to use as string a nil value
stack traceback:
    [C]: in function `SetText'
    ...s\demigod\dgdata.zip\lua\options\module_keybinds.lua(156): in function `OnReceivedKeyFromEngine'
    ...s\demigod\dgdata.zip\lua\options\module_keybinds.lua(163): in function <...s\demigod\dgdata.zip\lua\options\module_keybinds.lua:162>

Program : C:\Program Files (x86)\Stardock Games\Demigod\bin\Demigod.exe
Cmd line arguments :

Callstack:
    unavailable.

Last 100 lines of log...

A full record of the log is stored in the Demigodlog.txt file

info: ARMY1_1 Adding upgrade [CBuildingHealth03]
info: Initiating Hero AI plan for: \000hema01
info: Removing upgrade [CGoldIncome01]
info: ARMY1_1 Adding upgrade [CGoldIncome02]
info: Initiating Hero AI plan for: \000hema01
info: Initiating Hero AI plan for: \000hema01
info: KILL VO : [KillHero_hema01]
info: Target area too close
info: Target area too close
info: Initiating Hero AI plan for: \000hema01
info: KILL VO : [KillHero_hema01]
info: KILL VO : [KillHero_hema01]
info: Initiating Hero AI plan for: \000hema01
info: KILL VO : [KillHero_hema01]
info: Can't use \000HRookHammerSlam04
info: KILL VO : [KillHero_hema01]
info: ARMY2_5 Adding upgrade [CBuildingStrength01]
info: Initiating Hero AI plan for: \000hema01
info: Initiating Hero AI plan for: \000hema01
info: Initiating Hero AI plan for: \000hema01
info: Initiating Hero AI plan for: \000hema01
info: KILL VO : [KillHero_hema01]
info: KILL VO : [KillHero_hema01]
info: KILL VO : [KillHero_hema01]
info: KILL VO : [KillHero_hema01]
info: KILL VO : [KillHero_hema01]
info: Initiating Hero AI plan for: \000hema01
info: Initiating Hero AI plan for: \000hema01
info: Initiating Hero AI plan for: \000hema01
info: Initiating Hero AI plan for: \000hema01
info: Initiating Hero AI plan for: \000hema01
info: KILL VO : [KillHero_hema01]
info: Can't use \000HRookHammerSlam04
info: KILL VO : [KillHero_hema01]
info: Initiating Hero AI plan for: \000hema01
info: Setting audio parameter 'WARSCORE' to value '6.000000'
info: KILL VO : [KillHero_hema01]
warning: hrook can't use ability HRookHammerSlam04 because of \000{ Cooldown=true, CooldownRemaining=11.799926757813 }
info: Can't use \000HRookHammerSlam04
info: KILL VO : [KillHero_hema01]
info: KILL VO : [KillHero_hema01]
info: Removing upgrade [CBuildingStrength02]
info: ARMY1_1 Adding upgrade [CBuildingStrength03]
info: Removing upgrade [CPortalFrequency02]
info: ARMY1_1 Adding upgrade [CPortalFrequency03]
info: Initiating Hero AI plan for: \000hema01
info: ARMY1_1 Adding upgrade [CTroopNumber03]
info: ARMY1_1 Adding upgrade [CDeathPenalty01]
info: Removing upgrade [CDeathPenalty01]
info: ARMY1_1 Adding upgrade [CDeathPenalty02]
info: ARMY1_1 Adding upgrade [CTroopArmor01]
info: ARMY1_1 Adding upgrade [CTroopStrength01]
info: Removing upgrade [CTroopArmor01]
info: ARMY1_1 Adding upgrade [CTroopArmor02]
info: Removing upgrade [CTroopStrength01]
info: ARMY1_1 Adding upgrade [CTroopStrength02]
info: Removing upgrade [CTroopArmor02]
info: ARMY1_1 Adding upgrade [CTroopArmor03]
info: Removing upgrade [CTroopStrength02]
info: ARMY1_1 Adding upgrade [CTroopStrength03]
info: Initiating Hero AI plan for: \000hema01
info: Initiating Hero AI plan for: \000hema01
info: Initiating Hero AI plan for: \000hema01
info: Can't use \000HRookHammerSlam04
info: KILL VO : [KillHero_hema01]
info: KILL VO : [KillHero_hema01]
info: KILL VO : [KillHero_hema01]
info: KILL VO : [KillHero_hema01]
info: KILL VO : [KillHero_hema01]
info: Initiating Hero AI plan for: \000hema01
info: Initiating Hero AI plan for: \000hema01
info: Initiating Hero AI plan for: \000hema01
info: Initiating Hero AI plan for: \000hema01
info: Initiating Hero AI plan for: \000hema01
debug: Loading module '\000/lua/ui/game/zoomslider.lua\000'
info: Can't use \000Item_Artifact_040_2
info: KILL VO : [KillHero_hema01]
info: Target area too close
info: KILL VO : [KillHero_hema01]
info: KILL VO : [KillHero_hema01]
info: KILL VO : [KillHero_hema01]
info: Initiating Hero AI plan for: \000hema01
info: Initiating Hero AI plan for: \000hema01
info: Initiating Hero AI plan for: \000hema01
info: Initiating Hero AI plan for: \000hema01
info: Initiating Hero AI plan for: \000hema01
info: Setting audio parameter 'WARSCORE' to value '7.000000'
info: KILL VO : [KillHero_hema01]
info: KILL VO : [KillHero_hema01]
info: Setting audio parameter 'ALIVE' to value '0.000000'
debug: Loading module '\000/lua/simcallbacks.lua\000'
debug: Loading module '\000/lua/sim/simresourceviewer.lua\000'
debug: Loading module '\000/lua/simping.lua\000'
debug: Loading module '\000/lua/ui/dialogs/exitdialog.lua\000'
debug: Loading module '\000/lua/ui/dialogs/dialog_options.lua\000'
debug: Loading module '\000/lua/ui/menus/menubuttonframe.lua\000'
debug: Loading module '\000/lua/options/module_options.lua\000'
debug: Loading module '\000/lua/options/module_keybinds.lua\000'
debug: Loading module '\000/lua/keymap/userbindablecommands.lua\000'
info: Initiating Hero AI plan for: \000hema01

 

For me this is 100% repeatable.  In addition I am unable to assign single quote as a hotkey (') - on the UK keyboard layout both these keys would be handy to have.

526 views 2 replies
Reply #1 Top

Same problem, and now I can't play the game as every time I start the game the resolution has been reset to 800x600 and I can't get out of the keybinding options. I have even tried reinstalling and nothing changed.

Reply #2 Top

Lemme preface by saing I take no responsibility for this, but also, what've you got to lose? :)

Search for the module_keybinds.lua file and make a copy.

Open the original in notepad.

Search in the file for OnReceivedKeyFromEngine.

Directly below that line, paste this:

if keyString == '\'' then
 CancelKeyBind()
 return
end

Uhm, just an edit to be clear... actually copy paste that code above, or if you type it, it is a single quote, a backslash, and two single quotes after ==, no double quotes anywhere in there.

Save it and see if it works. If not, just restore the backup you made.