罗技鼠标压枪代码
本节重点代码:MoveMouseRelative(X, Y)
其中X、Y是表示直角坐标轴
当X等于0时,鼠标水平不移动,当X为正数则向右移动,为负数则向左移动
当Y等于0时,鼠标垂直不移动,当Y为正数则向下移动,为负数则向上移动
基于这个我们可以实现将弹道移动的方向调整过来
首先先在GHub里面创建一个新脚本如下:
function OnEvent(event, arg)
--OutputLogMessage("Event: "..event.." Arg: "..arg.."\n")
end
在此之前,我们先来学习一下判断语句 if 这是所有语言都是很重要的语句
它的形式是这样的:
if 条件语句 then
--正确条件下的执行语句
else
--非正确条件下的执行语句
end
条件语句为真,即true
将脚本加一点判断实现代码一部分展示
function OnEvent(event, arg)
if (event == "MOUSE_BUTTON_PRESSED" and arg == 1) then
MoveMouseRelative(0, 30)
end
end
if (event == "MOUSE_BUTTON_PRESSED" and arg == 1) then 是表示当鼠标左键被按压时发生的事情
基于这个操作,我们将这些代码重复执行几遍就能实现压枪操作,所以我们把代码写进循环里面
在此之前,我们先了解一下数组(一维数组)
数组是对象的有序排列,可以是包含行集合的一维数组,也可以是包含多行多列的多维数组。
在 Lua 中,数组是使用带有整数的索引表来实现的。 数组的大小不是固定的,它可以根据我们的要求增长,受内存限制。
举个例子:
a = {1, 2, 3, 4, 5}
OutputLogMessage(a[1])
接着再了解一下循环
i = 0
while i<5 do
OutputLogMessage(i)
i = i + 1
end
其中循环内容是这样的,第一次循环:
i=0,i=i+1,当前的 i=i+1=0+1=1
第二次:由于上面的原因,现在 i=1,i=i+1=1+1=2
......
一直到 i=5 ,这时 while i<5 do 中 i<5 的条件不成立就会结束此处代码
不知道为什么,注释太多运行不了,所以记得删注释
yq = 3 -- 这是压枪开关对应的侧键
down = {5, 5, 5, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3} --向下压枪 这里有20个数值
--想往下压幅度大一点一点就改大这里面的数值,或者在后面添加数值 改小反之
ZY = {-3, -3, -3, -3, -4, -4, -4, -4, -4, -4, 5, 5, 5, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3} --向左右压枪
yaqiang = false --压枪开关判断
function OnEvent(event, arg)
if event == "MOUSE_BUTTON_PRESSED" and arg == yq then
--上面判断语句是鼠标被按压且按压的键是yq,yq也就是3
yaqiang = not yaqiang --这里 false = not false 即变成true 当再次按下就再次变成 false 实现开关功能
end
if yaqiang then
i = 1 --从第一个数开始
z = 1
if event == "MOUSE_BUTTON_PRESSED" and arg == 1 then
Sleep(math.random(105, 115))
while (IsMouseButtonPressed(1)) do --当鼠标左键被按压时执行的循环
MoveMouseRelative(0, down[i]) --向下移动20个数值
i = i + 1 --执行完这个下压,当大于的时候将会是nil将不会再移动,当i大于20就会是nil
if i>20 then -- i>20 表示向下压完成了
MoveMouseRelative(ZY[z], 0)
z = z + 1
end
Sleep(math.random(25, 35)) --下压延时
end
end
end
end
想调整就改down和ZY里面的内容,增加数值或者改大改小里面的数值