• 新浪微博:
  • 微信 :
按键精灵电脑版
立即下载

软件版本:2014.06
软件大小:22.9M
更新时间:03-18

按键精灵安卓版
立即下载

软件版本:3.3.6
软件大小:62.5M
更新时间:01-16

按键精灵iOS版
立即下载

软件版本:1.6.0
软件大小:29.2M
更新时间:07-29

最新企业版UiBot
立即下载

软件版本:3.3
软件大小:282M
更新时间:08-06

快捷导航

登录 后使用快捷导航
没有帐号? 注册

登录 注册
发新话题 回复该主题

[已回复] 会员求助--多线程与按键精灵x [复制链接]

1#
我用按键精灵很久了,但是按键精灵x内测错过了。1、能给了下载链接按键精灵x吗,我多线程总是崩溃。

2、按键精灵,我用ini来存线程ID。用ini读取线程ID。启动线程后其中用一个变量的赋值来代表启动情况,并没有出现stop一个空的线程iD。取了一共6个线程。然后各自按图形检测来启动和停止线程,然后玄学崩溃。
核心代码如下:
以下一些赋值为空,是我读取游戏内存获取的,亦或者是写内存。
脚本能顺利运行,久了就蹦。
但是这应该 不影响崩溃。


Dimenv 挂机启动按钮状态,随身吸状态
//DimEnv 挂噩梦守卫线程ID, 噩梦守卫进入游戏并走动线程ID, 噩梦守卫买攻击和子弹线程ID, 检测游戏结束线程ID
//DimEnv 噩梦守卫自动打圈射击线程ID
DimEnv 通关次数
DimEnv 挂噩梦守卫状态,噩梦守卫进入游戏并走动状态,噩梦守卫买攻击和子弹状态,检测游戏结束状态,倒计时退出游戏状态,一直按R键状态,挂机随身吸状态,自动寻路状态


Sub 挂噩梦守卫 ‘这是启动主线程,当游戏结束返回主界面检测到图形就停止大部分移动鼠标的线程。

SetSimMode 2
//Call Plugin.WindowEx5_01.SetWindowStyle (dftq,0)
Call Plugin.Window.Top (dftq,0)
Call Plugin.Window.Move (dftq,0,0)

Call Plugin.Window.SetClientSize (dftq,1024,768)


If 检测游戏结束状态 = 1 Then
检测游戏结束线程ID =Plugin.File.ReadINI ("线程ID", "检测游戏结束线程ID","c:\dftq\Config.ini")
StopThread 随身吸线程ID
检测游戏结束状态=0
End If

If 检测游戏结束状态=0 Then
检测游戏结束线程ID = BeginThread(检测游戏结束)
Call Plugin.File.WriteINI("线程ID", "检测游戏结束线程ID", 检测游戏结束线程ID, "c:\dftq\Config.ini")
检测游戏结束状态=1
End If

If 倒计时退出游戏状态 = 1 Then
倒计时退出游戏线程ID =Plugin.File.ReadINI ("线程ID", "倒计时退出游戏线程ID","c:\dftq\Config.ini")
StopThread 倒计时退出游戏线程ID
倒计时退出游戏状态=0
End If


If 倒计时退出游戏状态=0 Then
倒计时退出游戏线程ID = BeginThread(倒计时退出游戏)
Call Plugin.File.WriteINI("线程ID", "倒计时退出游戏线程ID",倒计时退出游戏线程ID,"c:\dftq\Config.ini" )
倒计时退出游戏状态=1
End If

Do


Call Plugin.lxj_Plug.lxj_ReleaseMemory (-1)

Call FindPic (L + 940-10, T + 260-10, L + 970+10, T + 640+10,"c:\dftq\刷新按钮.bmp",0.7,intX,intY)
If intX > 0 and intY > 0 Then

If 噩梦守卫进入游戏并走动状态 = 1 Then
噩梦守卫进入游戏并走动线程ID =Plugin.File.ReadINI ("线程ID", "噩梦守卫进入游戏并走动线程ID","c:\dftq\Config.ini")
StopThread 噩梦守卫进入游戏并走动线程ID
噩梦守卫进入游戏并走动状态=0
End If


If 随身吸状态 = 1 Then
随身吸线程ID =Plugin.File.ReadINI ("线程ID", "随身吸线程ID","c:\dftq\Config.ini")
StopThread 随身吸线程ID
随身吸状态=0
End If

