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

How can I make rocket launcher's speed faster?

Asked by 10 years ago

And reload faster too. Thanks, supersupersnivy97

1
Post some script. What have you tried? Read the blog post about how to ask effective questions. Looking forward to helping you out! AxeOfMen 434 — 10y
0
OK thanks supersupersnivy97 0 — 10y

4 answers

Log in to vote
-1
Answered by 10 years ago

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

local Tool = script.Parent
local Launcher = Tool.Handle

local Rocket = Instance.new("Part")
Rocket.Locked = true
Rocket.BackSurface = 3
Rocket.BottomSurface = 3
Rocket.FrontSurface = 3
Rocket.LeftSurface = 3
Rocket.RightSurface = 3
Rocket.TopSurface = 3
Rocket.Size = Vector3.new(1, 2.5, 1)
Rocket.BrickColor = BrickColor.new(23)
Rocket.FormFactor = 3


local rocketMesh = Instance.new("SpecialMesh")
rocketMesh.MeshId = "http://www.roblox.com/asset/?id=31601976"
rocketMesh.TextureId = "http://www.roblox.com/asset/?id=31601599"
rocketMesh.Parent = Rocket

local debris = game:GetService("Debris")

local swooshSound
local explosionSound

local vCharacter
local vPlayer

function blow(hit, missile)
    if missile  == nil then return end
    if swooshSound then swooshSound:stop() end
    explosion = Instance.new("Explosion")
    explosion.Position = missile.Position
    -- find instigator tag
    local creator = missile:FindFirstChild("creator")
    explosion.Hit:connect(function(part, distance) onPlayerBlownUp(part, distance, creator) end)
    explosion.Parent = game.Workspace   
    if explosionSound then explosionSound:Play() end
    wait(.1)
    if missile then missile:Remove() end
end

function onPlayerBlownUp(part, distance, creator)
    if part.Name == "Head" or part.Name == "Torso" then 
        local humanoid = part.Parent.Humanoid
        tagHumanoid(humanoid, creator)
    end
end

function tagHumanoid(humanoid, creator)
    -- tag does not need to expire if all explosions lethal 
    if creator ~= nil then
        local new_tag = creator:clone()
        new_tag.Parent = humanoid       
    end
end

function fire(vTarget)
    local vCharacter = Tool.Parent  
    local vHandle = Tool:findFirstChild("Handle")
    if vHandle == nil then
        print("Handle not found")
        return 
    end
    local direction = vTarget - vHandle.Position
    direction = computeDirection(direction)
    local missile = Rocket:clone()
    local pos = vHandle.Position + (direction * 10.0)       
    missile.CFrame = CFrame.new(pos,  pos + direction) * CFrame.Angles(math.pi/2, 0, 0)

    local creator_tag = Instance.new("ObjectValue")

    local vPlayer = game.Players:GetPlayerFromCharacter(vCharacter)

    if vPlayer == nil then
        print("Player not found")
    else
        if (vPlayer.Neutral == false) then -- nice touch
            missile.BrickColor = vPlayer.TeamColor
        end
    end

    local floatForce = Instance.new("BodyForce")
    floatForce.force = Vector3.new(0, missile:GetMass() * 196.1, 0.0)
    floatForce.Parent = missile

    missile.Velocity = direction * 20.0

    creator_tag.Value = vPlayer
    creator_tag.Name = "creator"
    creator_tag.Parent = missile    

    missile.Parent = game.Workspace

    if swooshSound then swooshSound:Play() end

    missile.Touched:connect(function(hit) blow(hit, missile) end)

    debris:AddItem(missile, 100.0)
end

function computeDirection(vec)
    local lenSquared = vec.magnitude * vec.magnitude
    local invSqrt = 1 / math.sqrt(lenSquared)
    return Vector3.new(vec.x * invSqrt, vec.y * invSqrt, vec.z * invSqrt)
end

Tool.Enabled = true
function onActivated()
    if not Tool.Enabled then
        return
    end

    Tool.Enabled = false

    local character = Tool.Parent;
    local humanoid = character.Humanoid
    if humanoid == nil then
        print("Humanoid not found")
        return 
    end

    swooshSound = Launcher:FindFirstChild("Swoosh")
    explosionSound = Launcher:FindFirstChild("Explosion")

    local targetPos = humanoid.TargetPoint

    fire(targetPos)

    wait(0)--change number to seconds to reload 0=no reloading

    Tool.Enabled = true
end


script.Parent.Activated:connect(onActivated)

change the wait number to how many seconds where I said in the script

hope this helps :)

1
ok thanks :) supersupersnivy97 0 — 10y
0
what about reload speed? supersupersnivy97 0 — 10y
Ad
Log in to vote
0
Answered by
SNOWFKE 25
10 years ago

I'm pretty sure you can edit the scripts within the rocket to speed it up to your liking. I've done that on a few things before.

Log in to vote
0
Answered by 10 years ago

Go on ROBLOX Studio and add to your game the FastRocket tool.

Log in to vote
-1
Answered by 10 years ago

I think i know how, I dont know if this is right but I think that if you go in the bullet script and change the speed it will work

Answer this question