舰_自定接任务脚本
--[[
脚本演示了从母港到任务界面,并找到任务舰队大整备,然后接任务的过程
这个是舰娘的脚本
20150723 需要1.2.6版本才可运行
]]
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 IsHome()
array = {};count = {};
array = {[0]=204,247,2137083};count[0] = array;
array = {[0]=204,247,2137083};count[1] = array;
array = {[0]=204,247,2137083};count[2] = array;
return IsColorAll(count)
end
function IsMission()
array = {};count = {};
array = {[0]=717,464,14477808}; count[0] = array;
array = {[0]=695,457,14675187}; count[1] = array;
return IsColorAll(count)
end
function IsMission2()
array = {};count = {};
array = {[0]=95,463,6973993}; count[0] = array;
array = {[0]=21,463,7434542}; count[1] = array;
array = {[0]=64,468,4605510}; count[2] = array;
return IsColorAll(count)
end
function IsForward()
array = {};count = {};
array = {[0]=297,463,6730160}; count[2] = array;
return IsColorAll(count)
end
function CheckMyMission()
--点击任务 舰队大整备
ret = Base.CallFunc("Base.FindColorExAllBin", "[0,145,10464953,7700359,12900324,12834532,12834532,12834531,6252397,12966117,12966117,7502979,11781584,12966118,5462623,12768738,12768739,7700358,10925504,6383983,8358803,9411749,7371136,8556182,12966117,12966117,8227217,12176343,8029581,10728125,8885147,10135730,13163496,11583949,7568773,12702945,10070193,6449776,9543592,10860224,7503236,12702688,7502979,12768481,6581363,12966117,12900324,12768738,6318447,13031910,13097703,7502979]")
Base.Print(ret)
if ret ~= nil then
--下面我们处理一下返回的字符串 将他们放到table中
t = {}
for k, v in string.gmatch(ret, "(%d+),(%d+)") do
table.insert(t,{x=k,y=v}) --在表中插入一个坐标 当然也可以在这里直接使用
end
Base.Print("-----")
--输出坐标
for key, value in pairs(t) do
Base.Print(string.format("%d,%d",value["x"],value["y"]))
end
Base.Print(#t)
--找到的坐标数量大于0,点击第一个坐标
if #t > 0 then
Base.Print("点击")
Base.Click(t[1].x,t[1].y)
return true;
end
end
return false;
end
--脚本从这里开始执行
if IsHome() == true then
Win.Print("点击母港任务")
Base.Click(555,51) --点击母港任务
while IsMission() == false do --等待任务界面完全载入
Base.ClickRectEx(695,457) --点掉大淀
Base.Sleep(1000)
end
Base.Sleep(1000)
Base.Click(651,460) --到任务最后一页
while IsMission2() == false do --等待载入
Base.Sleep(500)
end
Base.Sleep(500)
Base.Print("载入完成")
while IsForward() == true do --如果有向前翻页的箭头 就进入循环
while IsMission2() == false do --等待载入
Base.Sleep(500)
end
Base.Sleep(500)
if CheckMyMission() == true then --找到任务坐标并点击
Win.Print("接到任务")
break
end
while IsMission2() == false do --等待载入
Base.Sleep(500)
end
Win.Print("翻页")
Base.Sleep(1000)
Base.Click(297,463) --向前翻页
Base.Sleep(1000) --必须等待一下 否则会多翻一页
end
Win.Print("完成")
else
Win.Print("不在母港")
end
Last updated