If 一直按R键状态 = 1 Then
一直按R键线程ID =Plugin.File.ReadINI ("线程ID", "一直按R键线程ID","c:\dftq\Config.ini")
StopThread 一直按R键线程ID
一直按R键状态=0
End If

If 噩梦守卫买攻击和子弹状态=1 Then
噩梦守卫买攻击和子弹线程ID = Plugin.File.ReadINI("线程ID", "噩梦守卫买攻击和子弹线程ID", "c:\dftq\Config.ini")
StopThread 噩梦守卫买攻击和子弹线程ID
噩梦守卫买攻击和子弹状态 = 0
End If


If 噩梦守卫进入游戏并走动状态=0 Then
噩梦守卫进入游戏并走动线程ID = BeginThread(噩梦守卫进入游戏并走动)
Call Plugin.File.WriteINI("线程ID", "噩梦守卫进入游戏并走动线程ID", 噩梦守卫进入游戏并走动线程ID, "c:\dftq\Config.ini")
噩梦守卫进入游戏并走动状态=1
End If

Delay 5000

End If

Loop

End Sub



Sub 噩梦守卫进入游戏并走动 '在游戏主界面开始点击游戏模式进入游戏,并启动其他操作玩家行为的线程

//噩梦守卫进入游戏并走动状态=1

MoveTo L + 960, T + 100//返回
LeftClick 1
Delay 300

MoveTo L +855,T + 195//英雄之路
LeftClick 1
Delay 300

MoveTo L +300, T + 160//长城裂变
LeftClick 1
Delay 300

MoveTo L +495, T + 225//噩梦模式
LeftClick 1
Delay 300

MoveTo L +695,T + 190//守卫
LeftClick 1
Delay 300

MoveTo L +495,T + 580//单人匹配
LeftClick 1
Delay 300

MoveTo L + 512, T + 480//进入按钮
Delay 500
LeftClick 1

Delay 8000

MoveTo L +513,T + 695
LeftClick 1
//确认武将按钮
Delay 7000


//KeyDown 65, 1
//
//Delay 6300
//
//KeyUp 65, 1


//Call Plugin.Bkgnd.KeyDown (dftq,65)'a走路
//Delay 7200
//Call Plugin.Bkgnd.KeyUp (dftq,65)




If 挂机随身吸状态=0 Then
随身吸线程ID = BeginThread(随身吸)
Call Plugin.File.WriteINI("线程ID", "随身吸线程ID",随身吸线程ID,"c:\dftq\Config.ini" )
挂机随身吸状态=1
End If


If 一直按R键状态=0 Then
一直按R键线程ID = BeginThread(一直按R键)
Call Plugin.File.WriteINI("线程ID", "一直按R键线程ID",一直按R键线程ID,"c:\dftq\Config.ini" )
一直按R键状态=1
End If



//If 倒计时退出游戏状态=0 Then
//倒计时退出游戏线程ID = BeginThread(倒计时退出游戏)
//Call Plugin.File.WriteINI("线程ID", "倒计时退出游戏线程ID",倒计时退出游戏线程ID,"c:\dftq\Config.ini" )
//倒计时退出游戏状态=1
//End If


Call Plugin.Bkgnd.KeyDown (dftq,4)'鼠标中键自动攻击
Delay 250
Call Plugin.Bkgnd.KeyUp (dftq,4)

//一直按R键线程ID=BeginThread (一直按R键)
//随身吸线程ID=BeginThread (随身吸)
//倒计时退出游戏线程ID=BeginThread (倒计时退出游戏)

Call 自动寻路


Delay 200

''



Call Plugin.Bkgnd.KeyDown (dftq,67)

Delay 200

Call Plugin.Bkgnd.KeyUp (dftq,67)

Delay 200

KeyDown 67,1''''''按c买攻击力
Delay 250
KeyUp 67,1

Call Plugin.Bkgnd.KeyDown (dftq,67)'按c买攻击力
Delay 250
Call Plugin.Bkgnd.KeyUp (dftq,67)


Delay 1000
MoveTo L +295, T +375//商店伤害强化
LeftClick 1
Delay 200
MoveTo L +295, T +375//商店伤害强化
LeftClick 1
Delay 200

MoveTo L +295, T +375//商店伤害强化
LeftClick 1
Delay 200

MoveTo L +295,T + 375//商店伤害强化
LeftClick 1
Delay 200

