服务器脚本 - ServerScript

官方定义

(脚本)是一种 Lua 代码容器,它的内容可以在服务器上运行。默认情况下,脚本中会包含 print("Hello, world") 内容。若符合以下条件,脚本中的 Lua 代码会在一个新线程中运行:
  • Disabled 属性为 false
  • 对象是 WorkspaceServerScriptService 的子类
会持续运行,直到不再符合以上条件,此时它会终结或产生错误(除非该错误是由关联到某些正在触发的事件的函数所引发)。另外,如果 或其父类之一被销毁,线程也会停止。即使 ‘Instance/Parent|Parent’ 属性被设置为 ‘nil’ (但 未被销毁), 仍会继续运行。 可以访问服务器端对象、属性和事件。

自己的理解

其实 很多时候代码逻辑都和 LocalScript 很像,比如同样对一个 Part 进行属性修改(增加大小,颜色等等),玩家 A 执行 LocalScript 的修改操作只能对玩家 A 自己的客户端生效,而执行 的修改操作会对包括 A 的所有玩家的客户端生效。

也有很多 LocalScript 做不到的事情,比如调用数据库相关 API , 发送 HTTP 请求服务等等。

代码示例

1、获取服务器所有玩家对象,并修改他们的移动速度
local players = game:GetService("Players")
local allPlayers = players:GetPlayers()
for _,i in ipairs(allPlayers) do
    local character = i.Character
    character.Movespeed = 100
	print("玩家名称为: "..i.Name.."的移动速度修改为100")
end
Last Updated: