DFScript

DFScript

一个DiamondFire模组,允许在游戏内自定义脚本,让你的体验更佳!

管理

Build

DFScript

DFScript 是为 DiamondFire 创建的模组,允许在客户端进行脚本编写。此模组是从已停止维护的模组 CodeUtilities 分离并改进而来。

关于

DFScript 添加了通过新增的“脚本编写”功能来添加新特性的能力。脚本编写是在客户端菜单中构建基于事件的代码(类似于 DiamondFire),其中事件和动作是简单的基于客户端的活动。

例如,脚本可以在玩家收到包含其名字的消息时播放声音,或自动在发送的消息前添加 @ 字符。


要访问脚本菜单,运行 /scripts,会出现一个菜单,显示你已安装的所有脚本。在这里你可以切换、删除、编辑和上传脚本。 (可以通过左上角的按钮访问一个可以禁用脚本的简单菜单。)

要安装脚本,你可以点击“添加”并浏览其他人创建的脚本,或者如果你想自己创建一个,选择“新建脚本”。

创建脚本

要创建新脚本,运行 /script,选择“添加”,然后选择“新建脚本”。为你的脚本命名后,它将被创建并显示在主菜单中。在这里,你可以编辑、上传、删除和切换你的脚本。

以下是每个操作的作用:

  • 编辑图标 编辑:在此菜单中,你可以为脚本添加选项和代码。
  • 上传图标 上传:上传脚本,以便其他安装了此模组的人可以安装和使用它。(他们无法修改代码)
  • 删除图标 删除:永久删除你的脚本。
  • 在此处输入图片描述/在此处输入图片描述 切换:打开或关闭你的脚本。当脚本关闭时,它完全不会运行。(红色表示脚本当前开启,绿色表示脚本当前关闭)

要编辑脚本,选择编辑图标,将打开一个新菜单。在这里,你可以添加代码、更改脚本描述并添加配置选项。

  • 设置图标 在这里你可以写一段关于脚本的简短描述,告诉其他可能使用它的人任何重要信息。 你还可以添加配置选项,用户可以在不访问代码的情况下更改这些选项。这些选项的值可以在你的代码中使用。(更多信息见后文)

交互

左键点击

  • 用于点击按钮
  • 用于向脚本添加代码,以及向代码块添加参数
  • 在脚本菜单中用于编辑代码块的参数
  • 用于选择文本框

右键点击

  • 在脚本菜单中用于调出代码块的小菜单,你可以在其中:
    • 删除代码块
    • 在代码块之前插入代码
    • 在代码块之后插入新代码
  • 也可用于点击按钮

Escape

  • 在任何菜单中用于返回上一个菜单

滚动

  • 上下移动菜单

编辑脚本

请注意,只能编辑你自己制作的脚本中的代码。任何下载的脚本仍然可以被删除、切换和更改其选项,但代码将无法访问。

选择“添加”按钮向脚本添加代码。在那里你可以选择类别和特定的代码块。如果你将鼠标悬停在它们上面,会有关于每个代码块的简短描述,帮助你了解它们的作用。

所有代码都设置在一个菜单中。就像在 DiamondFire 中一样,所有代码必须以事件开头。当该事件被触发时,其中的代码将从上到下运行。

更改参数

大多数代码块需要在其内部设置参数才能正确执行。你可以通过在脚本菜单中将鼠标悬停在代码块的图标上来查看它需要哪些参数。参数后的星号表示该值不是必需的,代码块可以在没有它的情况下运行。

要为这些参数添加值,左键点击你想要编辑的代码块,将弹出一个菜单。代码块中已有的任何参数都会显示出来。要添加值,点击“添加”按钮,将出现一个带有文本输入框的新菜单。


此输入界面有两个重要部分。

  1. 文本框。在这里你输入数字、字符串、变量名或任何其他所需类型的值。在选择类型之前,请确保你已完成想要添加到代码块的值。

  2. 值类型。在这里你选择想要添加到代码块的值类型。例如,如果我想添加一个名为 'score' 的变量,我会在文本框中输入 score,然后点击变量图标(岩浆膏)。一个名为 'score' 的变量将被添加到代码块中。 大多数值类型及其图标(如文本、数字和变量)你可能从 DiamondFire 中已经熟悉,但以下是一些你可能不熟悉的:

    • 客户端值:(无需文本输入。) 选择此值将弹出一个菜单,其中包含与客户端相关的值,非常类似于 DiamondFire 的游戏值。 其中一些可以在任何场景中使用,例如玩家所选快捷栏槽位的编号,或玩家主手物品。 其他的只能用于特定事件下的代码,例如最后收到的消息 (与 'OnRecieveChat' 事件配对) 或最后收到的声音 (与 'OnRecieveSound' 事件配对)。
    • 配置值:(无需文本输入。) 选择此值将弹出一个菜单,其中包含你已添加到脚本中的所有配置选项。它们将作为变量并返回该选项的值。 例如,如果我将选项 1 创建为字符串,并且用户将其设置为 complete,则选项 1 的配置值将返回字符串 'complete'。 这些几乎可以是任何值类型,所以请注意确保你使用的代码块支持该值类型。

目前不支持更改已添加参数的顺序和内容,因此如果犯错,你将不得不删除并重做。

禁用脚本 - !!

有时在创建脚本时,你可能不小心让你的客户端执行违反 DiamondFire 规则的操作,例如让你的客户端刷屏或其他类似行为。如果是这种情况,请立即离开服务器。在你的多人游戏界面的左上角,会有一个按钮(脚本图标),它会打开一个脚本菜单版本,可以在其中禁用脚本。当你重新加入服务器时,该脚本将被禁用。你可以在已禁用的脚本中编辑代码,所以请确保在重新启用脚本之前修复了问题。 如果问题来自非你制作的脚本,请在 discord 中报告该脚本,以便将其移除。

下载脚本

要下载其他人制作的脚本,打开主脚本菜单,选择添加,将出现一个包含其他人制作的脚本列表以及搜索栏。名称旁边带有星号的脚本表示它们已经过验证且可以安全使用。

!! 未经验证的脚本可能存在潜在危险,不是对你的计算机,而是它们可能使你的客户端刷屏或执行在 DiamondFire 上不受欢迎的其他行为。如果你对某个脚本不确定,可以在 discord 中询问。!!

从这里选择一个脚本将弹出一个菜单,显示有关该脚本的信息,如作者名称、脚本 ID,以及是否已获批准。 从这里点击安装按钮将把脚本添加到你的客户端。聊天中会显示一条消息,确认脚本已加载。此下载的脚本将出现在普通脚本菜单中,只是无法上传它或编辑其代码。

命令和文件

所有 DFScript 命令都以 /scripts 开头。

  • /scripts 打开主脚本菜单。
  • /scripts recursion (number) 更改单个 tick 中可以触发的事件数量。
  • /scripts reload 重新加载你机器上的所有脚本。如果你是手动安装或通过文件更改脚本,请使用此命令。
  • /scripts vars (script name) 列出所选脚本中所有变量的值。类似于 DiamondFire 的 /p vars 命令。

要访问脚本文件,请在你的机器上转到 %appdata%\.minecraft\DFScript。这里会有一个 'Scripts' 文件夹,其中包含你已安装的所有脚本,形式为 json 文件。如果脚本管理文本文件,它们将位于名为 scriptname.json-files 的子文件夹中。

你可以通过将 json 文件复制粘贴到其他位置来轻松备份脚本。从此文件夹粘贴和删除 json 文件将在游戏中产生相同的效果,所以请小心你所更改的内容。