魔力宝贝

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

[GP] everyday_gift.lua--每日送佣兵礼包脚本

[复制链接]
发表于 前天 03:25 | 显示全部楼层 |阅读模式
local SSR_item_num = SSR_item_num or {}--SSR礼包道具编号
SSR_item_num[1]={}--X10礼包
SSR_item_num[1][1]=512901
SSR_item_num[1][2]=512902
SSR_item_num[1][3]=512903
SSR_item_num[1][4]=512904
SSR_item_num[1][5]=512905
SSR_item_num[1][6]=512906
SSR_item_num[1][7]=512907
SSR_item_num[1][8]=512908

SSR_item_num[2]={}--X4礼包
SSR_item_num[2][1]=513101
SSR_item_num[2][2]=513102
SSR_item_num[2][3]=513103
SSR_item_num[2][4]=513104
SSR_item_num[2][5]=513105
SSR_item_num[2][6]=513106
SSR_item_num[2][7]=513107
SSR_item_num[2][8]=513108



Global_Reg.RegInit("everyday_gift_set");--自动启动函数
Global_Reg.RegLoginEvent ("everyday_gift_login")--玩家登录

everyday_gift_num = everyday_gift_num or {}

function everyday_gift_set()
        everyday_NPC()
        return 0
end

function everyday_NPC(npc)
        if npc == nil or npc < 0 then
        npc = NL.CreateNpc(nil,"everyday_NPC2")
        end
        Char.SetData(npc,%对象_形象%,14108)
        Char.SetData(npc,%对象_原形%,14108)
        Char.SetData(npc,%对象_地图类型%,0)
        Char.SetData(npc,%对象_地图%,1000)
        Char.SetData(npc,%对象_X%,229)
        Char.SetData(npc,%对象_Y%,79)
        Char.SetData(npc,%对象_方向%,4)
        Char.SetData(npc,%对象_原名%,"神秘礼物的米尔纳")
        NLG.UpChar(npc)
        LuaNpcIndex["everyday_gift_NPC_index"]=npc;
        InstallNpc("everyday_gift_NPC_index",npc);
        Char.SetTalkedEvent(nil, "everyday_gift_talk",npc)
        Char.SetWindowTalkedEvent(nil,"everyday_gift_windows",npc)
        return true
end

function everyday_NPC2(index)
        return true;
end

function everyday_gift_talk(npc,player)
        if NLG.CanTalk(npc,player) then
                local CDK=Char.GetData(player,2002)
                local rignum=Char.GetData(player,48)
                local tcdk=CDK..rignum
                local msg = "4\n         您今天还能获得『$5"..everyday_gift_num[tcdk].."$0』次神秘礼物"
                                        .."\n\n  米尔纳:旅人,你希望受到名人的关注吗?"
                                        .."\n\n  I :『$4神秘礼物$0』介绍"
                                        .."\n  II:更换『$1祈愿$0』的伙伴"
                NLG.ShowWindowTalked(player,2,2,0,msg,LuaNpcIndex.everyday_gift_NPC_index)
        end
        return 0
end

