在 LocalScript 中创建抽象对象(Roblox LUA)

我正在尝试为游戏添加一个货币系统。当一个子对象被添加到玩家中时,我已经编写了一个在 LocalPlayer 中给出 2500 美元的 NumberValue 的脚本。但是,我不确定如何在脚本中创建一个 NumberValue,因为 NumberValues 是抽象的。有什么想法吗?

编辑- 这里是一些我尝试过的代码,它克隆了一个已经存在的 NumberValue

function AddPlayer()
    local Money = script.Parent.Money
    local Clone = Money:Clone()
    Clone.Parent = game.Players.LocalPlayer
    Clone.Value = 2500
    Clone.Name = "Money"
end

game.Players.ChildAdded:connect(AddPlayer)
点赞
用户1938640
用户1938640

我不知道你所说的NumberValues是什么意思(请澄清?)。但是使用Instance.new创建该对象没有任何障碍。

local Money = Instance.new("NumberValue")
Money.Name = "Money"
Money.Value = 2500

正如warspyking所说,你应该在服务器上进行此操作,并且应启用筛选

基本上将代码放在“Game.ServerScriptService”中的常规脚本中:

game:GetService("Players").PlayerAdded:connect(function(player)
    local Money = Instance.new("NumberValue")
    Money.Name = "Money"
    Money.Value = 2500
    Money.Parent = player
end)

还要注意的是,你应该使用PlayerAdded而不是ChildAdded,因为当添加玩家时,PlayerAdded仅触发一次,而ChildAdded也会在有人将垃圾放入Game.Players时触发。

2017-01-31 18:15:32