lua 中的if语句被运行多次

你好,一旦触发此事件并检查级别并给出正确的奖励,问题就在于xplayer.blablabla被随机运行了多次,而不是一次点击,有人知道是什么问题吗?

RegisterServerEvent('battlepass:rewardskteolekaramele')
AddEventHandler('battlepass:rewardskteolekaramele', function()
    local _source = source
    local xPlayer = ESX.GetPlayerFromId(source)
    local identifier = xPlayer.identifier
    MySQL.Async.fetchAll("SELECT level FROM levelxp_table WHERE identifier = @identifier", {
        ["identifier"] = GetPlayerIdentifiers(source)[1]},
        function(attributeti)
        print(attributeti[1].level)
        local resultar = attributeti[1].level
        if  attributeti[1].level == 1 or resultar == 11 or resultar == 21 or resultar == 31  or resultar == 41 or resultar == 51 or resultar == 61 or resultar == 71 or resultar == 81 or resultar == 91  then
            xPlayer.addMoney(50000)

        elseif  attributeti[1].level == 2 or resultar == 12 or resultar == 22 or resultar == 32 or resultar == 42 or resultar == 52 or resultar == 62 or resultar == 72 or resultar == 82 or resultar == 92   then
            xPlayer.addInventoryItem("WEAPON_FENNEC", 1)

            elseif  attributeti[1].level == 3 or resultar == 13 or resultar == 23 or  resultar == 33 or resultar == 43 or resultar == 53 or resultar == 63 or resultar == 73 or resultar == 83 or resultar == 93 then
            xPlayer.addAccountMoney('bitcoin_money', 10)

        end
    end)
    end)

原文链接 https://stackoverflow.com/questions/70389570

点赞
stackoverflow用户17727151
stackoverflow用户17727151

这并不是“if”语句被运行了两次,而是事件被运行了两次。

我不确定这段代码做了什么,因为 Lua 不是我的主要语言,但我有一些经验。

尝试在事件开头加上 print("event ran")。这样你就能确定是“if”语句被运行了两次还是实际的事件被运行了两次。

2021-12-21 05:19:01