介绍篇

这个帖子能帮助你实现哪些功能?
- 传送主城
- 钟表菜单
你还需要哪些功能请告诉我,这个帖子会实时更新
正文
安装指南(Skript Resource, 2024):- 安装
在插件地址下载最新稳定版本并放入服务器的插件文件夹,重启服务器即可使用。预发布版本可在 GitHub 发布页面 找到。
脚本
创建新脚本,在 Skript 的脚本文件夹中(forge\plugins\Skript\scripts)创建 .sk 文件。放入同一文件夹后,重启服务器或使用 /sk reload <文件名称> 加载脚本。
示例
使用示例:新手钟表菜单 - 在 Skript 的脚本文件夹中(forge\plugins\Skript\scripts)创建 give_clock.sk 文件,填入以下脚本并执行 skript reload scripts
INI:
#脚本概述 give_clock.sk
# 首次加入:当玩家第一次加入时,给予他们一个特殊的时钟物品,并发送欢迎信息。
# 每次加入:每次玩家加入时,如果他们没有时钟,将再次给予。
# 时钟命令:当玩家右键点击时钟时,触发一个命令以打开菜单。
# 首次加入
on first join:
give 1 clock named "&e新手钟" with lore "&7右键打开菜单" to player
send "&a欢迎 &e%player%&a 来到服务器!这是你的新手钟。" to player
# 每次加入
on join:
if player does not have a clock:
give 1 clock named "&e新手钟" with lore "&7右键打开菜单" to player
send "&e你没有钟,现在已经补发给你了!" to player
# 时钟命令
on rightclick with clock:
execute player command "dm open default_menu"
INI:
menu_title: "时钟菜单" # 菜单标题
open_command: "时钟菜单" # 打开菜单命令 /时钟菜单
size: 9 # 菜单大小,必须是9的倍数(9, 18, 27, 36, 45, 54)
items:
# 项目 1 - 多世界传送门
portal:
display_name: "&e多世界传送门"
material: "PLAYER_HEAD"
skull-owner: "hdb-48783"
slot: 3
lore:
- "&7它可以打开一个菜单,将你传送到地皮或者其他世界!"
left_click_commands:
- "[console] title %player_name% title {\"text\":\"请修改对应菜单脚本!\",\"color\":\"gold\"}"
- "[close]"
- "[message] &e正在为:%player_name% 打开传送面板"
# 项目 2 - 交易商城
transaction:
display_name: "&e交易商城"
material: "PLAYER_HEAD"
skull-owner: "hdb-1660"
slot: 4
lore:
- "&e购买物品,这里有很多不同的商品,很多很多"
left_click_commands:
- "[console] title %player_name% title {\"text\":\"请修改对应菜单脚本!\",\"color\":\"gold\"}"
- "[close]"
- "[message] &e正在为:%player_name% 打开基础商城"
# 项目 3 - 回归主城
sethome:
display_name: "&e回归主城"
material: "PLAYER_HEAD"
skull-owner: "hdb-38094"
slot: 5
lore:
- "&7这里有很多基础设施,也可以在周边购买房产!"
left_click_commands:
- "[console] title %player_name% title {\"text\":\"请修改对应菜单脚本!\",\"color\":\"gold\"}"
- "[close]"
- "[message] &e正在传送至主城,请勿移动!"
使用示例:延迟传送
- 在 Skript 的脚本文件夹中(forge\plugins\Skript\scripts)创建 delayed_teleport.sk 文件,填入以下脚本并执行 skript reload scripts
INI:
command /delayedtp world <player>:
trigger:
set {_player} to arg-1
set {_nameWorld} to "world" # 设置需要传送到哪个世界
set {_radius} to 3 # 设置半径,单位为块
# 关闭玩家的物品栏
close {_player}'s inventory
# 为指定玩家设置短暂权限,允许在 5 秒内传送到 world
execute console command "lp user %{_player}% permission settemp multiverse.teleport.%{_nameWorld}% true 10s"
# 记录玩家的初始位置
set {_initialPos} to location of {_player}
# 显示倒计时,开始显示为 5 秒
loop 5 times:
set {_counter} to 6 - loop-number
send title "&4&l距离传送还有 %{_counter}% 秒" to arg-1
wait 1 second
# 检查玩家是否移动
if distance between location of {_player} and {_initialPos} > {_radius}:
# 取消传送,提示玩家
send "&c你在倒计时期间移动了,传送已取消!" to arg-1
# 清除权限
execute console command "lp user %{_player}% permission unset multiverse.teleport.%{_nameWorld}% "
stop # 结束命令
# 执行传送命令,将玩家传送到 world
execute console command "mv tp %{_player}% %{_nameWorld}% "
- 在新创建脚本时老脚本部分功能怎么失效了?答:再不重启服务器情况下重载一次失效脚本文件即可 /sk reload <失效脚本名称>
- Unknoun command. Type”/help" for help.?答:在执行时钟命令”dm open default_menu“ 没有安装 DeluxeMenus 插件,需要将其转为你自己服务器想打开的菜单。
2024. Accessed November 1. https://www.spigotmc.org/resources/skript.114544/.
- 内容版权许可
- CC0 1.0 版权共享