TC官方合作论坛

标题: 自己写的功夫世界自动打BOSS 加血加蓝脚本 虽然长 但是我感觉写的够清楚了 至少不是一团糟 [打印本页]

作者: q1005088473a    时间: 2012-3-19 23:57
标题: 自己写的功夫世界自动打BOSS 加血加蓝脚本 虽然长 但是我感觉写的够清楚了 至少不是一团糟
空间 自动加血加蓝
//找到游戏窗口
整型 线程句柄
整型 窗口句柄2


//自动加大量血 ............   这是第一个分线程
功能 逻辑型 加大血()
整型 窗口句柄,生命值有一半,x,y
窗口句柄=窗口.找到窗口("kungfu client")
窗口.设置位置(窗口句柄,0,0)
窗口.激活(窗口句柄)
辅助.等待(500)
//循环找血量太低时开始   如果血量太低马上吃个大药  防范于血量太低时被BOSS秒杀
循环(真)
    生命值有一半=图像.坐标点取色(83,96)
    辅助.等待(500)
如果(生命值有一半==#635D52)
    辅助.等待(500)
    超级键盘.按键(113,1)
        辅助.等待(500)
继续
如果结束
辅助.等待(500)
循环结束
返回 真
功能结束




//自动加少量血.............. 这是第二个分线程
功能 逻辑型 加血()
整型 窗口句柄,生命值血条,x,y
窗口句柄=窗口.找到窗口("kungfu client")
窗口.设置位置(窗口句柄,0,0)
窗口.激活(窗口句柄)
辅助.等待(500)
//循环找血开始  如果血值低于一个吃药的数值就马上吃药  生命第一啊  没办法  赶快嗑药吧
循环(真)
生命值血条=图像.坐标点取色(123,95)
辅助.等待(500)
如果(生命值血条==#524539)
    辅助.等待(500)
    超级键盘.按键(112,1)
        辅助.等待(500)
        继续
如果结束
辅助.等待(500)
循环结束
返回 真
功能结束




//自动加真气.....................这是第三个分线程
功能 逻辑型 加蓝()
整型 窗口句柄,真气值,x,y
窗口句柄=窗口.找到窗口("kungfu client")
窗口.设置位置(窗口句柄,0,0)
窗口.激活(窗口句柄)
辅助.等待(500)
//循环找真气开始..................其实加不加都无所谓的 我的职业很少用真气  加上感觉顺眼些
循环(真)
真气值=图像.坐标点取色(45,108)
辅助.等待(500)
如果(真气值==#494B4A)
    辅助.等待(500)
    超级键盘.按键(114,1)
    辅助.等待(500)
  继续
如果结束
辅助.等待(500)
循环结束
辅助.等待(500)
返回 真
功能结束


//自动打BOSS .....................这是第四个分线程
功能 逻辑型 打BOSS()
整型 窗口句柄
整型 图片X坐标,图片Y坐标,进入战斗状态
窗口句柄=窗口.找到窗口("kungfu client")
窗口.设置位置(窗口句柄,0,0)
窗口.激活(窗口句柄)
辅助.等待(500)
循环(真)
进入战斗状态=图像.找图(0,0,226,90,"d:\\进入战斗状态.bmp",#21241B,1.0,0,图片X坐标,图片Y坐标)
辅助.等待(1000)
如果(进入战斗状态==0)
    辅助.等待(500)
    超级键盘.按键(49,1)
    辅助.等待(1000)
    超级键盘.按键(51,1)
    辅助.等待(1500)
    继续
如果结束
辅助.等待(500)
循环结束
返回 真
功能结束




//这是一个总线程....................相当于老大
功能 逻辑型 开始_点击()
   //这是点击完窗口后我懒把界面最小化啦
      窗口句柄2=窗口.找到窗口("自动加血加蓝")
      窗口.最小化(窗口句柄2)
      辅助.等待(500)
//自动加大量血 ............   这是第一个分线程
      线程句柄=线程.开启("自动加血加蓝.加大血")
      辅助.等待(500)   
//自动加少量血.............. 这是第二个分线程
      线程句柄=线程.开启("自动加血加蓝.加血")
      辅助.等待(500)
//自动加真气.....................这是第三个分线程
      线程句柄=线程.开启("自动加血加蓝.加蓝")
      辅助.等待(500)
//自动打BOSS .....................这是第四个分线程   
       线程句柄=线程.开启("自动加血加蓝.打BOSS")
      辅助.等待(500)
返回 真
功能结束




功能 逻辑型 退出_点击()
线程.关闭(线程句柄)
辅助.退出()
返回 真
功能结束
空间结束



[attach]2569[/attach]






作者: cylhb    时间: 2012-3-20 00:04
代码看起来简洁,易懂。。相当不错。还是多线程的。
新手学习非常方便。顶一个
作者: zxyc2000    时间: 2012-3-20 12:04
思路很清晰。很适合新手练习多线程。
给你一些改进的建议:
1、窗口句柄只在开始_点击中获取和设置行了,以后使用直接调用。你的程序中是每个线程开始时都会获取窗口句柄,并设置其位置。
2、线程句柄在每个线程开启时都保存了该线程的句柄,这样只有最后启动的线程的句柄被保存下来。当你通过线程句柄关闭线程的时候,只是关闭了一个线程,而其他三个线程并没有关闭。

表达能力有限,希望楼主能理解我的意思。
作者: tiexuegongch    时间: 2012-3-20 12:35
真不错!恭喜!
作者: q1005088473a    时间: 2012-3-20 12:41
回复 3楼zxyc2000的帖子

]谢谢提醒  我继续改进  现在我改进一下 并加个暂停打怪和恢复打怪的 按钮
作者: q1005088473a    时间: 2012-3-20 13:22
回复 3楼zxyc2000的帖子

后面的我这样改    前面的都很好改    我就不发前面的啦
功能 逻辑型 开始_点击()
整型 窗口句柄
窗口句柄=窗口.找到窗口("kungfu client")
窗口.设置位置(窗口句柄,0,0)
窗口.激活(窗口句柄)
辅助.等待(500)
如果(窗口句柄==0)
    辅助.消息框("没有找到功夫世界的游戏窗口")
如果结束
辅助.等待(500)
   //这是点击完窗口后我懒把界面最小化啦
      线程句柄0=窗口.找到窗口("自动加血加蓝")

      窗口.最小化(线程句柄0)
      辅助.等待(500)
//自动加大量血 ............   这是第一个分线程
      线程句柄1=线程.开启("自动加血加蓝.加大血")
      辅助.等待(500)   
//自动加少量血.............. 这是第二个分线程
      线程句柄2=线程.开启("自动加血加蓝.加血")
      辅助.等待(500)
//自动加真气.....................这是第三个分线程
      线程句柄3=线程.开启("自动加血加蓝.加蓝")
      辅助.等待(500)
//自动打BOSS .....................这是第四个分线程     
      线程句柄4=线程.开启("自动加血加蓝.打BOSS")
       辅助.等待(500)
返回 真
//函数返回语句
功能结束


//这是退出总线程的开关......................退出所有线程
功能 逻辑型 退出_点击()
//这里添加你要执行的代码
线程.关闭(线程句柄0)
线程.关闭(线程句柄1)
线程.关闭(线程句柄2)
线程.关闭(线程句柄3)
线程.关闭(线程句柄4)
辅助.退出()
返回 真
//函数返回语句
功能结束


//这是暂停打怪的开关.........................暂停打怪   但是其他功能不会被暂停
功能 逻辑型 暂停打怪_点击()
线程.暂停(线程句柄4)
辅助.等待(500)
辅助.消息框("自动打BOSS暂停成功")
辅助.等待(500)
返回 真
功能结束


//这是恢复打怪的开关.......................恢复自动打BOSS的线程
功能 逻辑型 恢复打怪_点击()
线程.恢复(线程句柄4)
辅助.等待(500)
辅助.消息框("自动打BOSS恢复成功")
辅助.等待(500)
返回 真
功能结束
//这是整个空间的结束语句    不管什么脚本少这句不行
空间结束


[attach]2575[/attach]
本人加个暂停打怪主要是考虑我想回血回蓝不想打怪的时候防止怪主动攻击你的时候你还手打他   因为我找的是进入战斗状态的图片的时候就用技能  我找的不是怪物的血条打怪  这个游戏只要进入战斗状态游戏左上角就有一个进入战斗状态的图片  结束战斗图片会自动消失   还有就是跑路的时候怪主动攻击你你还手。。。。。。。。。。   所以还是加个暂停打怪的好
作者: zxyc2000    时间: 2012-3-20 13:53
回复 6楼q1005088473a的帖子

:strong:
作者: q1005088473a    时间: 2012-3-20 13:57
回复 7楼zxyc2000的帖子

本人新手 ,,,,,,,,学习中。。。

作者: 2276027660    时间: 2012-3-20 15:06
新手顶顶
作者: 2276027660    时间: 2012-3-20 15:15
顶i=顶 给劲顶
作者: 2276027660    时间: 2012-3-20 15:27
来顶了
作者: yanzi1985    时间: 2012-3-20 15:55
新手,能看懂一点点,支持楼主
作者: 奈小群    时间: 2012-3-20 19:40
脚本怎么跟界面结合啊
作者: yerensaojie    时间: 2012-3-20 20:35
楼主 和3楼的都很好  谢谢分享
作者: q1005088473a    时间: 2012-3-20 21:01
回复 13楼奈小群的帖子


要想脚本和界面结合要用到控件列表和界面设计 这个在TC视频里面有视频教程  要我说我一时半会儿也说不清楚啊   界面设计的图片是自己在网上找到然后保存到我的电脑C/D/E 或则其他地方   然后添加到

[attach]2596[/attach]看见资源两个字没有   然后鼠标右键
[attach]2597[/attach]插入资源    找到你自己想要的图片添加进去
[attach]2598[/attach]看到没   然后双击图片框   创建在界面里
[attach]2599[/attach]这样子后你可以把编辑框拉大拉小  具体看你自己愿意怎么拉           

后面再点击下面的图片  添加进去就可以啦、、////   s[attach]2601[/attach]
                                                                                                                                                                                                                                             
[attach]2600[/attach]



作者: drdcan    时间: 2012-3-20 22:35
为了权限,顶顶




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