脚本制作教程:按键精灵加速游戏

发布时间:2015-03-25   来源:文档文库   
字号:

脚本制作教程:按键精灵加速游戏
来源:按键学院 【按键精灵】

植物大战僵尸这款游戏,想必大家都不陌生 讲述的是一场 植物与僵尸之间刻骨铭心的撕逼大战 是一款老少皆宜和善可爱的游戏……此处省略一万字…… 但是,问题来了
等僵尸的过程也慢得太销魂了吧? 画面一点动感刺激感都木有,还怎么玩?~ 和小编一样急性子的小伙伴们,一定忍受不住节奏如此缓慢的游戏, 怎么办呢?
凉拌炒鸡蛋!自己动手丰衣足食,咱们写个脚本让它快起来~
脚本界面效果图

今天的脚本例子是用按键精灵 仿写一个 《变速精灵》是咱们的大姐大工程师01制作的。界面十分骚气~~



1下拉列表框用于显示当前电脑上运行的程序的窗口标题 2刷新按钮用于重新获取当前电脑上运行的程序的窗口标题 3"滑块"用于调整速度,往左是减速,往右是加速。(大尺度调整)
4这两个蓝色的按钮,也是用于调整速度的,与滑块的区别在于:滑块可以一次性拉动很大的范围,而按钮是精确调整的,每一次点击增/减一个单位的速度。 5 恢复"按钮",用于将速度归零。
变速命令
变速命令是官方新插件里的 SysEx系统插件增强版 下的命令:Speed



命令名称 命令功能 命令参数
Speed 变速
为指定窗口的运行速度设置加速或减速(对网游无效) 参数1:窗口句柄 参数2:变速倍数

注意:速度的倍数,范围:-256~256,保留小数点后3位,可以实现1.0011.002倍速度。




获取窗口句柄

当我们点击刷新按钮的时候,则获取当前运行中的所有程序的窗口句柄,并且将窗口的标题名添加到下拉列表框中。




我们用 FindEx查找窗口句柄 命令遍历获取桌面下的第一级子窗口句柄桌面句柄:0 但是,我们看到,这些窗口中有许多窗口是我们看不见的,甚至都不知道它是做什么用的。 那我们就没有必要获取它了,只要获取到可见的程序窗口句柄即可。 在遍历获取窗口句柄的过程中,加一个判断,
利用 GetWindowState 获取窗口状态命令,判断当前窗口的状态,是否为可见的,如果是可见的窗口,则记录下该窗口的窗口句柄和窗口标题。





滑块拖动
为了让界面更加的赏心悦目,所以滑块实际上是一张图片并不是真正的滑块按钮 我们要实现,拖动滑块图片,往左右移动的时候,滑块图片会跟随着鼠标移动。 步骤:
1当我们点住滑块这张图片时,获取当前鼠标位置。 2启动计时器,计时器的时间间隔设置为50毫秒
3在计时器的Timer 事件里再次获取当前鼠标位置,对比两次获取鼠标位置之间横坐标的差值
4将滑块图片的横坐标 加上 两次鼠标位置之间的横坐标差值。 5检测鼠标左键是否弹起,如果弹起则将计时器的Enabled 属性 设置为

整体代码

//调试运行事件子程序

//Sub OnScriptLoad( // Form1.Show //End Sub
Form1.Show

EndScript



//《》-------------界面加载事件 Event Form1.Load 当前句柄 = 0 Call Form1.刷新.Click End Event
//《》-------------还原变速 Event Form1.恢复速度.Click Form1.恢复速度.Visible = False Form1.滑块.Left = 196 Form1.速度值.Caption = "0倍数" Call Plugin.SysEx.Speed(当前句柄, 0 Form1.Timer1.Enabled = False Form1.Timer1.Enabled = True End Event Event Form1.Timer1.Timer Form1.恢复速度.Visible = True Form1.Timer1.Enabled = False End Event
//《》-------------减速 Event Form1..Click Form1.滑块.Left = Form1.滑块.Left - 1 If Form1.滑块.Left <= 16 Then Form1.滑块.Left = 16 Form1.速度值.Caption = Form1.滑块.Left - 196 & "倍数" //设置指定窗口(Hwnd加速到100
Call Plugin.SysEx.Speed(当前句柄, Form1.滑块.Left - 196 End Event
//《》-------------加速 Event Form1..Click Form1.滑块.Left = Form1.滑块.Left + 1 If Form1.滑块.Left >= 296 Then Form1.滑块.Left = 296 Form1.速度值.Caption = Form1.滑块.Left - 196 & "倍数" //设置指定窗口(Hwnd加速到100
Call Plugin.SysEx.Speed(当前句柄, Form1.滑块.Left - 196 End Event
//《》-------------滑块变速 Event Form1.滑块.Click GetCursorPos qx, qy hx = Form1.滑块.Left Form1.Timer2.Enabled = False
Form1.Timer2.Enabled = True

End Event Event Form1.Timer2.Timer GetCursorPos x, y
dx = x - qx If hx + dx <= 16 Then Form1.滑块.Left = 16 ElseIf hx + dx >=296 Then Form1.滑块.Left = 296
Else Form1.滑块.Left = hx + dx
End If Form1.速度值.Caption = Form1.滑块.Left - 196 & "倍数" //设置指定窗口(Hwnd加速到100
Call Plugin.SysEx.Speed(当前句柄, Form1.滑块.Left - 196 mouse = GetLastClick(
If mouse = 32770 Then Form1.Timer2.Enabled = False End If End Event
//《》-------------刷新窗口标题 Event Form1.刷新.Click Call Form1.恢复速度.Click Form1.窗口标题.List = "0-|" s = "0-|" 当前句柄
= 0 Form1.Timer3.Enabled = False Form1.Timer3.Enabled = true End Event Event Form1.Timer3.Timer
Do Hwnd1 = Plugin.Window.FindEx(0, Hwnd1, 0, 0 If Hwnd1 = 0 Then
Form1.Timer3.Enabled = False Form1.窗口标题.List = s Form1.窗口标题.ListIndex=0 Exit Do
Else iState = Plugin.Window.GetWindowState(Hwnd1, 2
If iState = True Then sText = Plugin.Window.GetText(Hwnd1 If sText "" Then s = s & Hwnd1 & "-" & sText & "|" End If
End If

Loop End Event
//《》-------------选择窗口标题 Event Form1.窗口标题.SelectChange Call Form1.恢复速度.Click Dim 索引
索引 = Split(Form1.窗口标题.List,"|" 当前句柄 = split(索引(Form1.窗口标题.ListIndex, "-"(0 Call Plugin.SysEx.Speed(当前句柄, Form1.滑块.Left - 196 End Event
//《》-------------界面关闭后停止变速 Event Form1.UnLoad Call Form1.恢复速度.Click End Event
注意:变速命令,并不是说对所有的网游都无效的, 变速游戏会影响到游戏的这些地方: 1、过场景时的速度快慢 2、动作效果的快慢,比如:跳舞,花草舞动等 3、技能释放速度可能会提高
温馨提示:现在的网游都比较敏感,99%的网游对变速都有检测,所以不建议在没安全措施的防护下进行尝试。

本文来源:https://www.2haoxitong.net/k/doc/e98f3a7bde80d4d8d05a4f5d.html

《脚本制作教程:按键精灵加速游戏.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式