跳至正文
版本:latest - a1.147.x ⚖️

📦 包

代表当前包的类

🗿Static Class
This is a Static Class. Access it's methods directly with .. It's not possible to spawn new instances.
💂Authority
This static class can be accessed on both 🟧 Client and 🟦 Server side.
🧑‍💻API Source
This page is auto-generated! The Functions, Properties and Events described here are defined in our GitHub's API Repository! Feel free to commit suggestions and changes to the source .json API files!

🗿 静态函数

ReturnsNameDescription
Export使任何变量在全局作用域中可用
FlushPersistentData立即将待处理的持久化数据更改刷新到磁盘中
stringGetCompatibilityVersion返回包的兼容性版本
table of stringGetDirectories获取此包中所有目录的列表
table of stringGetFiles获取此包中所有文件的列表
stringGetName返回包的名称/路径
tableGetPersistentData从磁盘获取持久化值
stringGetTitle返回包的标题
stringGetVersion返回包的版本
booleanIsUnloading返回当前包是否正在卸载
functionLoadFile编译一个 .lua 文件并返回一个用于运行该文件的函数
ReloadClientFileClient/Shared/ 文件夹重新加载文件并向客户端发送更新后的版本,触发其上的 FileReload 事件
anyRequire加载一个 .lua 文件
SetPersistentData设置一个将保存到磁盘的持久化值
functionSubscribeSubscribes to an Event
Unsubscribe退订此特定类和此特定包中所有已订阅的事件,可选择传递函数以仅退订该回调

Export

使任何变量在全局作用域中可用
Package.Export(variable_name, value)

Parameters

TypeParameterDefaultDescription
stringvariable_name Required parameter 要导出的变量名称
anyvalue Required parameter 要在全局作用域中设置的值

FlushPersistentData

立即将待处理的持久化数据更改刷新到磁盘中
Package.FlushPersistentData()

GetCompatibilityVersion

返回包的兼容性版本
local ret = Package.GetCompatibilityVersion()

Returns

TypeDescription
string包的兼容性版本

GetDirectories

获取此包中所有文件的列表,可选择使用筛选器
local ret = Package.GetDirectories(path_filter?)

Parameters

TypeParameterDefaultDescription
stringpath_filter?路径过滤器

Returns

TypeDescription
table of string目录列表

GetFiles

获取此包中所有文件的列表,可选择使用筛选器
local ret = Package.GetFiles(path_filter?, extension_filter?)

Parameters

TypeParameterDefaultDescription
string or tablepath_filter?路径过滤器
stringextension_filter?示例:.lua

Returns

TypeDescription
table of string文件列表

GetName

返回包的名称/路径
local ret = Package.GetName()

Returns

TypeDescription
string包的名称/路径

GetPersistentData

从磁盘获取持久化值
local ret = Package.GetPersistentData(key?)

Parameters

TypeParameterDefaultDescription
stringkey?用于获取数据的键

Returns

TypeDescription
table来自磁盘的持久化值

See also SetPersistentData.


GetTitle

返回包的标题
local ret = Package.GetTitle()

Returns

TypeDescription
string包的标题

GetVersion

返回包的版本
local ret = Package.GetVersion()

Returns

TypeDescription
string包的版本

IsUnloading

返回当前包是否正在卸载
local ret = Package.IsUnloading()

Returns

TypeDescription
booleanNo description provided

LoadFile

编译一个 .lua 文件并返回一个用于运行该文件的函数。适用于在沙箱环境中加载文件。

支持与 Package.Require 相同的搜索路径。
local ret = Package.LoadFile(file_path)

Parameters

TypeParameterDefaultDescription
stringfile_path Required parameter 要编译的脚本文件路径

Returns

TypeDescription
function用于运行脚本的已编译函数,允许你为该脚本传入一个环境 env 表 with this format
Package.LoadFile Examples
Loading a .lua file sandboxed
local func = Package.LoadFile("MyScript.lua")

-- Only allows this file to access Console
local my_env = { Console = Console }

local content = func(my_env)

-- Access all global variables set by the script in my_env
my_env.GlobalVariableFromFile...

See also Require.


ReloadClientFile

Client/Shared/ 文件夹重新加载文件并向客户端发送更新后的版本,触发其上的 FileReload 事件

重新加载的文件将被重新缓存,并由新连接的客户端正常下载

请注意,此方法确实会占用主网络通道,因此不建议在生产环境中频繁或对大文件使用,因为这可能会导致网络拥堵和延迟峰值。它主要用于开发目的,以便在客户端文件上进行更快的迭代,而无需重新加载整个包
Package.ReloadClientFile(file_path)

Parameters

TypeParameterDefaultDescription
stringfile_path Required parameter 相对于包根目录的文件路径

See also FileReload.


Require

加载一个 .lua 文件。注意,此方法会缓存结果,因此后续调用将返回缓存的值。

我们目前支持 5 个搜索器,按以下顺序查找:
  1. 相对于 current-file-path/
  2. 相对于 current-package/Client/current-package/Server/(取决于你所在的位置)
  3. 相对于 current-package/Shared/
  4. 相对于 current-package/
  5. 相对于 Packages/

注:客户端将只能下载并访问 Client/Shared/ 文件夹。

local ret = Package.Require(file_path, force_load?)

Parameters

TypeParameterDefaultDescription
stringfile_path Required parameter 要加载的脚本文件路径
booleanforce_load?false是否强制加载此文件,即使它已经被加载过

Returns

TypeDescription
any包含文件中的任何返回值

See also LoadFile.


SetPersistentData

设置一个将保存到磁盘的持久化值。注意,实际刷新到磁盘的操作是延迟进行的,可能不会立即发生
Package.SetPersistentData(key, value)

Parameters

TypeParameterDefaultDescription
stringkey Required parameter 要将数据索引到的键。可以用“.”分隔以设置子元素。
anyvalue Required parameter 要在键上设置的值

See also GetPersistentData.


Subscribe

Subscribes to an Event
local ret = Package.Subscribe(event_name, callback)

Parameters

TypeParameterDefaultDescription
stringevent_name Required parameter 要订阅的事件
functioncallback Required parameter 事件发生时运行的回调函数

Returns

TypeDescription
function函数回调

Unsubscribe

退订此特定类和此特定包中所有已订阅的事件,可选择传递函数以仅退订该回调
Package.Unsubscribe(event_name, callback?)

Parameters

TypeParameterDefaultDescription
stringevent_name Required parameter 要退订的事件
functioncallback?nil用于专门退订的可选回调

🚀 事件

NameDescription
FileReload当使用 Package.ReloadClientFile() 直接从服务器重新加载文件时调用
Load在此包加载时调用
Unload在此包卸载时调用

FileReload

当使用 Package.ReloadClientFile() 直接从服务器重新加载文件时调用

你可以使用该路径通过 Package.Require(path, true) 在运行时重新加载文件
Package.Subscribe("FileReload", function(file_path)
-- FileReload was called
end)

Arguments

TypeArgumentDescription
stringfile_path文件路径

See also ReloadClientFile.


Load

在此包加载时调用

此事件的触发因情况而异:
  • 服务器启动或你运行 package reload all 时,该事件仅在所有包加载完毕后才会触发。
  • 在所有其他情况下(package load/reloadPackage.Load/Reload),该事件会在包加载/重新加载后立即触发。
Package.Subscribe("Load", function()
-- Load was called
end)

Unload

在此包卸载时调用
Package.Subscribe("Unload", function()
-- Unload was called
end)