2015-07-27 3 views
1

У меня есть этот скрипт в кирпиче:Roblox Получить имя игрока, который щелкнул кирпич

local giver = 1 

function onClicked() 
    game.Players.[I NEED THE PLAYER NAME HERE].leaderstats.Clicks.Value = game.Players.[I NEED THE PLAYER NAME HERE].leaderstats.Clicks.Value + giver 
end 

script.Parent.ClickDetector.MouseClick:connect(onClicked) 

Теперь мне нужно каким-то образом получить имя игрока, который щелкнул его и положил его там, где мне нужно.

ответ

1

ClickDetectors «s MouseClick события есть„Щелчок Player“в качестве параметра, так что вы можете сделать это следующим образом:

local giver = 1 

function onClicked(Player) 
    Player.leaderstats.Clicks.Value = Player.leaderstats.Clicks.Value + giver 
end 

script.Parent.ClickDetector.MouseClick:connect(onClicked) 

Однако это требует FilteringEnabled быть установлено в ложь (не Рекомендован).

Чтобы решить эту проблему, сделать LocalScript в кирпиче с кодом:

script.Parent.ClickDetector.MouseClick:connect(function(Player) 
    game.ReplicatedStorage:WaitForChild("BrickClick"):InvokeServer(script.Parent) 
end) 

И в Script помещенного в ServerScriptService сайта:

local Listener = game.ReplicatedStorage:FindFirstChild("BrickClick") 
if Listener == nil then 
    Listener = Instance.new("RemoteFunction") 
    Listener.Name = "BrickClick" 
    Listener.Parent = game.ReplicatedStorage 
end 

function Listener.OnServerInvoke(Player,Brick) 
    Player.leaderstats.Clicks.Value = Player.leaderstats.Clicks.Value + 1 
end 

Я не укажу вы до wiki page для дальнейшего чтения, даже подумали, что он содержит немного того, что вам нужно, он содержит слишком мало информации.

ClickDetector's MouseClick info, the guide about FilteringEnabled и the guide about RemoteFunctions - лучше.

+0

сейчас я получаю эту ошибку каждый раз: '02: 14: 08.231 - ServerScriptService.local Listener = game.ReplicatedStorage: 5: неправильный аргумент # 3 - 'имя' (строка ожидается, получен объект) 02: 14: 08.232 - Скрипт 'ServerScriptService.local Listener = game.ReplicatedStorage', строка 5 02: 14: 08.232 - Stack End' –

+0

, но все, кажется, работает .. –

+0

и скрипт также переименовывает себя во весь текст кода –