Ok, so I have this pistol, when i kill someone, it gives me money. But then i have this hyper laser gun that when i kill people it does not give me money. And some people have said it is something to do with the humanoid, but i dont know what, so please help.

here is the hyper laser gun script

-----------------

--| Constants |--

-----------------

  

local SHOT_SPEED = 500

local SHOT_TIME = 5

  

local NOZZLE_OFFSET = Vector3.new(0, 0.5, 5)

  

-----------------

--| Variables |--

-----------------

  

local PlayersService = Game:GetService('Players')

local DebrisService = Game:GetService('Debris')

  

local Tool = script.Parent

local Handle = Tool:WaitForChild('Handle')

local holdtrack

local rl

local firetrack

local FireAnim = script.Parent:WaitForChild('FireAni')

local FireSound = Handle:WaitForChild('Fire')

local idleAnim = script.Parent:WaitForChild('idle')

local reloadAnim = script.Parent:WaitForChild('Reload')

local ReloadSound = Handle:WaitForChild('Reload')

local HitFadeSound = script:WaitForChild('HitFade')

  

local PointLight = Handle:WaitForChild('PointLight')

  

local Character = nil

local Humanoid = nil

local Player = nil

  

local BaseShot = nil

  

-----------------

--| Functions |--

-----------------

  

-- Returns a character ancestor and its Humanoid, or nil

local function FindCharacterAncestor(subject)

if subject and subject ~= Workspace then

local humanoid = subject:FindFirstChild('Humanoid')

if humanoid then

return subject, humanoid

else

return FindCharacterAncestor(subject.Parent)

end

end

return nil

end

  

-- Removes any old creator tags and applies new ones to the specified target

local function ApplyTags(humanoid, Player)

while humanoid:FindFirstChild('creator') do

humanoid.creator:Destroy()

end

  

local creatorTag = Instance.new('ObjectValue')

creatorTag.Value = Player

creatorTag.Name = 'creator'

creatorTag.Parent = humanoid --NOTE: Must be called 'creator' for website stats

  

local iconTag = Instance.new('StringValue')

iconTag.Value = Tool.TextureId

iconTag.Name = 'icon'

  

iconTag.Parent = creatorTag

creatorTag.Parent = humanoid

DebrisService:AddItem(creatorTag, 4)

end

  

-- Returns all objects under instance with Transparency

local function GetTransparentsRecursive(instance, partsTable)

local partsTable = partsTable or {}

for _, child in pairs(instance:GetChildren()) do

if child:IsA('BasePart') or child:IsA('Decal') then

table.insert(partsTable, child)

end

GetTransparentsRecursive(child, partsTable)

end

return partsTable

end

  

local function SelectionBoxify(instance)

local selectionBox = Instance.new('SelectionBox')

selectionBox.Adornee = instance

selectionBox.Color = BrickColor.new('New Yeller')

selectionBox.Parent = instance

return selectionBox

end

  

local function Light(instance)

local light = PointLight:Clone()

light.Range = light.Range + 2

light.Parent = instance

end

  

local function FadeOutObjects(objectsWithTransparency, fadeIncrement)

repeat

local lastObject = nil

for _, object in pairs(objectsWithTransparency) do

object.Transparency = object.Transparency + fadeIncrement

lastObject = object

end

wait()

until lastObject.Transparency == 0 or not lastObject

end

  

local function Dematerialize(character, humanoid, firstPart)

humanoid.WalkSpeed = 16

  

local parts = {}

for _, child in pairs(character:GetChildren()) do

if child:IsA('BasePart') then

child.Anchored = true

table.insert(parts, child)

end

end

  

local selectionBoxes = {}

  

local firstSelectionBox = SelectionBoxify(firstPart)

Light(firstPart)

wait(0.05)

  

for _, part in pairs(parts) do

if part ~= firstPart then

table.insert(selectionBoxes, SelectionBoxify(part))

Light(part)

end

end

  

local objectsWithTransparency = GetTransparentsRecursive(character)

FadeOutObjects(objectsWithTransparency, 0)

  

wait(0.5)

  

DebrisService:AddItem(character, 2)

  

end

  

local function OnTouched(shot, otherPart)

local character, humanoid = FindCharacterAncestor(otherPart)

if character and humanoid and character ~= Character then

humanoid.Health = 0

ApplyTags(humanoid)

if shot then

local hitFadeSound = shot:FindFirstChild(HitFadeSound.Name)

if hitFadeSound then

hitFadeSound.Parent = humanoid.Torso

hitFadeSound:Play()

end

shot:Destroy()

end

end

end

  

local function OnEquipped()

Character = Tool.Parent

Humanoid = Character:WaitForChild('Humanoid')

Player = PlayersService:GetPlayerFromCharacter(Character)

holdtrack = Humanoid:LoadAnimation(idleAnim)

holdtrack:Play()

end

  

local function OnActivated()

if Tool.Enabled and Humanoid.Health > 0 then

Tool.Enabled = false

  

FireSound:Play()

firetrack = Humanoid:LoadAnimation(FireAnim)

firetrack:Play()

  

local handleCFrame = Handle.CFrame

local firingPoint = handleCFrame.p + handleCFrame:vectorToWorldSpace(NOZZLE_OFFSET)

local shotCFrame = CFrame.new(firingPoint, Humanoid.TargetPoint)

  

local laserShotClone = BaseShot:Clone()

laserShotClone.CFrame = shotCFrame + (shotCFrame.lookVector * (BaseShot.Size.Z / 2))

local bodyVelocity = Instance.new('BodyVelocity')

bodyVelocity.velocity = shotCFrame.lookVector * SHOT_SPEED

bodyVelocity.Parent = laserShotClone

laserShotClone.Touched:connect(function(otherPart)

OnTouched(laserShotClone, otherPart)

end)

DebrisService:AddItem(laserShotClone, SHOT_TIME)

laserShotClone.Parent = Tool

  

wait(0.6) -- FireSound length

  

ReloadSound:Play()

rl = Humanoid:LoadAnimation(reloadAnim)

rl:Play()

wait(1.5) -- ReloadSound length

  

Tool.Enabled = true

end

end

  

local function OnUnequipped()

if holdtrack then

holdtrack:Stop()

end

end

  

--------------------

--| Script Logic |--

--------------------

  

BaseShot = Instance.new('Part')

BaseShot.Name = 'Effect'

BaseShot.FormFactor = Enum.FormFactor.Custom

BaseShot.Size = Vector3.new(0.2, 0.2, 3)

BaseShot.CanCollide = false

BaseShot.BrickColor = BrickColor.new('New Yeller')

SelectionBoxify(BaseShot)

Light(BaseShot)

HitFadeSound:Clone().Parent = BaseShot

  

Tool.Equipped:connect(OnEquipped)

Tool.Unequipped:connect(OnUnequipped)

Tool.Activated:connect(OnActivated)

1 comment

0

Nothing seems to telling the money to go up?