MoveTo L +295,T + 375//商店伤害强化
LeftClick 1
Delay 200

MoveTo L +295,T + 375//商店伤害强化
LeftClick 1
Delay 200

MoveTo L +818,T + 180//关闭商店
LeftClick 1

''
Delay 500



Call Plugin.Bkgnd.KeyDown (dftq,4)'鼠标中键自动攻击
Delay 250
Call Plugin.Bkgnd.KeyUp (dftq,4)



If 噩梦守卫买攻击和子弹状态=0 Then
噩梦守卫买攻击和子弹线程ID = BeginThread(噩梦守卫买攻击和子弹)
Call Plugin.File.WriteINI("线程ID", "噩梦守卫买攻击和子弹线程ID",噩梦守卫买攻击和子弹线程ID,"c:\dftq\Config.ini" )
噩梦守卫买攻击和子弹状态=1
End If


//噩梦守卫买攻击和子弹线程ID=BeginThread (噩梦守卫买攻击和子弹)



End Sub






Sub 噩梦守卫买攻击和子弹

a = 1'预设第一波
//噩梦守卫买攻击和子弹状态=1

Do

火炮或神弩总子弹数量 =
自己的死亡情况=

If 火炮或神弩总子弹数量 <= 40 and 火炮或神弩总子弹数量 <> "" and 自己的死亡情况 = 1 Then
//LeftClick 1
//StopThread (噩梦守卫自动打圈射击线程ID)
Delay 300



Call Plugin.Bkgnd.KeyDown (dftq,4)'鼠标中键自动攻击
Delay 250
Call Plugin.Bkgnd.KeyUp(dftq, 4)

Delay 3300

//KeyDown 67,1
//Delay 1500
//KeyUp 67, 1

Call Plugin.Bkgnd.KeyDown (dftq,67)'c
Delay 1500
Call Plugin.Bkgnd.KeyUp(dftq, 67)


Delay 1000

Call Plugin.Bkgnd.KeyDown (dftq,4)'鼠标中键自动攻击
Delay 250
Call Plugin.Bkgnd.KeyUp(dftq, 4)

//噩梦守卫自动打圈射击线程ID=BeginThread(噩梦守卫自动打圈射击)

End If




PvE波次 =
If a<>vE波次 and PvE波次<> "" and 自己的死亡情况 = 1 Then
a = PvE波次

//StopThread (噩梦守卫自动打圈射击线程ID)
Delay 300


Call Plugin.Bkgnd.KeyDown (dftq,4)'鼠标中键自动攻击
Delay 250
Call Plugin.Bkgnd.KeyUp(dftq, 4)


Delay 1000

//KeyDown 67,1''''''按c买攻击力
//Delay 350
//KeyUp 67, 1

Call Plugin.Bkgnd.KeyDown (dftq,67)'c
Delay 350
Call Plugin.Bkgnd.KeyUp (dftq,67)

Delay 1000
MoveTo L +295, T +375//商店伤害强化
LeftClick 1
Delay 200
MoveTo L +295, T +375//商店伤害强化
LeftClick 1
Delay 200

MoveTo L +295, T +375//商店伤害强化
LeftClick 1
Delay 200

MoveTo L +295,T + 375//商店伤害强化
LeftClick 1
Delay 200

MoveTo L +295,T + 375//商店伤害强化
LeftClick 1
Delay 200

MoveTo L +295,T + 375//商店伤害强化
LeftClick 1
Delay 200

MoveTo L +818,T + 180//关闭商店
LeftClick 1





Call Plugin.Bkgnd.KeyDown (dftq,4)'鼠标中键自动攻击
Delay 250
Call Plugin.Bkgnd.KeyUp (dftq,4)

Delay 200
//噩梦守卫自动打圈射击线程ID=BeginThread(噩梦守卫自动打圈射击)

End If


PvE波次 =
If PvE波次 >= 1 and PvE波次 < 12 and 自己的死亡情况 = 1 Then


MoveR 1, 0

Plugin.WindowEx5_01.SetWindowState dftq, 1 ’此为假激活游戏窗口句柄

Delay 25

End If



If PvE波次=12 and 自己的死亡情况 = 1 Then

Call Plugin.Bkgnd.KeyDown (dftq,86)'v
Delay 250
Call Plugin.Bkgnd.KeyUp (dftq,86)

End If




Loop



End Sub



