基本上,我试图使两个工具激活相同的功能,除了一个工具使功能更新一个领导者统计信息,而另一个工具使功能更新另一个领导者统计信息
local remote = game.ReplicatedStorage.Give
remote.OnServerEvent:Connect(function(Player)
local plr = Player
if Activated by Starterpack.Child.Cloud then
plr.leaderstats.JumpBoost.Value = plr.leaderstats.JumpBoost.Value +10
or if Activated by Starterpack.Child.Speed then
plr.leaderstats.Speed.Value = plr.Leaderstats.Speed.Value +10
end
end)
我希望它允许一个工具激活与另一个工具相同的功能,但更改不同的领导者统计
答案 0 :(得分:0)
RemoteEvent.FireServer允许您在调用它时传递任意数量的args。让您的工具各自提供不同的标识符,然后您可以在RemoteEvent.OnServerEvent中取消标识符。
工具1内的LocalScript-云
local remoteGive = game.ReplicatedStorage.Give
local tool = script.Parent
tool.Equipped:Connect(function()
remoteGive:FireServer("Cloud")
end
工具2中的LocalScript-速度
local remote = game.ReplicatedStorage.Give
local tool = script.Parent
tool.Equipped:Connect(function()
remote:FireServer("Speed")
end)
服务器脚本
local remote = game.ReplicatedStorage.Give
remote.OnServerEvent:Connect(function(Player, toolId)
if toolId == "Cloud" then
Player.leaderstats.JumpBoost.Value = Player.leaderstats.JumpBoost.Value + 10
elseif toolId == "Speed" then
Player.leaderstats.Speed.Value = Player.Leaderstats.Speed.Value + 10
end
end)