Bot/zh: Difference between revisions
Content added Content deleted
(Created page with "==== 范例: ====") |
(Created page with "MCPK-bot 是一款 Discord 机器人,旨在取代 MathBot 进行运动计算。事实上,一直重新定义函数让人厌烦,而且语法使用起来也不太方便。MathBot 作为一种通用计算工具仍然非常有用。") |
||
(20 intermediate revisions by 2 users not shown) | |||
Line 1:
<languages/>
__NOTOC__
MCPK Bot 当前不可用,请转用 Mothball
MCPK 机器人是一个致力于取代 MathBot 来计算运动的 Discord 机器人。实际上,一直重新定义函数越来越令人厌烦,而且语法使用起来也不太方便。MathBot 作为通用计算工具仍然非常有用。▼
([https://github.com/CyrenArkade/mothball 自述文件])。
▲MCPK-bot 是一款 Discord 机器人
相对于 Mathbot 的'''优点''':
Line 69 ⟶ 74:
==== 范例: ====
* 12t 跳跃:%height 12
*
Line 78 ⟶ 81:
<span id="Blip"></span>
==
'''%blip''' <重复次数> ''[初始高度]'' ''[卡角高度] [最后跳跃 Tick 数]''
返回连续卡角后玩家的高度(按惯例,Y=0 作为地面)
* <重复次数> 为连续卡角的次数
* [初始高度] 是玩家第一次起跳前的初始高度(默认:0.0)
* [卡角高度] 是卡角所用平面的高度(例如:地毯为 0.0625,活板门为 0.1875……)
* 除非指定了 [最后跳跃 Tick 数],否则按照默认值(6 tick)来返回跳跃的最高高度。
<span id="Examples:"></span>
====
* starting from Y=200: %blip 4
* 荷叶 17
Line 112 ⟶ 105:
<span id="Simulate"></span>
==
▲'''%simulate''' <actions> (or simply '''%'''<actions>)
从左到右读取给出的操作,并模拟运动的结果。
Line 176 ⟶ 164:
|Lwalkjump
Rwalkjump
|无疾跑跳跃,在跳跃
|-
|sprintjump
Line 186 ⟶ 174:
|Lsprintjump
Rsprintjump
|疾跑跳跃,在跳跃
范例:用于 rex bwmm
|-
|Lsprintjump45
Rsprintjump45
|疾跑跳跃,在跳跃期间向左('''L'''eft)或右('''R'''ight)
范例:用于 1bm 5-1
|}
Line 206 ⟶ 194:
* '''Blocks''',和 '''b''' 将输出的落地距离转换成方块(如果不为零,在 X 和 Z 轴上 ± 0.6)
* '''Meters''',和 '''m''' 将输出的落地距离转换成米(
* '''Position''','''pos''',以及 '''p''' 将输出转换为相对位置(当你不在计算跳跃距离时使用)
Line 213 ⟶ 201:
<span id="Usage:"></span>
===
语法分析器从左向右读取操作和记号。所有的操作和记号应当用空格分隔。
'''Momentum''' 记号可以置于任意两个操作之间。
'''Blocks''','''Meters''' 与 '''Position''' 记号置于语句末尾(不可同时使用)。
|
Latest revision as of 04:56, 16 August 2023
MCPK Bot 当前不可用,请转用 Mothball (自述文件)。
MCPK-bot 是一款 Discord 机器人,旨在取代 MathBot 进行运动计算。事实上,一直重新定义函数让人厌烦,而且语法使用起来也不太方便。MathBot 作为一种通用计算工具仍然非常有用。
相对于 Mathbot 的优点:
- 更充实且更具描述性的输出
- 内置了函数:不需要手动重定义它们。
- 机器人使用浮点数运算而不是分数,因此模拟更精确。
- 对于模拟运动:
- X 和 Z 运动都被考虑在内,并计入了动量阈值。
- 操作是从左到右读取的,读写起来更方便。
- 所有操作都有方向这一可选参数。
距离
%distance <X> [Z]
返回 X 乘 Z 跳跃的真距(以方块为距离单位,Z 方向为可选变量)
公式就是简单的
范例:
- 4b 跳跃:%distance 4
- 3x3 跳跃:%distance 3 3
滞空时间
%duration <跳跃高度> [天花板高度]
对于给定的高度,返回一个跳跃的滞空时间(高度以方块为单位,天花板高度为可选变量)
范例:
- -1.5b 跳跃:%duration -1.5
- 3bc +1 跳跃:%duration 1 3
高度
%height <起跳 Tick 数> [天花板高度]
返回玩家 n ticks 后的起跳高度(天花板高度可选填)
范例:
- 12t 跳跃:%height 12
- 2bc 9t 跳跃:%height 9 2
卡角
%blip <重复次数> [初始高度] [卡角高度] [最后跳跃 Tick 数]
返回连续卡角后玩家的高度(按惯例,Y=0 作为地面)
- <重复次数> 为连续卡角的次数
- [初始高度] 是玩家第一次起跳前的初始高度(默认:0.0)
- [卡角高度] 是卡角所用平面的高度(例如:地毯为 0.0625,活板门为 0.1875……)
- 除非指定了 [最后跳跃 Tick 数],否则按照默认值(6 tick)来返回跳跃的最高高度。
范例:
- starting from Y=200: %blip 4
- 荷叶 17 连卡角:%blip_top 17 0.015625
模拟
%simulate <操作>(或仅输入 %<操作>)
从左到右读取给出的操作,并模拟运动的结果。
操作:
操作拥有两个变量:
- 刻:操作的持续时间,以刻为单位
- 方向(可选):操作的方向(不是 facing),以度为单位
操作 | 介绍 |
---|---|
stop, stop_air | 无输入 |
sneak, sneak_air | 潜行 |
sneak45, sneak45_air | 带有 45°斜跑的潜行 |
sneaksprint,
sneaksprint_air |
带有疾跑的潜行(用于 1.14+,or for sprint delay in air) |
sneaksprint45,
sneaksprint45_air |
Sneak with sprint (used for 1.14+, or for sprint delay in air) |
walk, walk_air | 行走 |
walk45, walk45_air | 带有 45°斜跑的行走 |
sprint, sprint_air | 疾跑 |
sprint45, sprint45_air | 带有 45°斜跑的疾跑 |
stopjump | 无移动跳跃 |
walkjump | 无疾跑跳跃 |
walkjump45 | 无疾跑跳跃,在跳跃期间使用 45°斜跑 |
Lwalkjump
Rwalkjump |
无疾跑跳跃,在跳跃的 tick 向左(Left)或右(Right)斜键。 |
sprintjump | 疾跑跳跃 |
sprintjump45 | 疾跑跳跃,在跳跃期间使用 45°斜跑 |
Lsprintjump
Rsprintjump |
疾跑跳跃,在跳跃的 tick 向左(Left)或右(Right)斜键。
范例:用于 rex bwmm |
Lsprintjump45
Rsprintjump45 |
疾跑跳跃,在跳跃期间向左(Left)或右(Right)斜跑。
范例:用于 1bm 5-1 |
在操作前添加“max_”以获得该操作的最大加速(将该操作重复 20 次)
特殊符号:
- Momentum,MM,以及 | 将当前的操作设置为助跑(在最后一 tick 重置位置的负值)
- Blocks,和 b 将输出的落地距离转换成方块(如果不为零,在 X 和 Z 轴上 ± 0.6)
- Meters,和 m 将输出的落地距离转换成米(默认值)
- Position,pos,以及 p 将输出转换为相对位置(当你不在计算跳跃距离时使用)
用法:
语法分析器从左向右读取操作和记号。所有的操作和记号应当用空格分隔。
Momentum 记号可以置于任意两个操作之间。
Blocks,Meters 与 Position 记号置于语句末尾(不可同时使用)。
范例:
- 延立:% sprint | sprintjump(12)
- rex bwmm:% walkjump(12,180) walk(1,180) Lsprintjump(12) | sprintjump(12)
- 1bm 5-1:% walkjump45(12,170) walk45(1,170) Lsprintjump45(1,-10) sprint45_air(11) |