本人学习lua时间很短,然后发现了一个以lua为基础的手机游戏辅助平台,《触动精灵》,于是试着去写了下,感觉这个平台很好用。
这不是最近大家都在写微信抢红包软件吗?于是我也试着写了一下。但是遇到了一些问题,脚本的运行很不稳地,希望可以有大神帮忙解答一下哪里出错了,有的时候会去点击红包,有的时候有不行,但是颜色判断的函数也不明白哪里错了,跪求大神帮忙,因为是基于触动精灵平台 的,所以愿意帮忙的大神,还请麻烦下载一个触动精灵(百度就能找到),可以直接把下面的代码复制到官网下载的ide里面测试,手机越狱一下就可以下载《触动精灵》,然后复制代码进txt ,后缀改成lua,拖进软件路径就行了。跪求大神帮忙完善。
function isColor(x,y,c,s)
local fl,abs = math.floor,math.abs
s = fl(0xff*(100-s)*0.01)
local r,g,b = fl(c/0x10000),fl(c%0x10000/0x100),fl(c%0x100)
local rr,gg,bb = getColorRGB(x,y)
if abs(r-rr)<s and abs(g-gg)<s and abs(b-bb)<s then
return true
end
end
function click(x,y,time)
time=time or 30
touchDown(1, x, y)
mSleep(time)
touchUp(1, x, y)
end
-------begin---------------
w,h=getScreenSize()
init(0)
mSleep(2000)
synrecord={
["formpoint"]={0,0}
}
function waitredpackage(...)
while (true) do
local x,y = findMultiColorInRegionFuzzy( 0xa4a4a4, "5|0|0x9b9b9b,9|0|0x9c9c9c,12|0|0xacacac,16|8|0x9b9b9b,20|7|0xa9a9a9", 90, 1, 1,w-1, h-1)
if x~=-1 and y~=-1 then
click(x,y)
return findredpackage()
end
end
end
function findredpackage(...)
while (true) do
x,y = findMultiColorInRegionFuzzy( 0xf7d757, "209|15|0xfa9d3b,127|92|0xffffff,42|97|0x999999,-8|87|0x999999", 90, 2, 14, 638, 1110)
if x~=-1 and y~=-1 and x~=synrecord ["formpoint"][1] and y~=synrecord ["formpoint"][2] then
synrecord ["formpoint"][1] =x
synrecord ["formpoint"][2]=y
click(x,y)
mSleep(3000)
if (isColor( 300, 683, 0xffaa3b, 85) and
isColor( 376, 705, 0xffaa3b, 85) and
isColor( 331, 773, 0xffaa3b, 85) and
isColor( 257, 734, 0xffaa3b, 85) and
isColor( 313, 730, 0xffffff, 85) and
isColor( 313, 740, 0xffffff, 85)) then
click(300, 683)
end
end
end
click( 65, 77)
return waitredpackage()
end
waitredpackage()