其他动作
IM 的大部分外部系统集成不是通过动作,而是函数调用——因为它们通常需要返回值(余额、是否成功、物品对象等)。这里把常见的"非动作"快速汇总,便于查找。
LyShop 货币(函数)
| 调用 | 用途 |
|---|---|
lshop_take("绑定金币", 1000) | 扣除(返回 Boolean) |
lshop_give("绑定金币", 500) | 给予 |
lshop_has("绑定金币", 1000) | 检查是否足够 |
lshop_get("绑定金币") | 查询余额 |
yaml
conditions: |
require lshop_has("绑定金币", 1000) : "&c绑定金币不足"
execute: |
lshop_take("绑定金币", 1000)CraftX 永久变量(函数)
| 调用 | 用途 |
|---|---|
cx_set("key", value) | 设置玩家永久变量 |
cx_get("key") | 读取 |
cx_add("key", n) / cx_take("key", n) | 增减 |
cx_has("key", n) | 是否 ≥ |
yaml
execute: |
cx_add("enhance_count", 1)
cx_set("last_enhance", datetime())CraftX 临时变量(带过期)
yaml
execute: |
# 每日次数限制(24 小时后过期)
cxt_set("daily_enhance", 0, 86400000)
日次数 = cxt_get("daily_enhance")
cxt_add("daily_enhance", 1)仓库(函数)
| 调用 | 用途 |
|---|---|
wh_give(物品, 数量) | 发放到默认仓库 |
wh_give(物品, 数量, type) | 发放到指定仓库 |
wh_take(物品, 数量) | 扣除(返回未扣数量) |
wh_has(物品, 数量) | 是否足够 |
wh_count(物品, type) | 统计数量 |
type 可选:"soulringx"("srx")、"lywarehouse"("lw")、"inventory"("inv")、"all"。
yaml
execute: |
wh_give(@output, 1, "soulringx")
钻石数 = wh_count(item.create("DIAMOND"), "all")Vault 物品存储(函数)
yaml
execute: |
物品ID = vault.store(@input) # 返回存储 ID
恢复物品 = vault.get(物品ID) # 按 ID 取回
vault.remove(物品ID) # 删除存储常用于跨服 / 跨会话传递物品,详见 外部集成。
冷却(函数)
yaml
conditions: |
require cooldown_ready("enhance") : "&c冷却中,剩余 {cooldown('enhance')} 秒"
execute: |
cooldown_set("enhance", 60) # 60 秒
cooldown_clear("enhance") # 清除PAPI(函数)
yaml
variables: |
金币 = papi("vault_eco_balance")
解析文本 = papi_parse("欢迎 %player_name%,等级 %player_level%")调试(函数)
yaml
execute: |
log("当前等级:", 当前等级, "成功率:", 成功率)
debug(@input) # 输出物品详情到玩家和控制台动作 vs 函数的判别
| 特点 | 动作 | 函数 |
|---|---|---|
| 调用语法 | 目标.动作.方法(...) 或独立 动作.方法(...) | 函数名(参数) |
| 返回值 | 一般无(返回值不可用) | 有返回值 |
| 链式 | 修改物品类的支持 . 链式 | 不链式 |
| 典型用途 | 修改物品、发消息、扣钱、刷 GUI | 查余额、判断、取值、算术 |
所以外部插件集成一般是函数(需要返回 Boolean 表示"是否成功"或 Number 表示"余额"),而 IM 自己的 money.take / points.take 才是动作(不关心返回值)。