DIY

果壳插件,跟大漠免费版插件是否存在冲突 ...

寻梦客[特训班学员(果壳门生)] [学号:H35] Rank: 12Rank: 12Rank: 12 果壳币: 220

发表于 2020-11-16 18:15:50 | 6 条回复 | 183 次浏览

测试了一下果壳插件在按键精灵PC2014版本上的使用,发现,一旦创建了DM对象,或者绑定了游戏窗口后,DM找的图片坐标,果売插件的梦移或梦击就不会后台移动了,需要鼠标点击到游戏窗口标题栏,处于激活状态梦移才会移动到图片坐标
发新帖
寻梦客[特训班学员(果壳门生)] [学号:H35] Rank: 12Rank: 12Rank: 12 果壳币: 220

发表于 2020-11-16 18:18:14

Call Lib.MH.×¢²á()
Call ¶Á¿Ø¼þ
Call »ñÍƼö´°±ú(½ÇÉ«1)
//´°±ú = Plugin.Window.Find("WSGAME", 0)
Call mia()
//Id1 = BeginThread(mia)
Sub mia()
    Set dm = createobject("dm.dmsoft")
    dm_ret = dm.SetWindowState(´°±ú,12)
    dm_ret = dm.BindWindow(´°±ú, "normal", "windows", "dx", 0)
    TracePrint dm_ret
    dm_ret = dm.SetPath("c:\test_game")
    Delay 600
    //    dm_ret = dm.SetWindowState(´°±ú,1)
    Delay 1000
//    Call Plugin.gk.kk_WindowFakeActivation (´°±ú)//¼Ù¼¤»î
    If ÕÒͼ("¸ÉÈÅ´°¿Ú") = true Then
        Call Plugin.gk.DreamMove(´°±ú, bmpx+5, bmpy+6)
    End If
End Sub
Function ÕÒͼ(bmp)
    Delay 388
    dm_ret = dm.FindPic(0,200,646,500,bmp&".bmp","000000",0.9,0,bmpx,bmpy)
    If bmpx >= 0 and bmpy >= 0 Then
        ÕÒͼ=true
        TracePrint "ÕÒµ½"&bmp&"£¬X£º"&bmpx&"£¬Y£º"&bmpy
    Else
        ÕÒͼ = false
        TracePrint "ûÕÒµ½Í¼Æ¬£º"&bmp
    End If
    Delay 168
End Function

回复 道具 举报

寻梦客[特训班学员(果壳门生)] [学号:H35] Rank: 12Rank: 12Rank: 12 果壳币: 220

发表于 2020-11-16 18:19:59

image.png

回复 道具 举报

寻梦客[特训班学员(果壳门生)] [学号:H35] Rank: 12Rank: 12Rank: 12 果壳币: 220

发表于 2020-11-16 18:30:28

图片找的是NPC对话框的叉叉
测试如下:
1,单独使用果壳插件,给定坐标梦移是可以移动,使用正常
2,单独使用DM也正常
3,用DM找图,得出坐标,果壳插件移动的话,后台没反应,要真实鼠标激活游戏窗口,才正常移动!
问:
大漠跟果壳并用,有啥方法解决这冲突!
又或者,PC按键精灵上,果壳跟哪个插件后台找图能完美配合

回复 道具 举报

果壳王子[果壳校长] [王子殿下] Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20 果壳热讲师 独家品牌学院 果壳热大导师 果壳学院创始人 果壳热教职工 果壳热平台站长 果壳学院校长/副校长 果壳学长 果壳热研究生 果壳币: 6517

