TC官方合作论坛

 找回密码
 立即注册
查看: 42428|回复: 153

TC 新手-常见十四大错误,让新手快速进阶

  [复制链接]
发表于 2011-8-26 11:47:19 | 显示全部楼层 |阅读模式

马上加入TC

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

x
如果你是一名新手或者之前有过类似编程转脚本开发的用户在学习TC开发前都需要认真阅读一下常见错误(这里综合了飞舞给出的十大错误,让大家都能脱离新手阶段走上进阶阶段,希望以后遇到这样的问题能够自己快速解决):

1.错误一:许多新手,在写代码的时候,把新建TC项目后默认得那两个方法(开始方法,退出方法)删掉了,却把代码直接写在空间里面。这里指出:默认的那两个方法是可以删除,但是你要写代码必须在空间里面自己定义方法,并在方法里面写代码,而定义的方法要与控件相对应,也就是属性值需要保持一致,可以参考开始按钮的属性值进行更改。直接写空间里面这样代码是无法运行的。如下:
错误例子:
空间 我的程序
整型 窗口句柄

窗口句柄=窗口.找到窗口("魔兽世界")
如果(窗口句柄==0)
辅助.消息框("没有找到魔兽世界窗口")
否则
窗口.最大化(窗口句柄)
如果结束
空间结束

正确例子:
空间 我的程序

功能 逻辑型 开始_点击()
整型 窗口句柄
窗口句柄=窗口.找到窗口("魔兽世界")
如果(窗口句柄==0)
辅助.消息框("没有找到魔兽世界窗口")
否则
窗口.最大化(窗口句柄)
如果结束
返回

功能结束

功能 逻辑型 退出_点击()
辅助.退出()
返回

功能结束
空间结束
  
2
错误二:TC里面的标点,符号必须在输入法是英文的状态下输入,否则无法运行的。如果在中文的状态下输入,自己不易发现,就如下面的例子,但是TC编译器是无法识别的。(注意下面错误代码的括号和逗号)
错误例子:
空间 我的程序
功能
整型 求和整型 A整型 B)
返回 A+B

功能结束

功能 逻辑型 开始_点击()
整型
=我的程序.求和(5,10)
辅助.消息框(转换.整型转字符型())
返回

功能结束
空间结束

正确例子:
空间 我的程序
功能
整型 求和(整型 A,整型 B)
返回 A+B
功能结束

功能 逻辑型 开始_点击()
整型
=我的程序.求和(5,10)
辅助.消息框(转换.整型转字符型())
返回

功能结束

空间结束

3.错误三:在使用后台的时,用户没有把绝对坐标和相对坐标进行区别,导致程序运行后坐标无法移动到指定地点。很多人就会盲目的判定这个游戏窗口不支持鼠标的后台操作。正确的做法是:使用后台时,先用大漠综合工具绑定游戏窗口,绑定窗口后再使用ctrl+1区域截图获取相对坐标,绑定窗口的方法参照帮助文档,normal表示前台,当用户绑定时,3dx代表的意义不同,不需要的后台的部分可以换为normal这样可以提高绑定的成功率。
如果判断了该游戏支持后台的话,由于一些用户不知道绑定游戏窗口后需要解绑窗口和释放窗口导致游戏和程序一起崩溃,用户可以先尝试以normal模式进行编写代码,调试完成后再转dx模式。
举例说明:
功能 逻辑型 开始_点击()
//这里添加你要执行的代码,这里是你点击开始按钮执行的代码
整型 窗口句柄
逻辑型 是否成功
大漠.创建()
窗口句柄=window.findwindow("魔兽世界")
//找到魔兽世界窗口,并返回窗口句柄值
是否成功 = 大漠.绑定窗口(窗口句柄,"normal","normal","normal",0)
// 绑定魔兽世界窗口模式如下display: 前台 鼠标:前台 键盘:前台模式0
如果(是否成功)
大漠.移动(38,72)
如果结束
大漠.解绑窗口(窗口句柄)
大漠.释放(0)
返回
//函数返回语句
功能结束

前台转后台:
功能 逻辑型 开始_点击()
//这里添加你要执行的代码,这里是你点击开始按钮执行的代码
整型 窗口句柄
逻辑型 是否成功
大漠.创建()
窗口句柄=window.findwindow("魔兽世界")
//找到魔兽世界窗口,并返回窗口句柄值
是否成功 = 大漠.绑定窗口(窗口句柄,"normal","dx","normal",0)
// 绑定魔兽世界窗口模式如下display: 前台 鼠标:前台 键盘:前台模式0
如果(是否成功)
大漠.移动(38,72)
如果结束
大漠.解绑窗口(窗口句柄)
大漠.释放(0)
返回
//函数返回语句
功能结束
指出:这里使用我们只使用到了一个鼠标移动,所以我们只需要把鼠标换成后台的就可以了,可以大大提高后台成功率。