Sub 检测游戏结束 ’检测游戏是否出现结束界面,然后返回主菜单

//SetSimMode 2

//检测游戏结束状态=1
Do


Delay 2000



Call FindPic (L + 715-10, T + 650-10, L + 860+10, T + 700+10,"c:\dftq\完成.bmp",0.7,intX,intY)
If intX > 0 and intY > 0 Then

MoveTo intX+10,intY+10
LeftClick 1

//StopThread (噩梦守卫自动打圈射击线程ID)
End If

Delay 200

Call FindPic (L + 460-10, T + 510-10, L + 565+10, T + 545+10,"c:\dftq\确定宝箱.bmp",0.7,intX,intY)
If intX > 0 and intY > 0 Then

MoveTo intX+10,intY+10
LeftClick 1
End If


Delay 200

Call FindPic (L + 850-10, T +20-10, L + 1010+10, T + 80+10,"c:\dftq\返回大厅.bmp",0.7,intX,intY)
If intX > 0 and intY > 0 Then

Call FindPic(L + 475-10, T + 55-10, L + 505+10, T + 85+10, "c:\dftq\胜利文字.bmp", 0.7, a, b)
If a > 0 and b > 0 Then
通关次数=通关次数+1
Form1.Label20.Caption=""&通关次数&"次"
End If

MoveTo intX+10, intY+10
LeftClick 1

End If

Delay 200

Call FindPic (L + 415-10, T + 455-10, L + 515+10, T + 500+10,"c:\dftq\是.bmp",0.7,intX,intY)
If intX > 0 and intY > 0 Then

MoveTo intX+10, intY+10
LeftClick 1
End If

Call FindPic (L + 440-10, T + 55-10, L + 565+10, T + 90+10,"c:\dftq\活动中心文字.bmp",0.7,intX,intY)
If intX > 0 and intY > 0 Then

MoveTo L +905, T +575
LeftClick 1
Delay 200

MoveTo L +962, T +72
LeftClick 1

End If

Loop

End Sub



Sub 倒计时退出游戏 ‘这是检测游戏是否卡死不出怪物的检测,卡怪就退出游戏,并停止一切关于鼠标操作的行为

//倒计时退出游戏状态=1


For i = 0 To 120

自己死亡状态 =

附近的总人数=

PvE玩家总人数=

敌人人数 = 附近的总人数 - PvE玩家总人数



If 敌人人数 > 0 Then

Form1.Label51.Caption = "怪物情况:有怪"

i=0

End If



If 敌人人数 <= 0 and 自己死亡状态<>0 Then

Form1.Label51.Caption = "怪物情况:没怪,倒计时开始"



End If



If 自己死亡状态=0 Then

Form1.Label51.Caption = "未进入游戏"

i=0

End If


Form1.Label52.Caption = "卡怪计时器:"&i&""
Delay 1000

Next


If 噩梦守卫进入游戏并走动状态 = 1 Then
噩梦守卫进入游戏并走动线程ID =Plugin.File.ReadINI ("线程ID", "噩梦守卫进入游戏并走动线程ID","c:\dftq\Config.ini")
StopThread 噩梦守卫进入游戏并走动线程ID
噩梦守卫进入游戏并走动状态=0
End If



If 随身吸状态 = 1 Then
随身吸线程ID =Plugin.File.ReadINI ("线程ID", "随身吸线程ID","c:\dftq\Config.ini")
StopThread 随身吸线程ID
随身吸状态=0
End If

If 一直按R键状态 = 1 Then
一直按R键线程ID =Plugin.File.ReadINI ("线程ID", "一直按R键线程ID","c:\dftq\Config.ini")
StopThread 一直按R键线程ID
一直按R键状态=0
End If


If 噩梦守卫买攻击和子弹状态=1 Then
噩梦守卫买攻击和子弹线程ID = Plugin.File.ReadINI("线程ID", "噩梦守卫买攻击和子弹线程ID", "c:\dftq\Config.ini")
StopThread 噩梦守卫买攻击和子弹线程ID
噩梦守卫买攻击和子弹状态 = 0
End If




Call Plugin.Bkgnd.KeyDown (dftq,27)'esc 退出游戏
Delay 250
Call Plugin.Bkgnd.KeyUp(dftq, 27)

Delay 1000

MoveTo 520+L,480+T

LeftClick 1


Form1.Label51.Caption = "倒计时结束,退出房间"
//MsgBox "1"


