Lua 脚本在第 448 行给出错误,在脚本末尾,我需要添加啥来结束脚本?

Posted

技术标签:

【中文标题】Lua 脚本在第 448 行给出错误,在脚本末尾,我需要添加啥来结束脚本?【英文标题】:Lua script gives error at line 448, at the end of script, what do I need to add to end the script?Lua 脚本在第 448 行给出错误,在脚本末尾,我需要添加什么来结束脚本? 【发布时间】:2022-01-18 09:20:08 【问题描述】:

我在这个 Lua 脚本的结尾有一个错误,我不知道如何结束这个脚本,错误是

[脚本错误]https://i.stack.imgur.com/7BU2x.png

这是直到脚本结束的第 375 行。我不明白我应该如何结束这一切。我对编程很陌生,Lua 是我尝试学习的第一门语言。我获得了免费脚本并根据自己的喜好为我的 FiveM GTA RP 服务器编辑它们,但我不知道如何结束这一切。感谢所有和任何帮助,我很感激! :)

if dist <= 1 and not isProcessing then
            sleep = 5
            DrawText3D(process.x, process.y, process.z, '~b~E~w~ - Process Meth')
            if IsControlJustPressed(1, 51) then     
                isProcessing = true
                RegisterNetEvent('qb-coke:MakeMeth',function() 
                    QBCore.Functions.TriggerCallback("qb-meth:getMeth",function(mix)
                        if mix then
                            QBCore.Functions.Progressbar('making_meth', 'Making Meth', 15000, false, true, 
                                disableMovement = true,
                                disableCarMovement = true,
                                disableMouse = false,
                                disableCombat = true,
                            , , , , function()  
                                TriggerServerEvent('qb-meth:processed')
                                ClearPedTasks(PlayerPedId())
                            end, function() -- Cancel
                                TriggerEvent('inventory:client:busy:status', false)
                                QBCore.Functions.Notify("Cancelled..", "error") 
                            end)
                        else
                            QBCore.Functions.Notify("You don't have all ingredients!", "error")
                        end
                    end)
                end)

function processing()
    local player = PlayerPedId()
    SetEntityCoords(player, process.x,process.y,process.z-1, 0.0, 0.0, 0.0, false)
    SetEntityHeading(player, 160.84)
    FreezeEntityPosition(player, true)
    playAnim("anim@amb@clubhouse@tutorial@bkr_tut_ig3@", "machinic_loop_mechandplayer", 30000)

    QBCore.Functions.Progressbar("meth-", "Making Meth", 0000, false, true, 
        disableMovement = true,
        disableCarMovement = true,
        disableMouse = false,
        disableCombat = true,
    , , , , function() -- Done
        FreezeEntityPosition(player, false)
        LocalPlayer.state:set("inv_busy", false, true)
        TriggerServerEvent('qb-meth:processed')
        isProcessing = false
    end, function() -- Cancel
        isProcessing = false
        ClearPedTasksImmediately(player)
        FreezeEntityPosition(player, false)
    end)

end

function cooldown()
    Citizen.Wait(200)
    TriggerServerEvent('qb-meth:updateTable', false)
end

function playAnimPed(animDict, animName, duration, buyer, x,y,z)
    RequestAnimDict(animDict)
    while not HasAnimDictLoaded(animDict) do 
      Citizen.Wait(0) 
    end
    TaskPlayAnim(pilot, animDict, animName, 1.0, -1.0, duration, 49, 1, false, false, false)
    RemoveAnimDict(animDict)
end

    function playAnim(animDict, animName, duration)
        RequestAnimDict(animDict)
        while not HasAnimDictLoaded(animDict) do 
          Citizen.Wait(0) 
        end
     TaskPlayAnim(PlayerPedId(), animDict, animName, 1.0, -1.0, duration, 49, 1, false, false, false)
        RemoveAnimDict(animDict)    
    end
end

【问题讨论】:

考虑使用更简单的代码,直到您更熟悉 Lua 的语法。 请使用适当的缩进,然后您会立即自己发现错误。并帮助您阅读代码。 【参考方案1】:

第一个提示:错误消息。这里想到的唯一 if 语句是 if IsControlJustPressed(1, 51) then ...

第二个提示:代码已正确缩进,因此很明显该 if 语句的缩进级别没有结束。

第三个提示:需要end 的关键字比ends 的要多。

检查您是否找到每个关键字的匹配端。从最里面的范围开始执行此操作。

到最后你会发现if IsControlJustPressed(1, 51) then没有尽头...

提示:如果您无法在脑海中执行此操作,请删除所有语法正确的内容,直到找到不正确的内容。

【讨论】:

以上是关于Lua 脚本在第 448 行给出错误,在脚本末尾,我需要添加啥来结束脚本?的主要内容,如果未能解决你的问题,请参考以下文章

HTML 表单 - 添加新表格行并将焦点设置在第一个输入上的脚本

cURL 发布请求脚本给出“未定义的函数 curl_init”

Lua脚本语言——基础语法

Lua 尝试索引全局“自我”错误(GMod Lua 脚本)

CC::LuaEngine->executeScriptFile("main.lua") 不执行脚本

高效开发:lua语言交互式编程和脚本式编程