4.错误四:在使用大漠插件的时候,如果涉及到线程,大漠的对象必须在线程里面创建,多个线程的话,每个线程都需要创建一次。大漠注册就只需在机器上注册一次就行了也就是首次使用大漠需要注册一次,没必要每次使用大漠插件都注册。大漠注册最好是手工注册,这样就没必要去注意代码注册的路径等细节,新手经常都是路径错误,容易出错。

5.错误五:使用大漠绑定窗口后,在退出TC之前,必须先解除窗口的绑定,否则游戏就会出现错误自动退出,有许多人写了解除绑定的代码,还是会出现这情况,这是因为代码里面写有循环,解除绑定的代码一般都是写在循环结束的后面,循环没执行完就关掉了TC,解除绑定的代码这时候并没有执行,所以写与不写是一个效果,起不了作用。怎么解决这样的问题呢?这里可以自己定义一个 逻辑型的变量,这个变量就作为循环的逻辑表达式。开始的时候变量的值为真,退出的时候设为假。这样当点退出的时候,循环执行一次就停了下来。这样就能执行下面解除窗口绑定的代码了。
举例说明:
空间 我的程序
整型 窗口句柄
逻辑型 释放
功能 逻辑型 开始_点击()
//这里添加你要执行的代码,这里是你点击开始按钮执行的代码
逻辑型 是否成功
释放=true
大漠.创建()
窗口句柄=window.findwindow("魔兽世界")
//找到魔兽世界窗口,并返回窗口句柄值
是否成功 = 大漠.绑定窗口(窗口句柄,"normal","normal","dx",0)
// 绑定魔兽世界窗口模式如下display: 前台 鼠标:前台 键盘:前台模式0
如果(是否成功)
循环(&&释放)
大漠.按键(32)
辅助.等待(5000)
循环结束
如果结束
大漠.解绑窗口(窗口句柄)
大漠.释放(0)
返回
//函数返回语句
功能结束
功能 逻辑型 退出_点击()
//这里是你退出的时候要执行的代码,这类是你点击退出按钮执行的代码
释放=false
大漠.解绑窗口(窗口句柄)
大漠.释放(0)
辅助.退出()
返回
//函数返回语句
功能结束
空间结束
//命名空间结束语句

6.错误六TC找图的时候总是找不到图,检查语法和逻辑都没任何错误,许多新手会遇到这样的问题,这个是因为你截图用的工具并不是TC自带的抓图工具,许多人用的是QQ的截图工具。

