[General]
SyntaxVersion=2
BeginHotkey=121
BeginHotkeyMod=0
PauseHotkey=0
PauseHotkeyMod=0
StopHotkey=123
StopHotkeyMod=0
RunOnce=1
EnableWindow=
MacroID=f16b1ccc-3e88-4089-bc53-b3326efca875
Description=按键精灵脚本界面演示<一键启动>
Enable=0
AutoRun=0
[Repeat]
Type=0
Number=1
[SetupUI]
Type=1
QUI=Form1
[Relative]
SetupOCXFile=
[Comment]

[Attachment]
[encoded data, 10600 characters]


[UIPackage]
[encoded data, 34996 characters]


[Script]
//<>--------------------------按键精灵脚本界面演示例子 - 流程结构-------------------------<>

MessageBox "测试，脚本启动运行中。。。"
EndScript  '演示例子不做脚本执行


//<>------------------------------ 初始设置内容 --------------------------<>
//初始设置
Dim 血键 
Select Case Form1.补血热键.ListIndex
Case 0
    血键 = 0
Case 1
    血键 = 112
Case 2
    血键 = 113
Case 3
    血键 = 114
Case 4
    血键 = 115
Case 5
    血键 = 116
Case 6
    血键 = 117
Case 7  
    血键 = 118  
Case 8
    血键 = 119
Case 9
    血键 = 120
End Select
//初始设置
Dim 蓝键 
Select Case Form1.补蓝热键.ListIndex
Case 0
    蓝键 = 0
Case 1
    蓝键 = 112
Case 2
    蓝键 = 113
Case 3
    蓝键 = 114
Case 4
    蓝键 = 115
Case 5
    蓝键 = 116
Case 6
    蓝键 = 117
Case 7  
    蓝键 = 118  
Case 8
    蓝键 = 119
Case 9
    蓝键 = 120
End Select
//初始设置
Dim 技能键  
Select Case Form1.技能加血热键.ListIndex
Case 0
    技能键 = 0
Case 1
    技能键 = 112
Case 2
    技能键 = 113
Case 3
    技能键 = 114
Case 4
    技能键 = 115
Case 5
    技能键 = 116
Case 6
    技能键 = 117
Case 7  
    技能键 = 118  
Case 8
    技能键 = 119
Case 9
    技能键 = 120
End Select

//<>--------------------------------------------------初始执行登录游戏--------------------------<>
Rem 登录
RunApp Form1.游戏路径.Text '打开游戏
//循环等待游戏是否开启？
Do
    Delay 1000 '等待1秒
    Hwnd = Plugin.Window.Find(0, "【游戏标题】请自行修改") '查找游戏句柄，或者用颜色判断也行。
    If Hwnd <> 0 Then  '判断游戏已经打开了。
        Exit Do  '离开循环等待
    End If 
Loop 

//输入游戏帐号
SayString Form1.游戏帐号.Text '输入帐号
Delay 1000  '等待1秒

//输入游戏密码
KeyPress "Tab", 1 '切换输入焦点
Delay 1000  '等待1秒
SayString Form1.游戏密码.Text '输入密码
Delay 1000  '等待1秒

//选择网络
Select Case Form1.网络.ListIndex
Case 0
    MoveTo 50, 50    '【网络坐标】请自行修改
Case 1
    MoveTo 50, 100   '【网络坐标】请自行修改
Case 2
    MoveTo 50, 150   '【网络坐标】请自行修改
End Select
Delay 1000  '等待1秒
LeftClick 1 '鼠标左键点击一次
Delay 1000  '等待1秒
//选择服务器
Select Case Form1.服务器.ListIndex
Case 0
    MoveTo 100, 50   '【服务器坐标】请自行修改
Case 1
    MoveTo 100, 100  '【服务器坐标】请自行修改 
End Select
Delay 1000  '等待1秒
LeftClick 1 '鼠标左键点击一次
Delay 1000  '等待1秒

//选择角色
Select Case Form1.角色.ListIndex
Case 0
    MoveTo 100, 100  '【角色坐标】请自行修改
Case 1
    MoveTo 200, 100  '【角色坐标】请自行修改
