获取在ROBLOX中点击方块的玩家名称

我在一个方块中有这个脚本:

local giver = 1

function onClicked()
    game.Players.[我需要玩家名称在这里].leaderstats.Clicks.Value = game.Players.[我需要玩家名称在这里].leaderstats.Clicks.Value + giver
end

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

现在我需要一些方法来获取点击它的玩家名称并将其放在我需要的位置。

点赞
用户1938640
用户1938640

ClickDetectorsMouseClick事件将“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信息关于FilteringEnabled的指南以及关于RemoteFunctions的指南

2015-07-28 23:31:43
用户11082561
用户11082561

试一试!

script.Parent.MouseClick:Connect(function(Player)
-- 杀死玩家
-- 参数是指 game.Players,所以如果你想要一个杀死的按钮,可以使用 .Character
Player.Character:BreakJoints()

-- 改变颜色为红色(其他细节)
script.Parent.Parent.BrickColor = BrickColor.new("Really red")
script.Parent.MaxActivationDistance = 0

-- 等待四秒
wait(5)

-- 改变颜色为绿色
script.Parent.Parent.BrickColor = BrickColor.new("Lime green")
script.Parent.MaxActivationDistance = 50
end)
2019-02-19 05:50:07