2017-01-30 7 views
1

Я пытаюсь добавить денежную систему в игру. Я добавил скрипт, который дает 2500 $ в NumberValue внутри LocalPlayer, когда ребенок добавляется к игрокам. Но я не уверен, как я могу создать NumberValue в скрипте, и я не могу использовать instance.new, потому что NumberValues ​​являются абстрактными. Есть идеи?Создание абстрактного объекта в LocalScript (Roblox LUA)

Edit- Вот код, который я попробовал, что клоны уже существующие 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) 
+0

Не могли бы вы показать код, который вы пробовали? Как-то это не имеет большого смысла. – Kamiccolo

+0

Ну нет кода для показа, и это в значительной степени теперь пустая функция и функция connect – MCbigminer

+0

Прежде всего, включите FilteringEnabled и ** не ** используйте LocalScripts для этого. Это должно быть сделано * server-sided * – warspyking

ответ

0

Я понятия не имею, что вы имеете в виду, что NumberValues являются «абстрактными» (уточнить?). Но не должно быть ничего, что мешает вам создать его с помощью Instance.new

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

И, как warspyking said, вы должны делать это на сервере и you should have FilteringEnabled.

В основном положить нормальный сценарий в «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.