刀_日服秘宝花札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