89926994.jpg双倍经验卷轴\三倍经验卷轴:双击使用可增加对应的经验Buff(同类型道具可叠加使用,不同类型道具不可叠加使用,即已经使用了双倍经验卷轴,若再次使用双倍经验卷轴可累加持续时间,若再次使用三倍经验卷轴则不可用)

(1)在Item.xlsx道具配置表中新增[双倍经验卷轴\三倍经验卷轴]道具的相关数据:

90097488.png

ItemID表示物品id号,需检查不能重复;ItemName表示物品名字,可根据需要换名;Race值为100,表示可以双击使用的道具类型;Icon表示道具的图标显示id,可根据需要换图(道具资源参考客户端资源说明--道具图标);

Option表示物品属性,可根据需要添加(denyhero禁止英雄使用);Script表示该道具双击使用后对应的脚本函数item.AddExpRate1、item.AddExpRate2;ClientDescEx表示道具的Tips信息,可根据需要替换;

其余字段参数可都可根据需要自行配置;

(2)在BuffDB.xlsx的buff配置表中优化id为8的buff:
91426101.png

id表示buff的唯一静态id,固定为8,不能修改;status表示服务器状态,固定为3,不能修改;option表示buff属性(dienodel死亡后buff不删除,save下线后保存)

(3)在Script目录下的item文件中增加道具的相关脚本执行:

92505940.jpg

--双倍经验卷轴;

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即可实现

最后修改:2017 年 12 月 18 日
如果觉得我的文章对你有用,请随意赞赏