[0320日服]花札+远征
--用于秘宝活动脚本。
--由于需要考虑的条件太多,这里仅做了剩余可战斗的刀和刀装小于多少时退出。
--[[不要用这个脚本跑其他图!!!!后果自负!]]
--[[不要用这个脚本跑其他图!!!!后果自负!]]
--[[不要用这个脚本跑其他图!!!!后果自负!]]
--[[不要用这个脚本跑其他图!!!!后果自负!]]
--[[不要用这个脚本跑其他图!!!!后果自负!]]
---------------------------------------------------------------------
--这里是设置区域 一般只需修改这里的值即可
event_id = 1
--[[★出击活动,2则表示第二个活动,如果秘宝活动变成了一个,则改成1即可]]
--[[该设置主要针对国服多活动时修改]]
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
--活动图设置这个是没用的 不要管
--是否无视等级提示
--[[--------远征设置--------]]
--远征总开关
conquestEnabled = 关
--二/三/四队远征地图
k2_conquest = {2, 1}
k3_conquest = {4, 2}
k4_conquest = {4, 4}
--远征检查间隔(秒)
conquestCheckInterval = { 45 * 60, 1.5 * 60 * 60 }
---------------------------------------------------------------------
--下面的东西不要乱改了! 就改上面的设置就行
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
Win.MessageBox('当前设定的秘宝活动ID为第 ' .. event_id .. ' 个,请确认无误!否则请确定后马上停止脚本并修改event_id!出击错地图后果自负!');
if IsDmmunlocker() == false then
mode = 0
if conquestEnabled then
Tou.EasyConquestInit(conquestCheckInterval[1], conquestCheckInterval[2])
Tou.EasyConquestRun(false)
end
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(12311779,12703968,14083823,13623272,5664117,2442829,1786440,1523268,3561310,10598592,15728639,15728639,14875135,7574683,7839396,14614527,14219002,11452871,15399423,15794175);
local isTeamSelect = (teamX ~= -1) and (teamY ~= -1);
local msgX, msgY=Base.FindColor(4326096,4326096,4326096,12300523,16777215,16777215,15592185,10127586,4326096,4326096,9337055,14341364,14341364,13683185,10917605,13024750,16777215,16777215,4326096,4326096)
local isMsgbox = (msgX ~= -1) and (msgY ~= -1);
if isTeamSelect then
if isMsgbox then
Base.ClickRect(486, 486);
else
Base.ClickRect(635, 504);
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
if conquestEnabled then
Tou.EasyConquestEnterLoop()
else
Win.Pop('脚本执行完毕!')
end
else
Win.Print('检测到游戏内存在空白,坐标无法对应,脚本无法运行!') --发现重伤了
end
Last updated