全站通知:

Docs:Permissions

阅读

    

2024-04-21更新

    

最新编辑:Xmmxt

阅读:

  

更新日期:2024-04-21

  

最新编辑:Xmmxt

来自新怪谈:秘密实验室WIKI_BWIKI_哔哩哔哩
跳到导航 跳到搜索
页面贡献者 :
鬼灵-Gスト
TamedFlame
秘密实验室_官方频道
个人认证:bilibili 知名游戏UP主

服务器名称命令值

服务器名称命令插值(SNCI)是Megapatch II中包含的功能。

它为服务器名称提供了一种简单易用的脚本形式。如果正确使用,它比SMod的服务器名称变量提供更多功能。这些也可以用在玩家列表标题上。

如何使用SNCI

命令的语法是{command_name,arg1,arg2,arg...},放置在服务器名称中。所有字符都可以转义以便在封闭符号中使用 { , } 或 , 。这意味着如果您想要在服务器名称中使用它们,则需要在 { , } 或 , 前加上反斜杠(\)。命令名称或参数的空格不会被修剪。

例子

在这种情况下,以下将是我们的服务器名称:

<color=#b0b>The Stetzone</color>\n<color=#{random_list,b00,0b0,b0b}>Ruleless Anarchy</color>\n<color=#fc0><size=10>
{scp_counter} SCPs | {add,{alive_team,1},{alive_team,3}} Foundation Personnel | {add,{alive_team,2},{alive_team,4}}
Insurgents/Prisoners {warhead_detonated,| ☢ WARHEAD DETONATED ☢,}\n[{round_duration_minutes}:{round_duration_seconds}]
</size></color>

在服务器列表上,显示为一个20/20服务器,名称为:

<color=#b0b>The Stetzone</color>

<color=#b00>Ruleless Anarchy</color>

<color=#fc0><size=10>3/5 SCPs | 12 Foundation Personnel | 4 Insurgents/Prisoners | ☢ WARHEAD DETONATED ☢ [8:29]</size></color>

它显示的原因是:

  1. 插值器遇到 {random_list, b00, 0b0, b0b}。
  2. 插值器从1-3(项目数量)中随机选择一个数字。
  3. 只有当该项目内部存在闭包时,插值器才会解析该项目。
  4. 返回了 b00
  5. 插值器然后移动到{scp_counter}。
  6. 一开始有5个SCP。
  7. 现在只剩下3个。
  8. 返回了3/5。
  9. 插值器继续移动并找到{add,{alive_team,MTF},{alive_team,RSC}}
  10. 插值器解析参数。
  11. {alive_team,1} 解析为9。
  12. {alive_team,3} 解析为3。
  13. 插值器将结果相加。
  14. 返回12.
  15. 插值器滚动并看到 {add,{alive_team,2},{alive_team,4}}。这与#3相同,所以它返回了4,并且我们会跳过它。
  16. 插值器转向下一个闭包: {warhead_detonated,| ☢ WARHEAD DETONATED ☢}
  17. 弹头已经爆炸了,因此选择第一个参数。
  18. 插值器解析第一个参数
  19. 返回 | ☢ WARHEAD DETONATED ☢
  20. 插值器到达 {round_duration_minutes}.
  21. 回合已经进行了8分钟29秒.
  22. 返回8.
  23. 最后 插入者 到达 {round_duration_seconds}.
  24. 回合已经进行了8分钟29秒.
  25. 返回29.

命令

服务器信息

名字 参数 返回
ip None 服务器的IP地址
port None 服务器端口
number None 假设端口从7777开始,服务器编号
version None 主要兼容版本

玩家人数

名字 参数 返回
player_count None 服务器上当前玩家数量
full_player_count None; [full] 服务器上当前的最大玩家人数,如果已满则显示为“full”
max_players None 服务器上的最大玩家数量

回合信息

名字 参数 返回
round_duration_minutes None 回合的持续时间(分钟)
round_duration_seconds None 回合持续时间(以秒为单位,忽略分钟数,始终<60)
kills None 本轮总击杀数
kills_frag None 本轮手榴弹总击杀数
mtf_respawns None 本轮MTF重生次数
warhead_detonated None;[detonated][undetonated] 根据弹头是否已经引爆,显示为“☢ warhead detonated ☢”或空(默认)

存活玩家

名字 参数 返回
alive_role [role ID] 具有该角色的玩家数量。角色ID可以是名称或整数ID
alive_team [team ID] 该团队存活的玩家数量。团队ID可以是名称或整数ID

存活团队的团队编号

团队名称 团队编号
SCP 0
MTF & 设施警卫 1
混沌分裂者 2
科学家 3
D级人员 4
观察者 5
教程角色 6

SCP 信息

名字 参数 返回
scp_counter None 回合初始SCP中的存活SCP(僵尸除外)
scp_start None 回合初始的SCP
scp_killed None 本轮中被消灭的SCP
scp_kills None SCP在本轮中的击杀数
zombies_recalled None 这一轮救回了僵尸数量

D级人员信息

名字 参数 返回
classd_counter None 逃脱的D级人员超过了最初一轮的D级人员
classd_start None 回合初的D级人员
classd_escaped None D级人员逃离数量

科学家信息

名字 参数 返回
scientist_counter None 逃脱的科学家超过了最初一轮的科学家
scientist_start None 回合初的科学家
scientist_escaped None 科学家逃离数量

随机分配

名字 参数 返回
random [max]; [min] [max] 在最小值(默认为0)和最大值之间的随机十进制数。
random_list [item 1] [item 2] […] 一个随机物品

常数

名字 参数 返回
constant_e None Euler's number.
constant_pi None Pi (π).

操作

名字 参数 返回
add [a] [b] a + b
subtract [a] [b] a - b
multiply [a] [b] a * b
division [a] [b] a / b
power [a] [b] a ^ b
log [value]; [base] [value] Log [base] (default 10) of [value].
ln [value] Natural log of [value]

循环

名字 参数 返回
round [value] 四舍五入到最接近的整数。
round_up [value] 四舍五入到最接近的整数。
round_down [value] 向最接近的整数取整

对比

名字 参数 返回
equals [a] [b] 通过字符串表示检查 [a] 和 [b] 的相等性。
greater [a] [b] "True" if [a] > [b], else "False".
lesser [a] [b] "True" if [a] < [b], else "False".
greater_or_equal [a] [b] "True" if [a] >= [b], else "False".
lesser_or_equal [a] [b] "True" if [a] <= [b], else "False".

布尔逻辑

名字 参数 返回
not [value] Inverts [value].
or [a] [b] "True" if [a] OR [b] are true, else "False".
and [a] [b] "True" if [a] AND [b] are true, else "False".
xor [a] [b] "True" if [a] OR [b] but NOT [a] AND [B], else "False".
if [condition] [a]; [condition] [a] [b] [a] if [condition] is true else [b] (default empty)