Hi SH,
I'm trying to make a game but I cannot for the life of me figure out why this script does no damage. It's annoying.
--Decs --[[_PRINT=function(m) local i=Instance.new("StringValue") i.Value=m i.Parent=game.Workspace.PRINT end]] Player=game.Players.LocalPlayer Tool=script.Parent Handle=Tool.Barrel Debris=game:GetService("Debris") --GunStats MagSize=30 FireRate=1.6 Accuracy=.15 Damage=100 ReloadTime=1.6 MaxRange=999 --States Ammo=MagSize Enabled=true Firing=false Equipped=false MouseDown=true Reloading=false --Laser LaserPart=Instance.new("Part") LaserPart.Name="Bullet" LaserPart.formFactor=0 LaserPart.BrickColor=BrickColor.new("Really red") LaserPart.Anchored=true LaserPart.CanCollide=false LaserPart.Locked=true LaserPart.Size=Vector3.new(1, 1, 1) LaserPart.TopSurface=0 LaserPart.BottomSurface=0 Mesh=Instance.new("SpecialMesh", LaserPart) Mesh.MeshType="Brick" Mesh.Name="Mesh" Mesh.Scale=Vector3.new(.2, .2, 1) --Tag creator=Instance.new("ObjectValue") creator.Name="creator" creator.Value=Player --Funcs ray_Cast=function(start,finish,ign) --Returns Part,Position local AimVector=(finish-start).unit local HitPart,HitPos=game.Workspace:FindPartOnRay(Ray.new(start,AimVector*MaxRange),ign) if HitPart and HitPos then if HitPart.Transparency==1 or HitPart.Name=="Bullet" then HitPart,HitPos=ray_Cast(HitPos,AimVector*MaxRange,ign) end end return HitPart,HitPos end _Dammage=function(Hum) local Emn=game.Players:GetPlayerFromCharacter(Hum.Parent) if Emn and (Emn~=Player) then if Emn.TeamColor~=Player.TeamColor then local tag=creator:clone() tag.Parent=Hum delay(.4,function()tag:Destroy()end) Hum:TakeDamage(Damage) end end end gun_Fire=function(aim) Tool.Name="["..Ammo.."]" local RayOrigin=Player.Character.Head.Position local PartOrigin=Handle.Position local FrDist=(PartOrigin-aim).magnitude local spread=Accuracy local FinalAim=Vector3.new((aim.x)+(math.random(-(spread/10)*FrDist,(spread/10)*FrDist)),(aim.y)+(math.random(-(spread/10)*FrDist,(spread/10)*FrDist)),(aim.z)+(math.random(-(spread/10)*FrDist,(spread/10)*FrDist))) local HitPart,HitPos=ray_Cast(RayOrigin,FinalAim,Player.Character) local BulletLength=(PartOrigin-HitPos).magnitude local CFram=CFrame.new(PartOrigin,HitPos) local Laser1,Laser2=LaserPart:clone(),LaserPart:clone() Laser1.CFrame=CFram*CFrame.new(0,0,-BulletLength*.75) Laser1.Mesh.Scale=Vector3.new(Laser1.Mesh.Scale.x,Laser1.Mesh.Scale.y,BulletLength*.5) Laser2.CFrame=CFram*CFrame.new(0,0,-BulletLength*.25) Laser2.Mesh.Scale=Vector3.new(Laser1.Mesh.Scale.x,Laser1.Mesh.Scale.y,BulletLength*.5) Laser1.Parent=game.Workspace Laser2.Parent=game.Workspace Debris:AddItem(Laser2,.03) Debris:AddItem(Laser1,.06) if HitPart then local Hum=HitPart.Parent:FindFirstChild("Humanoid") if not Hum then Hum=HitPart.Parent.Parent:FindFirstChild("Humanoid") end if Hum then _Dammage(Hum) end end end _Reload=function(mouse) if not Reloading then Handle.Reload:Play() Tool.Name="[REL]" mouse.Icon="rbxasset://textures\\GunWaitCursor.png" Reloading=true wait(ReloadTime) Enabled=true Ammo=MagSize Reloading=false mouse.Icon="rbxasset://textures\\GunCursor.png" Tool.Name="["..Ammo.."]" end end mouseDown=function(mouse) MouseDown=true if Firing==false then while (MouseDown and not Reloading) and (Ammo>0) do Firing=true Ammo=Ammo-1 Handle.Fire:Play() gun_Fire(mouse.hit.p) wait(FireRate) end Firing=false end if Ammo<=0 then _Reload(mouse) end end mouseUp=function(mouse) MouseDown=false end keyDown=function(mouse,key) if key=="r" then _Reload(mouse) end end Tool.Equipped:connect(function(mouse) Player.Character.Humanoid.Changed:connect(function(p) if p=="Health" and Player.Character.Humanoid.Health<=0 then Tool:remove() end end) Tool.Name="["..Ammo.."]" mouse.Icon="rbxasset://textures\\GunCursor.png" Equipped=true mouse.Button1Down:connect(function() mouseDown(mouse) end) mouse.Button1Up:connect(function() mouseUp(mouse) end) mouse.KeyDown:connect(function(key) keyDown(mouse,key) end) end) Tool.Unequipped:connect(function() Equipped=false MouseDown=false end) mouse=game.Players.LocalPlayer mouse.MouseButton1Down:connect(function() if mouse.Target then if mouse.Target.Parent:FindFirstChild("Humanoid")~=nil then mouse.Target.Parent.Humanoid:TakeDamage(100) elseif mouse.Target.Parent.Parent:FindFirstChild("Humanoid")~=nil then mouse.Target.Parent.Parent.Humanoid:TakeDamage(100) end end end)
What am I doing wrong?