我一直在尝试在 Roblox 工作室制作一款剑战游戏。我做了一个商店 Gui,这样你就可以点击文本按钮来购买剑。它运作良好,你点击它会检查你的杀戮,如果你有足够的杀戮,你就会得到武器。在这种情况下,击杀数为0。但是当你拿出剑时,你就无法使用它。我已经完成了研究,我相信这是因为它是在本地克隆的,而不是在全球范围内克隆的。是这种情况吗?如果是,我该如何解决?
文本按钮中的脚本:
local player = game.Players.LocalPlayer
script.Parent.MouseButton1Click:Connect(function()
if player.leaderstats.Kills.Value >= 0 then
local clonar = game.ServerStorage.ClassicSword:Clone()
clonar.Parent = player.Backpack
end
end)
提前致谢!
当需要在服务器上执行工作(而不是在客户端本地执行)时,您可以使用 RemoteEvents 跨客户端-服务器边界进行通信。
首先,您需要在共享位置(例如 ReplicatedStorage)创建一个 RemoteEvent。
接下来,更新客户端 LocalScript 以触发 RemoteEvent :
local player = game.Players.LocalPlayer
local buyEvent = game.ReplicatedStorage.RemoteEvent
script.Parent.MouseButton1Click:Connect( function()
buyEvent:FireServer()
end)
最后,您需要在工作区或 ServerScriptService 中创建一个脚本来侦听该 RemoteEvent 并执行向玩家提供项目的工作:
local buyEvent = game.ReplicatedStorage.RemoteEvent
buyEvent.OnServerEvent:Connect( function(player)
if player.leaderstats.Kills.Value >= 0 then
local clonar = game.ServerStorage.ClassicSword:Clone()
clonar.Parent = player.Backpack
end
end)