解说社区

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 669|回复: 1

[原创] 插件一件制作v3原点击集合更新包括自动点击、连续点击、无限循环和次数循环的制作

[复制链接]
发表于 2023-10-15 10:35:36 来自手机 | 显示全部楼层 |阅读模式
打开解说\资源下载\搜索插件一键制作
这原先是解说里面插件扩展的功能。由于之前要把参数写在插件文件里面,比较麻烦。现在我制作编辑框和点击按钮的形式,操作起来比较简单。同时也有制作插件的按钮,只要写好关键字和次数。点击制作某某插件。插件就做好了。以后就可以直接调用自己的插件了。
最上面有三个编辑框。第1个编辑框是输入关键字用的,一行一个,也可以用 百分号功能。第2个编辑框是输入次数用的,次数循环或者连续点击的次数。第3个编辑框是无限循环或者连续点击的间隔时间。每一次与每一次的间隔时间。建议不要设置太快。太快可能会刹不住车。以毫秒为单位。这里默认是1秒。
下面有12个按钮。左边6个是立即执行,右边6个是制作插件。一共有三种类型的功能。第1种是自动点击。跟我们平时用的自动点击一样,就是多个按钮按次序依次点击。
第2种是循环点击。这里分为无限循环和次数循环。1.次数循环,这个跟自动点击不同。自动点击是一组。点击完毕就停止,这个你可以理解为一组一组循环。比如你要点击abc,这三个按钮要依次反复循环,循环这三个按钮10次,这样就用到这个循环点击了。2.无限循环,开始后要手动结束循环。
再次打开插件,
结束循环。
最好设置一个手势,
方便开始关闭。可以用在监测屏幕上。比如微信抢红包这种。他检测到微信红包关键字,然后就循环依次点击微信红包和开两个按钮。
第3种是连续点击,下面是三个连续点击的按钮。连续点击同一个地方若干次。比如点赞这种。
第1个是极速点击。他是默认点击当前的位置。速度是读屏定义好的,只需要输入次数就可以了。第2个是自定义连续点击。这个可以自定义次数和间隔的时间。第3个是关键字点击。这里可以输入关键字。次数和间隔时间都可以设置。



  来自解说社区客户端
回复

使用道具 举报

 楼主| 发表于 2023-10-15 10:37:31 来自手机 | 显示全部楼层
