TC官方合作论坛

标题: 发送字符串的编写建议,新手必看! [打印本页]

作者: 菜鸟狙丶    时间: 2014-1-27 20:10
标题: 发送字符串的编写建议,新手必看!
本帖最后由 菜鸟狙丶 于 2014-1-28 13:18 编辑

键盘.发送字符串("hello world")
这行代码大家应该都知道,而且要使用起来非常容易
使用的效果是这样子的:
[attach]14209[/attach]
比如要做个网页游戏的自动登录,其中我们要写的一定是:

键盘.发送字符串("我是密码")
辅助.等待(100)
鼠标.移动(XX,XX)
鼠标.左键单击(1)

我们的想法一定是:运行功能 → 输入密码 → 等待100毫秒 → 鼠标移动到登录按钮 → 鼠标左键单击 → 完成登录

这样的编写正确吗?调试一下才知道

这是我们人工操作的登录
[attach]14210[/attach]

------------------------------------------------------------
这是我们脚本操作的登录
[attach]14212[/attach]



我们可以发现人工操作输入完密码以后直接登录。可是脚本操作只输入了一半的密码就点击了登录,密码错误了,这是怎么回事呢?

我们仔细看一看帮助文档
[attach]14213[/attach]
函数的原型是:发送字符串(str,delay=50)
这么看来,delay=50 是指发送每个字符的间隔。
我们脚本操作的代码只是发送了一半的字符,原来就是这个原因:因为间隔50是这个函数的默认,我们没有编写,所以脚本开始执行输入密码的任务,等待了100秒之后(密码才输入一半)就直接点击登录了!

看看改进后的代码:键盘.发送字符串("我是密码",0)//输入密码,每个字符间隔时间为0

调试一下,我们就可以看到:密码居然比人工操作还要快!一秒不到就登录成功了。

rainshine大神给我们提了两个非常不错的建议:
1、因为间隔50是这个函数的默认,我们没有编写   这好像……应该叫做    是这个形参的默认值  我们没有填写此实参。
2、大部分网游会直接检测到这么快的输入的。。。要不tc弄这么个延时干嘛~最好控制在50-200,这已经很快了,最好不要0。






作者: 浅灰色    时间: 2014-1-27 20:23
现在才注意到这个.......
作者: rainshine    时间: 2014-1-27 20:48
给你提几个建议哈,有几个小问题觉得你写的不太恰当,也不是挑刺,希望你以后能发展的更好。
1、因为间隔50是这个函数的默认,我们没有编写   这好像……应该叫做    是这个形参的默认值  我们没有填写此实参。
2、大部分网游会直接检测到这么快的输入的。。。要不tc弄这么个延时干嘛~最好控制在50-200,这已经很快了,最好不要0。

作者: 菜鸟狙丶    时间: 2014-1-27 21:25
rainshine 发表于 2014-1-27 20:48
给你提几个建议哈,有几个小问题觉得你写的不太恰当,也不是挑刺,希望你以后能发展的更好。
1、因为间隔50 ...

嗯,没错,这只是个示例。。
作者: rainshine    时间: 2014-1-27 21:36
菜鸟狙丶 发表于 2014-1-27 21:25
嗯,没错,这只是个示例。。

还有个问题……我也不知道是机器原因还是什么,我这边从来没有出现这种事呢……tc库的大部分函数,包括这个 都不是异步函数啊 不会直接返回的啊、、
作者: rainshine    时间: 2014-1-27 21:56
还是要支持一下啦,难得看到你发帖,而且还挺认真~
作者: zxw445    时间: 2014-1-27 22:38
其实这个函数我昨天才发现,也没多大注意。支持支持。
作者: JSDYWZ    时间: 2014-1-28 18:44
原来如此    感谢分享
作者: 菜鸟狙丶    时间: 2014-1-29 22:52

作者: tianmenghuan    时间: 2014-5-13 15:07
好吧 我来回下帖子
作者: good    时间: 2015-5-6 19:33
看了,这样啊,有道理.
作者: hjl123456    时间: 2016-12-2 18:37
学习

作者: hjl123456    时间: 2016-12-5 01:26
学习




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