nikluas 发表于 前天 10:19

使用giveitem()时返回值一直是0

-- 1个100万经验书
function get_item7010(player)
    local sysvar = getsysvarex("冲级活动_sys_1个100万经验书")
    local playervar = getplayvar(player, "HUMAN", "冲级活动_user_1个100万经验书")
    local itemname = "1级宝石宝箱"

    release_print(sysvar, playervar)

    if (getstditeminfo(itemname, 1) == 0) then
      utils.sendtips(player, "该物品不存在")
      return false
    end

    if not (getbaseinfo(player, 1)) then
      release_print("此物品只能玩家领取")
      utils.sendtips(player, "此物品只能玩家领取")
      return false
    end
    if (sysvar >= 6) then
      utils.sendtips(player, "名额已上限")
      return false
    end
    if (playervar >= 1) then
      utils.sendtips(player, "您已经领取了此物品")
      return false
    end
    local ret=giveitem(player, itemname, 1, 64, "冲级活动领取1个100万经验书")
    release_print(type(ret),"ret:"..ret)
    utils.sendtips(player, "恭喜您成功领取了1个100万经验书")
    setsysvarex("冲级活动_sys_1个100万经验书", sysvar + 1, 1)
    setplayvar(player, "HUMAN", "冲级活动_user_1个100万经验书", playervar + 1, 1)
    main(player)
    return true
end
我想问一下,为什么我这个giveitem的返回值为什么一直返回一个string类型的0,然后我使用不存在的物品,给我返回0,存在的物品也依旧给我返回0,api上面写的是返回一个对象,如果失败应该返回一个nil才对

屈原不吃月饼 发表于 前天 13:54

不建议使用在叠加物品

996技术-wang 发表于 前天 14:16

可以在LUA版块提问的
页: [1]
查看完整版本: 使用giveitem()时返回值一直是0