Case 2
    MoveTo 300, 100  '【角色坐标】请自行修改
End Select
Delay 1000  '等待1秒
LeftClick 1 '鼠标左键点击一次
Delay 1000  '等待1秒

//循环等待游戏登录到场景中
Do
    Delay 1000 '等待1秒
    IfColor 50,5,"0000FF",0 Then  '【坐标与颜色】需要自行修改。判断游戏已经进入场景了
        Exit Do  '离开循环等待
    End If 
Loop 

//初始防卡时间设置
Dim t1
t1=now

//<>--------------------------------------------------开始执行挂机脚本--------------------------<>
Rem 开始

Call 人物状态保护
Rem 找怪
KeyPress "Tab",1  '找怪热键
Delay 500
//在这里2个延时中间可以加入【捡物】处理
Delay 500
//判断是否找到怪物
IfColor 50,5,"0000FF",0 Then  '【坐标与颜色】需要自行修改
    //开始打怪    
    Do
        KeyPress "A", 1  '打怪攻击热键
        Delay 200
        Call 人物状态保护
        //<>------------------------------------------防卡设置--------------------------<>
        If DateDiff("s",t1,now) >= Form1.等待.Text Then
            t1=now
            Exit Do
        End If 
        Delay 200
    Loop
End If
//<>--------------------------------------------------复活方式设置--------------------------<>
If Form1.复活方式.ListIndex > 0 Then 
    IfColor 0,0,"0",0 Then  '【坐标与颜色】需要自行修改
        //执行复活方式
        If Form1.复活方式.ListIndex = 1 Then

        ElseIf Form1.复活方式.ListIndex = 2 Then 
        
        ElseIf Form1.复活方式.ListIndex = 3 Then 
        
        End If   
    End If
End If
//<>--------------------------------------------------死亡处理设置--------------------------<>
If Form1.死亡处理.ListIndex > 0 Then 
    IfColor 0,0,"0",0 Then  '【坐标与颜色】需要自行修改
        //执行报警
        If Form1.死亡处理.ListIndex = 1 Then
            Call Plugin.Media.Play(Form1.路径.Text)
            Delay 5000
            Goto 结束  '脚本停止
        ElseIf Form1.死亡处理.ListIndex = 2 Then 
        
        ElseIf Form1.死亡处理.ListIndex = 3 Then 
        
        End If 
    End If
End If
Delay 200


Goto 开始
Rem 结束

//<>------------------------------ 脚本子程序内容 --------------------------<>
EndScript
Sub OnScriptExit() '脚本停止事件
    Call Plugin.Media.Stop()
    MessageBox "测试结束，脚本停止！"
End Sub
Sub 人物状态保护()
    //<>--------------------------人物补血设置
    If 血键 > 0 Then
        IfColor 5+(10-5)*补血,5,"0000FF",0 Then   '【坐标与颜色】需要自行修改
            //补血热键
            KeyPress 血键, 1
            Delay 200
        End If
    End If
    //<>--------------------------人物补蓝设置
    If 蓝键 > 0 Then
        IfColor 5+(10-5)*补蓝,10,"FF0000",0 Then  '【坐标与颜色】需要自行修改
            //补蓝热键
            KeyPress 蓝键, 1
            Delay 200
        End If
    End If
    //<>--------------------------奶爸奶妈技能补血设置
    If 技能键 > 0 Then
        IfColor 5+(10-5)*补血,20,"0000FF",0 Then  '【坐标与颜色】需要自行修改
            //技能补血热键
            KeyPress 技能键, 1
            Delay 1000  '技能释放等待时间
        End If
    End If
End Sub




//<>------------------------------按键精灵脚本界面 - 简称：QUI --------------------------<>
//启动脚本运行
Event Form1.Button6.Click
    RestartScript  '重启脚本，用于从界面上点击按钮可以直接启动脚本运行。
End Event

//重设 第一步设置 恢复初始状态
Event Form1.Button2.Click
    Form1.游戏路径.Text="" '游戏路径
    Form1.游戏帐号.Text="" '游戏帐号
    Form1.游戏密码.Text="" '游戏密码
    Form1.网络.ListIndex = 0   '选择网络
    Form1.服务器.ListIndex = 0 '服务器
    Form1.角色.ListIndex = 0   '角色选择
