diff --git a/parts/gametoolfunc.lua b/parts/gametoolfunc.lua index 593174e3..9e0eedad 100644 --- a/parts/gametoolfunc.lua +++ b/parts/gametoolfunc.lua @@ -56,15 +56,9 @@ function restoreVirtualKey() B.isDown=false B.pressTime=0 end - if not GAME.modeEnv.Fkey then - virtualkey[9].ava=false - end - if not GAME.modeEnv.holdCount or GAME.modeEnv.holdCount==0 then - virtualkey[8].ava=false - end - if GAME.modeEnv.keyCancel then - for _,v in next,GAME.modeEnv.keyCancel do - virtualkey[v].ava=false + for k,v in next,PLAYERS[1].keyAvailable do + if not v then + virtualkey[k].ava=false end end end @@ -467,8 +461,8 @@ function resetGameData(replaying) TASK.removeTask_code(TICK.autoPause) destroyPlayers() - restoreVirtualKey() GAME.curMode.load() + restoreVirtualKey() if GAME.modeEnv.task then for i=1,#PLAYERS do PLAYERS[i]:newTask(GAME.modeEnv.task) diff --git a/parts/player/gameEnv0.lua b/parts/player/gameEnv0.lua index 39126621..3eca518e 100644 --- a/parts/player/gameEnv0.lua +++ b/parts/player/gameEnv0.lua @@ -42,7 +42,7 @@ return{ visible="show", freshLimit=1e99,easyFresh=true, - Fkey=NULL, + Fkey=false, keyCancel={}, fine=false,fineKill=false, b2bKill=false, diff --git a/parts/player/init.lua b/parts/player/init.lua index 800cf4f6..bdbaff75 100644 --- a/parts/player/init.lua +++ b/parts/player/init.lua @@ -243,9 +243,13 @@ local function applyGameEnv(P)--Finish gameEnv processing end end end + if not ENV.Fkey then + P.keyAvailable[9]=false + end for _,v in next,ENV.keyCancel do P.keyAvailable[v]=false end + P:setInvisible( ENV.visible=="show"and -1 or ENV.visible=="time"and 300 or