我正在尝试制作一个GUI(在roblox工作室中),当一个角色点击一个按钮时,他或她将被给予装备。
ServerScriptService代码
local Event = Instance.new("RemoteEvent")
Event.Parent = game.ReplicatedStorage
Event.Name = "UniformGiveEvent"
local Shirt = "rbxassetid://182645836"
local Pants = "rbxassetid://824967650"
function GiveUni(plr)
local character = plr.Character
local shirt = character.Shirt
local pants = character.Pants
shirt.ShirtTemplate = Shirt
pants.PantsTemplate = Pants
end
Event.OnServerEvent:Connect(GiveUni)
GUI本地脚本
local button = script.Parent.GiveUniform
local debounce = true
local UniEvent = game.ReplicatedStorage:WaitForChild("UnifromGiveEvent")
button.MouseButton1Click:Connect(function()
if debounce then
debounce = false
UniEvent:FireServer()
end
end)
Event.Name = "UniformGiveEvent"
local UniEvent = game.ReplicatedStorage:WaitForChild("UnifromGiveEvent")
至少,您的事件名称中有一个简单的拼写错误以及您正在等待的孩子的姓名。 (UniformGiveEvent / UnifromGiveEvent)
当您触发服务器时,您尚未将播放器发送到服务器。你没有参数,函数(GiveUni
)需要(一个玩家)。
要解决这个问题,只需更改这两行;
button.MouseButton1Click:Connect(function()
button.MouseButton1Click:Connect(function(player)
和
UniEvent:FireServer()
UniEvent:FireServer(player)