End Event
//确定 第一步设置
Event Form1.Button1.Click
    Form1.Container1.Visible =False '设置界面
    Form1.Container2.Visible =True  '启动界面
    Form1.状态.Text = 1 '记录界面显示状态
End Event
//返回 第一步设置
Event Form1.Button4.Click
    Form1.Container1.Visible =True  '设置界面
    Form1.Container2.Visible =False '启动界面
    Form1.状态.Text = 0 '记录界面显示状态
End Event
//进入 更多设置
Event Form1.Button5.Click
    Form1.TabControl1.Tab = 1 '切换标签页
End Event
//返回 启动脚本 界面
Event Form1.Button7.Click
    Form1.TabControl1.Tab = 0 '切换标签页
    Form1.Container1.Visible =False '设置界面
    Form1.Container2.Visible =True  '启动界面
End Event

//读取 界面设置状态
Event Form1.LoadOver  '当窗体被加载完成以及ini配置内容都读取完毕后触发的事件
    Form1.TabControl1.Tab = 0 '切换标签页
    If Form1.状态.Text = 0 then
        Form1.Container1.Visible = true  '设置界面
        Form1.Container2.Visible = false '启动界面
    else
        Form1.Container1.Visible = false '设置界面
        Form1.Container2.Visible = true  '启动界面
    End if
End Event

//添加可执行程序文件路径
Event Form1.Button3.Click
    Dim filepath
    filepath = Plugin.File.SelectFile()  '打开文件选择对话框
    If UCase(Right(filepath,4)) = ".EXE" Then  '检查是不是选中 .exe 可执行文件
        Form1.游戏路径.Text = filepath
    Else
        If filepath <> "" Then 
            MsgBox "请选择“.exe”可执行程序文件！"
        End If
    End If
End Event

//服务器初始化选择
Event Form1.网络.SelectChange
    Select Case Form1.网络.ListIndex
    Case 0
        Form1.服务器.List = "桂林山水|鼓浪闻涛"  '【服务器名称】需要自行修改
    Case 1
        Form1.服务器.List = "云南大理|云南丽江"  '【服务器名称】需要自行修改
    Case 2
        Form1.服务器.List = "盘古开天|女娲造人"  '【服务器名称】需要自行修改
    End Select
End Event

//<>------------------------------ 更多设置内容 --------------------------<>
//控制死亡处理下拉选项
Event Form1.死亡处理.SelectChange
    Dim 索引  
    索引 = Form1.死亡处理.ListIndex
    Select Case 索引
    Case 1
        Form1.选择.Enabled = True
        Form1.路径.Enabled = True
        Form1.播放.Enabled = True  
        Form1.停止.Enabled = True      
    Case Else
        Form1.选择.Enabled = False
        Form1.路径.Enabled = False
        Form1.播放.Enabled = False
        Form1.停止.Enabled = False
    End Select
End Event
//选择MP3文件路径
Event Form1.选择.Click
    Dim MP3
    MP3 = Plugin.File.SelectFile()    '打开选择文件对话框
    If UCase(Right(MP3,4)) = ".MP3" Or UCase(Right(MP3,4)) = ".WAV"  Then  '检查是不是选中 .mp3 音乐文件
        Form1.路径.Text = MP3
    Else
        If MP3 <> "" Then 
            MsgBox "请选择“.mp3或者.wav”音乐格式的文件！"
        End If
    End If
End Event
//播放音乐测试
Event Form1.播放.Click
    Call Plugin.Media.Play(Form1.路径.Text)
End Event
//停止播放音乐
Event Form1.停止.Click
    Call Plugin.Media.Stop()
End Event
//停止播放音乐
Event Form1.UnLoad  '当窗体被关闭卸载后触发的事件  
    Call Plugin.Media.Stop()
End Event
//加载窗体时释放MP3文件
Event Form1.Load  '当窗体被加载时触发的事件   
    PutAttachment "C:\","*.wav"
End Event