require "import"
import "com.androlua.Ticker"
import "android.widget.*"
import "android.view.*"
import "android.graphics.Rect"
local p=Rect()
if ti then
ti.stop()
service.speak("停止")
ti=nil
return true
end
layout=
{
LinearLayout,
orientation=1,
layout_width=-1,
layout_height=-1,
{
EditText,
hint="输入关键字",
HintTextColor='#ffffff00',
Gravity="center_horizontal",
id="e1",
textColor="#ffffff00",
layout_width=-1,
layout_height="10%h",
layout_weight=1,
},
{
EditText,
hint="次数",
HintTextColor='#ffffff00',
Gravity="center_horizontal",
id="e2",
textColor="#ffffff00",
layout_width=-1,
layout_height="10%h",
inputType="number",
layout_weight=1,
},
{
EditText,
text="1000",
hint="次数的间隔时间(以毫秒为单位)",
HintTextColor='#ffffff00',
id="e3",
Gravity="center_horizontal",
textColor="#ffffff00",
layout_width=-1,
layout_height="10%h",
inputType="number",
layout_weight=1,
},
{LinearLayout,
layout_width=-1,
layout_height=-1,
layout_weight=1,
{Button,
text="自动点击",
onClick="zddj",
textColor="#ffffff00",
layout_width=-1,
layout_weight=1,},
{Button,
text="制作自动点击插件",
onClick="fzzddjdm",
textColor="#ffffff00",
layout_width=-1,
layout_weight=1,},
},
{LinearLayout,
layout_width=-1,
layout_height=-1,
layout_weight=1,
{Button,
text="无限循环,再次启动插件停止",
onClick="wxxh",
textColor="#ffffff00",
layout_width=-1,
layout_weight=1,},
{Button,
text="制作无限循环插件",
onClick="fzwxxhdm",
textColor="#ffffff00",
layout_width=-1,
layout_weight=1,},
},
{LinearLayout,
layout_width=-1,
layout_height=-1,
layout_weight=1,
{Button,
text="开始次数循环",
onClick="csxh",
textColor="#ffffff00",
layout_width=-1,
layout_weight=1,},
{Button,
text="制作次数循环插件",
onClick="fzcsxhdm",
textColor="#ffffff00",
layout_width=-1,
layout_weight=1,},
},
{LinearLayout,
layout_width=-1,
layout_height=-1,
layout_weight=1,
{Button,
text="极速连续点击",
onClick="jslxdj",
textColor="#ffffff00",
layout_width=-1,
layout_weight=1,},
{Button,
text="制作极速连续点击插件",
onClick="fzjslxdjdm",
textColor="#ffffff00",
layout_width=-1,
layout_weight=1,},
},
{LinearLayout,
layout_width=-1,
layout_height=-1,
layout_weight=1,
{Button,
text="自定义连续点击",
onClick="zdylxdj",
textColor="#ffffff00",
layout_width=-1,
layout_weight=1,},
{Button,
text="制作自定义连续点击插件",
onClick="fzzdylxdjdm",
textColor="#ffffff00",
layout_width=-1,
layout_weight=1,},
},
{LinearLayout,
layout_width=-1,
layout_height=-1,
layout_weight=1,
{Button,
text="关键字连续点击",
onClick="gjzlxdj",
textColor="#ffffff00",
layout_width=-1,
layout_weight=1,},
{Button,
text="制作关键字连续点击插件",
onClick="fzgjzlxdjdm",
textColor="#ffffff00",
layout_width=-1,
layout_weight=1,},
},
}
dlg=LuaDialog()
.setView(loadlayout(layout))
.show()
function cjzz(p,f)
path=this.getLuaExtDir("插件").."/"..p
os.execute("mkdir " .. path)
file=io.open(path.."/main.lua","w")
file:write(f)
file:close()
service.asyncSpeak("插件制作完成,请打开扩展插件查看。")
end
function wxxh()
if e1.text==""
print("请输入关键字")
else
dlg.hide()
ti=Ticker()
ti.Period=tonumber(e3.text)
ti.onTick=function()
local t,str={},e1.text or ""
for s in str:gmatch"[^\n]+"
table.insert(t,s)
end
if #t>0
service.click({t})
end
end
ti.start()
service.speak("开始")
end
end
function csxh()
if e2.text==""
print("请输入循环次数")
else
dlg.hide()
local t,str={},e1.text or ""
for s in str:gmatch"[^\n]+"
table.insert(t,s)
end
点击列表=t
按钮列表={}
function append(t1,t2)
for k,v in ipairs(t2) do
table.insert(t1,v)
end
end
for n=1,tonumber(e2.text) do
append(按钮列表,点击列表)
end
task(500,function()
if service.click({按钮列表}) then
return true
end
end)
end
end
function fzcsxhdm()
if e1.text=="" or e2.text==""
print("请输入关键字和次数")
else
dlg.hide()
local t,str={},e1.text or ""
for s in str:gmatch"[^\n]+"
table.insert(t,"\""..s.."\",")
end
cjzz("次数循环点击","点击列表={{{"..table.concat(t).."}}}\n按钮列表={}\nfunction append(t1,t2)\nfor k,v in ipairs(t2) do\ntable.insert(t1,v)\nend\nend\nfor n=1,"..tonumber(e2.text).." do\nappend(按钮列表,点击列表)\nend\nif service.click({按钮列表})\nreturn true\nend")
end
end
function fzwxxhdm()
if e1.text==""
print("请输入关键字")
else
dlg.hide()
local t,str={},e1.text or ""
for s in str:gmatch"[^\n]+"
table.insert(t,"\""..s.."\",")
end
cjzz("无限循环","require \"import\"\nimport \"com.androlua.Ticker\"\nif ti then\nti.stop()\n service.speak(\"停止\")\n ti=nil\n return true\nend\nti=Ticker()\nti.Period="..tonumber(e3.text).."\nti.onTick=function()\nservice.click({{"..table.concat(t).."}})\nend\nti.start()\nservice.speak(\"开始\")\nreturn true")
end
end
function jslxdj()
if e2.text==""
print("请输入点击次数")
else
dlg.hide()
node.getBoundsInScreen(p)
service.click({{"["..string.format("%.0f,%.0f",(p.left+(p.right-p.left)/2),(p.top+(p.bottom-p.top)/2))..","..e2.text..",".."10]"}})
end
end
function gjzlxdj()
if e1.text==""
print("请输入点击关键字")
else
dlg.hide()
task(500,function()
service.click({{"*"..e1.text.."*<"..e2.text.."$"..e3.text}})
end)
end
end
function zdylxdj()
if e2.text==""
print("请输入点击次数")
else
dlg.hide()
node.getBoundsInScreen(p)
service.click({{"["..string.format("%.0f,%.0f",(p.left+(p.right-p.left)/2),(p.top+(p.bottom-p.top)/2)).."]<"..e2.text.."$"..e3.text}})
end
end
function zddj()
if e1.text==""
print("请输入关键字")
else
dlg.hide()
local t,str={},e1.text or ""
for s in str:gmatch"[^\n]+"
table.insert(t,s)
end
task(500,function()
service.click({t})
end)
end
end
function fzzddjdm()
if e1.text==""
print("请输入关键字")
else
dlg.hide()
local t,str={},e1.text or ""
for s in str:gmatch"[^\n]+"
table.insert(t,"\""..s.."\",")
end
cjzz("自动点击","service.click({{"..table.concat(t).."}})\nreturn true")
end
end
function fzjslxdjdm()
if e2.text==""
print("请输入点击次数")
else
dlg.hide()
node.getBoundsInScreen(p)
cjzz("极速连续点击","require\"import\"\nimport \"android.graphics.Rect\"\nlocal p=Rect()\nnode.getBoundsInScreen(p)\nservice.click({{\"["..string.format("%.0f,%.0f",(p.left+(p.right-p.left)/2),(p.top+(p.bottom-p.top)/2))..","..e2.text..",".."10]\"}})\nreturn true")
end
end
function fzzdylxdjdm()
if e2.text==""
print("请输入次数")
else
dlg.hide()
node.getBoundsInScreen(p)
cjzz("自定义连续点击","require \"import\"\nimport \"android.graphics.Rect\"\nlocal p=Rect()\nnode.getBoundsInScreen(p)\nservice.click({{\"["..string.format("%.0f,%.0f",(p.left+(p.right-p.left)/2),(p.top+(p.bottom-p.top)/2)).."]<"..e2.text.."$"..e3.text.."\"}})\nreturn true")
end
end
function fzgjzlxdjdm()
if e1.text=="" or e2.text==""
print("请输入关键字和次数")
else
dlg.hide()
cjzz("关键字连续点击","service.click({{\"*"..e1.text.."*<"..e2.text.."$"..e3.text.."\"}})\nreturn true")
end
end




  来自解说社区客户端
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|解说社区

GMT+8, 2024-11-23 07:53 , Processed in 0.040500 second(s), 13 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表