TC官方合作论坛

 找回密码
 立即注册
查看: 7814|回复: 15

[问题] 绑定后窗口内鼠标问题

[复制链接]
发表于 2015-4-22 00:40:12 | 显示全部楼层 |阅读模式
本帖最后由 lytslyts 于 2015-4-22 12:45 编辑

新手,看视频学了几天,自己写了脚本,,现在问题来了,求大神帮忙看下,感激不尽
问题是这样的,测试的游戏是SF天堂,鼠标获取窗口句柄,
后台一切正常,
就是打不了怪,因为这个游戏要把鼠标放到怪物身上,让怪物的名字显示出来并且鼠标形状变化才能点击打到怪物.
开启脚本后把鼠标放在游戏窗口内就会正常显示怪物的名字,并且打击怪物.,就是游戏窗口不激活也可以.
可是如果把鼠标移开游戏窗口就不能打到怪物了,就算游戏窗口激活只要鼠标离开游戏窗口就点不到怪物,鼠标有点击,一直在怪物身边走来走去,这个游戏是靠点击移动的.
天使插件跟大漠插件都试过了,都是有点击但是怪物身上不显示名,只能点击在怪物身边.因为怪物的名字不显示出来,鼠标形状也不改变,插件里的免费模式都测试过了,全都一样
求解.
上图跟附件大神帮忙看下

功能 窗口绑定()
    变量 鼠标窗口句柄
    dm=com("dm.dmsoft")
    等待(50)
    鼠标窗口句柄=窗口获取鼠标所在句柄()
    等待(50)
    窗口设置位置(鼠标窗口句柄,-10,0)
    等待(50)
    绑定=dm.BindWindow(鼠标窗口句柄,"dx2","windows","windows",1)
    等待(3000)
    dm.EnableMouseSync(1,200)
      如果(绑定!=1)///不等与1就是失败
         调试输出("绑定失败"&绑定)
         标签设置文本("标签","窗口绑定失败,请进入游戏后按快捷键-绑定.")
         线程关闭(窗口绑定句柄)
      结束
    等待(50)
    标签设置文本("标签","窗口已绑定")
    等待(50)
结束

功能 挂机打怪()
    变量 i=0
    循环(真)
        变量 x=-1,y=-1
        dm.FindMultiColor(22,23,775,458,"b59a73","4|4|9c8252,-20|1|d66942,-20|2|ef825a,-20|3|7b4139,-19|1|c65131,-19|2|de694a,-19|3|634142",1.0,0,x,y)
/////上面是怪物的血条多点取色,第一点找的是血条的中间,找到后Y轴向下便宜2.5能打到,已经验证了,可以打到,但是鼠标不能离开窗口
        等待(50)
        如果(i>50)
            调试输出("找到怪,但超时")
            走位(x,y)
            i=0
        否则如果(x>0&&y>0)///找到怪就打
            变量 X=-1,Y=-1
            等待(50)
            dm.LockInput(2)
            dm.MoveTo(x,y+25)
            等待(100)
            dm.LeftDoubleClick()
            等待(500)
            dm.LockInput(0)
            dm.FindMultiColor(222,129,581,346,"b59a73","4|4|9c8252,-20|1|d66942,-20|2|ef825a,-20|3|7b4139,-19|1|c65131,-19|2|de694a,-19|3|634142",1.0,0,X,Y)
/////上面是怪物的血条多点取色,第一点找的是血条的中间,找到后Y轴向下便宜2.5能打到,已经验证了,可以打到,但是鼠标不能离开窗口
            如果(X>0&&Y>0)///找到怪就打
                dm.LockInput(2)
                dm.LeftDoubleClick()
                等待(500)
                dm.LockInput(0)
                i++
                等待(50)
                打怪()
            结束
        否则///找不到怪
            调试输出("大屏幕没找到怪,飞,或走")
            等待(50)
            没怪走位()
        结束
        等待(200)
    结束
结束

功能 打怪()
    变量 i=0
    循环(真)
        变量 x=-1,y=-1
        dm.FindMultiColor(222,129,581,346,"b59a73","4|4|9c8252,-20|1|d66942,-20|2|ef825a,-20|3|7b4139,-19|1|c65131,-19|2|de694a,-19|3|634142",1.0,0,x,y)
