local skillgold = 5000 --支付费用
local skilltab = {}
--skilltab [itemid] = skillid 道具对应的技能编号
skilltab[50275] = 67 -- 洁净魔法
skilltab[50276] = 61 -- 补血魔法
skilltab[50277] = 62 -- 强力补血魔法
skilltab[50278] = 64 -- 恢复魔法
skilltab[50279] = 65 -- 强力恢复魔法
skilltab[50280] = 96 -- 暗杀
skilltab[51061] = 66 -- 超强恢复魔法
skilltab[51062] = 63 -- 超强补血魔法
skilltab[79651] = 72 -- 偷窃
skilltab[79652] = 94 -- 混乱攻击
skilltab[79653] = 44 -- 超强中毒魔法
skilltab[79654] = 45 -- 超强昏睡魔法
skilltab[79655] = 46 -- 超强石化魔法
skilltab[79656] = 47 -- 超强酒醉魔法
skilltab[79657] = 48 -- 超强混乱魔法
skilltab[79658] = 49 -- 超强遗忘魔法
Global_Reg.RegItemUseEvent ("skill_item");--创建一个所有玩家双击道具栏物品就会触发的Lua函数。
function skill_item(player, Itemindex)
local itemid = Item.GetData(Itemindex, %道具_ID%);
-- NLG.SystemMessage(player,"双击有效,itemid="..itemid..",类型="..type(itemid)..",")
if skilltab[itemid] then
local gold = Char.GetData(player,53)--判断魔币
if gold >= skillgold then --若魔币够
local a = Char.addSkill(player, skilltab[itemid])--添加技能函数
if a >= 0 then--a>0 为成功
Char.SetData(player,53,gold-skillgold)
NLG.DelItem(player, itemid, 1)
NLG.UpChar(player)
NLG.SystemMessage(player,"学习技能成功,扣取"..skillgold.."魔币")
elseif(a == -1)then --失败
NLG.SystemMessage(player,"学习失败");
return 1
elseif(a == -2)then --已学过
NLG.SystemMessage(player,"学习失败,此技能已学习过");
return 1
elseif(a == -3)then --技能栏不足
NLG.SystemMessage(player,"学习失败,技能栏不足");
return 1
elseif(a == -4)then --职业不能学习
NLG.SystemMessage(player,"学习失败,此职业不能学习此技能");
return 1
end
else
NLG.SystemMessage(player,"学习失败,学习该技能需要"..skillgold.."魔币") --不够魔币
return 1
end
end
return 0--通过
end
|
|