RegBattleGiveItem(DoFile, InitFuncName);


函数功能:

创建一个所有玩家战斗结束获得物品触发的Lua函数。


请求方式:

参数名 是否必须 类型 说明
DoFile string 脚本文件路径(如是本文件则填写nil)
InitFuncName string 响应事件处理函数的名称,声明格式参考如下

参数说明:

参数名 是否必须 类型 说明
BattleIndex int 响应事件的战斗索引
CharIndex int 响应事件的人物索引
ItemList table 响应事件的物品索引列表长度默认为3,-1表示没有
EncountID int 响应事件的EncountID

返回值:

是否必须 类型 说明
Table 返回当前所得到的物品索引-1表示没有
int 返回默认0或非Table即可

操作实例:

NL.RegBattleGiveItem(nil, "BattleItemGive_Event");

--例子1
function BattleItemGive_Event( BattleIndex, CharIndex,ItemList,EncountID)
    --修改所得物品
    ItemList[1] = Battle.AddItem(18005);--此函数为生成战斗后给予物品的物品索引,参数为道具id。返回值为物品索引。
    ItemList[2] = Battle.AddItem(18006);
    ItemList[3] = Battle.AddItem(18007);
    --设置物品编号10000的个数为最高可叠加数量,因为是可叠数物品
    local ItemMaxNum = Item.GetData(ItemList[1],%道具_最大堆叠数%);
    Item.SetData(ItemList[1],%道具_堆叠数%,ItemMaxNum );
    return ItemList; 
end

--例子2
function BattleItemGive_Event( BattleIndex, CharIndex,ItemList,EncountID)
    --拦截所有给予物品,使战斗。不得任何东西。
    for i=1,3 do
        if ItemList[i] ~= -1 then
            Item.DeleteItemIndex(ItemList[i]);--销毁此物品索引,注意,此步骤不能省略。。
            ItemList[i] = -1;
        end
    end
    return ItemList; 
end

备注:

  • 返回错误代码请使用 GetErrorStr 获取具体错误信息。
文档更新时间: 2023-04-21 15:45   作者:105493660