2

回帖

615

金币

337

积分

积分
337
发表于 2022-8-6 01:18:45 | 显示全部楼层 |阅读模式

马上注册,下载996引擎,与更多游戏开发者交流。

您需要 登录 才可以下载或查看,没有账号?注册

×
前提 : player ~= nil  ,存在物品 "怒斩"。
测试:   local _res1,_res2 = giveitem(player,"怒斩",1)

结果:1.只有1个返回值_res1,  且_res1 返回的是 (猜测是) itemObj 。
            2.函数内部没有判断人物背包,致背满了之后物品还会继续掉地上。



        望测试后修复!
最后回复时间:2022-08-17 10:40:46官方回复了此贴
回复

使用道具 举报

99

回帖

2795

金币

1546

积分

积分
1546
发表于 2022-8-17 10:40:46 | 显示全部楼层
说明书的问题  如果 不成功 返回false  成功了 则返回对象
回复

使用道具 举报

3

回帖

1011

金币

533

积分

积分
533
发表于 2026-6-11 10:18:32 | 显示全部楼层
996技术-七伤拳 发表于 2022-8-17 10:40
说明书的问题  如果 不成功 返回false  成功了 则返回对象

-- 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才对
回复

使用道具 举报