ClickDetectors的MouseClick事件将“ Clicking Player”作为参数,因此您可以这样做:
local giver = 1
function onClicked(Player)
Player.leaderstats.Clicks.Value = Player.leaderstats.Clicks.Value + giver
end
script.Parent.ClickDetector.MouseClick:connect(onClicked)
但是,这需要将FilteringEnabled设置为 false(不推荐)。
要解决此问题,请使用以下代码在砖块中创建LocalScript:
script.Parent.ClickDetector.MouseClick:connect(function(Player)
game.ReplicatedStorage:WaitForChild("BrickClick"):InvokeServer(script.Parent)
end)
并在放置在ServerScriptService中的Script中:
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 页面以进一步阅读,即使它包含您需要的一些内容,但它包含的信息太少。
ClickDetector的MouseClick info,关于 FilteringEnabled的指南和关于 RemoteFunctions 的指南更好。