Run it
Copy the script and paste it into your executor.
CONFIG = {
TELEPORT_DELAY = ,
COOLDOWN_TIME = ,
FADE_IN = ,
FADE_OUT = ,
WEIGHT = ,
SPEED = ,
ANIMATIONS = {
Z = {
ID = ,
IS_TOGGLE = ,
DURATION = ,
AUDIO_ID =
},
X = {
ID = ,
IS_TOGGLE = ,
DURATION = ,
AUDIO_ID =
},
C = {
ID = ,
IS_TOGGLE = ,
DURATION = ,
AUDIO_ID =
}
},
AUDIO_VOLUME =
}
(serviceName)
success, service = (()
:(serviceName)
)
success service
(t, f, fallback)
(f) == t f
fallback
cloneref = (, cloneref, (...) ... )
Services = ({}, {
__index = (_, name)
((name))
})
ReplicatedStorage = Services.ReplicatedStorage
Players = Services.Players
UIS = Services.UserInputService
RunService = Services.RunService
(ReplicatedStorage Players UIS)
()
AudioModule = {
PlayGlobalAudio = (audioId, volume)
(audioId) ~=
()
soundVolume = volume CONFIG.AUDIO_VOLUME
success =
remoteSuccess = (()
GunSoundEvent = ReplicatedStorage:():(, )
GunSoundEvent
GunSoundEvent:(, audioId, soundVolume)
success =
()
)
.(()
player = Players.LocalPlayer
player
character = player.Character
character
character = player.CharacterAdded:()
humanoidRootPart = character:(, )
humanoidRootPart
()
sound = .()
sound.SoundId = .. (audioId)
sound.Volume = soundVolume
sound.Looped =
sound.Name = .. .()
sound.Parent = humanoidRootPart
sound.RollOffMode = .RollOffMode.Linear
sound.EmitterSize =
sound.MaxDistance =
connection
connection = sound.Ended:(()
sound sound.Parent
sound:()
connection connection:()
)
sound:()
.(, ()
sound sound.Parent
sound:()
)
)
success
}
AnimationSystem = {
CurrentTrack = ,
AnimationPlaying = ,
ActiveCooldowns = {},
ActiveThreads = {},
Humanoid = ,
Character =
}
AnimationSystem:()
player = Players.LocalPlayer
player
self.Player = player
self.Character = player.Character
self.Character
self.Humanoid = self.Character:(, )
player.CharacterAdded:((newCharacter)
self.Character = newCharacter
self.Humanoid = newCharacter:(, )
self:()
)
self.Humanoid
self.Humanoid.Died:(()
self:()
)
AnimationSystem:()
self.CurrentTrack
(()
self.CurrentTrack:()
self.CurrentTrack =
)
self.AnimationPlaying =
_, thread (self.ActiveThreads)
.(thread)
self.ActiveThreads = {}
AnimationSystem:(animationId)
self.Humanoid
()
self.CurrentTrack
(()
self.CurrentTrack:(CONFIG.FADE_OUT)
self.CurrentTrack =
)
animInstance
success, result = (()
:( .. (animationId))
)
animId
success result #result > result[]:()
animInstance = result[]
animId = animInstance.AnimationId
animId = .. (animationId)
animInstance = .()
animInstance.AnimationId = animId
newTrack = self.Humanoid:(animInstance)
newTrack.Priority = .AnimationPriority.Action4
weight = CONFIG.WEIGHT
weight == weight =
newTrack:(CONFIG.FADE_IN, weight, CONFIG.SPEED)
self.CurrentTrack = newTrack
self.AnimationPlaying =
newTrack
AnimationSystem:(key)
config = CONFIG.ANIMATIONS[key]
config
(, key)
self.ActiveCooldowns[key]
self.ActiveCooldowns[key] =
.(CONFIG.COOLDOWN_TIME, ()
self.ActiveCooldowns[key] =
)
config.AUDIO_ID
AudioModule.(config.AUDIO_ID, CONFIG.AUDIO_VOLUME)
track = self:(config.ID)
track
( .. key .. ..
(config.DURATION ( .. config.DURATION .. ) ))
config.DURATION
thread = .(()
.(config.DURATION)
self.CurrentTrack == track self.AnimationPlaying
self.CurrentTrack:(CONFIG.FADE_OUT)
self.CurrentTrack =
self.AnimationPlaying =
( .. key .. )
)
self.ActiveThreads[key] = thread
AnimationSystem:(key)
config = CONFIG.ANIMATIONS[key]
config config.IS_TOGGLE
(, key)
self.ActiveCooldowns[key]
self.ActiveCooldowns[key] =
.(CONFIG.COOLDOWN_TIME, ()
self.ActiveCooldowns[key] =
)
self.AnimationPlaying self.CurrentTrack
self.CurrentTrack:(CONFIG.FADE_OUT)
self.CurrentTrack =
self.AnimationPlaying =
( .. key .. )
self:(config.ID)
( .. key .. )
InputSystem = {
KeyBindings = {
[.KeyCode.Z] = ()
AnimationSystem:()
,
[.KeyCode.X] = ()
AnimationSystem:()
,
[.KeyCode.C] = ()
AnimationSystem:()
}
}
InputSystem:()
UIS
()
UIS.InputBegan:((input, gameProcessed)
gameProcessed
keyHandler = self.KeyBindings[input.KeyCode]
keyHandler
()
)
()
success = (()
remote = ReplicatedStorage:():()
remote
remote:({s = })
)
success
()
()
()
()
(CONFIG.TELEPORT_DELAY)
AnimationSystem:()
()
InputSystem:()
()
()
()
()
()
()
()
()
()
.()
AnimationSystem.Humanoid AnimationSystem.Humanoid.Parent
()
.AnimationSystemLoaded
()
.AnimationSystemLoaded =
success, err = (Main)
success
(, err)
.AnimationSystemLoaded =
:().DescendantRemoving:((descendant)
descendant ==
AnimationSystem:()
.AnimationSystemLoaded =
()
)
(:())()Loads code from the internet. It downloads more code when it runs (loadstring + HttpGet), which can change after it was posted. From: rawscripts.net.
by ghost_33828936

Universal