local MaxGold = 100000000 --最大魔币
local meze_box_num = meze_box_num or 0
meze_npc_tab=meze_npc_tab or {}
meze_npc_everyday = meze_npc_everyday or {}
meze_npc_everyday2 = meze_npc_everyday2 or {}
local meze_npc_all_gold = meze_npc_all_gold or {}
------
local meze_npc_limit_map = {}
meze_npc_limit_map[38111]=1
meze_npc_limit_map[38112]=1
meze_npc_limit_map[38113]=1
------
Global_Reg.RegInit("meze_npc_init");--自动启动函数
Global_Reg.RegDischargeParty("meze_npc_disteam");
function meze_npc_init() --NPC注册
meze_npc_master()
meze_npc_box1()
meze_npc_box2()
meze_npc_box3()
return 0
end
function meze_npc_disteam(player)
local Maptype = Char.GetData(player, %对象_地图类型%);
local MapID = Char.GetData(player, %对象_地图%);
if Maptype==0 and meze_npc_limit_map[MapID] then
NLG.SystemMessage(player,"[提示]当前无法解散队伍,请先领取[奖励宝箱]")
return -1
end
return 0;
end
function Maze_down()
local tab=NLG.GetOnLinePlayer(0)
for _,v in pairs(tab) do
local CDK=Char.GetData(v,2002)
local rignum=Char.GetData(v,48)
local tcdk=CDK..rignum
if meze_npc_tab[tcdk] then
if meze_npc_tab[tcdk]~=0 then
NLG.AddGold(player,meze_npc_tab[tcdk])
meze_npc_tab[tcdk]=0
end
end
end
end
function meze_npc_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 meze_npc_everyday[tcdk]==nil then
local yue,ri=get_now_time()
meze_npc_everyday[tcdk]={yue,ri,5}
end
if meze_npc_everyday2[tcdk]==nil then
local yue,ri=get_now_time()
meze_npc_everyday2[tcdk]={yue,ri,1}
end
if meze_npc_tab[tcdk]==nil then
meze_npc_tab[tcdk]=0
end
end
return 0
end
function meze_npc_master(npc) --NPC设置
if npc == nil then
npc = NL.CreateNpc(nil,"meze_npc_event")
end
Char.SetData(npc,1,14504)
Char.SetData(npc,2,14504)
Char.SetData(npc,2000,"魔法工匠卡达斯")
Char.SetData(npc,7,6)
Char.SetData(npc,4,38011)
Char.SetData(npc,5,29)
Char.SetData(npc,6,32)
LuaNpcIndex["meze_npc_master"]=npc;
InstallNpc("meze_npc_master",npc);
NLG.UpChar(npc)
Char.SetTalkedEvent(nil,"meze_npc_master_chuangkou",npc)
Char.SetWindowTalkedEvent(nil,"meze_npc_master_gongneng",npc)
return true
end
function meze_npc_box1(npc) --NPC设置
if npc == nil then
npc = NL.CreateNpc(nil,"meze_npc_event")
end
Char.SetData(npc,1,27893)
Char.SetData(npc,2,27893)
Char.SetData(npc,2000,"奖励宝箱")
Char.SetData(npc,7,4)
Char.SetData(npc,4,38111)
Char.SetData(npc,5,37)
Char.SetData(npc,6,20)
NLG.UpChar(npc)
Char.SetTalkedEvent(nil,"meze_npc_box1_chuangkou",npc)
return true
end
function meze_npc_box2(npc) --NPC设置
if npc == nil then
npc = NL.CreateNpc(nil,"meze_npc_event")
end
Char.SetData(npc,1,27897)
Char.SetData(npc,2,27897)
Char.SetData(npc,2000,"奖励宝箱")
Char.SetData(npc,7,4)
Char.SetData(npc,4,38112)
Char.SetData(npc,5,37)
Char.SetData(npc,6,20)
NLG.UpChar(npc)
Char.SetTalkedEvent(nil,"meze_npc_box2_chuangkou",npc)
return true
end
function meze_npc_box3(npc) --NPC设置
if npc == nil then
npc = NL.CreateNpc(nil,"meze_npc_event")
end
Char.SetData(npc,1,27899)
Char.SetData(npc,2,27899)
Char.SetData(npc,2000,"奖励宝箱")
Char.SetData(npc,7,4)
Char.SetData(npc,4,38113)
Char.SetData(npc,5,37)
Char.SetData(npc,6,20)
NLG.UpChar(npc)
Char.SetTalkedEvent(nil,"meze_npc_box3_chuangkou",npc)
return true
end
function meze_npc_event(index)
return true;
end
function meze_npc_master_chuangkou(npc,player) --窗口
if NLG.CanTalk(npc,player) then
NLG.ShowWindowTalked(player,2,2,0,"3\n可爱的小冒险者,你想不想$4[资助]$0我的研究?我会给你一些开启迷宫之城底部宝箱的$1[特殊钥匙]$0当酬谢的\n\n 「查看介绍」\n 「普通资助」\n 「高额资助」",npc)
end
end
function meze_npc_master_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))
if _select ~= 2 then
if _SqeNo==0 then
if _data=="1" then--介绍
local msg = "\n $4『赞助卡达斯』$9每天有一定的次数,捐献一定量魔币,获得1次"
.."\n$8〈卡达斯的宝箱钥匙〉$4[增益]$0"
.."\n\n $8〈卡达斯的宝箱钥匙〉$9:一种特殊被动,在$4『迷宫之城』$9底部领取"
.."\n$4[奖励宝箱]$9的时候会触发,让全队(包括自身)获得$4[额外的魔币]$9,让自$9己获得更高品质的$4[魔法宝石]$9"
.."\n $4『同队累积机制』$9同一个队伍每个队员都可$4『赞助卡达斯』$9,当 $9队伍里面有复数$8〈卡达斯的宝箱钥匙〉$9被动时,全队获得的$4[额外的魔$4币]$9会叠加,$4[额外魔币]$5限制同队多开只获得1份(多开只能获得1份)"
.."\n $4『伙伴加成』$9当队长携带伙伴打开迷宫之城底部的$4[奖励宝箱]$9时$9,将会额外获得伙伴数量的$4[魔法宝石]$9和$8〈卡达斯的宝箱钥匙〉$9的$4[额$4外的魔币]$9,但额外获得的$4[魔法宝石]$9品质不受$8〈卡达斯的宝箱钥匙〉$9被动影响"
.."\n $5〈卡达斯的宝箱钥匙(铜)〉$9增益效果简介"
.."\n $4价格:5万魔币 队伍额外魔币:6000/人(伙伴给队长8000/伙伴)"
.."\n 获得的高品质魔法宝石:皇家蓝(80%),鸽血红(20%)"
.."\n $5〈卡达斯的宝箱钥匙(银)〉$9增益效果简介"
.."\n $4价格:15万魔币 队伍额外魔币:1.8万/人(伙伴给队长2.4万/伙伴)"
.."\n 获得的高品质魔法宝石:皇家蓝(30%),鸽血红(70%)"
.."\n $5〈卡达斯的宝箱钥匙(金)〉$9增益效果简介"
.."\n $4价格:20万魔币 队伍额外魔币:2.4万/人(伙伴给队长3.2万/伙伴)"
.."\n 获得的高品质魔法宝石:鸽血红(95%),熏衣紫(5%)"
NLG.ShowWindowTalked(player,10,2,99,msg,npc)
elseif _data=="2" then--普通赞助,一天5次
local CDK=Char.GetData(player,2002)
local rignum=Char.GetData(player,48)
local tcdk=CDK..rignum
local yue,ri=get_now_time()
if yue~=meze_npc_everyday[tcdk][1] then
meze_npc_everyday[tcdk]={yue,ri,5}
end
if ri~=meze_npc_everyday[tcdk][2] then
meze_npc_everyday[tcdk]={yue,ri,5}
end
local num = meze_npc_everyday[tcdk][3]
local chuangkou = 2
local msg = "$4赞助后能从迷宫之城奖励宝箱中获得高阶魔法宝石$0\n 剩余今日普通资助次数$4『"..num.."/5』$0\n"
if num>0 then
msg="7\n"..msg.."\n要资助卡达斯一定量魔币获得1次$9〈卡达斯的宝箱钥 $9匙〉$4[增益]$0吗?\n注:该$1〖增益〗$0并非道具,在通关迷宫之城后,点击领奖宝箱自动触发\n 支付$45万$0 魔币获得1次$9〈卡达斯的宝箱钥匙(铜)〉$0\n 支付$415万$0魔币获得1次$9〈卡达斯的宝箱钥匙(银)〉$0"
else
msg=msg.."\n\n 您今天的$4[普通资助]$0次数已经耗尽了"
chuangkou = 0
end
NLG.ShowWindowTalked(player,chuangkou,2,10,msg,npc)
elseif _data=="3" then--高阶赞助,一天1次
local CDK=Char.GetData(player,2002)
local rignum=Char.GetData(player,48)
local tcdk=CDK..rignum
local yue,ri=get_now_time()
if yue~=meze_npc_everyday2[tcdk][1] then
meze_npc_everyday2[tcdk]={yue,ri,1}
end
if ri~=meze_npc_everyday2[tcdk][2] then
meze_npc_everyday2[tcdk]={yue,ri,1}
end
local num = meze_npc_everyday2[tcdk][3]
local anniu=3
local msg = "$4赞助后能从迷宫之城奖励宝箱中获得高阶魔法宝石$0\n\n 剩余今日高额资助次数$4『"..num.."/1』$0\n"
if num>0 then
msg=msg.."\n要资助卡达斯$420万$0魔币获得1次$9〈卡达斯的宝箱钥匙($9金)〉$4[增益]$0吗?\n注:该$1〖增益〗$0并非道具,在通关迷宫之城后,点击领奖宝箱自动触发\n\n 点击$1[确定]$0资助卡达斯的研究"
else
msg=msg.."\n\n 您今天的$4[高额资助]$0次数已经耗尽了"
anniu=2
end
NLG.ShowWindowTalked(player,0,anniu,100,msg,npc)
end
elseif _SqeNo==10 then
if _data == "1" then
local money = Char.GetData(player,%对象_金币%)
local msg = ""
if money<50000 then
NLG.SystemMessage(player,"[卡达斯]:你的金币不够了")
else
local CDK=Char.GetData(player,2002)
local rignum=Char.GetData(player,48)
local tcdk=CDK..rignum
if meze_npc_tab[tcdk]==0 then
meze_npc_tab[tcdk]=50000
NLG.AddGold(player,-50000)
meze_npc_everyday[tcdk][3]=meze_npc_everyday[tcdk][3] -1
NLG.SystemMessage(player,"[卡达斯]:感谢您的赞助!(你获得了〈卡达斯的宝箱钥匙(铜)〉增益)")
else
NLG.SystemMessage(player,"[系统]:你身上已经有一份〈卡达斯的宝箱钥匙〉增益了")
end
end
elseif _data=="2" then
local money = Char.GetData(player,%对象_金币%)
local msg = ""
if money<150000 then
NLG.SystemMessage(player,"[卡达斯]:你的金币不够了")
else
local CDK=Char.GetData(player,2002)
local rignum=Char.GetData(player,48)
local tcdk=CDK..rignum
if meze_npc_tab[tcdk]==0 then
meze_npc_tab[tcdk]=150000
NLG.AddGold(player,-150000)
meze_npc_everyday[tcdk][3]=meze_npc_everyday[tcdk][3] -1
NLG.SystemMessage(player,"[卡达斯]:感谢您的赞助!(你获得了〈卡达斯的宝箱钥匙(银)〉增益)")
else
NLG.SystemMessage(player,"[系统]:你身上已经有一份〈卡达斯的宝箱钥匙〉增益了")
end
end
end
elseif _SqeNo==100 then
if _select == 1 then
local money = Char.GetData(player,%对象_金币%)
local msg = ""
if money<200000 then
NLG.SystemMessage(player,"[卡达斯]:你的金币不够了")
else
local CDK=Char.GetData(player,2002)
local rignum=Char.GetData(player,48)
local tcdk=CDK..rignum
if meze_npc_tab[tcdk]==0 then
meze_npc_tab[tcdk]=200000
NLG.AddGold(player,-200000)
meze_npc_everyday2[tcdk][3]=meze_npc_everyday2[tcdk][3] -1
NLG.SystemMessage(player,"[卡达斯]:感谢您的赞助!(你获得了〈卡达斯的宝箱钥匙(金)〉增益)")
else
NLG.SystemMessage(player,"[系统]:你身上已经有一份〈卡达斯的宝箱钥匙〉增益了")
end
end
end
end
end
end
function meze_npc_box1_chuangkou(npc,player) --窗口
if NLG.CanTalk(npc,player) then
local meze_npc_all_gold = nil
local count = 0--额外奖励
local dz = Char.GetData(player,%对象_组队模式%)
if dz==0 or dz==1 then--只有没队或者队长可以对话
meze_box_num = meze_box_num + 1
local CDK=Char.GetData(player,2002)
local rignum=Char.GetData(player,48)
local tcdk=CDK..rignum
if dz==1 then--是队长,需要给予佣兵奖励
for i=1,4 do
local GroupIndex = Char.GetTeamIndex(player, i);
if GroupIndex>=0 then
local job = Char.GetData(GroupIndex,51)
if job==540 then
local catordog = string.sub(Char.GetData(GroupIndex,2002),-1,-1)
if catordog=="?" then
count=count+1
end
end
end
end
if count>0 then
for i=1,count do
meze_npc_box_give_item(player,1,"伙伴赠送的")--tsmsg:伙伴赠送的
end
end
for i=0,4 do--团队发奖
local GroupIndex = Char.GetTeamIndex(player, i);
if GroupIndex>=0 then
local job= Char.GetData(GroupIndex,51)
if job~=540 then
local CDK=Char.GetData(GroupIndex,2002)
local rignum=Char.GetData(GroupIndex,48)
local tcdk3=CDK..rignum
if meze_npc_tab[tcdk3]==nil then
meze_npc_tab[tcdk3]=0
end
if meze_npc_tab[tcdk3]==0 then
meze_npc_box_give_item(GroupIndex,1,"")
elseif meze_npc_tab[tcdk3]==50000 then
everyday_gift_give(GroupIndex,100)
meze_npc_box_give_item(GroupIndex,4,"")
elseif meze_npc_tab[tcdk3]==150000 then
everyday_gift_give(GroupIndex,100)
meze_npc_box_give_item(GroupIndex,5,"")
elseif meze_npc_tab[tcdk3]==200000 then
everyday_gift_give(GroupIndex,100)
meze_npc_box_give_item(GroupIndex,6,"")
end
end
end
end
if meze_npc_all_gold==nil then
meze_npc_all_gold=0
for i=0,4 do
local GroupIndex = Char.GetTeamIndex(player, i);
if GroupIndex>=0 then
local CDK2=Char.GetData(GroupIndex,2002)
local rignum2=Char.GetData(GroupIndex,48)
local tcdk2=CDK2..rignum2
local gold = meze_npc_tab[tcdk2] or 0
meze_npc_all_gold = meze_npc_all_gold + gold
meze_npc_tab[tcdk2]=0
end
end
end
local teamgold = math.floor((meze_npc_all_gold/5)*0.6)
local user=Char.GetData(player,2002);
local macsave={}
macsave[Mac[user]] = 1
for i=1,4 do
local GroupIndex = Char.GetTeamIndex(player, i);
if GroupIndex>=0 then
local job = Char.GetData(GroupIndex,51)
if job~=540 and teamgold~=0 then
local dyuser=Char.GetData(GroupIndex,2002);
if macsave[Mac[dyuser]] then
NLG.SystemMessage(GroupIndex,"[多开限制]多开只能领取一次[额外金币]")
else
local dqgold = Char.GetData(GroupIndex,%对象_金币%)
NLG.SystemMessage(GroupIndex,"使用〈卡达斯的宝箱钥匙〉开出了大量金币")
macsave[Mac[dyuser]]=1
if (dqgold+teamgold ) > MaxGold then
NLG.AddGold(GroupIndex, MaxGold-dqgold)
else
NLG.AddGold(GroupIndex, teamgold)
end
end
end
end
end
elseif dz==0 then
if meze_npc_tab[tcdk]==nil then
meze_npc_tab[tcdk]=0
end
if meze_npc_tab[tcdk]==0 then
meze_npc_box_give_item(player,1,"")
elseif meze_npc_tab[tcdk]==50000 then
everyday_gift_give(player,100)
meze_npc_box_give_item(player,4,"")
elseif meze_npc_tab[tcdk]==150000 then
everyday_gift_give(player,100)
meze_npc_box_give_item(player,5,"")
elseif meze_npc_tab[tcdk]==200000 then
everyday_gift_give(player,100)
meze_npc_box_give_item(player,6,"")
end
meze_npc_all_gold=meze_npc_tab[tcdk]
end
local getgold = math.floor((meze_npc_all_gold/5)*0.6) + math.floor((meze_npc_all_gold/5)*0.8*count)
if getgold>0 then
local msg = "使用〈卡达斯的宝箱钥匙〉开出了大量金币"
if count>0 then
msg=msg..",您的"..count.."位伙伴将得到的金币赠予了你"
end
NLG.SystemMessage(player,msg)
local dqgold = Char.GetData(player,%对象_金币%)
if (dqgold+getgold ) > MaxGold then
NLG.AddGold(player, MaxGold-dqgold)
else
NLG.AddGold(player, getgold)
end
end
NLG.Warp(player,0,38011,26,32)--传送回迷宫之城
else
NLG.SystemMessage(player,"只有队长可以打开奖励宝箱")
end
end
return 0
end
function meze_npc_box2_chuangkou(npc,player) --窗口
if NLG.CanTalk(npc,player) then
local meze_npc_all_gold = nil
local count = 0--额外奖励
local dz = Char.GetData(player,%对象_组队模式%)
if dz==0 or dz==1 then--只有没队或者队长可以对话
meze_box_num = meze_box_num + 1
local CDK=Char.GetData(player,2002)
local rignum=Char.GetData(player,48)
local tcdk=CDK..rignum
if dz==1 then--是队长,需要给予佣兵奖励
for i=1,4 do
local GroupIndex = Char.GetTeamIndex(player, i);
if GroupIndex>=0 then
local job = Char.GetData(GroupIndex,51)
if job==540 then
local catordog = string.sub(Char.GetData(GroupIndex,2002),-1,-1)
if catordog=="?" then
count=count+1
end
end
end
end
if count>0 then
for i=1,count do
meze_npc_box_give_item(player,2,"伙伴赠送的")--tsmsg:伙伴赠送的
end
end
for i=0,4 do--团队发奖
local GroupIndex = Char.GetTeamIndex(player, i);
if GroupIndex>=0 then
local job= Char.GetData(GroupIndex,51)
if job~=540 then
local CDK=Char.GetData(GroupIndex,2002)
local rignum=Char.GetData(GroupIndex,48)
local tcdk3=CDK..rignum
if meze_npc_tab[tcdk3]==nil then
meze_npc_tab[tcdk3]=0
end
if meze_npc_tab[tcdk3]==0 then
meze_npc_box_give_item(GroupIndex,2,"")
elseif meze_npc_tab[tcdk3]==50000 then
everyday_gift_give(GroupIndex,100)
meze_npc_box_give_item(GroupIndex,4,"")
elseif meze_npc_tab[tcdk3]==150000 then
everyday_gift_give(GroupIndex,100)
meze_npc_box_give_item(GroupIndex,5,"")
elseif meze_npc_tab[tcdk3]==200000 then
everyday_gift_give(GroupIndex,100)
meze_npc_box_give_item(GroupIndex,6,"")
end
end
end
end
if meze_npc_all_gold==nil then
meze_npc_all_gold=0
for i=0,4 do
local GroupIndex = Char.GetTeamIndex(player, i);
if GroupIndex>=0 then
local CDK2=Char.GetData(GroupIndex,2002)
local rignum2=Char.GetData(GroupIndex,48)
local tcdk2=CDK2..rignum2
local gold = meze_npc_tab[tcdk2] or 0
meze_npc_all_gold = meze_npc_all_gold + gold
meze_npc_tab[tcdk2]=0
end
end
end
local teamgold = math.floor((meze_npc_all_gold/5)*0.6)
local user=Char.GetData(player,2002);
local macsave={}
macsave[Mac[user]] = 1
for i=1,4 do
local GroupIndex = Char.GetTeamIndex(player, i);
if GroupIndex>=0 then
local job = Char.GetData(GroupIndex,51)
if job~=540 and teamgold~=0 then
local dyuser=Char.GetData(GroupIndex,2002);
if macsave[Mac[dyuser]] then
NLG.SystemMessage(GroupIndex,"[多开限制]多开只能领取一次[额外金币]")
else
local dqgold = Char.GetData(GroupIndex,%对象_金币%)
NLG.SystemMessage(GroupIndex,"使用〈卡达斯的宝箱钥匙〉开出了大量金币")
macsave[Mac[dyuser]]=1
if (dqgold+teamgold ) > MaxGold then
NLG.AddGold(GroupIndex, MaxGold-dqgold)
else
NLG.AddGold(GroupIndex, teamgold)
end
end
end
end
end
elseif dz==0 then
if meze_npc_tab[tcdk]==nil then
meze_npc_tab[tcdk]=0
end
if meze_npc_tab[tcdk]==0 then
meze_npc_box_give_item(player,2,"")
elseif meze_npc_tab[tcdk]==50000 then
everyday_gift_give(player,100)
meze_npc_box_give_item(player,4,"")
elseif meze_npc_tab[tcdk]==150000 then
everyday_gift_give(player,100)
meze_npc_box_give_item(player,5,"")
elseif meze_npc_tab[tcdk]==200000 then
everyday_gift_give(player,100)
meze_npc_box_give_item(player,6,"")
end
meze_npc_all_gold=meze_npc_tab[tcdk]
end
local getgold = math.floor((meze_npc_all_gold/5)*0.6) + math.floor((meze_npc_all_gold/5)*0.8*count)
if getgold>0 then
local msg = "使用〈卡达斯的宝箱钥匙〉开出了大量金币"
if count>0 then
msg=msg..",您的"..count.."位伙伴将得到的金币赠予了你"
end
NLG.SystemMessage(player,msg)
local dqgold = Char.GetData(player,%对象_金币%)
if (dqgold+getgold ) > MaxGold then
NLG.AddGold(player, MaxGold-dqgold)
else
NLG.AddGold(player, getgold)
end
end
NLG.Warp(player,0,38011,26,32)--传送回迷宫之城
else
NLG.SystemMessage(player,"只有队长可以打开奖励宝箱")
end
end
return 0
end
function meze_npc_box3_chuangkou(npc,player) --窗口
if NLG.CanTalk(npc,player) then
local meze_npc_all_gold = nil
local count = 0--额外奖励
local dz = Char.GetData(player,%对象_组队模式%)
if dz==0 or dz==1 then--只有没队或者队长可以对话
meze_box_num = meze_box_num + 1
local CDK=Char.GetData(player,2002)
local rignum=Char.GetData(player,48)
local tcdk=CDK..rignum
if dz==1 then--是队长,需要给予佣兵奖励
for i=1,4 do
local GroupIndex = Char.GetTeamIndex(player, i);
if GroupIndex>=0 then
local job = Char.GetData(GroupIndex,51)
if job==540 then
local catordog = string.sub(Char.GetData(GroupIndex,2002),-1,-1)
if catordog=="?" then
count=count+1
end
end
end
end
if count>0 then
for i=1,count do
meze_npc_box_give_item(player,3,"伙伴赠送的")--tsmsg:伙伴赠送的
end
end
for i=0,4 do--团队发奖
local GroupIndex = Char.GetTeamIndex(player, i);
if GroupIndex>=0 then
local job= Char.GetData(GroupIndex,51)
if job~=540 then
local CDK=Char.GetData(GroupIndex,2002)
local rignum=Char.GetData(GroupIndex,48)
local tcdk3=CDK..rignum
if meze_npc_tab[tcdk3]==nil then
meze_npc_tab[tcdk3]=0
end
if meze_npc_tab[tcdk3]==0 then
meze_npc_box_give_item(GroupIndex,3,"")
elseif meze_npc_tab[tcdk3]==50000 then
everyday_gift_give(GroupIndex,100)
meze_npc_box_give_item(GroupIndex,4,"")
elseif meze_npc_tab[tcdk3]==150000 then
everyday_gift_give(GroupIndex,100)
meze_npc_box_give_item(GroupIndex,5,"")
elseif meze_npc_tab[tcdk3]==200000 then
everyday_gift_give(GroupIndex,100)
meze_npc_box_give_item(GroupIndex,6,"")
end
end
end
end
if meze_npc_all_gold==nil then
meze_npc_all_gold=0
for i=0,4 do
local GroupIndex = Char.GetTeamIndex(player, i);
if GroupIndex>=0 then
local CDK2=Char.GetData(GroupIndex,2002)
local rignum2=Char.GetData(GroupIndex,48)
local tcdk2=CDK2..rignum2
local gold = meze_npc_tab[tcdk2] or 0
meze_npc_all_gold = meze_npc_all_gold + gold
meze_npc_tab[tcdk2]=0
end
end
end
local teamgold = math.floor((meze_npc_all_gold/5)*0.6)
local user=Char.GetData(player,2002);
local macsave={}
macsave[Mac[user]] = 1
for i=1,4 do
local GroupIndex = Char.GetTeamIndex(player, i);
if GroupIndex>=0 then
local job = Char.GetData(GroupIndex,51)
if job~=540 and teamgold~=0 then
local dyuser=Char.GetData(GroupIndex,2002);
if macsave[Mac[dyuser]] then
NLG.SystemMessage(GroupIndex,"[多开限制]多开只能领取一次[额外金币]")
else
local dqgold = Char.GetData(GroupIndex,%对象_金币%)
NLG.SystemMessage(GroupIndex,"使用〈卡达斯的宝箱钥匙〉开出了大量金币")
macsave[Mac[dyuser]]=1
if (dqgold+teamgold ) > MaxGold then
NLG.AddGold(GroupIndex, MaxGold-dqgold)
else
NLG.AddGold(GroupIndex, teamgold)
end
end
end
end
end
elseif dz==0 then
if meze_npc_tab[tcdk]==nil then
meze_npc_tab[tcdk]=0
end
if meze_npc_tab[tcdk]==0 then
meze_npc_box_give_item(player,3,"")
elseif meze_npc_tab[tcdk]==50000 then
everyday_gift_give(player,100)
meze_npc_box_give_item(player,4,"")
elseif meze_npc_tab[tcdk]==150000 then
everyday_gift_give(player,100)
meze_npc_box_give_item(player,5,"")
elseif meze_npc_tab[tcdk]==200000 then
everyday_gift_give(player,100)
meze_npc_box_give_item(player,6,"")
end
meze_npc_all_gold=meze_npc_tab[tcdk]
end
local getgold = math.floor((meze_npc_all_gold/5)*0.6) + math.floor((meze_npc_all_gold/5)*0.8*count)
if getgold>0 then
local msg = "使用〈卡达斯的宝箱钥匙〉开出了大量金币"
if count>0 then
msg=msg..",您的"..count.."位伙伴将得到的金币赠予了你"
end
NLG.SystemMessage(player,msg)
local dqgold = Char.GetData(player,%对象_金币%)
if (dqgold+getgold ) > MaxGold then
NLG.AddGold(player, MaxGold-dqgold)
else
NLG.AddGold(player, getgold)
end
end
NLG.Warp(player,0,38011,26,32)--传送回迷宫之城
else
NLG.SystemMessage(player,"只有队长可以打开奖励宝箱")
end
end
return 0
end
--[[
mold解释:
1:普通无BUFF奖励
2:中等无BUFF奖励
3:困难无BUFF奖励
4:5万元BUFF奖励
5:15万元BUFF奖励
6:20万元BUFF奖励
--]]
function meze_npc_box_give_item(player,mold,tsmsg)--tsmsg:伙伴赠送的
local num=math.random(1,100)
local CDK=Char.GetData(player,2002)
local rignum=Char.GetData(player,48)
local tcdk=CDK..rignum
if tsmsg==nil then
tsmsg=""
end
local box_item = 91023--绿
if mold==1 then
if num>99 then
box_item = 91025--皇家蓝
elseif num>95 and num<=99 then
box_item = 91024--碧玺蓝
elseif num>70 and num<=95 then
box_item = 91023--祖母绿
elseif num>10 and num<=70 then
box_item = 91022--浅绿
else
box_item = 91021--浅灰
end
elseif mold==2 then
if num>98 then
box_item = 91025--皇家蓝
elseif num>63 and num<=98 then
box_item = 91024--碧玺蓝
elseif num>13 and num<=63 then
box_item = 91023--祖母绿
else
box_item = 91022--浅绿
end
elseif mold==3 then
if num>65 then
box_item=91025--深蓝
else
box_item=91024--浅蓝
end
elseif mold==4 then
if num>80 then
box_item=91026--红
else
box_item=91025--深蓝
end
elseif mold==5 then
if num>70 then
box_item=91025--深蓝
else
box_item=91026--红
end
elseif mold==6 then
if num>95 then
box_item=91027--紫
else
box_item=91026--红
end
end
local Num = Char.FindEmptyItemBox(player)
if Num>0 then
NLG.GiveItem(player,box_item,1);
NLG.SystemMessage(player,"[系统]:您获得了"..tsmsg.."魔法宝石")
else
local long = tablength(M_Arena_rank_give_item[tcdk])
if long<20 then
table.insert(M_Arena_rank_give_item[tcdk],box_item)
NLG.SystemMessage(player,"[系统]:您获得了"..tsmsg.."魔法宝石,请到右上角管家小精灵处领取")
end
end
end
|
|