主题
Script
概览
| 字段 | 值 |
|---|---|
| Kind | Unit · 单位 Unit |
| Realm | common |
继承关系
- Unit(4 属性 / 25 函数 / 6 事件)
- BaseScript(1 属性)
- [Script]
- BaseScript(1 属性)
继承成员
2 个来源 / 5 属性 / 25 函数 / 6 事件
- 来自 BaseScript(1 属性)
- 属性:
SourceCode
- 属性:
- 来自 Unit(4 属性 / 25 函数 / 6 事件)
- 属性:
AssetId、Name、Desc、Parent - 函数:
ClearAllChildren、GetChildren、GetDescendants、IsAncestorOf、IsDescendantOf、FindFirstAncestor、FindFirstAncestorWhichIsA、FindFirstAncestorOfClass、FindFirstChild、FindFirstChildWhichIsA、FindFirstChildOfClass、HasChildren、GetChildCount、GetChildAtIndex、SetAttribute、GetAttribute、GetAllProps、Clone、IsA、Destroy、GetPropertyChangedSignal、GetAttributeChangedSignal、FindFromPath、GetFullPath、GetDebugId - 事件:
ChildAdded、ChildRemoved、DescendantAdded、DescendantRemoving、AncestryChanged、Destroying
- 属性:
Script 是服务端脚本 Unit,继承 BaseScript 的 SourceCode 字段,用于承载只在服务器侧执行的 Lua 逻辑。
适用场景
当需要在场景中创建或检查服务端脚本对象时,可通过 game:CreateUnit("Script", config) 创建后挂到 World 或其他合适父节点;客户端脚本应使用 LocalScript,复用模块逻辑应使用 ModuleScript。
使用要点
创建 Script 后设置 SourceCode,再把 Parent 挂到 World 等运行层级。Script 自身不提供额外函数,常用操作来自 Unit/BaseScript 继承成员。
代码示例
创建服务端 Script 并挂到 World
lua
-- @runtime server
local World = game:GetService('World')
local scriptUnit = game:CreateUnit('Script', {
Name = 'ServerHello',
SourceCode = "print('hello from server script')",
})
scriptUnit.Parent = World
print('脚本源码:', scriptUnit.SourceCode)