7.错误七路径错误,因为习惯了D:\MF\Wow.exe 只有一个斜杠的路径,TC里面的路径是D:\\MF\\Wow.exe的,前面的一个斜杠在这里起转义字符的作用,所以要写双斜杠。
举例说明:
整型 图片X坐标
整型 图片Y坐标
整型 图像序号
图像序号=图像.找图(0,0,1440,900,"d:\\太给力.bmp",#102030,1.0,0,图片X坐标,图片Y坐标)

8.错误八:许多新手在使用控件的时候,没有改变控件属性里面的控件名称,所以控件没任何效果。每一个控件都是有一个名称与之对应的,就像人的名字一样,没名字别人怎么找到你,也就在你按了按钮后什么都没起作用。
图释:
控件和属性对应:
TC.png
控件名称与代码对应:
功能
逻辑型 自定义函数()
//这里添加你要执行的代码
返回


功能结束

9.错误九创建TC项目的时候,TC默认的两个方法 开始 和退出。他的返回值类型都是逻辑型,新手就会认为,方法的返回值都只能是逻辑型,其实并非如此,方法的类型可以根据自己的需要自己定义,只要是TC的那四大类型里面的都可以,具体的返回方法参照TC语法介绍。

10.错误十:在使用后台的时候,不生效。有人就会说是不是TC有问题, 因为有的游戏并不支持后台操作的,所以不能说一个游戏不能后台就做这么绝对的断定。TC后台不可以的时候,你可以尝试大漠插件的后台操作。游戏的不同,用的方法也是有差异的。这个靠自己经验的慢慢积累。

11.错误十一:在按键不起效的时候,可能是360误报或者一些别的杀毒软件误报,如果发现你的代码编译后没问题时,应该考虑到是否把保护关掉了。还有的地方会遇到一些问题,也许跟自己是否是管理员有关系。

12.错误十二:对于很多人想实现游戏的多开,首先我们需要的是该游戏能够支持多开,如果不知道多开的话只能使用别人的一些多开外挂工具,在实现多开的时候很多人都有误导,自认为多开就是用一个数组把把枚举到的窗口进行保存,然后一一开启,而这样的思路在TC中是行不通的,因为暂时没有数组概念,那么我们可别忘记了变量入队这个概念,它能够很轻松的解决你们困惑已久的多开实现方法。其实也很简单,原理:首先,使用枚举的方法枚举出找到的一个或多个字符串窗口句柄然后使用字符串截取掉每个窗口句柄用变量队列保存下来,之后我们就用编号来获取每个窗口句柄进行多开的实现了。(具体推荐大家学习下[游戏 诛仙2跑圈拉怪群怪、多开喊话及超强实用PK辅助(修正版),该脚本在论坛免费脚本专区游戏类中),多开的喊话正是这样实现的。

13.错误十三:字符串问题,有很多人在进行转换时会出现转换失败,其原因归咎于转换时1、没有设置延时2、将文字转换为数字,由于TC现在暂时支持字母字符串与数字进行转换。
错误例子:
功能 逻辑型 开始_点击()
//这里添加你要执行的代码,这里是你点击开始按钮执行的代码
字符型 a
整型 b
a="只为给力一把"
b=转换.字符型转整型(a)
返回
//函数返回语句
功能结束

14.错误十四:大家在编译运行时,有时候会出现一个“没有找一个命名空间结束定义”,这个代表用户在我的程序这个空间编写了代码却忘记结束我的程序这个空间了,应该在代码最后加上一个“空间结束”语。还有的时候也会出现没有找到空间结束语的情况,在这种情况下分两条路走,一,判断代码中是否少了一个结束语,如:如果结束;二,刚运行还没有事,加了行代码后就出现这个问题时,判断功能结束与返回值是否有间隔,若没有间隔应进行间隔开来。
如:返回
    功能结束

改:返回 真

   功能结束
         
总结:TC在于多总结多思考问题,当遇到错误时:
第一:先看提示错误,错误会显示错误代码行,双击代码后光标会自动跳入该行代码处,根据错误提示进行纠正。
第二:遇到代码编译后启动运行,运行效果不是自己需要的时候,首先检查一下自己代码段的逻辑错误,实在检查不了,可以采用设置断点的方法进行调试,看程序的运转状况,从调试中得出自己的逻辑错误。
第三:运行发现某些键码不执行时,考虑是否是安全保护问题,然后再看该游戏是不是写了保护把这个键进行了屏蔽。
第四:实在自己想不到办法解决时再求助,或者到交流群提问。
第五:掌握学习的方法迅速上手,不要一遇到问题就发群里,首先自己思考思考增加印象,然后不知道哪里错了再发群里,这样下次遇到就不会出现这个问题了。
总之学习TC在于积累,一天解决一个问题并积累一个知识点,这样就能智通明达了,呵呵。。。根据老大的一句话:读万卷书,不如行万里路,行万里路,不如自己悟!
回复

使用道具 举报

发表于 2011-8-26 13:02:54 | 显示全部楼层
顶顶顶
回复 支持 反对

使用道具 举报

发表于 2011-8-26 15:22:04 | 显示全部楼层
很实用~~大部分问题都是以前遇到过,或者正在焦头烂额的~~~这个必须顶···
回复 支持 反对

使用道具 举报

发表于 2011-8-26 17:42:57 | 显示全部楼层
这个贴真的太好了~
是新手的救星!
必须支持!
回复 支持 反对

使用道具 举报

发表于 2011-8-27 00:10:29 | 显示全部楼层
灰常給力
回复 支持 反对

使用道具 举报

发表于 2011-8-29 10:45:18 | 显示全部楼层
虽然我看不懂,正在学习中。
回复 支持 反对

使用道具 举报

发表于 2011-8-29 19:59:26 | 显示全部楼层
极品贴吖!及时
回复 支持 反对

使用道具 举报

发表于 2011-9-2 12:56:06 | 显示全部楼层
谢谢分享,努力学习中
回复 支持 反对

使用道具 举报

发表于 2011-9-14 09:42:06 | 显示全部楼层
学习了不少 顶
回复 支持 反对

使用道具 举报

发表于 2011-9-19 11:09:23 | 显示全部楼层
这帖子太加力了,我早没看见呢,:<,好多问题困绕着我很多天了,今日一见,真如醍醐灌顶一般啊。
毫不犹豫的顶。。。:-D
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条

关闭

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

GMT+8, 2024-5-3 05:24 , Processed in 0.083942 second(s), 28 queries .

Powered by 海安简单软件服务部

© 2008-2019 版权所有 保留所有权利

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