两天两夜写脚本,初学TC的辛路历程(一)
(2011-12-24 09:10:54)
标签:
tctc心得tc技巧tc教程游戏 |
分类: TC实例 |
因为本人之前写过一些小脚本,所以对于学TC还蛮有自信的。当然自信归自信,视频教程和帮助文档我还是全部“仔细”看了一遍的(我是很仔细看了,可还是很懵懂的说),为了看TC官网的视频和论坛的帖子教程以及帮助文档我花了两天时间(大概20个小时)!
正当我自信心爆满跃跃欲试的时候,Q群里正好有一个叫“小小拥抱”的小子在找人帮写个脚本,于是我自告奋勇的接下了这个任务!
任务看似很简单,就是为一个叫《神武》回合制游戏写一个游戏自动打怪、加血加蓝的脚本。然而,看起来容易做起来难,于是我开始了一段艰辛的写脚本历程!
无论写什么脚本,首先是要知道我们要这个脚本达到什么目的,然后我们需要一些什么功能来让脚本达到我们的目的。而自动打怪的脚本流程无非就是:
找怪
打怪
检查人物血,蓝
检查宠物血,蓝
加血加篮
判断怪是否死亡
怪没死
继续打怪
怪死了
继续找怪
理清写打怪脚本的思路以后,下面就可以开始动手一个功能一个功能的写代码了!
首先说明一下,我没怎么玩回合制网游(你打我一下,我打你一下的游戏机制让我觉得很白痴,额,个人喜好,勿扔鸡蛋),所以《神武》没玩过,只是曾经见人玩过《梦幻西游》。
于是我随便写了个自动打怪的功能脚本,然后用《梦幻西游》来测试,效果还蛮好,于是自信心更爆满了。晚上,“小小拥抱”上线,我打算远程帮他做脚本(再汗一个,我以为只要改改坐标和颜色值就可以了)。
小小拥抱这个小子是没接触过TC的,晚上7点左右,他开始下载TC软件。等他下载安装好TC以后,我开始把源代码发给他,然后他在QQ上截个图,让我修改坐标和颜色值。然而测试以后就发现问题了,虽然一改再改,问题还是存在,一直折腾到晚上近10点!我崩溃了!
不过放弃不是我的性格,于是我开始下载安装“神武”这个游戏,在下载游戏的时候,我顺手写了加血加蓝的功能脚本。11点左右,游戏下载安装完毕,我申请了一个帐号建立角色,开始测试脚本。经测试,自动打怪脚本运行得还算顺利,虽然角色人物并没有像我设想的那样在两个坐标点之间跑动踩地雷找怪!
但是我发现了一个问题,鼠标漂移(大汗一个,这个是一个很老的问题了,在《梦幻西游》《问道》等回合制网游中都存在)!
关于解决鼠标漂移的原理,我在这里就简单说一下(这个问题真的很老了,随便百度一下都能找到很多很详细的解说):鼠标漂移简单的说就是系统鼠标和游戏鼠标的坐标偏移。
举例:当你移动游戏鼠标到坐标点100,100的时候,系统鼠标的坐标点可能会是200,200这个偏移的差值是不是固定的,而是随机的。
解决的方法就是找到游戏鼠标坐标值,对比游戏鼠标与系统鼠标坐标差值(这个有公式的),然后相对移动,再找游戏鼠标坐标值,再对比,再相对移动,再找,……一直循环到差值为0,或1(差值为0几乎是不可能的,下面详解)。
解决的方法有了,那么怎么找游戏鼠标的坐标值呢(TC的“AB抓抓”工具抓的是系统鼠标坐标值)?
现在流行的方法有两种,一种是大众化的找图,多点找色法,一种是专业化的找内存基址法。专业化的咱就不说它了,咱搞点业余的!
首先说明找图和多点找色,找的就是游戏鼠标的图和色。我选择的是找图,因为《神武》这个游戏的鼠标图形是会变色的!然而,接下来我发现找图也行不通,因为图形会变色(这个时候已经是第二天早上10点了,我用了一个通宵才勉强明白了鼠标漂移和解决方法并用TC写出来,瀑布汗,网上都是VB,按键的源码,看得我头大)!
好吧,暂停一下,休息休息再继续!睡了五个小时,冲了个凉,脑袋清醒多了!下午三点,继续搞我的鼠标漂移!终于,“一生何求”大大提示我可以找透明图!但是问题又来了,透明图不能保存为BMP格式吖!接着我又开始了我的百度之旅,一直到晚上十二点支持不住了,趴在了电脑桌上!
以上就是我两天的写脚本经历,看到这里你们可能会说:我靠!什么都没说一样,一句源码都没!
好吧,我承认,这两天两夜我一个完整的脚本都没写出来,但是对于学习TC,我有了很深刻的认识,希望能给那些跟我一样在TC论坛里无头苍蝇一般乱撞的小白们带来学习TC的一点方向。
总结这两天的经历,我感触最深的就是:基础是最重要的!我每写一个语句,都要开着TC帮助文档,TC官网,TC论坛,一一查看!脚本出现的错误很多都是基本的语法错误!
文章来自TC论坛,原帖子地址:http://bbs.tyuyan.com/showtopic-864.aspx
TC简单程序开发工具下载地址:http://www.tyuyan.com