发表于 7 天前

  1. Sub 注册大漠
  2.     need_ver = "3.1233"
  3.     // 插件需要用到atl系统库,有些XP精简系统会把atl.dll精简掉. 为了防止注册失败,这里手动注册一下atl.dll
  4.     Set ws = createobject("Wscript.Shell")
  5.     ws.run "regsvr32 atl.dll /s"
  6.     set ws=nothing
  7.     // 释放附件>>>>>>>>>>>>>>>>>>>
  8.     PutAttachment ".\Plugin", "RegDll.dll"
  9.     PutAttachment "c:\梦幻资源", "dm.dll"
  10.     PutAttachment "c:\梦幻资源", "宝宝logo.bmp"
  11.     Delay 100
  12.     Dim iPath_
  13.     iPath_ = Plugin.SysEx.GetDir(0)
  14.     If Plugin.RegDll.Reg("c:\梦幻资源\dm.dll")=1 Then
  15.         TracePrint "——大漠注册成功——"
  16.     End If
  17.     // 这里判断是否注册成功
  18.     set dm = createobject("dm.dmsoft")
  19.     ver = dm.Ver()
  20.     TracePrint "大漠版本号:"&ver
  21.     if ver <> need_ver then
  22.         // 先释放先前创建的dm
  23.         set dm = nothing
  24.         // 再尝试用regsvr32 来注册. 这里必须使用绝对路径。以免有别人把dm.dll释放在系统目录.造成版本错误.
  25.         Set ws = createobject("Wscript.Shell")
  26.         ws.run "regsvr32 c:\梦幻资源\dm.dll /s"
  27.         set ws=nothing
  28.         Delay 1500  
  29.         // 再判断插件是否注册成功
  30.         set dm = createobject("dm.dmsoft")
  31.         ver = dm.Ver()
  32.         if ver <> need_ver then
  33.             // 这时,已经确认插件注册失败了。 弹出一些调试信息,以供分析.
  34.             messagebox "插件版本错误,当前使用的版本是:"&ver&",插件所在目录是:"&dm.GetBasePath()
  35.             messagebox "请关闭程序,重新打开本程序再尝试"
  36.             ExitScript
  37.         end if
  38.     End If
  39.     dm.SetPath "c:\梦幻资源" //设置资源文件路径
  40. End Sub
  41. 注册大漠
  42. hwnd = dm.EnumWindow(0,"梦幻西游 ONLINE","WSGAME",1+2) //大漠查找梦幻窗口(通过标题和类名),返回窗口句柄
  43. Call dm.BindWindow(hwnd, "normal", "normal", "normal", 0) //大漠绑定梦幻窗口
  44. TracePrint "窗口句柄:"&hwnd
  45. If dm.FindPic(414,2,451,40, "宝宝logo.bmp", "000000", 0.9, 0, bmpx, bmpy) >= 0 Then //大漠找图,返回图片坐标
  46.     TracePrint "X坐标:"&bmpx &" Y坐标:"&bmpy
  47.     plugin.gk.DreamMove hwnd,bmpx,bmpy //果壳插件梦移,移向图片坐标
  48. End If
复制代码

梦幻找宝宝源码.zip (749.42 KB, 下载次数: 1)

回复 道具 举报

寻梦客[特训班学员(果壳门生)] [学号:H35] Rank: 12Rank: 12Rank: 12 果壳币: 220

发表于 6 天前

要的是后台呀,仔细研究了一下,是DM绑定的后台模式的问题,改成前台也是可以的

回复 道具 举报

果壳王子[果壳校长] [王子殿下] Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20 果壳热讲师 独家品牌学院 果壳热大导师 果壳学院创始人 果壳热教职工 果壳热平台站长 果壳学院校长/副校长 果壳学长 果壳热研究生 果壳币: 6517

发表于 6 天前

大漠后台没法找梦幻的图,要图色后台的意义不大,只需要键鼠后台即可:Call dm.BindWindow(hwnd, "normal", "normal", "windows", 0) //大漠绑定梦幻窗口,开通键盘后台模式,图色为前台模式。
开通大漠键鼠后台+果壳梦移插件的这种搭配模式,为师的脚本中一直有在使用,没见有任何异常之处。

键鼠绑定模式可以自由切换调试一下,分为windows模式、windows2模式、windows3模式、dx模式、dx2模式


BindWindow命令函数原型
long BindWindow(hwnd,display,mouse,keypad,mode)

实现功能:绑定指定的窗口,并指定这个窗口的屏幕颜色获取方式,鼠标仿真模式,键盘仿真模式,以及模式设定。


BindWindow命令键鼠参数说明:

mouse 字符串型: 鼠标仿真模式 取值有以下几种
"normal" : 正常模式,平常我们用的前台鼠标模式
"windows": Windows模式,采取模拟windows消息方式 同按键自带后台插件.
"windows2": Windows2 模式,采取模拟windows消息方式(锁定鼠标位置)  
"windows3": Windows3模式,采取模拟windows消息方式,可以支持有多个子窗口的窗口后台.
"dx": dx模式,采用模拟dx后台鼠标模式,这种方式会锁定鼠标输入.有些窗口在此模式下绑定时,需要先激活窗口再绑定(或者绑定以后激活),否则可能会出现绑定后鼠标无效的情况。

keypad 字符串型: 键盘仿真模式 取值有以下几种
"normal" : 正常模式,平常我们用的前台键盘模式
"windows": Windows模式,采取模拟windows消息方式 同按键的后台插件.
"dx": dx模式,采用模拟dx后台键盘模式。有些窗口在此模式下绑定时,需要先激活窗口再绑定(或者绑定以后激活)


备注:既然采用了果壳梦移插件,就意味着梦幻鼠标移动由果壳插件接管(梦移自带后台与纠正鼠标偏移的效果),因此不必开通大漠后台鼠标模式,只需开通大漠后台键盘模式即可,不会有任何冲突。

回复 道具 举报

发新帖

手机版

© 2020-2030 果壳热 All rights reserved.

Powered by GUOHOT XS8.8. Theme designed by GUOKEHOT.

top bottom