0

我已经研究了解决此问题的不同方法,但根本不了解。我已经尝试过修复所有可能的代码,但仍然没有成功。

RegisterServerEvent('housing:attemptsale')
AddEventHandler('housing:attemptsale',
function(args,price,hid,model)
    local src = source
    local user = exports["np-base"]:getModule("Player"):GetUser(src)
    local char = user:getCurrentCharacter()
    local target = exports["np-base"]:getModule("Player"):GetUser(args)
    local targetchar = user:getCurrentCharacter()
    
    if target:getCash() >= price then
        target:removeMoney(price)
        exports.ghmattimysql:execute("UPDATE houses SET `cid` = @cid, `price` = @price, `model` = @model WHERE `id` = @id", {
            ['@cid'] = targetchar.id,
            ['@price'] = price,
            ['@id'] = hid,
            ['@model'] = model
        })
    else
        TriggerClientEvent('DoShortHudText', args, 'You dont got money', 2)
    end
end)
4

1 回答 1

0

由于您没有提供有关您正在使用的功能的任何资源,因此我们无能为力。

其实这很简单。

您正在索引一个布尔值本地目标。

这意味着你在做类似target:something(), target.something, target[something].

在这里你创建targetlocal target = exports["np-base"]:getModule("Player"):GetUser(args)

然后你这样做target:getCash()。此时target是一个布尔值,这意味着它是trueor false

所以你知道exports["np-base"]:getModule("Player"):GetUser(args)返回truefalse

现在你有两个选择。

  • 找出为什么函数返回布尔值而不是你期望的值并修复它
  • target如果不可索引,target则不要索引。
于 2021-03-09T20:52:23.833 回答