TC官方合作论坛

 找回密码
 立即注册
查看: 1160|回复: 2

[讨论] 怎么把按键精灵的脚本转换成tc

[复制链接]
发表于 2013-11-2 12:49:49 | 显示全部楼层 |阅读模式

马上加入TC

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
[General]
Description=打怪v0.6
BeginHotkey=81
BeginHotkeyMod=2
RunOnce=0
Enable=1
[Repeat]
Type=0
Number=1
[CallBack]
OnSetup=
[Comment]
Content=

[Script]
//大小地图比例
VBS scale=30
//小地图上的最大距离,可以保证人物与怪在一个屏幕
VBS r=7
//人怪相邻时的距离
VBS d=2
//纪录停步时间
VBS t=0
VBS tt=0
//表示移动方向上的偏移,左,下,右,上
VBS dim dirt(4,2)
VBS dirt(0,0)=-30
VBS dirt(0,1)=0
VBS dirt(1,0)=0
VBS dirt(1,1)=80
VBS dirt(2,0)=30
VBS dirt(2,1)=0
VBS dirt(3,0)=0
VBS dirt(3,1)=-30
VBS i=0
VBS dim dirt2(4,2)
VBS dirt2(0,0)=-100
VBS dirt2(0,1)=0
VBS dirt2(1,0)=0
VBS dirt2(1,1)=150
VBS dirt2(2,0)=100
VBS dirt2(2,1)=0
VBS dirt2(3,0)=0
VBS dirt2(3,1)=-100
VBS ii=0
//打怪时鼠标的偏移量,从站的位置开始,从左开始
VBS dim fight(8,2)
VBS fight(0,0)=-40
VBS fight(0,1)=-40
VBS fight(1,0)=-25
VBS fight(1,1)=25
VBS fight(2,0)=5
VBS fight(2,1)=19
VBS fight(3,0)=25
VBS fight(3,1)=25
VBS fight(4,0)=35
VBS fight(4,1)=-20
VBS fight(5,0)=30
VBS fight(5,1)=-30
VBS fight(6,0)=0
VBS fight(6,1)=-50
VBS fight(7,0)=-30
VBS fight(7,1)=-30
VBS iii=0
//定义一个随机数
VBS rand=5
//小地图上人物坐标,此坐标固定
VBS role_x0=739
VBS role_y0=59
//大地图上人物站立位置,此坐标固定,取两脚之间的一点
VBS stand_x=390
VBS stand_y=210
VBS role_x1=390
VBS role_y1=140
//小地图上表示怪物的一点颜色为#0000FF
//小地图位置:左上角680,0        左下角680,120        右下角800,120        右上角800,0
Rem 杀怪
//=====================寻找身边是否有怪==========================
VBSCall Call FindCenterColor(role_x0-d,role_y0-d,role_x0+d,role_y0+d,"0000FF",monster_x0,monster_y0)
//有怪
If monster_x0>=680 and monster_y0>=0
    //在身边直接打怪
    //八个打怪的方向,从左开始,逆时针打过来
    If role_x0>monster_x0 and role_y0-d<monster_y0 and role_y0+d>monster_y0
        iii=0
    EndIf
    If role_x0>monster_x0 and role_y0<monster_y0
        iii=1
    EndIf
    If role_x0-d<monster_x0 and role_x0+d>monster_x0 and role_y0<monster_y0
        iii=2
    EndIf
    If role_x0<monster_x0 and role_y0<monster_y0
        iii=3
    EndIf
    If role_x0<monster_x0 and role_y0-d<monster_y0 and role_y0+d>monster_y0
        iii=4
    EndIf
    If role_x0<monster_x0 and role_y0>monster_y0
        iii=5
    EndIf
    If role_x0-d<monster_x0 and role_x0+d>monster_x0 and role_y0>monster_y0
        iii=6
    EndIf
    If role_x0>monster_x0 and role_y0>monster_y0
        iii=7
    EndIf
    click_x=stand_x+fight(iii,0)
    click_y=stand_y+fight(iii,1)
    If iii=2
        click_x=stand_x
        click_y=stand_y
    EndIf
    MoveTo click_x click_y
    LeftClick 1
    Delay 500
    Goto 杀怪
