TC官方合作论坛

 找回密码
 立即注册
查看: 2479|回复: 7
打印 上一主题 下一主题

[问题] 鼠标漂移代码

[复制链接]
跳转到指定楼层
楼主
发表于 2012-4-1 13:34:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上加入TC

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

x
两段代码不知道这样改对不对,请高手帮忙看看。。。。。图片是一样的TC也提示找到图,就是不知道为什么在按键上完美运行,代码搬到TC上就达不到效果,TC的注释是对照按键的代码



Sub鼠标漂移(x, y)
    mx=x
    my=y
    If x>2 and x<320
        cjx=x+60
    ElseIf x<647 and x>=320
        cjx=x-60
    End If
    If y>21 and y<240
        cjy=y+60
    ElseIf y<502 and y>=240
        cjy=y-60
    End If
    dm.MoveTo x,y
    Rem xzcs
    Delay 100
    Call FindPic(0,0,640,480,"Attachment:\shu.bmp",0.7,sx,sy)
    If abs(sx-mx)<4 and abs(sy-my)<4
        Goto sbpyend
    Else
        Call FindPic(0,0,640,480,"Attachment:\shu.bmp",0.7,sx1,sy1)
        If sx1>=0 and sy1>=0
            x2=mx-sx1
            y2=my-sy1
            dm.MoveR x2,y2
        Else
dm.MoveTo cjx,cjy
        End If
    End If
    Goto xzcs
    Rem sbpyend
End Sub

//===================上面这段是按键精灵的MH鼠标漂移代码,=======下面是修改后的TC,不知道哪里出问题==========



功能 整型 鼠标飘移(整型 x,整型 y)
整型 mx,my,cjx,cjy,sx,sy,sx1,sy1,x2,y2,是否成功,i
    mx=x
    my=y
    如果 (mx>2) && (x<320)
        cjx=mx+60
    否则
    如果(x<647) && (x>=320)
        cjx=mx-60
       如果结束
       如果结束
    如果 (y>21) && (y<240)
        cjy=my+60
    否则
        如果(y<502) && (y>=240)
        cjy=my-60
     如果结束
     如果结束

炒饭tc.MoveTo (x,y)   

