【paotin++】新人向的炮艇驾驶手册
本帖最后由 jinger 于 2024-3-5 09:17 PM 编辑事先声明:
本操作手册不涉及过多理论讲解,每个练习任务的目的、意义需要炮艇驾驶者自行脑补(其实就是因为作者懒)。操作的基本法是:照着做,观察反馈,并思考以下问题:
[*] 为什么他要出这道题?
[*] 这道题涉及的知识可以用在什么地方?
[*] 这个题好眼熟,不是和x.x题一样么?好像有啥不同?
不要害怕看不懂,下面的练习题如果看懂要干什么,反而不用浪费时间跟着一步步做。看不懂才说明这道题正好是在你的知识盲区,只需要照着提示复制代码到客户端运行即可
另外,本楼面向所有炮艇驾驶员征题,希望大家交流经验,共同进步!本楼长期更新,更新后会在新楼层给出提醒。
Log管理与界面
1.1 输入 #echo 哈哈嗨,我来辣!;
1.2 输入 okLog 哈哈嗨,我TM又来辣!;
1.3 输入 okLog <123> 哈哈嗨,我TM又双叒叕来辣!;
1.4 输入 xxxLog 哈哈嗨,我TMD又来辣! 猜猜我在哪?; 输入ctrl-a, | 分屏, mtail 你的id xxx 来观察结果,使用 ctrl-n, ctrl-p 来切换log
1.5 拓展练习:使用 questLog, jhLog, <任意英文字母组合>Log 命令重复步骤4,并思考对应的log保存在哪里了
1.6 输入 ctrl-b 进入 翻滚模式, 输入 ? 哈哈嗨定位查找字符串位置。 输入n、N 查找下一个、上一个,输入ctrl-c退出滚轮模式
1.7 输入 ctrl-a, c 创建新的工作区, mtail 你的id socket buffer, 使用j,k 上下滚动,将两个log滚动到相同时间戳,对比不同
初识模块
2.1 输入 MODS;MOD lib/event,
2.2 依次建立var/plugins, 创建var/plugins/ali.tin, (如果是docker用户,则是建立my-paotin/plugins, 创建my-paotin/plugins/ali.tin文件)在里面输入下面内容并保存,
#var ali {
{NAME} {ali}
{DESC} {常用别名}
{AUTHOR} {只因你太美}
};
#func {ali.Init} {
okLog ali,启动!;
#return true;
};
在paotin中输入 LM ali; MOD ali 并观察输出
2.3 输入 dazuo 500; yun recover;
2.4 输入 LM basic/busy; EM basic/busy;HELP busy;
2.5 输入 dazuo 500; busy.Wait {yun recover}
2.6 输入 dazuo 500; busy.Halt {yun recover};
2.7 打开之前建立的var/plugins/ali.tin文件,在文件尾部加入load-module basic/busy;
#alias {dm} {
#if {"%0" == ""} {
#alias dm.then #0;
};
#else {
#alias dm.then %0;
};
dazuo max;
busy.Wait {
yun recover;
dm.then;
};
};
保存后,在paotin 里输入RLM ali; dm {okLog 打坐完成!,该干点什么好呢?;practice show}
思考题:dm 后面带参数的意义是什么?
小作业:写一个tuna的版本.
2.8 在 var/plugins文件夹内新建act.tin文件, (如果是docker用户,则是建立my-paotin/plugins文件夹,并创建my-paotin/plugins/act.tin文件)在文件中输入:
#var act {
{NAME} {act}
{DESC} {常用触发}
{AUTHOR} {只因你太美}
};
#act {^ %*两白银(Silver)$E} {get silver};
#act {^ %*两黄金(Gold)$E} {get gold};
#act {^ %*银票(Cash)$E} {get cash};
保存后 LM act; drop 1 silver;look;
角色信息、地图信息、任务信息
3.1 输入#var char;
3.2 输入okLog 我的当前血量 $char[当前气血] 我的最大气血 $char[最大气血],我的当前气血恢复 $char[气血恢复] 观察结果
思考题,利用 $char 变量中所有信息,计算当前血量到满血需要自然恢复多少时间
提示:使用 #math ,以及本练习题中涉及的变量
3.3 输入 LM basic/map; HELP map
3.4 输入 #var gMapRoom
3.5 输入 ctrl-o, g 打开GMCP 显示开关,并尝试移动,再使用ctrl-o, g关闭 GMCP显示
3.6 输入 ctrl-o, M (注意大小写)打开地图调试开关,尝试移动,再使用ctrl-o,M 关闭
3.7 输入 LM basic/cmds/jobquery ; jobquery; #var gJobState;
附加题:比较jobquery 和jq的输出结果有何不同
3.8 在任务cd期间,输入 jobquery,观察 此时输出与3.7题的结果有何不同
信息提示栏
4.1 输入 HELP prompt, 阅读文档
4.2 输入 prompt.Set {{job}{<169> 慕容仆人}{area}{铜官山}{room}{酒铺}{type}{<119> 红人}{stage}{线索 (50)}}
4.3 依次输入 prompt.Set {{area}{广州}} 、prompt.Set {{room}{市口}}、 prompt.Set {{stage}{寻人 (50)}} 观察界面变化
4.4 输入 prompt.Set {{job}{}{area}{}{room}{}{stage}{}{type}{}} 观察界面变化
4.5 输入 prompt.Note 机关人线索在江州,walk 13步
4.6 输入 prompt.Note 观察变化
触发器
5.1 *(本题由炮爷提供,武当新手可做)颜色触发器使用:
在plugins下新建文件夹wudang/ 并新建liandan.tin,输入下列内容并保存
#var wudang_liandan {
{NAME}{liandan}
{DESC}{武当炼丹新手任务}
};
#func wudang_liandan.Init {
#return true;
};
#action {~*********\e[1;31m^\e[2;37;0m********} {#delay ld {#send change L} 0};
#action {~*********\e[1;35m^\e[2;37;0m********} {#delay ld {#send change M} 0};
#action {~*********\e[1;33m^\e[2;37;0m********} {#delay ld {#send change H} 0};
领取武当新手任务,并LM wudang/liandan, 观察火焰
未完待续。。
啊,这
沙发 #alias dm.then #cr
这里我建议用 #0 代替 #cr,比较好。
啊,沙发被教主抢走了,只剩板凳了。
dtp 发表于 2023-11-11 10:37 PM
这里我建议用 #0 代替 #cr,比较好。
啊,沙发被教主抢走了,只剩板凳了。
...
收到! 论坛的代码块功能为啥会乱行,搞不懂 以前好像没问题,后来就不好用了。 炮艇比mush的上手门槛高多了,上限也高
你发的这些,其实是已经上手的新人才能看懂的了
比如,okLog这个是需要单独安装的吗?
barderaa 发表于 2023-11-11 10:42 PM
炮艇比mush的上手门槛高多了,上限也高
你发的这些,其实是已经上手的新人才能看懂的了
比如,okLog这个是 ...
不需要,炮艇自带 可以可以可以,这个水平我踮着脚能看懂。楼主加油。 4 5 两条,日志也可以这么看:
mtail dzp xxx
mtail dzp jh
mtail dzp quest
或者组合起来:
mtail dzp xxx jh quest