RegBattleGiveItem
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 获取具体错误信息。
作者:105493660 创建时间:2017-12-24 21:19
更新时间:2025-12-24 21:35
更新时间:2025-12-24 21:35