So what I have done is I have created a pistol with wiki help, and I cloned it so there are 2 pistols in a game space. What is supposed to happen is when you pick up both, both are destroyed and you are given dual pistols. The problem is, only one of the pistols are destroyed and the player still gets the dual pistols. So, what am I doing wrong? (both pistols are exactly the same)
Here is the script:
local tool = script.Parent
local user
local ammo = 12
local fireIco = 'rbxasset://textures/GunCursor.png'
local reloadingIco = 'rbxasset://textures/GunWaitCursor.png'
function checkForOtherPistols()
local player = game.Players:GetPlayerFromCharacter(script.Parent.Parent)
if script.TimesRun.Value == 0 then
player.Pistols.Value = player.Pistols.Value + 1
script.TimesRun.Value = 1
if player.Pistols.Value == 2 then
local clone = game.Lighting["Dual Pistols"]:Clone()
clone.Parent = player.Backpack
wait(1)
print("Destroying a pistol...")--Debug Helper
script.Parent:Destroy()
end
end
end
--when the tool is equipped
tool.Equipped:connect(function(mouse)
checkForOtherPistols()
mouse.Icon = fireIco
--store the character of the person using the tool
user = tool.Parent
--when the left mouse button is clicked
mouse.Button1Down:connect(function()
if ammo ~= 0 then --make and do a hit test along the ray
local ray = Ray.new(tool.Handle.CFrame.p, (mouse.Hit.p - tool.Handle.CFrame.p).unit*300)
local hit, position = game.Workspace:FindPartOnRay(ray, user)
--do damage to any humanoids hit
local humanoid = hit and hit.Parent and hit.Parent:FindFirstChild("Humanoid")
if humanoid then
if hit.Name == "Head" then
humanoid:TakeDamage(10000000)
end
humanoid:TakeDamage(30)
end
--draw the ray
local distance = (position - tool.Handle.CFrame.p).magnitude
local rayPart = Instance.new("Part", user)
rayPart.Name = "RayPart"
rayPart.BrickColor = BrickColor.Yellow()
rayPart.Transparency = 0.5
rayPart.Anchored = true
rayPart.CanCollide = false
rayPart.TopSurface = Enum.SurfaceType.Smooth
rayPart.BottomSurface = Enum.SurfaceType.Smooth
rayPart.formFactor = Enum.FormFactor.Custom
rayPart.Size = Vector3.new(0.2, 0.2, distance)
rayPart.CFrame = CFrame.new(position, tool.Handle.CFrame.p) * CFrame.new(0, 0, -distance/2)
--add it to debris so it disappears after 0.1 seconds
game.Debris:AddItem(rayPart, 0.1)
ammo = ammo - 1
script.Fire:Play()
else
for i = 1, 12 do
script.Reload:Play()
mouse.Icon = 'rbxasset://textures/GunWaitCursor.png'
wait(0.5)
end
ammo = 12
mouse.Icon = fireIco
end
end)
end)
