本地和非本地克隆 [Lua]

我一直在尝试在Roblox Studio中制作一款剑斗游戏。我制作了一个商店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)

提前致谢!

原文链接 https://stackoverflow.com/questions/71190965

点赞
stackoverflow用户2860267
stackoverflow用户2860267

当需要在服务器上执行工作时(而不是在客户端本地执行),您可以使用RemoteEvents跨客户端与服务器之间通信。

首先,在共享位置(如ReplicatedStorage)创建一个RemoteEvent。

接下来,更新您的客户端LocalScript,以触发RemoteEvent:

local player = game.Players.LocalPlayer
local buyEvent = game.ReplicatedStorage.RemoteEvent

script.Parent.MouseButton1Click:Connect( function()
    buyEvent:FireServer()
end)

最后,您需要在Workspace或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)
2022-02-20 11:26:00