如何让此功能转到播放器而不是工作区

问题描述 投票:0回答:1

我在这里想做的是,当玩家触摸这个随机生成的球时,它会增加他的领导者统计得分。

本地生成 = 0

虽然确实如此 如果生成 >= 5 那么 休息 结尾 本地 Randombumber1 = math.random(1, 30) 本地 Randombumber2 = math.random(1, 30) 生成 = 生成 + 1 等等(3)

local PointBall = Instance.new("Part", workspace)

PointBall.Size = Vector3.new(1,1,1)
PointBall.BrickColor = BrickColor.new("White")
PointBall.Material = "Neon"
PointBall.Shape = Enum.PartType.Ball -- Makes it a sphere
PointBall.Anchored = true -- Anchors the part so it doesn't move
PointBall.CanCollide = false -- Makes it so that players can walk through the ball
PointBall.Position = Vector3.new(Randombumber1,3,Randombumber2)


PointBall.Touched:Connect(function(player)
    local PlayerPoints = player.Parent.leaderstats.Dookie
    PlayerPoints.Value = PlayerPoints.Value + 1
    PointBall:Destroy()
end)

结束

错误消息是leaderstats不是模型“Workspace.ASWXDYC2”的有效成员
我希望将其发送给“玩家”中的玩家,您知道如何解决此问题吗?

lua roblox roblox-studio
1个回答
0
投票

PointBall.Touched:Connect(function(player)
此功能将简单地响应触摸
PointBall
的部分。这部分当然如果
Workspace
因此它不起作用。

为了解决这个问题,我们有

GetPlayerFromCharacter()
功能,然后我们可以应用 Leaderstats 更改。

local Players = game:GetService("Players")

PointBall.Touched:Connect(function(hitPart)
    local player = Players:GetPlayerFromCharacter(hitPart.Parent)
    local PlayerPoints = player.leaderstats.Dookie
    PlayerPoints.Value = PlayerPoints.Value + 1
    PointBall:Destroy()
end)
© www.soinside.com 2019 - 2024. All rights reserved.