Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local RS = game:GetService("ReplicatedStorage")
- local Tween = game:GetService("TweenService")
- local Debris = game:GetService("Debris")
- local GodSpeedModeTool = script.Parent.Parent:WaitForChild("God Speed[Mode]")
- local GSMove1 = script.Parent.Parent:WaitForChild("Move1")
- local Player = GodSpeedModeTool.Parent.Parent
- local Character = Player.Character or Player.CharacterAdded:Wait()
- local Humanoid = Character:WaitForChild("Humanoid")
- local Debounce = {}
- local EffectOn = {}
- local Moves = {
- Move1 = {};
- }
- local MouseRange = 250 -- the range for the mouse
- local Cooldown = 2 -- Mode Cooldown
- local Duration = 5 -- Length of God Speed
- local Move1_Cooldown = .5 -- First Move Cooldown
- -- MODE --
- local function Movement(Humanoid, WalkSpeed, JumpPower)
- Humanoid.WalkSpeed = WalkSpeed;
- Humanoid.JumpPower = JumpPower;
- end
- local function ApplyParticle(Value, Duration)
- for i,v in pairs(Value:GetChildren()) do
- local Effect = RS.Effects.Aura.ExplosionBrightspot:Clone()
- Effect.Parent = v
- game.Debris:AddItem(Effect,Duration)
- end
- end
- local function KnockUp(Target, Duration,STR1,STR2)
- local EffectVelocity = Instance.new("BodyVelocity", Target:FindFirstChild("HumanoidRootPart"))
- EffectVelocity.MaxForce = Vector3.new(1, 1, 1) * 1000000;
- EffectVelocity.Velocity = Vector3.new(1, 1, 1) * Character.HumanoidRootPart.CFrame.UpVector * math.random(STR1, STR2)
- game.Debris:AddItem(EffectVelocity, Duration)
- end
- local function MousePos()
- local MousePosition = RS.Events.RemoteFunction:InvokeClient(Player) -- Getting the Mouse Position
- if (Character.HumanoidRootPart.Position - MousePosition).Magnitude <= MouseRange then -- Make Mouse Range
- return MousePosition -- Return if it's in range
- end
- return Character.HumanoidRootPart.Position, print("Out Of Range") -- if not then they do the move in place
- end
- GodSpeedModeTool.Activated:Connect(function()
- if Debounce[Player] then return end
- if EffectOn[Player] then return end
- EffectOn[Player] = true
- for Index,Value in pairs(Character:GetChildren()) do -- Adding the particles
- local AuraEffect = RS.Effects.Aura:Clone()
- if not Value:IsA("BasePart") then continue end
- for NumIndex, NumValue in pairs(AuraEffect:GetChildren()) do
- NumValue.Parent = Value
- end
- end
- Movement(Humanoid,50,55) -- Start Speed
- task.wait(Duration)
- Movement(Humanoid,16,50) -- Reset Speed
- for i,v in pairs(Character:GetDescendants()) do -- Removing the Particles
- if not v:IsA("ParticleEmitter") then continue end
- v:Destroy()
- end
- EffectOn[Player] = not true -- Make Sure [Moves] can't be used
- Debounce[Player] = true -- NOT FIRING ON COOLDOWN
- task.delay(Cooldown + .5, function() -- Making Debounce Basically
- Debounce[Player] = nil
- end)
- end)
- -- MOVE --
- GSMove1.Activated:Connect(function()
- if not EffectOn[Player] then return end
- if Moves.Move1[Player] then return end
- Moves.Move1[Player] = true
- local Properties = {
- Position = MousePos() + Vector3.new(0,10,0);
- Orientation = Vector3.new(0,math.rad(90),0)
- }
- local Tweenv1 = Tween:Create(Character.HumanoidRootPart,
- TweenInfo.new(.3,Enum.EasingStyle.Quad),
- Properties
- );Tweenv1:Play()
- Tweenv1.Completed:Connect(function()
- local Radius = 15
- RS.Events.Crater:FireAllClients(Radius, (Character.HumanoidRootPart.CFrame).Position, 2)
- local Paramas = OverlapParams.new()
- Paramas.FilterDescendantsInstances = {Character, game.Workspace.Baseplate}
- Paramas.FilterType = Enum.RaycastFilterType.Blacklist
- Paramas.MaxParts = math.huge
- for Index,Value in pairs(workspace:GetPartBoundsInRadius((Character.HumanoidRootPart.CFrame).Position,Radius + 1,Paramas)) do
- if Value.Parent:FindFirstChildOfClass("Humanoid") and not table.find(Moves.Move1, Value.Parent) then
- Moves.Move1[#Moves.Move1 + 1] = Value.Parent
- Value.Parent.Humanoid:TakeDamage(10)
- KnockUp(Value.Parent,.3,50,70)
- ApplyParticle(Value.Parent,2)
- Movement(Value.Parent:FindFirstChild("Humanoid"),2,10)
- task.delay(2,function()
- Movement(Value.Parent:FindFirstChild("Humanoid"),16,50)
- end)
- end
- end
- end)
- wait(Move1_Cooldown)
- for i,v in pairs(Moves.Move1) do
- Moves.Move1[i] = nil
- end
- Moves.Move1[Player] = nil
- end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement