我无法运行我的代码?

我为 Garry's Mod 编写了一个脚本,使用 Lua 编写了一个脚本,允许我在绑定键时进行跳跃,然后进行 360 度旋转和射击,但是当我完成编码后,它不会让我在上面进行测试,原因是什么?你能否告诉我在代码中犯了什么错误?我也有 90% 的把握认为旋转没有完全达到 360 度,所以如果你能帮我解决这个问题,我将非常感激。谢谢。

代码:

function 360JumpShot()
    timer.simple(.01,jump)
    timer.simple(.02,turn)
    timer.simple(.04,turn)
    timer.simple(.06,turn)
    timer.simple(.08,turn)
    timer.simple(.10,turn)
    timer.Simple(.12,Turn)
    timer.Simple(.14,Turn)
    timer.Simple(.16,Turn)
    timer.Simple(.18,Turn)
    timer.Simple(.20,Turn)
    timer.Simple(.22,Turn)
    timer.Simple(.24,Turn)
    timer.Simple(.26,Turn)
    timer.Simple(.28,Turn)
    timer.Simple(.30,Turn)
    timer.Simple(.32,Turn)
    timer.Simple(.34,Turn)
    timer.Simple(.36,Turn)
    timer.Simple(.36,Turn)
    timer.Simple(.40,Turn)
    timer.Simple(.45,Turn)
    timer.Simple(.50,Turn)
    timer.Simple(.55,Turn)
    timer.Simple(.60,Turn)
    timer.Simple(.65,Turn)
    timer.Simple(.70,Turn)
    -- 获取 Noseope
    timer.simple(.7,function() RunConsoleCommand("+attack") end)
    timer.simple(.72,function() RunConsoleCommand("-attack") end)
end
function Turn()
    -- 转弯 (360)
    LocalPlayer():SetEyeAngles(LocalPlayer():EyeAngles()-Angle(0,10,0))
end
function jump()
    LocalPlayer():EyeAngles() LocalPlayer():SetEyeAngles(Angle(a.p-a.p-a.p, a.y-180, a.r))
end
-- 控制台命令
concommand.ADD("360Jump",360JumpShot)
点赞
用户4158284
用户4158284

好的,我已经让它工作了。

首先,你不能以数字开头命名函数,所以把

function 360JumpShot()
concommand.ADD("360Jump",360JumpShot)

改成

function JumpShot()
concommand.Add("360Jump",JumpShot)

请注意,我还将 ADD 改为 Add,因为 LUA 是大小写敏感的,考虑到这一点,请将

timer.simple(.01,jump)
timer.simple(.02,turn)
timer.simple(.04,turn)
timer.simple(.06,turn)
timer.simple(.08,turn)
timer.simple(.10,turn)
timer.simple(.7,function() RunConsoleCommand("+attack") end)
timer.simple(.72,function() RunConsoleCommand("-attack") end)

改成

timer.Simple(.01,jump)
timer.Simple(.02,Turn)
timer.Simple(.04,Turn)
timer.Simple(.06,Turn)
timer.Simple(.08,Turn)
timer.Simple(.10,Turn)
timer.Simple(.7,function() RunConsoleCommand("+attack") end)
timer.Simple(.72,function() RunConsoleCommand("-attack") end)

在这些更改之后,你的脚本可以正常工作,但你可能需要找到一种更快的移动方式,因为你的相机移动非常缓慢,可能并不是你想要的。

2014-10-19 07:09:42