EndIf
//========================寻找小地图上怪物坐标===========================
VBSCall Call GetCursorPos(x,y)
VBSCall new_color=GetPixelColor(x,y)
Rem 找怪
VBSCall Call FindCenterColor(680,0,800,120,"0000FF",monster_x0,monster_y0)
//有怪
If monster_x0>=680 and monster_y0>=0
    If monster_x0<role_x0 and monster_y0<=role_y0
        //朝怪方向移动,怪在左上侧
        click_x=stand_x-50
        click_y=stand_y-50
    EndIf
    If monster_x0<=role_x0 and monster_y0>role_y0
        //朝怪方向移动,怪在左下侧
        click_x=stand_x-50
        click_y=stand_y+50
    EndIf
    If monster_x0>=role_x0 and monster_y0<role_y0
        //朝怪方向移动,怪在右上侧
        click_x=stand_x+50
        click_y=stand_y-50
    EndIf
    If monster_x0>role_x0 and monster_y0>=role_y0
        //朝怪方向移动,怪在右下侧
        click_x=stand_x+50
        click_y=stand_y+50
    EndIf
    MoveTo click_x click_y
    LeftClick 1
    Delay 1000
    t=t+1
    //路径上有障碍,这样3秒之后还站在原地,随机变向
    If t>=3
        t=0
        VBSCall Call GetCursorPos(x,y)
        VBSCall new_color=GetPixelColor(x,y)
        If new_color=old_color
            VBSCall Call rnd=Rnd
            If rnd>=0 and rnd<0.25
                old_color=new_color
                click_x=stand_x-50
                click_y=stand_y-50
            EndIf
            If rnd>=0.25 and rnd<0.5
                old_color=new_color
                click_x=stand_x-50
                click_y=stand_y+50
            EndIf
            If rnd>=0.5 and rnd<0.75
                old_color=new_color
                click_x=stand_x+50
                click_y=stand_y-50
            EndIf
            If rnd>=0.75 and rnd<=1
                old_color=new_color
                click_x=stand_x+50
                click_y=stand_y+50
            EndIf
            MoveTo click_x click_y
            RightDown 1
            Delay 1000
            RightUp 1
        EndIf
        old_color=new_color
    EndIf
    //=====================没怪跑路===========================
Else
    click_x=stand_x+dirt2(ii,0)
    click_y=stand_y+dirt2(ii,1)
    MoveTo click_x click_y
    //LeftClick 1 走方式
    RightDown 1
    Delay 1000
    RightUp 1
    tt=tt+1
    //路上遇到障碍,随机变道
    If tt>=2
        tt=0
        VBSCall Call GetCursorPos(x,y)
        VBSCall new_color=GetPixelColor(x,y)
        If new_color=old_color
            ii=ii+1
            If ii>=4
                VBSCall Call rnd=Rnd
                If rnd>=0 and rnd<0.25
                    ii=0
                EndIf
                If rnd>=0.25 and rnd<0.5
                    ii=1
                EndIf
                If rnd>=0.5 and rnd<0.75
                    ii=2
                EndIf
                If rnd>=0.75 and rnd<=1
                    ii=3
                EndIf
            EndIf
        EndIf
        old_color=new_color
    EndIf
EndIf
//==================拾取金币=============================
Rem 拾金
VBSCall Call FindColor(stand_x-100,stand_y-100,stand_x+100,stand_y+100,"00FFFF",x,y)
If x>=0 and y>=0
    MoveTo x y
    LeftClick 1
    Delay 1000
    Goto 拾金
EndIf
Goto 杀怪
EndScript
回复

使用道具 举报

发表于 2013-11-3 15:50:38 | 显示全部楼层
帮顶,我也想知道
回复 支持 反对

使用道具 举报

发表于 2013-11-3 17:48:15 | 显示全部楼层
代码太长了,需要一行一行的转,挺麻烦挺慢
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18045623号)

GMT+8, 2024-9-23 16:00 , Processed in 0.031913 second(s), 22 queries .

Powered by 海安简单软件服务部

© 2008-2019 版权所有 保留所有权利

快速回复 返回顶部 返回列表