出生点 StartSpawn

数据流向
数据由服务器同步给客户端,客户端无法同步给服务器

描述

StartSpawn 属性决定了玩家角色工作区加载时的初始位置。

该属性默认值为空,且不会被自动赋值。角色加载时,若该属性为空,则会以工作区目录下的第一个出生点对象作为初始出生点
若工作区中不存在出生点,则角色默认在(0,0,0)位置加载

若用户想要设定角色出生点,可以在Players.PlayerAdded事件发生时设置玩家的StartSpawn属性。或者在玩家初始化脚本下添加脚本进行设置

实例

实例1:通过Players.PlayerAdded事件给当前玩家指定出生点

在客户端最先加载下添加脚本,在玩家加载时设置玩家的StartSpawn属性为新建的出生点对象。观察角色加载时的初始位置

local workSpace=GetService("WorkSpace") --获取工作区服务
local spawn=RWObject:New("Spawn") --创建新出生点
spawn.Name="出生点1" --设置新出生点名称
spawn.Anchored=true --将新出生点锚定
spawn.Position=Vector3.New(5,5,5) --设置新出生点位置
Players.PlayerAdded:Connect(function() --玩家被加载后触发该事件
        local player=Players:GetLocalPlayer() --获取当前客户端的玩家
        spawn.Parent=workSpace --在工作区下创建新出生点的实体
        player.StartSpawn=spawn --把玩家下的StartSpawn属性设置为新创建的出生点
    end)

实例2:通过玩家初始化脚本给当前玩家指定出生点

在玩家初始化脚本下添加脚本,在玩家加载时设置玩家的StartSpawn属性为新建的出生点对象。观察角色加载时的初始位置

local workSpace=GetService("WorkSpace") --获取工作区服务
local spawn=RWObject:New("Spawn") --创建新出生点
spawn.Name="出生点1" --设置新出生点名称
spawn.Anchored=true --将新出生点锚定
spawn.Position=Vector3.New(5,5,5) --设置新出生点位置
spawn.Parent=workSpace --在工作区创建新出生点实体
local player=script.Parent.Parent --获取玩家对象
player.StartSpawn=spawn --设置玩家角色的出生点为新建的出生点
文档更新时间: 2020-09-17 13:52   作者:刘征