魔力宝贝

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz

[GP] zixuanlibao.lua--自选礼包

[复制链接]
发表于 前天 03:27 | 显示全部楼层 |阅读模式
local zixuanlibao_NPCxq = {106602,"自选礼包",4,777,3,8} --NPC详情
local zixuanlibao_tab = {}
zixuanlibao_tab[513201] = {82401,82402,82403,82404,82405,82406,82407,82408,82409,82410,82411,82412,82413,82414,82415,82401,82402,82403,82404,82405,82406,82407,82408,82409,82410,82411,82412,82413,82414,82415}--R自选
zixuanlibao_tab[513202] = {82301,82302,82303,82304,82305,82306,82307,82308,82309,82310}--SR自选
zixuanlibao_tab[513203] = {82501,82502,82503}--N自选
zixuanlibao_tab[513204] = {82201,82202,82203,82204,82205,82206,82207,82208}--SSR自选
local zixuanlibao_item_tab = {} --玩家道具表

-------------------------------------
Global_Reg.RegInit("zixuanlibao_zhuce");--注册


function bdzxlb_qidong(player,itemid)
        if zixuanlibao_tab[itemid] then
                local msg = "2\\n\\n                         选择兑换其中一份羁绊信:"
                local neirong =""
                local button = 2
                if #zixuanlibao_tab[itemid] >= 6 then --道具表编号大于等于6
                        button = 34
                        for i = 1,6 do
                                neirong = "\\n     兑换$4"..get_itemid_name(zixuanlibao_tab[itemid][i]).."$0X1"
                                msg = msg..neirong
                        end
                elseif #zixuanlibao_tab[itemid] < 6 then--道具表编号小于6
                        for i = 1,#zixuanlibao_tab[itemid] do
                                neirong = "\\n     兑换$4"..get_itemid_name(zixuanlibao_tab[itemid][i]).."$0X1"
                                msg = msg..neirong
                        end
                end
                zixuanlibao_item_tab[player] = itemid
                NLG.ShowWindowTalked(player,2,button,1101,msg,LuaNpcIndex["zixuanlibao_npcindex"])
        end
end


function zixuanlibao_gongneng(npc,player,_SqeNo,_select,_data)
--        NLG.SystemMessage(player,"\n _SqeNo是:"..(_SqeNo or "空").."它的类型是"..type(_SqeNo).."\n  _select是:".. (_select or "空").."它的类型是"..type(_select).."\n  _data是:"..(_data or "空").."它的类型是"..type(_data))
        local itemid = zixuanlibao_item_tab[player]
        local msg = "2\\n\\n                         选择兑换其中一份羁绊信:"
        local neirong =""
        local button = 2
        if _select == 0 then--选择项
                if _data then
                        local num = tonumber(_data) +_SqeNo - 1101
                        local itemid = zixuanlibao_item_tab[player]
--                        NLG.SystemMessage(player,"\n itemid ="..itemid.."num ="..num.." ")
                        NLG.DelItem(player,itemid,1) --扣除道具
                        Char.GiveItem(player,zixuanlibao_tab[itemid][num],1)
                        zixuanlibao_item_tab[player] = nil --回收玩家道具表
                end
        elseif _select == 32 then--下一步
                if #zixuanlibao_tab[itemid] >= (_SqeNo -1101+12) then --道具表编号大于等于6
                        button = 50
                        for i = (_SqeNo -1100+6),(_SqeNo -1100+11) do
--                                NLG.SystemMessage(player,"\n i ="..i.."")
                                neirong = "\\n     兑换$4"..get_itemid_name(zixuanlibao_tab[itemid][i]).."$0X1"
                                msg = msg..neirong
                        end
                elseif #zixuanlibao_tab[itemid] < (_SqeNo -1100+12) then--道具表编号小于6
                        button = 18
                        for i = (_SqeNo -1100+6),#zixuanlibao_tab[itemid] do
