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
|
|