刀_刀剑活动[1229]

--刀剑2015.12.29开的新年活动脚本 请自己阅读标★★★部分
--需要【1.5.1】版本才可以运行!!! 
--支持切换队伍,支持自动补充手形(请阅读★★★并设置)
--需要勾选游戏为刀剑
--支持道中重伤判断并退出脚本

--更多刀剑肝图脚本,请访问↓↓↓
--http://www.7moe.com/forum.php?mod=forumdisplay&fid=110

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

event_id = 3
--★★★出击哪个活动 请自行修改! 1=简 2=普 3=难 4=炒鸡难

----------------------------------第一种换队条件----------------------------------
Base.SetValue("Touken2016NewYeahBattleChangeTeam", '[4,7]')
--★★★设置换队伍的场次
--在4场比赛后 更换下一个队伍
--在7场比赛后 再更换下一个队伍
--如果你只想换一次队伍,则可以改成'[4]'这样
--如果达到了这里的某个值,无视其他重伤中伤等条件,直接换队伍
--如果只想使用第二个条件,请在语句前加上--来注释掉

----------------------------------第二种换队条件----------------------------------
Base.SetValue("Touken2016NewYeahBattleExitCount", '{"max":1,"mid":3,"min":0}')
--★★★某种损坏程度的刀达到多少个的时候 回本丸 
--如果注释掉 则会按照有重伤就撤退 如果设置了这个 则以这个设置为退出标准
--当前的设置为 【重伤>=1 或 中伤>=3】 轻伤设置0为不限制 请自行修改为适合的数值
--如果只想使用第一种条件更换队伍,则这里三个值请都写为0

----------------------------------用于替换的队伍----------------------------------
Base.SetValue("Touken2016NewYeahBattleChangeTeam2", '0')
Base.SetValue("Touken2016NewYeahBattleChangeTeam3", '0')
Base.SetValue("Touken2016NewYeahBattleChangeTeam4", '0')
--★★★分别设置2、3、4队伍用于替补(换队伍),如果需要换哪个队,就把最后的0改成1
--如果【第一种换队条件】里有两个值,则这里也必须启用2个!否则会更换失败
--用于更换的队伍始终保持1>2>3>4顺序,所以不要想先换个4队再换个2队

--如果设置了用于替换的队伍,满足了【第一种换队条件】或【第二种换队条件】后,会优先换队伍
--如果换成功了,就继续战斗
--如果换失败了,回本丸

Base.SetValue("AutoShouXing", '1')
--★★★自动补充手形,不需要请设置成0或者注释掉

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

map_id = {100, event_id} 
--出击地图活动图 不要改

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

formation = 0 --活动图设置这个是没用的 不要管
--索敌失败后使用的阵型
--阵型1-6依次为 鱼鳞 横队 雁行 鹤翼 方阵 逆行 如果非1-6数值 则选择2

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

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

遇到检非不进入地图 = false 
--好吧 不知道怎么翻译 直接用中文变量了 
--如果为true 则在出击时地图上有检非标记就会返回出击失败

战斗中遇到检非停止脚本 = false 
--道中遇到检非打不打,false=不停止 true=停止

战斗中中伤停止脚本 = false --false=不停止 true=停止

战斗中轻伤停止脚本 = false --false=不停止 true=停止

Base.SetConfig("Sleep+?",100) --所有延时随机增加1-100
---------------------------------------------------------------------

--下面的东西不要乱改了! 就改上面的设置就行
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
	if 战斗中遇到检非停止脚本 == true then
		mode = mode + 4
	end
	if 战斗中中伤停止脚本 == true then
		mode = mode + 1
	end	
	if 战斗中轻伤停止脚本 == true then
		mode = mode + 2
	end
	for n = 1, max_count do --循环次数
		a = "开始第:%d次"
		Win.Print(a:format(n))
		
		--出击
		if Tou.Sally(map_id[1],map_id[2],遇到检非不进入地图) == false then 
			Win.Print('无法出阵退出')
			break --无法出阵
		end
		
		--战斗
		ret = Tou.Battle(max_battle_count, formation, mode, team_id, ignore_lv_msg)
		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)

	end

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

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

Last updated