刀_日服秘宝花札0320

--发布地址:http://kancode.moehex.com/2018/08/31/%e5%88%80_%e6%97%a5%e6%9c%8d%e8%8a%b1%e6%9c%ad0828/
--用于秘宝活动脚本。
--由于需要考虑的条件太多,这里仅做了剩余可战斗的刀和刀装小于多少时退出。

--[[不要用这个脚本跑其他图!!!!后果自负!]]
--[[不要用这个脚本跑其他图!!!!后果自负!]]
--[[不要用这个脚本跑其他图!!!!后果自负!]]
--[[不要用这个脚本跑其他图!!!!后果自负!]]
--[[不要用这个脚本跑其他图!!!!后果自负!]]

---------------------------------------------------------------------
--这里是设置区域 一般只需修改这里的值即可

event_id = 1
--[[★出击活动,2则表示第二个活动,如果秘宝活动变成了一个,则改成1即可]]
--[[该设置主要针对国服多活动时修改]]

Win.MessageBox('当前设定的秘宝活动ID为第 ' .. event_id .. ' 个,请确认无误!否则请确定后马上停止脚本并修改event_id!出击错地图后果自负!');

event_map_id = 4
--出击哪个地图(1-4)请自行修改! 1=简 2=普 3=难 4=炒鸡难

补充手形 = true
--[[★★自动补充手形★★(通行证),不开会在手形不足时卡住]]

剩余刀回城数量 = -1
--请自行根据情况设置,如果场上剩余的刀数量小于等于该值,则会回城。

剩余刀装回城数量 = -1
--请自行根据情况设置,如果场上剩余的刀装数量小于等于该值,则会回城。
--以上两个条件达到其中之一就会生效 
-- (-1为不启动该判定)

max_count = 300
--最多进入多少次地图(出击次数) 开了自动补充手形的话 可以设置高一点刷很久

team_id = 1
--出击的队伍(1-4)

max_battle_count = 255
--最多进入多少次战斗点,活动多出也没问题,所以我写多一点

出击后休息分钟 = 0
--每次出击完毕后休息多少分钟

formation = 6
--索敌失败后使用的阵型
--阵型1-6依次为 鱼鳞 横队 雁行 鹤翼 方阵 逆行 如果非1-6数值 则选择2

formation_lock = false
--不使用智能有利阵型,任何情况都使用formation所设置的阵型


ignore_lv_msg = true 
--活动图设置这个是没用的 不要管
--是否无视等级提示 

map_id = { 100 + event_id, event_map_id} 

---------------------------------------------------------------------
--下面的东西不要乱改了! 就改上面的设置就行
if 补充手形 == true then 
	Base.SetValue("AutoShouXing", '1')
else
	Base.SetValue("AutoShouXing", '0')
end

Base.SetConfig("Sleep+?",100) --所有延时随机增加1-100
Base.SetConfig("MiBaoDieExitCount", 剩余刀回城数量)
Base.SetConfig("MiBaoDieDaoZhuangExitCount", 剩余刀装回城数量)

function IsColorAll(array)
	n = 0
	ok = 0
	while(array[n] ~= nil)
	do
		if Base.IsColor(array[n][0],array[n][1],array[n][2])==true then
			ok = ok + 1
		end
		n= n+1
	end
	
	if ok==n then
		return true
	else
		return false
	end
end

function IsDmmunlocker() --判断界面是否正确
	array = {};count = {}
	array = {[0]=17,19,16777215};count[0] = array
	array = {[0]=52,15,16777215};count[1] = array
	array = {[0]=105,16,16777215};count[2] = array
	array = {[0]=165,16,16777215};count[3] = array
	return IsColorAll(count)
end

if IsDmmunlocker() == false then
	mode = 0

	
	for n = 1, max_count do --循环次数
		a = "开始第:%d次"
		Win.Print(a:format(n))
		
		--出击
		if Tou.Sally(map_id[1],map_id[2],false) == false then 
			Win.Print('无法出阵退出')
			break --无法出阵
		end
		
		-- --出击前处理
		-- repeat
		-- 	local teamX, teamY=Base.FindColor(13230566,12967394,13232107,12773611,11459292,1721928,2575696,12574177,15335423,13559531,1915711,1588801,1787721,1917263,2047308,7242900,8952234,15334911,12178402,2838365,1458253,2840676,1325896,1981515,7177107,14809087,14876415,10075595,1457739,8954545,9480889,5467516,1783108,7376027,14876415,13889534,2375759,2047308,5007993,10995156,13363704,7310748,2310993,1324098,1784649,2113614,2047308,3692133,4679028,7310234);
		-- 	local isTeamSelect = (teamX ~= -1) and (teamY ~= -1);
		-- 	local msgX, msgY=Base.FindColor(12246757,12246757,12246757,2308941,137004,14672098,16777215,9869983,137004,4213334,8949139,12435394,16777215,16777215,16777215,16777215,16777215,16777215,16119285,16777215,13948631,137004,3164250,12312550,12246757,12246757,12246757,12312549,4545901,137004,10725291,16777215,137004,9869983,16777215,14672098,2569283,16777215,9869983,137004,2569283,7896709,16777215,16777215,16777215,16777215,14672098,137004,14672098,16777215);
		-- 	local isMsgbox = (msgX ~= -1) and (msgY ~= -1);
			
		-- 	if isTeamSelect then
		-- 		if isMsgbox then
		-- 			--[=[ if 有道具可用 then 启用道具 end ]=]
		-- 			Base.ClickRect(383, 435);
		-- 		else
		-- 			Base.ClickRect(620, 499);
		-- 		end
		-- 	end
		-- 	Base.Sleep(500, true);
		-- until not isMsgbox and not isTeamSelect;
		
		--战斗
		ret = Tou.MiBaoBattle(max_battle_count, formation, mode, team_id, ignore_lv_msg, formation_lock)
		if ret > 0 then 
			Win.Print('重伤中断脚本') --发现重伤了
			break
		end
		
		if ret == -1 then 
			Win.Print('检非中断脚本') --发现检非
			break
		end
		
		if ret == -2 then 
			Win.Print('切换队伍失败了等3分钟再打..') 
			Base.Sleep(1000*60*3)
			--break
		end
		if ret == -3 then 
			Win.Print('切换队伍失败了等3分钟再打..') 
			Base.Sleep(1000*60*3)
			--break
		end
		Base.Sleep(2000)

		Win.Print('休息' .. 出击后休息分钟 .. '分钟...') 
		Base.SleepSec(出击后休息分钟 * 60)
		
	end

else
	Win.Print('检测到游戏内存在空白,坐标无法对应,脚本无法运行!') --发现重伤了
end

Win.Pop('脚本执行完毕!')

Last updated