function everyday_gift_windows(npc, player, _Seqno, _Select, _Data)
        --print("\n _Seqno是:"..(_Seqno or "空").."它的类型是"..type(_Seqno).."\n  _Select是:".. (_Select or "空").."它的类型是"..type(_Select).."\n  _Data是:"..(_Data or "空").."它的类型是"..type(_Data))
        if _Select~=2 then
                if _Seqno==0 then
                        if _Data=="1" then
                                local msg = "\n    $4『神秘礼物』$9每天有一定的次数,在人物升级,通过某些任务,达 $9成某些事件后$4『概率』$9获得$4『伙伴羁绊礼包』$9的活动$0"
                                                        .."\n   $4『伙伴羁绊礼包』$9商城有售,可开出对应伙伴的$4『羁绊信』$9(羁绊信达到一定数量,可提升伙伴的羁绊) "
                                                        .."\n   $4『伙伴羁绊』$9能提高伙伴的技能等级,修正,能力值,宠物强度,战技强度,赠礼率"
                                                        .."\n   $4『礼包发送方式』$9当背包有2个空位时,将会直接发送到背包内,当$9背包没空位时,将会发送到右上角$4『管家小精灵』(芝麻娃娃图标)处$9,管家小精灵最多代存20个道具,放满会影响各种奖励物品发放,请及时领取"
                                                        .."\n   $4『祈愿』$9通过向$5米尔纳$9祈愿,可以让每天的神秘礼物开出固定某位$9伙伴的$4『伙伴羁绊礼包』"
                                                        .."\n   $4『幻想VIP』$9在幻想魔力商城内购买幻想VIP可永久提升$4『神秘礼 $4物』$9出现的概率"
                                                        .."\n                     $4『神秘礼物获得概率』$9"
                                                        .."\n   $9「人物升级」                 原始$1[100%]$9  幻想VIP$1[100%]"
                                                        .."\n   $9「首通内置攻略内的首通任务」  原始$1[100%]$9  幻想VIP$1[100%]"
                                                        .."\n   $9「各种日常任务」             原始$1[100%]$9  幻想VIP$1[100%]"
                                                        .."\n   $9「通关魔力宝贝主线剧情」      原始$1[20%]$9   幻想VIP$1[100%]"
                                                        .."\n   $9「挑战王国竞技场成功」        原始$1[50%]$9   幻想VIP$1[100%]"
                                                        .."\n   $9「挑战王国竞技场失败」        原始$1[0%]$9    幻想VIP$1[100%]"
                                NLG.ShowWindowTalked(player,10,2,1, msg,npc);
                        elseif _Data=="2" then
                                local msg = "\n$4米尔纳:请输入想要祈愿的伙伴名字或伙伴编号0"
                                                        .."\n\n$9克瑞斯特[伙伴编号201]   露比[伙伴编号202]"
                                                        .."\n$9欧兹尼克[伙伴编号203]   阿鲁巴斯[伙伴编号204]"
                                                        .."\n$9米内鲁帕[伙伴编号205]   心美[伙伴编号206]"
                                                        .."\n$9亚汀[伙伴编号207]       澪栞[伙伴编号208]"
                                NLG.ShowWindowTalked(player,1,3,2, msg,npc);
                        end
                elseif _Seqno==2 then
                        if _Data=="克瑞斯特" or _Data=="201" then
                                Field.Set(player,"everyday_gift",1)
                                NLG.SystemMessage(player,"您祈愿了克瑞斯特")
                        elseif _Data=="露比" or _Data=="202" then
                                Field.Set(player,"everyday_gift",2)
                                NLG.SystemMessage(player,"您祈愿了露比")
                        elseif _Data=="欧兹尼克" or _Data=="203" or _Data=="歐茲尼克" then
                                Field.Set(player,"everyday_gift",3)
                                NLG.SystemMessage(player,"您祈愿了欧兹尼克")
                        elseif _Data=="阿鲁巴斯" or _Data=="204" or _Data=="阿魯巴斯" then
                                Field.Set(player,"everyday_gift",4)
                                NLG.SystemMessage(player,"您祈愿了阿鲁巴斯")
                        elseif _Data=="米内鲁帕" or _Data=="205" or _Data=="米內魯帕" then
                                Field.Set(player,"everyday_gift",5)
                                NLG.SystemMessage(player,"您祈愿了米内鲁帕")
                        elseif _Data=="心美" or _Data=="206" then
                                Field.Set(player,"everyday_gift",6)
                                NLG.SystemMessage(player,"您祈愿了心美")
                        elseif _Data=="亚汀" or _Data=="207" or _Data=="亞汀" then
                                Field.Set(player,"everyday_gift",7)
                                NLG.SystemMessage(player,"您祈愿了亚汀")
                        elseif _Data=="澪栞" or _Data=="208" then
                                Field.Set(player,"everyday_gift",8)
                                NLG.SystemMessage(player,"您祈愿了澪栞")
                        end
                end
        end
end

function everyday_gift_login(player)
        local job = Char.GetData(player, 51)
        if job~=540 then--不为佣兵
                local CDK=Char.GetData(player,2002)
                local rignum=Char.GetData(player,48)
                local tcdk=CDK..rignum
                if everyday_gift_num[tcdk]==nil then
                        everyday_gift_num[tcdk]=10
                end
        end
        return 0
end