--                                NLG.SystemMessage(player,"\n i ="..i.."")
                                neirong = "\\n     兑换$4"..get_itemid_name(zixuanlibao_tab[itemid][i]).."$0X1"
                                msg = msg..neirong
                        end
                end
                NLG.ShowWindowTalked(player,2,button,_SqeNo+6,msg,LuaNpcIndex["zixuanlibao_npcindex"])
        elseif _select == 16 then --上一步
                if _SqeNo == 1107 then --回到第一页
                        button = 34
                        for i = 1,6 do
                                neirong = "\\n     兑换$4"..get_itemid_name(zixuanlibao_tab[itemid][i]).."$0X1"
                                msg = msg..neirong
                        end
                elseif #zixuanlibao_tab[itemid] >= (_SqeNo -1101) then --道具表编号大于等于6
                        button = 50
                        for b = (_SqeNo -1100-6),(_SqeNo -1100-1) do
--                                NLG.SystemMessage(player,"\n b ="..b.."")
                                neirong = "\\n     兑换$4"..get_itemid_name(zixuanlibao_tab[itemid][b]).."$0X1"
                                msg = msg..neirong
                        end
                elseif #zixuanlibao_tab[itemid] < (_SqeNo -1101) then--道具表编号小于6
                        button = 18
                        for b = (_SqeNo -1100-6),#zixuanlibao_tab[itemid] do
--                                NLG.SystemMessage(player,"\n b ="..b.."")
                                neirong = "\\n     兑换$4"..get_itemid_name(zixuanlibao_tab[itemid][b]).."$0X1"
                                msg = msg..neirong
                        end
                end
                NLG.ShowWindowTalked(player,2,button,_SqeNo-6,msg,LuaNpcIndex["zixuanlibao_npcindex"])
        elseif _select == 2 then--取消
                zixuanlibao_item_tab[player] = nil --回收玩家道具表
        end
end

function zixuanlibao_zhuce()
        zixuanlibao_NPC()
        return 0
        end


function zixuanlibao_NPC(zixuanlibao_npcindex)
        if zixuanlibao_npcindex == nil  then
        zixuanlibao_npcindex = NL.CreateNpc(nil,"zixuanlibao_NPCzhizuo")
        end       
        Char.SetData(zixuanlibao_npcindex,%对象_形象%,zixuanlibao_NPCxq[1])
        Char.SetData(zixuanlibao_npcindex,%对象_原形%,zixuanlibao_NPCxq[1])
        Char.SetData(zixuanlibao_npcindex,%对象_原名%,zixuanlibao_NPCxq[2])
        Char.SetData(zixuanlibao_npcindex,%对象_方向%,zixuanlibao_NPCxq[3])
        Char.SetData(zixuanlibao_npcindex,%对象_地图%,zixuanlibao_NPCxq[4])
        Char.SetData(zixuanlibao_npcindex,%对象_X%,zixuanlibao_NPCxq[5])
        Char.SetData(zixuanlibao_npcindex,%对象_Y%,zixuanlibao_NPCxq[6])
        LuaNpcIndex["zixuanlibao_npcindex"]=zixuanlibao_npcindex;
        InstallNpc("zixuanlibao_npcindex",zixuanlibao_npcindex);
        NLG.UpChar(zixuanlibao_npcindex)
        Char.SetTalkedEvent(nil,"zixuanlibao_chuangkou",zixuanlibao_npcindex)
        Char.SetWindowTalkedEvent(nil,"zixuanlibao_gongneng",zixuanlibao_npcindex)
        return true
end

function zixuanlibao_NPCzhizuo(index)
        return true;
end

function zixuanlibao_chuangkou(npc,player)
        if (NLG.CanTalk(npc,player) == true) then
                local        WindowMsg = "3\\n\\n                         标题\\n\\n测试1\\n\\n测试2";
                NLG.ShowWindowTalked(player,%窗口_选择框%,34,1,WindowMsg,npc);
        end
        return
end


回复

使用道具 举报

Archiver|魔力研究社

GMT+8, 2025-5-12 13:41 , Processed in 0.142199 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表