分享

VBS在讲详细一点呀

 quasiceo 2013-11-21
按键精灵常用功能-详细解说[3]-控制动作按键精灵常用功能-详细解说[3]-控制动作


按键精灵常用功能-解说[版本5.0以上]
首先-启动按键精灵-看到主程序界面的“小灯泡”增加按钮了吗?点击它...
然后-这样就新建了一个脚本,并进入了脚本编辑器界面。(具体参见Qmacro基础资料http://www./cn/qmacro/

按键精灵常用功能-详细解说[3]-控制动作-6个功能
(1)抓点颜色并执行语句-通过判断屏幕x,y坐标的某点的颜色,是等于、不等于、还是近似某颜色,来执行后面的动作或控制...抓点颜色教程详见...
(2)循环语句-循环N次,其实这里除了可以用for,还可以用while语句。
(3)条件语句-如果某条件成立,执行某命令...除了简单的If...EndIf,还可以If...else...endif,或if...elseif...elseif...endif等形式。
(4)跳转和调用子程序-跳转用goto,可以跳转到rem标记过的地方,调用子程序用gosub,这里要说明一点是:rem标记和子程序名字一样的话,将也会goto到子程序处,而不仅仅是goto到rem的标记。
(5)标记和子程序-rem除了用来解释,最重要的作用就是做goto的标记;sub...return子程序的好处,就是不必在主程序写很多相同的代码,使用模块化的子程序,调用方便,结构清晰...不过,最好使用唯一的子程序名称,和rem的标记名称也要独立唯一,不然容易出错,还有就是同一个子程序未结束的时候再次调用,return的时候容易看错哦。
(6)脚本停止-很简单Endscript表示到此脚本运行完毕。

举例:大家可以找找论坛里的各种脚本,参见其中的这些功能,按下你设定的快捷键开始执行你的脚本...
rem while语句循环
VBS i=0
while i<=9
VBS i=i+1
endfor
VBSCALL CALL messagebox(i)

rem if语句循环
VBS j=0
if j<=10
j=j+1
goto if语句循环
else
VBSCALL CALL messagebox(j)
endif

rem 子程序
VBS k=0
gosub 跳出对话框k

rem 演示rem和sub同名
waitkey
VBS k=0
goto 跳出对话框k
VBS k=0
gosub 跳出对话框k
rem 跳出对话框k
VBS k=100
VBSCALL CALL messagebox(k)

rem 演示重复调用
VBS p=0
VBS pp=1
gosub 重复
VBSCALL CALL messagebox(p)
VBSCALL CALL messagebox(pp)
endscript

sub 跳出对话框k
VBS k=i+j
VBSCALL CALL messagebox(k)
return

Sub 重复
    If p=3
        Goto 返回
    Else
        VBSCall CALL messagebox("我是重复")
        VBS p=p+1
        Gosub 重复
        VBS pp=pp+1
    EndIf
    Rem 返回
    VBSCall CALL messagebox(pp)



0

主题

0

好友

170

积分

初中一年级

Rank: 3Rank: 3

鲜花
0 个
铜币
-3 个
银币
0 个
金币
0 个
积分
170
帖子
114
42
发表于 2006-6-15 16:34 |只看该作者
【功能特点】
所有操作取色完成,不会因升级而失效。
根据地理坐标自由行走,有一定的绕障碍功能。
巧妙运用三色分量,搜怪功能超强。
完全100%可以做到无人干预。

【挂机点功能】
任意地点挂机打怪(比自己级别小的怪物,不然你吃药受不了)
自动技能
无怪自动变换挂机点(所有挂机点自己编写进战斗配置文件)
卡机后随机移动位置
自动捡物
自动轻功
自动补血补蓝
自动回程(需要回程符,回程条件红少蓝少于10个或者血太低)

【回程后功能】
自动解开香木宝盒
自动找到对应的NPC
自动卖物品
石头自动存仓库(仓库满了我可管不了)
自动买够一定数量药品(包括红、蓝、符)
补给完毕后,自动行进到挂机地点(路线坐标自己编写进战斗配置文件)

【使用】
我是枪客,打怪可能和医生区别比较大,脚本也是按照枪客编写的。
游戏分辨率只支持1280*1024
进入游戏后不要变换角度
按F11开始后,初始化时间比较长,请耐心等待。
等待角色说“OK”后,按1即可开始自动操作。

以下只贴出按键精灵脚本,其它的都贴出来太太太长不方便.
其它VBS文件、图片文件以及战斗配置文件,诚心需要的请留下email,本人尽力打包邮送。不再这里发邮件了,去http://bbs./dispbb ... p;skin=0&Star=1看,有下载
本人热血江湖网通二区天下(?)一级别低低囊中空空的枪客,以卖垃圾石头(说老实话,我到现在都不知道啥样的是垃圾石头,我觉得自己级别低,也不可能打出好石头)才得以有经济能力调试挂机脚本,若有热心玩家捐赠本人100万200万热血币,哈哈,爽死了。

[General]
Description=热血江湖挂机升级
BeginHotkey=122
beginHotkeyMod=0
RunOnce=0
Enable=1
[Repeat]
Type=0
Number=1
[Comment]
Content=热血江湖.
【功能说明】.
自动吃红、补蓝、找怪打怪、回城补给。.
.
【使用说明】.
F1 攻击.
F2 技能.
F5 吃红.
F6 吃蓝.
F7 捡取.
F8 回城.
F9 轻功.
F10打坐.



0

主题

0

好友

170

积分

初中一年级

Rank: 3Rank: 3

鲜花
0 个
铜币
-3 个
银币
0 个
金币
0 个
积分
170
帖子
114
43
发表于 2006-6-15 16:34 |只看该作者
[Script]
//*********************************************************
//************************主  程  序***********************
//*********************************************************
//视图界面初始化
VBS Dim ActionFlag,lngOffsetX,lngOffsetY
Gosub DragChat
Gosub LookDownVBS lngOffsetX=0:lngOffsetY=0
//打怪变量定义
VBS Dim MonX,MonY,MonFound,x,y,mN
VBS Dim nNotFound,InCity
VBS Dim DotX(704),DotY(704),lngScanDots,strIniFile
VBS lngScanDots=703:strIniFile="Fight001.ini"
//获取扫描点
VBSCall GetDotFromTXT("ScanDot.ini")@<FindMon.vbs>
//喝血变量定义
VBS Dim zR,zB,zT,zY
VBS zR=0:zB=0:zT=0:zY=0
//图像判断变量定义
VBS Dim ChnChat,picRED,picBlue,picQG,picBag(36),BagN,BagX,BagY
//行走变量定义
VBS Dim TargetX,TargetY
VBS Dim lngCurX,lngCurY,lngDirectX,lngDirectY,ix,iy,nx,ny
VBS Dim lngDistanceX,lngDistanceY,lngPreX,lngPreY,blnWalk
//补给变量定义
VBS Dim lngCurNum,lngLen,lngI,lngChar
//变量初始化
VBS lngLen=0:lngI=0:lngCurNum=0:lngChar=0
VBS InCity=0:ActionFlag="FightOrSupply":ChnChat="B"
VBS MonX=0:MonY=0:mFound=0:nNotFound=0:mN=0
VBS x=0:y=0:lngCurX=0:lngCurY=0
VBS TargetX=0:TargetY=0
VBS picRed=0:picBlue=0:picQG=0
//读取设置血条位置
VBSCall ActionFlag=GetPixelColor(131, 4)
If ActionFlag="000000"
    VBS zY=5
Else
    VBS zY=6
EndIf
//取得当前位置
VBSCall GetCurXY(x,y)@<FindMon.vbs>
If InCity=1
    SayExpression "OK"
    KeyPress 13 1
Else
    SayExpression "OK"
    KeyPress 13 1
EndIf
//等待用户按1开始自动操作,这里借用一下mN变量
While mN<>49
    WaitKey mN
    Delay 200
EndWhile
Gosub JudgeAll
//挂机开始
Rem Begin
If InCity=0
    If MonFound>0
        MoveTo 639 1002
        VBSCall FindColor(MonX-5,MonY-5,MonX+5,MonY+5,"1028FF",x,y)
        If x>0 And y>0
            KeyPress 113 1
            VBS MonFound=(MonFound+1) Mod 3
        Else
            VBS MonFound=0
            KeyPress 118 1
        EndIf
    EndIf
    While MonFound=0 And nNotFound<=15
        VBSCall FindMonster(MonX,MonY,MonFound)@<FindMon.vbs>
        If MonFound=1
            LeftClick 1
            VBSCall FindColor(MonX-20,MonY-100,MonX+20,MonY+100,"1028FF",MonX,MonY)
            KeyPress 113 1
            If MonX>0 And MonY>0
                VBS nNotFound=0
            Else
                VBS nNotFound=nNotFound+1
                VBS MonFound=0
            EndIf
        Else
            VBS nNotFound=nNotFound+1
        EndIf
        If zR=1
            KeyPressH 116 1
        EndIf
    EndWhile
    Gosub JudgeAll
    If nNotFound>15
        VBSCall GetCurXY(lngCurX,lngCurY)@<FindMon.vbs>
        If InCity=0
            VBS nNotFound=0
            VBSCall GetNearDot(strIniFile)@<FindMon.vbs>
            Gosub WalkToXY
        EndIf
    EndIf
Else
    Gosub Back
EndIf
Goto Begin
EndScript



0

主题

0

好友

170

积分

初中一年级

Rank: 3Rank: 3

鲜花
0 个
铜币
-3 个
银币
0 个
金币
0 个
积分
170
帖子
114
44
发表于 2006-6-15 16:35 |只看该作者
//************************************************************
//*************判断血蓝、轻功、药品数子程序*******************
//************************************************************
Sub JudgeAll
    VBSCall Call GetCurAll()@<FindMon.vbs>
    If zR=1
        KeyPressH 116 1
        If zT=1
            KeyPressH 119 1
            Delay 5000
            VBSCall GetCurXY(x,y)@<FindMon.vbs>
        EndIf
    ElseIf zB=1
        KeyPressH 117 1
    EndIf
    If picRed=0
        KeyPress 119 1
        Delay 5000
        VBSCall GetCurXY(x,y)@<FindMon.vbs>
    EndIf
    If picBlue=0
        KeyPress 119 1
        Delay 5000
        VBSCall GetCurXY(x,y)@<FindMon.vbs>
    EndIf
    If picQG=0
        KeyPress 120 1
    EndIf
Return JudgeAll
//************************************************************
//*********************补血补蓝子程序*************************
//************************************************************
Sub JudgeHP
    VBSCall GetCurHP()@<FindMon.vbs>
    If zR=1
        KeyPressH 116 1
        If zT=1
            KeyPressH 119 1
        EndIf
    ElseIf zB=1
        KeyPressH 117 1
    EndIf
Return JudgeHP
//************************************************************
//******************定点坐标行走子程序************************
//************************************************************
Sub WalkToXY
    VBSCall GetCurXY(lngCurX,lngCurY)@<FindMon.vbs>
    VBS lngPreX=0:lngPreY=0
    VBSCall GetWalkSteps()@<FindMon.vbs>
    While blnWalk=1
        While blnWalk=1
            VBSCall GetNextClick()@<FindMon.vbs>
            MoveTo MonX MonY
            Delay 100
            LeftClick 1
        EndWhile
        VBSCall GetCurXY(lngCurX,lngCurY)@<FindMon.vbs>
        VBSCall GetWalkSteps()@<FindMon.vbs>
        Gosub JudgeAll
        Delay 100
    EndWhile
Return WalkToXY
//************************************************************
//*********************清理包裹中的盒子***********************
//************************************************************
Sub ClearBag
    MoveTo 270 1002
    Delay 100
    LeftClick 1
    Delay 100
    VBSCall GetAllOfBag()@<FindMon.vbs>
    VBS BagN=3:BagX=0:BagY=0
    While BagN<36
        VBS BagX=(BagN Mod 6)*33+1070
        VBS BagY=(BagN\6)*33+366
        MoveTo BagX BagY
        Delay 100
        If picBag(BagN)=1
            RightClick 1
            Delay 100
        EndIf
        VBS BagN=BagN+1
    EndWhile
    MoveTo 1257 184
    Delay 100
    LeftClick 1
    Delay 100
Return ClearBag
//************************************************************
//******************拖动聊天窗口子程序************************
//************************************************************
Sub DragChat
    //这里只是借用一下ActionFlag变量
    VBSCall ActionFlag=GetPixelColor(6,829)
    If ActionFlag="FFFFFF"
        VBSCall ActionFlag=GetPixelColor(6,828)
        If ActionFlag="FFFFFF"
            MoveTo 6 831
            Delay 100
            LeftDown 1
            Delay 100
            MoveR 0 120
            Delay 100
            LeftUp 1
        EndIf
    EndIf
    Delay 50
    VBSCall FindPic(1233,173,1273,191,"_Bag关闭.bmp",0.9,x,y)
    If x>0 And y>0
        KeyPress 27
    EndIf
Return DragChat
//************************************************************
//********************调整为俯视子程序************************
//************************************************************
Sub LookDown
    MoveTo 639 100
    Delay 100
    RightDown 1
    Delay 100
    MoveR 0 800
    Delay 100
    RightUp 1
    Delay 100
    MoveTo 639 511
    Delay 100
Return LookDown



0

主题

0

好友

170

积分

初中一年级

Rank: 3Rank: 3

鲜花
0 个
铜币
-3 个
银币
0 个
金币
0 个
积分
170
帖子
114
45
发表于 2006-6-15 16:35 |只看该作者
//************************************************************
//********************回城补给子程序**************************
//************************************************************
Sub Back
    //清理包裹的宝盒
    Gosub ClearBag
    //走到药店老板附近
    VBS TargetX=496
    VBS TargetY=2200
    Gosub WalkToXY
    VBS TargetX=822
    VBS TargetY=2200
    Gosub WalkToXY
    VBS TargetX=822
    VBS TargetY=2114
    Gosub WalkToXY
    //找到药店老板
    VBS mN=0:MonFound=0
    While MonFound=0
        VBS TargetX=822
        VBS TargetY=2114
        Gosub WalkToXY
        VBSCall FindNPC(MonX,MonY)@<FindMon.vbs>
        If MonX>0 and MonY>0
            LeftClick 1
            Delay 500
            VBSCall FindPic(605,290,665,320,"_NPC平十指.bmp",1,MonX,MonY)
            If MonX>0 and MonY>0
                MonFound=1
            EndIf
        EndIf
    EndWhile
    //点击买卖
    MonX=MonX+15
    MonY=MonY+294
    MoveTo MonX MonY
    Delay 100
    LeftClick 1
    Delay 500
    //卖东西,如果有卖出确认则点取消
    VBS BagN=3:BagX=0:BagY=0
    While BagN<36
        VBS BagX=(BagN Mod 6)*33+1070
        VBS BagY=(BagN\6)*33+366
        MoveTo BagX BagY
        Delay 100
        If picBag(BagN)=0
            LeftClick 1
            Delay 100
            MoveTo 655 595
            Delay 100
            LeftClick 1
            Delay 200
            VBSCall FindPic(645,170,690,195,"_NPC_取消.bmp",1,MonX,MonY)
            If MonX>0 And MonY>0
                MonX=MonX+18
                MonY=MonY+6
                MoveTo MonX MonY
                Delay 100
                LeftClick 1
                Delay 100
                picBag(BagN)=2
            EndIf
        EndIf
        VBS BagN=BagN+1
    EndWhile
    //买够药品---300红
    VBSCall lngCurNum=GetCurHpMpNum(0)@<FindMon.vbs>
    If lngCurNum<300 Then
        VBS lngCurNum=300-lngCurNum
        MoveTo 555 370
        Delay 100
        LeftClick 1
        Delay 100
        MoveTo 1070 370
        Delay 100
        LeftClick 1
        Delay 200
        VBS lngLen=Len(CStr(lngCurNum))
        VBS lngI=1
        While lngI<=lngLen
            VBS lngChar=Asc(Mid(CStr(lngCurNum),lngI,1))
            KeyPress lngChar 1
            Delay 50
            VBS lngI=lngI+1
        EndWhile
        Delay 100
        MoveTo 720 385
        Delay 100
        LeftClick 1
        Delay 100
    EndIf
    //买够药品---100蓝
    VBSCall lngCurNum=GetCurHpMpNum(1)@<FindMon.vbs>
    If lngCurNum<100 Then
        VBS lngCurNum=100-lngCurNum
        MoveTo 621 370
        Delay 100
        LeftClick 1
        Delay 100
        MoveTo 1103 370
        Delay 100
        LeftClick 1
        Delay 200
        VBS lngLen=Len(CStr(lngCurNum))
        VBS lngI=1
        While lngI<=lngLen
            VBS lngChar=Asc(Mid(CStr(lngCurNum),lngI,1))
            KeyPress lngChar 1
            Delay 50
            VBS lngI=lngI+1
        EndWhile
        Delay 100
        MoveTo 720 385
        Delay 100
        LeftClick 1
        Delay 100
    EndIf
    //买1个药品---符
    VBS lngCurNum=1
    MoveTo 654 370
    Delay 100
    LeftClick 1
    Delay 100
    MoveTo 1136 370
    Delay 100
    LeftClick 1
    Delay 200
    VBS lngChar=Asc(CStr(lngCurNum))
    KeyPress lngChar 1
    Delay 100
    MoveTo 720 385
    Delay 100
    LeftClick 1
    Delay 200
    //关闭对话框
    KeyPress 27 1
    Delay 100
    KeyPress 27 1
    Delay 100
    //走到仓库老板附近
    VBS TargetX=822
    VBS TargetY=2200
    Gosub WalkToXY
    VBS TargetX=496
    VBS TargetY=2200
    Gosub WalkToXY
    VBS TargetX=496
    VBS TargetY=2249
    Gosub WalkToXY
    //找到仓库老板伟大宝
    VBS mN=0:MonFound=0
    While MonFound=0
        VBS TargetX=496
        VBS TargetY=2249
        Gosub WalkToXY
        VBSCall FindNPC(MonX,MonY)@<FindMon.vbs>
        If MonX>0 and MonY>0
            LeftClick 1
            Delay 500
            VBSCall FindPic(605,290,665,320,"_NPC韦大宝.bmp",1,MonX,MonY)
            If MonX>0 and MonY>0
                MonFound=1
            EndIf
        EndIf
    EndWhile
    //点击存仓
    MonX=MonX+15
    MonY=MonY+294
    MoveTo MonX MonY
    Delay 100
    LeftClick 1
    Delay 500
    VBS BagN=3:BagX=0:BagY=0
    While BagN<36
        VBS BagX=(BagN Mod 6)*33+1070
        VBS BagY=(BagN\6)*33+366
        MoveTo BagX BagY
        Delay 100
        If picBag(BagN)=2
            LeftClick 1
            Delay 100
            MoveTo 655 595
            Delay 100
            LeftClick 1
            Delay 200
        EndIf
        VBS BagN=BagN+1
    EndWhile
    //关闭对话框
    KeyPress 27 1
    Delay 100
    KeyPress 27 1
    Delay 100
    //向指定地点出发打怪
    VBS Dim vfso, vfile, vfText, vfi
    VBS Set vfso = CreateObject("Scripting.FileSystemObject")
    VBS Set vfile = vfso.OpenTextFile(strIniFile, 1)
    VBS vfText="00000000"
    VBS vfText=vfile.ReadLine
    Delay 100
    VBS vfText=vfile.ReadLine
    Delay 100
    While vfText<>"[FightPlace]"
        VBS vfi=InStr(vfText, ",")
        VBS TargetX=CLng(Left(vfText, vfi - 1))
        VBS TargetY=CLng(Mid(vfText, vfi + 1))
        Gosub WalkToXY
        VBS vfText=vfile.ReadLine
        Delay 100
    EndWhile
    VBS vfile.Close
    VBS Set vfile = Nothing
    VBS Set vfso = Nothing
Return Back



0

主题

0

好友

170

积分

初中一年级

Rank: 3Rank: 3

鲜花
0 个
铜币
-3 个
银币
0 个
金币
0 个
积分
170
帖子
114
46
发表于 2006-6-19 14:07 |只看该作者
这是我和别人要的脚本,我用的还可以,如果你发现用不得的话,那么请联系我吧,。我在4区星情,江湖小林就是我了,这个脚本还不错哦,有要的同志快了/赶快去看看吧,祝你成功 //视图界面初始化VBS Dim ActionFlag,lngOffsetX,lngOffsetYGosub DragChatGosub LookDownVBS lngOffsetX=0:lngOffsetY=0//打怪变量定义VBS Dim MonX,MonY,MonFound,x,y,mNVBS Dim nNotFound,InCityVBS Dim DotX(704),DotY(704),lngScanDots,strIniFileVBS lngScanDots=703:strIniFile="Fight001.ini"//获取扫描点VBSCall GetDotFromTXT("ScanDot.ini")@<FindMon.vbs>//喝血变量定义VBS Dim zR,zB,zT,zYVBS zR=0:zB=0:zT=0:zY=0//图像判断变量定义VBS Dim ChnChat,picRED,picBlue,picQG,picBag(36),BagN,BagX,BagY//行走变量定义VBS Dim TargetX,TargetYVBS Dim lngCurX,lngCurY,lngDirectX,lngDirectY,ix,iy,nx,nyVBS Dim lngDistanceX,lngDistanceY,lngPreX,lngPreY,blnWalk//补给变量定义VBS Dim lngCurNum,lngLen,lngI,lngChar//变量初始化VBS lngLen=0:lngI=0:lngCurNum=0:lngChar=0VBS InCity=0:ActionFlag="FightOrSupply":ChnChat="B"VBS MonX=0:MonY=0:mFound=0:nNotFound=0:mN=0VBS x=0:y=0:lngCurX=0:lngCurY=0VBS TargetX=0:TargetY=0VBS picRed=0:picBlue=0:picQG=0//读取设置血条位置VBSCall ActionFlag=GetPixelColor(131, 4)If ActionFlag="000000" VBS zY=5Else VBS zY=6EndIf //取得当前位置VBSCall GetCurXY(x,y)@<FindMon.vbs>If InCity=1 SayExpression "OK" KeyPress 13 1Else SayExpression "OK" KeyPress 13 1EndIf //等待用户按1开始自动操作,这里借用一下mN变量While mN<>49 WaitKey mN Delay 200EndWhile Gosub JudgeAll//挂机开始Rem BeginIf InCity=0 If MonFound>0 MoveTo 639 1002 VBSCall FindColor(MonX-5,MonY-5,MonX+5,MonY+5,"1028FF",x,y) If x>0 And y>0 KeyPress 113 1 VBS MonFound=(MonFound+1) Mod 3 Else VBS MonFound=0 KeyPress 118 1 EndIf EndIf While MonFound=0 And nNotFound<=15 VBSCall FindMonster(MonX,MonY,MonFound)@<FindMon.vbs> If MonFound=1 LeftClick 1 VBSCall FindColor(MonX-20,MonY-100,MonX+20,MonY+100,"1028FF",MonX,MonY) KeyPress 113 1 If MonX>0 And MonY>0 VBS nNotFound=0 Else VBS nNotFound=nNotFound+1 VBS MonFound=0 EndIf Else VBS nNotFound=nNotFound+1 EndIf If zR=1 KeyPressH 116 1 EndIf EndWhile Gosub JudgeAll If nNotFound>15 VBSCall GetCurXY(lngCurX,lngCurY)@<FindMon.vbs> If InCity=0 VBS nNotFound=0 VBSCall GetNearDot(strIniFile)@<FindMon.vbs> Gosub WalkToXY EndIf EndIf Else Gosub BackEndIf Goto Begin



0

主题

0

好友

170

积分

初中一年级

Rank: 3Rank: 3

鲜花
0 个
铜币
-3 个
银币
0 个
金币
0 个
积分
170
帖子
114
48
发表于 2006-6-23 14:39 |只看该作者
这个脚本还不是很完善,在当前攻击的怪物没打死前会攻击身边的其它怪物,会引3-4个怪,也许是因为在技能回血的时候要在人物图片上单击一下鼠标造成重新寻怪一次造成的吧,如果换成其经职业也许会解决。所以要打比自己级别低4级的怪(也许不是,因为不回血的时候也引上 好几个怪打),好在大唐里面怪物低个4-5级也不掉经验。还有很多不完善的地方,不过总的来说可以自己找怪、打怪了!下面是代码:


Gosub 查蓝红
Delay 100
KeyDown 18 1
Delay 100
VBSCall Call FindPic(0,0,1024,768,"毒.bmp",0.7,X,Y)
If X>=0 and Y>=0
    X=X+35
    Y=Y+35
    VBSCall RCall SetCursorPos(X,Y)
    LeftClick 1
    Delay 500
    Gosub 打怪并判断_毒
Else
    VBSCall Call FindPic(0,0,1024,768,"阴.bmp",0.7,X,Y)
    If X>=0 and Y>=0
        X=X+35
        Y=Y+35
        VBSCall RCall SetCursorPos(X,Y)
        LeftClick 1
        Delay 500
        Gosub 打怪并判断_阴
    Else
        VBSCall Call FindPic(0,0,1024,768,"阳.bmp",0.7,X,Y)
        If X>=0 and Y>=0
            X=X+35
            Y=Y+35
            VBSCall RCall SetCursorPos(X,Y)
            LeftClick 1
            Delay 500
            Gosub 打怪并判断_阳
        Else
            VBSCall Call FindPic(830,44,997,137,"白.bmp",0.7,X,Y)
            If X>=0 and Y>=0
                X=(X-912)*5+512
                Y=(Y-110)*5+384
                VBSCall RCall SetCursorPos(X,Y)
                LeftClick 1
                Delay 1000
                KeyUp 18 1
            Else AX>30 and AY>=20
                VBSCall Call FindPic(810,24,1013,157,"旗.bmp",0.7,X,Y)
                If X>=0 and Y>=0
                    X=(X-912)*5+512
                    Y=(Y-110)*5+384
                    VBSCall RCall SetCursorPos(X,Y)
                    LeftClick 1
                    Delay 1000
                    KeyUp 18 1
                EndIf
            EndIf
        EndIf
    EndIf
EndIf
EndIf
VBSCall Call FindPic(810,24,1013,157,"旗.bmp",0.7,X,Y)
If X>=0 and Y>=0
    AX=X-912
    AY=Y-110
    If AX>45 or AY>35
        X=(X-912)*5+512
        Y=(Y-110)*5+384
        VBSCall RCall SetCursorPos(X,Y)
        LeftClick 1
        Delay 1000
    ElseIf AX<-45 or AY<-35
        X=(X-912)*5+512
        Y=(Y-110)*5+384
        VBSCall RCall SetCursorPos(X,Y)
        LeftClick 1
        Delay 1000
    EndIf
EndIf
Sub 查蓝红
    IfColor 166 46 2a2528 2
        Delay 100
        KeyPress 113 1
        Delay 100
    EndIf
    IfColor 116 31 2a2528 2
        VBSCall GetCursorPos(X,Y)
        KeyPress 114 1
        Delay 100
        MoveTo 35 35
        Delay 100
        LeftClick 1
        Delay 100
        VBSCall RCall SetCursorPos(X,Y)
        Delay 100
        LeftClick 1
    EndIf
Return 查蓝红
Sub 打怪并判断_毒
    n=1
    KeyUp 18 1
    While n
        VBSCall Call FindPic(0,0,1024,768,"毒.bmp",0.7,X,Y)
        If X>=0 and Y>=0
            X=X+35
            Y=Y+35
            VBSCall RCall SetCursorPos(X,Y)
            LeftDown 1
            Delay 100
            LeftUp 1
            Delay 100
            Gosub 查蓝红
        Else
            n=0
        EndIf
    EndWhile
Return 打怪并判断_毒
Sub 打怪并判断_阴
    n=1
    KeyUp 18 1
    While n
        VBSCall Call FindPic(0,0,1024,768,"阴.bmp",0.7,X,Y)
        If X>=0 and Y>=0
            X=X+35
            Y=Y+35
            VBSCall RCall SetCursorPos(X,Y)
            LeftDown 1
            Delay 100
            LeftUp 1
            Delay 100
            Gosub 查蓝红
        Else
            n=0
        EndIf
    EndWhile
Return 打怪并判断_毒
Sub 打怪并判断_阳
    n=1
    KeyUp 18 1
    While n
        VBSCall Call FindPic(0,0,1024,768,"阳.bmp",0.7,X,Y)
        If X>=0 and Y>=0
            X=X+35
            Y=Y+35
            VBSCall RCall SetCursorPos(X,Y)
            LeftDown 1
            Delay 100
            LeftUp 1
            Delay 100
            Gosub 查蓝红
        Else
            n=0
        EndIf
    EndWhile
Return 打怪并判断_毒

刚才忘了说明,使用的时候要在挂机的地方插一面红旗的,也就是围着这个红旗打怪。其它的我相信都能看明白吧。还有要把右上角的地图放大。还有提醒大家写脚本尽量少用GOTO语句

刚刚又给天煞的一个朋友修改了一个脚本,一并发上来(并未经过测试),这个应该是通用的脚本了吧。

Gosub 查蓝红
Delay 100
KeyDown 18 1
Delay 100
VBSCall Call FindPic(0,0,1024,768,"毒.bmp",0.7,X,Y)
If X>=0 and Y>=0
    X=X+35
    Y=Y+35
    VBSCall RCall SetCursorPos(X,Y)
    LeftDown 1
    Delay 100
    LeftUp 1
    Delay 500
    Gosub 打怪并判断_毒
Else
    VBSCall Call FindPic(0,0,1024,768,"阴.bmp",0.7,X,Y)
    If X>=0 and Y>=0
        X=X+35
        Y=Y+35
        VBSCall RCall SetCursorPos(X,Y)
        LeftDown 1
        Delay 100
        LeftUp 1
        Delay 500
        Gosub 打怪并判断_阴
    Else
        VBSCall Call FindPic(0,0,1024,768,"阳.bmp",0.7,X,Y)
        If X>=0 and Y>=0
            X=X+35
            Y=Y+35
            VBSCall RCall SetCursorPos(X,Y)
            LeftDown 1
            Delay 100
            LeftUp 1
            Delay 500
            Gosub 打怪并判断_阳
        Else
            VBSCall Call FindPic(830,44,997,137,"白.bmp",0.7,X,Y)
            If X>=0 and Y>=0
                X=(X-912)*5+512
                Y=(Y-110)*5+384
                VBSCall RCall SetCursorPos(X,Y)
                LeftClick 1
                Delay 1000
                KeyUp 18 1
            Else AX>30 and AY>=20
                VBSCall Call FindPic(810,24,1013,157,"旗.bmp",0.7,X,Y)
                If X>=0 and Y>=0
                    X=(X-912)*5+512
                    Y=(Y-110)*5+384
                    VBSCall RCall SetCursorPos(X,Y)
                    LeftClick 1
                    Delay 1000
                    KeyUp 18 1
                EndIf
            EndIf
        EndIf
    EndIf
EndIf
EndIf
VBSCall Call FindPic(810,24,1013,157,"旗.bmp",0.7,X,Y)
If X>=0 and Y>=0
    AX=X-912
    AY=Y-110
    If AX>45 or AY>35
        X=(X-912)*5+512
        Y=(Y-110)*5+384
        VBSCall RCall SetCursorPos(X,Y)
        LeftClick 1
        Delay 1000
    ElseIf AX<-45 or AY<-35
        X=(X-912)*5+512
        Y=(Y-110)*5+384
        VBSCall RCall SetCursorPos(X,Y)
        LeftClick 1
        Delay 1000
    EndIf
EndIf
Sub 查蓝红
    IfColor 166 46 2a2528 2
        Delay 100
        KeyPress 113 1
        Delay 100
    EndIf
    IfColor 164 31 211e21 2
        KeyPress 114 1
        Delay 100
    EndIf
Return 查蓝红
Sub 打怪并判断_毒
    n=1
    KeyUp 18 1
    While n
        VBSCall Call FindPic(0,0,1024,768,"毒.bmp",0.7,X,Y)
        If X>=0 and Y>=0
            X=X+35
            Y=Y+35
            VBSCall RCall SetCursorPos(X,Y)
            LeftDown 1
            Delay 100
            LeftUp 1
            Delay 100
            Gosub 查蓝红
        Else
            n=0
        EndIf
    EndWhile
Return 打怪并判断_毒
Sub 打怪并判断_阴
    n=1
    KeyUp 18 1
    While n
        VBSCall Call FindPic(0,0,1024,768,"阴.bmp",0.7,X,Y)
        If X>=0 and Y>=0
            X=X+35
            Y=Y+35
            VBSCall RCall SetCursorPos(X,Y)
            LeftDown 1
            Delay 100
            LeftUp 1
            Delay 100
            Gosub 查蓝红
        Else
            n=0
        EndIf
    EndWhile
Return 打怪并判断_毒
Sub 打怪并判断_阳
    n=1
    KeyUp 18 1
    While n
        VBSCall Call FindPic(0,0,1024,768,"阳.bmp",0.7,X,Y)
        If X>=0 and Y>=0
            X=X+35
            Y=Y+35
            VBSCall RCall SetCursorPos(X,Y)
            LeftDown 1
            Delay 100
            LeftUp 1
            Delay 100
            Gosub 查蓝红
        Else
            n=0
        EndIf
    EndWhile
Return 打怪并判断_毒



0

主题

0

好友

170

积分

初中一年级

Rank: 3Rank: 3

鲜花
0 个
铜币
-3 个
银币
0 个
金币
0 个
积分
170
帖子
114
49
发表于 2006-6-26 08:51 |只看该作者
F1=1(攻)
F2=2(防)
F3=5
F6=蓝


还有:


VBS addG=1:addF=1:add5=0

addG=1        加攻
addF=1        加防
add5=0        加5
1表示加,.0表示不加.

VBS pic="_rxjh_防.bmp"

这句.请自行制作图片!!
名字可以是:   "_rxjh_防.bmp"

也可以自己改!!



[
#这是按键精灵生成的脚本源文件
#在理解各条命令的基础上,您可以修改这个文件的内容
#您修改的结果将会在普通视图上有所反映

VBS Dim ColorGtext,ColorG,ColorFtext,ColorF,Color5text,Color5,pic,x,y
VBS Dim Play1,Play2,Play3,Play4,Play5,Play6,Play7,Play8,play
VBS Dim addG,addF,add5
//  攻   防   血  (0是不加...1是加)
VBS addG=1:addF=1:add5=0
//默认不结任何一个玩家加(包括自己)
VBS Play1=0lay2=0lay3=0lay4=0:Play5=0:Play6=0:Play7=0:Play8=0
//125 ..三点的位置 就是 F1  F2  F3
VBSCall ColorGtext=GetPixelColor(622,731)
VBSCall ColorFtext=GetPixelColor(661,735)
VBSCall Color5text=GetPixelColor(697,731)
//pic  请把你的图片放在这里
VBS pic="_rxjh_防.bmp"
//脚本开始提示用户
Gosub 清空文字输入栏
SayExpression "按1(左上角的1)为鼠标点击的玩家加125,其它键为不加"
MoveTo 169 27
WaitKey play
If play=49
    VBS Play1=1
EndIf
MoveTo 135 59
WaitKey play
If play=49
    VBS Play2=1
EndIf
MoveTo 138 88
WaitKey play
If play=49
    VBS Play3=1
EndIf
MoveTo 138 116
WaitKey play
If play=49
    VBS Play4=1
EndIf
MoveTo 134 137
WaitKey play
If play=49
    VBS Play5=1
EndIf
MoveTo 136 163
WaitKey play
If play=49
    VBS Play6=1
EndIf
MoveTo 137 200
WaitKey play
If play=49
    VBS Play7=1
EndIf
MoveTo 136 229
WaitKey play
If play=49
    VBS Play8=1
EndIf
Gosub 清空文字输入栏
SayExpression "工作ing..."
Rem 开始
//玩家 1-8 ( 1是自己)
If Play1=1
    MoveTo 169 27
    LeftClick 1
    Gosub +5
    Gosub +F
EndIf
If Play2=1
    IfColor 135 59 d6d7d6 0
        MoveTo 135 59
        LeftClick 1
        Gosub +5
        Gosub +F
        Gosub +G
    Else
    EndIf
EndIf
If Play3=1
    IfColor 137 88 dedbde 0
        MoveTo 137 88
        LeftClick 1
        Gosub +5
        Gosub +F
        Gosub +G
    Else
    EndIf
EndIf
If Play4=1
    IfColor 138 116 d6d7d6 0
        MoveTo 138 116
        LeftClick 1
        Gosub +5
        Gosub +F
        Gosub +G
    Else
    EndIf
EndIf
If Play5=1
    IfColor 134 137 dedbde 0
        MoveTo 134 137
        LeftClick 1
        Gosub +5
        Gosub +F
        Gosub +G
    Else
    EndIf
EndIf
If Play6=1
    IfColor 136 163 d6d7d6 0
        MoveTo 136 163
        LeftClick 1
        Gosub +5
        Gosub +F
        Gosub +G
    Else
    EndIf
EndIf
If Play7=1
    IfColor 137 200 dedbde 0
        MoveTo 137 200
        LeftClick 1
        Gosub +5
        Gosub +F
        Gosub +G
    Else
    EndIf
EndIf
If Play8=1
    IfColor 136 229 d6d7d6 0
        MoveTo 136 229
        LeftClick 1
        Gosub +5
        Gosub +F
        Gosub +G
    Else
    EndIf
EndIf
Gosub 清空文字输入栏
SayExpression "任务完成"
//找图片,有没继续,范围自己可以改!
VBSCall FindPic(800,500,1280,1024,pic,0.7,x,y)
While x>0 and y>0
    Delay 2000
EndWhile
Goto 开始
EndScript
Sub +G
    If addG=1
        Gosub 加蓝
        VBSCall ColorG=GetPixelColor(622,731)
        While StrComp(ColorG,ColorGtext)=0
            KeyPress 112 1
            Delay 500
            VBSCall ColorG=GetPixelColor(622,731)
        EndWhile
        Delay 1000
    EndIf
Return +G
Sub +F
    If addF=1
        Gosub 加蓝
        VBSCall ColorF=GetPixelColor(661,735)
        While StrComp(ColorF,ColorFtext)=0
            KeyPress 113 1
            Delay 500
            VBSCall ColorF=GetPixelColor(661,735)
        EndWhile
        Delay 1000
    EndIf
Return +F
Sub +5
    If add5=1
        Gosub 加蓝
        VBSCall Color5=GetPixelColor(697,731)
        While StrComp(Color5,Color5text)=0
            KeyPress 114 1
            Delay 500
            VBSCall Color5=GetPixelColor(697,731)
        EndWhile
        Delay 1000
    EndIf
Return +5
Sub 加蓝
    IfColor 39 18 ff8273 0
    Else
        KeyPress 117 1
    EndIf
Return 加蓝
Sub 清空文字输入栏
    KeyDown 18 1
    KeyPress 87 1
    KeyPress 78 1
    KeyUp 18 1
Return 清空文字输入栏



0

主题

0

好友

170

积分

初中一年级

Rank: 3Rank: 3

鲜花
0 个
铜币
-3 个
银币
0 个
金币
0 个
积分
170
帖子
114
50
发表于 2006-6-29 09:32 |只看该作者
VBS y=800
Rem bx
VBSCall Call ReadMemory(&H0DE577B0,2,xz)
Vbs xz=clng(xz)
If xz<y
    KeyPress 112 1
EndIf
Delay 500
goto bx



内存补血



0

主题

0

好友

18

积分

小学一年级

Rank: 2

鲜花
0 个
铜币
0 个
银币
0 个
金币
0 个
积分
18
帖子
15
51
发表于 2006-8-7 15:55 |只看该作者
tgh0000
写的教程对于我们这些外行人来说实在不是很容易懂!
借光....
懒了...
懒无止境...o_o



0

主题

0

好友

23

积分

小学一年级

Rank: 2

鲜花
0 个
铜币
0 个
银币
0 个
金币
0 个
积分
23
帖子
12
52
发表于 2006-9-6 00:13 |只看该作者

他的行为提示了什么!

刚看见前面2格内容的时候——我有个感觉,他在盗版。
     但是再看下去的时候,我心中的另外一种感觉却强烈起来了。他在把他认为对他有用的帖子都贴上来了——因为我也是这么做的。不同的地方在于,他把帖子贴在了网络上,而我则把帖子贴在我自己建的文件夹里。
我认为他的行为给我们一种提示!按键已经是个大的论坛了,平日里各类帖子海了去了——什么声音都有。各位大老们自己也把会员们分个高、中、低三个水准。贴多了,是好事,可就是没有人来为按键做帖子的整理工作。
      我还是个新手,以前看贴的时候还不会写脚本,现在学着写了个渐开线挖矿的脚本,在调试的时候。一个感觉--慢;再一个感觉--渐开线在离中心点远的时候幅度大了,漏点。我想起以前在看帖时候依稀记起有一篇回帖也提到了这个问题并且提出了解决的思路。可我回头来找这个贴的时候。。。。怎么也找不到了!
      我认为这位朋友的帖发表了一种他的情绪和意见——1、按键没有系统的程序帮助——哪怕是提供一个卖编程入门类书籍的帮助都没有——有的话,我希望能把书款汇给你们请你们代买;2、按键没有对帖子进行有效的处理——对精华帖光加个精华是不够的——还要拧干水分分门别类展示出来。
      我的话说在这位仁兄的后面,我估计是没什么人来看的。但是,话我还是要说的
————只是希望有大家的同感!

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多