//StopThread 倒计时退出游戏线程ID


End Sub





Event Form1.Button4.Click ’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’启动主线程对应的按钮事件


挂机启动按钮状态 = 挂机启动按钮状态 * - 1

If 挂机启动按钮状态 = 1 Then


//随身吸状态 = 0
//噩梦守卫买攻击和子弹状态=0
//自动寻路状态 = 0
//倒计时退出游戏状态 = 0
//检测游戏结束状态 = 0
//一直按R键状态=0
//挂噩梦守卫状态 = 0

//If 挂噩梦守卫状态 = 1 Then
//挂噩梦守卫线程ID = Plugin.File.ReadINI("线程ID", "挂噩梦守卫线程ID", "c:\dftq\Config.ini")
//StopThread 挂噩梦守卫线程ID
//挂噩梦守卫状态=0
//End If

If 挂噩梦守卫状态 = 1 Then
挂噩梦守卫线程ID =Plugin.File.ReadINI ("线程ID", "挂噩梦守卫线程ID","c:\dftq\Config.ini")
StopThread 挂噩梦守卫线程ID
挂噩梦守卫状态=0
End If

If 挂噩梦守卫状态=0 Then
挂噩梦守卫线程ID = BeginThread(挂噩梦守卫)
Call Plugin.File.WriteINI("线程ID", "挂噩梦守卫线程ID",挂噩梦守卫线程ID, "c:\dftq\Config.ini")
挂噩梦守卫状态=1
End If


//挂噩梦守卫线程ID = BeginThread(挂噩梦守卫)

Form1.Button4.BackColor = "0000FF"
Form1.Button4.NormalColor = "0000FF"
Form1.Button4.OverColor = "0000FF"
Form1.Button4.DownColor = "0000FF"
Form1.Button4.Caption="停止挂机"
End If



If 挂机启动按钮状态 = - 1 Then

If 检测游戏结束状态 = 1 Then
检测游戏结束线程ID =Plugin.File.ReadINI ("线程ID", "检测游戏结束线程ID","c:\dftq\Config.ini")
StopThread 检测游戏结束线程ID
检测游戏结束状态=0
End If


If 噩梦守卫进入游戏并走动状态 = 1 Then
噩梦守卫进入游戏并走动线程ID =Plugin.File.ReadINI ("线程ID", "噩梦守卫进入游戏并走动线程ID","c:\dftq\Config.ini")
StopThread 噩梦守卫进入游戏并走动线程ID
噩梦守卫进入游戏并走动状态=0
End If


If 挂机随身吸状态 = 1 Then
随身吸线程ID =Plugin.File.ReadINI ("线程ID", "随身吸线程ID","c:\dftq\Config.ini")
StopThread 随身吸线程ID
挂机随身吸状态=0
End If

If 一直按R键状态 = 1 Then
一直按R键线程ID =Plugin.File.ReadINI ("线程ID", "一直按R键线程ID","c:\dftq\Config.ini")
StopThread 一直按R键线程ID
一直按R键状态=0
End If


If 噩梦守卫买攻击和子弹状态=1 Then
噩梦守卫买攻击和子弹线程ID = Plugin.File.ReadINI("线程ID", "噩梦守卫买攻击和子弹线程ID", "c:\dftq\Config.ini")
StopThread 噩梦守卫买攻击和子弹线程ID
噩梦守卫买攻击和子弹状态 = 0
End If

If 倒计时退出游戏状态 = 1 Then
倒计时退出游戏线程ID = Plugin.File.ReadINI("线程ID", "倒计时退出游戏线程ID", "c:\dftq\Config.ini")
StopThread 倒计时退出游戏线程ID
倒计时退出游戏状态=0
End If

If 挂噩梦守卫状态 = 1 Then
挂噩梦守卫线程ID = Plugin.File.ReadINI("线程ID", "挂噩梦守卫线程ID", "c:\dftq\Config.ini")
StopThread 挂噩梦守卫线程ID
挂噩梦守卫状态=0
End If


Form1.Button4.BackColor = "5EAB25"
Form1.Button4.NormalColor = "68B62F"
Form1.Button4.OverColor = "68BF34"
Form1.Button4.DownColor = "54A11B"

Form1.Button4.Caption = "启动"


End If
End Event




Sub 自动寻路 ‘这不是一个线程函数,在线程的某个时间段执行。确定自己的出生点然后计算目标点的方向进行移动



