TC官方合作论坛

标题: 关于怪物血条的问题 [打印本页]

作者: hy41677    时间: 2013-5-13 10:39
标题: 关于怪物血条的问题
游戏是不支持后台操作的....怪物血条是上下式渐变色的,而且血条外框是透明的,会显示游戏场景..所以也无法去找血条外框,是不是就无法用区域找色?我用坐标点内取色和上X,Y下X,Y区域内取色都无法找到...一直按tab怎么办.............................
作者: 332475520    时间: 2013-5-13 10:50
回复 1楼hy41677的帖子

用CE 找血的基址   就完事了   稳定准确  简单  方便
作者: kk1304231990    时间: 2013-5-13 11:47
可以用消耗血量的部分来区域找色
作者: kk1304231990    时间: 2013-5-13 11:51
我们注意观察,虽然图1和图2,颜色值不一致,但是 我们观察RGB的值,其中B的值都是为0的
这是为什么呢:原来,所有的颜色值都是有R(红)G(绿)(B)(蓝)构成的,我们的血条是红色,B的值肯定会很小甚至为0了
再看图3和图4,B的值就是100+,远远大于0的。
好了,我们抓住这个特征进行处理:

假如,人物血条:坐标起始坐标(x1,y) 右边终点坐标(x2,y),血量低于a%开始加血
那么取色坐标应为:(x1+(x2-x1)*a%,y)

01.功能 热键0_热键()

02.    //这里添加你要执行的代码

03.    功能 加血(血值百分比)

04.        

05.        颜色值=图像.坐标点取色(x1+(x2-x1)*血值百分比,y)//只做举例 如果后台可以用TC的窗口取色命令,和ts、dm插件等等,x1,x2,y是具体的数值

06.        变量 R,G,B

07.        图像.颜色值转RGB值(颜色值,R,G,B)  

08.        if(B!=0)

09.            //该加血了:

10.            键盘.按下(...)

11.        else

12.            //.....

13.        endif

14.           功能结束

15.   

复制代码=====================================================
小结:短短几行代码就解决问题了吧,当我们写脚本的时候 要善于发现细致点、比不同,脚本往往就有很多判断,只有找到了不同才能判断。
作者: kk1304231990    时间: 2013-5-13 11:52
这事我借用别人的不解释青衣妹纸别透视我啊
作者: hy41677    时间: 2013-5-13 12:53
回复 3楼kk1304231990的帖子

我自己想了个办法....先在循环外设置先砍怪物一刀..然后取被砍掉这段血条的底色.底色是纯黑色000000....判断怪物是否死亡也是用的血条底色.
你这里说的也是这个意思吧
作者: hnsword520    时间: 2014-6-17 13:34
学下下





欢迎光临 TC官方合作论坛 (http://bbs.52tc.co/) Powered by Discuz! X3.1