function everyday_gift_give(player,gailv)--玩家index,给神秘礼物的概率
        local job = Char.GetData(player, 51)
        if job ~= 540 then
                if gailv==nil then
                        gailv=0
                end
                local p1 = Char.EndEvent(player,271);--获取幻想VIP
                if p1==1 then
                        gailv = 100
                end
                local give = math.random(1,100)
                if gailv>=give then
                        local CDK=Char.GetData(player,2002)
                        local rignum=Char.GetData(player,48)
                        local tcdk=CDK..rignum
                        if everyday_gift_num[tcdk] then
                                if everyday_gift_num[tcdk] > 0 then
                                        local save = tonumber(Field.Get(player,"everyday_gift")) or -1--读取渴求的道具编号
                                        local fiveortwo = math.random(1,5)
                                        if fiveortwo>2 then
                                                fiveortwo=2
                                        end
                                        if save==-1 then
                                                --随机一个种类佣兵礼包
                                                local lbbh = SSR_item_num[fiveortwo][1]
                                                local Num = Char.FindEmptyItemBox(player);
                                                if Num>0 then--直接给
                                                        NLG.GiveItem(player,lbbh);
                                                        Char.Sorting(player);
                                                        everyday_gift_num[tcdk]=everyday_gift_num[tcdk]-1
                                                else--发送礼包到管家小精灵
                                                        if M_Arena_rank_give_item[tcdk]==nil then
                                                                M_Arena_rank_give_item[tcdk]={}
                                                                table.insert(M_Arena_rank_give_item[tcdk],lbbh)
                                                                NLG.SystemMessage(player,"[神秘礼物]您的背包满了,神秘礼物发放到右上角『管家小精灵』(海豹图标)处,记得领取哦")
                                                                everyday_gift_num[tcdk]=everyday_gift_num[tcdk]-1
                                                                return
                                                        end
                                                        local long = tablength(M_Arena_rank_give_item[tcdk])
                                                        if long>19 then
                                                                NLG.SystemMessage(player,"[神秘礼物]您的背包和『管家小精灵』都满了,无法获得神秘礼物")
                                                        else
                                                                table.insert(M_Arena_rank_give_item[tcdk],lbbh)
                                                                NLG.SystemMessage(player,"[神秘礼物]您的背包满了,神秘礼物发放到右上角『管家小精灵』(海豹图标)处,记得领取哦")
                                                                everyday_gift_num[tcdk]=everyday_gift_num[tcdk]-1
                                                        end
                                                end
                                        else
                                                local lbbh = SSR_item_num[fiveortwo][save]
                                                local Num = Char.FindEmptyItemBox(player);
                                                if Num>0 then--直接给
                                                        NLG.GiveItem(player, lbbh);
                                                        Char.Sorting(player);
                                                        everyday_gift_num[tcdk]=everyday_gift_num[tcdk]-1
                                                else--发送礼包到管家小精灵
                                                        if M_Arena_rank_give_item[tcdk]==nil then
                                                                M_Arena_rank_give_item[tcdk]={}
                                                                table.insert(M_Arena_rank_give_item[tcdk],lbbh)
                                                                NLG.SystemMessage(player,"[神秘礼物]您的背包满了,神秘礼物发放到右上角『管家小精灵』(海豹图标)处,记得领取哦")
                                                                everyday_gift_num[tcdk]=everyday_gift_num[tcdk]-1
                                                                return
                                                        end
                                                        local long = tablength(M_Arena_rank_give_item[tcdk])
                                                        if long>19 then
                                                                NLG.SystemMessage(player,"[神秘礼物]您的背包和『管家小精灵』都满了,无法获得神秘礼物")
                                                        else
                                                                table.insert(M_Arena_rank_give_item[tcdk],lbbh)
                                                                NLG.SystemMessage(player,"[神秘礼物]您的背包满了,神秘礼物发放到右上角『管家小精灵』(海豹图标)处,记得领取哦")
                                                                everyday_gift_num[tcdk]=everyday_gift_num[tcdk]-1
                                                        end
                                                end
                                        end
                                end
                        end
                end
        end
end


回复

使用道具 举报

Archiver|魔力研究社

GMT+8, 2025-5-12 15:07 , Processed in 0.113520 second(s), 23 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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