TC官方合作论坛
标题:
刚写的2d游戏脚本,有几个问题请教大神
[打印本页]
作者:
wudongdonghehe
时间:
2012-10-20 18:39
标题:
刚写的2d游戏脚本,有几个问题请教大神
空间 诛仙
整型 线程句柄,线程句柄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,那段绿色的代码,是找怪的代码,本人是个新手,只想出这样的蠢方法,求大神指点。
作者:
shine宝宝
时间:
2012-10-20 19:09
功能 逻辑型 开始打怪()
逻辑型 是否找到
是否找到为局部变量
在这里 你没有找
所以 会一直进如果(!是否找到)的那个循环的
作者:
wudongdonghehe
时间:
2012-10-20 21:10
回复
2楼
shine宝宝
的帖子
大神,能说的再详细一点吗?我脑子笨,一时之间弄不明白。我少写代码了,还是次序颠倒了?
作者:
shine宝宝
时间:
2012-10-20 21:52
少写了 。。。你检测血的那个功能 里面的 是否找到 和在打怪那个功能里的那个 是否找到 不一样的
作者:
爱玩的一休
时间:
2012-10-20 22:08
前台啊
作者:
wudongdonghehe
时间:
2012-10-21 09:56
回复
4楼
shine宝宝
的帖子
我把打怪功能里面的是否找到,改成别的名字,是不是就可以了,比如“是否找到图片”,是吧?
作者:
shine宝宝
时间:
2012-10-21 10:03
你没找。。改什么也不行啊
作者:
wudongdonghehe
时间:
2012-10-21 10:15
回复
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)
辅助.退出()
返回 真
功能结束
空间结束
//(我这是看到别人的代码以后,刚刚改的,有许多不对的地方,望大神多多指点)
作者:
shine宝宝
时间:
2012-10-21 10:22
还是错了吧 是否遇怪只找了一次就在里面那个循环死循环下去了。。
作者:
wudongdonghehe
时间:
2012-10-21 10:29
回复
9楼
shine宝宝
的帖子
循环(真)
逻辑型 是否找到
逻辑型 是否遇怪=图像.区域找色(469,140,527,258,#008cc8,0,x,y)
循环(真)
如果(是否遇怪)
上面不是有个循环(真)吗?难道“是否遇怪”只会执行一次?
下面是个死循环吗?我是个菜鸟,大神能帮我改一下吗,非常感谢。
作者:
shine宝宝
时间:
2012-10-21 10:45
把第二个循环去掉- -
欢迎光临 TC官方合作论坛 (http://bbs.52tc.co/)
Powered by Discuz! X3.1