PaoTin++ 超新手教程之打坐机器人
本帖最后由 dtp 于 2024-4-27 10:31 PM 编辑PaoTin++ 教程之打坐机器人
第一个小板凳 —— 最简单的打坐机器人,就只有一行代码
#tick dz {dazuo 10} 5;
确实看上去很简单,直接在游戏中复制粘贴就可以生效。
它的功能也很好理解。#tick 表示创建一个定时器,dz 是定时器的名字,
5 是定时器的执行间隔时间(单位为秒),然后 dazuo 10 是定时器每次发送的命令。
dazuo 10 的意思就是将 10 点气血转化成内力。假设你的 ID 状态是正常的,那么
你会看到提示:
https://pkuxkx.net/wiki/_media/tools/paotin/tutor/pasted/20240427-033026.png
很好,确实开始反复打坐了,如果你观察的足够久,你将会看到:
你的内力增加了!!
显示你的最大内力得到了提升。
然而,聪明的你可能已经想到了,真正的打坐不会只有这么简单。我之所以给你一个简单的版本,
纯粹是因为不想一上来就吓到你。上面的打坐机器人(没错,虽然只有一行命令,但它确实是一个机器人),存在很明显的效率问题。
因为我每隔 5 秒才打坐 10 点气血。这显然太慢了,我们甚至肉眼都能观察到,许多时候 ID 就是在发呆。
为什么慢?原因有两点:
1. 每次打坐的气血太少。
2. 间隔时间太长。
让我们试着改一下,改成这样:
第二个小板凳
#tick dz {dazuo 100} 1;
嗯,这样看上去好多了。之前是 5 秒 10 点,现在改成了 1 秒 100 点,效率提升了 50 倍。让我们观察一下效果:
https://pkuxkx.net/wiki/_media/tools/paotin/tutor/pasted/20240427-033158.png
确实,中间发呆的时间没有了,但是出现了大量的报错。
这是因为我们每秒钟发送了一个 dazuo 100 命令给服务器,但 dazuo 100 并不能在一秒内完成。
那么在上一个打坐期间,发送的新的 dazuo 命令,会被服务器拒绝执行,代之以错误提示「你现在正忙着呢」。
我们也可以通过 PaoTin++ 的〔HP摘要〕观察到这一点。注意末尾的「忙」字小尾巴,以及黄色的 busy 主题色。
这看起来有点像是在攻击服务器,运气不好的话,甚至可能会被服务器惩罚。
那么这种问题应当如何解决呢?显然,我们又得改。
不过在修改之前,让我们先把这个有点疯狂的蹩脚机器人给停下来:
#untick dz;
好了,这下一切都清净了。
你会发现这个命令比上面那个短一些,因为取消定时器只需要知道定时器的名字就足够了。
而 #untick 就是 PaoTin++ 中用来取消定时器的命令。
现在已经取消了,接下来该怎么办呢?
接下来我会告诉你,这样反复在 PaoTin++ 界面下输入命令并加以修改确实看上去比较硬核。
正常的做法是,我们需要一个「文本编辑器」,来修改机器脚本。推荐的文本编辑器有 Notepad2 和 vscode,
前者简单,后者专业。本文以 Notepad2 为例,继续教学。
首先,从这里下载一个 Notepad2,并双击打开压缩包:
https://pkuxkx.net/wiki/_media/tools/paotin/tutor/pasted/20240427-034025.png
复制其中仅有的那个「notepad2_4.2.25_x64.utf8」文件夹,粘贴到任意盘根目录:
https://pkuxkx.net/wiki/_media/tools/paotin/tutor/pasted/20240427-034450.png
https://pkuxkx.net/wiki/_media/tools/paotin/tutor/pasted/20240427-034618.png
然后双击打开其中的 Notepad2.exe:
https://pkuxkx.net/wiki/_media/tools/paotin/tutor/pasted/20240427-034703.png
出现界面:
https://pkuxkx.net/wiki/_media/tools/paotin/tutor/pasted/20240427-034730.png
检查默认编码,确保为 UTF-8:
https://pkuxkx.net/wiki/_media/tools/paotin/tutor/pasted/20240427-034826.png
现在,让我们用 Notepad2 写一个机器人脚本,把我们的第一个小板凳放进去。(嗯,第一个效率不高,但是不急不躁,让我们有充分的时间慢慢改,不会被错误刷屏制造紧张感)
#nop 我的第一个打坐机器人。;
#tick dz {dazuo 10} 5;
https://pkuxkx.net/wiki/_media/tools/paotin/tutor/pasted/20240427-034928.png
很好,接下来让我们把它保存到文件。
https://pkuxkx.net/wiki/_media/tools/paotin/tutor/pasted/20240427-034941.png
https://pkuxkx.net/wiki/_media/tools/paotin/tutor/pasted/20240427-035025.png
注意选择好路径,应当是 C:/my-paotin/plugins/my.tin(或者你可能安装到了 D: 盘?都可以)
点击「保存」按钮。
https://pkuxkx.net/wiki/_media/tools/paotin/tutor/pasted/20240427-035125.png
注意左上角已经变成了「my.tin」,同时检查文件夹中,已经出现了新文件:
https://pkuxkx.net/wiki/_media/tools/paotin/tutor/pasted/20240427-035211.png
然后让我们回到游戏中,加载这个机器人。
LM my
https://pkuxkx.net/wiki/_media/tools/paotin/tutor/pasted/20240427-035332.png
然后等待一会儿,如无例外,我们的第一个小板凳就又开始工作了。
https://pkuxkx.net/wiki/_media/tools/paotin/tutor/pasted/20240427-035405.png
恭喜你!这意味着,你已经掌握了如何在 PaoTin++ 里编写自己的机器人插件。
让我们稍微停顿一下,好好做个总结,以充分理解刚才究竟发生了什么。
* PaoTin++ 机器人是写在文本文件中的,不过文件名后缀必须是 .tin,文件编码必须是 UTF-8。
* 机器人脚本文件必须存放在 C:/my-paotin/plugins 目录下。
* 文件名就是插件(或者也叫模块)的名字,本例中,my 就是插件名称。
* LM my 就是加载了 my 这个插件。LM 是 load-module 的简写。PaoTin++ 中为了方便输入,发明了很多这种简写,以后会慢慢接触到。
* 我们可以用 MOD my 命令,来观察我们的插件。
* 插件加载之后,就立即开始执行了,本例中,执行结果就是创建了一个定时器,会定时向服务器发送 dazuo 命令。
那么,如何停止机器呢?
KM my
https://pkuxkx.net/wiki/_media/tools/paotin/tutor/pasted/20240427-035500.png
https://pkuxkx.net/wiki/_media/tools/paotin/tutor/pasted/20240427-035512.png
然后你就会发现,模块消失了,定时器不见了。也不会继续打坐了。
很好,我们完成了一个循环。我们学会了怎么创建机器人,怎么让它停止工作,接下来我们要修改它,让它更完善。
别忘了我们的目标,是做一个完善的打坐机器人。
首先,把我们的第二个小板凳复制到 Notepad2 中,先不急着在游戏里执行,而是分析一下它存在的问题。
#tick dz {dazuo 100} 1;
https://pkuxkx.net/wiki/_media/tools/paotin/tutor/pasted/20240427-035549.png
你会发现,它首先存在一个问题,就是不管角色有没有正在打坐(忙),每秒钟都会丢给服务器一个 dazuo 100 的命令。
所以我们可以做个判断:
第三个小板凳
#tick dz {
#if { @char.IsBusy{} } {
#return;
};
dazuo 100;
} 1;
这段话的意思是说,如果(#if)角色正忙(@char.IsBusy{}),那么我们就直接中断(#return)这个定时器,提前结束本次运行。
把上面这段话复制到 Notepad2 中去:
https://pkuxkx.net/wiki/_media/tools/paotin/tutor/pasted/20240427-035653.png
有些爱动手的同学可能会选择亲自敲一遍,很好!说明你很善于学习!请务必告诉我你的名字,我要奖励你!
但是,在手敲的时候,一定要注意,所有的标点符号都必须是半角!。很多人常常在这个环节栽跟头,希望你不会是其中一个。
然后保存,再回到游戏中试一下:
KM my; LM my
https://pkuxkx.net/wiki/_media/tools/paotin/tutor/pasted/20240427-035718.png
https://pkuxkx.net/wiki/_media/tools/paotin/tutor/pasted/20240427-035834.png
你会发现,现在就好多了。似乎已经成功了!
没错,如果你要求不高的话,这已经是一个能用的打坐机器人了。
如果你恰好有事,想早点结束,那么我宣布,下课!
预留1 预留2 预留3 群主好,我是雨落,看完了,全部明白,很简单很好理解,一会儿有空我去试试。
炮哥,你忘记这个了吗?最后更新时间1年前...........................{:7_274:}
tianzaishui 发表于 2024-4-27 10:39 PM
炮哥,你忘记这个了吗?最后更新时间1年前...........................
这个没忘。还在完善。你这哪里截的图?显然不是最新的。 dtp 发表于 2024-4-27 10:49 PM
这个没忘。还在完善。你这哪里截的图?显然不是最新的。
炮总这回的教程很适合刚入门的,建议收录到wiki。本雪的那篇需要一些基础才看的明白,吓退新手 tianzaishui 发表于 2024-4-27 11:12 PM
我有空了看看。你先升级一下 pt,现在和你 A 的那会儿变化很大。
页:
[1]
2