Scripting Helpers is winding down operations and is now read-only. More info→
Ad
Log in to vote
0

How to Fix Double Cloning to Backpack Problem?

Asked by 6 years ago

so I'm trying to make a ButtonGui that when pressed will give a gun (clone) to the LocalPlayer but, the problem is that it cloned 2 times (i think) and ended up like this (2 of the same gun in the backpack) https://gyazo.com/23740e9dd6dec07ab059052eaefc4cd5

these are my scripts

01--server script
02local famas = game.ReplicatedStorage.FAMAS
03local scarL = game.ReplicatedStorage["SCAR-L"]
04local remote = Instance.new("RemoteEvent")
05remote.Parent = game.ReplicatedStorage
06remote.Name = "WeaponEvent"
07local active = game.StarterGui.Activated.Value
08local playerName;
09print("weaponscript test")
10 
11game.Players.PlayerAdded:Connect(function(player)
12    playerName = player.name
13end)
14remote.OnServerEvent:Connect(function()
15    wait(1)
View all 21 lines...

.

1--Local script
2 
3local button = script.Parent
4local weaponRemote = game.ReplicatedStorage:WaitForChild("WeaponEvent")
5 
6button.MouseButton1Click:Connect(function()
7    weaponRemote:FireServer()
8end)

can anyone help?

0
Use FindFirstChild to check if the player does not have a weapon. If they don’t, then clone and parent the weapon to their backpack. Rheines 661 — 6y
0
Don't forget to accept my answer if it solves your problem User#24403 69 — 6y

1 answer

Log in to vote
0
Answered by 6 years ago

You're not checking if they already have the tool or not. You should check that before doing anything.

01--server script
02local ReplicatedStorage = game:GetService("ReplicatedStorage")
03local famas = ReplicatedStorage.FAMAS
04local scarL = ReplicatedStorage["SCAR-L"]
05local remote = Instance.new("RemoteEvent")
06remote.Parent = ReplicatedStorage
07remote.Name = "WeaponEvent"
08 
09-- # you don't need the PlayerAdded event listener here.
10remote.OnServerEvent:Connect(function(client)
11    -- # client is the client that fired this remote event
12    if not client.Backpack:FindFirstChild("FAMAS") and not client.Character:FindFirstChild("FAMAS") then
13        famas:Clone().Parent = client.Backpack
14    end
15end)

Notice the additional check made in the character. When a tool is equipped its parented out of the backpack into the character. So it's not in backpack if it's equipped.

0
You should also mention that you're using the automatically passed reference to the player in your function connected to the `OnServerEvent` signal in your answer. EpicMetatableMoment 1444 — 6y
Ad

Answer this question