TC官方合作论坛

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

[已解决] 刚写的2d游戏脚本,有几个问题请教大神

[复制链接]
跳转到指定楼层
楼主
发表于 2012-10-20 18:39:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上加入TC

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

x
空间 诛仙
整型 线程句柄,线程句柄1,窗口句柄
功能 逻辑型 按钮0_点击()
//这里添加你要执行的代码
辅助.等待(1000)
窗口句柄=窗口.鼠标所在窗口句柄()
编辑框.设置文本("编辑框0",转换.整型转字符型(窗口句柄))
返回 真
功能结束
功能 逻辑型 加血()
    窗口.设置位置(窗口句柄,0,0)
    窗口.激活(窗口句柄)
    辅助.等待(1000)
逻辑型 是否找到
整型 返回的x坐标
整型 返回的y坐标
循环(真)
辅助.等待(100)
//下面是回血的代码
是否找到=图像.模糊找色(542,38,591,56,#0800D0,0.8,0,返回的x坐标,返回的y坐标)
如果(!是否找到)
      鼠标.移动(605,39)
      辅助.等待(1000)
      鼠标.右键单击(1)
      辅助.等待(1000)
否则
    跳出
如果结束
//下面是回蓝的代码
是否找到=图像.模糊找色(542,38,591,56,#C85800,0.8,0,返回的x坐标,返回的y坐标)
如果(!是否找到)
      鼠标.移动(605,51)
      辅助.等待(1000)
      鼠标.右键单击(1)
      辅助.等待(1000)
否则
    跳出
如果结束     
循环结束
返回 真
功能结束
//以下是自动移动跟打怪的代码
功能 逻辑型 开始打怪()
逻辑型 是否找到
整型 X坐标,Y坐标
//下面的这个“!是否找到”,意思是不需要补血补蓝的时候,鼠标移动找怪。方法可能很蠢,求大神指点。
循环(真)
      如果(!是否找到)
        鼠标.移动(100,120)
        辅助.等待(500)
        鼠标.左键单击(1)
        辅助.等待(3000)
        鼠标.移动(531,420)
        辅助.等待(500)
        鼠标.左键单击(1)
        辅助.等待(3000)
        否则
        跳出
     如果结束   
循环(真)
//判断是否遇到怪,如果遇到,ALT+Q跟ALT+A攻击
整型 x,y
逻辑型 是否遇怪=图像.区域找色(469,140,527,258,#008cc8,0,x,y)
如果(x>0)
         键盘.按下(164)
         辅助.等待(500)
         键盘.按键(81,1)
         辅助.等待(500)
         键盘.按下(164)
         辅助.等待(500)
         键盘.按键(65,1)
         辅助.等待(500)
否则
   跳出
如果结束
循环结束
循环结束
返回 真
功能结束
功能 逻辑型 开始_点击()
//这里添加你要执行的代码,这里是你点击开始按钮执行的代码
线程句柄=线程.开启("诛仙.开始打怪","")
线程句柄1=线程.开启("诛仙.加血","")
返回 真
//函数返回语句
功能结束
功能 逻辑型 退出_点击()
//这里是你退出的时候要执行的代码,这类是你点击退出按钮执行的代码
线程.关闭(线程句柄)
线程.关闭(线程句柄1)
辅助.退出()
返回 真
功能结束
空间结束
有三个问题:1,遇怪后,进入战斗界面,鼠标还是会移动,按照自动移动找怪的路线移动,怎么样才能避免这种情况。

                     2,区域找色,貌似有点反应迟钝,有没有比较好的方法。找图,我试过,不管用。模糊找色,容易出错。
                     3,那段绿色的代码,是找怪的代码,本人是个新手,只想出这样的蠢方法,求大神指点。

回复

使用道具 举报

沙发
发表于 2012-10-20 19:09:46 | 只看该作者
功能 逻辑型 开始打怪()
逻辑型 是否找到

是否找到为局部变量

在这里 你没有找
所以 会一直进如果(!是否找到)的那个循环的
回复 支持 反对

使用道具 举报

板凳
 楼主| 发表于 2012-10-20 21:10:28 | 只看该作者
回复 2楼shine宝宝的帖子

大神,能说的再详细一点吗?我脑子笨,一时之间弄不明白。我少写代码了,还是次序颠倒了?
回复 支持 反对

使用道具 举报

地板
发表于 2012-10-20 21:52:27 | 只看该作者
少写了 。。。你检测血的那个功能  里面的  是否找到   和在打怪那个功能里的那个 是否找到  不一样的
回复 支持 反对

使用道具 举报

5#
发表于 2012-10-20 22:08:07 | 只看该作者
前台啊
回复 支持 反对

使用道具 举报

6#
 楼主| 发表于 2012-10-21 09:56:59 | 只看该作者
回复 4楼shine宝宝的帖子

我把打怪功能里面的是否找到,改成别的名字,是不是就可以了,比如“是否找到图片”,是吧?
回复 支持 反对

使用道具 举报

7#
发表于 2012-10-21 10:03:51 | 只看该作者
你没找。。改什么也不行啊
回复 支持 反对

使用道具 举报

8#
 楼主| 发表于 2012-10-21 10:15:57 | 只看该作者
回复 7楼shine宝宝的帖子

空间 诛仙
整型 线程句柄,线程句柄1,窗口句柄
功能 逻辑型 按钮0_点击()
//这里添加你要执行的代码
辅助.等待(1000)
窗口句柄=窗口.鼠标所在窗口句柄()
编辑框.设置文本("编辑框0",转换.整型转字符型(窗口句柄))
    窗口.设置位置(窗口句柄,0,0)
    窗口.激活(窗口句柄)
    辅助.等待(1000)
返回 真
功能结束
//遇到怪开始打怪,如果遇不到怪,鼠标开始移动找怪。
功能 逻辑型 开始打怪()
整型 x,y
整型 X,Y
循环(真)
逻辑型 是否找到
逻辑型 是否遇怪=图像.区域找色(469,140,527,258,#008cc8,0,x,y)
循环(真)
    如果(是否遇怪)
         键盘.按下(164)
         辅助.等待(500)
         键盘.按键(81,1)
         辅助.等待(500)
         键盘.按下(164)
         辅助.等待(500)
         键盘.按键(65,1)
         辅助.等待(500)
    否则
        鼠标.移动(100,120)
        辅助.等待(500)
        鼠标.左键单击(1)
        辅助.等待(3000)
        鼠标.移动(531,420)
        辅助.等待(500)
        鼠标.左键单击(1)
        辅助.等待(3000)        
        鼠标.移动(100,120)
        辅助.等待(500)
        鼠标.左键单击(1)
        辅助.等待(3000)
        鼠标.移动(531,420)
        鼠标.左键单击(1)
        辅助.等待(500)
    如果结束
辅助.等待(200)
//判断是否找到颜色,
//判断血量是否有那么多,如果没有,执行加血操作。
是否找到=图像.区域找色(542,38,591,56,#0800D0,0,X,Y)
如果(!是否找到)
      鼠标.移动(605,39)
      辅助.等待(1000)
      鼠标.右键单击(1)
      辅助.等待(1000)
如果结束
//判断人物的蓝是否有那么多,如果没有,执行加蓝操作。
是否找到=图像.区域找色(542,38,591,56,#C85800,0,X,Y)
如果(!是否找到)
      鼠标.移动(605,51)
      辅助.等待(1000)
      鼠标.右键单击(1)
      辅助.等待(1000)
如果结束     
循环结束
循环结束
返回 真
功能结束

功能 逻辑型 开始_点击()
//这里添加你要执行的代码,这里是你点击开始按钮执行的代码
线程句柄=线程.开启("诛仙.开始打怪","")
返回 真
//函数返回语句
功能结束

功能 逻辑型 退出_点击()
//这里是你退出的时候要执行的代码,这类是你点击退出按钮执行的代码
线程.关闭(线程句柄)
线程.关闭(线程句柄1)
辅助.退出()
返回 真
功能结束

功能 逻辑型 热键0_热键()
//这里添加你要执行的代码
线程.关闭(线程句柄)
辅助.等待(1000)
线程.关闭(线程句柄1)
辅助.退出()
返回 真
功能结束

空间结束
//(我这是看到别人的代码以后,刚刚改的,有许多不对的地方,望大神多多指点)
回复 支持 反对

使用道具 举报

9#
发表于 2012-10-21 10:22:21 | 只看该作者
还是错了吧 是否遇怪只找了一次就在里面那个循环死循环下去了。。
回复 支持 反对

使用道具 举报

10#
 楼主| 发表于 2012-10-21 10:29:13 | 只看该作者
回复 9楼shine宝宝的帖子

循环(真)
逻辑型 是否找到
逻辑型 是否遇怪=图像.区域找色(469,140,527,258,#008cc8,0,x,y)
循环(真)
    如果(是否遇怪)
上面不是有个循环(真)吗?难道“是否遇怪”只会执行一次?
下面是个死循环吗?我是个菜鸟,大神能帮我改一下吗,非常感谢。
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

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

关闭

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

GMT+8, 2025-10-9 23:48 , Processed in 0.172068 second(s), 24 queries .

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

© 2001-2013 Comsenz Inc.

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