local payitem = 100 --需要兑换道具数量
local wnitemid = 79700 --万能碎片id
local LV0 = "坐骑卡LV0"
local LV1 = "坐骑卡LV1"
local LV2 = "坐骑卡LV2"
local LV3 = "坐骑卡LV3"
local LV4 = "坐骑卡LV4"
local LV5 = "坐骑卡LV5"
local LV6 = "坐骑卡LV6"
local LV7 = "坐骑卡LV7"
local LV8 = "坐骑卡LV8"
local LV9 = "坐骑卡LV9"
local LV10 = "坐骑卡LV10"
--------------
Global_Reg.RegItemUseEvent ("zuoqi_item");--创建一个所有玩家双击道具栏物品就会触发的Lua函数。
Global_Reg.RegMoveEquipItem("zuoqi_jinji")--移动一件道具到另一个格子事件
function zuoqi_item(player, Itemindex)
local itemid = Item.GetData(Itemindex, %道具_ID%);--坐骑碎片id
if itemid then
local item2id = itemid-10000 --坐骑整卡id
if itemid >= 711000 and itemid <= 719999 then
local haveitem = Char.ItemNum(player, itemid) -- 拥有道具数量
local havezkitem = Char.ItemNum(player, item2id) -- 是否有整卡
if haveitem >= payitem then -- 拥有道具数量>=需求道具数量
if havezkitem >= 1 then
NLG.SystemMessage(player,"你身上已有该坐骑卡。")
else
NLG.DelItem(player, itemid, payitem) --扣除道具
Char.GiveItem(player,item2id,1)
local pos = Char.FindItemId(player,item2id)
local item2index = Char.GetItemIndex(player, pos)
-- NLG.SystemMessage(player,"item2index="..item2index..",类型="..type(item2index)..",")
local item2name = Item.GetData(item2index,2001) --获取名字
Item.SetData(item2index,%道具_耐久%,0)
Item.SetData(item2index,2001,item2name.."LV1")
Item.UpItem(player,pos)
end
else
NLG.SystemMessage(player,"你的坐骑碎片不足,需要"..payitem.."个碎片才可兑换。")
end
return 1
end
end
return 0--通过
end
function zuoqi_jinji(player,zkItemPos, spItemPos)--移动一件道具到另一个格子事件
local zkitemindex = Char.GetItemIndex(player,zkItemPos);--目标index
local spitemindex = Char.GetItemIndex(player,spItemPos);--拿起的index
local zkItem_ID = Item.GetData(zkitemindex,0) or -1--目标道具ID
local spItem_ID = Item.GetData(spitemindex,0) or -1--拿起的道具ID
local wnpd = zkItem_ID - wnitemid --万能碎片判断
-- NLG.SystemMessage(player,"zkItem_ID="..zkItem_ID..",spItem_ID="..spItem_ID..",")
if zkItem_ID >= 701000 and zkItem_ID <= 710999 then
if spItem_ID-zkItem_ID == 10000 then
zuoqi_sheding(player,spItem_ID,spitemindex,spItemPos,zkItem_ID,zkitemindex,zkItemPos)--普通碎片
elseif wnpd >= 621300 and spItem_ID == wnitemid then
zuoqi_wnsheding(player,spItem_ID,spitemindex,spItemPos,zkItem_ID,zkitemindex,zkItemPos)--万能碎片
end
end
return 0
end
function zuoqi_sheding(player,spItem_ID,spitemindex,spItemPos,zkItem_ID,zkitemindex,zkItemPos)--普通碎片具体设定
local zklv = Item.GetData(zkitemindex,2000) --获取坐骑整卡等级
local zkname = Item.GetData(zkitemindex,2001) --获取坐骑整卡名字
local zknj = Item.GetData(zkitemindex,%道具_耐久%)
local zkmaxnj = Item.GetData(zkitemindex,%道具_最大耐久%)
local spsl = Item.GetData(spitemindex,9) --碎片数量
local sppd = zkmaxnj - zknj - spsl --整卡耐久最大值-碎片数量
local name = string.sub(zkname,1,-2)
-- NLG.SystemMessage(player,"sudu="..sudu..",zknj="..zknj..",sppd="..sppd.."")
if zklv == LV10 then
NLG.SystemMessage(player,"该坐骑卡目前暂未开放更高级别。")
elseif sppd >= 1 then --未达到晋级的情况
NLG.DelItem(player, spItem_ID, spsl) --扣除道具
Item.SetData(zkitemindex,%道具_耐久%,zknj+spsl)
Item.UpItem(player,zkItemPos)
elseif sppd <= 0 then
NLG.DelItem(player, spItem_ID, zkmaxnj-zknj) --扣除道具
Item.SetData(zkitemindex,%道具_耐久%,0)
if zklv == LV1 then
Item.SetData(zkitemindex,2000,LV2)
Item.SetData(zkitemindex,%道具_最大耐久%,150)
Item.SetData(zkitemindex,2001,name.."2")
Item.SetData(zkitemindex,%道具_子参二%,120)
NLG.SystemMessage(player,""..zkname.."已升级为LV2。")
elseif zklv == LV2 then
Item.SetData(zkitemindex,2000,LV3)
Item.SetData(zkitemindex,%道具_最大耐久%,200)
Item.SetData(zkitemindex,2001,name.."3")
Item.SetData(zkitemindex,%道具_子参二%,125)
NLG.SystemMessage(player,""..zkname.."已升级为LV3。")
elseif zklv == LV3 then
Item.SetData(zkitemindex,2000,LV4)
Item.SetData(zkitemindex,%道具_最大耐久%,300)
Item.SetData(zkitemindex,2001,name.."4")
Item.SetData(zkitemindex,%道具_子参二%,130)
NLG.SystemMessage(player,""..zkname.."已升级为LV4。")
elseif zklv == LV4 then
Item.SetData(zkitemindex,2000,LV5)
Item.SetData(zkitemindex,%道具_最大耐久%,400)
Item.SetData(zkitemindex,2001,name.."5")
Item.SetData(zkitemindex,%道具_子参二%,135)
NLG.SystemMessage(player,""..zkname.."已升级为LV5。")
elseif zklv == LV5 then
Item.SetData(zkitemindex,2000,LV6)
Item.SetData(zkitemindex,%道具_最大耐久%,500)
Item.SetData(zkitemindex,2001,name.."6")
Item.SetData(zkitemindex,%道具_子参二%,140)
NLG.SystemMessage(player,""..zkname.."已升级为LV6。")
elseif zklv == LV6 then
Item.SetData(zkitemindex,2000,LV7)
Item.SetData(zkitemindex,%道具_最大耐久%,600)
Item.SetData(zkitemindex,2001,name.."7")
Item.SetData(zkitemindex,%道具_子参二%,145)
NLG.SystemMessage(player,""..zkname.."已升级为LV7。")
elseif zklv == LV7 then
Item.SetData(zkitemindex,2000,LV8)
Item.SetData(zkitemindex,%道具_最大耐久%,700)
Item.SetData(zkitemindex,2001,name.."8")
Item.SetData(zkitemindex,%道具_子参二%,150)
NLG.SystemMessage(player,""..zkname.."已升级为LV8。")
elseif zklv == LV8 then
Item.SetData(zkitemindex,2000,LV9)
Item.SetData(zkitemindex,%道具_最大耐久%,800)
Item.SetData(zkitemindex,2001,name.."9")
Item.SetData(zkitemindex,%道具_子参二%,155)
NLG.SystemMessage(player,""..zkname.."已升级为LV9。")
elseif zklv == LV9 then
Item.SetData(zkitemindex,2000,LV10)
Item.SetData(zkitemindex,%道具_最大耐久%,900)
Item.SetData(zkitemindex,2001,name.."10")
Item.SetData(zkitemindex,%道具_子参二%,160)
NLG.SystemMessage(player,""..zkname.."已升级为LV10。")
end
Item.UpItem(player,zkItemPos)
end
end
function zuoqi_wnsheding(player,spItem_ID,spitemindex,spItemPos,zkItem_ID,zkitemindex,zkItemPos)--万能碎片具体设定
local zklv = Item.GetData(zkitemindex,2000) --获取坐骑整卡等级
local zkname = Item.GetData(zkitemindex,2001) --获取坐骑整卡名字
local zknj = Item.GetData(zkitemindex,%道具_耐久%)
local zkmaxnj = Item.GetData(zkitemindex,%道具_最大耐久%)
local spsl = Item.GetData(spitemindex,9) --碎片数量
local sppd = zkmaxnj - zknj - (spsl*5) --整卡耐久最大值-碎片数量
local name = string.sub(zkname,1,-2)
local paywnsp = math.ceil((zkmaxnj-zknj)/5) -- 需要支付的万能碎片数量
local dcwnsp = math.mod(zkmaxnj-zknj, 5) -- 多出的万能碎片耐久
-- NLG.SystemMessage(player,"name="..name..",zknj="..zknj..",sppd="..sppd.."")
if zklv == LV10 then
NLG.SystemMessage(player,"该坐骑卡目前暂未开放更高级别。")
elseif sppd >= 1 then --未达到晋级的情况
NLG.DelItem(player, spItem_ID, spsl) --扣除道具
Item.SetData(zkitemindex,%道具_耐久%,zknj+(spsl*5))
Item.UpItem(player,zkItemPos)
elseif sppd <= 0 then
NLG.DelItem(player, spItem_ID, paywnsp) --扣除道具
Item.SetData(zkitemindex,%道具_耐久%,dcwnsp)
if zklv == LV1 then
Item.SetData(zkitemindex,2000,LV2)
Item.SetData(zkitemindex,%道具_最大耐久%,150)
Item.SetData(zkitemindex,2001,name.."2")
Item.SetData(zkitemindex,%道具_子参二%,120)
NLG.SystemMessage(player,""..zkname.."已升级为LV2。")
elseif zklv == LV2 then
Item.SetData(zkitemindex,2000,LV3)
Item.SetData(zkitemindex,%道具_最大耐久%,200)
Item.SetData(zkitemindex,2001,name.."3")
Item.SetData(zkitemindex,%道具_子参二%,125)
NLG.SystemMessage(player,""..zkname.."已升级为LV3。")
elseif zklv == LV3 then
Item.SetData(zkitemindex,2000,LV4)
Item.SetData(zkitemindex,%道具_最大耐久%,300)
Item.SetData(zkitemindex,2001,name.."4")
Item.SetData(zkitemindex,%道具_子参二%,130)
NLG.SystemMessage(player,""..zkname.."已升级为LV4。")
elseif zklv == LV4 then
Item.SetData(zkitemindex,2000,LV5)
Item.SetData(zkitemindex,%道具_最大耐久%,400)
Item.SetData(zkitemindex,2001,name.."5")
Item.SetData(zkitemindex,%道具_子参二%,135)
NLG.SystemMessage(player,""..zkname.."已升级为LV5。")
elseif zklv == LV5 then
Item.SetData(zkitemindex,2000,LV6)
Item.SetData(zkitemindex,%道具_最大耐久%,500)
Item.SetData(zkitemindex,2001,name.."6")
Item.SetData(zkitemindex,%道具_子参二%,140)
NLG.SystemMessage(player,""..zkname.."已升级为LV6。")
elseif zklv == LV6 then
Item.SetData(zkitemindex,2000,LV7)
Item.SetData(zkitemindex,%道具_最大耐久%,600)
Item.SetData(zkitemindex,2001,name.."7")
Item.SetData(zkitemindex,%道具_子参二%,145)
NLG.SystemMessage(player,""..zkname.."已升级为LV7。")
elseif zklv == LV7 then
Item.SetData(zkitemindex,2000,LV8)
Item.SetData(zkitemindex,%道具_最大耐久%,700)
Item.SetData(zkitemindex,2001,name.."8")
Item.SetData(zkitemindex,%道具_子参二%,150)
NLG.SystemMessage(player,""..zkname.."已升级为LV8。")
elseif zklv == LV8 then
Item.SetData(zkitemindex,2000,LV9)
Item.SetData(zkitemindex,%道具_最大耐久%,800)
Item.SetData(zkitemindex,2001,name.."9")
Item.SetData(zkitemindex,%道具_子参二%,155)
NLG.SystemMessage(player,""..zkname.."已升级为LV9。")
elseif zklv == LV9 then
Item.SetData(zkitemindex,2000,LV10)
Item.SetData(zkitemindex,%道具_最大耐久%,900)
Item.SetData(zkitemindex,2001,name.."10")
Item.SetData(zkitemindex,%道具_子参二%,160)
NLG.SystemMessage(player,""..zkname.."已升级为LV10。")
end
Item.UpItem(player,zkItemPos)
end
end
|
|