循环 (真)
//Rem xzcs
    辅助.等待(100)
    //Call FindPic(0,0,640,480,"rc:sh2.bmp",0.7,sx,sy)
     图像.找图(0,0,640,480,"rc:shu2.bmp",#102030,0.8,0,sx,sy)
如果 (数学.绝对值(sx-mx)<4) && (数学.绝对值(sy-my)<4)
       跳出//Goto sbpyend   
否则
//Call FindPic(0,0,640,480,"rc:shu.bmp",0.7,sx1,sy1)
        图像.找图(0,0,640,480,"rc:shu2.bmp",#102030,0.8,0,sx1,sy1)
        如果 (sx1>=0) && (sy1>=0)
            x2=mx-sx1
            y2=my-sy1
           炒饭tc.MoveR(x2,y2)
    跳出
炒饭tc.MoveTo(cjx,cjy)
        如果结束
如果结束
   跳出// Goto xzcs
循环结束 //Rem sbpyend

返回 0
功能结束



随便问一下有什么插件可以读梦幻西游鼠标坐标而游戏不会自动关闭?


回复

使用道具 举报

沙发
发表于 2012-4-1 20:01:38 | 只看该作者
兄弟你也在拿TC搞梦幻啊  我也在弄  但是找图老找不准  你是这么找的鼠标图的啊
回复 支持 反对

使用道具 举报

板凳
 楼主| 发表于 2012-4-2 11:10:50 | 只看该作者
回复 2楼ldongh的帖子

我又找到了段代码速度很快的,改得我头都爆了,把那些标记跳转改成循环给你改一下
改玩借我分享一下,还有就是获取前台鼠标坐标不知道怎么改,因为这段代码是前台的

Sub 鼠标移动(w,z)

    dim n,h,zx,zy,zzx,zzy
        htt=0
    n=1
    h=0
    zx=w
    zy=z
    If zx<50 or zx>540 Then
        If zx<50 Then
            zzx=zx+40
        End if
        If zx>540 Then
            zzx=zx-40
        End if
    Else
        zzx=zx
    End if
    If zy<50 or zy>400 Then
        If zy<50 Then
            zzy=zy+40
        End if
        If zy>400 Then
            zzy=zy-40
        End if
    Else
        zzy=zy
    End if
    MoveTo zzx, zzy
    Delay 100
    Rem py
    GetCursorPos x, y
    mz=0
    FindCenterColor x-110,y-110,x+110,y+110,"78F4F0",x1,y1
    If x1>0 and y1>0 Then
        a=zx-x1+20
        b=zy-y1+10
        Goto OK
            End if
            XY = Plugin.Color.FindMutiColor(x-110,y-110,x+110,y+110, "78A4B0", "-2|4|C0C8D8,-3|5|C0C8D8,-4|6|C0C8D8,-5|7|C0C4D0,-9|9|98C0C8", 1)
            sbwz = Split(XY, "|")
            x1 = Clng(sbwz(0))-18: y1 = Clng(sbwz(1))-9
                If x1>0 and y1>0 Then
                a=zx-x1
                    b=zy-y1
                Goto OK
                End if
                XY=Plugin.Color.FindMutiColor(x-110,y-110,x+110,y+110,"D0AC30","1|0|D0AC30,2|0|D0AC30,3|0|D0AC30,4|0|D0AC30,2|1|D0AC30,2|2|D0AC30,2|3|D0AC30,2|4|D0AC30,2|5|D0AC30,2|6|D0AC30,2|7|D0AC30,2|8|D0AC30,2|9|D0AC30,2|10|D0AC30,2|11|D0AC30,2|12|D0AC30,2|13|D0AC30,2|14|D0AC30,2|15|D0AC30,2|16|D0AC30,2|17|D0AC30,2|18|D0AC30,2|19|D0AC30,2|20|D0AC30,0|21|D0AC30,1|21|D0AC30,2|21|D0AC30,3|21|D0AC30,4|21|D0AC30",1)
                sbwz=Split(XY,"|")
                x1=Clng(sbwz(0))+2: y1=Clng(sbwz(1))+11
                                If x1>0 and y1>0 Then
                                a=zx-x1
                    b=zy-y1
                Goto OK
                    End if
            mz=1
            MoveTo zzx ,zzy
            Delay 150
            Rem OK
        If htt=10 Then
    Goto NO
            End if
    If h=6 Then
        MoveTo 300 ,300
        Delay 500
        htt=htt+1
        h=0
        Goto py
    End if
    If mz=1 Then
        h=h+1
        Goto py
    Else
        If Abs(a)>n or Abs(b)>n Then
            MoveR a,b
            Delay 100
            h=h+1
            Goto py
        End if
    End if
    Rem NO
End Sub
回复 支持 反对

使用道具 举报

地板
发表于 2012-7-26 17:46:44 | 只看该作者
好长好长
回复 支持 反对

使用道具 举报

5#
发表于 2012-10-1 22:35:05 | 只看该作者
我也在改鼠标漂移。我也没搞定。哎
回复 支持 反对

使用道具 举报

6#
发表于 2012-11-22 12:41:13 | 只看该作者
看不下去了、、解决漂移 不用几行代码

功能 逻辑型 移动1(int x,int y)
鼠标.移动(x,y)
重复(4)
逻辑型 找到
辅助.等待(80)
找到=图像.区域找色(10,10,640,500,#50F890,0,mx,my)
mx=mx-17
my=my-20
如果(!找到)
y=y-30
鼠标.移动(x,y)
否则
如果(math.abs(x-mx)<2&&math.abs(y-my)<2)
跳出
否则     
鼠标.相对移动(x-mx,y-my)
如果结束   
如果结束
重复结束
功能结束
回复 支持 反对

使用道具 举报

7#
发表于 2013-1-7 18:21:59 | 只看该作者
回复 6楼532972511的帖子

如果这段代码能用,我真服你了,高手啊!!!
回复 支持 反对

使用道具 举报

8#
发表于 2013-4-11 22:22:04 | 只看该作者
回复 7楼wudongdonghehe的帖子

小兵兵啊.......
回复 支持 反对

使用道具 举报

*滑动验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /2 下一条

关闭

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

GMT+8, 2025-10-5 14:08 , Processed in 0.140902 second(s), 24 queries .

Powered by 海安天坑软件科技有限公司

© 2001-2013 Comsenz Inc.

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