游戏后台脚本
‘壹’ 用按键精灵如何制作后台脚本
楼上P话多的要死。1 先看支持后台不, 支持才能后台, 不支持 你玩什么后台?倒.插还差不多。2 按键精灵里面有后台程序,你自己翻翻清楚。实在不行,你把你的前台发我,我来帮你翻成后台。满意采纳。翻成后台 要求追分。
‘贰’ 关于游戏后台脚本
其实很简单的
如果你想做自动打怪检取物品
先设置多少加血
加蓝攻击键之类的
先获取当前窗口句柄
然后REM**
GOSUB 加血
gosub打怪
GOSUB 检物品
GOTO REM **
然后你把人物站在一个怪比较多的点
然后就通过后台按键
QQ三国可以通过读取血条内存地址来判断是不是要加血 比如说低与30或50的
就通过按\后台按健 按F几就可以了
加蓝也可以
攻击其实也一样 多是这样
‘叁’ 求大神给做一个按键精灵的游戏自动喊话的后台脚本。现在的自动喊话,一切换窗口就在当前窗口生效了。
huoquchuangkou
jiange
nr = inputbox("请输入喊话内容")
Rem han
hanhua(kg)
Goto han
Sub jiange
Rem kgg
kg = InputBox("请输入喊话间隔")
kg2 = kg
If kg2 * 0 = 0 Then
Else
MessageBox "请输入数字,1000为1秒"
Goto kgg
End If
End Sub
Sub huoquchuangkou
Rem go
aa = 0
MsgBox("3秒内鼠标悬停到要喊话的游戏界面")
Delay 3000
Hwnd = Plugin.Window.MousePoint()
sval = MsgBox("鼠标放到游戏里了么?", 3, "获取游戏窗口")
If sval=7 Then
Goto go
ElseIf sval = 2 Then
MsgBox "取消成功"
EndScript
Else
End If
End Sub
Sub hanhua(a)
If aa = 1 Then
nr2 = nr & "!"
aa = 2
ElseIf aa = 2 Then
nr2 = nr & "!!"
aa = 0
Else
nr2 = nr
aa = 1
End If
Plugin.Bkgnd.KeyPress Hwnd, 13
Delay 200
SayString nr2
Delay 200
Plugin.Bkgnd.KeyPress Hwnd, 13
Delay a
End sub
‘肆’ 如何制作游戏后台脚本
在网上下视频学习..
‘伍’ 按键精灵后台脚本制作
1、游戏句柄
后台的意思就是当窗口被遮盖或移开的时候,仍能够正常的执行脚本动作,所以必须先找到该游戏的窗口句柄,这样可以保证我们编辑的脚本语句有正确的使用方向,获取窗口句柄的方法有很多,我一般使用以下的方法:
Dim hwnd
Plugin hwnd=Window.MousePoint()
Plugin是调用插件命令,凡是调用插件都需要使用这个命令,hwnd就是得到的句柄,Window是插件的名称MousePoint()返回鼠标所在的窗口的句柄
关于窗口这里需要多说几句,以网页游戏为例,鼠标放在标题栏上和放在游戏窗口所得到的句柄是不一样的,游戏窗口是IE的一个子窗口,因此在运行脚本前,将你的鼠标放在游戏窗口的区域内再运行脚本。
得到句柄费函数很多,有兴趣的自己去试试看,不过知道一个就足够了。
2、模拟动作
得到窗口句柄后,你就可以向这个窗口模拟需要的动作了,在这里要用到按键精灵7的插件(既然已经有7了以前的插件就不作介绍了),模拟动作的函数有如下几个
-模拟鼠标点击
Plugin Bkgnd.LeftClick(句柄,横坐标,纵坐标) //模拟鼠标左键点击
Plugin Bkgnd.RightClick(句柄,横坐标,纵坐标) //模拟鼠标右键点击
其中的句柄就是上面我们已经得到的句柄,这里的横坐标和纵坐标是针对游戏窗口,而不是针对屏幕的(看晕了吧^_^关于这一点足足困扰了我一个礼拜的时间才弄明白)。
屏幕坐标,是以屏幕左上角为基点(0,0),右下角的坐标是和屏幕分辨率有关的,而窗口坐标,不是在屏幕的左上角,例如word中的编辑窗口的0,0位置是在工具栏下面的,看不懂也没关系,你只要记住下面的方法就行了,首先在得到窗口句柄后加上如下的代码:
Plugin s = Window.GetClientRect(hwnd)
XYArray = Split(s, "|", -1, 1)
dx = XYArray(0)
dy = XYarray(1)
其次,在横坐标和纵坐标的后面都分别减去dx和dy就行了,为什么!!不用去管他,反正这样做不会错,举例说明
例如你抓点得到的横坐标是x,纵坐标是y,那么模拟鼠标左键点击的语句应该是这样的:
Plugin Bkgnd.LeftClick(句柄x-dx,y-dy)
-模拟键盘动作
Plugin Bkgnd.KeyPress(句柄,按键码) //模拟键盘动作
这里的按键码可以很容易的在按键精灵中查到,包括组合键
-输入字符串
Plugin Window.SendString(句柄,字符串)
这个函数在登陆和喊话时是非常有用的,其中的字符串可以是字符串变量
3、后台找色
后台脚本尽量少用找色语句,否则你的游戏将“卡巴死机”,即使少用也会出现很多的“马赛克”幸运的是不影响找色功能,即使游戏图像已经乱七八糟,既然是要后台操作,难看就难看吧^_^。
Plugin c1=BkgndColor.GetPixelColor(hwnd,631-dx,121-dy)
强烈建议用这个函数,至于什么区域找色,区域照图之类,如果你的电脑速度足够快再去尝试吧。
找色是有技巧的,一定要找到一个不同画面分别对应不同颜色的点,当然只有一个点是不可靠的。我的思路是,找到几个点的颜色值记录下来,再根据这几个点的不同组合来决定脚本的走向,采取这种方法后,我在游戏时已经基本可以看到大体的画面了。
附一个网页游戏《明朝时代》61级刷铁矿的简单例子(我就用的这个脚本:)):
Dim hwnd
Plugin hwnd=Window.MousePoint()
Plugin s = Window.GetClientRect(hwnd)
XYArray = Split(s, "|", -1, 1)
dx = XYArray(0)
dy = XYarray(1)
vx = 655-dx
vy = 336-dy
vx1 = 638-dx
vy1 = 305-dy
For 1000
Delay 156
Delay 16
Plugin Bkgnd.LeftClick(hwnd,vx,vy)
Delay 7000
Delay 500
Plugin Bkgnd.LeftClick(hwnd,vx1,vy1)
Delay 1000
EndFor
Rem
‘陆’ 什么是后台脚本
按键精灵主要作用就是模拟鼠标和键盘的动作,从而代替我们手动操作。
前台脚本,是在整个屏幕范围内进行操作,脚本开始后,你可以看到鼠标的移动。
而且脚本开始后,我们便不能去动鼠标和键盘了。
而后台脚本是通过,向游戏窗口发送命令,来模拟鼠标键盘的操作,所以脚本开始后,并不影响我们进行其他操作。
那么你就可以一边挂机一边干其他事情,胡不影响。不会因为挂机占了你整台电脑。
其次,使用后台脚本可以实现多个账号同时挂机,当然游戏得支持多开。
‘柒’ 游戏后台脚本问题
游戏窗口最小化是不能执行脚本的 只能被遮盖 就算是后台也不行
只能说改成后台模式的 窗口可以被遮盖住,也就是可以边用脚本边看电影
首先获取窗口句柄
然后用后台插件
后来想想 可能没有用 你用了获取鼠标特征码 在后台模式中是不能识别鼠标特征码的吧?
‘捌’ 怎么用按键精灵写个脚本.能让游戏进行简单的后台操作
录制的脚本想要后台操作需要大量工作量。
plugin
hwnd=window.getkeyfocuswnd()
首先需要这个语句找到当前游戏窗口句柄
plugin
window.sendkeypress(hwnd,??)
然后用这个语句执行后台键盘按键,鼠标左键按键的话是把sendkeypress(hwnd,??)
改成leftclick(hwnd,x,y)
键盘按键中的:??代表的意思是→键盘的按键码,输入相应的按键码才行
而鼠标按键中的x,y分别代表鼠标相对屏幕的x轴坐标和y轴的坐标以左上角为起点。也就是说和你学的数学的y轴参数负的变成了正的。其他同理
但你现在自己录制的脚本,也就是说在每个要按键的代码前面加上【plugin
window.】←这个语句就是执行后台命令。那你说你录制的脚本有多长?你要找出多少个按键命令?我想你应该是不会按键精灵才会用录制去搞的吧?所以问题的关键在于就算你愿意花功夫也还不知道您找不找的来。所以实话告诉你,要实现后台录制的可能几乎为0。如果你的确是需要后台按某几个键的话我可以帮你完成,太复杂的话我也没心情搞,这种没功劳的事情谁都不太想干。
‘玖’ 怎么让按键精灵脚本在游戏后台使用
1.打开按键精灵
2.点击
新建
3.点击
全部命令
4.点击
按键精灵插件命令
里面有后台控制
那些就是后台操作的
不过第一步要先点下面最后一排的windows窗口
先点击得到当前窗口句柄或者得到鼠标指向的窗口句柄
这样的话就是制定你要后台操作的窗口
就可以不影响你干其他的事了
具体的后台操作细节你就根据刚给你说的那个
后台控制里面去对照编程吧
希望你能看明白
不过我建议你去按键精灵的论坛逛逛吧
你会获益匪浅的
‘拾’ 如何让脚本在游戏窗口后台运行
按键精灵有一个专门最小化窗口的语句,用抓抓提取游戏窗口句柄(窗口的身份信息),按键精灵有一个专门最小化窗口的语句(窗口句柄),然后用后台执行语句
