使用短LUA脚本在BizHawk上崩溃

问题描述:

在BizHawk(它是模拟器)上的lua控制台上使用此非常短的脚本时,LUA控制台和BizHawk都同时崩溃。 我想知道这个错误是来自我的脚本还是来自BizHawk,她的脚本是:(它应该做的是检查玩家是否在特定时间段内移动[TimeoutConstant],如果他是[ 。因为他已经死了,卡住或AFK]脚本加载保存的状态称为文件名,并再次启动这里的脚本:使用短LUA脚本在BizHawk上崩溃

Filename = "yolo.state" 
TimeoutConstant = 80 
rightmost = 0 
timeout = TimeoutConstant 

function initializeRun() 
    savestate.load(Filename) 
    rightmost = 0 
    timeout = TimeoutConstant 
end 

function getPositions() 
    marioX = memory.read_s16_le(0x94) 
    marioY = memory.read_s16_le(0x96) 

    local layer1x = memory.read_s16_le(0x1A); 
    local layer1y = memory.read_s16_le(0x1C); 

    screenX = marioX-layer1x 
    screenY = marioY-layer1y 
end 

initializeRun() 

while true do 
    getPositions() 

    if marioX > rightmost then 
     rightmost = marioX 
     timeout = TimeoutConstant 
    end 

    if timeout <= 0 then 
     initializeRun() 
    end 

    timeout = timeout - 1 
end 
+0

如果您可以在问题中包含代码,而不是作为图片,那将会非常棒。 –

+0

她是一个patebin链接:http://pastebin.com/mSw35diM –

我承担起“撞车”你的意思是“冻结”,这是不是在所有相同因为你的脚本将模拟器变成了一个繁忙的循环,所以你没有做任何事情来提高模拟器的运行时间。脚本的最后两行需要是:

emu.frameadvance(); 
end 

顺便说一句,模拟器lua脚本,脚本游戏的名称是必不可少的信息。