鼠标指向的窗口句柄 = Plugin.Window.MousePoint
TracePrint 鼠标指向的窗口句柄
dftqEx = Plugin.Window.SearchEx("_GE_WINDOW_","刀锋铁骑",1)
Mydftq = Split(dftqEx, "|")
If UBound(Mydftq)>=0 Then
i=0
For UBound(Mydftq)
'下面这句将字符串转换成数值
'Msgbox "第 "& i+1 & " 个窗口句柄为:"& Clng(MyArray(i))
If Clng(Mydftq(i)) = 鼠标指向的窗口句柄 Then
dftq = 鼠标指向的窗口句柄
TracePrint "指向鼠标句柄判断成功"
TracePrint dftq
Exit For
End If

TracePrint "第 "& i+1 & " 个窗口句柄为:"& Clng(Mydftq(i))
i = i + 1

Next
dftq = Plugin.Window.Find("_GE_WINDOW_", "刀锋铁骑")
End If


//自动寻路状态=1
Do

自身x坐标 =

自身y坐标 =



目标x坐标=CSng(170.6203613)

目标y坐标=CSng(337.9243164)

//目标z坐标=


If (目标x坐标-自身x坐标)>0 and (目标y坐标-自身y坐标)>0 Then
角度 = 2*3.1415926- Atn((Abs(目标y坐标 - 自身y坐标)) / (Abs(目标x坐标 - 自身x坐标)))

End If

If (目标x坐标-自身x坐标) >0 and (目标y坐标-自身y坐标)<0 Then
角度 = Atn((Abs(目标y坐标 - 自身y坐标)) / (Abs(目标x坐标 - 自身x坐标)))

End If

If (目标x坐标-自身x坐标) <0 and (目标y坐标-自身y坐标)<0 Then
角度 = 3.1415926 - Atn((Abs(目标y坐标 - 自身y坐标)) / (Abs(目标x坐标 - 自身x坐标)))

End If

If (目标x坐标-自身x坐标) <0 and (目标y坐标-自身y坐标)>0 Then
角度 = 3.1415926 + Atn((Abs(目标y坐标 - 自身y坐标)) / (Abs(目标x坐标 - 自身x坐标)))

End If


If (目标x坐标-自身x坐标)=0 and (目标y坐标-自身y坐标)>0 Then
角度=3.1415926*1.5
End If

If (目标x坐标-自身x坐标)=0 and (目标y坐标-自身y坐标)<0 Then
角度=3.1415926*0.5
End If

If (目标x坐标-自身x坐标)>0 and (目标y坐标-自身y坐标)=0 Then
角度=0
End If

If (目标x坐标-自身x坐标)<0 and (目标y坐标-自身y坐标)=0 Then
角度=3.1415926
End If



Delay 100
Call Plugin.Bkgnd.KeyDown(dftq, 87)'a走路

//Call Plugin.Bkgnd.KeyDown (dftq,87)'a走路
自身x坐标 =
自身y坐标 =
If Cint(自身x坐标) = Cint(目标x坐标) and Cint(自身y坐标) = Cint(目标y坐标) Then
Call Plugin.Bkgnd.KeyUp(dftq, 87)'a走路

Exit Do
End If

Loop



目标x坐标=CSng(165.5009613)

目标y坐标=CSng(348.0238647)

Do
If (目标x坐标-自身x坐标)>0 and (目标y坐标-自身y坐标)>0 Then
角度 = 2*3.1415926- Atn((Abs(目标y坐标 - 自身y坐标)) / (Abs(目标x坐标 - 自身x坐标)))

End If

If (目标x坐标-自身x坐标) >0 and (目标y坐标-自身y坐标)<0 Then
角度 = Atn((Abs(目标y坐标 - 自身y坐标)) / (Abs(目标x坐标 - 自身x坐标)))

End If

If (目标x坐标-自身x坐标) <0 and (目标y坐标-自身y坐标)<0 Then
角度 = 3.1415926 - Atn((Abs(目标y坐标 - 自身y坐标)) / (Abs(目标x坐标 - 自身x坐标)))

End If

If (目标x坐标-自身x坐标) <0 and (目标y坐标-自身y坐标)>0 Then
角度 = 3.1415926 + Atn((Abs(目标y坐标 - 自身y坐标)) / (Abs(目标x坐标 - 自身x坐标)))

End If


