在 math.randomseed( os.time() ) 中出现语法错误

我在 LUA 中创建了一些脚本武器代码,并且想要随机播放三个爆炸声音。但好像不起作用,而且我得到了这个错误-

    syntax error near unexpected token 'os.time'

这是脚本的一个片段,似乎是出错的地方-

    math.randomseed( os.time() )
    local expthink = math.random(3,5)
    if expthink == 3 then local explosionsound = "explode3.wav"
    elseif expthink == 4  then local explosionsound = "explode4.wav"
    elseif expthink == 5 then local explosionsound = "explode5.wav"
    end

另外,我正在 Git Bash 中运行我的 test.lua 文件,这会影响什么吗?

这是我在命令提示符中得到的输出:

点击查看图片

(没有足够的声望来发布图片)

点赞
用户6196098
用户6196098

感谢@KeithThompson提供的答案。

只需将explosionsound变量不定义为本地变量即可。

math.randomseed(os.time())
local expthink = math.random(3,5)
if expthink == 3 then explosionsound = "explode3.wav"
elseif expthink == 4  then explosionsound = "explode4.wav"
elseif expthink == 5 then explosionsound = "explode5.wav"
end
print(explosionsound)

感谢@EgorSkriptunoff的编辑-编辑:还有,在Bash中运行它不是一个好主意。 Bash与批处理文件不兼容,如同运行Bash脚本一样运行它,它不认为 math.randomseed( os.time() ) 是正确的语法。

2016-05-23 23:32:13