[免费]秘境挑战
这是一个秘境挑战的副本功能 完全开源(客户端部分 服务端部分)(web插件)在线安装秘境挑战脚本
简介 : 可以控制各副本依次挑战顺序 解锁 挑战次数 掉落奖品全名UI化
售价 : ¥0.00
作者 : QQ859729391
引擎 : GA
http://bbs.ml30.com/ad/123.png
安装方法 :
[*]登录器与服务端必须更新至2021.3.21版本或以上
[*]启动GA二建单机版 开发者版 或正式版 并且成功登入游戏
[*]点击下面的在线安装
[*]依照游戏中的提示 按流程要求继续即可完成安装
GACENTER|秘境挑战免费版|aHR0cHM6Ly9naXRlZS5jb20vNTQyMzY2MzIvbWlqaW5ndGlhb3poYW4vcmF3L21hc3Rlci8=
如何使用:妖城在线论坛; A; @! {+ ], T9 f1 p& t8 c
服务端部分
config.lua中引用 mijing_server.lua—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート5 g+ Q6 W5 K9 `1 w4 A
luac.lua中加入 luac.txt内代码
bbs.mocwww.com7 F5 e# B( u$ u- @
客户端部分
GA二建端:直接把mijing_client.lua 与 image文件夹丢入客户端的lua中
GA商业版:用打包器直接打包以上脚本3 j9 Y0 b( b5 H( v0 j
GE(GXSIM):用打包器GA2GE.exe直接打包以上脚本bbs.mocwww.com0 q4 r/ P7 R+ X
—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート: O/ ?# X$ a' @: t2 S
妖城在线论坛+ O! B# G' A# c|* Q5 i: x
呼出界面:
block 3 P$ w" Z8 lT7 _
showmj魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表2 ^$ @) s) c0 ]
妖城在线论坛% F( u9 T4 R+ ~1 |) k/ U+ f
魔力私服,最新魔力宝贝私服技术交流, y]' E8 {) a4 Ek
设定层锁:—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート! s( ~- B# t4 {9 @7 {9 B8 y/ D& h( I
block—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート]. C4 {) `8 G1 ?* U- n" h
luac setmj 1,3设置秘境1开启第三层( K+ t) }0 B+ v) z: ]
—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート" b; j5 I% O- O2 v' R1 G% @
以上均可以使用道具或NPC脚本设定0 x1 g) A" g, o; BF
bbs.mocwww.com6 D, g3 ^, |( C+ U
bbs.mocwww.com1 O! |/ c+ t; U+ }% c% l" {
其他配置可以打开mijing_server.lua 查看
以下是代码部分:
客户端:
--[[
秘境挑战 客户端lua部分
支持平台:GA、GE(GXSIM)
一个界面化的副本挑战
]]
tbl_mj = {}; --存储秘境配置,数据从服务器传入
mj_thisselect = 1;
mj_thisselect_cs = 1;
tbl_cssetting = {"第一","第二","第三","第四","第五","最终"};
mj_sycs = 0;
function Myrw_init(view)
if view.IsInit then
-- 如果窗体第一次载入,开始摆放控件
view.settop();
-- 摆放关闭按钮
view.add(new.closebutton("myclose_test"));
for i=1,6 do
-- 摆放锁按钮
view.add(new.bmpbutton("mj_suo_".. i,"mijing_suo.bmp"));
end
for i=1,6 do
-- 摆放道具
view.add(new.image("mj_itembox_".. tostring(i)));
end
-- 摆放开始挑战按钮
view.add(new.bmpbutton("mj_huain","mijing_btn2.bmp"));
-- 摆放当前挑战背景
view.add(new.bmpbutton("ditutu","mijing_bg_huayao.bmp"));
for i=1,#tbl_mj do
view.add(new.bmpbutton("mj_select_" .. tostring(i),"mijing_btn1.bmp"));
end
view.add(new.bmpbutton("mj_bg","mijing_bg.bmp"));
return;
end
-- 窗体初始显示位置
view.xpos =60;
view.ypos =60;
if Cli.GetHD() then --960*720时
view.xpos =180;
view.ypos =180;
end
local close = view.find("myclose_test");
close.enable = 1;
close.xpos = 548;
close.ypos = 8;
close.event = function(object)
-- 当关闭按钮被按下时
Audio.Bell(54,320)
return 1;
end
-- 初始奖励道具显示偏移
local tbl2 = {{425,205},{480,205},{535,205},{425,255},{480,255},{535,255}};
for i=1,6 do
local object = view.find("mj_itembox_".. tostring(i));
object.enable = 1;
object.sizex = 48;
object.sizey = 48;
object.xpos = tbl2 - 50 ;
object.ypos = tbl2 - 50;
object._select3 = tostring(i);
object.event = function(object,event)
if event == Cevent.mouseover then
-- 把道具数据文字画到游戏中
if tbl_mj["itemdatainfo_"..mj_thisselect_cs] ~= nil then
local info = tbl_mj["itemdatainfo_"..mj_thisselect_cs];
if info ~= nil then
this.spText(view.xpos+373,view.ypos+139,9,info)
end
end
end
end
end
for i=1,6 do
local object = view.find("mj_suo_" .. tostring(i));
object.enable = 1;
if i == 1 then
object.xpos = 135;
object.ypos = 220;
end
if i == 2 then
object.xpos = 172;
object.ypos = 193;
end
if i == 3 then
object.xpos = 215;
object.ypos = 220;
end
if i == 4 then
object.xpos = 255;
object.ypos = 193;
end
if i == 5 then
object.xpos = 290;
object.ypos = 235;
end
if i == 6 then
object.xpos = 215;
object.ypos = 275;
end
object._select3 = tostring(i);
object.event = function(object,event)
local num = tonumber(object._select3)
if num <= tonumber(tbl_mj.dqcs) then
object.id = "mijing_jiesuo.bmp";
else
object.id = "mijing_suo.bmp";
end
if event == Cevent.click then
mj_thisselect_cs = num;
end
end
end
for i=1,#tbl_mj do
local object = view.find("mj_select_" .. tostring(i));
object.enable = 1;
object.xpos = 20;
object.ypos = 110 + ((i - 1) * 25);
object._select3 = tostring(i);
object.event = function(object,event)
local num = tonumber(object._select3)
local view = object.mainview;
local selected = "A";
if event == Cevent.mouseover then
selected = "5";
end
if mj_thisselect == num then
selected = "4";
end
if num ~= nil and tbl_mj ~= nil then
this.spText(view.xpos+object.xpos+8,view.ypos+object.ypos+4,9,"$"..selected.. tbl_mj.name .."$0")
end
if event == Cevent.click then
mj_thisselect = tonumber(object._select3);
mj_thisselect_cs = 1;
end
end
end
local object = view.find("mj_bg");
object.enable = 1;
object.xpos = 0;
object.ypos = 0;
object.event = function(object,event)
local view = object.mainview;
this.spText(view.xpos + 407,view.ypos + 75,9,"$4"..tbl_cssetting.."层:"..tbl_mj.name.."$0")
local itemdata = tbl_mj["itemdata_"..mj_thisselect_cs];
local tbl = {{425,205},{480,205},{535,205},{425,255},{480,255},{535,255}};
local is = 1;
if itemdata ~= nil then
for k,v in ipairs(itemdata) do
if v ~= nil then
this.spImage(view.xpos + tbl -24 ,view.ypos + tbl -22,tonumber(v));
is = is + 1;
end
end
end
local close = view.find("myclose_test_close");
this.spImage(view.xpos + close.xpos + 5,view.ypos + close.ypos + 6 ,close.imageID);
end
local object = view.find("ditutu");
object.enable = 1;
object.xpos = 130;
object.ypos = 60;
object.event = function(object,event)
object.id = tbl_mj.mapid;
end
local object = view.find("mj_huain");
object.enable = 1;
object.xpos = 470;
object.ypos = 270;
object.event = function(object,event)
local selected = "4";
if event == Cevent.mouseover then
selected = "5";
end
if event == Cevent.click then
-- 向服务器请求挑战
Cli.Send("MJWARP:"..mj_thisselect..":"..mj_thisselect_cs);
end
this.spText(view.xpos+object.xpos-95,view.ypos+object.ypos+4,9,"$B本日还剩 $6"..mj_sycs.." $B次$0")
this.spText(view.xpos+object.xpos+9,view.ypos+object.ypos+4,9,"$"..selected.."开始挑战$0")
end
view.sizex = 588;
view.sizey = 339;
view.pxpos = 588;
end
Cli.Send().wait["MIKING_RET1"] = function (tbl)
mj_sycs = tonumber(tbl["res"])
end
Cli.Send().wait["MIKING_RET2"] = function (tbl)
-- 等待服务器发送数据
tbl_mj = tbl;
-- 打开窗体
new.ShowView(101,Myrw_init)
end
服务端:
function Split3(szFullString, szSeparator)
local nFindStartIndex = 1
local nSplitIndex = 1
local nSplitArray = {}
while true do
local nFindLastIndex = string.find(szFullString, szSeparator, nFindStartIndex)
if not nFindLastIndex then
nSplitArray = string.sub(szFullString, nFindStartIndex, string.len(szFullString))
break
end
nSplitArray = string.sub(szFullString, nFindStartIndex, nFindLastIndex - 1)
nFindStartIndex = nFindLastIndex + string.len(szSeparator)
nSplitIndex = nSplitIndex + 1
end
return nSplitArray
end
tiaozhuanjuanID = 751751;--每次进入秘境所需道具
tbl_mj =
{
= {
["name"] = "森林秘境",--名字
["mapid"] = "huayao.bmp",--图片
["itemdata_1"] = {1002970,27312,27442},--奖励图档
["itemdatainfo_1"] = {"$6人和宠经验","$6怪物料理*2","$6宠物洗档卷*1"},--奖励名字
["itemdata_2"] = {1002970,27547,470440},
["itemdatainfo_2"] = {"$6人和宠经验","$6[宠装]花妖蜜晶石","$6魔能宝石*20"},
["itemdata_3"] = {1002970,480384},
["itemdatainfo_3"] = {"$6人和宠经验","$6樱桃布丁宠物蛋"},
["itemdata_4"] = {1002970,470339},
["itemdatainfo_4"] = {"$6人和宠经验","$6箭鞘"},
["itemdata_5"] = {1002970,1001929,27442},
["itemdatainfo_5"] = {"$6人和宠经验","$6初级彩色羽毛*20","$6宠物洗档卷*5"},
["itemdata_6"] = {1002970,480668,480630},
["itemdatainfo_6"] = {"$6人和宠经验","$6宠物重来种子礼包","$6[魂卡]穴熊"},
["dqcs"] = 1,
["warp_1"] = {1131,111,31},--传送坐标
["warp_2"] = {1132,74,246},
["warp_3"] = {1133,8,16},
["warp_4"] = {1138,8,16},
["warp_5"] = {1136,8,28},
["warp_6"] = {1137,8,28},
},
= {
["name"] = "砂石秘境",
["mapid"] = "shashi.bmp",
["itemdata_1"] = {1002970,99044,1001929},
["itemdatainfo_1"] = {"$6人和宠经验","$6[宠技]炎袭玉","$6初级彩色羽毛*10"},
["itemdata_2"] = {1002970,480664,1001928},
["itemdatainfo_2"] = {"$6人和宠经验","$6宠物变身卡礼包","$6中级彩色羽毛*5"},
["itemdata_3"] = {1002970,99699,26537},
["itemdatainfo_3"] = {"$6人和宠经验","$6冰蓝冰晶的碎片","$6Q零件碎片"},
["itemdata_4"] = {1002970,98502},
["itemdatainfo_4"] = {"$6人和宠经验","$6宝石鼠都腿骨"},
["itemdata_5"] = {1002970,1003173},
["itemdatainfo_5"] = {"$6人和宠经验","$6魔币箱"},
["itemdata_6"] = {1002970,99044,480937,480629,480609},
["itemdatainfo_6"] = {"$6人和宠经验","$6[宠技]森之气功弹","$6骑士六转卷","$6[魂卡]火焰鼠","$6[魂卡]大地鼠"},
["dqcs"] = 0,
["warp_1"] = {1141,30,22},
["warp_2"] = {1144,15,38},
["warp_3"] = {1142,10,18},
["warp_4"] = {1125,54,49},
["warp_5"] = {1123,10,9},
["warp_6"] = {1149,10,20},
},
= {
["name"] = "火焰秘境",
["mapid"] = "huoyan.bmp",
["itemdata_1"] = {470025},
["itemdatainfo_1"] = {"$6当前没有开放"},
["itemdata_2"] = {470025},
["itemdatainfo_2"] = {"$6当前没有开放"},
["itemdata_3"] = {470025},
["itemdatainfo_3"] = {"$6当前没有开放"},
["itemdata_4"] = {470025},
["itemdatainfo_4"] = {"$6当前没有开放"},
["itemdata_5"] = {470025},
["itemdatainfo_5"] = {"$6当前没有开放"},
["itemdata_6"] = {470025},
["itemdatainfo_6"] = {"$6当前没有开放"},
["dqcs"] = 0,
["warp_1"] = nil,
["warp_2"] = nil,
["warp_3"] = nil,
["warp_4"] = nil,
["warp_5"] = nil,
["warp_6"] = nil,
},
= {
["name"] = "寒冰秘境",
["mapid"] = "hanbing.bmp",
["itemdata_1"] = {470025},
["itemdatainfo_1"] = {"$6当前没有开放"},
["itemdata_2"] = {470025},
["itemdatainfo_2"] = {"$6当前没有开放"},
["itemdata_3"] = {470025},
["itemdatainfo_3"] = {"$6当前没有开放"},
["itemdata_4"] = {470025},
["itemdatainfo_4"] = {"$6当前没有开放"},
["itemdata_5"] = {470025},
["itemdatainfo_5"] = {"$6当前没有开放"},
["itemdata_6"] = {470025},
["itemdatainfo_6"] = {"$6当前没有开放"},
["dqcs"] = 0,
["warp_1"] = nil,
["warp_2"] = nil,
["warp_3"] = nil,
["warp_4"] = nil,
["warp_5"] = nil,
["warp_6"] = nil,
},
= {
["name"] = "黑暗秘境",
["mapid"] = "heian.bmp",
["itemdata_1"] = {470025},
["itemdatainfo_1"] = {"$6当前没有开放"},
["itemdata_2"] = {470025},
["itemdatainfo_2"] = {"$6当前没有开放"},
["itemdata_3"] = {470025},
["itemdatainfo_3"] = {"$6当前没有开放"},
["itemdata_4"] = {470025},
["itemdatainfo_4"] = {"$6当前没有开放"},
["itemdata_5"] = {470025},
["itemdatainfo_5"] = {"$6当前没有开放"},
["itemdata_6"] = {470025},
["itemdatainfo_6"] = {"$6当前没有开放"},
["dqcs"] = 0,
["warp_1"] = nil,
["warp_2"] = nil,
["warp_3"] = nil,
["warp_4"] = nil,
["warp_5"] = nil,
["warp_6"] = nil,
},
= {
["name"] = "星灵秘境",
["mapid"] = "xingling.bmp",
["itemdata_1"] = {470025},
["itemdatainfo_1"] = {"$6当前没有开放"},
["itemdata_2"] = {470025},
["itemdatainfo_2"] = {"$6当前没有开放"},
["itemdata_3"] = {470025},
["itemdatainfo_3"] = {"$6当前没有开放"},
["itemdata_4"] = {470025},
["itemdatainfo_4"] = {"$6当前没有开放"},
["itemdata_5"] = {470025},
["itemdatainfo_5"] = {"$6当前没有开放"},
["itemdata_6"] = {470025},
["itemdatainfo_6"] = {"$6当前没有开放"},
["dqcs"] = 0,
["warp_1"] = nil,
["warp_2"] = nil,
["warp_3"] = nil,
["warp_4"] = nil,
["warp_5"] = nil,
["warp_6"] = nil,
}
}
function tbl_copy(orig)
local orig_type = type(orig)
local copy
if orig_type == "table" then
copy = {}
for orig_key, orig_value in next, orig, nil do
copy = tbl_copy(orig_value)
end
else -- number, string, boolean, etc
copy = orig
end
return copy
end
Delegate.RegDelTalkEvent("mijingTalkEvent");
function mijingTalkEvent(player,msg,color,range,size)
if(msg == "123") then
local retbl1 = {
["res"] = Char.ItemNum(player,tiaozhuanjuanID);
}
Protocol.PowerSend(player,"MIKING_RET1",retbl1)
local tbl_mj2 = tbl_copy(tbl_mj)
for i=1,#tbl_mj do
local dqcs = Field.Get(player,"MKTZ_"..i);
if tonumber(dqcs) == nil then
if i == 1 then
Field.Set(player,"MKTZ_"..i,"1");
else
Field.Set(player,"MKTZ_"..i,"0");
end
--tbl_mj2["dqcs"] = tonumber(dqcs);
--NLG.SystemMessage(player, dqcs)
else
--NLG.SystemMessage(player, dqcs)
tbl_mj2["dqcs"] = tonumber(dqcs);
end
end
Protocol.PowerSend(player,"MIKING_RET2",tbl_mj2)
end
end
function Event.Recv.mijing(player,packet)
if string.find(packet,"MJWARP:") then
--NLG.SystemMessage(player, packet)
local sv = Split3(packet,":")
if tbl_mj)]["warp_"..sv] ~= nil then
local dqcs = Field.Get(player,"MKTZ_"..sv);
if tonumber(dqcs) < tonumber(sv) then
NLG.SystemMessage(player, "您还未能开启本副本的挑战。")
return
end
-- 道具是否足够
if Char.ItemNum(player,tiaozhuanjuanID) > 0 then
Char.DelItem(player,tiaozhuanjuanID,1)
else
NLG.SystemMessage(player, "您的挑战道具不足。")
return
end
Char.DischargeParty(player)
local warpinfo = tbl_mj)]["warp_"..sv];
Char.Warp(player,0,warpinfo,warpinfo,warpinfo);
NLG.SystemMessage(player, "已成功进入副本。")
else
NLG.SystemMessage(player, "此副本尚未开放。")
end
end
end
相关下载地址:点击下载
希望论坛越办越好,会员越来越多,越来越活跃
页:
[1]