If (目标x坐标-自身x坐标)=0 and (目标y坐标-自身y坐标)>0 Then
角度=3.1415926*1.5
End If

If (目标x坐标-自身x坐标)=0 and (目标y坐标-自身y坐标)<0 Then
角度=3.1415926*0.5
End If

If (目标x坐标-自身x坐标)>0 and (目标y坐标-自身y坐标)=0 Then
角度=0
End If

If (目标x坐标-自身x坐标)<0 and (目标y坐标-自身y坐标)=0 Then
角度=3.1415926
End If



Delay 100
Call Plugin.Bkgnd.KeyDown(dftq, 87)'a走路

//Call Plugin.Bkgnd.KeyDown (dftq,87)'a走路
自身x坐标 =
自身y坐标 =
If Cint(自身x坐标) = Cint(目标x坐标) and Cint(自身y坐标) = Cint(目标y坐标) Then
Call Plugin.Bkgnd.KeyUp(dftq, 87)'a走路

Exit Sub
End If

Loop


Delay 200

''
'商店加攻击



Call Plugin.Bkgnd.KeyDown (dftq,67)

Delay 200

Call Plugin.Bkgnd.KeyUp (dftq,67)

Delay 200

KeyDown 67,1''''''按c买攻击力
Delay 250
KeyUp 67,1

Call Plugin.Bkgnd.KeyDown (dftq,67)'按c买攻击力
Delay 250
Call Plugin.Bkgnd.KeyUp (dftq,67)


Delay 1000
MoveTo L +295, T +375//商店伤害强化
LeftClick 1
Delay 200
MoveTo L +295, T +375//商店伤害强化
LeftClick 1
Delay 200

MoveTo L +295, T +375//商店伤害强化
LeftClick 1
Delay 200

MoveTo L +295,T + 375//商店伤害强化
LeftClick 1
Delay 200

MoveTo L +295,T + 375//商店伤害强化
LeftClick 1
Delay 200

MoveTo L +295,T + 375//商店伤害强化
LeftClick 1
Delay 200

MoveTo L +818,T + 180//关闭商店
LeftClick 1

''
Delay 500



Call Plugin.Bkgnd.KeyDown (dftq,4)'鼠标中键自动攻击
Delay 250
Call Plugin.Bkgnd.KeyUp (dftq,4)

//If 倒计时退出游戏状态=0 Then
//倒计时退出游戏线程ID = BeginThread(倒计时退出游戏)
//
//倒计时退出游戏状态=1
//End If

//If 噩梦守卫买攻击和子弹状态=0 Then
//噩梦守卫买攻击和子弹线程ID=BeginThread(噩梦守卫买攻击和子弹)
//End If



//If 倒计时退出游戏状态=2 Then
//ContinueThread 倒计时退出游戏线程ID
//倒计时退出游戏状态=1
//End If


//If 噩梦守卫买攻击和子弹状态=2 Then
//ContinueThread 噩梦守卫买攻击和子弹线程ID
//噩梦守卫买攻击和子弹状态=1
//End If

//自动寻路状态=0
End Sub

本主题由 超级版主 n15976906190 于 2020/7/29 14:54:35 执行 审核帖子 操作
2#

回复 1楼jay402427244的帖子

按键精灵X内测群:605815736
异常执行崩溃的错误汇总[补充:操作/判断等代码间加上延迟 避免高速循环引起崩溃]

最后编辑n15976906190 最后编辑于 2020-07-29 09:09:08
收徒索引 ←点击

个 人 Q Q 1 : 1 2 2 3 1 1 6 6 1 8[将满]
个 人 Q Q 2 : 6 1 7 0 9 5 5 4 3[可加]
3#

回复 2楼n15976906190的帖子

群号找不到啊,是qq群吧?

4#

回复 3楼jay402427244的帖子

注:你好 群号码内错 群主关闭了加入申请

收徒索引 ←点击

个 人 Q Q 1 : 1 2 2 3 1 1 6 6 1 8[将满]
个 人 Q Q 2 : 6 1 7 0 9 5 5 4 3[可加]
5#

回复 4楼n15976906190的帖子

我用了好几年按键精灵,能不能发个x看看啊。或者让我进群

6#
收徒索引 ←点击

个 人 Q Q 1 : 1 2 2 3 1 1 6 6 1 8[将满]
个 人 Q Q 2 : 6 1 7 0 9 5 5 4 3[可加]
发新话题 回复该主题