求游戏自动走路(绕开障碍)算法
求游戏自动走路(绕开障碍)算法,不能用call鼠标点击内存地址那种方法,
这个游戏不支持鼠标点到哪人走到哪
就是想弄一个边走路边打怪的算法,找怪打怪均已经实现了,现在需要一个走路的。
可以通过内存地址获得游戏的纵横(x,y)坐标,已实现
==============================================以下为我的实现。。
Plugin.dm.ReadInt这个是读取纵横坐标的内存地址B9CE3D8是xB9CE3DC是y
goto zg是走到一个地方就自动找怪打怪
Call wzp()就是调用往左跑的函数。。其他类似
zflg=1 就是往左跑,zflg=0往右跑
sflg=1 就是往上跑,sflg=0 就是往下跑
==============================
Sub runRush
If zflg = 1 Then
Rem jxwz
result1 = Plugin.dm.ReadInt(dbhwnd, "B9CE3D8", 1)
Call wzp()
result2 = Plugin.dm.ReadInt(dbhwnd,"B9CE3D8",1)
If result1 = result2 & sflg = 1 Then
result1 = Plugin.dm.ReadInt(dbhwnd,"B9CE3DC",1)
Call wsp()
result2 = Plugin.dm.ReadInt(dbhwnd, "B9CE3DC", 1)
else
If result1 = result2 Then
result1 = Plugin.dm.ReadInt(dbhwnd,"B9CE3DC",1)
Call wxp()
result2 = Plugin.dm.ReadInt(dbhwnd, "B9CE3DC", 1)
If result1 = result2 Then
zflg = 0
Goto zg
End If
Else
Goto zg
End If
End If
Else
Rem jxwy
result1 = Plugin.dm.ReadInt(dbhwnd, "B9CE3D8", 1)
Call wyp()
result2 = Plugin.dm.ReadInt(dbhwnd,"B9CE3D8",1)
If result1 = result2 & sflg = 1 Then
result1 = Plugin.dm.ReadInt(dbhwnd,"B9CE3DC",1)
Call wsp()
result2 = Plugin.dm.ReadInt(dbhwnd, "B9CE3DC", 1)
else
If result1 = result2 Then
result1 = Plugin.dm.ReadInt(dbhwnd,"B9CE3DC",1)
Call wxp()
result2 = Plugin.dm.ReadInt(dbhwnd, "B9CE3DC", 1)
If result1 = result2 Then
If result1 = result2 Then
zflg = 1
Goto zg
End If
Else
Goto zg
End If
End If
End If
End If
End Sub