this is not possible as the speed of the rocket is based on the lag of the game.
the reload speed is just replace the RocketLauncherScript in model and delete everything in that script and add
001 | local Tool = script.Parent |
002 | local Launcher = Tool.Handle |
004 | local Rocket = Instance.new( "Part" ) |
006 | Rocket.BackSurface = 3 |
007 | Rocket.BottomSurface = 3 |
008 | Rocket.FrontSurface = 3 |
009 | Rocket.LeftSurface = 3 |
010 | Rocket.RightSurface = 3 |
012 | Rocket.Size = Vector 3. new( 1 , 2.5 , 1 ) |
013 | Rocket.BrickColor = BrickColor.new( 23 ) |
017 | local rocketMesh = Instance.new( "SpecialMesh" ) |
020 | rocketMesh.Parent = Rocket |
022 | local debris = game:GetService( "Debris" ) |
030 | function blow(hit, missile) |
031 | if missile = = nil then return end |
032 | if swooshSound then swooshSound:stop() end |
033 | explosion = Instance.new( "Explosion" ) |
034 | explosion.Position = missile.Position |
036 | local creator = missile:FindFirstChild( "creator" ) |
037 | explosion.Hit:connect( function (part, distance) onPlayerBlownUp(part, distance, creator) end ) |
038 | explosion.Parent = game.Workspace |
039 | if explosionSound then explosionSound:Play() end |
041 | if missile then missile:Remove() end |
044 | function onPlayerBlownUp(part, distance, creator) |
045 | if part.Name = = "Head" or part.Name = = "Torso" then |
046 | local humanoid = part.Parent.Humanoid |
047 | tagHumanoid(humanoid, creator) |
051 | function tagHumanoid(humanoid, creator) |
053 | if creator ~ = nil then |
054 | local new_tag = creator:clone() |
055 | new_tag.Parent = humanoid |
059 | function fire(vTarget) |
060 | local vCharacter = Tool.Parent |
061 | local vHandle = Tool:findFirstChild( "Handle" ) |
062 | if vHandle = = nil then |
063 | print ( "Handle not found" ) |
066 | local direction = vTarget - vHandle.Position |
067 | direction = computeDirection(direction) |
068 | local missile = Rocket:clone() |
069 | local pos = vHandle.Position + (direction * 10.0 ) |
070 | missile.CFrame = CFrame.new(pos, pos + direction) * CFrame.Angles(math.pi/ 2 , 0 , 0 ) |
072 | local creator_tag = Instance.new( "ObjectValue" ) |
074 | local vPlayer = game.Players:GetPlayerFromCharacter(vCharacter) |
076 | if vPlayer = = nil then |
077 | print ( "Player not found" ) |
079 | if (vPlayer.Neutral = = false ) then |
080 | missile.BrickColor = vPlayer.TeamColor |
084 | local floatForce = Instance.new( "BodyForce" ) |
085 | floatForce.force = Vector 3. new( 0 , missile:GetMass() * 196.1 , 0.0 ) |
086 | floatForce.Parent = missile |
088 | missile.Velocity = direction * 20.0 |
090 | creator_tag.Value = vPlayer |
091 | creator_tag.Name = "creator" |
092 | creator_tag.Parent = missile |
094 | missile.Parent = game.Workspace |
096 | if swooshSound then swooshSound:Play() end |
098 | missile.Touched:connect( function (hit) blow(hit, missile) end ) |
100 | debris:AddItem(missile, 100.0 ) |
103 | function computeDirection(vec) |
104 | local lenSquared = vec.magnitude * vec.magnitude |
105 | local invSqrt = 1 / math.sqrt(lenSquared) |
106 | return Vector 3. new(vec.x * invSqrt, vec.y * invSqrt, vec.z * invSqrt) |
110 | function onActivated() |
111 | if not Tool.Enabled then |
117 | local character = Tool.Parent; |
118 | local humanoid = character.Humanoid |
119 | if humanoid = = nil then |
120 | print ( "Humanoid not found" ) |
124 | swooshSound = Launcher:FindFirstChild( "Swoosh" ) |
125 | explosionSound = Launcher:FindFirstChild( "Explosion" ) |
127 | local targetPos = humanoid.TargetPoint |
137 | script.Parent.Activated:connect(onActivated) |
change the wait number to how many seconds where I said in the script
hope this helps :)