0% found this document useful (0 votes)
17 views10 pages

Time Stop (DIO) Script

This document outlines a script for implementing DIO's time stop ability from JoJo's Bizarre Adventure in a game environment. It includes player setup, time stop effects, sound effects, and UI setup for mobile controls. The script allows players to stop time, resume it, and teleport while managing various visual and audio effects during these actions.

Uploaded by

allex.koval.12
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
17 views10 pages

Time Stop (DIO) Script

This document outlines a script for implementing DIO's time stop ability from JoJo's Bizarre Adventure in a game environment. It includes player setup, time stop effects, sound effects, and UI setup for mobile controls. The script allows players to stop time, resume it, and teleport while managing various visual and audio effects during these actions.

Uploaded by

allex.koval.12
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

-- [DIO's Time Stop Script] --

-- Based on the main ability of DIO's Stand, The World, from Part 3 of JoJo's Bizarre Adventure.

-- MOST of everything in this script is written by Tsuagon, except for the screenshake part, that was
taken from a tutorial. Credit to the people to made said tutorials and scripts.

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

-- Player Stuff --

local player = game:GetService("Players").LocalPlayer

local char = [Link] or [Link]:Wait()

local head = [Link]

local torso = char:FindFirstChild("Torso") or char:FindFirstChild("UpperTorso")

local root = [Link]

local humanoid = [Link]

local playerhealth = [Link]

local mouse = player:GetMouse()

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

-- General Stuff --

local tween = game:GetService("TweenService")

local lighting = game:GetService("Lighting")

local input = game:GetService("UserInputService")

local frozenobjectstable = {}

seconds = 10 -- (Not used now but you can keep it)


stoppedtime = false

-- Time Stop Effect

local timestopeffect = [Link]("ColorCorrectionEffect")

[Link] = lighting

[Link] = 0

[Link] = 0

[Link] = true

-- Sphere Effect

local function createSphere()

local sphere = [Link]("Part")

[Link] = torso

[Link] = [Link]

[Link] = [Link](0, 0, 0)

[Link] = [Link]

[Link] = false

[Link] = true

[Link] = [Link](1, 1, 1)

[Link] = false

local weld = [Link]("Weld")

weld.Part0 = sphere

weld.Part1 = torso

weld.C0 = [Link]

weld.C1 = [Link]

[Link] = sphere

return sphere

end
local timestopsphere1 = createSphere()

local timestopsphere2 = createSphere()

local timestopsphere3 = createSphere()

-- Sounds

local function createSound(parent, id, vol)

local s = [Link]("Sound", parent)

[Link] = "rbxassetid://"..id

[Link] = vol

return s

end

local timestopvoiceline = createSound(head, "7514417921", 5)

local injuredtimestopvoiceline = createSound(head, "6043864223", 5)

local tssfx = createSound(head, "5679636294", 5)

local timeresumevoiceline = createSound(head, "4329802996", 5)

local injuredtimeresumevoiceline = createSound(head, "6043853981", 5)

local countervoiceline = createSound(head, "6675048510", 5)

local countersfx = createSound(head, "4572672240", 4.5)

local tsteleportsfx = createSound(torso, "3077287610", 4.5)

local clock = createSound(workspace, "4940109913", 4.5)

[Link] = true

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

-- Main Script --

function timestop()

if stoppedtime == true then return end

if [Link] < 50 then


injuredtimestopvoiceline:Play()

wait(1)

tssfx:Play()

elseif [Link] > 50 then

timestopvoiceline:Play()

wait(1.6)

end

settings().[Link] = [Link]

for _, v in pairs(workspace:GetDescendants()) do

if v:IsA("BasePart") then

if not [Link] == true then

if not v:IsDescendantOf(char) then

[Link] = true

[Link](frozenobjectstable, v)

end

end

end

end

[Link]([Link](function()

[Link]([Link](function()

[Link] = true

tween:Create([Link], [Link](1.5,
[Link]), {FieldOfView = 250}):Play();

[Link]([Link](function()

while stoppedtime == false do

tween:Create(timestopeffect, [Link](0.8,
[Link]), {Contrast = -2}):Play();

wait(0.3)

tween:Create(timestopeffect, [Link](0.5,
[Link]), {Saturation = -1}):Play();

wait(0.2)

tween:Create(timestopeffect, [Link](0.5,
[Link]), {Saturation = -2}):Play();

wait()
tween:Create(timestopeffect, [Link](0.8,
[Link]), {Contrast = -2.4}):Play();

wait(0.3)

tween:Create(timestopeffect, [Link](0.5,
[Link]), {Saturation = 1}):Play();

wait(0.2)

tween:Create(timestopeffect, [Link](0.5,
[Link]), {Saturation = -2}):Play();

end

end))

wait(1.7)

tween:Create([Link], [Link](1,
[Link]), {FieldOfView = 70}):Play();

tween:Create(timestopeffect, [Link](1, [Link]),


{Contrast = 0}):Play();

tween:Create(timestopeffect, [Link](1, [Link]),


{Saturation = -0.8}):Play();

end))

[Link]([Link](function()

for _ = 1, 65 do

wait()

local offset1 = [Link](-650, 650) / 700

local offset2 = [Link](-650, 650) / 700

local offset3 = [Link](-650, 650) / 700

tween:Create(humanoid, [Link](0.1), {CameraOffset =


[Link](offset1, offset2, offset3)}):Play();

end

tween:Create(humanoid, [Link](0.1), {CameraOffset = [Link](0,


0, 0)}):Play();

end))

[Link]([Link](function()

tween:Create(timestopsphere1, [Link](1, [Link],


[Link], 0), {Size = [Link](45, 45, 45)}):Play();

tween:Create(timestopsphere2, [Link](1.4, [Link],


[Link], 0), {Size = [Link](40, 40, 40)}):Play();
tween:Create(timestopsphere3, [Link](1.7, [Link],
[Link], 0), {Size = [Link](35, 35, 35)}):Play();

wait(1.7)

tween:Create(timestopsphere1, [Link](1, [Link],


[Link], 0), {Size = [Link](0, 0, 0)}):Play();

tween:Create(timestopsphere2, [Link](1, [Link],


[Link], 0), {Size = [Link](0, 0, 0)}):Play();

tween:Create(timestopsphere3, [Link](1, [Link],


[Link], 0), {Size = [Link](0, 0, 0)}):Play();

end))

[Link]([Link](function()

for _, v in pairs(workspace:GetDescendants()) do

if v:IsA("ParticleEmitter") then

tween:Create(v, [Link](3), {TimeScale = 0}):Play();

end

end

for _, v in pairs(workspace:GetDescendants()) do

if v:IsA("Fire") then

tween:Create(v, [Link](3), {TimeScale = 0}):Play();

end

end

end))

[Link]([Link](function()

for _, v in pairs(workspace:GetDescendants()) do

if v:IsA("Sound") then

if not v:IsDescendantOf(char) then

tween:Create(v, [Link](4), {PlaybackSpeed =


0}):Play();

end

end

end

end))

end))

stoppedtime = true
end

function timeresume()

if stoppedtime == false then return end

if [Link] < 50 then

injuredtimeresumevoiceline:Play()

wait(0.6)

elseif [Link] > 50 then

timeresumevoiceline:Play()

wait(0.9)

end

settings().[Link] = 0

for _, v in pairs(frozenobjectstable) do

if v:IsA("BasePart") then

[Link] = false

end

end

[Link]([Link](function()

for _, v in pairs(workspace:GetDescendants()) do

if v:IsA("ParticleEmitter") then

tween:Create(v, [Link](3), {TimeScale = 1}):Play();

end

end

for _, v in pairs(workspace:GetDescendants()) do

if v:IsA("Fire") then

tween:Create(v, [Link](3), {TimeScale = 1}):Play();

end

end

end))

[Link]([Link](function()

for _, v in pairs(workspace:GetDescendants()) do

if v:IsA("Sound") then
if not v:IsDescendantOf(char) then

tween:Create(v, [Link](2), {PlaybackSpeed = 1}):Play();

end

end

end

end))

tween:Create(timestopeffect, [Link](2, [Link]), {Saturation =


0}):Play();

stoppedtime = false

frozenobjectstable = {}

end

function tsteleport()

if stoppedtime == true then return end

tsteleportsfx:Play()

[Link]([Link](function()

tween:Create(timestopeffect, [Link](0.1), {TintColor = [Link](0, 0,


0)}):Play();

wait(0.2)

tween:Create(timestopeffect, [Link](0.1), {TintColor = [Link](1, 1,


1)}):Play();

end))

[Link] = [Link]([Link].p.X, [Link].p.Y, [Link].p.Z)

end

-- UI Setup for mobile --

local StarterGui = game:GetService("StarterGui")

local screenGui = [Link]("ScreenGui")

[Link] = "TimeStopGUI"

[Link] = player:WaitForChild("PlayerGui")
local timeStopButton = [Link]("TextButton")

[Link] = [Link](0, 80, 0, 80)

[Link] = [Link](0, 110, 1, -110) -- Moved right by 110 pixels from bottom left

timeStopButton.BackgroundColor3 = [Link](0, 0, 0)

[Link] = 0.4

[Link] = 2

timeStopButton.BorderColor3 = [Link](255, 255, 255)

[Link] = "Stop Time"

timeStopButton.TextColor3 = [Link](1, 1, 1)

[Link] = true

[Link] = true

[Link] = screenGui

local teleportButton = [Link]("TextButton")

[Link] = [Link](0, 80, 0, 80)

[Link] = [Link](0, 210, 1, -110) -- Moved right by 210 pixels from bottom left

teleportButton.BackgroundColor3 = [Link](0, 0, 0)

[Link] = 0.4

[Link] = 2

teleportButton.BorderColor3 = [Link](255, 255, 255)

[Link] = "Teleport"

teleportButton.TextColor3 = [Link](1, 1, 1)

[Link] = true

[Link] = true

[Link] = screenGui

timeStopButton.MouseButton1Click:Connect(function()

if stoppedtime == false then

timestop()

else

timeresume()

end
end)

teleportButton.MouseButton1Click:Connect(function()

if stoppedtime == false then

tsteleport()

end

end)

[Link]:Connect(function(key)

if key == "f" then

if stoppedtime == false then

timestop()

else

timeresume()

end

end

if key == "v" and stoppedtime == false then

tsteleport()

end

end)

You might also like