TC官方合作论坛

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

[已解决] 求助高手!百分比加血脚本可是测试一直提示需要加血加...

[复制链接]
跳转到指定楼层
楼主
发表于 2014-5-4 09:50:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上加入TC

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

x
空间 贝拉传说

自动打怪线程,加血线程,加蓝线程
功能  自动打怪()
    整型 窗口句柄,x,y
    逻辑型 取怪颜色
    窗口句柄=窗口.找到窗口("[ Legend Of Crystal Bella    Full Ver. DV5.2.069 ; ]")
    窗口.置顶(窗口句柄,true)
    窗口.设置位置(窗口句柄,0,0)
    如果(窗口句柄 > 0)
        调试输出("窗口句柄 :  " & 窗口句柄)
    否则
        调试输出("没有找到窗口句柄 :  " & 窗口句柄)
    如果结束
    辅助.等待(500)
    //这里写个while死循环,大家都知道,自动打怪是不停的打的,而不是打一次,
    //所以我这里写个while,不停的重复执行打怪功能
    //循环(真)
    //tab键,切换怪物目标
    循环(真)
        键盘.按键(9,1)
        辅助.等待(10)
        循环(真)
            //判断是否取到怪,没有取到,继续取
            取怪颜色=图像.区域找色(422,86,509,110,#96b1b8,0,x,y)
            //如果返回true,证明锁定了怪,那就执行下面的打怪功能
            如果(取怪颜色)
                //分别按1,2,3,4施放技能
                键盘.按键(49,1)
                辅助.等待(100)
                键盘.按键(50,1)
                辅助.等待(200)
                键盘.按键(51,1)
                辅助.等待(200)
                键盘.按键(52,1)
                辅助.等待(200)
            如果结束
        循环结束
        返回 真
    循环结束
功能结束

功能 加血()
    变量 x,y,窗口句柄
    逻辑型 生命值取色
    循环(真)
        加血设置值=编辑框.获得文本("编辑框0")
        //  1. 获取血条最小值坐标,获取血条最大值坐标
        最小值=133   //血条最左边X坐标
        最大值=264  //血条最右边X坐标
        //  2. 计算血条长度 血条长度=最大值X坐标-最小值X坐标
        血条长度=最大值-最小值
        //   3.计算加血百分比 百分比=血条长度*(加血量)/100
        加血百分比=血条长度*(加血设置值/100)
        //  4. 加血点=最小值X+百分比
        加血点=133+加血百分比
        //   5.匹配点颜色是否相等的方式进行判断
        生命值取色=窗口.坐标点取色(窗口句柄,加血点,86)
        如果(生命值取色!="920c0c")//如果没找到
            调试输出("需要加血")
            键盘.按键(112,1)//加血
            辅助.等待(2000)
        否则
            调试输出("不需要加血")
        如果结束
    循环结束

功能结束

功能 加蓝()
    变量 x,y,窗口句柄
    逻辑型 蓝气值取色
    循环(真)
        加蓝设置值=编辑框.获得文本("编辑框1")
        //  1.获取蓝条最小值坐标,获取蓝条最大值坐标
        最小值=144   //蓝条最左边X坐标
        最大值=264   //蓝条最右边X坐标
        //  2.计算蓝条长度 蓝条长度=最大值X坐标-最小值X坐标
        蓝条长度=264-144
        //  3. 计算加蓝百分比 百分比=蓝条长度*(加蓝量)/100
        加蓝百分比=蓝条长度*(加蓝设置值/100)
        //   4.加蓝点=最小值X+百分比
        加蓝点=144+加蓝百分比
        //   5.匹配点颜色是否相等的方式进行判断
        蓝气值取色 =窗口.坐标点取色(窗口句柄,加蓝点,106)
        如果(蓝气值取色!="00286e")//如果没找到
            调试输出("需要加蓝")
            键盘.按键(113,1)//加蓝
            辅助.等待(2000)
        否则
            调试输出("不需要加蓝")
        如果结束
    循环结束
功能结束
功能 开始_点击()
    线程句柄=线程.开启("贝拉传说.自动打怪","")
    线程句柄=线程.开启("贝拉传说.加血","")
    线程句柄=线程.开启("贝拉传说.加蓝","")
    返回 真
    //函数返回语句
功能结束
功能  退出_点击()
    //这里添加你要执行的代码
    线程.关闭(自动打怪线程)
    线程.关闭(加血线程)
    线程.关闭(加蓝线程)
    辅助.退出()
    返回 真
    //函数返回语句
功能结束


功能 编辑框0_内容改变()
//这里添加你要执行的代码
加血设置值=编辑框.获得文本("编辑框0")
功能结束


功能 编辑框1_内容改变()
//这里添加你要执行的代码
加蓝设置值=编辑框.获得文本("编辑框1")
功能结束

空间结束
//空间结束语句

回复

使用道具 举报

地板
发表于 2014-5-4 11:17:11 | 只看该作者
本帖最后由 石中草 于 2014-5-4 11:21 编辑

血条是渐变的那你别取血的颜色,取没血时候的颜色。

判断也是一样的,如果那个点的颜色等于没血时候的颜色就加血
血的底色应该不会变吧!

回复 支持 反对

使用道具 举报

沙发
发表于 2014-5-4 09:56:25 | 只看该作者
如果(生命值取色!="920c0c")//如果没找到

这个颜色值,你怎么也得弄个偏差吧,你那血条颜色值很稳定么

另外你取加血点的颜色,看看具体颜色值是多少
回复 支持 反对

使用道具 举报

板凳
 楼主| 发表于 2014-5-4 10:20:25 | 只看该作者
332475520 发表于 2014-5-4 09:56
如果(生命值取色!="920c0c")//如果没找到

这个颜色值,你怎么也得弄个偏差吧,你那血条颜色值很稳定么

你好 血条是渐变的 不是纯色的啊 就一个坐标点是同一个颜色的 怎么弄个偏差啊 求教!!我把血蓝截图给你帮我看看好么  谢谢你啊!!!
回复 支持 反对

使用道具 举报

5#
发表于 2014-5-4 11:18:24 | 只看该作者
初学者007 发表于 2014-5-4 10:20
你好 血条是渐变的 不是纯色的啊 就一个坐标点是同一个颜色的 怎么弄个偏差啊 求教!!我把血蓝截图给你 ...

既然是渐变  你使用固定颜色值  当然会提示你加血了   你用坐标点取色也有问题   不应该使用这个API

限制太多了,用其他的找色命令  可以有颜色偏差
回复 支持 反对

使用道具 举报

6#
 楼主| 发表于 2014-5-4 12:17:56 | 只看该作者
石中草 发表于 2014-5-4 11:17
血条是渐变的那你别取血的颜色,取没血时候的颜色。

判断也是一样的,如果那个点的颜色等于没血时候的颜色 ...

嗯 我試試看  這樣行不行啊高手
回复 支持 反对

使用道具 举报

7#
发表于 2014-5-4 12:20:40 | 只看该作者
初学者007 发表于 2014-5-4 12:17
嗯 我試試看  這樣行不行啊高手

你血的底色 如果是不会变化的,就可以啊 .
跟你那段代码一样的, 你是判断 如果 加血点的颜色,如果不是有血的颜色就加血.
差不多的
判断的是 血的底色,如果加血点的颜色 等于底色, 不也表示,那个加血点 没血了么
回复 支持 反对

使用道具 举报

8#
 楼主| 发表于 2014-5-4 12:20:43 | 只看该作者
石中草 发表于 2014-5-4 11:17
血条是渐变的那你别取血的颜色,取没血时候的颜色。

判断也是一样的,如果那个点的颜色等于没血时候的颜色 ...

你好  比如說血條最左邊的一個點130,47 最右邊的一個點261,47,      Y座標點一樣啊  血的點也是同一顏色
回复 支持 反对

使用道具 举报

9#
发表于 2014-5-4 12:24:45 | 只看该作者
初学者007 发表于 2014-5-4 12:17
嗯 我試試看  這樣行不行啊高手

生命值取色=窗口.坐标点取色(窗口句柄,加血点,86)
        如果(生命值取色=="这里填血的底色")//如果加血点的颜色等于 底色
            调试输出("需要加血")
            键盘.按键(112,1)//加血
            辅助.等待(2000)
        否则
            调试输出("不需要加血")
        如果结束
回复 支持 反对

使用道具 举报

10#
 楼主| 发表于 2014-5-4 12:25:01 | 只看该作者
石中草 发表于 2014-5-4 12:20
你血的底色 如果是不会变化的,就可以啊 .
跟你那段代码一样的, 你是判断 如果 加血点的颜色,如果不是有血 ...

能幫忙修改一下麼     麻煩了 謝謝  源码应该怎么改
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

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

关闭

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

GMT+8, 2025-9-27 14:49 , Processed in 0.151076 second(s), 25 queries .

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

© 2001-2013 Comsenz Inc.

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