Raptorkillz xyz But now how would I make it work with the sonic 3 level select cheat {"gm_up gm_up gm_down gm_down gm_up gm_up gm_up gm_up" : "sonic 3 level select"}
xyz Raptorkillz Well, just add that sequence to the dictionary. But as I said you need to check that your actions are properly set up. To which input events do you have those gm_* actions mapped?
Raptorkillz xyz Okay and they are named correctly here's the input maps [["gm_left","gm_right"],["gm_up","gm_down"],"gm_action","gm_action2","gm_action3","gm_super","gm_pause"]
Raptorkillz xyz Okay This inputs gm_left","gm_right moves the character left or right And this inputs allows the character to crouch and look up "gm_up","gm_down" And this inputs allow the character to jump "gm_action","gm_action2","gm_action3" This Input turns sonic to super sonic gm_super and this input pause/starts the game "gm_pause"
xyz Raptorkillz Yes but they need to be mapped to some physical input events in order to work. Can you show a screenshot of your input map tab in the projects settings?
xyz Raptorkillz As I said the built in actions may be "overriding" your defined actions if both are mapped to same input events. What gets printed as "current sequence" when you press left/righ/up/down actions? You can try with this input function instead. It prioritizes last added actions: func _input(e): var actions = InputMap.get_actions().filter(func(aa): return e.is_action_pressed(aa)) if actions: var a = actions[-1] s += a if not s else " " + a print("current sequence: ", s) for k in cheats.keys(): if s.contains(k): cheat_code_entered.emit(cheats[k]); s = ""
xyz Raptorkillz Umm, the last code snippet I posted was just the _input() function, not the whole script. It's meant to replace the previous _input() function. The rest of the stuff still needs to be there. I thought that was self evident. If not, you should really attempt a much simpler project.
xyz Raptorkillz You need to stop saying "not working" because that's just useless information. Do your best to diagnose in what way it's not working, what is happening vs what you expect to happen and report that. Be verbose and precise. Otherwise, you're wasting everyone's time, including yours. No one will be able to help you if you don't provide as much information as possible. We're not looking at your screen and cannot read your mind.
xyz Raptorkillz Monitor the value of 's' (either via printing, breakpoints, or a label) as you input actions, and report back what you get there.