/////上面是怪物的血条多点取色,第一点找的是血条的中间,找到后Y轴向下便宜2.5能打到,已经验证了,可以打到,但是鼠标不能离开窗口
        等待(50)
        如果(i>200)
            调试输出("打怪超时")
            走位(x,y)
            跳出
        否则如果(x>0&&y>0)
            dm.EnableRealMouse(2,20,30)
            等待(50)
            i++
            等待(50)
            dm.LockInput(2)
            等待(50)
            dm.MoveTo(x,y+45)
            等待(50)
            dm.MoveTo(x,y+45)
            等待(50)
            dm.LeftClick()
            等待(100)
            dm.LeftDown()
            等待(100)
            dm.MoveTo(118,384)
            等待(100)
            dm.LeftUp()
            等待(100)
            dm.LockInput(0)
        否则
            跳出
        结束
        等待(200)
    结束
结束
另外说明一下,这个游戏他带有简单的喝水内挂,可以在内挂里面填入怪物的名字,按相对应的快捷键就能对怪物放技能,可是我是近战没有攻击技能,只能鼠标点击怪物
鼠标如果离开窗口就不能让鼠标发生变化,不管有没有激活窗口,难道只能前台了吗


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

 楼主| 发表于 2015-4-22 00:44:21 | 显示全部楼层
研究了好几天还是没头绪,求大家指点
回复 支持 反对

使用道具 举报

发表于 2015-4-22 07:02:03 | 显示全部楼层
绑定=dm.BindWindow(鼠标窗口句柄,"dx2","windows","windows",1)
换绑定模式 不要用windows"  用dx 模式试试
回复 支持 反对

使用道具 举报

发表于 2015-4-22 07:04:04 | 显示全部楼层
然后 用大漠的 获取鼠标特征码 来判断鼠标是否变成你想要的那鼠标样子
其实吧 我觉得没必要判断鼠标吧.你那游戏应该是鼠标指到怪物 怪物显示名字了 鼠标就会变化
直接判断怪物名字是否出现 然后出现了就点下鼠标不就行了
回复 支持 反对

使用道具 举报

发表于 2015-4-22 08:11:06 | 显示全部楼层
画圆,判断鼠标特征码,如果等于攻击的特征码,就点击
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-4-22 10:39:24 | 显示全部楼层
qw362534335 发表于 2015-4-22 07:02
绑定=dm.BindWindow(鼠标窗口句柄,"dx2","windows","windows",1)
换绑定模式 不要用windows"  用dx 模式试 ...

我试过了,DX不能绑定,DX2可以
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-4-22 10:40:19 | 显示全部楼层
qw362534335 发表于 2015-4-22 07:04
然后 用大漠的 获取鼠标特征码 来判断鼠标是否变成你想要的那鼠标样子
其实吧 我觉得没必要判断鼠标吧.你那 ...

是不需要判定特征码,但是鼠标离开窗口就不能打到怪了,名字不会出现
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-4-22 10:41:18 | 显示全部楼层
18667006365 发表于 2015-4-22 08:11
画圆,判断鼠标特征码,如果等于攻击的特征码,就点击

画圆试过了,如果鼠标离开窗口特征码抓到的是前台的,怪物不显示名字
回复 支持 反对

使用道具 举报

发表于 2015-4-22 11:25:55 | 显示全部楼层
先看了你的代码,感觉水平跟我不相上下啊,呵呵,
我觉得没必要大漠后台,反正所谓后台也不能最小化,没啥意义,还不如先把5.0弄通透,5.0也友图色文字功能,前台用下速度很快,
另外,提供一个思路,也可以不用特征码,先找色或者找图,怪物头上的红色血条,找到以后鼠标向下移动位置(这里也可以加入特征码来判断),双击或者单击,再放技能
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-4-22 12:40:01 | 显示全部楼层
本帖最后由 lytslyts 于 2015-4-22 12:42 编辑
爱上老公 发表于 2015-4-22 11:25
先看了你的代码,感觉水平跟我不相上下啊,呵呵,
我觉得没必要大漠后台,反正所谓后台也不能最小化,没啥 ...


我没用特征码,代码就是找色,找的怪物头上的血条,鼠标Y轴便宜+25能点到怪,有找到血条了,也偏移点击了,记住,有点击了,就是鼠标离开游戏窗口不显示出名字,不显示名字就只点击在怪物旁边点不到怪物,只能在它身边走动打不到
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18045623号)

GMT+8, 2024-6-17 06:11 , Processed in 0.047585 second(s), 24 queries .

Powered by 海安简单软件服务部

© 2008-2019 版权所有 保留所有权利

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