双倍经验卷轴\三倍经验卷轴:双击使用可增加对应的经验Buff(同类型道具可叠加使用,不同类型道具不可叠加使用,即已经使用了双倍经验卷轴,若再次使用双倍经验卷轴可累加持续时间,若再次使用三倍经验卷轴则不可用)
(1)在Item.xlsx道具配置表中新增[双倍经验卷轴\三倍经验卷轴]道具的相关数据:
ItemID表示物品id号,需检查不能重复;ItemName表示物品名字,可根据需要换名;Race值为100,表示可以双击使用的道具类型;Icon表示道具的图标显示id,可根据需要换图(道具资源参考客户端资源说明--道具图标);
Option表示物品属性,可根据需要添加(denyhero禁止英雄使用);Script表示该道具双击使用后对应的脚本函数item.AddExpRate1、item.AddExpRate2;ClientDescEx表示道具的Tips信息,可根据需要替换;
其余字段参数可都可根据需要自行配置;
(2)在BuffDB.xlsx的buff配置表中优化id为8的buff:
id表示buff的唯一静态id,固定为8,不能修改;status表示服务器状态,固定为3,不能修改;option表示buff属性(dienodel死亡后buff不删除,save下线后保存)
(3)在Script目录下的item文件中增加道具的相关脚本执行:
--双倍经验卷轴;
function AddExpRate1(player, Item)
local addExpValue = 100;
local bHave,nValue = player:HaveBuff(8);
if(bHave == false or (bHave == true and nValue == addExpValue)) then
player:AddBuff(8,2*60*60,addExpValue,nil,nil);
player:InfoMsg("成功使用["..Item:ItemName().."],效果累计2小时", Define.COLOR_HINT, Define.COLOR_WHITE);
return 1;
end;
player:InfoMsg("当前正在使用其它经验卷轴,无法重复使用!", Define.COLOR_RED, Define.COLOR_WHITE);
return 0;
end;
--三倍经验卷轴;
function AddExpRate2(player, Item)
local addExpValue = 200;
local bHave,nValue = player:HaveBuff(8);
if(bHave == false or (bHave == true and nValue == addExpValue)) then
player:AddBuff(8,2*60*60,addExpValue,nil,nil);
player:InfoMsg("成功使用["..Item:ItemName().."],效果累计2小时", Define.COLOR_HINT, Define.COLOR_WHITE);
return 1;
end;
player:InfoMsg("当前正在使用其它经验卷轴,无法重复使用!", Define.COLOR_RED, Define.COLOR_WHITE);
return 0;
end;
(4)完成配置和脚本功能后,@reload item、@reload script即可实现