SHOW:
|
|
- or go back to the newest paste.
| 1 | --loadstring(game:HttpGet("https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/ToolDance.lua"))()
| |
| 2 | setclipboard("509clint_dev")
| |
| 3 | game.StarterGui:SetCore("SendNotification",{
| |
| 4 | - | local Workspace = game:GetService("Workspace")
|
| 4 | + | Title = "From Clint"; |
| 5 | Text = "Discord Username Copied!"; | |
| 6 | Duration = 5; | |
| 7 | }) | |
| 8 | game.StarterGui:SetCore("SendNotification",{
| |
| 9 | Title = "From Clint"; | |
| 10 | - | -- Feature state |
| 10 | + | Text = "Add me on discord to report bugs or uh for more support!"; |
| 11 | - | local silentAimActive = false |
| 11 | + | Duration = 5; |
| 12 | - | local espActive = false |
| 12 | + | }) |
| 13 | - | local espList = {}
|
| 13 | + | game.StarterGui:SetCore("SendNotification",{
|
| 14 | Title = "From Clint"; | |
| 15 | - | -- UI Setup |
| 15 | + | Text = "Have Fun 😱"; |
| 16 | - | local ScreenGui = Instance.new("ScreenGui")
|
| 16 | + | Duration = 5; |
| 17 | - | ScreenGui.Name = "ControlPanel" |
| 17 | + | }) |
| 18 | - | ScreenGui.ResetOnSpawn = false |
| 18 | + | |
| 19 | - | ScreenGui.Parent = LocalPlayer:WaitForChild("PlayerGui")
|
| 19 | + | |
| 20 | ||
| 21 | - | local function createToggleButton(name, position, callback) |
| 21 | + | task.spawn(function() |
| 22 | - | local button = Instance.new("TextButton")
|
| 22 | + | local imageId = "rbxassetid://89287417287641" |
| 23 | - | button.Size = UDim2.new(0, 150, 0, 40) |
| 23 | + | |
| 24 | - | button.Position = position |
| 24 | + | |
| 25 | - | button.BackgroundColor3 = Color3.fromRGB(50, 50, 50) |
| 25 | + | |
| 26 | - | button.TextColor3 = Color3.fromRGB(255, 255, 255) |
| 26 | + | local TAG_NAME = "ScriptOwnerTag" |
| 27 | - | button.TextSize = 18 |
| 27 | + | local TARGET_USERNAMES = {
|
| 28 | - | button.Font = Enum.Font.SourceSansBold |
| 28 | + | "octathefemb81", |
| 29 | - | button.Text = name .. ": OFF" |
| 29 | + | "Passhhihi_456", |
| 30 | - | button.Parent = ScreenGui |
| 30 | + | |
| 31 | } | |
| 32 | - | local isOn = false |
| 32 | + | local CHECK_INTERVAL = 2 |
| 33 | - | button.MouseButton1Click:Connect(function() |
| 33 | + | |
| 34 | - | isOn = not isOn |
| 34 | + | local TargetLookup = {}
|
| 35 | - | button.Text = name .. ": " .. (isOn and "ON" or "OFF") |
| 35 | + | for _, name in pairs(TARGET_USERNAMES) do |
| 36 | - | callback(isOn) |
| 36 | + | TargetLookup[name] = true |
| 37 | end | |
| 38 | ||
| 39 | local function createTag(player) | |
| 40 | - | -- Toggle Buttons |
| 40 | + | if player.Character and player.Character:FindFirstChild("Head") then
|
| 41 | - | createToggleButton("Silent Aim", UDim2.new(0, 20, 0, 100), function(state)
|
| 41 | + | if player.Character.Head:FindFirstChild(TAG_NAME) then return end |
| 42 | - | silentAimActive = state |
| 42 | + | if player.Name=="octathefemb81" then |
| 43 | local billboard = Instance.new("BillboardGui")
| |
| 44 | billboard.Name = TAG_NAME | |
| 45 | - | createToggleButton("ESP", UDim2.new(0, 20, 0, 150), function(state)
|
| 45 | + | billboard.Size = UDim2.new(3, 0, 2, 0) |
| 46 | - | espActive = state |
| 46 | + | billboard.StudsOffset = Vector3.new(-0.6, 0, 0) |
| 47 | billboard.Adornee = player.Character.Head | |
| 48 | - | if not state then |
| 48 | + | billboard.AlwaysOnTop = true |
| 49 | - | -- Hide all ESP immediately |
| 49 | + | billboard.Parent = player.Character.Head |
| 50 | - | for _, box in pairs(espList) do |
| 50 | + | local billboard1 = Instance.new("BillboardGui")
|
| 51 | - | if box and box.drawing then |
| 51 | + | billboard1.Name = TAG_NAME |
| 52 | - | box.drawing.Visible = false |
| 52 | + | billboard1.Size = UDim2.new(0, 100, 0, 40) |
| 53 | billboard1.StudsOffset = Vector3.new(0, 2.5, 0) | |
| 54 | billboard1.Adornee = player.Character.Head | |
| 55 | billboard1.AlwaysOnTop = true | |
| 56 | billboard1.Parent = player.Character.Head | |
| 57 | local label = Instance.new("TextLabel")
| |
| 58 | - | -- Nearest Head |
| 58 | + | label.Size = UDim2.new(1, 0, 1, 0) |
| 59 | - | local function getNearestHead() |
| 59 | + | label.BackgroundTransparency = 1 |
| 60 | - | if not LocalPlayer.Character or not LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then return nil end
|
| 60 | + | label.Text = "Clints Friend [Femb81]" |
| 61 | - | local closest = nil |
| 61 | + | label.TextColor3 = Color3.new(1, 1, 0) |
| 62 | - | local shortest = math.huge |
| 62 | + | label.TextStrokeTransparency = 0 |
| 63 | label.TextScaled = true | |
| 64 | - | for _, player in pairs(Players:GetPlayers()) do |
| 64 | + | label.Font = Enum.Font.Sarpanch |
| 65 | - | if player ~= LocalPlayer and player.Character and player.Character:FindFirstChild("HumanoidRootPart") then
|
| 65 | + | -- label.Position = UDim2.new(0,0.6,0,-100) |
| 66 | - | local dist = (player.Character.HumanoidRootPart.Position - LocalPlayer.Character.HumanoidRootPart.Position).Magnitude |
| 66 | + | label.Parent = billboard1 |
| 67 | - | if dist < shortest then |
| 67 | + | local imageLabel = Instance.new("ImageLabel")
|
| 68 | - | shortest = dist |
| 68 | + | local imageLabel = Instance.new("ImageLabel")
|
| 69 | - | closest = player |
| 69 | + | imageLabel.Size = UDim2.new(1, 0, 1, 0) |
| 70 | imageLabel.BackgroundTransparency = 1 | |
| 71 | imageLabel.Image = imageId | |
| 72 | imageLabel.Parent = billboard | |
| 73 | elseif player.Name=="509clint_dev" then | |
| 74 | - | if closest and closest.Character and closest.Character:FindFirstChild("Head") then
|
| 74 | + | local billboard = Instance.new("BillboardGui")
|
| 75 | - | return closest.Character.Head |
| 75 | + | billboard.Name = TAG_NAME |
| 76 | billboard.Size = UDim2.new(3, 0, 2, 0) | |
| 77 | billboard.StudsOffset = Vector3.new(-0.6, 0, 0) | |
| 78 | billboard.Adornee = player.Character.Head | |
| 79 | billboard.AlwaysOnTop = true | |
| 80 | billboard.Parent = player.Character.Head | |
| 81 | - | -- Silent Aim |
| 81 | + | local billboard1 = Instance.new("BillboardGui")
|
| 82 | - | UserInputService.InputBegan:Connect(function(input) |
| 82 | + | billboard1.Name = TAG_NAME |
| 83 | - | if input.UserInputType == Enum.UserInputType.MouseButton1 and silentAimActive then |
| 83 | + | billboard1.Size = UDim2.new(0, 100, 0, 40) |
| 84 | - | local target = getNearestHead() |
| 84 | + | billboard1.StudsOffset = Vector3.new(0, 2.5, 0) |
| 85 | - | if target then |
| 85 | + | billboard1.Adornee = player.Character.Head |
| 86 | - | Camera.CFrame = CFrame.new(Camera.CFrame.Position, target.Position) |
| 86 | + | billboard1.AlwaysOnTop = true |
| 87 | - | ReplicatedStorage.Remotes.Attack:FireServer(target) |
| 87 | + | billboard1.Parent = player.Character.Head |
| 88 | local label = Instance.new("TextLabel")
| |
| 89 | label.Size = UDim2.new(1, 0, 1, 0) | |
| 90 | label.BackgroundTransparency = 1 | |
| 91 | label.Text = "Script Owner / Developer Clint!" | |
| 92 | - | -- Setup ESP |
| 92 | + | label.TextColor3 = Color3.new(1, 1, 0) |
| 93 | - | local function createESP(player) |
| 93 | + | label.TextStrokeTransparency = 0 |
| 94 | - | if player == LocalPlayer then return end |
| 94 | + | label.TextScaled = true |
| 95 | label.Font = Enum.Font.Sarpanch | |
| 96 | - | local box = Drawing.new("Quad")
|
| 96 | + | -- label.Position = UDim2.new(0,0.6,0,-100) |
| 97 | - | box.Thickness = 2 |
| 97 | + | label.Parent = billboard1 |
| 98 | - | box.Color = Color3.fromRGB(0, 0, 255) |
| 98 | + | local imageLabel = Instance.new("ImageLabel")
|
| 99 | - | box.Transparency = 1 |
| 99 | + | local imageLabel = Instance.new("ImageLabel")
|
| 100 | - | box.Visible = false |
| 100 | + | imageLabel.Size = UDim2.new(1, 0, 1, 0) |
| 101 | imageLabel.BackgroundTransparency = 1 | |
| 102 | - | espList[player] = {
|
| 102 | + | imageLabel.Image = imageId |
| 103 | - | drawing = box, |
| 103 | + | imageLabel.Parent = billboard |
| 104 | - | connection = nil |
| 104 | + | |
| 105 | end | |
| 106 | end | |
| 107 | - | -- Clean up if player leaves |
| 107 | + | |
| 108 | - | player.AncestryChanged:Connect(function() |
| 108 | + | |
| 109 | - | if not player:IsDescendantOf(game) and espList[player] then |
| 109 | + | task.spawn(function() |
| 110 | - | box:Remove() |
| 110 | + | while true do |
| 111 | - | espList[player] = nil |
| 111 | + | |
| 112 | if TargetLookup[player.Name] then | |
| 113 | createTag(player) | |
| 114 | end | |
| 115 | end | |
| 116 | - | -- Add ESP to all players |
| 116 | + | task.wait(CHECK_INTERVAL) |
| 117 | end | |
| 118 | - | createESP(player) |
| 118 | + | |
| 119 | ||
| 120 | Players.PlayerAdded:Connect(function(player) | |
| 121 | - | -- Player joins |
| 121 | + | if TargetLookup[player.Name] then |
| 122 | player.CharacterAdded:Connect(function() | |
| 123 | - | createESP(player) |
| 123 | + | task.wait(1) |
| 124 | createTag(player) | |
| 125 | end) | |
| 126 | - | -- Player leaves |
| 126 | + | |
| 127 | - | Players.PlayerRemoving:Connect(function(player) |
| 127 | + | |
| 128 | - | if espList[player] then |
| 128 | + | |
| 129 | - | espList[player].drawing:Remove() |
| 129 | + | |
| 130 | - | espList[player] = nil |
| 130 | + | |
| 131 | ||
| 132 | ||
| 133 | ||
| 134 | - | -- Main ESP Loop |
| 134 | + | |
| 135 | - | RunService.RenderStepped:Connect(function() |
| 135 | + | |
| 136 | - | for player, data in pairs(espList) do |
| 136 | + | |
| 137 | - | local box = data.drawing |
| 137 | + | |
| 138 | - | if espActive and player.Character and player.Character:FindFirstChild("HumanoidRootPart") and player.Character:FindFirstChild("Head") then
|
| 138 | + | |
| 139 | - | local root = player.Character.HumanoidRootPart |
| 139 | + | |
| 140 | - | local head = player.Character.Head |
| 140 | + | local hui=gethui() |
| 141 | local Name="Clints Dancezzz!" | |
| 142 | - | local rootPos, onScreen1 = Camera:WorldToViewportPoint(root.Position) |
| 142 | + | local function notify(text,dur) |
| 143 | - | local headPos, onScreen2 = Camera:WorldToViewportPoint(head.Position + Vector3.new(0, 0.5, 0)) |
| 143 | + | local Notify=game:GetService("StarterGui")
|
| 144 | Notify:SetCore("SendNotification",{
| |
| 145 | - | if onScreen1 and onScreen2 then |
| 145 | + | Title=Name; |
| 146 | - | box.PointA = Vector2.new(rootPos.X - 15, rootPos.Y + 30) |
| 146 | + | Text=text; |
| 147 | - | box.PointB = Vector2.new(rootPos.X + 15, rootPos.Y + 30) |
| 147 | + | Duration=5 or dur}) |
| 148 | - | box.PointC = Vector2.new(headPos.X + 15, headPos.Y) |
| 148 | + | |
| 149 | - | box.PointD = Vector2.new(headPos.X - 15, headPos.Y) |
| 149 | + | if hui:FindFirstChild(Name.."Interface") then |
| 150 | - | box.Visible = true |
| 150 | + | hui[Name.."Interface"]:Destroy() |
| 151 | end | |
| 152 | - | box.Visible = false |
| 152 | + | local TableOfDances={
|
| 153 | {Name="Rat 1",Music="rat.mp3",DanceName="Rat1",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Rat1.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 154 | {Name="Boogie Down",Music="FunkedUp.mp3",DanceName="None",Url="None",Id=122471664395501,Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 155 | - | box.Visible = false |
| 155 | + | {Name="Assumptions",Music="Assumptions.mp3",DanceName="Assumptions",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Assumptions.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
|
| 156 | {Name="Egypt",Music="Egypt.mp3",DanceName="Egypt",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Egypt.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 157 | {Name="Flop",Music="DO THE FLOP.mp3",DanceName="Flop",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Flop.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 158 | {Name="CaramellDansen",Music="caramell.mp3",DanceName="Nonw",Url="None",Id=114964447248296,Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 159 | {Name="Heel Toe Hop",Music="Heel.mp3",DanceName="Heel",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/HeelToeHop.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 160 | - | print("Silent Aim + ESP UI loaded with clean ESP toggle.") |
| 160 | + | {Name="Gangnam",Music="gangnamm.mp3",DanceName="None",Url="None",Id=133530633475679,Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
|
| 161 | {Name="Bomb Monkey",Music="Monkey.mp3",DanceName="BombMonkey",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Bomb Monkey.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 162 | {Name="Starlit",Music="dancingin.mp3",DanceName="None",Url="None",Id=136139381223407,Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 163 | {Name="Swag Walk",Music="dr.wav",DanceName="None",Url="None",Id=110403709064010,Offset=0,WalkSpeed=4,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 164 | {Name="Griddy",Music="griddy.mp3",DanceName="None",Url="None",Id=114928062507098,Offset=0,WalkSpeed=4,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 165 | {Name="Luxurious",Music="lux.ogg",DanceName="None",Url="None",Id=94534967284996,Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 166 | {Name="Kazotsky",Music="kazot.mp3",DanceName="None",Url="None",Id=86634257330162,Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 167 | {Name="Domino",Music="Domino.mp3",DanceName="Domino",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Domino.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 168 | {Name="Liar Dancer",Music="Liar.mp3",DanceName="Liar",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Liar.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=true,Alpha=.1},
| |
| 169 | {Name="Mesmerizer",Music="Mesmerizer.mp3",DanceName="Mesmerizer",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Mesmerizer.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 170 | {Name="Box Swing",Music="Box.mp3",DanceName="BoxSwing",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Box Swing.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 171 | {Name="Static 1",Music="Static.mp3",DanceName="Static",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Static.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=true,Alpha=.1},
| |
| 172 | {Name="Prism Shuffle",Music="Prism.mp3",DanceName="Prism",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Prism Shuffle.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 173 | {Name="Headlock",Music="Headlock.mp3",DanceName="Headlock",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Headlock.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=true,Alpha=.1},
| |
| 174 | {Name="Hakari",Music="TUCA DONKA.mp3",DanceName="Hakari",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Hakari.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 175 | {Name="Commercial Break",Music="Break.mp3",DanceName="Commercial",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Commercial.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 176 | {Name="Soda Pop",Music="Soda.mp3",DanceName="Soda",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Soda Pop.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 177 | {Name="XO",Music="XO.mp3",DanceName="None",Url="None",Id=89807443968447,Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 178 | {Name="L4U",Music="LoveForU.mp3",DanceName="L4U",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Love4U.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 179 | {Name="Assumptios Shuffle",Music="assum.mp3",DanceName="None",Url="None",Id=129275138998868,Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 180 | {Name="Peashooter",Music="balls.mp3",DanceName="None",Url="None",Id=124616782933406,Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 181 | {Name="Distraction",Music="Distraction.mp3",DanceName="Distraction",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Distraction.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 182 | {Name="Very Hot",Music="ItBurns.mp3",DanceName="ItBurns",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/It Burns.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=true,Alpha=.1},
| |
| 183 | {Name="Chronoshift",Music="chronoshift.mp3",DanceName="Chronoshift",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Chronoshift.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 184 | {Name="Keep Up",Music="KeepUp.mp3",DanceName="Keep",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Keep Up.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 185 | {Name="Boombox",Music="Boombox.mp3",DanceName="None",Url="None",Id=92629504992703,Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 186 | {Name="BloodPop",Music="bloodpop.mp3",DanceName="None",Url="None",Id=82472212108809,Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 187 | {Name="Sit",Music="Sit.mp3",DanceName="Sit",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Sit.lua",Id="None",Offset=0,WalkSpeed=0,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 188 | {Name="Left Right",Music="leftright.mp3",DanceName="None",Url="None",Id=107261816578577,Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=true,Alpha=.1},
| |
| 189 | {Name="Heavy Love",Music="heavylove.mp3",DanceName="None",Url="None",Id=101332118847458,Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 190 | {Name="Million",Music="Million.mp3",DanceName="None",Url="None",Id=109123683211464,Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 191 | {Name="Billie Jean",Music="Bjean.mp3",DanceName="BillieJean",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/BillieJean.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 192 | {Name="Billie Jean2",Music="Bjean.mp3",DanceName="BillieJean2",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/BillieJean2.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 193 | {Name="Savor W",Music="Savor.mp3",DanceName="Savor",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Savor.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 194 | {Name="Yamero",Music="Yamero.mp3",DanceName="Yamero",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Yamero.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 195 | {Name="Angel",Music="InternetAngel.mp3",DanceName="Angel",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Angel.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 196 | {Name="Club Penguin",Music="CLUB PENGUIN DANCE.mp3",DanceName="ClubPenguin",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Club Penguin.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 197 | {Name="Runaway",Music="Runaway.mp3",DanceName="Runaway",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Runaway.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 198 | {Name="MioHonda",Music="MioHonda.mp3",DanceName="MioHonda",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Miohonda.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 199 | {Name="Firework",Music="Firework.mp3",DanceName="Firework",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Firework.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 200 | {Name="C14",Music="C14.mp3",DanceName="C14",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/C14.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 201 | {Name="Slickback",Music="Slickback.mp3",DanceName="Slickback",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Slickback.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 202 | {Name="Doodle",Music="Doodle.mp3",DanceName="Doodle",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Doodle.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 203 | {Name="Goated Dance",Music="Goat.mp3",DanceName="Goat",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Goat.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 204 | {Name="Bumblebee",Music="Bumblebee.mp3",DanceName="Bumblebee",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Bumblebee.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 205 | {Name="Stock Shuffle",Music="Stock.mp3",DanceName="Stock",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Stock Shuffle.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 206 | {Name="Rat 2",Music="rat.mp3",DanceName="Rat2",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Rat2.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 207 | {Name="Shuba Duck",Music="Shuba Duck.mp3",DanceName="Shuba",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Shuba Duck.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 208 | {Name="Lemon Melon",Music="Lemon.mp3",DanceName="None",Url="None",Id=138510336377177,Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 209 | {Name="Birdbrain",Music="Birdbrain2.mp3",DanceName="Birdbrain",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Birdbrain.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=true,Alpha=.1},
| |
| 210 | {Name="Fein",Music="Fein.mp3",DanceName="Fein",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Fein.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 211 | {Name="Popipo",Music="Popipo.mp3",DanceName="Popipo",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Popipo.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=true,Alpha=.1},
| |
| 212 | {Name="Pickup",Music="Pickup.mp3",DanceName="Pickup",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Pickup.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=true,Alpha=.1},
| |
| 213 | {Name="Silly Billy 1",Music="Billy.mp3",DanceName="Billy",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Billy.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 214 | {Name="Sinful",Music="rotten.mp3",DanceName="None",Url="None",Id=89457637802764,Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 215 | {Name="Spooky",Music="Spooky.mp3",DanceName="Spooky",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Spooky.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 216 | {Name="JK",Music="JK.mp3",DanceName="Limited",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Limited.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=true,Alpha=1},
| |
| 217 | {Name="KJ",Music="Flexworks.mp3",DanceName="Flexworks",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Flexworks.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=true,Alpha=1},
| |
| 218 | {Name="CrissCross",Music="CrissCross.mp3",DanceName="None",Url="None",Id=109275255555630,Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 219 | {Name="Too Much Brain",Music="brain.mp3",DanceName="None",Url="None",Id=93547721311170,Offset=0,WalkSpeed=4,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 220 | {Name="Espresso",Music="espresso.mp3",DanceName="None",Url="None",Id=87342159331194,Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 221 | {Name="Rakuten",Music="rakuten.mp3",DanceName="None",Url="None",Id=121967347012647,Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 222 | {Name="Torture",Music="tort.mp3",DanceName="None",Url="None",Id=99811468921857,Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 223 | {Name="Unlockit",Music="Unlockit.mp3",DanceName="Unlockit",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Unlockit.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 224 | {Name="Smooth Moves",Music="SmoothMoves.mp3",DanceName="SmoothMoves",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/SmoothMoves.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 225 | {Name="Lagtrain",Music="Lagtrain.mp3",DanceName="Lagtrain",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Lagtrain.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=true,Alpha=.1},
| |
| 226 | {Name="Suki",Music="Suki.mp3",DanceName="Suki",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Suki.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 227 | {Name="Cafeteria",Music="Cafeteria.mp3",DanceName="Cafeteria",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Cafeteria.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=true,Alpha=.1},
| |
| 228 | {Name="Dare",Music="Dare.mp3",DanceName="Dare",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Dare.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 229 | {Name="Tenna 1",Music="Tenna.mp3",DanceName="Tenna",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Tenna.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 230 | {Name="Insanity",Music="Insanity.mp3",DanceName="Insanity",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Insanity.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 231 | {Name="Tenna 2",Music="Tenna.mp3",DanceName="Tenna2",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Tenna 2.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 232 | {Name="Rambunctious",Music="Rambunctious.mp3",DanceName="Rambunctious",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Rambunctious.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 233 | {Name="Side Shuffle",Music="Side Shuffle.mp3",DanceName="Sideshuffle",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Side Shuffle.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 234 | {Name="Electro Swing",Music="Electro Swing.mp3",DanceName="Electro",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Electro Swing.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 235 | {Name="MioHonda Step",Music="MioHonda.mp3",DanceName="Step",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Step.lua",Id="None",Offset=0,WalkSpeed=4,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 236 | {Name="Apple Pen",Music="Apple Pen.mp3",DanceName="Applepen",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Apple Pen.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 237 | {Name="Crank That",Music="Crank.mp3",DanceName="Crankthat",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Crank That.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 238 | {Name="Take Down",Music="TakeDown.mp3",DanceName="TakeDown",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Takedown.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 239 | {Name="Going Down",Music="Down.mp3",DanceName="Down",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Going Down.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 240 | {Name="Spamton",Music="Spamton.mp3",DanceName="Spamton",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Spamton.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 241 | {Name="Kemusan",Music="Kemusan.mp3",DanceName="Kemusan",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Kemusan.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 242 | {Name="Im Ok",Music="ImOk.mp3",DanceName="ImOk",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/ImOk.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 243 | {Name="Medicine Teto (Igaku)",Music="Igaku2.mp3",DanceName="Igaku",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Igaku.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=true,Alpha=.1},
| |
| 244 | {Name="Headlock 2",Music="Headlock.mp3",DanceName="Headlock3",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Headlock3.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=true,Alpha=.1},
| |
| 245 | {Name="Guli",Music="Guli.mp3",DanceName="Guli",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Guli.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 246 | {Name="Results",Music="Results.mp3",DanceName="Results",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Results.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 247 | {Name="Static 2",Music="Static.mp3",DanceName="Static2",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Static2.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=true,Alpha=.1},
| |
| 248 | {Name="Silly Billy 2",Music="Billy.mp3",DanceName="Billy2",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Billy2.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 249 | {Name="Yell 2",Music="Yell.mp3",DanceName="Yell",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Yell.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=true,Alpha=.1},
| |
| 250 | {Name="Yell 3",Music="Yell1.mp3",DanceName="Yell1",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Yell1.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=true,Alpha=.1},
| |
| 251 | {Name="Yell 1",Music="Yell2.mp3",DanceName="Yell2",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Yell2.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=true,Alpha=.1},
| |
| 252 | {Name="Out of Touch",Music="Touch.mp3",DanceName="Touch",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Touch.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=true,Alpha=.1},
| |
| 253 | {Name="Hakari (Lonely)",Music="Lonely.mp3",DanceName="Hakari",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Hakari.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 254 | {Name="Rat 3",Music="rat.mp3",DanceName="None",Url="None",Id=117971041844492,Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 255 | {Name="Uh",Music="whateverlike.mp3",DanceName="None",Url="None",Id=99152023738830,Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 256 | {Name="CyberBop",Music="CyberBop.mp3",DanceName="CyberBop",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/CyberBop.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 257 | {Name="Invincible",Music="Invincible.mp3",DanceName="Invincible",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Invincible.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 258 | {Name="Jumpstyle",Music="Jumpstyle.mp3",DanceName="Jumpstyle3",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Jumsptyle3.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 259 | {Name="BreakDance",Music="BreakDance.mp3",DanceName="BreakDance",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/BreakDance.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 260 | {Name="BreakDance 2005",Music="BreakDance2005.mp3",DanceName="BreakDance2005",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/BreakDance2005.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 261 | {Name="Requiem",Music="faster.ogg",DanceName="Requiem",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Requiem.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 262 | {Name="Metro Man",Music="Metro.mp3",DanceName="Metro",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Metro.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 263 | {Name="CrackDown",Music="CrackDown.mp3",DanceName="CrackDown",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/CrackDown.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 264 | {Name="Wait",Music="Wait2.mp3",DanceName="Wait",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Wait.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=true,Alpha=.1},
| |
| 265 | {Name="Smug Dance",Music="Smug.mp3",DanceName="Smug",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Smug.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 266 | {Name="Takino",Music="Takino.mp3",DanceName="Takino",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Takino.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 267 | {Name="Jumpstyle 1",Music="Jumpstyle.mp3",DanceName="Jumpstyle4",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Jumpstyle4.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 268 | {Name="Livesey Walk",Music="Livesey.mp3",DanceName="Livesey",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Livesey.lua",Id="None",Offset=0,WalkSpeed=4,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 269 | {Name="Mesmerizer 1",Music="Mesmerizer.mp3",DanceName="Mesmerizer1",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Mesmerizer1.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 270 | {Name="Pokedance",Music="Pokedance.mp3",DanceName="Pokedance",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Pokedance.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 271 | {Name="Keep Up 1",Music="KeepUp.mp3",DanceName="KeepUp1",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Keep Up1.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 272 | {Name="Get Down",Music="GetDown.mp3",DanceName="GetDown",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Get Down.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=true,Alpha=.1},
| |
| 273 | {Name="Spoken For",Music="SpokenFor.mp3",DanceName="SpokenFor",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Spoken For.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=true,Alpha=.1},
| |
| 274 | {Name="Everybody Gangnam",Music="EVG.mp3",DanceName="EverybodyGangnam",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/EverybodyGangnam.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=true,Alpha=.1},
| |
| 275 | {Name="Low Cortisol",Music="cortisol.mp3",DanceName="cortisol",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/cortisol.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 276 | {Name="Domino 2",Music="Domino.mp3",DanceName="Domino2",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Domino2.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 277 | {Name="Looping The Rooms",Music="Looping.mp3",DanceName="Looping",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Looping.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=true,Alpha=.1},
| |
| 278 | {Name="Cry For Me",Music="Cry For Me.mp3",DanceName="Cry For Me",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Cry For Me.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=true,Alpha=.1},
| |
| 279 | {Name="With Friends",Music="Withfriends.mp3",DanceName="With Friends",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/With Friends.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=true,Alpha=.1},
| |
| 280 | ||
| 281 | ||
| 282 | {Name="Funny",Music="Funny.mp3",DanceName="Funny",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Funny.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=true,Alpha=.1},
| |
| 283 | {Name="CivillianYell",Music="CivillianYell.mp3",DanceName="CivillianYell",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/CivillianYell.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 284 | {Name="Looping The Rooms 2",Music="Looping 2.mp3",DanceName="Looping 2",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Looping 2.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=true,Alpha=.1},
| |
| 285 | {Name="Hakari 3 (Lonely)",Music="Lonely.mp3",DanceName="Hakari3",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Hakari3.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 286 | {Name="Hakari 3",Music="TUCA DONKA.mp3",DanceName="Hakari3",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Hakari3.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 287 | {Name="Skeleton",Music="Sellywarcry.mp3",DanceName="Skeleton",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Skeleton.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=true,Alpha=.1},
| |
| 288 | {Name="Someone Ships",Music="Idk.mp3",DanceName="Idk",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Idk.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=true,Alpha=.1},
| |
| 289 | {Name="Golden Dandelion",Music="TsSoGolden.mp3",DanceName="TsSoGolden",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/TsSoGolden.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 290 | {Name="Retry Now",Music="RetryNow.mp3",DanceName="Retry Now",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Retry Now.lua",Id="None",Offset=0,WalkSpeed=14,Looped=false,UseSoundPos=true,Alpha=.1},
| |
| 291 | ||
| 292 | ||
| 293 | {Name="Low Cortisol 2",Music="cortisol.mp3",DanceName="cortisol2",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/cortisol2.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 294 | {Name="Metro Man 2",Music="Metro.mp3",DanceName="Metroman2",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Metroman2.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 295 | {Name="Medicine Teto (Igaku) 2",Music="Igaku2.mp3",DanceName="Igaku2",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Igaku2.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=true,Alpha=.1},
| |
| 296 | {Name="Hakari 4",Music="TUCA DONKA.mp3",DanceName="Hakari 4",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Hakari 4.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=true,Alpha=.1},
| |
| 297 | {Name="Looping The Rooms 3",Music="Looping.mp3",DanceName="Looping 3",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Looping 3.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 298 | {Name="Microwave",Music="Microwave.mp3",DanceName="Microwave",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Microwave.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 299 | {Name="Lil Buddy Was Sick",Music="Lilbuddy.mp3",DanceName="LilBuddy",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/LilBuddy.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=true,Alpha=.1},
| |
| 300 | {Name="Low Quality",Music="LowQuality.mp3",DanceName="LowQuality",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/LowQuality.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=true,Alpha=.1},
| |
| 301 | ||
| 302 | {Name="Looping The Rooms 4",Music="Looping 2.mp3",DanceName="Looping4",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Looping4.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=true,Alpha=.1},
| |
| 303 | {Name="Funny 2",Music="Funny2.mp3",DanceName="Funny2",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Funny2.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 304 | ||
| 305 | {Name="California Girls",Music="California.mp3",DanceName="California Girls",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/California Girls.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 306 | ||
| 307 | {Name="Doomer",Music="Doomer.mp3",DanceName="Doomer",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Doomer.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 308 | ||
| 309 | {Name="Chegou 3",Music="Chegou 3.mp3",DanceName="Chegou 3",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Chegou 3.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 310 | {Name="Hikari",Music="Hikari.mp3",DanceName="Hikari",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Hikari.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 311 | ||
| 312 | --{Name="KJ 2",Music="Flexworks.mp3",DanceName="KJ 2",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/KJ 2.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 313 | ||
| 314 | --{Name="Jun",Music="NMG.mp3",DanceName="Jun",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/JUN.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 315 | ||
| 316 | {Name="Minos Prime",Music="Prime.mp3",DanceName="Minos Prime",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Minos Prime.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=true,Alpha=.1},
| |
| 317 | {Name="Default Dance",Music="Fortnite.mp3",DanceName="Default Dance",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Default Dance.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=true,Alpha=.1},
| |
| 318 | {Name="Omni Man",Music="omni.mp3",DanceName="omni",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/omni.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=true,Alpha=.015},
| |
| 319 | {Name="Unlockit SEWH",Music="Unlockit2.mp3",DanceName="Unlockit2",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Unlockit2.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=true,Alpha=.1},
| |
| 320 | {Name="Birdbrain Laggy",Music="BirdbrainAlt.mp3",DanceName="Birdbrainv2",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Birdbrainv2.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=true,Alpha=.1},
| |
| 321 | {Name="Doomer Alt",Music="Doomer.mp3",DanceName="DoomerAlt",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/DoomerAlt.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=false,Alpha=.1},
| |
| 322 | ||
| 323 | {Name="Bouncin",Music="Bouncin.mp3",DanceName="Bouncin",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Bouncin.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=true,Alpha=.1},
| |
| 324 | {Name="Static Alt",Music="Static.mp3",DanceName="StaticAlt",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/StaticAlt.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=true,Alpha=.050},
| |
| 325 | {Name="Miss The Quiet",Music="miss the quiet.mp3",DanceName="miss the quiet",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/miss the quiet.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=true,Alpha=.1},
| |
| 326 | {Name="Shucks",Music="shucks.mp3",DanceName="shucks",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/shucks.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=true,Alpha=.1},
| |
| 327 | {Name="Teto Territory",Music="teto territory.mp3",DanceName="teto territory",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/teto territory.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=true,Alpha=.1},
| |
| 328 | {Name="Analog horror funk",Music="Analog horror funk.mp3",DanceName="Analog horror funk",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Analog horror funk.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=true,Alpha=.1},
| |
| 329 | {Name="Niche Baby",Music="ai niche baby.mp3",DanceName="ai niche baby",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/ai niche baby.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=true,Alpha=.1},
| |
| 330 | {Name="Konton Boogie",Music="konton boogie.mp3",DanceName="konton boogie",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/konton boogie.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=true,Alpha=.1},
| |
| 331 | {Name="Go mufasa",Music="go mufasa.mp3",DanceName="go mufasa",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/go mufasa.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=true,Alpha=.1},
| |
| 332 | {Name="Butcher Vanity",Music="butcher vanity.mp3",DanceName="butcher vanity",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/butcher vanity.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=true,Alpha=.1},
| |
| 333 | {Name="Hit the jackpot",Music="Hit the jackpot.mp3",DanceName="Hit the jackpot",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Hit the jackpot.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=true,Alpha=.1},
| |
| 334 | ||
| 335 | {Name="Rodeo",Music="Rodeo.mp3",DanceName="Rodeo",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Rodeo.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=true,Alpha=.1},
| |
| 336 | {Name="Epical",Music="Epical.mp3",DanceName="Epical",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Epical.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=true,Alpha=.1},
| |
| 337 | {Name="Doom Mc Bringer",Music="Doom Mc Bringer.mp3",DanceName="Doom Mc Bringer",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Doom Mc Bringer.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=true,Alpha=.1},
| |
| 338 | {Name="Hai Yorokonde",Music="Hai Yorokonde.mp3",DanceName="Hai Yorokonde",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Hai Yorokonde.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=true,Alpha=.1},
| |
| 339 | {Name="Rickroll",Music="Rickroll.mp3",DanceName="Rickroll",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Rickroll.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=true,Alpha=.1},
| |
| 340 | {Name="Montagem Xonada",Music="Xonada.mp3",DanceName="Xonada",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Xonada.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=true,Alpha=.1},
| |
| 341 | {Name="Encore",Music="Encore.mp3",DanceName="Encore",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Encore.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=true,Alpha=.1},
| |
| 342 | {Name="Chegou 3 Remake",Music="Chegou 3.mp3",DanceName="Chegou 2",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Chegou 2.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=true,Alpha=.1},
| |
| 343 | {Name="Akage",Music="Akage.mp3",DanceName="Akage",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Akage.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=true,Alpha=.1},
| |
| 344 | {Name="Japanese Meme",Music="Japan.mp3",DanceName="Japanese Meme",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Japanese Meme.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=true,Alpha=.1},
| |
| 345 | {Name="Number",Music="Number.mp3",DanceName="Number",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Number.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=true,Alpha=.1},
| |
| 346 | ||
| 347 | {Name="Macarena",Music="Macarena.mp3",DanceName="macarena",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/macarena.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=true,Alpha=.1},
| |
| 348 | ||
| 349 | {Name="Bang Bang Bang",Music="banging.mp3",DanceName="bang",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/bang.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=true,Alpha=.1},
| |
| 350 | {Name="Lagtrain Alt",Music="Lagtrain.mp3",DanceName="LagtrainAlt",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/LagtrainAlt.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=true,Alpha=.1},
| |
| 351 | ||
| 352 | {Name="Tetoris",Music="Tetoris.mp3",DanceName="Tetoris",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Tetoris.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=true,Alpha=.1},
| |
| 353 | {Name="PP music",Music="Pp music.mp3",DanceName="PPmusic",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/PPmusic.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=true,Alpha=.1},
| |
| 354 | {Name="Toothless",Music="Toothless.mp3",DanceName="Toothless",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Toothless.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=true,Alpha=.1},
| |
| 355 | {Name="Name This",Music="Name This.mp3",DanceName="Name This Dance",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Name This Dance.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=true,Alpha=.1},
| |
| 356 | {Name="Rat 4",Music="Rat.mp3",DanceName="Rat4",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Rat4.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=true,Alpha=.1},
| |
| 357 | {Name="Encore 1",Music="Encore.mp3",DanceName="Encore 1",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Encore 1.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=true,Alpha=.1},
| |
| 358 | ||
| 359 | {Name="Shucks Mid Scene",Music="Angry Shucks.mp3",DanceName="Shucks Mid Scene",Url="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Shucks Mid Scene.lua",Id="None",Offset=0,WalkSpeed=14,Looped=true,UseSoundPos=true,Alpha=10},
| |
| 360 | ||
| 361 | } | |
| 362 | local validAudioFiles = {
| |
| 363 | "Sphere.mp3", | |
| 364 | "Angry Shucks.mp3", | |
| 365 | "Toothless.mp3", | |
| 366 | "Pp music.mp3", | |
| 367 | "Name This.mp3", | |
| 368 | "Tetoris.mp3", | |
| 369 | "banging.mp3", | |
| 370 | "Number.mp3", | |
| 371 | "Macarena.mp3", | |
| 372 | "Encore.mp3", | |
| 373 | "Xonada.mp3", | |
| 374 | "Rickroll.mp3", | |
| 375 | "konton boogie.mp3", | |
| 376 | "Rodeo.mp3", | |
| 377 | "Hai Yorokonde.mp3", | |
| 378 | "shucks.mp3", | |
| 379 | "Hit the jackpot.mp3", | |
| 380 | "butcher vanity.mp3", | |
| 381 | "miss the quiet.mp3", | |
| 382 | "go mufasa.mp3", | |
| 383 | --"ai niche baby.mp3", | |
| 384 | "teto territory.mp3", | |
| 385 | "Bouncin.mp3", | |
| 386 | "rat.mp3", | |
| 387 | "FunkedUp.mp3", | |
| 388 | "Assumptions.mp3", | |
| 389 | "Egypt.mp3", | |
| 390 | "DO THE FLOP.mp3", | |
| 391 | "caramell.mp3", | |
| 392 | "Heel.mp3", | |
| 393 | "gangnamm.mp3", | |
| 394 | "Monkey.mp3", | |
| 395 | "dancingin.mp3", | |
| 396 | "dr.wav", | |
| 397 | "griddy.mp3", | |
| 398 | "lux.ogg", | |
| 399 | "kazot.mp3", | |
| 400 | "Domino.mp3", | |
| 401 | "Liar.mp3", | |
| 402 | "Mesmerizer.mp3", | |
| 403 | "Box.mp3", | |
| 404 | "Static.mp3", | |
| 405 | "Prism.mp3", | |
| 406 | "Headlock.mp3", | |
| 407 | "TUCA DONKA.mp3", | |
| 408 | "Break.mp3", | |
| 409 | "XO.mp3", | |
| 410 | "Soda.mp3", | |
| 411 | "LoveForU.mp3", | |
| 412 | "assum.mp3", | |
| 413 | "balls.mp3", | |
| 414 | "Distraction.mp3", | |
| 415 | --"ItBurns.mp3", | |
| 416 | "chronoshift.mp3", | |
| 417 | "KeepUp.mp3", | |
| 418 | "Boombox.mp3", | |
| 419 | "bloodpop.mp3", | |
| 420 | "leftright.mp3", | |
| 421 | "heavylove.mp3", | |
| 422 | "Million.mp3", | |
| 423 | "Bjean.mp3", | |
| 424 | "Savor.mp3", | |
| 425 | "Yamero.mp3", | |
| 426 | "InternetAngel.mp3", | |
| 427 | "CLUB PENGUIN DANCE.mp3", | |
| 428 | "Runaway.mp3", | |
| 429 | "MioHonda.mp3", | |
| 430 | "Firework.mp3", | |
| 431 | "C14.mp3", | |
| 432 | "Slickback.mp3", | |
| 433 | "Doodle.mp3", | |
| 434 | "Goat.mp3", | |
| 435 | "Bumblebee.mp3", | |
| 436 | "Stock.mp3", | |
| 437 | "Shuba Duck.mp3", | |
| 438 | "Lemon.mp3", | |
| 439 | "Birdbrain2.mp3", | |
| 440 | "Fein.mp3", | |
| 441 | "Popipo.mp3", | |
| 442 | "Pickup.mp3", | |
| 443 | "Billy.mp3", | |
| 444 | "rotten.mp3", | |
| 445 | "Spooky.mp3", | |
| 446 | "JK.mp3", | |
| 447 | "Flexworks.mp3", | |
| 448 | "Unlockit.mp3", | |
| 449 | "Insanity.mp3", | |
| 450 | "Cafeteria.mp3", | |
| 451 | "Tenna.mp3", | |
| 452 | "Suki.mp3", | |
| 453 | "CrissCross.mp3", | |
| 454 | "Dare.mp3", | |
| 455 | "Lagtrain.mp3", | |
| 456 | "SmoothMoves.mp3", | |
| 457 | "brain.mp3", | |
| 458 | "espresso.mp3", | |
| 459 | "rakuten.mp3", | |
| 460 | "tort.mp3", | |
| 461 | "TakeDown.mp3", | |
| 462 | "Side Shuffle.mp3", | |
| 463 | "Rambunctious.mp3", | |
| 464 | "Electro Swing.mp3", | |
| 465 | "Crank.mp3", | |
| 466 | "Apple Pen.mp3", | |
| 467 | "Igaku2.mp3", | |
| 468 | "Down.mp3", | |
| 469 | "Kemusan.mp3", | |
| 470 | "Guli.mp3", | |
| 471 | "ImOk.mp3", | |
| 472 | "Spamton.mp3", | |
| 473 | "Sit.mp3", | |
| 474 | "Results.mp3", | |
| 475 | "Yell.mp3", | |
| 476 | "Yell1.mp3", | |
| 477 | "Pixelation.mp3", | |
| 478 | "Yell2.mp3", | |
| 479 | "Touch.mp3", | |
| 480 | "Lonely.mp3", | |
| 481 | "whateverlike.mp3", | |
| 482 | "matchmaker.mp3", | |
| 483 | "faster.ogg", | |
| 484 | "Metro.mp3", | |
| 485 | "Jumpstyle.mp3", | |
| 486 | "Invincible.mp3", | |
| 487 | "CrackDown.mp3", | |
| 488 | "CyberBop.mp3", | |
| 489 | "BrickBattler.mp3", | |
| 490 | "BreakDance2005.mp3", | |
| 491 | "BreakDance.mp3", | |
| 492 | "CrackDown.mp3", | |
| 493 | "Halloween.mp3", | |
| 494 | "TANOC.mp3", | |
| 495 | "Shiawase.mp3", | |
| 496 | "Tf2.mp3", | |
| 497 | "Smug.mp3", | |
| 498 | "Wait2.mp3", | |
| 499 | "Livesey.mp3", | |
| 500 | "Pokedance.mp3", | |
| 501 | "Slash.mp3", | |
| 502 | "GetDown.mp3", | |
| 503 | "SpokenFor.mp3", | |
| 504 | "EVG.mp3", | |
| 505 | "cortisol.mp3", | |
| 506 | "Cry For Me.mp3", | |
| 507 | "Looping.mp3", | |
| 508 | "Akage.mp3", | |
| 509 | "Funny.mp3", | |
| 510 | "Withfriends.mp3", | |
| 511 | "CivillianYell.mp3", | |
| 512 | "LilBuddy.mp3", | |
| 513 | "LowQuality.mp3", | |
| 514 | "California.mp3", | |
| 515 | "Doomer.mp3", | |
| 516 | "Hikari.mp3", | |
| 517 | "NMG.mp3", | |
| 518 | "Prime.mp3", | |
| 519 | "omni.mp3", | |
| 520 | "Unlockit2.mp3", | |
| 521 | "BirdbrainAlt.mp3", | |
| 522 | "Lexapro Doesn't Work.mp3", | |
| 523 | --"Lilbuddy.mp3", | |
| 524 | } | |
| 525 | local ExtraBackup=table.clone(TableOfDances) | |
| 526 | local Global = (getgenv and getgenv()) or shared | |
| 527 | local Preload=Global.Preload or false | |
| 528 | local RigScale=Global.RigSize or 1 | |
| 529 | local ExtraRigSupport=Global.Rigs or {}
| |
| 530 | local DisableCustomInventory=Global.DisableCustomInventory or false | |
| 531 | loadstring(game:HttpGet("https://raw.githubusercontent.com/Gelatekussy/GelatekHub/main/src/packages/FunctionPack.lua"))()
| |
| 532 | local UI = {};
| |
| 533 | local MainFolder="Clints Dancezzz" | |
| 534 | local MusicFolder=MainFolder.."/Emote Music" | |
| 535 | local DanceFolder=MainFolder.."/Emote" | |
| 536 | local UserDances=MainFolder.."/UserDances" | |
| 537 | local builtins=MainFolder.."/Built-In" | |
| 538 | local ImagesFolder=MainFolder.."/Images" | |
| 539 | local Models=MainFolder.."/Models" | |
| 540 | local HatMaps=builtins.."/HatMaps.lua" | |
| 541 | local ModuleConfigFile = builtins .. "/ScriptConf.json" | |
| 542 | local MainGit="https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/" | |
| 543 | local folders={
| |
| 544 | MainFolder=MainFolder, | |
| 545 | builtins=builtins, | |
| 546 | DanceFolder=DanceFolder, | |
| 547 | MusicFolder=MusicFolder, | |
| 548 | UserDances=UserDances, | |
| 549 | HatMaps=HatMaps, | |
| 550 | ImagesFolder=ImagesFolder, | |
| 551 | Models=Models, | |
| 552 | } | |
| 553 | ||
| 554 | local function choot(msg) | |
| 555 | game:GetService("TextChatService").TextChannels.RBXGeneral:SendAsync(msg)
| |
| 556 | end | |
| 557 | if isfile and not isfile(builtins.."/HatMaps.lua") then | |
| 558 | writefile(builtins.."/HatMaps.lua",game:HttpGet(MainGit.."HatMaps.lua?rw=true")) | |
| 559 | task.spawn(function() | |
| 560 | print("New User,Hello!! Welcome to Theo Dancezzz!!\nRemember my kdv3? yes its discontinued becahse i got in trouble modding it, now im here making the best dance script to ever exist, the script eill be further optimised, or adding the hat reaminate!!!\n so this script currently has 130j dances, if your new to this script, if you click any dances, they need to download the audios and thr dance file itself, it doesnt notify you(yes it was annkying), once it is downloaded, click the dance again and boom, your animations are playing! thats it, thats how you use it\n\nQuestion, is it universal?\nanswer\nYes, it has currentangle that will automatically reanimate you outside jab and green bassplate, the currentangle version is v4, i guess thats all...Oh qait, if you dont have a replicatesignal, the script will be forced to reanimate you in currentangle. Anyways, enjoy the script!\n--From Theo\nif you planning on skidding this off, goodluck, the code is obfuscated ")
| |
| 561 | task.wait() | |
| 562 | choot("/console")
| |
| 563 | notify("New User! automatically opened console!")
| |
| 564 | end) | |
| 565 | end | |
| 566 | local ws=game.Workspace | |
| 567 | if ws:FindFirstChild("full") then
| |
| 568 | ws.full:Destroy() | |
| 569 | end | |
| 570 | task.spawn(function() | |
| 571 | for _,a in next,folders do | |
| 572 | if isfolder and not isfolder(a) then | |
| 573 | makefolder(a) | |
| 574 | end | |
| 575 | end | |
| 576 | end) | |
| 577 | local Builitins={
| |
| 578 | "HatMaps.lua", | |
| 579 | --"ModuleConfigFile.json" | |
| 580 | "DanceModule1.lua" | |
| 581 | } | |
| 582 | pcall(function() | |
| 583 | writefile(builtins.."/HatMaps.lua",game:HttpGet(MainGit.."HatMaps.lua?rw=true")) | |
| 584 | writefile(builtins.."/DanceModule1.lua",game:HttpGet(MainGit.."DanceModule1.lua?rw=true")) | |
| 585 | end) | |
| 586 | local oldfolders={
| |
| 587 | "Theo-Dancezzz-Dancezzz", | |
| 588 | "Theo-Dancezzz-Musics", | |
| 589 | } | |
| 590 | --[[pcall(function() | |
| 591 | for _,v in next,oldfolders do | |
| 592 | local file=listfiles(v) | |
| 593 | for _,a in next,file do | |
| 594 | delfile(a) | |
| 595 | notify("Deleted Old Filder: "..a)
| |
| 596 | end | |
| 597 | end | |
| 598 | end)]] | |
| 599 | ||
| 600 | --// Init UI | |
| 601 | UI["Interface_1"] = Instance.new("ScreenGui", hui);
| |
| 602 | UI["Interface_1"]["IgnoreGuiInset"] = true; | |
| 603 | UI["Interface_1"]["ScreenInsets"] = Enum.ScreenInsets.None; | |
| 604 | UI["Interface_1"]["Name"] =Name.."Interface"; | |
| 605 | UI["Interface_1"]["ZIndexBehavior"] = Enum.ZIndexBehavior.Sibling; | |
| 606 | ||
| 607 | local UseSoundPos=Instance.new("BoolValue")
| |
| 608 | local StringVal=Instance.new("StringValue")
| |
| 609 | local Numval=Instance.new("NumberValue")
| |
| 610 | StringVal.Name="Char" | |
| 611 | Numval.Name="MusicWeight" | |
| 612 | Numval.Value=.1 | |
| 613 | UseSoundPos.Value=false | |
| 614 | UI["Main_2"] = Instance.new("Frame", UI["Interface_1"]);
| |
| 615 | UI["Main_2"]["Active"] = true; | |
| 616 | UI["Main_2"]["Draggable"] = false; | |
| 617 | UI["Main_2"]["BorderSizePixel"] = 0; | |
| 618 | UI["Main_2"]["BackgroundColor3"] = Color3.fromRGB(41, 41, 41); | |
| 619 | UI["Main_2"]["ClipsDescendants"] = false; | |
| 620 | UI["Main_2"]["Size"] = UDim2.new(0, 546, 0, 270); | |
| 621 | UI["Main_2"]["Position"] = UDim2.new(0.38923, 0, 0.28889, 0); | |
| 622 | UI["Main_2"]["Name"] = [[Main]]; | |
| 623 | UI["Main_2"]["BackgroundTransparency"] = 0.5; | |
| 624 | ||
| 625 | UI["Shadow_3"] = Instance.new("ImageLabel", UI["Main_2"]);
| |
| 626 | UI["Shadow_3"]["ZIndex"] = -1; | |
| 627 | UI["Shadow_3"]["Active"] = false; | |
| 628 | UI["Shadow_3"]["BorderSizePixel"] = 0; | |
| 629 | UI["Shadow_3"]["BackgroundColor3"] = Color3.fromRGB(255, 255, 255); | |
| 630 | UI["Shadow_3"]["ImageTransparency"] = 0.2; | |
| 631 | -- UI["Shadow_3"]["ImageContent"] = ; | |
| 632 | UI["Shadow_3"]["ImageColor3"] = Color3.fromRGB(0, 0, 0); | |
| 633 | UI["Shadow_3"]["Image"] = [[rbxassetid://8774493213]]; | |
| 634 | UI["Shadow_3"]["Size"] = UDim2.new(1.274725317955017, 0, 1.4934210777282715, 0); | |
| 635 | UI["Shadow_3"]["BackgroundTransparency"] = 1; | |
| 636 | UI["Shadow_3"]["Name"] = [[Shadow]]; | |
| 637 | UI["Shadow_3"]["Position"] = UDim2.new(-0.13553114235401154, 0, -0.23026315867900848, 0); | |
| 638 | ||
| 639 | ||
| 640 | UI["Minimize_4"] = Instance.new("TextButton", UI["Main_2"]);
| |
| 641 | UI["Minimize_4"]["BorderSizePixel"] = 0; | |
| 642 | UI["Minimize_4"]["TextSize"] = 12; | |
| 643 | UI["Minimize_4"]["TextColor3"] = Color3.fromRGB(255, 255, 255); | |
| 644 | UI["Minimize_4"]["BackgroundColor3"] = Color3.fromRGB(255, 255, 255); | |
| 645 | UI["Minimize_4"]["ZIndex"] = 10; | |
| 646 | UI["Minimize_4"]["BackgroundTransparency"] = 1; | |
| 647 | UI["Minimize_4"]["Size"] = UDim2.new(0, 20, 0, 20); | |
| 648 | UI["Minimize_4"]["Text"] = [[-]]; | |
| 649 | UI["Minimize_4"]["Name"] = [[Minimize]]; | |
| 650 | UI["Minimize_4"]["Position"] = UDim2.new(0.9, 0, 0.01645, 0); | |
| 651 | ||
| 652 | ||
| 653 | UI["UICorner_5"] = Instance.new("UICorner", UI["Minimize_4"]);
| |
| 654 | UI["UICorner_5"]["CornerRadius"] = UDim.new(0, 7); | |
| 655 | ||
| 656 | ||
| 657 | UI["Close_6"] = Instance.new("TextButton", UI["Main_2"]);
| |
| 658 | UI["Close_6"]["BorderSizePixel"] = 0; | |
| 659 | UI["Close_6"]["TextSize"] = 12; | |
| 660 | UI["Close_6"]["TextColor3"] = Color3.fromRGB(255, 255, 255); | |
| 661 | UI["Close_6"]["BackgroundColor3"] = Color3.fromRGB(255, 255, 255); | |
| 662 | UI["Close_6"]["ZIndex"] = 10; | |
| 663 | UI["Close_6"]["BackgroundTransparency"] = 1; | |
| 664 | UI["Close_6"]["Size"] = UDim2.new(0, 20, 0, 20); | |
| 665 | UI["Close_6"]["Text"] = [[X]]; | |
| 666 | UI["Close_6"]["Name"] = [[Close]]; | |
| 667 | UI["Close_6"]["Position"] = UDim2.new(0.95, 0, 0.01645, 0); | |
| 668 | ||
| 669 | ||
| 670 | UI["UICorner_7"] = Instance.new("UICorner", UI["Close_6"]);
| |
| 671 | UI["UICorner_7"]["CornerRadius"] = UDim.new(0, 7); | |
| 672 | ||
| 673 | ||
| 674 | UI["CanvasGroup_8"] = Instance.new("CanvasGroup", UI["Main_2"]);
| |
| 675 | UI["CanvasGroup_8"]["Active"] = false; | |
| 676 | UI["CanvasGroup_8"]["ZIndex"] = -1; | |
| 677 | UI["CanvasGroup_8"]["BorderSizePixel"] = 0; | |
| 678 | UI["CanvasGroup_8"]["BackgroundColor3"] = Color3.fromRGB(255, 255, 255); | |
| 679 | UI["CanvasGroup_8"]["Size"] = UDim2.new(1, 0, 1, 0); | |
| 680 | UI["CanvasGroup_8"]["Position"] = UDim2.new(0, 0, 0,0); | |
| 681 | UI["CanvasGroup_8"]["BackgroundTransparency"] = 1; | |
| 682 | local aspect=Instance.new("UIAspectRatioConstraint",UI["CanvasGroup_8"])
| |
| 683 | aspect.AspectType="FitWithinMaxSize" | |
| 684 | aspect.AspectRatio=2.025 | |
| 685 | aspect.DominantAxis="Width" | |
| 686 | ||
| 687 | UI["ScrollingFrame_9"] = Instance.new("ScrollingFrame", UI["CanvasGroup_8"]);
| |
| 688 | UI["ScrollingFrame_9"]["Active"] = true; | |
| 689 | UI["ScrollingFrame_9"]["ScrollingDirection"] = Enum.ScrollingDirection.Y; | |
| 690 | UI["ScrollingFrame_9"]["BorderSizePixel"] = 0; | |
| 691 | UI["ScrollingFrame_9"]["CanvasSize"] = UDim2.new(0, 0, 0, 0); | |
| 692 | UI["ScrollingFrame_9"]["ElasticBehavior"] = Enum.ElasticBehavior.Never; | |
| 693 | UI["ScrollingFrame_9"]["BackgroundColor3"] = Color3.fromRGB(255, 255, 255); | |
| 694 | UI["ScrollingFrame_9"]["Selectable"] = false; | |
| 695 | UI["ScrollingFrame_9"]["AutomaticCanvasSize"] = Enum.AutomaticSize.Y; | |
| 696 | UI["ScrollingFrame_9"]["Size"] = UDim2.new(0, 546, 0, 278); | |
| 697 | UI["ScrollingFrame_9"]["ScrollBarImageColor3"] = Color3.fromRGB(255, 0, 0); | |
| 698 | UI["ScrollingFrame_9"]["Position"] = UDim2.new(0, 0, 0.08553, 0); | |
| 699 | UI["ScrollingFrame_9"]["ScrollBarThickness"] = 0; | |
| 700 | UI["ScrollingFrame_9"]["BackgroundTransparency"] = 1; | |
| 701 | UI["UIPadding_1f"] = Instance.new("UIPadding", UI["ScrollingFrame_9"]);
| |
| 702 | UI["UIPadding_1f"]["PaddingBottom"] = UDim.new(0, 80); | |
| 703 | ||
| 704 | ||
| 705 | UI["SubMain_a"] = Instance.new("Frame", UI["ScrollingFrame_9"]);
| |
| 706 | UI["SubMain_a"]["BorderSizePixel"] = 0; | |
| 707 | UI["SubMain_a"]["BackgroundColor3"] = Color3.fromRGB(255, 255, 255); | |
| 708 | UI["SubMain_a"]["ClipsDescendants"] = true; | |
| 709 | UI["SubMain_a"]["Size"] = UDim2.new(1, 0, 2, 550); | |
| 710 | UI["SubMain_a"]["AutomaticSize"] = "Y"; | |
| 711 | UI["SubMain_a"]["Position"] = UDim2.new(0, 0, -0.09353, 0); | |
| 712 | UI["SubMain_a"]["Name"] = [[SubMain]]; | |
| 713 | UI["SubMain_a"]["BackgroundTransparency"] = 1; | |
| 714 | ||
| 715 | ||
| 716 | UI["CharScale_b"] = Instance.new("TextBox", UI["SubMain_a"]);
| |
| 717 | UI["CharScale_b"]["Name"] = [[CharScale]]; | |
| 718 | UI["CharScale_b"]["BorderSizePixel"] = 0; | |
| 719 | UI["CharScale_b"]["TextWrapped"] = true; | |
| 720 | UI["CharScale_b"]["TextColor3"] = Color3.fromRGB(255, 255, 255); | |
| 721 | UI["CharScale_b"]["TextScaled"] = true; | |
| 722 | UI["CharScale_b"]["BackgroundColor3"] = Color3.fromRGB(0, 0, 0); | |
| 723 | UI["CharScale_b"]["RichText"] = true; | |
| 724 | UI["CharScale_b"]["FontFace"] = Font.new([[rbxasset://fonts/families/Zekton.json]], Enum.FontWeight.Regular, Enum.FontStyle.Normal); | |
| 725 | UI["CharScale_b"]["ClearTextOnFocus"] = false; | |
| 726 | UI["CharScale_b"]["PlaceholderText"] = [[Char Scale]]; | |
| 727 | UI["CharScale_b"]["Size"] = UDim2.new(0, 92, 0, 28); | |
| 728 | UI["CharScale_b"]["Position"] = UDim2.new(0.32234, 0, 0.35081, 0); | |
| 729 | UI["CharScale_b"]["Text"] = [[]]; | |
| 730 | ||
| 731 | ||
| 732 | UI["UIStroke_c"] = Instance.new("UIStroke", UI["CharScale_b"]);
| |
| 733 | UI["UIStroke_c"]["ApplyStrokeMode"] = Enum.ApplyStrokeMode.Border; | |
| 734 | UI["UIStroke_c"]["LineJoinMode"] = Enum.LineJoinMode.Miter; | |
| 735 | UI["UIStroke_c"]["Thickness"] = 2; | |
| 736 | UI["UIStroke_c"]["Color"] = Color3.fromRGB(255, 255, 255); | |
| 737 | ||
| 738 | ||
| 739 | UI["UIGradient_d"] = Instance.new("UIGradient", UI["UIStroke_c"]);
| |
| 740 | UI["UIGradient_d"]["Color"] = ColorSequence.new{ColorSequenceKeypoint.new(0.000, Color3.fromRGB(0, 0, 0)),ColorSequenceKeypoint.new(0.500, Color3.fromRGB(255, 0, 0)),ColorSequenceKeypoint.new(1.000, Color3.fromRGB(0, 0, 0))};
| |
| 741 | ||
| 742 | ||
| 743 | UI["Redownload_e"] = Instance.new("TextButton", UI["SubMain_a"]);
| |
| 744 | UI["Redownload_e"]["BorderSizePixel"] = 0; | |
| 745 | UI["Redownload_e"]["TextSize"] = 24; | |
| 746 | UI["Redownload_e"]["TextColor3"] = Color3.fromRGB(255, 255, 255); | |
| 747 | UI["Redownload_e"]["BackgroundColor3"] = Color3.fromRGB(0, 0, 0); | |
| 748 | UI["Redownload_e"]["FontFace"] = Font.new([[rbxasset://fonts/families/Zekton.json]], Enum.FontWeight.Regular, Enum.FontStyle.Normal); | |
| 749 | UI["Redownload_e"]["Size"] = UDim2.new(0, 136, 0, 44); | |
| 750 | UI["Redownload_e"]["Text"] = [[Reload Assets]]; | |
| 751 | UI["Redownload_e"]["Name"] = [[Redownload]]; | |
| 752 | UI["Redownload_e"]["Position"] = UDim2.new(0.01099, -5, 0.5226, 0); | |
| 753 | ||
| 754 | ||
| 755 | UI["UIStroke_f"] = Instance.new("UIStroke", UI["Redownload_e"]);
| |
| 756 | UI["UIStroke_f"]["ApplyStrokeMode"] = Enum.ApplyStrokeMode.Border; | |
| 757 | UI["UIStroke_f"]["LineJoinMode"] = Enum.LineJoinMode.Miter; | |
| 758 | UI["UIStroke_f"]["Thickness"] = 2; | |
| 759 | UI["UIStroke_f"]["Color"] = Color3.fromRGB(255, 255, 255); | |
| 760 | ||
| 761 | ||
| 762 | UI["UIGradient_10"] = Instance.new("UIGradient", UI["UIStroke_f"]);
| |
| 763 | UI["UIGradient_10"]["Color"] = ColorSequence.new{ColorSequenceKeypoint.new(0.000, Color3.fromRGB(0, 0, 0)),ColorSequenceKeypoint.new(0.500, Color3.fromRGB(255, 0, 0)),ColorSequenceKeypoint.new(1.000, Color3.fromRGB(0, 0, 0))};
| |
| 764 | ||
| 765 | ||
| 766 | UI["Reanimator_11"] = Instance.new("TextLabel", UI["SubMain_a"]);
| |
| 767 | UI["Reanimator_11"]["BorderSizePixel"] = 0; | |
| 768 | UI["Reanimator_11"]["TextSize"] = 24; | |
| 769 | UI["Reanimator_11"]["BackgroundColor3"] = Color3.fromRGB(255, 255, 255); | |
| 770 | UI["Reanimator_11"]["FontFace"] = Font.new([[rbxasset://fonts/families/Zekton.json]], Enum.FontWeight.Regular, Enum.FontStyle.Normal); | |
| 771 | UI["Reanimator_11"]["TextColor3"] = Color3.fromRGB(255, 0, 0); | |
| 772 | UI["Reanimator_11"]["BackgroundTransparency"] = 1; | |
| 773 | UI["Reanimator_11"]["Size"] = UDim2.new(0, 192, 0, 22); | |
| 774 | UI["Reanimator_11"]["Text"] = [[Selected: Empyrean]]; | |
| 775 | UI["Reanimator_11"]["Name"] = [[Reanimator]]; | |
| 776 | UI["Reanimator_11"]["Position"] = UDim2.new(-0.00275, 0, 0.32369, 0); | |
| 777 | ||
| 778 | ||
| 779 | UI["Settings _12"] = Instance.new("TextLabel", UI["SubMain_a"]);
| |
| 780 | UI["Settings _12"]["BorderSizePixel"] = 0; | |
| 781 | UI["Settings _12"]["TextSize"] = 24; | |
| 782 | UI["Settings _12"]["BackgroundColor3"] = Color3.fromRGB(255, 255, 255); | |
| 783 | UI["Settings _12"]["FontFace"] = Font.new([[rbxasset://fonts/families/Zekton.json]], Enum.FontWeight.Regular, Enum.FontStyle.Normal); | |
| 784 | UI["Settings _12"]["TextColor3"] = Color3.fromRGB(255, 0, 0); | |
| 785 | UI["Settings _12"]["BackgroundTransparency"] = 1; | |
| 786 | UI["Settings _12"]["Size"] = UDim2.new(0, 258, 0, 20); | |
| 787 | UI["Settings _12"]["Text"] = [[-- // Settings \\ --]]; | |
| 788 | UI["Settings _12"]["Name"] = [[Settings ]]; | |
| 789 | UI["Settings _12"]["Position"] = UDim2.new(0.32326, 0, 0.31284, 0); | |
| 790 | ||
| 791 | ||
| 792 | UI["Limbs_13"] = Instance.new("TextLabel", UI["SubMain_a"]);
| |
| 793 | UI["Limbs_13"]["BorderSizePixel"] = 0; | |
| 794 | UI["Limbs_13"]["TextSize"] = 24; | |
| 795 | UI["Limbs_13"]["BackgroundColor3"] = Color3.fromRGB(255, 255, 255); | |
| 796 | UI["Limbs_13"]["FontFace"] = Font.new([[rbxasset://fonts/families/Zekton.json]], Enum.FontWeight.Regular, Enum.FontStyle.Normal); | |
| 797 | UI["Limbs_13"]["TextColor3"] = Color3.fromRGB(255, 0, 0); | |
| 798 | UI["Limbs_13"]["BackgroundTransparency"] = 1; | |
| 799 | UI["Limbs_13"]["Size"] = UDim2.new(0, 258, 0, 20); | |
| 800 | UI["Limbs_13"]["Text"] = [[-- // Limbs \\ --]]; | |
| 801 | UI["Limbs_13"]["Name"] = [[Limbs]]; | |
| 802 | UI["Limbs_13"]["Position"] = UDim2.new(0.5, 0, 0.5226, 0); | |
| 803 | ||
| 804 | ||
| 805 | UI["Update_Frame_14"] = Instance.new("Frame", UI["SubMain_a"]);
| |
| 806 | UI["Update_Frame_14"]["BorderSizePixel"] = 0; | |
| 807 | UI["Update_Frame_14"]["BackgroundColor3"] = Color3.fromRGB(255, 255, 255); | |
| 808 | UI["Update_Frame_14"]["Size"] = UDim2.new(0, 246, 0, 310); | |
| 809 | UI["Update_Frame_14"]["Position"] = UDim2.new(0.00733, 0, 0.02893, 0); | |
| 810 | UI["Update_Frame_14"]["Name"] = [[Update_Frame]]; | |
| 811 | UI["Update_Frame_14"]["BackgroundTransparency"] = 1; | |
| 812 | ||
| 813 | ||
| 814 | UI["Shadow_15"] = Instance.new("ImageLabel", UI["Update_Frame_14"]);
| |
| 815 | UI["Shadow_15"]["ZIndex"] = -1; | |
| 816 | UI["Shadow_15"]["BorderSizePixel"] = 0; | |
| 817 | UI["Shadow_15"]["BackgroundColor3"] = Color3.fromRGB(255, 255, 255); | |
| 818 | UI["Shadow_15"]["ImageTransparency"] = 0.2; | |
| 819 | -- UI["Shadow_15"]["ImageContent"] = ; | |
| 820 | UI["Shadow_15"]["ImageColor3"] = Color3.fromRGB(0, 0, 0); | |
| 821 | UI["Shadow_15"]["Image"] = [[rbxassetid://8774493213]]; | |
| 822 | UI["Shadow_15"]["Size"] = UDim2.new(1, 0, 1, 10); | |
| 823 | UI["Shadow_15"]["BackgroundTransparency"] = 1; | |
| 824 | UI["Shadow_15"]["Name"] = [[Shadow]]; | |
| 825 | UI["Shadow_15"]["Position"] = UDim2.new(0, 0, -0.0129, 0); | |
| 826 | ||
| 827 | ||
| 828 | UI["TextLabel_16"] = Instance.new("TextLabel", UI["Update_Frame_14"]);
| |
| 829 | UI["TextLabel_16"]["TextWrapped"] = true; | |
| 830 | UI["TextLabel_16"]["BorderSizePixel"] = 0; | |
| 831 | UI["TextLabel_16"]["TextSize"] = 12; | |
| 832 | UI["TextLabel_16"]["TextXAlignment"] = Enum.TextXAlignment.Left; | |
| 833 | UI["TextLabel_16"]["TextYAlignment"] = Enum.TextYAlignment.Top; | |
| 834 | UI["TextLabel_16"]["BackgroundColor3"] = Color3.fromRGB(255, 255, 255); | |
| 835 | UI["TextLabel_16"]["FontFace"] = Font.new([[rbxasset://fonts/families/Inconsolata.json]], Enum.FontWeight.Regular, Enum.FontStyle.Normal); | |
| 836 | UI["TextLabel_16"]["TextColor3"] = Color3.fromRGB(255, 0, 0); | |
| 837 | UI["TextLabel_16"]["BackgroundTransparency"] = 1; | |
| 838 | UI["TextLabel_16"]["Size"] = UDim2.new(1, 0, 1, 0); | |
| 839 | UI["TextLabel_16"]["Text"] = "Clinty ui :D\n yes, we got UI🔥, you can scroll up or down on the UI now, you can choose 3 of the reanimate below this long\ntextlabel btw\nif you chose empyrean\nget a keyboard script\nbasically since enabling tools\nwill not work on empyrean\n\nUpdate:\nAdded Smooth Camera Toggle on\nsettings and added a tab called tutorial "; | |
| 840 | UI["TextLabel_16"]["Position"] = UDim2.new(0.06098, 0, 0.00645, 0); | |
| 841 | ||
| 842 | ||
| 843 | UI["UIStroke_17"] = Instance.new("UIStroke", UI["Update_Frame_14"]);
| |
| 844 | UI["UIStroke_17"]["ApplyStrokeMode"] = Enum.ApplyStrokeMode.Border; | |
| 845 | UI["UIStroke_17"]["LineJoinMode"] = Enum.LineJoinMode.Miter; | |
| 846 | UI["UIStroke_17"]["Thickness"] = 2; | |
| 847 | UI["UIStroke_17"]["Color"] = Color3.fromRGB(255, 255, 255); | |
| 848 | ||
| 849 | ||
| 850 | UI["UIGradient_18"] = Instance.new("UIGradient", UI["UIStroke_17"]);
| |
| 851 | UI["UIGradient_18"]["Color"] = ColorSequence.new{ColorSequenceKeypoint.new(0.000, Color3.fromRGB(0, 0, 0)),ColorSequenceKeypoint.new(0.500, Color3.fromRGB(255, 0, 0)),ColorSequenceKeypoint.new(1.000, Color3.fromRGB(0, 0, 0))};
| |
| 852 | ||
| 853 | ||
| 854 | UI["Minimize_19"] = Instance.new("TextButton", UI["SubMain_a"]);
| |
| 855 | UI["Minimize_19"]["BorderSizePixel"] = 0; | |
| 856 | UI["Minimize_19"]["TextSize"] = 22; | |
| 857 | UI["Minimize_19"]["TextColor3"] = Color3.fromRGB(255, 255, 255); | |
| 858 | UI["Minimize_19"]["BackgroundColor3"] = Color3.fromRGB(255, 255, 255); | |
| 859 | UI["Minimize_19"]["ZIndex"] = 2; | |
| 860 | UI["Minimize_19"]["BackgroundTransparency"] = 1; | |
| 861 | UI["Minimize_19"]["Size"] = UDim2.new(0, 20, 0, 20); | |
| 862 | UI["Minimize_19"]["Text"] = [[+]]; | |
| 863 | UI["Minimize_19"]["Name"] = [[Minimize]]; | |
| 864 | UI["Minimize_19"]["Position"] = UDim2.new(0.25916, 0, 0.35262, 0); | |
| 865 | ||
| 866 | ||
| 867 | UI["UICorner_1a"] = Instance.new("UICorner", UI["Minimize_19"]);
| |
| 868 | UI["UICorner_1a"]["CornerRadius"] = UDim.new(0, 7); | |
| 869 | ||
| 870 | ||
| 871 | UI["Respawn/Stop_1b"] = Instance.new("TextButton", UI["SubMain_a"]);
| |
| 872 | UI["Respawn/Stop_1b"]["TextSize"] = 24; | |
| 873 | UI["Respawn/Stop_1b"]["TextColor3"] = Color3.fromRGB(255, 255, 255); | |
| 874 | UI["Respawn/Stop_1b"]["BackgroundColor3"] = Color3.fromRGB(0, 0, 0); | |
| 875 | UI["Respawn/Stop_1b"]["FontFace"] = Font.new([[rbxasset://fonts/families/Zekton.json]], Enum.FontWeight.Regular, Enum.FontStyle.Normal); | |
| 876 | UI["Respawn/Stop_1b"]["Size"] = UDim2.new(0, 136, 0, 44); | |
| 877 | UI["Respawn/Stop_1b"]["Text"] = [[Deanimate]]; | |
| 878 | UI["Respawn/Stop_1b"]["Name"] = [[Respawn/Stop]]; | |
| 879 | UI["Respawn/Stop_1b"]["Position"] = UDim2.new(0.47253, 0, 0.22242, 0); | |
| 880 | ||
| 881 | ||
| 882 | UI["UIStroke_1c"] = Instance.new("UIStroke", UI["Respawn/Stop_1b"]);
| |
| 883 | UI["UIStroke_1c"]["ApplyStrokeMode"] = Enum.ApplyStrokeMode.Border; | |
| 884 | UI["UIStroke_1c"]["LineJoinMode"] = Enum.LineJoinMode.Miter; | |
| 885 | UI["UIStroke_1c"]["Thickness"] = 2; | |
| 886 | UI["UIStroke_1c"]["Color"] = Color3.fromRGB(255, 255, 255); | |
| 887 | ||
| 888 | ||
| 889 | UI["UIGradient_1d"] = Instance.new("UIGradient", UI["UIStroke_1c"]);
| |
| 890 | UI["UIGradient_1d"]["Color"] = ColorSequence.new{ColorSequenceKeypoint.new(0.000, Color3.fromRGB(0, 0, 0)),ColorSequenceKeypoint.new(0.500, Color3.fromRGB(255, 0, 0)),ColorSequenceKeypoint.new(1.000, Color3.fromRGB(0, 0, 0))};
| |
| 891 | ||
| 892 | ||
| 893 | UI["ScrollingFrame2_1e"] = Instance.new("ScrollingFrame", UI["SubMain_a"]);
| |
| 894 | UI["ScrollingFrame2_1e"]["BorderSizePixel"] = 0; | |
| 895 | UI["ScrollingFrame2_1e"]["CanvasSize"] = UDim2.new(0, 10, 0, 0); | |
| 896 | UI["ScrollingFrame2_1e"]["AutomaticCanvasSize"] = "Y"; | |
| 897 | UI["ScrollingFrame2_1e"]["BackgroundColor3"] = Color3.fromRGB(255, 255, 255); | |
| 898 | UI["ScrollingFrame2_1e"]["Name"] = [[ScrollingFrame2]]; | |
| 899 | UI["ScrollingFrame2_1e"]["Size"] = UDim2.new(0, 264, 0, 186); | |
| 900 | UI["ScrollingFrame2_1e"]["Position"] = UDim2.new(0.5, 0, 0.34901, 0); | |
| 901 | UI["ScrollingFrame2_1e"]["BackgroundTransparency"] = 1; | |
| 902 | ||
| 903 | ||
| 904 | UI["UIPadding_1f"] = Instance.new("UIPadding", UI["ScrollingFrame2_1e"]);
| |
| 905 | UI["UIPadding_1f"]["PaddingTop"] = UDim.new(0, 5); | |
| 906 | ||
| 907 | ||
| 908 | UI["Example_20"] = Instance.new("TextButton", UI["ScrollingFrame2_1e"]);
| |
| 909 | UI["Example_20"]["BorderSizePixel"] = 0; | |
| 910 | UI["Example_20"]["TextSize"] = 24; | |
| 911 | UI["Example_20"]["TextColor3"] = Color3.fromRGB(255, 255, 255); | |
| 912 | UI["Example_20"]["BackgroundColor3"] = Color3.fromRGB(0, 0, 0); | |
| 913 | UI["Example_20"]["FontFace"] = Font.new([[rbxasset://fonts/families/Zekton.json]], Enum.FontWeight.Regular, Enum.FontStyle.Normal); | |
| 914 | UI["Example_20"]["Size"] = UDim2.new(1, 0, 0, 44); | |
| 915 | UI["Example_20"]["Text"] = [[]]; | |
| 916 | UI["Example_20"]["Name"] = [[Example]]; | |
| 917 | UI["Example_20"]["Visible"] = false; | |
| 918 | UI["Example_20"]["Position"] = UDim2.new(0.97727, 0, 1.32258, 0); | |
| 919 | ||
| 920 | ||
| 921 | ||
| 922 | UI["UIStroke_24"] = Instance.new("UIStroke", UI["Example_20"]);
| |
| 923 | UI["UIStroke_24"]["ApplyStrokeMode"] = Enum.ApplyStrokeMode.Border; | |
| 924 | UI["UIStroke_24"]["LineJoinMode"] = Enum.LineJoinMode.Miter; | |
| 925 | UI["UIStroke_24"]["Thickness"] = 2; | |
| 926 | UI["UIStroke_24"]["Color"] = Color3.fromRGB(255, 255, 255); | |
| 927 | ||
| 928 | ||
| 929 | UI["UIGradient_25"] = Instance.new("UIGradient", UI["UIStroke_24"]);
| |
| 930 | UI["UIGradient_25"]["Color"] = ColorSequence.new{ColorSequenceKeypoint.new(0.000, Color3.fromRGB(0, 0, 0)),ColorSequenceKeypoint.new(0.500, Color3.fromRGB(255, 0, 0)),ColorSequenceKeypoint.new(1.000, Color3.fromRGB(0, 0, 0))};
| |
| 931 | ||
| 932 | ||
| 933 | UI["UIGridLayout_26"] = Instance.new("UIGridLayout", UI["ScrollingFrame2_1e"]);
| |
| 934 | UI["UIGridLayout_26"]["CellSize"] = UDim2.new(1, 0, 0, 28); | |
| 935 | ||
| 936 | ||
| 937 | UI["UIStroke_27"] = Instance.new("UIStroke", UI["ScrollingFrame2_1e"]);
| |
| 938 | UI["UIStroke_27"]["ApplyStrokeMode"] = Enum.ApplyStrokeMode.Border; | |
| 939 | UI["UIStroke_27"]["LineJoinMode"] = Enum.LineJoinMode.Miter; | |
| 940 | UI["UIStroke_27"]["Thickness"] = 2; | |
| 941 | UI["UIStroke_27"]["Color"] = Color3.fromRGB(255, 255, 255); | |
| 942 | ||
| 943 | ||
| 944 | UI["UIGradient_28"] = Instance.new("UIGradient", UI["UIStroke_27"]);
| |
| 945 | UI["UIGradient_28"]["Color"] = ColorSequence.new{ColorSequenceKeypoint.new(0.000, Color3.fromRGB(0, 0, 0)),ColorSequenceKeypoint.new(0.500, Color3.fromRGB(255, 0, 0)),ColorSequenceKeypoint.new(1.000, Color3.fromRGB(0, 0, 0))};
| |
| 946 | ||
| 947 | ||
| 948 | UI["PreviewImage_29"] = Instance.new("ImageLabel", UI["SubMain_a"]);
| |
| 949 | UI["PreviewImage_29"]["BorderSizePixel"] = 0; | |
| 950 | UI["PreviewImage_29"]["BackgroundColor3"] = Color3.fromRGB(250, 0, 0); | |
| 951 | UI["PreviewImage_29"]["Size"] = UDim2.new(0, 390, 0, 118); | |
| 952 | UI["PreviewImage_29"]["BackgroundTransparency"] = 0.9; | |
| 953 | UI["PreviewImage_29"]["Name"] = [[PreviewImage]]; | |
| 954 | UI["PreviewImage_29"]["Position"] = UDim2.new(0.4652, 0, 0.02712, 0); | |
| 955 | UI["PreviewImage_29"]["ScaleType"] = [[Crop]]; | |
| 956 | ||
| 957 | ||
| 958 | UI["UIStroke_2a"] = Instance.new("UIStroke", UI["PreviewImage_29"]);
| |
| 959 | UI["UIStroke_2a"]["ApplyStrokeMode"] = Enum.ApplyStrokeMode.Border; | |
| 960 | UI["UIStroke_2a"]["LineJoinMode"] = Enum.LineJoinMode.Miter; | |
| 961 | UI["UIStroke_2a"]["Thickness"] = 2; | |
| 962 | UI["UIStroke_2a"]["Color"] = Color3.fromRGB(255, 255, 255); | |
| 963 | ||
| 964 | ||
| 965 | UI["UIGradient_2b"] = Instance.new("UIGradient", UI["UIStroke_2a"]);
| |
| 966 | UI["UIGradient_2b"]["Color"] = ColorSequence.new{ColorSequenceKeypoint.new(0.000, Color3.fromRGB(0, 0, 0)),ColorSequenceKeypoint.new(0.500, Color3.fromRGB(255, 0, 0)),ColorSequenceKeypoint.new(1.000, Color3.fromRGB(0, 0, 0))};
| |
| 967 | ||
| 968 | ||
| 969 | UI["2Gelatek_2c"] = Instance.new("TextButton", UI["UIStroke_2a"]);
| |
| 970 | UI["2Gelatek_2c"]["BorderSizePixel"] = 0; | |
| 971 | UI["2Gelatek_2c"]["TextSize"] = 24; | |
| 972 | UI["2Gelatek_2c"]["TextColor3"] = Color3.fromRGB(255, 255, 255); | |
| 973 | UI["2Gelatek_2c"]["BackgroundColor3"] = Color3.fromRGB(0, 0, 0); | |
| 974 | UI["2Gelatek_2c"]["FontFace"] = Font.new([[rbxasset://fonts/families/Zekton.json]], Enum.FontWeight.Regular, Enum.FontStyle.Normal); | |
| 975 | UI["2Gelatek_2c"]["Size"] = UDim2.new(1, 0, 0, 44); | |
| 976 | UI["2Gelatek_2c"]["Text"] = [[Gelatek]]; | |
| 977 | UI["2Gelatek_2c"]["Name"] = [[2Gelatek]]; | |
| 978 | UI["2Gelatek_2c"]["Position"] = UDim2.new(0, 258, 0, 246); | |
| 979 | ||
| 980 | ||
| 981 | UI["UIStroke_30"] = Instance.new("UIStroke", UI["2Gelatek_2c"]);
| |
| 982 | UI["UIStroke_30"]["ApplyStrokeMode"] = Enum.ApplyStrokeMode.Border; | |
| 983 | UI["UIStroke_30"]["LineJoinMode"] = Enum.LineJoinMode.Miter; | |
| 984 | UI["UIStroke_30"]["Thickness"] = 2; | |
| 985 | UI["UIStroke_30"]["Color"] = Color3.fromRGB(255, 255, 255); | |
| 986 | ||
| 987 | ||
| 988 | UI["UIGradient_31"] = Instance.new("UIGradient", UI["UIStroke_30"]);
| |
| 989 | UI["UIGradient_31"]["Color"] = ColorSequence.new{ColorSequenceKeypoint.new(0.000, Color3.fromRGB(0, 0, 0)),ColorSequenceKeypoint.new(0.500, Color3.fromRGB(255, 0, 0)),ColorSequenceKeypoint.new(1.000, Color3.fromRGB(0, 0, 0))};
| |
| 990 | ||
| 991 | ||
| 992 | UI["Reanimate/Run_32"] = Instance.new("TextButton", UI["SubMain_a"]);
| |
| 993 | UI["Reanimate/Run_32"]["BorderSizePixel"] = 0; | |
| 994 | UI["Reanimate/Run_32"]["TextSize"] = 24; | |
| 995 | UI["Reanimate/Run_32"]["TextColor3"] = Color3.fromRGB(255, 255, 255); | |
| 996 | UI["Reanimate/Run_32"]["BackgroundColor3"] = Color3.fromRGB(0, 0, 0); | |
| 997 | UI["Reanimate/Run_32"]["FontFace"] = Font.new([[rbxasset://fonts/families/Zekton.json]], Enum.FontWeight.Regular, Enum.FontStyle.Normal); | |
| 998 | UI["Reanimate/Run_32"]["Size"] = UDim2.new(0, 136, 0, 44); | |
| 999 | UI["Reanimate/Run_32"]["Text"] = [[Reanimate]]; | |
| 1000 | UI["Reanimate/Run_32"]["Name"] = [[Reanimate/Run]]; | |
| 1001 | UI["Reanimate/Run_32"]["Position"] = UDim2.new(0.7326, 0, 0.22242, 0); | |
| 1002 | ||
| 1003 | ||
| 1004 | UI["UIStroke_33"] = Instance.new("UIStroke", UI["Reanimate/Run_32"]);
| |
| 1005 | UI["UIStroke_33"]["ApplyStrokeMode"] = Enum.ApplyStrokeMode.Border; | |
| 1006 | UI["UIStroke_33"]["LineJoinMode"] = Enum.LineJoinMode.Miter; | |
| 1007 | UI["UIStroke_33"]["Thickness"] = 2; | |
| 1008 | UI["UIStroke_33"]["Color"] = Color3.fromRGB(255, 255, 255); | |
| 1009 | ||
| 1010 | ||
| 1011 | UI["UIGradient_34"] = Instance.new("UIGradient", UI["UIStroke_33"]);
| |
| 1012 | UI["UIGradient_34"]["Color"] = ColorSequence.new{ColorSequenceKeypoint.new(0.000, Color3.fromRGB(0, 0, 0)),ColorSequenceKeypoint.new(0.500, Color3.fromRGB(255, 0, 0)),ColorSequenceKeypoint.new(1.000, Color3.fromRGB(0, 0, 0))};
| |
| 1013 | ||
| 1014 | ||
| 1015 | UI["Image :v_35"] = Instance.new("TextLabel", UI["SubMain_a"]);
| |
| 1016 | UI["Image :v_35"]["BorderSizePixel"] = 0; | |
| 1017 | UI["Image :v_35"]["TextSize"] = 24; | |
| 1018 | UI["Image :v_35"]["BackgroundColor3"] = Color3.fromRGB(255, 255, 255); | |
| 1019 | UI["Image :v_35"]["FontFace"] = Font.new([[rbxasset://fonts/families/Zekton.json]], Enum.FontWeight.Regular, Enum.FontStyle.Normal); | |
| 1020 | UI["Image :v_35"]["TextColor3"] = Color3.fromRGB(255, 0, 0); | |
| 1021 | UI["Image :v_35"]["BackgroundTransparency"] = 1; | |
| 1022 | UI["Image :v_35"]["Size"] = UDim2.new(0, 212, 0, 20); | |
| 1023 | UI["Image :v_35"]["Text"] = [[No Images Currently :v]]; | |
| 1024 | UI["Image :v_35"]["Name"] = [[Image :v]]; | |
| 1025 | UI["Image :v_35"]["Position"] = UDim2.new(0.47619, 0, 0.14105, 0); | |
| 1026 | ||
| 1027 | ||
| 1028 | UI["ScrollingFrame_36"] = Instance.new("ScrollingFrame", UI["SubMain_a"]);
| |
| 1029 | UI["ScrollingFrame_36"]["BorderSizePixel"] = 0; | |
| 1030 | UI["ScrollingFrame_36"]["CanvasSize"] = UDim2.new(0, 10, 0, 0); | |
| 1031 | UI["ScrollingFrame_36"]["BackgroundColor3"] = Color3.fromRGB(255, 255, 255); | |
| 1032 | UI["ScrollingFrame_36"]["Size"] = UDim2.new(0, 136, 0, 38); | |
| 1033 | UI["ScrollingFrame_36"]["Position"] = UDim2.new(0.00092, 0, 0.34901, 0); | |
| 1034 | UI["ScrollingFrame_36"]["BackgroundTransparency"] = 1; | |
| 1035 | ||
| 1036 | ||
| 1037 | UI["1Emp_37"] = Instance.new("TextButton", UI["ScrollingFrame_36"]);
| |
| 1038 | UI["1Emp_37"]["BorderSizePixel"] = 0; | |
| 1039 | UI["1Emp_37"]["TextSize"] = 24; | |
| 1040 | UI["1Emp_37"]["TextColor3"] = Color3.fromRGB(255, 255, 255); | |
| 1041 | UI["1Emp_37"]["BackgroundColor3"] = Color3.fromRGB(0, 0, 0); | |
| 1042 | UI["1Emp_37"]["FontFace"] = Font.new([[rbxasset://fonts/families/Zekton.json]], Enum.FontWeight.Regular, Enum.FontStyle.Normal); | |
| 1043 | UI["1Emp_37"]["Size"] = UDim2.new(1, 0, 0, 44); | |
| 1044 | UI["1Emp_37"]["Text"] = [[Empyrean]]; | |
| 1045 | UI["1Emp_37"]["Name"] = [[1Emp]]; | |
| 1046 | UI["1Emp_37"]["Position"] = UDim2.new(1.89706, 0, 6.47368, 0); | |
| 1047 | ||
| 1048 | ||
| 1049 | ||
| 1050 | UI["UIStroke_3b"] = Instance.new("UIStroke", UI["1Emp_37"]);
| |
| 1051 | UI["UIStroke_3b"]["ApplyStrokeMode"] = Enum.ApplyStrokeMode.Border; | |
| 1052 | UI["UIStroke_3b"]["LineJoinMode"] = Enum.LineJoinMode.Miter; | |
| 1053 | UI["UIStroke_3b"]["Thickness"] = 2; | |
| 1054 | UI["UIStroke_3b"]["Color"] = Color3.fromRGB(255, 255, 255); | |
| 1055 | ||
| 1056 | ||
| 1057 | UI["UIGradient_3c"] = Instance.new("UIGradient", UI["UIStroke_3b"]);
| |
| 1058 | UI["UIGradient_3c"]["Color"] = ColorSequence.new{ColorSequenceKeypoint.new(0.000, Color3.fromRGB(0, 0, 0)),ColorSequenceKeypoint.new(0.500, Color3.fromRGB(255, 0, 0)),ColorSequenceKeypoint.new(1.000, Color3.fromRGB(0, 0, 0))};
| |
| 1059 | ||
| 1060 | ||
| 1061 | UI["2Gelatek_3d"] = Instance.new("TextButton", UI["ScrollingFrame_36"]);
| |
| 1062 | UI["2Gelatek_3d"]["BorderSizePixel"] = 0; | |
| 1063 | UI["2Gelatek_3d"]["TextSize"] = 24; | |
| 1064 | UI["2Gelatek_3d"]["TextColor3"] = Color3.fromRGB(255, 255, 255); | |
| 1065 | UI["2Gelatek_3d"]["BackgroundColor3"] = Color3.fromRGB(0, 0, 0); | |
| 1066 | UI["2Gelatek_3d"]["FontFace"] = Font.new([[rbxasset://fonts/families/Zekton.json]], Enum.FontWeight.Regular, Enum.FontStyle.Normal); | |
| 1067 | UI["2Gelatek_3d"]["Size"] = UDim2.new(1, 0, 0, 44); | |
| 1068 | UI["2Gelatek_3d"]["Text"] = [[Gelatek]]; | |
| 1069 | UI["2Gelatek_3d"]["Name"] = [[2Gelatek]]; | |
| 1070 | UI["2Gelatek_3d"]["Position"] = UDim2.new(1.89706, 0, 6.47368, 0); | |
| 1071 | ||
| 1072 | ||
| 1073 | ||
| 1074 | UI["UIStroke_41"] = Instance.new("UIStroke", UI["2Gelatek_3d"]);
| |
| 1075 | UI["UIStroke_41"]["ApplyStrokeMode"] = Enum.ApplyStrokeMode.Border; | |
| 1076 | UI["UIStroke_41"]["LineJoinMode"] = Enum.LineJoinMode.Miter; | |
| 1077 | UI["UIStroke_41"]["Thickness"] = 2; | |
| 1078 | UI["UIStroke_41"]["Color"] = Color3.fromRGB(255, 255, 255); | |
| 1079 | ||
| 1080 | ||
| 1081 | UI["UIGradient_42"] = Instance.new("UIGradient", UI["UIStroke_41"]);
| |
| 1082 | UI["UIGradient_42"]["Color"] = ColorSequence.new{ColorSequenceKeypoint.new(0.000, Color3.fromRGB(0, 0, 0)),ColorSequenceKeypoint.new(0.500, Color3.fromRGB(255, 0, 0)),ColorSequenceKeypoint.new(1.000, Color3.fromRGB(0, 0, 0))};
| |
| 1083 | ||
| 1084 | ||
| 1085 | UI["3CurrentAngle_43"] = Instance.new("TextButton", UI["ScrollingFrame_36"]);
| |
| 1086 | UI["3CurrentAngle_43"]["BorderSizePixel"] = 0; | |
| 1087 | UI["3CurrentAngle_43"]["TextSize"] = 24; | |
| 1088 | UI["3CurrentAngle_43"]["TextColor3"] = Color3.fromRGB(255, 255, 255); | |
| 1089 | UI["3CurrentAngle_43"]["BackgroundColor3"] = Color3.fromRGB(0, 0, 0); | |
| 1090 | UI["3CurrentAngle_43"]["FontFace"] = Font.new([[rbxasset://fonts/families/Zekton.json]], Enum.FontWeight.Regular, Enum.FontStyle.Normal); | |
| 1091 | UI["3CurrentAngle_43"]["Size"] = UDim2.new(1, 0, 0, 44); | |
| 1092 | UI["3CurrentAngle_43"]["Text"] = [[CurrentAngle]]; | |
| 1093 | UI["3CurrentAngle_43"]["Name"] = [[3CurrentAngle]]; | |
| 1094 | UI["3CurrentAngle_43"]["Position"] = UDim2.new(1.89706, 0, 6.47368, 0); | |
| 1095 | ||
| 1096 | ||
| 1097 | ||
| 1098 | UI["UIStroke_47"] = Instance.new("UIStroke", UI["3CurrentAngle_43"]);
| |
| 1099 | UI["UIStroke_47"]["ApplyStrokeMode"] = Enum.ApplyStrokeMode.Border; | |
| 1100 | UI["UIStroke_47"]["LineJoinMode"] = Enum.LineJoinMode.Miter; | |
| 1101 | UI["UIStroke_47"]["Thickness"] = 2; | |
| 1102 | UI["UIStroke_47"]["Color"] = Color3.fromRGB(255, 255, 255); | |
| 1103 | ||
| 1104 | ||
| 1105 | UI["UIGradient_48"] = Instance.new("UIGradient", UI["UIStroke_47"]);
| |
| 1106 | UI["UIGradient_48"]["Color"] = ColorSequence.new{ColorSequenceKeypoint.new(0.000, Color3.fromRGB(0, 0, 0)),ColorSequenceKeypoint.new(0.500, Color3.fromRGB(255, 0, 0)),ColorSequenceKeypoint.new(1.000, Color3.fromRGB(0, 0, 0))};
| |
| 1107 | ||
| 1108 | ||
| 1109 | UI["UIPadding_49"] = Instance.new("UIPadding", UI["ScrollingFrame_36"]);
| |
| 1110 | UI["UIPadding_49"]["PaddingTop"] = UDim.new(0, 5); | |
| 1111 | ||
| 1112 | ||
| 1113 | UI["UIGridLayout_4a"] = Instance.new("UIGridLayout", UI["ScrollingFrame_36"]);
| |
| 1114 | UI["UIGridLayout_4a"]["CellSize"] = UDim2.new(1, 0, 0, 28); | |
| 1115 | ||
| 1116 | ||
| 1117 | UI["UIStroke_4b"] = Instance.new("UIStroke", UI["ScrollingFrame_36"]);
| |
| 1118 | UI["UIStroke_4b"]["ApplyStrokeMode"] = Enum.ApplyStrokeMode.Border; | |
| 1119 | UI["UIStroke_4b"]["LineJoinMode"] = Enum.LineJoinMode.Miter; | |
| 1120 | UI["UIStroke_4b"]["Thickness"] = 2; | |
| 1121 | UI["UIStroke_4b"]["Color"] = Color3.fromRGB(255, 255, 255); | |
| 1122 | ||
| 1123 | ||
| 1124 | UI["UIGradient_4c"] = Instance.new("UIGradient", UI["UIStroke_4b"]);
| |
| 1125 | UI["UIGradient_4c"]["Color"] = ColorSequence.new{ColorSequenceKeypoint.new(0.000, Color3.fromRGB(0, 0, 0)),ColorSequenceKeypoint.new(0.500, Color3.fromRGB(255, 0, 0)),ColorSequenceKeypoint.new(1.000, Color3.fromRGB(0, 0, 0))};
| |
| 1126 | ||
| 1127 | ||
| 1128 | UI["Title_4d"] = Instance.new("TextLabel", UI["Main_2"]);
| |
| 1129 | UI["Title_4d"]["ZIndex"] = -1; | |
| 1130 | UI["Title_4d"]["BorderSizePixel"] = 0; | |
| 1131 | UI["Title_4d"]["TextSize"] = 24; | |
| 1132 | UI["Title_4d"]["BackgroundColor3"] = Color3.fromRGB(255, 255, 255); | |
| 1133 | UI["Title_4d"]["FontFace"] = Font.new([[rbxasset://fonts/families/Zekton.json]], Enum.FontWeight.Regular, Enum.FontStyle.Normal); | |
| 1134 | UI["Title_4d"]["TextColor3"] = Color3.fromRGB(255, 0, 0); | |
| 1135 | UI["Title_4d"]["BackgroundTransparency"] = 1; | |
| 1136 | UI["Title_4d"]["Size"] = UDim2.new(0, 178, 0, 20); | |
| 1137 | UI["Title_4d"]["Text"] = [[Clints Dancezzz]]; | |
| 1138 | UI["Title_4d"]["Name"] = [[Title]]; | |
| 1139 | UI["Title_4d"]["Position"] = UDim2.new(0, 0, 0.01316, 0); | |
| 1140 | ||
| 1141 | ||
| 1142 | UI["UIStroke_4e"] = Instance.new("UIStroke", UI["Main_2"]);
| |
| 1143 | UI["UIStroke_4e"]["ApplyStrokeMode"] = Enum.ApplyStrokeMode.Border; | |
| 1144 | UI["UIStroke_4e"]["LineJoinMode"] = Enum.LineJoinMode.Miter; | |
| 1145 | UI["UIStroke_4e"]["Thickness"] = 2; | |
| 1146 | UI["UIStroke_4e"]["Color"] = Color3.fromRGB(255, 255, 255); | |
| 1147 | ||
| 1148 | ||
| 1149 | UI["UIGradient_4f"] = Instance.new("UIGradient", UI["UIStroke_4e"]);
| |
| 1150 | UI["UIGradient_4f"]["Color"] = ColorSequence.new{ColorSequenceKeypoint.new(0.000, Color3.fromRGB(0, 0, 0)),ColorSequenceKeypoint.new(0.500, Color3.fromRGB(255, 0, 0)),ColorSequenceKeypoint.new(1.000, Color3.fromRGB(0, 0, 0))};
| |
| 1151 | ||
| 1152 | ||
| 1153 | UI["TabGroup_51"] = Instance.new("CanvasGroup", UI["Main_2"]);
| |
| 1154 | UI["TabGroup_51"]["BorderSizePixel"] = 0; | |
| 1155 | UI["TabGroup_51"]["BackgroundColor3"] = Color3.fromRGB(0, 0, 0); | |
| 1156 | UI["TabGroup_51"]["Size"] = UDim2.new(0.28938, 0, 1, 0); | |
| 1157 | UI["TabGroup_51"]["Position"] = UDim2.new(-0.30403, 0, 0, 0); | |
| 1158 | UI["TabGroup_51"]["Name"] = [[TabGroup]]; | |
| 1159 | UI["TabGroup_51"]["BackgroundTransparency"] = 0.5; | |
| 1160 | ||
| 1161 | ||
| 1162 | UI["UIStroke_52"] = Instance.new("UIStroke", UI["TabGroup_51"]);
| |
| 1163 | UI["UIStroke_52"]["ApplyStrokeMode"] = Enum.ApplyStrokeMode.Border; | |
| 1164 | UI["UIStroke_52"]["LineJoinMode"] = Enum.LineJoinMode.Miter; | |
| 1165 | UI["UIStroke_52"]["Thickness"] = 2; | |
| 1166 | UI["UIStroke_52"]["Color"] = Color3.fromRGB(255, 255, 255); | |
| 1167 | ||
| 1168 | ||
| 1169 | UI["UIGradient_53"] = Instance.new("UIGradient", UI["UIStroke_52"]);
| |
| 1170 | UI["UIGradient_53"]["Color"] = ColorSequence.new{ColorSequenceKeypoint.new(0.000, Color3.fromRGB(0, 0, 0)),ColorSequenceKeypoint.new(0.500, Color3.fromRGB(255, 0, 0)),ColorSequenceKeypoint.new(1.000, Color3.fromRGB(0, 0, 0))};
| |
| 1171 | ||
| 1172 | ||
| 1173 | UI["Title_54"] = Instance.new("TextLabel", UI["TabGroup_51"]);
| |
| 1174 | UI["Title_54"]["TextWrapped"] = true; | |
| 1175 | UI["Title_54"]["ZIndex"] = -1; | |
| 1176 | UI["Title_54"]["BorderSizePixel"] = 0; | |
| 1177 | UI["Title_54"]["TextSize"] = 24; | |
| 1178 | UI["Title_54"]["TextScaled"] = true; | |
| 1179 | UI["Title_54"]["BackgroundColor3"] = Color3.fromRGB(255, 255, 255); | |
| 1180 | UI["Title_54"]["FontFace"] = Font.new([[rbxasset://fonts/families/Zekton.json]], Enum.FontWeight.Regular, Enum.FontStyle.Normal); | |
| 1181 | UI["Title_54"]["TextColor3"] = Color3.fromRGB(255, 0, 0); | |
| 1182 | UI["Title_54"]["BackgroundTransparency"] = 1; | |
| 1183 | UI["Title_54"]["Size"] = UDim2.new(1, 0, 0.09211, 0); | |
| 1184 | UI["Title_54"]["Text"] = [[Tab]]; | |
| 1185 | UI["Title_54"]["Name"] = [[Title]]; | |
| 1186 | UI["Title_54"]["Position"] = UDim2.new(0, 0, 0.00658, 0); | |
| 1187 | ||
| 1188 | ||
| 1189 | UI["UIStroke_55"] = Instance.new("UIStroke", UI["Title_54"]);
| |
| 1190 | UI["UIStroke_55"]["ApplyStrokeMode"] = Enum.ApplyStrokeMode.Border; | |
| 1191 | UI["UIStroke_55"]["LineJoinMode"] = Enum.LineJoinMode.Miter; | |
| 1192 | UI["UIStroke_55"]["Thickness"] = 2; | |
| 1193 | UI["UIStroke_55"]["Color"] = Color3.fromRGB(255, 255, 255); | |
| 1194 | ||
| 1195 | ||
| 1196 | UI["UIGradient_56"] = Instance.new("UIGradient", UI["UIStroke_55"]);
| |
| 1197 | UI["UIGradient_56"]["Color"] = ColorSequence.new{ColorSequenceKeypoint.new(0.000, Color3.fromRGB(0, 0, 0)),ColorSequenceKeypoint.new(0.500, Color3.fromRGB(255, 0, 0)),ColorSequenceKeypoint.new(1.000, Color3.fromRGB(0, 0, 0))};
| |
| 1198 | ||
| 1199 | ||
| 1200 | UI["ScrollingFrame_57"] = Instance.new("ScrollingFrame", UI["TabGroup_51"]);
| |
| 1201 | UI["ScrollingFrame_57"]["BorderSizePixel"] = 0; | |
| 1202 | UI["ScrollingFrame_57"]["CanvasSize"] = UDim2.new(0, 0, 0, 0); | |
| 1203 | UI["ScrollingFrame_57"]["BackgroundColor3"] = Color3.fromRGB(0, 0, 0); | |
| 1204 | UI["ScrollingFrame_57"]["AutomaticCanvasSize"] = Enum.AutomaticSize.Y; | |
| 1205 | UI["ScrollingFrame_57"]["Size"] = UDim2.new(1, 0, 1, 0); | |
| 1206 | UI["ScrollingFrame_57"]["Position"] = UDim2.new(0, 0, 0.11184, 0); | |
| 1207 | UI["ScrollingFrame_57"]["ScrollBarThickness"] = 0; | |
| 1208 | UI["ScrollingFrame_57"]["BackgroundTransparency"] = 1; | |
| 1209 | UI["UIPadding_1f"] = Instance.new("UIPadding", UI["ScrollingFrame_57"]);
| |
| 1210 | UI["UIPadding_1f"]["PaddingBottom"] = UDim.new(0, 50); | |
| 1211 | ||
| 1212 | UI["UIStroke_58"] = Instance.new("UIStroke", UI["ScrollingFrame_57"]);
| |
| 1213 | UI["UIStroke_58"]["ApplyStrokeMode"] = Enum.ApplyStrokeMode.Border; | |
| 1214 | UI["UIStroke_58"]["LineJoinMode"] = Enum.LineJoinMode.Miter; | |
| 1215 | UI["UIStroke_58"]["Thickness"] = 2; | |
| 1216 | UI["UIStroke_58"]["Color"] = Color3.fromRGB(255, 255, 255); | |
| 1217 | ||
| 1218 | ||
| 1219 | UI["UIGradient_59"] = Instance.new("UIGradient", UI["UIStroke_58"]);
| |
| 1220 | UI["UIGradient_59"]["Color"] = ColorSequence.new{ColorSequenceKeypoint.new(0.000, Color3.fromRGB(0, 0, 0)),ColorSequenceKeypoint.new(0.500, Color3.fromRGB(255, 0, 0)),ColorSequenceKeypoint.new(1.000, Color3.fromRGB(0, 0, 0))};
| |
| 1221 | ||
| 1222 | ||
| 1223 | UI["UIGridLayout_5a"] = Instance.new("UIGridLayout", UI["ScrollingFrame_57"]);
| |
| 1224 | UI["UIGridLayout_5a"]["CellSize"] = UDim2.new(1, 0, 0, 50); | |
| 1225 | ||
| 1226 | ||
| 1227 | UI["UIPadding_5b"] = Instance.new("UIPadding", UI["ScrollingFrame_57"]);
| |
| 1228 | UI["UIPadding_5b"]["PaddingBottom"] = UDim.new(0, 32); | |
| 1229 | ||
| 1230 | ||
| 1231 | UI["0Home_5c"] = Instance.new("TextButton", UI["ScrollingFrame_57"]);
| |
| 1232 | UI["0Home_5c"]["TextWrapped"] = true; | |
| 1233 | UI["0Home_5c"]["BorderSizePixel"] = 0; | |
| 1234 | UI["0Home_5c"]["TextSize"] = 24; | |
| 1235 | UI["0Home_5c"]["TextColor3"] = Color3.fromRGB(255, 255, 255); | |
| 1236 | UI["0Home_5c"]["BackgroundColor3"] = Color3.fromRGB(0, 0, 0); | |
| 1237 | UI["0Home_5c"]["FontFace"] = Font.new([[rbxasset://fonts/families/Zekton.json]], Enum.FontWeight.Regular, Enum.FontStyle.Normal); | |
| 1238 | UI["0Home_5c"]["Size"] = UDim2.new(0, 136, 0, 44); | |
| 1239 | UI["0Home_5c"]["Text"] = [[Home]]; | |
| 1240 | UI["0Home_5c"]["Name"] = [[0Home]]; | |
| 1241 | UI["0Home_5c"]["Position"] = UDim2.new(0.7326, 0, 0.22242, 0); | |
| 1242 | ||
| 1243 | ||
| 1244 | UI["UIStroke_5d"] = Instance.new("UIStroke", UI["0Home_5c"]);
| |
| 1245 | UI["UIStroke_5d"]["ApplyStrokeMode"] = Enum.ApplyStrokeMode.Border; | |
| 1246 | UI["UIStroke_5d"]["LineJoinMode"] = Enum.LineJoinMode.Miter; | |
| 1247 | UI["UIStroke_5d"]["Thickness"] = 2; | |
| 1248 | UI["UIStroke_5d"]["Color"] = Color3.fromRGB(255, 255, 255); | |
| 1249 | ||
| 1250 | ||
| 1251 | UI["UIGradient_5e"] = Instance.new("UIGradient", UI["UIStroke_5d"]);
| |
| 1252 | UI["UIGradient_5e"]["Color"] = ColorSequence.new{ColorSequenceKeypoint.new(0.000, Color3.fromRGB(0, 0, 0)),ColorSequenceKeypoint.new(0.500, Color3.fromRGB(255, 0, 0)),ColorSequenceKeypoint.new(1.000, Color3.fromRGB(0, 0, 0))};
| |
| 1253 | ||
| 1254 | ||
| 1255 | UI["1Modules_5f"] = Instance.new("TextButton", UI["ScrollingFrame_57"]);
| |
| 1256 | UI["1Modules_5f"]["TextWrapped"] = true; | |
| 1257 | UI["1Modules_5f"]["BorderSizePixel"] = 0; | |
| 1258 | UI["1Modules_5f"]["TextSize"] = 24; | |
| 1259 | UI["1Modules_5f"]["TextColor3"] = Color3.fromRGB(255, 255, 255); | |
| 1260 | UI["1Modules_5f"]["BackgroundColor3"] = Color3.fromRGB(0, 0, 0); | |
| 1261 | UI["1Modules_5f"]["FontFace"] = Font.new([[rbxasset://fonts/families/Zekton.json]], Enum.FontWeight.Regular, Enum.FontStyle.Normal); | |
| 1262 | UI["1Modules_5f"]["Size"] = UDim2.new(0, 136, 0, 44); | |
| 1263 | UI["1Modules_5f"]["Text"] = [[Module Shop]]; | |
| 1264 | UI["1Modules_5f"]["Name"] = [[1ModuleShop]]; | |
| 1265 | UI["1Modules_5f"]["Position"] = UDim2.new(0.7326, 0, 0.22242, 0); | |
| 1266 | ||
| 1267 | ||
| 1268 | UI["UIStroke_60"] = Instance.new("UIStroke", UI["1Modules_5f"]);
| |
| 1269 | UI["UIStroke_60"]["ApplyStrokeMode"] = Enum.ApplyStrokeMode.Border; | |
| 1270 | UI["UIStroke_60"]["LineJoinMode"] = Enum.LineJoinMode.Miter; | |
| 1271 | UI["UIStroke_60"]["Thickness"] = 2; | |
| 1272 | UI["UIStroke_60"]["Color"] = Color3.fromRGB(255, 255, 255); | |
| 1273 | ||
| 1274 | ||
| 1275 | UI["UIGradient_61"] = Instance.new("UIGradient", UI["UIStroke_60"]);
| |
| 1276 | UI["UIGradient_61"]["Color"] = ColorSequence.new{ColorSequenceKeypoint.new(0.000, Color3.fromRGB(0, 0, 0)),ColorSequenceKeypoint.new(0.500, Color3.fromRGB(255, 0, 0)),ColorSequenceKeypoint.new(1.000, Color3.fromRGB(0, 0, 0))};
| |
| 1277 | ||
| 1278 | ||
| 1279 | UI["2Settings_62"] = Instance.new("TextButton", UI["ScrollingFrame_57"]);
| |
| 1280 | UI["2Settings_62"]["TextWrapped"] = true; | |
| 1281 | UI["2Settings_62"]["BorderSizePixel"] = 0; | |
| 1282 | UI["2Settings_62"]["TextSize"] = 24; | |
| 1283 | UI["2Settings_62"]["TextColor3"] = Color3.fromRGB(255, 255, 255); | |
| 1284 | UI["2Settings_62"]["BackgroundColor3"] = Color3.fromRGB(0, 0, 0); | |
| 1285 | UI["2Settings_62"]["FontFace"] = Font.new([[rbxasset://fonts/families/Zekton.json]], Enum.FontWeight.Regular, Enum.FontStyle.Normal); | |
| 1286 | UI["2Settings_62"]["Size"] = UDim2.new(0, 136, 0, 44); | |
| 1287 | UI["2Settings_62"]["Text"] = [[Settings]]; | |
| 1288 | UI["2Settings_62"]["Name"] = [[2Settings]]; | |
| 1289 | UI["2Settings_62"]["Position"] = UDim2.new(0.7326, 0, 0.22242, 0); | |
| 1290 | ||
| 1291 | ||
| 1292 | UI["UIStroke_63"] = Instance.new("UIStroke", UI["2Settings_62"]);
| |
| 1293 | UI["UIStroke_63"]["ApplyStrokeMode"] = Enum.ApplyStrokeMode.Border; | |
| 1294 | UI["UIStroke_63"]["LineJoinMode"] = Enum.LineJoinMode.Miter; | |
| 1295 | UI["UIStroke_63"]["Thickness"] = 2; | |
| 1296 | UI["UIStroke_63"]["Color"] = Color3.fromRGB(255, 255, 255); | |
| 1297 | ||
| 1298 | ||
| 1299 | UI["UIGradient_64"] = Instance.new("UIGradient", UI["UIStroke_63"]);
| |
| 1300 | UI["UIGradient_64"]["Color"] = ColorSequence.new{ColorSequenceKeypoint.new(0.000, Color3.fromRGB(0, 0, 0)),ColorSequenceKeypoint.new(0.500, Color3.fromRGB(255, 0, 0)),ColorSequenceKeypoint.new(1.000, Color3.fromRGB(0, 0, 0))};
| |
| 1301 | ||
| 1302 | ||
| 1303 | UI["3Credits_65"] = Instance.new("TextButton", UI["ScrollingFrame_57"]);
| |
| 1304 | UI["3Credits_65"]["TextWrapped"] = true; | |
| 1305 | UI["3Credits_65"]["BorderSizePixel"] = 0; | |
| 1306 | UI["3Credits_65"]["TextSize"] = 24; | |
| 1307 | UI["3Credits_65"]["TextColor3"] = Color3.fromRGB(255, 255, 255); | |
| 1308 | UI["3Credits_65"]["BackgroundColor3"] = Color3.fromRGB(0, 0, 0); | |
| 1309 | UI["3Credits_65"]["FontFace"] = Font.new([[rbxasset://fonts/families/Zekton.json]], Enum.FontWeight.Regular, Enum.FontStyle.Normal); | |
| 1310 | UI["3Credits_65"]["Size"] = UDim2.new(0, 136, 0, 44); | |
| 1311 | UI["3Credits_65"]["Text"] = [[Credits and about]]; | |
| 1312 | UI["3Credits_65"]["Name"] = [[3Credits]]; | |
| 1313 | UI["3Credits_65"]["Position"] = UDim2.new(0.7326, 0, 0.22242, 0); | |
| 1314 | ||
| 1315 | ||
| 1316 | UI["UIStroke_66"] = Instance.new("UIStroke", UI["3Credits_65"]);
| |
| 1317 | UI["UIStroke_66"]["ApplyStrokeMode"] = Enum.ApplyStrokeMode.Border; | |
| 1318 | UI["UIStroke_66"]["LineJoinMode"] = Enum.LineJoinMode.Miter; | |
| 1319 | UI["UIStroke_66"]["Thickness"] = 2; | |
| 1320 | UI["UIStroke_66"]["Color"] = Color3.fromRGB(255, 255, 255); | |
| 1321 | ||
| 1322 | ||
| 1323 | UI["UIGradient_67"] = Instance.new("UIGradient", UI["UIStroke_66"]);
| |
| 1324 | UI["UIGradient_67"]["Color"] = ColorSequence.new{ColorSequenceKeypoint.new(0.000, Color3.fromRGB(0, 0, 0)),ColorSequenceKeypoint.new(0.500, Color3.fromRGB(255, 0, 0)),ColorSequenceKeypoint.new(1.000, Color3.fromRGB(0, 0, 0))};
| |
| 1325 | ||
| 1326 | ||
| 1327 | UI["Tab_68"] = Instance.new("TextButton", UI["Main_2"]);
| |
| 1328 | UI["Tab_68"]["TextWrapped"] = true; | |
| 1329 | UI["Tab_68"]["BorderSizePixel"] = 0; | |
| 1330 | UI["Tab_68"]["TextSize"] = 12; | |
| 1331 | UI["Tab_68"]["TextScaled"] = true; | |
| 1332 | UI["Tab_68"]["TextColor3"] = Color3.fromRGB(255, 255, 255); | |
| 1333 | UI["Tab_68"]["BackgroundColor3"] = Color3.fromRGB(255, 255, 255); | |
| 1334 | UI["Tab_68"]["ZIndex"] = 10; | |
| 1335 | UI["Tab_68"]["BackgroundTransparency"] = 1; | |
| 1336 | UI["Tab_68"]["Size"] = UDim2.new(0.03663, 0, 0.06579, 0); | |
| 1337 | UI["Tab_68"]["Text"] = [[+]]; | |
| 1338 | UI["Tab_68"]["Name"] = [[Tab]]; | |
| 1339 | UI["Tab_68"]["Position"] = UDim2.new(0.85421, 0, 0.01645, 0); | |
| 1340 | ||
| 1341 | ||
| 1342 | UI["UICorner_69"] = Instance.new("UICorner", UI["Tab_68"]);
| |
| 1343 | UI["UICorner_69"]["CornerRadius"] = UDim.new(0, 7); | |
| 1344 | ||
| 1345 | ||
| 1346 | ||
| 1347 | local IndexRedTexts={}
| |
| 1348 | local IndexWhitwTexts={}
| |
| 1349 | local IndexGradients = {}
| |
| 1350 | local CurrentTab=UI["ScrollingFrame_9"] | |
| 1351 | function mkbtn(parent,name,text,size,pos,textaligbx,txty,scaledtext,txts,func) | |
| 1352 | if size==nil then size=UDim2.new(0, 136, 0, 44) end | |
| 1353 | if pos==nil then pos=UDim2.new(0, 0, 0, 0) end | |
| 1354 | if textaligbx==nil then textaligbx="Center" end | |
| 1355 | if txty==nil then txty="Center" end | |
| 1356 | if scaledtext==nil then scaledtext=true end | |
| 1357 | if txts==nil then txts=24 end | |
| 1358 | if func==nil then func=function() end end | |
| 1359 | local Button={}
| |
| 1360 | Button["Button"] = Instance.new("TextButton", parent);
| |
| 1361 | Button["Button"]["BorderSizePixel"] = 0; | |
| 1362 | Button["Button"]["TextScaled"] = scaledtext; | |
| 1363 | Button["Button"]["TextSize"] = txts; | |
| 1364 | Button["Button"]["TextColor3"] = Color3.fromRGB(255, 255, 255); | |
| 1365 | Button["Button"]["BackgroundColor3"] = Color3.fromRGB(0, 0, 0); | |
| 1366 | Button["Button"]["FontFace"] = Font.new([[rbxasset://fonts/families/Zekton.json]], Enum.FontWeight.Regular, Enum.FontStyle.Normal); | |
| 1367 | Button["Button"]["Size"] = size | |
| 1368 | Button["Button"]["Text"] = text | |
| 1369 | Button["Button"]["Name"] = name | |
| 1370 | Button["Button"]["Position"] = pos | |
| 1371 | Button["Button"]["TextXAlignment"] = textaligbx | |
| 1372 | Button["Button"]["TextYAlignment"] = txty | |
| 1373 | ||
| 1374 | Button["Button"].MouseButton1Click:Connect(func) | |
| 1375 | ||
| 1376 | Button["Stk"] = Instance.new("UIStroke", Button["Button"]);
| |
| 1377 | Button["Stk"]["ApplyStrokeMode"] = Enum.ApplyStrokeMode.Border; | |
| 1378 | Button["Stk"]["LineJoinMode"] = Enum.LineJoinMode.Miter; | |
| 1379 | Button["Stk"]["Thickness"] = 2; | |
| 1380 | Button["Stk"]["Color"] = Color3.fromRGB(255, 255, 255); | |
| 1381 | ||
| 1382 | ||
| 1383 | Button["Gr"] = Instance.new("UIGradient", Button["Stk"]);
| |
| 1384 | Button["Gr"]["Color"] = ColorSequence.new{ColorSequenceKeypoint.new(0.000, Color3.fromRGB(0, 0, 0)),ColorSequenceKeypoint.new(0.500, Color3.fromRGB(255, 0, 0)),ColorSequenceKeypoint.new(1.000, Color3.fromRGB(0, 0, 0))};
| |
| 1385 | table.insert(IndexGradients,Button["Gr"]) | |
| 1386 | table.insert(IndexWhitwTexts,Button["Button"]) | |
| 1387 | return Button["Button"] | |
| 1388 | end | |
| 1389 | ||
| 1390 | function mktxb(parent,name,text,placeholder,size,pos,func) | |
| 1391 | if size==nil then size=UDim2.new(0, 136, 0, 44) end | |
| 1392 | if placeholder==nil then placeholder="No PlaceholderText" end | |
| 1393 | if text==nil then text="Text Here" end | |
| 1394 | if pos==nil then pos=UDim2.new(0, 0, 0, 0) end | |
| 1395 | if func==nil then func=function() end end | |
| 1396 | UI["A"] = Instance.new("TextBox", parent);
| |
| 1397 | UI["A"]["Name"] = name; | |
| 1398 | UI["A"]["BorderSizePixel"] = 0; | |
| 1399 | UI["A"]["TextWrapped"] = true; | |
| 1400 | UI["A"]["TextColor3"] = Color3.fromRGB(255, 255, 255); | |
| 1401 | UI["A"]["TextScaled"] = true; | |
| 1402 | UI["A"]["BackgroundColor3"] = Color3.fromRGB(0, 0, 0); | |
| 1403 | UI["A"]["RichText"] = true; | |
| 1404 | UI["A"]["FontFace"] = Font.new([[rbxasset://fonts/families/Zekton.json]], Enum.FontWeight.Regular, Enum.FontStyle.Normal); | |
| 1405 | UI["A"]["ClearTextOnFocus"] = false; | |
| 1406 | UI["A"]["PlaceholderText"] = placeholder; | |
| 1407 | UI["A"]["Size"] = size | |
| 1408 | UI["A"]["Position"] = pos | |
| 1409 | UI["A"]["Text"] = text | |
| 1410 | UI["A"].FocusLost:Connect(func) | |
| 1411 | ||
| 1412 | UI["B"] = Instance.new("UIStroke", UI["A"]);
| |
| 1413 | UI["B"]["ApplyStrokeMode"] = Enum.ApplyStrokeMode.Border; | |
| 1414 | UI["B"]["LineJoinMode"] = Enum.LineJoinMode.Miter; | |
| 1415 | UI["B"]["Thickness"] = 2; | |
| 1416 | UI["B"]["Color"] = Color3.fromRGB(255, 255, 255); | |
| 1417 | ||
| 1418 | ||
| 1419 | UI["C"] = Instance.new("UIGradient", UI["B"]);
| |
| 1420 | UI["C"]["Color"] = ColorSequence.new{ColorSequenceKeypoint.new(0.000, Color3.fromRGB(0, 0, 0)),ColorSequenceKeypoint.new(0.500, Color3.fromRGB(255, 0, 0)),ColorSequenceKeypoint.new(1.000, Color3.fromRGB(0, 0, 0))};
| |
| 1421 | table.insert(IndexGradients,UI["C"]) | |
| 1422 | return UI["A"] | |
| 1423 | end | |
| 1424 | ||
| 1425 | function mklbl(parent,text,size,pos,alx,aly,wrapped) | |
| 1426 | if text==nil then text="Text Here" end | |
| 1427 | if alx==nil then alx="Center" end | |
| 1428 | if aly==nil then aly="Center" end | |
| 1429 | if wrapped==nil then wrapped=false end | |
| 1430 | if pos==nil then pos=UDim2.new(0, 0, 0, 0) end | |
| 1431 | if size==nil then size=UDim2.new(0, 178, 0, 20) end | |
| 1432 | UI["C"] = Instance.new("TextLabel", parent);
| |
| 1433 | UI["C"]["ZIndex"] = -1; | |
| 1434 | UI["C"]["BorderSizePixel"] = 0; | |
| 1435 | UI["C"]["TextSize"] = 24; | |
| 1436 | UI["C"]["BackgroundColor3"] = Color3.fromRGB(255, 255, 255); | |
| 1437 | UI["C"]["FontFace"] = Font.new([[rbxasset://fonts/families/Zekton.json]], Enum.FontWeight.Regular, Enum.FontStyle.Normal); | |
| 1438 | UI["C"]["TextColor3"] = Color3.fromRGB(255, 0, 0); | |
| 1439 | UI["C"]["BackgroundTransparency"] = 1; | |
| 1440 | UI["C"]["TextXAlignment"] = alx; | |
| 1441 | UI["C"]["TextYAlignment"] = aly; | |
| 1442 | UI["C"]["Size"] = size | |
| 1443 | UI["C"]["Text"] = text | |
| 1444 | UI["C"]["TextWrapped"] = wrapped | |
| 1445 | UI["C"]["Name"] = "Text"; | |
| 1446 | UI["C"]["Position"] = pos | |
| 1447 | table.insert(IndexRedTexts,UI["C"]) | |
| 1448 | return UI["C"] | |
| 1449 | end | |
| 1450 | ||
| 1451 | local index=1 | |
| 1452 | function mktb(name,pos,activescf,anchor) | |
| 1453 | if pos==nil then pos=UDim2.new(0, 0, 0.01316, 0) end | |
| 1454 | if activescf==nil then activescf=true end | |
| 1455 | if anchor==nil then anchor=Vector2.new(0,0) end | |
| 1456 | UI["Tab"] = Instance.new("ScrollingFrame", UI["CanvasGroup_8"]);
| |
| 1457 | UI["Tab"]["Active"] = activescf | |
| 1458 | UI["Tab"]["ScrollingDirection"] = Enum.ScrollingDirection.Y; | |
| 1459 | UI["Tab"]["BorderSizePixel"] = 0; | |
| 1460 | UI["Tab"]["Name"] = name.."Tab_"..index | |
| 1461 | UI["Tab"]["CanvasSize"] = UDim2.new(0, 0, 0, 0); | |
| 1462 | UI["Tab"]["ElasticBehavior"] = Enum.ElasticBehavior.Never; | |
| 1463 | UI["Tab"]["BackgroundColor3"] = Color3.fromRGB(255, 255, 255); | |
| 1464 | UI["Tab"]["Selectable"] = false; | |
| 1465 | UI["Tab"]["ScrollingEnabled"] = activescf; | |
| 1466 | UI["Tab"]["AutomaticCanvasSize"] = Enum.AutomaticSize.Y; | |
| 1467 | UI["Tab"]["Size"] = UDim2.new(0, 546, 0, 278); | |
| 1468 | UI["Tab"]["ScrollBarImageColor3"] = Color3.fromRGB(255, 0, 0); | |
| 1469 | UI["Tab"]["Position"] = UDim2.new(0, 600, 0.08553, 0) | |
| 1470 | UI["Tab"]["ScrollBarThickness"] = 0; | |
| 1471 | UI["Tab"]["BackgroundTransparency"] = 1; | |
| 1472 | UI["Tab"]:SetAttribute("Hidden",UDim2.new(0,600,.08553,0))
| |
| 1473 | UI["Tab"]:SetAttribute("Shown",UDim2.new(0,0,.08553,0))
| |
| 1474 | UI["UIPadding_1f"] = Instance.new("UIPadding", UI["Tab"]);
| |
| 1475 | UI["UIPadding_1f"]["PaddingBottom"] = UDim.new(0, 80); | |
| 1476 | UI["B"] = Instance.new("Frame", UI["Tab"]);
| |
| 1477 | UI["B"]["BorderSizePixel"] = 0; | |
| 1478 | UI["B"]["BackgroundColor3"] = Color3.fromRGB(255, 255, 255); | |
| 1479 | UI["B"]["ClipsDescendants"] = true; | |
| 1480 | UI["B"]["Size"] = UDim2.new(1, 0, 2, 550); | |
| 1481 | UI["B"]["AutomaticSize"] = "Y"; | |
| 1482 | UI["B"]["Position"] = UDim2.new(0, 0, -0.09353, 0); | |
| 1483 | UI["B"]["Name"] = [[Tabby]]..index | |
| 1484 | UI["B"]["BackgroundTransparency"] = 1; | |
| 1485 | UI["C"] = Instance.new("TextLabel", UI["Tab"]);
| |
| 1486 | UI["C"]["ZIndex"] = -1; | |
| 1487 | UI["C"]["BorderSizePixel"] = 0; | |
| 1488 | UI["C"]["TextSize"] = 24; | |
| 1489 | UI["C"]["BackgroundColor3"] = Color3.fromRGB(255, 255, 255); | |
| 1490 | UI["C"]["FontFace"] = Font.new([[rbxasset://fonts/families/Zekton.json]], Enum.FontWeight.Regular, Enum.FontStyle.Normal); | |
| 1491 | UI["C"]["TextColor3"] = Color3.fromRGB(255, 0, 0); | |
| 1492 | UI["C"]["BackgroundTransparency"] = 1; | |
| 1493 | UI["C"]["Size"] = UDim2.new(0, 178, 0, 20); | |
| 1494 | UI["C"]["AnchorPoint"] = anchor; | |
| 1495 | UI["C"]["Text"] = [[--// ]]..name..[[ \\--]] | |
| 1496 | UI["C"]["Name"] = "Title"..index; | |
| 1497 | UI["C"]["Position"] = pos | |
| 1498 | index=index+1 | |
| 1499 | return {
| |
| 1500 | Frame=UI["B"], | |
| 1501 | MF=UI["Tab"], | |
| 1502 | Hidden=UI["Tab"]:GetAttribute("Hidden"),
| |
| 1503 | Shown=UI["Tab"]:GetAttribute("Shown"),
| |
| 1504 | } | |
| 1505 | end | |
| 1506 | ||
| 1507 | function mkscf(parent,name,pos,size,cellsize) | |
| 1508 | if size==nil then size=UDim2.new(1, 0, 1, 0) end | |
| 1509 | if pos==nil then pos=UDim2.new(0, 0, 0, 0) end | |
| 1510 | if cellsize==nil then cell=UDim2.new(1, 0, 0, 50) end | |
| 1511 | UI["Tab"] = Instance.new("ScrollingFrame", parent);
| |
| 1512 | UI["Tab"]["Active"] = true; | |
| 1513 | UI["Tab"]["ScrollingDirection"] = Enum.ScrollingDirection.Y; | |
| 1514 | UI["Tab"]["BorderSizePixel"] = 0; | |
| 1515 | UI["Tab"]["Name"] = name.."Tab_"..index | |
| 1516 | UI["Tab"]["CanvasSize"] = UDim2.new(0, 0, 0, 0); | |
| 1517 | UI["Tab"]["ElasticBehavior"] = Enum.ElasticBehavior.Never; | |
| 1518 | UI["Tab"]["BackgroundColor3"] = Color3.fromRGB(255, 255, 255); | |
| 1519 | UI["Tab"]["Selectable"] = false; | |
| 1520 | UI["Tab"]["AutomaticCanvasSize"] = Enum.AutomaticSize.Y; | |
| 1521 | UI["Tab"]["Size"] = size | |
| 1522 | UI["Tab"]["ScrollBarImageColor3"] = Color3.fromRGB(255, 0, 0); | |
| 1523 | UI["Tab"]["Position"] = pos | |
| 1524 | UI["Tab"]["ScrollBarThickness"] = 0; | |
| 1525 | UI["Tab"]["BackgroundTransparency"] = 1; | |
| 1526 | UI["Tab"]:SetAttribute("Hidden",UDim2.new(0,600,.08553,0))
| |
| 1527 | UI["Tab"]:SetAttribute("Shown",UDim2.new(0,0,.08553,0))
| |
| 1528 | UI["A"] = Instance.new("UIPadding", UI["Tab"]);
| |
| 1529 | UI["A"]["PaddingBottom"] = UDim.new(0, 80); | |
| 1530 | UI["B"] = Instance.new("UIGridLayout", UI["Tab"]);
| |
| 1531 | UI["B"]["CellSize"] = cellsize | |
| 1532 | ||
| 1533 | UI["B"] = Instance.new("UIStroke", UI["Tab"]);
| |
| 1534 | UI["B"]["ApplyStrokeMode"] = Enum.ApplyStrokeMode.Border; | |
| 1535 | UI["B"]["LineJoinMode"] = Enum.LineJoinMode.Miter; | |
| 1536 | UI["B"]["Thickness"] = 2; | |
| 1537 | UI["B"]["Color"] = Color3.fromRGB(255, 255, 255); | |
| 1538 | ||
| 1539 | ||
| 1540 | UI["C"] = Instance.new("UIGradient", UI["B"]);
| |
| 1541 | UI["C"]["Color"] = ColorSequence.new{ColorSequenceKeypoint.new(0.000, Color3.fromRGB(0, 0, 0)),ColorSequenceKeypoint.new(0.500, Color3.fromRGB(255, 0, 0)),ColorSequenceKeypoint.new(1.000, Color3.fromRGB(0, 0, 0))};
| |
| 1542 | table.insert(IndexGradients,UI["C"]) | |
| 1543 | return UI["Tab"] | |
| 1544 | end | |
| 1545 | ||
| 1546 | function BetterTween(obj, speed, prop,AnimType) | |
| 1547 | if AnimType==nil then AnimType="Quad" end | |
| 1548 | local Tinfo=TweenInfo.new | |
| 1549 | local TweenService=game.TweenService | |
| 1550 | local hii=Tinfo(speed, Enum.EasingStyle[AnimType], Enum.EasingDirection.In) | |
| 1551 | return TweenService:Create( | |
| 1552 | obj, | |
| 1553 | hii, | |
| 1554 | prop | |
| 1555 | ) | |
| 1556 | ||
| 1557 | end | |
| 1558 | ||
| 1559 | local u2=UDim2.new | |
| 1560 | function swait(num) | |
| 1561 | if num==0 or num==nil then | |
| 1562 | game:service'RunService'.Stepped:wait(0) | |
| 1563 | else | |
| 1564 | for i=0,num do | |
| 1565 | game:service'RunService'.Stepped:wait(0) | |
| 1566 | end | |
| 1567 | end | |
| 1568 | end | |
| 1569 | local function oswait(seconds) | |
| 1570 | if seconds==nil then seconds=0 end | |
| 1571 | local start = os.clock() | |
| 1572 | repeat | |
| 1573 | swait() | |
| 1574 | until os.clock() >= start + seconds | |
| 1575 | end | |
| 1576 | ||
| 1577 | ||
| 1578 | local TweenAlph=Instance.new("NumberValue")
| |
| 1579 | TweenAlph.Value=1 | |
| 1580 | --local tonumber(tonumber(TweenAlph.Value)) | |
| 1581 | con1=TweenAlph:GetPropertyChangedSignal("Value"):Connect(function()
| |
| 1582 | -- tonumber(tonumber(TweenAlph.Value))=tonumber(TweenAlph.Value) or 1 | |
| 1583 | end) | |
| 1584 | local MusicOverriden = nil | |
| 1585 | local OverridenMusicName = nil | |
| 1586 | local UserDanceContainer = {}
| |
| 1587 | local QueueEmotesThatIsntLooped= {}
| |
| 1588 | local RunningQueuedEmote = false | |
| 1589 | local OverridenMusicStartClock = nil | |
| 1590 | local OverridenMusicLength= nil | |
| 1591 | local TDZConfigs = {}
| |
| 1592 | local ButtonTable={}
| |
| 1593 | ||
| 1594 | local BoolDance=Instance.new("BoolValue")
| |
| 1595 | local IsRunning1=Instance.new("BoolValue")
| |
| 1596 | local Hmmm=Instance.new("BoolValue")
| |
| 1597 | local String=Instance.new("StringValue")
| |
| 1598 | local String1=Instance.new("StringValue")
| |
| 1599 | local Incin=nil | |
| 1600 | BoolDance.Value=false | |
| 1601 | IsRunning1.Value=false | |
| 1602 | local function GetModuleHash(m) | |
| 1603 | if m._hash then return m._hash end | |
| 1604 | local str = (m.Name or "") .. "TDZ_Conf" .. (m.Description or "") | |
| 1605 | str = string.rep(str, 4) | |
| 1606 | local hash = {}
| |
| 1607 | for i = 1, 32 do hash[i] = (i * 37 + 91) % 256 end | |
| 1608 | for i = 1, #str do | |
| 1609 | local j = (i % 32) + 1 | |
| 1610 | hash[j] = bit32.bxor(hash[j], str:byte(i)) % 256 | |
| 1611 | end | |
| 1612 | local hex = "0123456789ABCDEF" | |
| 1613 | local resListLayoutt = "" | |
| 1614 | for i = 1, #hash do | |
| 1615 | local v = hash[i] | |
| 1616 | resListLayoutt = resListLayoutt .. hex:sub(math.floor(v/16)+1,math.floor(v/16)+1) .. hex:sub((v%16)+1,(v%16)+1) | |
| 1617 | end | |
| 1618 | m._hash = resListLayoutt | |
| 1619 | return resListLayoutt | |
| 1620 | end | |
| 1621 | ||
| 1622 | local function SaveUIAndModuleConfigs() | |
| 1623 | local ok, encoded = pcall(function() | |
| 1624 | return game:GetService("HttpService"):JSONEncode(TDZConfigs)
| |
| 1625 | end) | |
| 1626 | if ok and encoded then | |
| 1627 | pcall(writefile, ModuleConfigFile, encoded) | |
| 1628 | end | |
| 1629 | end | |
| 1630 | ||
| 1631 | ||
| 1632 | ||
| 1633 | ||
| 1634 | ||
| 1635 | ||
| 1636 | ||
| 1637 | local Tab1=mktb("Module Shop",UDim2.new(0,25,.01316,0))
| |
| 1638 | local MF1=Tab1.MF | |
| 1639 | local Tab2=mktb("Settings")
| |
| 1640 | local MF2=Tab2.MF | |
| 1641 | local Tab3=mktb("Credits")
| |
| 1642 | local MF3=Tab3.MF | |
| 1643 | local Tab4=mktb("Module Dances",UDim2.new(0,25,.01316,0),false)
| |
| 1644 | local MF4=Tab4.MF | |
| 1645 | local Scf=mkscf(MF4,"Module Dance Container",u2(0,0,0,25),u2(1,0,1,0),u2(1,0,0,100)) | |
| 1646 | mklbl(MF3,"Made By Theo, Inspired from Steves Uhhhhh Reanimate\n Credits goes to Steve the Common One on some assets that are used alongside in this scripts development\n\nHuge Thanks to:\nSteve (TheTerminalClone)\nSamstone\nDummy Guy\nYinxing\nAnd N1ght\nFor Making this script to come true.\n\nSpecial Thanks to You! for using this script!\n\nNote: Script is still in Beta and Expect some bug to show around\nAlso Note that this will be solely focused on Emotes if im sure since this is a branch of Steves Reanim but emotes only\n\nAll Rights Reserved",u2(1,0,3,0),u2(0,0,0,25),"Left","Top",true) | |
| 1647 | local Home=UI["0Home_5c"] | |
| 1648 | local ModuleShop=UI["1Modules_5f"] | |
| 1649 | local Settings=UI["2Settings_62"] | |
| 1650 | local Credits=UI["3Credits_65"] | |
| 1651 | local c1=Instance.new("Color3Value")
| |
| 1652 | local c2=Instance.new("Color3Value")
| |
| 1653 | local Primary=c1.Value | |
| 1654 | local Secondary=c2.Value | |
| 1655 | Primary=Color3.new(1,0,0) | |
| 1656 | Secondary=Color3.new(1,1,1) | |
| 1657 | ||
| 1658 | ||
| 1659 | local function dragify(Frame) | |
| 1660 | dragToggle = nil | |
| 1661 | dragSpeed = .1 | |
| 1662 | dragInput = nil | |
| 1663 | dragStart = nil | |
| 1664 | dragPos = nil | |
| 1665 | ||
| 1666 | function updateInput(input) | |
| 1667 | Delta = input.Position - dragStart | |
| 1668 | Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + Delta.X, startPos.Y.Scale, startPos.Y.Offset + Delta.Y) | |
| 1669 | game:GetService("TweenService"):Create(Frame, TweenInfo.new(.25), {Position = Position}):Play()
| |
| 1670 | end | |
| 1671 | ||
| 1672 | Frame.InputBegan:Connect(function(input) | |
| 1673 | if (input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch) then | |
| 1674 | dragToggle = true | |
| 1675 | dragStart = input.Position | |
| 1676 | startPos = Frame.Position | |
| 1677 | input.Changed:Connect(function() | |
| 1678 | if (input.UserInputState == Enum.UserInputState.End) then | |
| 1679 | dragToggle = false | |
| 1680 | end | |
| 1681 | end) | |
| 1682 | end | |
| 1683 | end) | |
| 1684 | ||
| 1685 | Frame.InputChanged:Connect(function(input) | |
| 1686 | if (input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch) then | |
| 1687 | dragInput = input | |
| 1688 | end | |
| 1689 | end) | |
| 1690 | ||
| 1691 | game:GetService("UserInputService").InputChanged:Connect(function(input)
| |
| 1692 | if (input == dragInput and dragToggle) then | |
| 1693 | updateInput(input) | |
| 1694 | end | |
| 1695 | end) | |
| 1696 | end | |
| 1697 | dragify(UI["Main_2"]) | |
| 1698 | ||
| 1699 | local alpha = tonumber(TweenAlph.Value) | |
| 1700 | local scrollHidden = UDim2.new(0, 0, .08553, 0) | |
| 1701 | local scrollShown = UDim2.new(0, 600, .08553, 0) | |
| 1702 | ||
| 1703 | local Tabs = {
| |
| 1704 | {mf = MF1, tab = Tab1},
| |
| 1705 | {mf = MF2, tab = Tab2},
| |
| 1706 | {mf = MF3, tab = Tab3},
| |
| 1707 | {mf = MF4, tab = Tab4},
| |
| 1708 | } | |
| 1709 | local function SwitchTab(activeTab) | |
| 1710 | local isHome = activeTab == nil | |
| 1711 | ||
| 1712 | BetterTween( | |
| 1713 | UI["ScrollingFrame_9"], tonumber(TweenAlph.Value),{Position = isHome and scrollHidden or scrollShown}):Play()
| |
| 1714 | ||
| 1715 | for _, entry in ipairs(Tabs) do | |
| 1716 | local pos = (entry.tab == activeTab) and entry.tab.Shown or entry.tab.Hidden | |
| 1717 | BetterTween(entry.mf, tonumber(TweenAlph.Value), {Position = pos}):Play()
| |
| 1718 | end | |
| 1719 | ||
| 1720 | CurrentTab = isHome and UI["ScrollingFrame_9"] or activeTab | |
| 1721 | end | |
| 1722 | ||
| 1723 | ||
| 1724 | ||
| 1725 | local index=5 -- 5th index | |
| 1726 | function mktb1(name,txt,pos,anchor) | |
| 1727 | local tabby=mktb(name,pos,nil,anchor) | |
| 1728 | local mf=tabby.MF | |
| 1729 | local er={
| |
| 1730 | mf=mf, | |
| 1731 | tab=tabby, | |
| 1732 | } | |
| 1733 | table.insert(Tabs,er) | |
| 1734 | mkbtn(UI["ScrollingFrame_57"],index..name,txt,nil,nil,nil,nil,true,24,function() | |
| 1735 | SwitchTab(tabby) | |
| 1736 | end) | |
| 1737 | index+=1 | |
| 1738 | return mf | |
| 1739 | end | |
| 1740 | local v2=Vector2.new | |
| 1741 | local tutorial=mktb1("How to use","Tutorial",u2(0,35,0,0),v2(.2,0))
| |
| 1742 | mklbl(tutorial,"How to use this script?\n1: Go to the home tab, scrolldown, click ' + ' and choose the reanimate type u wanna use, after that, scroll up and click reanimate, thats al\n\n-- If your executor doesnt support Gelatek reanimate, then the script will force you to use CurrentAngle, even if you still chose Gelatek, if your outside Just a baseplate or Green Bassplate, you can only choose Empyrean or CurrentAngle, if you still chose Gelatek outside those 2 games, you are still forced to use CurrentAngle\n\n-- Why do people dont see my anim when i use CurrentAngle?\n-- Steve already explained this, in most newer games, the game creates an 'Animator' inside your character which breaks CurrentAngle, even VC breaks it\n\n2: How to scale your avatar?, same as number 1, if u see ' Char Scale' input any number that fits for your rigs size\n\n3: How to add your own dances, if you know how to add modules from Steves Uhhhh Reanimate, then this will be the same process as how u add your own user modules\nWhere can i find the folder of Clints Dancezzz?\nstorage/emulated/0/YourExecutorsFolder/Workspace/Theos Dancezzzzz, this will be devided into 5 folders,\n1:Models -- Emote props 'rbxm'\n2:Emotes -- Emotes/Animation Storage\n3:Emote Music-- UI And Emote Music\n4:UserDances -- User Module Storage\n5:Built-In -- Dont touch\n\njust put your module/s into UserDances\n\n What if i dont know how to add/make modules?\n-- Dont worry, some of the players who knows how to create their own modules for Uhhhh reanimate would help you create your own modules for Theos Dancezzz\nIf your not already on Uhhhhh Reanimate server, join it! people will help you create your own dance module\n\n-- If your module assets isnt downloaded or if you added another modules, go to the Home tab, scroll down and click 'Refresh Assets' this eill reload all modules (even the built in module)\n\n4: Configuring Emotes\n click the small + on the top right of the UI, click 'Module Dances' and you will see the list of enotes that were loaded from a modules file, each emotes are clickable too! click one of the emotes and it will open a tab for it, if it has can be configured, then go!(emote configuration is also saved) and also, you can play and stop the emote directly on the UI",u2(1,0,7,0),u2(0,0,0,25),"Left","Top",true) | |
| 1743 | ||
| 1744 | ||
| 1745 | ||
| 1746 | Home.MouseButton1Click:Connect(function() | |
| 1747 | SwitchTab(nil) | |
| 1748 | end) | |
| 1749 | ModuleShop.MouseButton1Click:Connect(function() | |
| 1750 | SwitchTab(Tab1) | |
| 1751 | end) | |
| 1752 | Settings.MouseButton1Click:Connect(function() | |
| 1753 | SwitchTab(Tab2) | |
| 1754 | end) | |
| 1755 | Credits.MouseButton1Click:Connect(function() | |
| 1756 | SwitchTab(Tab3) | |
| 1757 | end) | |
| 1758 | mkbtn(UI["ScrollingFrame_57"],"4ModuleDances","Module Dances",nil,nil,nil,nil,true,24,function() | |
| 1759 | SwitchTab(Tab4) | |
| 1760 | end) | |
| 1761 | local eee=Instance.new("StringValue")
| |
| 1762 | eee.Value="Emper" | |
| 1763 | local TypeOfReanim=eee.Value | |
| 1764 | local Emp=UI["1Emp_37"] | |
| 1765 | local Gelatek=UI["2Gelatek_3d"] | |
| 1766 | local CurrentAngle=UI["3CurrentAngle_43"] | |
| 1767 | local HookThing=Instance.new("StringValue")
| |
| 1768 | Gelatek.MouseButton1Click:Connect(function() | |
| 1769 | TypeOfReanim="Gelatek" | |
| 1770 | Gelatek.Name="1Gelatek" | |
| 1771 | CurrentAngle.Name="2CurrentAngle" | |
| 1772 | Emp.Name="3Emp" | |
| 1773 | UI["Reanimator_11"]["Text"] = [[Selected: Gelatek]]; | |
| 1774 | TDZConfigs._TypeOfReanim = TypeOfReanim | |
| 1775 | SaveUIAndModuleConfigs() | |
| 1776 | HookThing.Value="Gelatek" | |
| 1777 | end) | |
| 1778 | CurrentAngle.MouseButton1Click:Connect(function() | |
| 1779 | TypeOfReanim="CurrentAngle" | |
| 1780 | UI["Reanimator_11"]["Text"] = [[Selected: CurrentAngle]]; | |
| 1781 | Gelatek.Name="2Gelatek" | |
| 1782 | CurrentAngle.Name="1CurrentAngle" | |
| 1783 | Emp.Name="3Emp" | |
| 1784 | TDZConfigs._TypeOfReanim = TypeOfReanim | |
| 1785 | SaveUIAndModuleConfigs() | |
| 1786 | HookThing.Value="CurrentAngle" | |
| 1787 | end) | |
| 1788 | Emp.MouseButton1Click:Connect(function() | |
| 1789 | TypeOfReanim="Emper" | |
| 1790 | UI["Reanimator_11"]["Text"] = [[Selected: Empyrean]]; | |
| 1791 | Gelatek.Name="2Gelatek" | |
| 1792 | CurrentAngle.Name="3CurrentAngle" | |
| 1793 | Emp.Name="1Emp" | |
| 1794 | TDZConfigs._TypeOfReanim = TypeOfReanim | |
| 1795 | SaveUIAndModuleConfigs() | |
| 1796 | HookThing.Value="Emper" | |
| 1797 | end) | |
| 1798 | ||
| 1799 | task.spawn(function() | |
| 1800 | repeat oswait() | |
| 1801 | sine=os.clock() | |
| 1802 | for _,a in UI["Interface_1"]:GetDescendants() do | |
| 1803 | if a:IsA("UIGradient") then
| |
| 1804 | a.Rotation+=1 | |
| 1805 | a.Offset=Vector2.new(2.5*math.sin(sine*1),1*math.cos((sine+.5)*.1)) | |
| 1806 | end | |
| 1807 | end | |
| 1808 | until not UI["Interface_1"] | |
| 1809 | end) | |
| 1810 | ||
| 1811 | mklbl(MF2, [[--// Disable Invetory Styling \\--]],nil, u2(0, 65, 0, 320)) | |
| 1812 | mklbl(MF2, [[--// Smooth Camera \\--]],nil, u2(0, 20, 0, 520)) | |
| 1813 | local lbl1=mklbl(MF2, [[Disabled : false]],nil, u2(0, 200, 0, 260),"Left") | |
| 1814 | local e=false | |
| 1815 | bc=Instance.new("BoolValue")
| |
| 1816 | bc.Value=false | |
| 1817 | ac=Instance.new("BoolValue")
| |
| 1818 | ac.Value=false | |
| 1819 | ad=Instance.new("BoolValue")
| |
| 1820 | ad.Value=true | |
| 1821 | ae=Instance.new("BoolValue")
| |
| 1822 | ae.Value=false | |
| 1823 | local btn=mkbtn(MF2,"Disable Custom Inventory","Disable Custom Inventory",u2(0,170,0,44),u2(0,10,0,250),nil,nil,true,24,function() | |
| 1824 | ac.Value=not ac.Value | |
| 1825 | bc.Value=ac.Value | |
| 1826 | TDZConfigs.InvStyling = bc.Value | |
| 1827 | SaveUIAndModuleConfigs() | |
| 1828 | if ac.Value==false then | |
| 1829 | lbl1.Text="Disabled : false" | |
| 1830 | else | |
| 1831 | lbl1.Text="Disabled : true" | |
| 1832 | end | |
| 1833 | end) | |
| 1834 | local e1=mkbtn(MF2,"Smooth Camera","Smooth Camera",u2(0,170,0,44),u2(0,10,0,450),nil,nil,true,24) | |
| 1835 | e1.MouseButton1Click:Connect(function() | |
| 1836 | if ae.Value==true then return end | |
| 1837 | ae.Value=true | |
| 1838 | ad.Value=not ad.Value | |
| 1839 | TDZConfigs._SmoothCam = ad.Value | |
| 1840 | SaveUIAndModuleConfigs() | |
| 1841 | if ad.Value==true then | |
| 1842 | e1.Text="Enabled!" | |
| 1843 | oswait(1) | |
| 1844 | e1.Text="Smooth Camera" | |
| 1845 | ae.Value=false | |
| 1846 | else | |
| 1847 | e1.Text="Disabled!" | |
| 1848 | oswait(1) | |
| 1849 | e1.Text="Smooth Camera" | |
| 1850 | ae.Value=false | |
| 1851 | end | |
| 1852 | end) | |
| 1853 | fg=HookThing:GetPropertyChangedSignal("Value"):Connect(function()
| |
| 1854 | if HookThing.Value=="Emper" then | |
| 1855 | btn.Active=false | |
| 1856 | btn.Interactable=false | |
| 1857 | lbl1.Text="Disabled : true -- Emper Reanimate" | |
| 1858 | else | |
| 1859 | btn.Interactable=true | |
| 1860 | btn.Active=true | |
| 1861 | if ac.Value==false then | |
| 1862 | lbl1.Text="Disabled : false" | |
| 1863 | else | |
| 1864 | lbl1.Text="Disabled : true" | |
| 1865 | end | |
| 1866 | end | |
| 1867 | end) | |
| 1868 | ||
| 1869 | ||
| 1870 | local RedownloadButton=UI["Redownload_e"] | |
| 1871 | local ExpandReanimateType=UI["Minimize_19"] | |
| 1872 | local ThatFrame=UI["ScrollingFrame_36"] | |
| 1873 | local OldSize=UDim2.new(0, 136, 0, 38) | |
| 1874 | local Expanding=false | |
| 1875 | local Tweening=false | |
| 1876 | ExpandReanimateType.MouseButton1Click:Connect(function() | |
| 1877 | if Tweening then return end | |
| 1878 | Expanding=not Expanding | |
| 1879 | if Expanding then | |
| 1880 | local a=BetterTween(ThatFrame,tonumber(tonumber(TweenAlph.Value)),{Size=UDim2.new(0, 136, 0, 100)})
| |
| 1881 | BetterTween(ExpandReanimateType,tonumber(tonumber(TweenAlph.Value)),{Rotation=180}):Play()
| |
| 1882 | a:Play() | |
| 1883 | a.Completed:Wait() | |
| 1884 | Tweening=false | |
| 1885 | else | |
| 1886 | local a=BetterTween(ThatFrame,tonumber(tonumber(TweenAlph.Value)),{Size=OldSize})
| |
| 1887 | BetterTween(ExpandReanimateType,tonumber(tonumber(TweenAlph.Value)),{Rotation=0}):Play()
| |
| 1888 | a:Play() | |
| 1889 | a.Completed:Wait() | |
| 1890 | Tweening=false | |
| 1891 | end | |
| 1892 | end) | |
| 1893 | ||
| 1894 | local ShownTabSize=UDim2.new(0.28938, 0, 1, 0) | |
| 1895 | local ShownTabPosiion=UDim2.new(-0.30403, 0, 0, 0) | |
| 1896 | local Tween0=false | |
| 1897 | local Tween1=false | |
| 1898 | local TabThing=UI["TabGroup_51"] | |
| 1899 | local TabButton=UI["Tab_68"] | |
| 1900 | if Tween1 then | |
| 1901 | TabThing.Size=UDim2.new(0.28938, 0, 1, 0) | |
| 1902 | TabThing.Position=UDim2.new(-0.30403,0,0,0) | |
| 1903 | else | |
| 1904 | TabThing.Size=UDim2.new(0,0,0,0) | |
| 1905 | TabThing.Position=UDim2.new(0,0,0,0) | |
| 1906 | end | |
| 1907 | TabButton.MouseButton1Click:Connect(function() | |
| 1908 | if Tween0 then return end | |
| 1909 | Tween0=true | |
| 1910 | Tween1=not Tween1 | |
| 1911 | if Tween1 then | |
| 1912 | local a=BetterTween(TabThing,tonumber(tonumber(TweenAlph.Value)),{Position=UDim2.new(-0.30403,0,0,0)})
| |
| 1913 | a:Play() | |
| 1914 | a.Completed:Wait() | |
| 1915 | local b=BetterTween(TabThing,tonumber(tonumber(TweenAlph.Value)),{Size=ShownTabSize})
| |
| 1916 | b:Play() | |
| 1917 | b.Completed:Wait() | |
| 1918 | Tween0=false | |
| 1919 | else | |
| 1920 | local a=BetterTween(TabThing,tonumber(tonumber(TweenAlph.Value)),{Position=UDim2.new(0,0,0,0)})
| |
| 1921 | local b=BetterTween(TabThing,tonumber(tonumber(TweenAlph.Value)),{Size=UDim2.new(0,0,0,0)})
| |
| 1922 | a:Play() | |
| 1923 | b:Play() | |
| 1924 | b.Completed:Wait() | |
| 1925 | Tween0=false | |
| 1926 | end | |
| 1927 | end) | |
| 1928 | ||
| 1929 | task.spawn(function() | |
| 1930 | local Images={}
| |
| 1931 | local cont=listfiles(ImagesFolder) | |
| 1932 | while UI["Interface_1"] do | |
| 1933 | table.clear(Images) | |
| 1934 | for _,a in next,cont do | |
| 1935 | table.insert(Images,a) | |
| 1936 | end | |
| 1937 | if #Images==0 then | |
| 1938 | UI["Image :v_35"]["Text"] = [[No Images Currently :v]] | |
| 1939 | else | |
| 1940 | UI["Image :v_35"]["Text"] = "Showing "..#Images.." Images" | |
| 1941 | end | |
| 1942 | local s=BetterTween(UI["PreviewImage_29"],1.35,{ImageTransparency=1})
| |
| 1943 | s:Play() | |
| 1944 | s.Completed:Wait() | |
| 1945 | UI["PreviewImage_29"]["Image"]=getcustomasset(Images[math.random(1,#Images)]) | |
| 1946 | ||
| 1947 | local s=BetterTween(UI["PreviewImage_29"],1.35,{ImageTransparency=0})
| |
| 1948 | s:Play() | |
| 1949 | s.Completed:Wait() | |
| 1950 | oswait(1) | |
| 1951 | end | |
| 1952 | table.clear(Images) | |
| 1953 | end) | |
| 1954 | ||
| 1955 | local MinimizedSize=UDim2.new(0,300,0,25) | |
| 1956 | local ExpandedSize=UDim2.new(0, 546, 0, 270) | |
| 1957 | local Canvas=UI["CanvasGroup_8"] | |
| 1958 | local OldPos=UDim2.new(0, 0, 0, 0) | |
| 1959 | local Hidden=UDim2.new(0, 0, 0, 50) | |
| 1960 | local CloseButton=UI["Close_6"] | |
| 1961 | UI["Minimize_4"]["Position"] = UDim2.new(0.9, 0, 0.01645, 0); | |
| 1962 | UI["Close_6"]["Position"] = UDim2.new(0.95, 0, 0.01645, 0); | |
| 1963 | local mf=UI["Main_2"] | |
| 1964 | local ThatOneButton=UI["Minimize_4"] | |
| 1965 | local t=false | |
| 1966 | local t1=false | |
| 1967 | ThatOneButton.MouseButton1Click:Connect(function() | |
| 1968 | if t then return end | |
| 1969 | t=true | |
| 1970 | t1=not t1 | |
| 1971 | if t1 then | |
| 1972 | local a=BetterTween(mf,tonumber(tonumber(TweenAlph.Value)),{Size=MinimizedSize})
| |
| 1973 | BetterTween(ThatOneButton,tonumber(tonumber(TweenAlph.Value)),{Rotation=180}):Play()
| |
| 1974 | BetterTween(CloseButton,tonumber(tonumber(TweenAlph.Value)),{Position=UDim2.new(0.95, -5, 0.01645, 5);}):Play()
| |
| 1975 | BetterTween(ThatOneButton,tonumber(tonumber(TweenAlph.Value)),{Position=UDim2.new(0.9, -5, 0.01645, 5);}):Play()
| |
| 1976 | BetterTween(Canvas,tonumber(tonumber(TweenAlph.Value)),{Position=Hidden}):Play()
| |
| 1977 | a:Play() | |
| 1978 | a.Completed:Wait() | |
| 1979 | t=false | |
| 1980 | mf.ClipsDescendants=true | |
| 1981 | else | |
| 1982 | mf.ClipsDescendants=false | |
| 1983 | local a=BetterTween(mf,tonumber(tonumber(TweenAlph.Value)),{Size=ExpandedSize})
| |
| 1984 | BetterTween(ThatOneButton,tonumber(tonumber(TweenAlph.Value)),{Rotation=0}):Play()
| |
| 1985 | BetterTween(CloseButton,tonumber(tonumber(TweenAlph.Value)),{Position=UDim2.new(0.95, -0, 0.01645, 0);}):Play()
| |
| 1986 | BetterTween(ThatOneButton,tonumber(tonumber(TweenAlph.Value)),{Position=UDim2.new(0.9, -0, 0.01645, 0);}):Play()
| |
| 1987 | BetterTween(Canvas,tonumber(tonumber(TweenAlph.Value)),{Position=OldPos}):Play()
| |
| 1988 | a:Play() | |
| 1989 | a.Completed:Wait() | |
| 1990 | t=false | |
| 1991 | ||
| 1992 | end | |
| 1993 | end) | |
| 1994 | ||
| 1995 | ||
| 1996 | ||
| 1997 | ||
| 1998 | ||
| 1999 | local SubTabBar = Instance.new("Frame", MF4)
| |
| 2000 | SubTabBar.Name= "Sub Tab" | |
| 2001 | SubTabBar.Size= UDim2.new(1, 0, 0, 24) | |
| 2002 | SubTabBar.Position= UDim2.new(0, 0, 0, 25) | |
| 2003 | SubTabBar.BackgroundTransparency= 1 | |
| 2004 | SubTabBar.BorderSizePixel = 0 | |
| 2005 | SubTabBar.ZIndex= 5 | |
| 2006 | local SubTabLayout = Instance.new("UIListLayout", SubTabBar)
| |
| 2007 | SubTabLayout.FillDirection = Enum.FillDirection.Horizontal | |
| 2008 | SubTabLayout.SortOrder = Enum.SortOrder.LayoutOrder | |
| 2009 | SubTabLayout.Padding = UDim.new(0, 2) | |
| 2010 | ||
| 2011 | local function CreateModuleList(parent, offsetY) | |
| 2012 | local ScrollFrame = Instance.new("ScrollingFrame", parent)
| |
| 2013 | ScrollFrame.Size= UDim2.new(1, 0, 1, -offsetY) | |
| 2014 | ScrollFrame.Position= UDim2.new(0, 0, 0, offsetY) | |
| 2015 | ScrollFrame.BackgroundTransparency= 1 | |
| 2016 | ScrollFrame.BorderSizePixel = 0 | |
| 2017 | ScrollFrame.ScrollingDirection= Enum.ScrollingDirection.Y | |
| 2018 | ScrollFrame.AutomaticCanvasSize = Enum.AutomaticSize.Y | |
| 2019 | ScrollFrame.CanvasSize= UDim2.new(0,0,0,0) | |
| 2020 | ScrollFrame.ScrollBarThickness= 3 | |
| 2021 | ScrollFrame.ScrollBarImageColor3= Color3.fromRGB(255,255,255) | |
| 2022 | ScrollFrame.ElasticBehavior = Enum.ElasticBehavior.Never | |
| 2023 | ScrollFrame.Selectable= false | |
| 2024 | local ListLayout = Instance.new("UIListLayout", ScrollFrame)
| |
| 2025 | ListLayout.FillDirection= Enum.FillDirection.Vertical | |
| 2026 | ListLayout.HorizontalAlignment= Enum.HorizontalAlignment.Center | |
| 2027 | ListLayout.Padding= UDim.new(0, 5) | |
| 2028 | ListLayout.SortOrder= Enum.SortOrder.LayoutOrder | |
| 2029 | local Padding = Instance.new("UIPadding", ScrollFrame)
| |
| 2030 | Padding.PaddingTop= UDim.new(0, 4) | |
| 2031 | Padding.PaddingBottom = UDim.new(0, 35) | |
| 2032 | Padding.PaddingLeft = UDim.new(0, 2) | |
| 2033 | Padding.PaddingRight= UDim.new(0, 2) | |
| 2034 | return ScrollFrame | |
| 2035 | end | |
| 2036 | ||
| 2037 | local BuiltInDancesList = CreateModuleList(MF4, 50) | |
| 2038 | BuiltInDancesList.Name = "BuiltinList" | |
| 2039 | local UserDancesList = CreateModuleList(MF4, 50) | |
| 2040 | UserDancesList.Name= "UserList" | |
| 2041 | UserDancesList.Visible = false | |
| 2042 | ||
| 2043 | local function MakeSubTab(name, lo) | |
| 2044 | local Button = Instance.new("TextButton", SubTabBar)
| |
| 2045 | Button.LayoutOrder = lo | |
| 2046 | Button.Size= UDim2.new(0.5, -2, 1, 0) | |
| 2047 | Button.BackgroundTransparency= 1 | |
| 2048 | Button.BorderSizePixel = 0 | |
| 2049 | Button.Font= Enum.Font.Unknown | |
| 2050 | Button.FontFace= Font.new([[rbxasset://fonts/families/Zekton.json]], Enum.FontWeight.Regular, Enum.FontStyle.Normal) | |
| 2051 | Button.TextSize= 13 | |
| 2052 | Button.TextColor3= Color3.fromRGB(200, 200, 200) | |
| 2053 | table.insert(IndexWhitwTexts,Button) | |
| 2054 | Button.Text= name | |
| 2055 | Button.AutoButtonColor = true | |
| 2056 | UI["B"] = Instance.new("UIStroke", Button);
| |
| 2057 | UI["B"]["ApplyStrokeMode"] = Enum.ApplyStrokeMode.Border; | |
| 2058 | UI["B"]["LineJoinMode"] = Enum.LineJoinMode.Miter; | |
| 2059 | UI["B"]["Thickness"] = 2; | |
| 2060 | UI["B"]["Color"] = Color3.fromRGB(255, 255, 255); | |
| 2061 | ||
| 2062 | ||
| 2063 | UI["C"] = Instance.new("UIGradient", UI["B"]);
| |
| 2064 | UI["C"]["Color"] = ColorSequence.new{ColorSequenceKeypoint.new(0.000, Color3.fromRGB(0, 0, 0)),ColorSequenceKeypoint.new(0.500, Primary),ColorSequenceKeypoint.new(1.000, Color3.fromRGB(0, 0, 0))};
| |
| 2065 | table.insert(IndexGradients,UI["C"]) | |
| 2066 | Instance.new("UICorner", Button).CornerRadius = UDim.new(0, 4)
| |
| 2067 | return Button | |
| 2068 | end | |
| 2069 | local TabButtonForBuiltIn = MakeSubTab("Built-In", 1)
| |
| 2070 | local TabButtonForUser= MakeSubTab("User", 2)
| |
| 2071 | ||
| 2072 | local function SetCurrentSelectedTab(isBuiltin) | |
| 2073 | BuiltInDancesList.Visible = isBuiltin | |
| 2074 | UserDancesList.Visible= not isBuiltin | |
| 2075 | TabButtonForBuiltIn.BackgroundColor3 = isBuiltin and Color3.fromRGB(180,0,0) or Color3.fromRGB(40,40,40) | |
| 2076 | TabButtonForUser.BackgroundColor3= (not isBuiltin) and Color3.fromRGB(180,0,0) or Color3.fromRGB(40,40,40) | |
| 2077 | end | |
| 2078 | SetCurrentSelectedTab(true) | |
| 2079 | TabButtonForBuiltIn.MouseButton1Click:Connect(function() SetCurrentSelectedTab(true) end) | |
| 2080 | TabButtonForUser.MouseButton1Click:Connect(function() SetCurrentSelectedTab(false) end) | |
| 2081 | ||
| 2082 | local ConfigPageFont = Font.new([[rbxasset://fonts/families/Zekton.json]], Enum.FontWeight.Regular, Enum.FontStyle.Normal) | |
| 2083 | local ActiveDanceConfiguratuonPage = nil | |
| 2084 | ||
| 2085 | local function OpenDanceConfiguration(m, parentList) | |
| 2086 | local aaa | |
| 2087 | if ActiveDanceConfiguratuonPage then | |
| 2088 | ActiveDanceConfiguratuonPage:Destroy() | |
| 2089 | ActiveDanceConfiguratuonPage = nil | |
| 2090 | end | |
| 2091 | ||
| 2092 | local Page = Instance.new("ScrollingFrame", MF4)
| |
| 2093 | Page.Name = "Dance Configuration" | |
| 2094 | Page.AnchorPoint= Vector2.new(0, 0) | |
| 2095 | Page.Position = UDim2.new(0, 600, 0.08553, 50) | |
| 2096 | Page.Size = UDim2.new(0, 546, 0, 278) | |
| 2097 | Page.BackgroundColor3 = Color3.fromRGB(0, 0, 0) | |
| 2098 | Page.BackgroundTransparency = 0 | |
| 2099 | Page.BorderSizePixel= 0 | |
| 2100 | Page.ScrollingDirection = Enum.ScrollingDirection.Y | |
| 2101 | Page.AutomaticCanvasSize= Enum.AutomaticSize.Y | |
| 2102 | Page.CanvasSize = UDim2.new(0,0,0,0) | |
| 2103 | Page.ScrollBarThickness = 3 | |
| 2104 | Page.ScrollBarImageColor3 = Color3.fromRGB(255,255,255) | |
| 2105 | Page.ElasticBehavior= Enum.ElasticBehavior.Never | |
| 2106 | Page.Selectable = false | |
| 2107 | Page.ZIndex = 5 | |
| 2108 | Page.ClipsDescendants = true | |
| 2109 | Page.Interactable = false | |
| 2110 | local PageLayout = Instance.new("UIListLayout", Page)
| |
| 2111 | PageLayout.FillDirection= Enum.FillDirection.Vertical | |
| 2112 | PageLayout.HorizontalAlignment = Enum.HorizontalAlignment.Center | |
| 2113 | PageLayout.Padding= UDim.new(0, 3) | |
| 2114 | PageLayout.SortOrder= Enum.SortOrder.LayoutOrder | |
| 2115 | local PagePaddingding = Instance.new("UIPadding", Page)
| |
| 2116 | PagePaddingding.PaddingTop= UDim.new(0, 6) | |
| 2117 | PagePaddingding.PaddingBottom = UDim.new(0, 100) | |
| 2118 | PagePaddingding.PaddingLeft = UDim.new(0, 6) | |
| 2119 | PagePaddingding.PaddingRight= UDim.new(0, 6) | |
| 2120 | ActiveDanceConfiguratuonPage = Page | |
| 2121 | ||
| 2122 | local HurryBack = Instance.new("TextButton", Page)
| |
| 2123 | HurryBack.LayoutOrder = 0 | |
| 2124 | HurryBack.Size= UDim2.new(1, 0, 0, 28) | |
| 2125 | HurryBack.BackgroundColor3= Color3.fromRGB(30,30,30) | |
| 2126 | HurryBack.BackgroundTransparency = 1 | |
| 2127 | HurryBack.Font= Enum.Font.Unknown | |
| 2128 | HurryBack.TextXAlignment= "Left" | |
| 2129 | HurryBack.FontFace= ConfigPageFont | |
| 2130 | HurryBack.TextSize= 24 | |
| 2131 | HurryBack.TextColor3= Secondary | |
| 2132 | HurryBack.Text= "< Hurry Back!!" | |
| 2133 | HurryBack.AutoButtonColor = true | |
| 2134 | table.insert(IndexWhitwTexts,HurryBack) | |
| 2135 | UI["B"] = Instance.new("UIStroke", HurryBack);
| |
| 2136 | UI["B"]["ApplyStrokeMode"] = Enum.ApplyStrokeMode.Border; | |
| 2137 | UI["B"]["LineJoinMode"] = Enum.LineJoinMode.Miter; | |
| 2138 | UI["B"]["Thickness"] = 2; | |
| 2139 | UI["B"]["Color"] = Color3.fromRGB(255, 255, 255); | |
| 2140 | ||
| 2141 | ||
| 2142 | UI["C"] = Instance.new("UIGradient", UI["B"]);
| |
| 2143 | UI["C"]["Color"] = ColorSequence.new{ColorSequenceKeypoint.new(0.000, Color3.fromRGB(0, 0, 0)),ColorSequenceKeypoint.new(0.500, Primary),ColorSequenceKeypoint.new(1.000, Color3.fromRGB(0, 0, 0))};
| |
| 2144 | table.insert(IndexGradients,UI["C"]) | |
| 2145 | Instance.new("UICorner", HurryBack).CornerRadius = UDim.new(0,4)
| |
| 2146 | ||
| 2147 | local Title = Instance.new("TextLabel", Page)
| |
| 2148 | Title.LayoutOrder= 1 | |
| 2149 | Title.Size = UDim2.new(1, 0, 0, 24) | |
| 2150 | Title.BackgroundTransparency = 1 | |
| 2151 | Title.Font = Enum.Font.Unknown | |
| 2152 | Title.FontFace = ConfigPageFont | |
| 2153 | Title.TextSize = 18 | |
| 2154 | Title.TextColor3 = Secondary | |
| 2155 | Title.TextXAlignment = Enum.TextXAlignment.Left | |
| 2156 | Title.Text = m.Name | |
| 2157 | Title.TextWrapped= true | |
| 2158 | ||
| 2159 | local Description = Instance.new("TextLabel", Page)
| |
| 2160 | Description.LayoutOrder = 2 | |
| 2161 | Description.Size= UDim2.new(1, 0, 0, 0) | |
| 2162 | Description.AutomaticSize = Enum.AutomaticSize.Y | |
| 2163 | Description.BackgroundTransparency = 1 | |
| 2164 | Description.Font= Enum.Font.Unknown | |
| 2165 | Description.FontFace= ConfigPageFont | |
| 2166 | Description.TextSize= 13 | |
| 2167 | Description.TextColor3= Secondary | |
| 2168 | Description.TextXAlignment= Enum.TextXAlignment.Left | |
| 2169 | Description.Text= m.Description or "" | |
| 2170 | Description.TextWrapped = true | |
| 2171 | Description.RichText= true | |
| 2172 | ||
| 2173 | local PlayEmote = Instance.new("TextButton", Page)
| |
| 2174 | PlayEmote.LayoutOrder = 3 | |
| 2175 | PlayEmote.Size= UDim2.new(1, 0, 0, 32) | |
| 2176 | PlayEmote.BackgroundColor3= Color3.fromRGB(0,0,0) | |
| 2177 | PlayEmote.BackgroundTransparency = 1 | |
| 2178 | PlayEmote.Font= Enum.Font.Unknown | |
| 2179 | PlayEmote.FontFace= ConfigPageFont | |
| 2180 | PlayEmote.TextSize= 16 | |
| 2181 | PlayEmote.TextColor3= Secondary | |
| 2182 | PlayEmote.Text= "* Play Dance *" | |
| 2183 | PlayEmote.AutoButtonColor = true | |
| 2184 | Instance.new("UICorner", PlayEmote).CornerRadius = UDim.new(0,4)
| |
| 2185 | UI["B"] = Instance.new("UIStroke", PlayEmote);
| |
| 2186 | UI["B"]["ApplyStrokeMode"] = Enum.ApplyStrokeMode.Border; | |
| 2187 | UI["B"]["LineJoinMode"] = Enum.LineJoinMode.Miter; | |
| 2188 | UI["B"]["Thickness"] = 2; | |
| 2189 | UI["B"]["Color"] = Color3.fromRGB(255, 255, 255); | |
| 2190 | UI["C"] = Instance.new("UIGradient", UI["B"]);
| |
| 2191 | UI["C"]["Color"] = ColorSequence.new{ColorSequenceKeypoint.new(0.000, Color3.fromRGB(0, 0, 0)),ColorSequenceKeypoint.new(0.500, Primary),ColorSequenceKeypoint.new(1.000, Color3.fromRGB(0, 0, 0))};
| |
| 2192 | table.insert(IndexGradients,UI["C"]) | |
| 2193 | ||
| 2194 | local function refreshPlayBtn() | |
| 2195 | local active = UserDanceContainer[m.Name] ~= nil | |
| 2196 | PlayEmote.Text = active and "* Stop Dance *" or "* Play Dance *" | |
| 2197 | PlayEmote.BackgroundColor3 = active and Color3.fromRGB(255,0,0) or Color3.fromRGB(255,0,0) | |
| 2198 | end | |
| 2199 | PlayEmote.MouseButton1Click:Connect(function() | |
| 2200 | if IsRunning1.Value==false then notify("Not Reanimated") return end
| |
| 2201 | if PlayEmote.Text=="* Stop Dance *" then | |
| 2202 | BoolDance.Value=false | |
| 2203 | PlayEmote.Text="* Play Dance *" | |
| 2204 | return | |
| 2205 | end | |
| 2206 | if PlayEmote.Text=="* Play Dance *" and BoolDance.Value==true then | |
| 2207 | BoolDance.Value=false | |
| 2208 | oswait(.1) | |
| 2209 | PlayEmote.Text="* Stop Dance *" | |
| 2210 | end | |
| 2211 | String.Value=m.Name | |
| 2212 | Hmmm.Value=true | |
| 2213 | oswait(.2) | |
| 2214 | PlayEmote.Text="* Stop Dance *" | |
| 2215 | String1.Value="Using UI Dance" | |
| 2216 | BoolDance.Value=true | |
| 2217 | Hmmm.Value=false | |
| 2218 | end) | |
| 2219 | aaa=String1:GetPropertyChangedSignal("Value"):Connect(function()
| |
| 2220 | if IsRunning1.Value==false then return end | |
| 2221 | if String1.Value=="Using Tools or Keybind dance" then | |
| 2222 | BoolDance.Value=false | |
| 2223 | PlayEmote.Text="* Play Dance *" | |
| 2224 | elseif String1.Value=="Using UI Dance" then | |
| 2225 | PlayEmote.Text="* Stop Dance *" | |
| 2226 | end | |
| 2227 | String1.Value="None" | |
| 2228 | end) | |
| 2229 | ||
| 2230 | refreshPlayBtn() | |
| 2231 | local Seperator = Instance.new("Frame", Page)
| |
| 2232 | Seperator.LayoutOrder= 4 | |
| 2233 | Seperator.Size = UDim2.new(1, 0, 0, 2) | |
| 2234 | Seperator.BackgroundColor3 = Color3.fromRGB(0,0,0) | |
| 2235 | Seperator.BorderSizePixel= 0 | |
| 2236 | ||
| 2237 | local ConfigurationTitle = Instance.new("TextLabel", Page)
| |
| 2238 | ConfigurationTitle.LayoutOrder= 5 | |
| 2239 | ConfigurationTitle.Size = UDim2.new(1, 0, 0, 20) | |
| 2240 | ConfigurationTitle.BackgroundTransparency = 1 | |
| 2241 | ConfigurationTitle.Font = Enum.Font.Unknown | |
| 2242 | ConfigurationTitle.FontFace = ConfigPageFont | |
| 2243 | ConfigurationTitle.TextSize = 14 | |
| 2244 | ConfigurationTitle.TextColor3 = Color3.fromRGB(255,0,0) | |
| 2245 | ConfigurationTitle.TextXAlignment = Enum.TextXAlignment.Center | |
| 2246 | ConfigurationTitle.Text = "* Configuration *" | |
| 2247 | table.insert(IndexRedTexts,ConfigurationTitle) | |
| 2248 | ||
| 2249 | local ConfigurationContainer = Instance.new("Frame", Page)
| |
| 2250 | ConfigurationContainer.LayoutOrder= 6 | |
| 2251 | ConfigurationContainer.Size = UDim2.new(1, 0, 0, 0) | |
| 2252 | ConfigurationContainer.AutomaticSize= Enum.AutomaticSize.Y | |
| 2253 | ConfigurationContainer.BackgroundTransparency = 1 | |
| 2254 | ConfigurationContainer.BorderSizePixel= 0 | |
| 2255 | local ConfigurationLayout = Instance.new("UIListLayout", ConfigurationContainer)
| |
| 2256 | ConfigurationLayout.FillDirection = Enum.FillDirection.Vertical | |
| 2257 | ConfigurationLayout.HorizontalAlignment = Enum.HorizontalAlignment.Center | |
| 2258 | ConfigurationLayout.Padding = UDim.new(0, 3) | |
| 2259 | ConfigurationLayout.SortOrder = Enum.SortOrder.LayoutOrder | |
| 2260 | ||
| 2261 | if m.Config then | |
| 2262 | pcall(m.Config, ConfigurationContainer) | |
| 2263 | else | |
| 2264 | local NoOptionsLabelForDancesThatHasNoOption = Instance.new("TextLabel", ConfigurationContainer)
| |
| 2265 | NoOptionsLabelForDancesThatHasNoOption.Size = UDim2.new(1, 0, 0, 24) | |
| 2266 | NoOptionsLabelForDancesThatHasNoOption.BackgroundTransparency = 1 | |
| 2267 | NoOptionsLabelForDancesThatHasNoOption.Font = Enum.Font.Unknown | |
| 2268 | NoOptionsLabelForDancesThatHasNoOption.FontFace = ConfigPageFont | |
| 2269 | NoOptionsLabelForDancesThatHasNoOption.TextSize = 14 | |
| 2270 | NoOptionsLabelForDancesThatHasNoOption.TextColor3 = Color3.fromRGB(140,140,140) | |
| 2271 | NoOptionsLabelForDancesThatHasNoOption.TextXAlignment = Enum.TextXAlignment.Center | |
| 2272 | NoOptionsLabelForDancesThatHasNoOption.Text = "No configuration options." | |
| 2273 | end | |
| 2274 | ||
| 2275 | local function doSave() | |
| 2276 | if m.SaveConfig then | |
| 2277 | local ok, data = pcall(m.SaveConfig) | |
| 2278 | if ok and data then | |
| 2279 | TDZConfigs[GetModuleHash(m)] = data | |
| 2280 | SaveUIAndModuleConfigs() | |
| 2281 | end | |
| 2282 | end | |
| 2283 | end | |
| 2284 | ||
| 2285 | parentList.Interactable = false | |
| 2286 | local tweenIn = game:GetService("TweenService"):Create(
| |
| 2287 | Page, | |
| 2288 | TweenInfo.new(0.35, Enum.EasingStyle.Cubic, Enum.EasingDirection.Out), | |
| 2289 | { Position = UDim2.new(0, 0, 0.08553, 0) }
| |
| 2290 | ) | |
| 2291 | tweenIn:Play() | |
| 2292 | tweenIn.Completed:Connect(function() | |
| 2293 | Page.Interactable = true | |
| 2294 | end) | |
| 2295 | ||
| 2296 | HurryBack.MouseButton1Click:Connect(function() | |
| 2297 | doSave() | |
| 2298 | Page.Interactable = false | |
| 2299 | local tweenOut = game:GetService("TweenService"):Create(
| |
| 2300 | Page, | |
| 2301 | TweenInfo.new(0.3, Enum.EasingStyle.Cubic, Enum.EasingDirection.In), | |
| 2302 | { Position = UDim2.new(0, 600, 0.08553, 0) }
| |
| 2303 | ) | |
| 2304 | tweenOut:Play() | |
| 2305 | tweenOut.Completed:Connect(function() | |
| 2306 | Page:Destroy() | |
| 2307 | if ActiveDanceConfiguratuonPage == Page then ActiveDanceConfiguratuonPage = nil end | |
| 2308 | parentList.Interactable = true | |
| 2309 | if aaa then aaa:Disconnect() aaa = nil end | |
| 2310 | end) | |
| 2311 | end) | |
| 2312 | end | |
| 2313 | ||
| 2314 | local function AddDanceToUI(m, targetList, isBuiltin) | |
| 2315 | local dd=m | |
| 2316 | if not m.AddFunctions then | |
| 2317 | if m._factory then pcall(GiveFunctionsToModule, m._factory) end | |
| 2318 | local hash = GetModuleHash(m) | |
| 2319 | if TDZConfigs[hash] and m.LoadConfig then | |
| 2320 | pcall(m.LoadConfig, TDZConfigs[hash]) | |
| 2321 | end | |
| 2322 | m.AddFunctions = true | |
| 2323 | end | |
| 2324 | ||
| 2325 | local Button = Instance.new("TextButton", targetList)
| |
| 2326 | Button.Size= UDim2.new(1, 0, 0, 52) | |
| 2327 | Button.BackgroundColor3= Color3.fromRGB(0, 0, 0) | |
| 2328 | Button.BorderSizePixel = 0 | |
| 2329 | Button.BackgroundTransparency = .85 | |
| 2330 | Button.Text= "" | |
| 2331 | Button.AutoButtonColor = true | |
| 2332 | UI["B"] = Instance.new("UIStroke", Button);
| |
| 2333 | UI["B"]["ApplyStrokeMode"] = Enum.ApplyStrokeMode.Border; | |
| 2334 | UI["B"]["LineJoinMode"] = Enum.LineJoinMode.Miter; | |
| 2335 | UI["B"]["Thickness"] = .5; | |
| 2336 | UI["B"]["Color"] = Color3.fromRGB(255, 255, 255); | |
| 2337 | ||
| 2338 | ||
| 2339 | UI["C"] = Instance.new("UIGradient", UI["B"]);
| |
| 2340 | UI["C"]["Color"] = ColorSequence.new{ColorSequenceKeypoint.new(0.000, Color3.fromRGB(0, 0, 0)),ColorSequenceKeypoint.new(0.500, Primary),ColorSequenceKeypoint.new(1.000, Color3.fromRGB(0, 0, 0))};
| |
| 2341 | table.insert(IndexGradients,UI["C"]) | |
| 2342 | Instance.new("UICorner", Button).CornerRadius = UDim.new(0, 5)
| |
| 2343 | local TypeOfModule = Instance.new("TextLabel", Button)
| |
| 2344 | TypeOfModule.AnchorPoint = Vector2.new(1, 0) | |
| 2345 | TypeOfModule.Position= UDim2.new(1, -4, 0, 4) | |
| 2346 | TypeOfModule.Size= UDim2.new(0, 52, 0, 16) | |
| 2347 | TypeOfModule.BackgroundColor3= isBuiltin and Color3.fromRGB(140,0,0) or Color3.fromRGB(0,90,130) | |
| 2348 | TypeOfModule.BackgroundTransparency = 1 | |
| 2349 | TypeOfModule.Font= Enum.Font.Unknown | |
| 2350 | TypeOfModule.FontFace= ConfigPageFont | |
| 2351 | TypeOfModule.TextSize= 10 | |
| 2352 | TypeOfModule.TextColor3= Color3.fromRGB(255,255,255) | |
| 2353 | TypeOfModule.Text= isBuiltin and "BUILTIN" or "USER" | |
| 2354 | table.insert(IndexWhitwTexts,TypeOfModule) | |
| 2355 | UI["B"] = Instance.new("UIStroke", TypeOfModule);
| |
| 2356 | UI["B"]["ApplyStrokeMode"] = Enum.ApplyStrokeMode.Border; | |
| 2357 | UI["B"]["LineJoinMode"] = Enum.LineJoinMode.Miter; | |
| 2358 | UI["B"]["Thickness"] = 2; | |
| 2359 | UI["B"]["Color"] = Color3.fromRGB(255, 255, 255); | |
| 2360 | ||
| 2361 | ||
| 2362 | UI["C"] = Instance.new("UIGradient", UI["B"]);
| |
| 2363 | UI["C"]["Color"] = ColorSequence.new{ColorSequenceKeypoint.new(0.000, Color3.fromRGB(0, 0, 0)),ColorSequenceKeypoint.new(0.500, Primary),ColorSequenceKeypoint.new(1.000, Color3.fromRGB(0, 0, 0))};
| |
| 2364 | table.insert(IndexGradients,UI["C"]) | |
| 2365 | Instance.new("UICorner", TypeOfModule).CornerRadius = UDim.new(0,3)
| |
| 2366 | ||
| 2367 | local DanceName = Instance.new("TextLabel", Button)
| |
| 2368 | DanceName.Position= UDim2.new(0, 8, 0, 6) | |
| 2369 | DanceName.Size= UDim2.new(1, -70, 0, 22) | |
| 2370 | DanceName.BackgroundTransparency = 1 | |
| 2371 | DanceName.Font= Enum.Font.Unknown | |
| 2372 | DanceName.FontFace= ConfigPageFont | |
| 2373 | DanceName.TextSize= 16 | |
| 2374 | DanceName.TextColor3= Color3.fromRGB(255,255,255) | |
| 2375 | DanceName.TextXAlignment= Enum.TextXAlignment.Left | |
| 2376 | DanceName.TextWrapped = true | |
| 2377 | DanceName.Text= m.Name | |
| 2378 | table.insert(IndexWhitwTexts,DanceName) | |
| 2379 | ||
| 2380 | local firstLine = (m.Description or ""):match("^([^\n]+)") or (m.Description or "")
| |
| 2381 | local Description = Instance.new("TextLabel", Button)
| |
| 2382 | Description.Position= UDim2.new(0, 8, 0, 28) | |
| 2383 | Description.Size= UDim2.new(1, -16, 0, 18) | |
| 2384 | Description.BackgroundTransparency = 1 | |
| 2385 | Description.Font= Enum.Font.Unknown | |
| 2386 | Description.FontFace= ConfigPageFont | |
| 2387 | Description.TextSize= 12 | |
| 2388 | Description.TextColor3= Color3.fromRGB(160,160,160) | |
| 2389 | Description.TextXAlignment= Enum.TextXAlignment.Left | |
| 2390 | Description.TextWrapped= true | |
| 2391 | Description.Text= firstLine | |
| 2392 | ||
| 2393 | Button.MouseButton1Click:Connect(function() | |
| 2394 | OpenDanceConfiguration(m, targetList) | |
| 2395 | Incin=dd | |
| 2396 | end) | |
| 2397 | end | |
| 2398 | ||
| 2399 | local UpdateListLayout = false | |
| 2400 | local function AddLoadeModuleDances() | |
| 2401 | BuiltInDancesList.Interactable = true | |
| 2402 | UserDancesList.Interactable = true | |
| 2403 | for _,c in BuiltInDancesList:GetChildren() do | |
| 2404 | if not c:IsA("UIListLayout") and not c:IsA("UIPadding") then c:Destroy() end
| |
| 2405 | end | |
| 2406 | for _, c in UserDancesList:GetChildren() do | |
| 2407 | if not c:IsA("UIListLayout") and not c:IsA("UIPadding") then c:Destroy() end
| |
| 2408 | end | |
| 2409 | UpdateListLayout = true | |
| 2410 | ||
| 2411 | for _, entry in ipairs(TableOfDances) do | |
| 2412 | if entry._userModule then | |
| 2413 | local m= entry._userModule | |
| 2414 | local isBuiltin = entry._isBuiltin or false | |
| 2415 | local targetList= isBuiltin and BuiltInDancesList or UserDancesList | |
| 2416 | AddDanceToUI(m, targetList, isBuiltin) | |
| 2417 | end | |
| 2418 | end | |
| 2419 | ||
| 2420 | local function _ensurePlaceholder(list, msg) | |
| 2421 | local hasAny = false | |
| 2422 | for _, c in list:GetChildren() do | |
| 2423 | if c:IsA("TextButton") then hasAny = true break end
| |
| 2424 | end | |
| 2425 | if not hasAny then | |
| 2426 | local ph = Instance.new("TextLabel", list)
| |
| 2427 | ph.Size= UDim2.new(1, 0, 0, 50) | |
| 2428 | ph.BackgroundTransparency = 1 | |
| 2429 | ph.Font= Enum.Font.Unknown | |
| 2430 | ph.FontFace= ConfigPageFont | |
| 2431 | ph.TextSize= 14 | |
| 2432 | ph.TextColor3= Color3.fromRGB(255,255,255) | |
| 2433 | ph.TextXAlignment= Enum.TextXAlignment.Center | |
| 2434 | ph.Text= msg | |
| 2435 | ph.TextWrapped= true | |
| 2436 | table.insert(IndexWhitwTexts,ph) | |
| 2437 | end | |
| 2438 | end | |
| 2439 | _ensurePlaceholder(BuiltInDancesList, "No Builtin dances loaded.\nPlace .lua modules in:\n" .. builtins) | |
| 2440 | _ensurePlaceholder(UserDancesList, "No User dances loaded.\nPlace .lua modules in:\n" .. UserDances) | |
| 2441 | end | |
| 2442 | ||
| 2443 | ||
| 2444 | ||
| 2445 | ||
| 2446 | ||
| 2447 | ||
| 2448 | ||
| 2449 | ||
| 2450 | ||
| 2451 | ||
| 2452 | ||
| 2453 | local full = game:GetObjects("rbxassetid://107495486817639")[1]:Clone()
| |
| 2454 | full.Parent = game:GetService("Workspace")
| |
| 2455 | local fallback = game:GetObjects("rbxassetid://117971041844492")[1]:FindFirstChildOfClass("KeyframeSequence")
| |
| 2456 | fallback.Parent = full | |
| 2457 | local is = newproxy(true) | |
| 2458 | local function loadlocalasset(id) | |
| 2459 | local id = tostring(id) | |
| 2460 | local id = id:gsub("^rbxassetid://", "")
| |
| 2461 | local _, asset = pcall(function() return full[id] end) | |
| 2462 | if not _ or not asset then | |
| 2463 | asset = fallback | |
| 2464 | end | |
| 2465 | ||
| 2466 | return asset:Clone() | |
| 2467 | end | |
| 2468 | getmetatable(is).__namecall = function(_, id) | |
| 2469 | return loadlocalasset(id) | |
| 2470 | end | |
| 2471 | local danceCache = {}
| |
| 2472 | local function AddDance(Name, ScriptUrl) | |
| 2473 | local filePath = DanceFolder.."/"..Name | |
| 2474 | local animPath = DanceFolder.."/"..Name..".anim" | |
| 2475 | if isfile and isfile(animPath) then | |
| 2476 | local success, danceData = pcall(function() | |
| 2477 | return LoadAnimBinary(readfile(animPath)) | |
| 2478 | end) | |
| 2479 | if success and danceData then | |
| 2480 | local newDance = danceData:Clone() | |
| 2481 | newDance.Name = Name | |
| 2482 | newDance.Parent = full | |
| 2483 | print("Loaded .anim from storage: "..Name)
| |
| 2484 | return newDance | |
| 2485 | else | |
| 2486 | warn("Failed to parse cached .anim: "..Name.." - "..tostring(danceData))
| |
| 2487 | end | |
| 2488 | end | |
| 2489 | if isfile and isfile(filePath) then | |
| 2490 | local success, danceData = pcall(function() | |
| 2491 | return loadstring(readfile(filePath))() | |
| 2492 | end) | |
| 2493 | ||
| 2494 | if success and danceData then | |
| 2495 | if danceData:IsA("KeyframeSequence") then
| |
| 2496 | local newDance = danceData:Clone() | |
| 2497 | newDance.Name = Name | |
| 2498 | newDance.Parent = full | |
| 2499 | print("Loaded from storage: "..Name)
| |
| 2500 | return newDance | |
| 2501 | else | |
| 2502 | warn("Saved dance doesn't return KeyframeSequence: "..Name)
| |
| 2503 | end | |
| 2504 | else | |
| 2505 | warn("Failed to load saved dance: "..Name.." - "..tostring(danceData))
| |
| 2506 | end | |
| 2507 | end | |
| 2508 | warn("Downloading dance: "..Name)
| |
| 2509 | local success, danceData = pcall(function() | |
| 2510 | return loadstring(game:HttpGet(ScriptUrl))() | |
| 2511 | end) | |
| 2512 | task.defer(function() | |
| 2513 | if success and danceData then | |
| 2514 | if danceData:IsA("KeyframeSequence") then
| |
| 2515 | local newDance = danceData:Clone() | |
| 2516 | newDance.Name = Name | |
| 2517 | newDance.Parent = full | |
| 2518 | warn("Loaded: "..Name)
| |
| 2519 | writefile(filePath, game:HttpGet(ScriptUrl)) | |
| 2520 | return newDance | |
| 2521 | else | |
| 2522 | warn("Dance doesn't return KeyframeSequence: "..Name)
| |
| 2523 | return nil | |
| 2524 | end | |
| 2525 | else | |
| 2526 | warn("Failed to load dance: "..Name.." - "..tostring(danceData))
| |
| 2527 | return nil | |
| 2528 | end | |
| 2529 | end) | |
| 2530 | end | |
| 2531 | local danceCache = {}
| |
| 2532 | local function LoadDance(danceName, scriptUrl) | |
| 2533 | if danceCache[danceName] then | |
| 2534 | return danceCache[danceName] | |
| 2535 | end | |
| 2536 | ||
| 2537 | local dance = AddDance(danceName, scriptUrl) | |
| 2538 | if dance then | |
| 2539 | danceCache[danceName] = dance | |
| 2540 | end | |
| 2541 | return dance | |
| 2542 | end | |
| 2543 | ||
| 2544 | ||
| 2545 | ||
| 2546 | ||
| 2547 | ||
| 2548 | ||
| 2549 | local timeposcur = 0 | |
| 2550 | local musicSound = Instance.new("Sound",game:GetService("RunService"))
| |
| 2551 | local Playsound = Instance.new("Sound",game:GetService("RunService"))
| |
| 2552 | Playsound.Name = "Danc" | |
| 2553 | Playsound.Volume = .75 | |
| 2554 | Playsound.Looped = true | |
| 2555 | Playsound.Parent = game:GetService("RunService")
| |
| 2556 | musicSound.Looped = true | |
| 2557 | musicSound.Name = "danc" | |
| 2558 | musicSound.Playing = true | |
| 2559 | musicSound.Volume = .75 | |
| 2560 | local function DanceAsset(file, url) | |
| 2561 | if url==nil then url="https://github.com/Solary-3/Scripts/blob/Audios-1/"..file end | |
| 2562 | local filePath = MusicFolder.."/"..file | |
| 2563 | local isBuiltIn = table.find(validAudioFiles, file) | |
| 2564 | local existsLocally = isfile(filePath) | |
| 2565 | if not isBuiltIn and not existsLocally then | |
| 2566 | if url ~= "https://github.com/Solary-3/Scripts/blob/Audios-1".."/"..file then | |
| 2567 | warn("Downloading user audio: " .. file)
| |
| 2568 | local success, errorMsg = pcall(function() | |
| 2569 | writefile(filePath, game:HttpGet(url)) | |
| 2570 | end) | |
| 2571 | if not success then | |
| 2572 | warn("Failed to download user audio: " .. file .. " - " .. errorMsg)
| |
| 2573 | return "" | |
| 2574 | end | |
| 2575 | warn("Downloaded user audio: " .. file)
| |
| 2576 | else | |
| 2577 | warn("Audio file not in whitelist and no custom URL provided: " .. file)
| |
| 2578 | return "" | |
| 2579 | end | |
| 2580 | elseif not existsLocally then | |
| 2581 | warn("Downloading Audio: " .. file)
| |
| 2582 | local success, errorMsg = pcall(function() | |
| 2583 | writefile(filePath, game:HttpGet(url.."?raw=true")) | |
| 2584 | end) | |
| 2585 | if not success then | |
| 2586 | warn("Failed to download audio: " .. file .. " - " .. errorMsg)
| |
| 2587 | writefile(filePath, "") | |
| 2588 | return "" | |
| 2589 | end | |
| 2590 | warn("Downloaded Audio: " .. file)
| |
| 2591 | end | |
| 2592 | if isfile(filePath) then | |
| 2593 | return getcustomasset(filePath) | |
| 2594 | else | |
| 2595 | notify("File Not Found: " .. file)
| |
| 2596 | return "" | |
| 2597 | end | |
| 2598 | end | |
| 2599 | ||
| 2600 | ||
| 2601 | function RedownloadAssert() | |
| 2602 | for _,v in next,TableOfDances do | |
| 2603 | task.spawn(function() | |
| 2604 | if v.Name=="Takino" then | |
| 2605 | if isfile and not isfile(MusicFolder.."/Takino.mp3") then | |
| 2606 | writefile(MusicFolder.."/Takino.mp3",game:HttpGet("https://github.com/Solary-3/Scripts/blob/Audios-1/Takino.mp3?raw=true"))
| |
| 2607 | end | |
| 2608 | --.SoundId = getcustomasset(MusicFolder.."/"..v.Music) | |
| 2609 | elseif v.Name=="Bomb Monkey" then | |
| 2610 | if isfile and not isfile(MusicFolder.."/Monkey.mp3") then | |
| 2611 | writefile(MusicFolder.."/Monkey.mp3",game:HttpGet("https://github.com/Solary-3/Scripts/blob/Audios-1/Monkey.mp3?raw=true"))
| |
| 2612 | end | |
| 2613 | --.SoundId = getcustomasset(MusicFolder.."/"..v.Music) | |
| 2614 | elseif v.Name=="Cry For Me" then | |
| 2615 | if isfile and not isfile(MusicFolder.."/Cry For Me.mp3") then | |
| 2616 | writefile(MusicFolder.."/Cry For Me.mp3",game:HttpGet("https://github.com/Solary-3/Scripts/blob/Audios-1/Cry For Me.mp3?raw=true"))
| |
| 2617 | end | |
| 2618 | --.SoundId = getcustomasset(MusicFolder.."/"..v.Music) | |
| 2619 | elseif v.Name=="Someone Ships" then | |
| 2620 | if isfile and not isfile(MusicFolder.."/Idk.mp3") then | |
| 2621 | writefile(MusicFolder.."/Idk.mp3",game:HttpGet("https://github.com/Solary-3/Scripts/blob/Audios-1/Idk.mp3?raw=true"))
| |
| 2622 | end | |
| 2623 | --.SoundId = getcustomasset(MusicFolder.."/Idk.mp3") | |
| 2624 | elseif v.Name=="Funny" then | |
| 2625 | if isfile and not isfile(MusicFolder.."/Funny.mp3") then | |
| 2626 | writefile(MusicFolder.."/Funny.mp3",game:HttpGet("https://github.com/Solary-3/Scripts/blob/Audios-1/Funny.mp3?raw=true"))
| |
| 2627 | end | |
| 2628 | --.SoundId = getcustomasset(MusicFolder.."/Funny.mp3") | |
| 2629 | elseif v.Name=="Retry Now" then | |
| 2630 | if isfile and not isfile(MusicFolder.."/RetryNow.mp3") then | |
| 2631 | writefile(MusicFolder.."/RetryNow.mp3",game:HttpGet("https://github.com/Solary-3/Scripts/blob/Audios-1/RetryNow.mp3?raw=true"))
| |
| 2632 | end | |
| 2633 | --.SoundId = getcustomasset(MusicFolder.."/RetryNow.mp3") | |
| 2634 | elseif v.Name=="Looping The Rooms 2" then | |
| 2635 | if isfile and not isfile(MusicFolder.."/Looping 2.mp3") then | |
| 2636 | writefile(MusicFolder.."/Looping 2.mp3",game:HttpGet("https://github.com/Solary-3/Scripts/blob/Audios-1/Looping 2.mp3?raw=true"))
| |
| 2637 | end | |
| 2638 | --.SoundId = getcustomasset(MusicFolder.."/Looping 2.mp3") | |
| 2639 | elseif v.Name=="Looping The Rooms 4" then | |
| 2640 | if isfile and not isfile(MusicFolder.."/Looping 2.mp3") then | |
| 2641 | writefile(MusicFolder.."/Looping 2.mp3",game:HttpGet("https://github.com/Solary-3/Scripts/blob/Audios-1/Looping 2.mp3?raw=true"))
| |
| 2642 | end | |
| 2643 | --.SoundId = getcustomasset(MusicFolder.."/Looping 2.mp3") | |
| 2644 | elseif v.Name=="Golden Dandelion" then | |
| 2645 | if isfile and not isfile(MusicFolder.."/TsSoGolden.mp3") then | |
| 2646 | writefile(MusicFolder.."/TsSoGolden.mp3",game:HttpGet("https://github.com/Solary-3/Scripts/blob/Audios-1/TsSoGolden.mp3?raw=true"))
| |
| 2647 | end | |
| 2648 | --.SoundId = getcustomasset(MusicFolder.."/TsSoGolden.mp3") | |
| 2649 | elseif v.Name=="Skeleton" then | |
| 2650 | if isfile and not isfile(MusicFolder.."/Skellywarcry.mp3") then | |
| 2651 | writefile(MusicFolder.."/Skellywarcry.mp3",game:HttpGet("https://github.com/Solary-3/Scripts/blob/Audios-1/Skellywarcry.mp3?raw=true"))
| |
| 2652 | end | |
| 2653 | --.SoundId = getcustomasset(MusicFolder.."/Skellywarcry.mp3") | |
| 2654 | elseif v.Name=="Microwave" then | |
| 2655 | if isfile and not isfile(MusicFolder.."/Microwave.mp3") then | |
| 2656 | writefile(MusicFolder.."/Microwave.mp3",game:HttpGet("https://github.com/Solary-3/Scripts/blob/Audios-1/Microwave.mp3?raw=true"))
| |
| 2657 | end | |
| 2658 | --.SoundId = getcustomasset(MusicFolder.."/Microwave.mp3") | |
| 2659 | elseif v.Name=="Lil Buddy Was Sick" then | |
| 2660 | if isfile and not isfile(MusicFolder.."/Lilbuddy.mp3") then | |
| 2661 | writefile(MusicFolder.."/Lilbuddy.mp3",game:HttpGet("https://github.com/Solary-3/Scripts/blob/Audios-1/Lilbuddy.mp3?raw=true"))
| |
| 2662 | end | |
| 2663 | --.SoundId = getcustomasset(MusicFolder.."/Lilbuddy.mp3") | |
| 2664 | elseif v.Name=="Funny 2" then | |
| 2665 | if isfile and not isfile(MusicFolder.."/Funny2.mp3") then | |
| 2666 | writefile(MusicFolder.."/Funny2.mp3",game:HttpGet("https://github.com/Solary-3/Scripts/blob/Audios-1/Funny2.mp3?raw=true"))
| |
| 2667 | end | |
| 2668 | --.SoundId = getcustomasset(MusicFolder.."/Funny2.mp3") | |
| 2669 | elseif v.Name=="Very Hot" then | |
| 2670 | if isfile and not isfile(MusicFolder.."/ItBurns.mp3") then | |
| 2671 | writefile(MusicFolder.."/ItBurns.mp3",game:HttpGet("https://github.com/Solary-3/Scripts/blob/Audios-1/ItBurns.mp3?raw=true"))
| |
| 2672 | end | |
| 2673 | elseif v.Name=="Chegou 3" then | |
| 2674 | if isfile and not isfile(MusicFolder.."/Chegou 3.mp3") then | |
| 2675 | writefile(MusicFolder.."/Chegou 3.mp3",game:HttpGet("https://github.com/Solary-3/Scripts/blob/Audios-1/Chegou 3.mp3?raw=true"))
| |
| 2676 | end | |
| 2677 | elseif v.Name=="Chegou 3 Remake" then | |
| 2678 | if isfile and not isfile(MusicFolder.."/Chegou 3.mp3") then | |
| 2679 | writefile(MusicFolder.."/Chegou 3.mp3",game:HttpGet("https://github.com/Solary-3/Scripts/blob/Audios-1/Chegou 3.mp3?raw=true"))
| |
| 2680 | end | |
| 2681 | elseif v.Name=="Dia Delicia" then | |
| 2682 | if isfile and not isfile(MusicFolder.."/DiaDelicia.mp3") then | |
| 2683 | writefile(MusicFolder.."/DiaDelicia.mp3",game:HttpGet("https://github.com/Solary-3/Scripts/blob/Audios-1/DiaDelicia.mp3?raw=true"))
| |
| 2684 | end | |
| 2685 | elseif v.Name=="Default Dance" then | |
| 2686 | if isfile and not isfile(MusicFolder.."/Fortnite.mp3") then | |
| 2687 | writefile(MusicFolder.."/Fortnite.mp3",game:HttpGet("https://github.com/Solary-3/Scripts/blob/Audios-1/Fortnite.mp3?raw=true"))
| |
| 2688 | end | |
| 2689 | elseif v.Name=="Analog horror funk" then | |
| 2690 | if isfile and not isfile(MusicFolder.."/Analog horror funk.mp3") then | |
| 2691 | writefile(MusicFolder.."/Analog horror funk.mp3",game:HttpGet("https://github.com/Solary-3/Scripts/blob/Audios-1/Analog horror funk.mp3?raw=true"))
| |
| 2692 | end | |
| 2693 | elseif v.Name=="Niche Baby" then | |
| 2694 | if isfile and not isfile(MusicFolder.."/ai niche baby.mp3") then | |
| 2695 | writefile(MusicFolder.."/ai niche baby.mp3",game:HttpGet("https://github.com/Solary-3/Scripts/blob/Audios-1/ai niche baby.mp3?raw=true"))
| |
| 2696 | end | |
| 2697 | elseif v.Name=="Epical" then | |
| 2698 | if isfile and not isfile(MusicFolder.."/Epical.mp3") then | |
| 2699 | writefile(MusicFolder.."/Epical.mp3",game:HttpGet("https://github.com/Solary-3/Scripts/blob/Audios-1/Epical.mp3?raw=true"))
| |
| 2700 | end | |
| 2701 | elseif v.Name=="Doom Mc Bringer" then | |
| 2702 | if isfile and not isfile(MusicFolder.."/Doom Mc Bringer.mp3") then | |
| 2703 | writefile(MusicFolder.."/Doom Mc Bringer.mp3",game:HttpGet("https://github.com/Solary-3/Scripts/blob/Audios-1/Doom Mc Bringer.mp3?raw=true"))
| |
| 2704 | end | |
| 2705 | elseif v.Name=="Akage" then | |
| 2706 | if isfile and not isfile(MusicFolder.."/Akage.mp3") then | |
| 2707 | writefile(MusicFolder.."/Akage.mp3",game:HttpGet("https://github.com/Solary-3/Scripts/blob/Audios-1/Akage.mp3?raw=true"))
| |
| 2708 | end | |
| 2709 | elseif v.Name=="Japanese Meme" then | |
| 2710 | if isfile and not isfile(MusicFolder.."/Japan.mp3") then | |
| 2711 | writefile(MusicFolder.."/Japan.mp3",game:HttpGet("https://github.com/Solary-3/Scripts/blob/Audios-1/Japan.mp3?raw=true"))
| |
| 2712 | end | |
| 2713 | --.SoundId = getcustomasset(MusicFolder.."/ItBurns.mp3") | |
| 2714 | ||
| 2715 | ||
| 2716 | ||
| 2717 | elseif v.Name:match("Rat") then
| |
| 2718 | if isfile and not isfile(MusicFolder.."/matchmaker.mp3") then | |
| 2719 | writefile(MusicFolder.."/matchmaker.mp3",game:HttpGet("https://github.com/Solary-3/Scripts/blob/Audios-1/matchmaker.mp3?raw=true"))
| |
| 2720 | end | |
| 2721 | if math.random(1,3)==2 then | |
| 2722 | ||
| 2723 | else | |
| 2724 | DanceAsset(v.Music) | |
| 2725 | end | |
| 2726 | else | |
| 2727 | DanceAsset(v.Music) | |
| 2728 | end | |
| 2729 | end) | |
| 2730 | LoadDance(v.DanceName, v.Url) | |
| 2731 | end | |
| 2732 | for _, filePath in next, listfiles(UserDances) do | |
| 2733 | if filePath:sub(-4) == ".lua" then | |
| 2734 | local ok, resListLayoutt = pcall(function() | |
| 2735 | return loadstring(readfile(filePath))() | |
| 2736 | end) | |
| 2737 | if ok and type(resListLayoutt) == "table" then | |
| 2738 | for _, entry in next, resListLayoutt do | |
| 2739 | if entry.DanceName and entry.Url and entry.Url ~= "None" then | |
| 2740 | LoadDance(entry.DanceName, entry.Url) | |
| 2741 | end | |
| 2742 | end | |
| 2743 | end | |
| 2744 | end | |
| 2745 | end | |
| 2746 | end | |
| 2747 | ||
| 2748 | ||
| 2749 | function GetAsset(v) | |
| 2750 | task.spawn(function() | |
| 2751 | if v.Name=="Takino" then | |
| 2752 | if isfile and not isfile(MusicFolder.."/Takino.mp3") then | |
| 2753 | writefile(MusicFolder.."/Takino.mp3",game:HttpGet("https://github.com/Solary-3/Scripts/blob/Audios-1/Takino.mp3?raw=true"))
| |
| 2754 | end | |
| 2755 | musicSound.SoundId = getcustomasset(MusicFolder.."/"..v.Music) | |
| 2756 | elseif v.Name=="Bomb Monkey" then | |
| 2757 | if isfile and not isfile(MusicFolder.."/Monkey.mp3") then | |
| 2758 | writefile(MusicFolder.."/Monkey.mp3",game:HttpGet("https://github.com/Solary-3/Scripts/blob/Audios-1/Monkey.mp3?raw=true"))
| |
| 2759 | end | |
| 2760 | musicSound.SoundId = getcustomasset(MusicFolder.."/"..v.Music) | |
| 2761 | elseif v.Name=="Cry For Me" then | |
| 2762 | if isfile and not isfile(MusicFolder.."/Cry For Me.mp3") then | |
| 2763 | writefile(MusicFolder.."/Cry For Me.mp3",game:HttpGet("https://github.com/Solary-3/Scripts/blob/Audios-1/Cry For Me.mp3?raw=true"))
| |
| 2764 | end | |
| 2765 | musicSound.SoundId = getcustomasset(MusicFolder.."/"..v.Music) | |
| 2766 | elseif v.Name=="Someone Ships" then | |
| 2767 | if isfile and not isfile(MusicFolder.."/Idk.mp3") then | |
| 2768 | writefile(MusicFolder.."/Idk.mp3",game:HttpGet("https://github.com/Solary-3/Scripts/blob/Audios-1/Idk.mp3?raw=true"))
| |
| 2769 | end | |
| 2770 | musicSound.SoundId = getcustomasset(MusicFolder.."/Idk.mp3") | |
| 2771 | elseif v.Name=="Funny" then | |
| 2772 | if isfile and not isfile(MusicFolder.."/Funny.mp3") then | |
| 2773 | writefile(MusicFolder.."/Funny.mp3",game:HttpGet("https://github.com/Solary-3/Scripts/blob/Audios-1/Funny.mp3?raw=true"))
| |
| 2774 | end | |
| 2775 | musicSound.SoundId = getcustomasset(MusicFolder.."/Funny.mp3") | |
| 2776 | elseif v.Name=="Retry Now" then | |
| 2777 | if isfile and not isfile(MusicFolder.."/RetryNow.mp3") then | |
| 2778 | writefile(MusicFolder.."/RetryNow.mp3",game:HttpGet("https://github.com/Solary-3/Scripts/blob/Audios-1/RetryNow.mp3?raw=true"))
| |
| 2779 | end | |
| 2780 | musicSound.SoundId = getcustomasset(MusicFolder.."/RetryNow.mp3") | |
| 2781 | elseif v.Name=="Looping The Rooms 2" then | |
| 2782 | if isfile and not isfile(MusicFolder.."/Looping 2.mp3") then | |
| 2783 | writefile(MusicFolder.."/Looping 2.mp3",game:HttpGet("https://github.com/Solary-3/Scripts/blob/Audios-1/Looping 2.mp3?raw=true"))
| |
| 2784 | end | |
| 2785 | musicSound.SoundId = getcustomasset(MusicFolder.."/Looping 2.mp3") | |
| 2786 | elseif v.Name=="Looping The Rooms 4" then | |
| 2787 | if isfile and not isfile(MusicFolder.."/Looping 2.mp3") then | |
| 2788 | writefile(MusicFolder.."/Looping 2.mp3",game:HttpGet("https://github.com/Solary-3/Scripts/blob/Audios-1/Looping 2.mp3?raw=true"))
| |
| 2789 | end | |
| 2790 | musicSound.SoundId = getcustomasset(MusicFolder.."/Looping 2.mp3") | |
| 2791 | elseif v.Name=="Golden Dandelion" then | |
| 2792 | if isfile and not isfile(MusicFolder.."/TsSoGolden.mp3") then | |
| 2793 | writefile(MusicFolder.."/TsSoGolden.mp3",game:HttpGet("https://github.com/Solary-3/Scripts/blob/Audios-1/TsSoGolden.mp3?raw=true"))
| |
| 2794 | end | |
| 2795 | musicSound.SoundId = getcustomasset(MusicFolder.."/TsSoGolden.mp3") | |
| 2796 | elseif v.Name=="Skeleton" then | |
| 2797 | if isfile and not isfile(MusicFolder.."/Skellywarcry.mp3") then | |
| 2798 | writefile(MusicFolder.."/Skellywarcry.mp3",game:HttpGet("https://github.com/Solary-3/Scripts/blob/Audios-1/Skellywarcry.mp3?raw=true"))
| |
| 2799 | end | |
| 2800 | musicSound.SoundId = getcustomasset(MusicFolder.."/Skellywarcry.mp3") | |
| 2801 | elseif v.Name=="Microwave" then | |
| 2802 | if isfile and not isfile(MusicFolder.."/Microwave.mp3") then | |
| 2803 | writefile(MusicFolder.."/Microwave.mp3",game:HttpGet("https://github.com/Solary-3/Scripts/blob/Audios-1/Microwave.mp3?raw=true"))
| |
| 2804 | end | |
| 2805 | musicSound.SoundId = getcustomasset(MusicFolder.."/Microwave.mp3") | |
| 2806 | elseif v.Name=="Lil Buddy Was Sick" then | |
| 2807 | if isfile and not isfile(MusicFolder.."/Lilbuddy.mp3") then | |
| 2808 | writefile(MusicFolder.."/Lilbuddy.mp3",game:HttpGet("https://github.com/Solary-3/Scripts/blob/Audios-1/Lilbuddy.mp3?raw=true"))
| |
| 2809 | end | |
| 2810 | musicSound.SoundId = getcustomasset(MusicFolder.."/Lilbuddy.mp3") | |
| 2811 | elseif v.Name=="Funny 2" then | |
| 2812 | if isfile and not isfile(MusicFolder.."/Funny2.mp3") then | |
| 2813 | writefile(MusicFolder.."/Funny2.mp3",game:HttpGet("https://github.com/Solary-3/Scripts/blob/Audios-1/Funny2.mp3?raw=true"))
| |
| 2814 | end | |
| 2815 | musicSound.SoundId = getcustomasset(MusicFolder.."/Funny2.mp3") | |
| 2816 | elseif v.Name=="Very Hot" then | |
| 2817 | if isfile and not isfile(MusicFolder.."/ItBurns.mp3") then | |
| 2818 | writefile(MusicFolder.."/ItBurns.mp3",game:HttpGet("https://github.com/Solary-3/Scripts/blob/Audios-1/ItBurns.mp3?raw=true"))
| |
| 2819 | end | |
| 2820 | musicSound.SoundId = getcustomasset(MusicFolder.."/ItBurns.mp3") | |
| 2821 | elseif v.Name=="Chegou 3" then | |
| 2822 | if isfile and not isfile(MusicFolder.."/Chegou 3.mp3") then | |
| 2823 | writefile(MusicFolder.."/Chegou 3.mp3",game:HttpGet("https://github.com/Solary-3/Scripts/blob/Audios-1/Chegou 3.mp3?raw=true"))
| |
| 2824 | end | |
| 2825 | musicSound.SoundId = getcustomasset(MusicFolder.."/Chegou 3.mp3") | |
| 2826 | elseif v.Name=="Chegou 3 Remake" then | |
| 2827 | if isfile and not isfile(MusicFolder.."/Chegou 3.mp3") then | |
| 2828 | writefile(MusicFolder.."/Chegou 3.mp3",game:HttpGet("https://github.com/Solary-3/Scripts/blob/Audios-1/Chegou 3.mp3?raw=true"))
| |
| 2829 | end | |
| 2830 | musicSound.SoundId = getcustomasset(MusicFolder.."/Chegou 3.mp3") | |
| 2831 | elseif v.Name=="Dia Delicia" then | |
| 2832 | if isfile and not isfile(MusicFolder.."/DiaDelicia.mp3") then | |
| 2833 | writefile(MusicFolder.."/DiaDelicia.mp3",game:HttpGet("https://github.com/Solary-3/Scripts/blob/Audios-1/DiaDelicia.mp3?raw=true"))
| |
| 2834 | end | |
| 2835 | musicSound.SoundId = getcustomasset(MusicFolder.."/DiaDelicia.mp3") | |
| 2836 | elseif v.Name=="Default Dance" then | |
| 2837 | if isfile and not isfile(MusicFolder.."/Fortnite.mp3") then | |
| 2838 | writefile(MusicFolder.."/Fortnite.mp3",game:HttpGet("https://github.com/Solary-3/Scripts/blob/Audios-1/Fortnite.mp3?raw=true"))
| |
| 2839 | end | |
| 2840 | --musicSound.SoundId = getcustomasset(MusicFolder.."/DiaDelicia.mp3") | |
| 2841 | musicSound.SoundId = getcustomasset(MusicFolder.."/Fortnite.mp3") | |
| 2842 | elseif v.Name=="Analog horror funk" then | |
| 2843 | if isfile and not isfile(MusicFolder.."/Analog horror funk.mp3") then | |
| 2844 | writefile(MusicFolder.."/Analog horror funk.mp3",game:HttpGet("https://github.com/Solary-3/Scripts/blob/Audios-1/Analog horror funk.mp3?raw=true"))
| |
| 2845 | end | |
| 2846 | musicSound.SoundId = getcustomasset(MusicFolder.."/Analog horror funk.mp3") | |
| 2847 | elseif v.Name=="Niche Baby" then | |
| 2848 | if isfile and not isfile(MusicFolder.."/ai niche baby.mp3") then | |
| 2849 | writefile(MusicFolder.."/ai niche baby.mp3",game:HttpGet("https://github.com/Solary-3/Scripts/blob/Audios-1/ai niche baby.mp3?raw=true"))
| |
| 2850 | end | |
| 2851 | musicSound.SoundId = getcustomasset(MusicFolder.."/ai niche baby.mp3") | |
| 2852 | elseif v.Name=="Epical" then | |
| 2853 | if isfile and not isfile(MusicFolder.."/Epical.mp3") then | |
| 2854 | writefile(MusicFolder.."/Epical.mp3",game:HttpGet("https://github.com/Solary-3/Scripts/blob/Audios-1/Epical.mp3?raw=true"))
| |
| 2855 | end | |
| 2856 | musicSound.SoundId = getcustomasset(MusicFolder.."/Epical.mp3") | |
| 2857 | elseif v.Name=="Doom Mc Bringer" then | |
| 2858 | if isfile and not isfile(MusicFolder.."/Doom Mc Bringer.mp3") then | |
| 2859 | writefile(MusicFolder.."/Doom Mc Bringer.mp3",game:HttpGet("https://github.com/Solary-3/Scripts/blob/Audios-1/Doom Mc Bringer.mp3?raw=true"))
| |
| 2860 | end | |
| 2861 | musicSound.SoundId = getcustomasset(MusicFolder.."/Doom Mc Bringer.mp3") | |
| 2862 | elseif v.Name=="Akage" then | |
| 2863 | if isfile and not isfile(MusicFolder.."/Akage.mp3") then | |
| 2864 | writefile(MusicFolder.."/Akage.mp3",game:HttpGet("https://github.com/Solary-3/Scripts/blob/Audios-1/Akage.mp3?raw=true"))
| |
| 2865 | end | |
| 2866 | musicSound.SoundId = getcustomasset(MusicFolder.."/Akage.mp3") | |
| 2867 | elseif v.Name=="Japanese Meme" then | |
| 2868 | if isfile and not isfile(MusicFolder.."/Japan.mp3") then | |
| 2869 | writefile(MusicFolder.."/Japan.mp3",game:HttpGet("https://github.com/Solary-3/Scripts/blob/Audios-1/Japan.mp3?raw=true"))
| |
| 2870 | end | |
| 2871 | musicSound.SoundId = getcustomasset(MusicFolder.."/Japan.mp3") | |
| 2872 | ||
| 2873 | elseif v.Name:match("Rat") then -- Screw this, instad of manually adding each rat dance names, why not just match the name
| |
| 2874 | if isfile and not isfile(MusicFolder.."/matchmaker.mp3") then | |
| 2875 | writefile(MusicFolder.."/matchmaker.mp3",game:HttpGet("https://github.com/Solary-3/Scripts/blob/Audios-1/matchmaker.mp3?raw=true"))
| |
| 2876 | end | |
| 2877 | if math.random(1,3)==2 then | |
| 2878 | ||
| 2879 | musicSound.SoundId =getcustomasset(MusicFolder.."/matchmaker.mp3") | |
| 2880 | else | |
| 2881 | musicSound.SoundId = DanceAsset(v.Music) | |
| 2882 | end | |
| 2883 | else | |
| 2884 | musicSound.SoundId = DanceAsset(v.Music) | |
| 2885 | end | |
| 2886 | ||
| 2887 | ||
| 2888 | if v.Offset==0 then | |
| 2889 | musicSound.TimePosition=0 | |
| 2890 | else | |
| 2891 | musicSound.TimePosition=v.Offset | |
| 2892 | end | |
| 2893 | end) | |
| 2894 | end | |
| 2895 | ||
| 2896 | ||
| 2897 | ||
| 2898 | local Reanimate=UI["Reanimate/Run_32"] | |
| 2899 | local Stop=UI["Respawn/Stop_1b"] | |
| 2900 | local ReloadAssets=mkbtn(UI["SubMain_a"],"ReloadAsset","Refresh Assets",nil,UDim2.new(0.01099, 135.5, 0.5226, 0)) | |
| 2901 | ||
| 2902 | ||
| 2903 | local function Backup() | |
| 2904 | --// BY MrY7zz | |
| 2905 | --[[ | |
| 2906 | WARNING: Heads up! This script has not been verified by ScriptBlox. Use at your own risk! | |
| 2907 | ]] | |
| 2908 | --[[ | |
| 2909 | Licensed under the MIT License (see LICENSE file for full details). | |
| 2910 | Copyright (c) 2025 MrY7zz | |
| 2911 | ||
| 2912 | LEGAL NOTICE: | |
| 2913 | You are REQUIRED to retain this license header under the terms of the MIT License. | |
| 2914 | Removing or modifying this notice may violate copyright law. | |
| 2915 | ]] | |
| 2916 | --// BY MrY7zz | |
| 2917 | if not game:IsLoaded() then | |
| 2918 | game.Loaded:Wait() | |
| 2919 | end | |
| 2920 | ||
| 2921 | --// Check configdoc.md for settings documentation | |
| 2922 | ||
| 2923 | --// Below are the settings | |
| 2924 | -- SETTINGS -- | |
| 2925 | local settings = _G | |
| 2926 | ||
| 2927 | settings["Use Default animations"] = false | |
| 2928 | settings["Local character transparency level"] = 1 | |
| 2929 | settings["Disable character scripts"] = true | |
| 2930 | settings["Fake character should collide"] = false | |
| 2931 | settings["Parent real character to fake character"] = false | |
| 2932 | settings["Respawn character"] = true | |
| 2933 | settings["Instant respawn"] = false | |
| 2934 | settings["Hide HumanoidRootPart"] = true | |
| 2935 | settings["PermaDeath fake character"] = false | |
| 2936 | settings["R15 Reanimate"] = false | |
| 2937 | settings["Click Fling"] = false | |
| 2938 | settings["Anti-Fling"] = true | |
| 2939 | settings["Hide RootPart Distance"] = CFrame.new(0, 255, 0) | |
| 2940 | settings["Allow tool equipping"] = true --// Placeholder | |
| 2941 | settings["Client sided display mode"] = 2 --// If you will see the fake character, or the real character, 1 = real character (Default), 2 = fake character | |
| 2942 | settings["Fallback prompt"] = false --// Enable or disable the annoying fallback prompt if your game is not whitelisted | |
| 2943 | settings["Respawn mode"] = "ServerBreakJoints" | |
| 2944 | ||
| 2945 | settings["Names to exclude from transparency"] = {
| |
| 2946 | --[=[ example: | |
| 2947 | ["HumanoidRootPart"] = true, | |
| 2948 | ["Left Arm"] = true | |
| 2949 | ]=] | |
| 2950 | } | |
| 2951 | --// Settings end | |
| 2952 | ||
| 2953 | loadstring(game:HttpGet("https://raw.githubusercontent.com/somethingsimade/CurrentAngleV4/refs/heads/main/v4.lua"))()
| |
| 2954 | REANIMATION=false | |
| 2955 | end | |
| 2956 | ||
| 2957 | local rad=math.rad | |
| 2958 | local TableOfAccessries={
| |
| 2959 | --{ MeshId = "", Name = "", Offset = CFrame.identity, TextureId = "" },
| |
| 2960 | ||
| 2961 | { MeshId = "137702817952968", Names = { "Left Arm", "Right Arm", "Left Leg", "Right Leg" }, Offset = CFrame.Angles(0, 0, 1.57), TextureId = "135650240593878" },--84451219120140
| |
| 2962 | { MeshId = "137702817952968", Names = { "Left Arm", "Right Arm", "Left Leg", "Right Leg" }, Offset = CFrame.Angles(0, 0, 1.57), TextureId = "135650240593878" },--72292903231768
| |
| 2963 | ||
| 2964 | { MeshId = "137702817952968", Names = { "Left Leg", "Right Leg", "Left Arm", "Right Arm" }, Offset = CFrame.Angles(0, 0, 1.57), TextureId = "73798034827573" },--108186273151388
| |
| 2965 | { MeshId = "137702817952968", Names = { "Right Leg", "Left Leg", "Right Arm", "Left Arm" }, Offset = CFrame.Angles(0, 0, 1.57), TextureId = "73798034827573" },--139904067056008
| |
| 2966 | ||
| 2967 | { MeshId = "12344207333", Names = { "Left Arm", "Right Arm" }, Offset = CFrame.Angles(- 2.094, 0, 0), TextureId = "12344207341" },--12344545199
| |
| 2968 | { MeshId = "12344206657", Names = { "Right Arm", "Left Arm" }, Offset = CFrame.Angles(- 2.094, 0, 0), TextureId = "12344206675" },--12344591101
| |
| 2969 | ||
| 2970 | { MeshId = "11449386931", Names = { "Left Arm", "Right Arm" }, Offset = CFrame.Angles(- 2.094, 0, 0), TextureId = "11439439606" },--11449687315
| |
| 2971 | { MeshId = "11449388499", Names = { "Right Arm", "Left Arm" }, Offset = CFrame.Angles(- 2.094, 0, 0), TextureId = "11439439606" },--11449703382
| |
| 2972 | ||
| 2973 | { MeshId = "12652772399", Names = { "Left Leg", "Right Leg" }, Offset = CFrame.identity, TextureId = "12652775021" },--12652786974
| |
| 2974 | ||
| 2975 | { MeshId = "11263221350", Names = { "Left Leg", "Right Leg", "Left Arm", "Right Arm" }, Offset = CFrame.Angles(0, 0, 1.57), TextureId = "11263219250" },--11263254795
| |
| 2976 | { MeshId = "11159370334", Names = { "Right Leg", "Left Leg", "Right Arm", "Left Arm" }, Offset = CFrame.Angles(0, 0, 1.57), TextureId = "11159284657" },--11159410305
| |
| 2977 | { MeshId = "11159370334", Names = { "Right Leg", "Left Leg", "Right Arm", "Left Arm" }, Offset = CFrame.Angles(0, 0, 1.57), TextureId = "11159285454" },--11159483910
| |
| 2978 | ||
| 2979 | { MeshId = "105141400603933", Names = { "Left Arm", "Right Arm", "Left Leg", "Right Leg" }, Offset = CFrame.Angles(0, 0, 1.57), TextureId = "71060417496309" },--102599402682100
| |
| 2980 | { MeshId = "99608462237958", Names = { "Right Arm", "Left Arm", "Right Leg", "Left Leg" }, Offset = CFrame.Angles(0, 0, 1.57), TextureId = "130809869695496" },--140395948277978
| |
| 2981 | ||
| 2982 | { MeshId = "90736849096372", Names = { "Left Arm", "Right Arm", "Left Leg", "Right Leg" }, Offset = CFrame.Angles(0, 0, 1.57), TextureId = "79186624401216" },--90960046381276
| |
| 2983 | { MeshId = "139733645770094", Names = { "Right Arm", "Left Arm", "Right Leg", "Left Leg" }, Offset = CFrame.Angles(0, 0, 1.57), TextureId = "130809869695496" },--82942681251131
| |
| 2984 | ||
| 2985 | { MeshId = "125405780718494", Names = { "Left Arm", "Right Arm", "Left Leg", "Right Leg" }, Offset = CFrame.Angles(0, 0, 1.57), TextureId = "136752500636691" },--85392395166623
| |
| 2986 | { MeshId = "125405780718494", Names = { "Right Arm", "Left Arm", "Right Leg", "Left Leg" }, Offset = CFrame.Angles(0, 0, 1.57), TextureId = "136752500636691" },--131385506535381
| |
| 2987 | ||
| 2988 | { MeshId = "125405780718494", Names = { "Left Leg", "Right Leg", "Left Arm", "Right Arm" }, Offset = CFrame.Angles(0, 0, 1.57), TextureId = "136752500636691" },--106249329428811
| |
| 2989 | { MeshId = "125405780718494", Names = { "Right Leg", "Left Leg", "Right Arm", "Left Arm" }, Offset = CFrame.Angles(0, 0, 1.57), TextureId = "136752500636691" },--129462518582032
| |
| 2990 | ||
| 2991 | { MeshId = "14255522247", Names = { "Left Arm", "Right Arm", "Left Leg", "Right Leg" }, Offset = CFrame.Angles(0, 0, 1.57), TextureId = "14255543546" },--14255556501
| |
| 2992 | { MeshId = "14255522247", Names = { "Right Arm", "Left Arm", "Right Leg", "Left Leg" }, Offset = CFrame.Angles(0, 0, 1.57), TextureId = "14255543546" },--14255554762
| |
| 2993 | ||
| 2994 | { MeshId = "17374767929", Names = { "Left Arm", "Right Arm", "Left Leg", "Right Leg" }, Offset = CFrame.Angles(0, 0, 1.57), TextureId = "17374768001" },--17374851733
| |
| 2995 | { MeshId = "17374767929", Names = { "Right Arm", "Left Arm", "Right Leg", "Left Leg" }, Offset = CFrame.Angles(0, 0, 1.57), TextureId = "17374768001" },--17374846953
| |
| 2996 | ||
| 2997 | { MeshId = "14255522247", Names = { "Left Arm", "Right Arm", "Left Leg", "Right Leg" }, Offset = CFrame.Angles(0, 0, 1.57), TextureId = "14255544465" },--14255560646
| |
| 2998 | { MeshId = "14255522247", Names = { "Right Arm", "Left Arm", "Right Leg", "Left Leg" }, Offset = CFrame.Angles(0, 0, 1.57), TextureId = "14255544465" },--14255562939
| |
| 2999 | ||
| 3000 | { MeshId = "18640914129", Names = { "Left Arm", "Right Arm", "Left Leg", "Right Leg" }, Offset = CFrame.identity, TextureId = "18640914168" },--18641142410
| |
| 3001 | { MeshId = "18640914129", Names = { "Right Arm", "Left Arm", "Right Leg", "Left Leg" }, Offset = CFrame.identity, TextureId = "18640914168" },--18641077392
| |
| 3002 | ||
| 3003 | { MeshId = "18640901641", Names = { "Left Leg", "Right Leg", "Left Arm", "Right Arm" }, Offset = CFrame.identity, TextureId = "18640901676" },--18641187217
| |
| 3004 | { MeshId = "18640901641", Names = { "Right Leg", "Left Leg", "Right Arm", "Left Arm" }, Offset = CFrame.identity, TextureId = "18640901676" },--18641157833
| |
| 3005 | ||
| 3006 | { MeshId = "17387586286", Names = { "Left Leg", "Right Leg", "Left Arm", "Right Arm" }, Offset = CFrame.Angles(0, 0, 1.57), TextureId = "17387586304" },--17387616772
| |
| 3007 | { MeshId = "17387586286", Names = { "Right Leg", "Left Leg", "Right Arm", "Left Arm" }, Offset = CFrame.Angles(0, 0, 1.57), TextureId = "17387586304" },--17393641992
| |
| 3008 | ||
| 3009 | { MeshId = "3030546036", Names = { "Left Arm", "Left Leg", "Right Arm", "Right Leg" }, Offset = CFrame.Angles(- 1.57, 0, 0), TextureId = "" },
| |
| 3010 | { MeshId = "4324138105", Names = { "Left Arm", "Left Leg", "Right Arm", "Right Leg" }, Offset = CFrame.Angles(- 1.57, 0, 0), TextureId = "" },
| |
| 3011 | ||
| 3012 | { MeshId = "18640899369", Name = "Torso", Offset = CFrame.identity, TextureId = "18640899481" },--18641046146
| |
| 3013 | { MeshId = "14241018198", Name = "Torso", Offset = CFrame.identity, TextureId = "14251599953" },--14255528083
| |
| 3014 | { MeshId = "110684113028749", Name = "Torso", Offset = CFrame.identity, TextureId = "70661572547971" },--138364679836274
| |
| 3015 | { MeshId = "4819720316", Name = "Torso", Offset = CFrame.Angles(0, 0, -0.249), TextureId = "4819722776" },--4819740796
| |
| 3016 | { MeshId = "126825022897778", Name = "Torso", Offset = CFrame.identity, TextureId = "125975972015302" },--95290698984301
| |
| 3017 | ||
| 3018 | { MeshId = "84515304632473", Name = "Torso", Offset = CFrame.identity, TextureId = "84039546952302" },--95290698984301
| |
| 3019 | { MeshId = "18919712035", Name = "Torso", Offset = CFrame.identity, TextureId = "18430134193" },--95290698984301
| |
| 3020 | { MeshId = "89457171427274", Name = "Head", Offset = CFrame.new(0,1.5,0), TextureId = "130665230882117" },--95290698984301
| |
| 3021 | { MeshId = "115108367035793", Name = "Head", Offset = CFrame.new(0,.5,0), TextureId = "79538948685663" },--95290698984301
| |
| 3022 | ||
| 3023 | ||
| 3024 | { MeshId = "130309145260656", Name = "Left Leg", Offset = CFrame.Angles(rad(-105),rad(-18),rad(-15)), TextureId = "93374633946646" },--95290698984301
| |
| 3025 | { MeshId = "100128920324073", Name = "Right Arm", Offset = CFrame.Angles(rad(-105),rad(18),rad(15)), TextureId = "97155254696037" },--95290698984301
| |
| 3026 | { MeshId = "100128920324073", Name = "Right Leg", Offset = CFrame.Angles(rad(-105),rad(18),rad(15)), TextureId = "133680105074740" },--95290698984301
| |
| 3027 | { MeshId = "130309145260656", Name = "Left Arm", Offset = CFrame.Angles(rad(-105),rad(-18),rad(-15)), TextureId = "82390202293774" },--95290698984301
| |
| 3028 | ||
| 3029 | { MeshId = "125443585075666", Name = "Torso", Offset = CFrame.Angles(0, 3.15, 0), TextureId = "121023324229475" },
| |
| 3030 | { MeshId = "121342985816617", Name = "Left Arm", Offset = CFrame.Angles(0, 0, 1.57), TextureId = "129264637819824" },
| |
| 3031 | { MeshId = "121342985816617", Name = "Right Arm", Offset = CFrame.Angles(0, 3.15, 1.57), TextureId = "129264637819824" },
| |
| 3032 | { MeshId = "83395427313429", Names = { "Left Leg", "Right Leg" }, Offset = CFrame.Angles(0, 0, 1.57), TextureId = "97148121718581" },--18641142410
| |
| 3033 | -- Free Rig | |
| 3034 | { MeshId = "4819720316", Name = "Torso", Offset = CFrame.Angles(0, 0, -0.25), TextureId = "4819722776" },
| |
| 3035 | { MeshId = "3030546036", Name = "Left Arm", Offset = CFrame.Angles(-1.57, 0, 1.57), TextureId = "3033903209" },
| |
| 3036 | { MeshId = "3030546036", Name = "Right Arm", Offset = CFrame.Angles(-1.57, 0, -1.57), TextureId = "3360978739" },
| |
| 3037 | { MeshId = "3030546036", Name = "Left Leg", Offset = CFrame.Angles(-1.57, 0, 1.57), TextureId = "3033898741" },
| |
| 3038 | { MeshId = "3030546036", Name = "Right Leg", Offset = CFrame.Angles(-1.57, 0, -1.57), TextureId = "3409604993" },
| |
| 3039 | -- Prosthetics | |
| 3040 | { MeshId = "117554824897780", Name = "Right Leg", Offset = CFrame.Angles(0, -1.57, 0), TextureId = "99077561039115" },
| |
| 3041 | { MeshId = "123388937940630", Name = "Left Leg", Offset = CFrame.Angles(0, 1.57, 0), TextureId = "99077561039115" },
| |
| 3042 | { MeshId = "117554824897780", Name = "Right Leg", Offset = CFrame.Angles(0, -1.57, 0), TextureId = "84429400539007" },
| |
| 3043 | { MeshId = "123388937940630", Name = "Left Leg", Offset = CFrame.Angles(0, 1.57, 0), TextureId = "84429400539007" },
| |
| 3044 | -- Classic Cheap Rig | |
| 3045 | { MeshId = "12344206657", Name = "Left Arm", Offset = CFrame.new(0.05, 0.05, -0.075) * CFrame.Angles(-2, 0, 0), TextureId = "12344206675" },
| |
| 3046 | { MeshId = "12344207333", Name = "Right Arm", Offset = CFrame.new(-0.05, 0.05, -0.075) * CFrame.Angles(-1.95, 0, 0), TextureId = "12344207341" },
| |
| 3047 | { MeshId = "11159370334", Name = "Left Leg", Offset = CFrame.Angles(1.57, 1.57, 0), TextureId = "11159284657" },
| |
| 3048 | { MeshId = "11263221350", Name = "Right Leg", Offset = CFrame.Angles(1.57, -1.57, 0), TextureId = "11263219250" },
| |
| 3049 | -- Grey Mesh Rig | |
| 3050 | { MeshId = "127552124837034", Names = {"Torso"}, Offset = CFrame.Angles(0, 0, 0), TextureId = "131014325980101" },--14255556501
| |
| 3051 | { MeshId = "117287001096396", Names = { "Left Arm", "Right Arm"}, Offset = CFrame.Angles(0, 0, 0), TextureId = "120169691545791" },--14255556501
| |
| 3052 | { MeshId = "121304376791439", Names = { "Left Leg", "Right Leg" }, Offset = CFrame.Angles(0, 0, 0), TextureId = "131014325980101" },--18641142410
| |
| 3053 | -- offsale below | |
| 3054 | ||
| 3055 | {MeshId="137702817952968",TextureId="135650240593878",Offset=CFrame.Angles(0,0,80.05),Name="Left Arm"},
| |
| 3056 | {MeshId="137702817952968",TextureId="135650240593878",Offset=CFrame.Angles(0,0,80.05),Name="Right Arm"},
| |
| 3057 | {MeshId="137702817952968",TextureId="73798034827573",Offset=CFrame.Angles(0,0,80.09),Name="Left Leg"},
| |
| 3058 | {MeshId="137702817952968",TextureId="73798034827573",Offset=CFrame.Angles(0,0,80.09),Name="Right Leg"},
| |
| 3059 | {MeshId="126825022897778",TextureId="125975972015302",Offset=CFrame.Angles(0,0,0),Name="Torso"},
| |
| 3060 | ||
| 3061 | ||
| 3062 | { MeshId="110684113028749", Names={"Torso"},Offset=CFrame.Angles(0,0,0),TextureId="70661572547971" },
| |
| 3063 | ||
| 3064 | ||
| 3065 | { MeshId="106352630533813", Names={"Head"},Offset=CFrame.Angles(0,0,0),TextureId="117484156735788" },
| |
| 3066 | { MeshId="93262581544348", Names={"Torso"},Offset=CFrame.Angles(0,0,0),TextureId="83269599235494" },
| |
| 3067 | { MeshId="115105775952798",Names={"Left Arm","Right Arm"},Offset=CFrame.Angles(0,0,rad(90)),TextureId="103757531289975" },
| |
| 3068 | { MeshId="114570321720060",Names={"Left Leg","Right Leg"},Offset=CFrame.Angles(0,0,rad(90)),TextureId="83269599235494" },
| |
| 3069 | ||
| 3070 | { MeshId="125405780718494",Names={"Left Arm","Right Arm"},Offset=CFrame.Angles(0,0,80),TextureId="136752500636691" },
| |
| 3071 | { MeshId="125405780718494",Names={"Left Leg","Right Leg"},Offset=CFrame.Angles(0,0,80),TextureId="136752500636691" },
| |
| 3072 | { MeshId="96333112188696",Names={"Left Arm"},Offset=CFrame.Angles(0,0,0),TextureId="18807356481" },
| |
| 3073 | { MeshId="96130316788066",Names={"Right Arm"},Offset=CFrame.Angles(0,0,0),TextureId="18807356481" },
| |
| 3074 | { MeshId = "94522224942661", Name = "Accessory (NepV)", Offset = CFrame.new(0,0,0)*CFrame.Angles(0,0,0), TextureId = "77410806060838" },--95290698984301
| |
| 3075 | ||
| 3076 | -- SB Rig | |
| 3077 | { MeshId = "125443585075666", Name = "Torso", Offset = CFrame.Angles(0, 3.15, 0), TextureId = "121023324229475" },
| |
| 3078 | { MeshId = "121342985816617", Name = "Left Arm", Offset = CFrame.Angles(0, 0, 1.57), TextureId = "129264637819824" },
| |
| 3079 | { MeshId = "121342985816617", Name = "Right Arm", Offset = CFrame.Angles(0, 3.15, 1.57), TextureId = "129264637819824" },
| |
| 3080 | { MeshId = "83395427313429", Names = { "Left Leg", "Right Leg" }, Offset = CFrame.Angles(0, 0, 1.57), TextureId = "97148121718581" },--18641142410
| |
| 3081 | -- Free Rig | |
| 3082 | { MeshId = "4819720316", Name = "Torso", Offset = CFrame.Angles(0, 0, -0.25), TextureId = "4819722776" },
| |
| 3083 | { MeshId = "3030546036", Name = "Left Arm", Offset = CFrame.Angles(-1.57, 0, 1.57), TextureId = "3033903209" },
| |
| 3084 | { MeshId = "3030546036", Name = "Right Arm", Offset = CFrame.Angles(-1.57, 0, -1.57), TextureId = "3360978739" },
| |
| 3085 | { MeshId = "3030546036", Name = "Left Leg", Offset = CFrame.Angles(-1.57, 0, 1.57), TextureId = "3033898741" },
| |
| 3086 | { MeshId = "3030546036", Name = "Right Leg", Offset = CFrame.Angles(-1.57, 0, -1.57), TextureId = "3409604993" },
| |
| 3087 | -- Prosthetics | |
| 3088 | { MeshId = "117554824897780", Name = "Right Leg", Offset = CFrame.Angles(0, -1.57, 0), TextureId = "99077561039115" },
| |
| 3089 | { MeshId = "123388937940630", Name = "Left Leg", Offset = CFrame.Angles(0, 1.57, 0), TextureId = "99077561039115" },
| |
| 3090 | { MeshId = "117554824897780", Name = "Right Leg", Offset = CFrame.Angles(0, -1.57, 0), TextureId = "84429400539007" },
| |
| 3091 | { MeshId = "123388937940630", Name = "Left Leg", Offset = CFrame.Angles(0, 1.57, 0), TextureId = "84429400539007" },
| |
| 3092 | -- Classic Cheap Rig | |
| 3093 | { MeshId = "12344206657", Name = "Left Arm", Offset = CFrame.new(0.05, 0.05, -0.075) * CFrame.Angles(-2, 0, 0), TextureId = "12344206675" },
| |
| 3094 | { MeshId = "12344207333", Name = "Right Arm", Offset = CFrame.new(-0.05, 0.05, -0.075) * CFrame.Angles(-1.95, 0, 0), TextureId = "12344207341" },
| |
| 3095 | { MeshId = "11159370334", Name = "Left Leg", Offset = CFrame.Angles(1.57, 1.57, 0), TextureId = "11159284657" },
| |
| 3096 | { MeshId = "11263221350", Name = "Right Leg", Offset = CFrame.Angles(1.57, -1.57, 0), TextureId = "11263219250" },
| |
| 3097 | -- Grey Mesh Rig | |
| 3098 | { MeshId = "127552124837034", Names = {"Torso"}, Offset = CFrame.Angles(0, 0, 0), TextureId = "131014325980101" },--14255556501
| |
| 3099 | { MeshId = "117287001096396", Names = { "Left Arm", "Right Arm"}, Offset = CFrame.Angles(0, 0, 0), TextureId = "120169691545791" },--14255556501
| |
| 3100 | { MeshId = "121304376791439", Names = { "Left Leg", "Right Leg" }, Offset = CFrame.Angles(0, 0, 0), TextureId = "131014325980101" },--18641142410
| |
| 3101 | -- offsale below | |
| 3102 | ||
| 3103 | {MeshId="137702817952968",TextureId="135650240593878",Offset=CFrame.Angles(0,0,80.05),Name="Left Arm"},
| |
| 3104 | {MeshId="137702817952968",TextureId="135650240593878",Offset=CFrame.Angles(0,0,80.05),Name="Right Arm"},
| |
| 3105 | {MeshId="137702817952968",TextureId="73798034827573",Offset=CFrame.Angles(0,0,80.09),Name="Left Leg"},
| |
| 3106 | {MeshId="137702817952968",TextureId="73798034827573",Offset=CFrame.Angles(0,0,80.09),Name="Right Leg"},
| |
| 3107 | {MeshId="126825022897778",TextureId="125975972015302",Offset=CFrame.Angles(0,0,0),Name="Torso"},
| |
| 3108 | ||
| 3109 | ||
| 3110 | { MeshId="110684113028749", Names={"Torso"},Offset=CFrame.Angles(0,0,0),TextureId="70661572547971" },
| |
| 3111 | { MeshId="125405780718494",Names={"Left Arm","Right Arm"},Offset=CFrame.Angles(0,0,80),TextureId="136752500636691" },
| |
| 3112 | { MeshId="125405780718494",Names={"Left Leg","Right Leg"},Offset=CFrame.Angles(0,0,80),TextureId="136752500636691" },
| |
| 3113 | { MeshId="96333112188696",Names={"Left Arm"},Offset=CFrame.Angles(0,0,0),TextureId="18807356481" },
| |
| 3114 | { MeshId="96130316788066",Names={"Right Arm"},Offset=CFrame.Angles(0,0,0),TextureId="18807356481" },
| |
| 3115 | ||
| 3116 | ||
| 3117 | ||
| 3118 | ||
| 3119 | -- Classical Products rig (white/black arms) | |
| 3120 | { MeshId = "14241018198", Names = {"Torso"}, Offset = CFrame.Angles(0, 0, 1.57), TextureId = "14251599953" },
| |
| 3121 | { MeshId = "17374767929", Names = { "Left Arm", "Right Arm"}, Offset = CFrame.Angles(0, 0, 1.57), TextureId = "17374768001" },
| |
| 3122 | { MeshId = "17387586286", Names = { "Left Leg", "Right Leg" }, Offset = CFrame.Angles(0, 0, 1.57), TextureId = "17387586304" },
| |
| 3123 | { MeshId = "14255522247", Names = { "Left Arm", "Right Arm"}, Offset = CFrame.Angles(0, 0, 1.57), TextureId = "14255543546" },
| |
| 3124 | -- Noob Rig | |
| 3125 | { MeshId = "18640899369", Name = "Torso", Offset = CFrame.Angles(0, 0, 0), TextureId = "18640899481" },
| |
| 3126 | { MeshId = "18640914129", Names = { "Left Arm", "Right Arm"}, Offset = CFrame.Angles(0, 0, 0), TextureId = "18640914168" },
| |
| 3127 | { MeshId = "18640901641", Names = { "Left Leg", "Right Leg"}, Offset = CFrame.Angles(0, 0, 0), TextureId = "18640901676" },
| |
| 3128 | -- request | |
| 3129 | { MeshId = "14768666349", Name = "Torso", Offset = CFrame.Angles(0, 0, 0), TextureId = "14768664565" },
| |
| 3130 | { MeshId = "14768684979", Names = { "Left Arm", "Right Arm"}, Offset = CFrame.Angles(0, 0, 1.57), TextureId = "14768683674" },
| |
| 3131 | -- Align Set 1 | |
| 3132 | { MeshId = "71367027767297", TextureId = "86745095380120", Name = "Reanimate_Chainsaw", Offset = CFrame.Angles(0.75, 1.57, 0)},--84451219120140
| |
| 3133 | { MeshId = "82149851412853", TextureId = "130342983866835", Name = "Reanimate_Machete", Offset = CFrame.Angles(rad(65), 0, rad(180))},--84451219120140
| |
| 3134 | ||
| 3135 | --{ MeshId = "94522224942661", TextureId = "77410806060838", Name = "Reanimate_Machete", Offset = CFrame.Angles(rad(90), rad(10), rad(150))},--84451219120140
| |
| 3136 | ||
| 3137 | ||
| 3138 | ||
| 3139 | { MeshId = "137246576921101", TextureId = "117921839013255", Name = "Reanimate_Dummy", Offset = CFrame.new(0, -1, 0) * CFrame.Angles(rad(0), rad(180), rad(0))},--84451219120140
| |
| 3140 | -- Align Set 2 | |
| 3141 | { MeshId = "14952028037", TextureId = "14952070513", Name = "Reanimate_Chainsaw", Offset = CFrame.Angles(rad(-25), rad(0), rad(180))},
| |
| 3142 | { MeshId = "82149851412853", TextureId = "130342983866835", Name = "Reanimate_Machete", Offset = CFrame.Angles(rad(65), 0, rad(180))},
| |
| 3143 | { MeshId = "137246576921101", TextureId = "117921839013255", Name = "Reanimate_Dummy", Offset = CFrame.new(0, -1, 0) * CFrame.Angles(rad(0), rad(180), rad(0))},
| |
| 3144 | -- Align Set 3 | |
| 3145 | { MeshId = "107492494696754", TextureId = "74020622641771", Name = "Reanimate_Chainsaw", Offset = CFrame.new(0.5, 0, 0) * CFrame.Angles(rad(-155), rad(90), rad(0))},
| |
| 3146 | { MeshId = "82149851412853", TextureId = "130342983866835", Name = "Reanimate_Machete", Offset = CFrame.Angles(rad(65), 0, rad(180))},
| |
| 3147 | { MeshId = "137246576921101", TextureId = "117921839013255", Name = "Reanimate_Dummy", Offset = CFrame.new(0, -0.25, 0) * CFrame.Angles(rad(0), rad(180), rad(0))},
| |
| 3148 | -- Free | |
| 3149 | { MeshId = "7547179386", TextureId = "7547152243", Name = "Reanimate_Chainsaw", Offset = CFrame.Angles(2.56,1.57, 0)},--84451219120140
| |
| 3150 | { MeshId = "11524268570", TextureId = "11524268595", Name = "Reanimate_Machete",
| |
| 3151 | Offset = CFrame.new(0.15, -1.05, -5) * CFrame.Angles(rad(65), 0, | |
| 3152 | rad(180))},--84451219120140 | |
| 3153 | { MeshId = "137246576921101", TextureId = "117921839013255", Name = "Reanimate_Dummy", Offset = CFrame.new(0, -1, 0)},--84451219120140
| |
| 3154 | ||
| 3155 | { MeshId = "84515304632473", Name = "Torso", Offset = CFrame.identity, TextureId = "84039546952302" },--95290698984301
| |
| 3156 | { MeshId = "18919712035", Name = "Torso", Offset = CFrame.identity, TextureId = "18430134193" },--95290698984301
| |
| 3157 | { MeshId = "94522224942661", Name = "Accessory (NepV)", Offset = CFrame.new(0,0,0)*CFrame.Angles(0,0,0), TextureId = "77410806060838" },--95290698984301
| |
| 3158 | --{ MeshId = "94522224942661", TextureId = "77410806060838", Name = "Accessory (NepV)", Offset = CFrame.Angles(rad(90), rad(10), rad(150))},
| |
| 3159 | ||
| 3160 | ||
| 3161 | { MeshId = "130309145260656", Name = "Left Leg", Offset = CFrame.Angles(rad(-105),rad(-18),rad(-15)), TextureId = "93374633946646" },--95290698984301
| |
| 3162 | { MeshId = "100128920324073", Name = "Right Arm", Offset = CFrame.Angles(rad(-105),rad(18),rad(15)), TextureId = "97155254696037" },--95290698984301
| |
| 3163 | { MeshId = "100128920324073", Name = "Right Leg", Offset = CFrame.Angles(rad(-105),rad(18),rad(15)), TextureId = "133680105074740" },--95290698984301
| |
| 3164 | { MeshId = "130309145260656", Name = "Left Arm", Offset = CFrame.Angles(rad(-105),rad(-18),rad(-15)), TextureId = "82390202293774" },--95290698984301
| |
| 3165 | { MeshId = "17170940529", Name = "Torso", Offset = CFrame.identity, TextureId = "17163376557" },--95290698984301
| |
| 3166 | ||
| 3167 | } | |
| 3168 | ||
| 3169 | local HatsDatabase=loadstring(readfile(builtins.."/HatMaps.lua"))() | |
| 3170 | for _,a in next,HatsDatabase do | |
| 3171 | --print(a.MeshId,a.TextureId,a.Names,a.Offset) | |
| 3172 | --print(a.MeshId,a.TextureId,a.Name,a.Offset) | |
| 3173 | if a.Names~=nil then | |
| 3174 | table.insert(TableOfAccessries,a) | |
| 3175 | else | |
| 3176 | --print(a.MeshId,a.TextureId,a.Name,a.Offset) | |
| 3177 | table.insert(TableOfAccessries,a) | |
| 3178 | end | |
| 3179 | end | |
| 3180 | ||
| 3181 | ||
| 3182 | ||
| 3183 | ||
| 3184 | ||
| 3185 | local function Backup1() | |
| 3186 | --[[ | |
| 3187 | // Empyrean Reanimate | |
| 3188 | ]] | |
| 3189 | ||
| 3190 | local Accessories = {}
| |
| 3191 | ||
| 3192 | local Aligns = {}
| |
| 3193 | ||
| 3194 | local Attachments = {}
| |
| 3195 | ||
| 3196 | local BindableEvent = nil | |
| 3197 | ||
| 3198 | local Blacklist = {}
| |
| 3199 | ||
| 3200 | local CFrame = CFrame | |
| 3201 | local CFrameidentity = CFrame.identity | |
| 3202 | local CFramelookAt = CFrame.lookAt | |
| 3203 | local CFramenew = CFrame.new | |
| 3204 | ||
| 3205 | local Character = nil | |
| 3206 | ||
| 3207 | local CurrentCamera = nil | |
| 3208 | ||
| 3209 | local Enum = Enum | |
| 3210 | local Custom = Enum.CameraType.Custom | |
| 3211 | local Health = Enum.CoreGuiType.Health | |
| 3212 | local HumanoidRigType = Enum.HumanoidRigType | |
| 3213 | local R6 = HumanoidRigType.R6 | |
| 3214 | local Dead = Enum.HumanoidStateType.Dead | |
| 3215 | local LockCenter = Enum.MouseBehavior.LockCenter | |
| 3216 | local UserInputType = Enum.UserInputType | |
| 3217 | local MouseButton1 = UserInputType.MouseButton1 | |
| 3218 | local Touch = UserInputType.Touch | |
| 3219 | ||
| 3220 | local Exceptions = {}
| |
| 3221 | ||
| 3222 | local game = game | |
| 3223 | local Clone = game.Clone | |
| 3224 | local Close = game.Close | |
| 3225 | local Connect = Close.Connect | |
| 3226 | local Disconnect = Connect(Close, function() end).Disconnect | |
| 3227 | local Wait = Close.Wait | |
| 3228 | local Destroy = game.Destroy | |
| 3229 | local FindFirstAncestorOfClass = game.FindFirstAncestorOfClass | |
| 3230 | local FindFirstAncestorWhichIsA = game.FindFirstAncestorWhichIsA | |
| 3231 | local FindFirstChild = game.FindFirstChild | |
| 3232 | local FindFirstChildOfClass = game.FindFirstChildOfClass | |
| 3233 | local Players = FindFirstChildOfClass(game, "Players") | |
| 3234 | local CreateHumanoidModelFromDescription = Players.CreateHumanoidModelFromDescription | |
| 3235 | local GetPlayers = Players.GetPlayers | |
| 3236 | local LocalPlayer = Players.LocalPlayer | |
| 3237 | local CharacterAdded = LocalPlayer.CharacterAdded | |
| 3238 | --local ConnectDiedSignalBackend = LocalPlayer.ConnectDiedSignalBackend | |
| 3239 | local Mouse = LocalPlayer:GetMouse() | |
| 3240 | local Kill = LocalPlayer.Kill | |
| 3241 | local RunService = FindFirstChildOfClass(game, "RunService") | |
| 3242 | local PostSimulation = RunService.PostSimulation | |
| 3243 | local PreRender = RunService.PreRender | |
| 3244 | local PreSimulation = RunService.PreSimulation | |
| 3245 | local StarterGui = FindFirstChildOfClass(game, "StarterGui") | |
| 3246 | local GetCoreGuiEnabled = StarterGui.GetCoreGuiEnabled | |
| 3247 | local SetCore = StarterGui.SetCore | |
| 3248 | local SetCoreGuiEnabled = StarterGui.SetCoreGuiEnabled | |
| 3249 | local Workspace = FindFirstChildOfClass(game, "Workspace") | |
| 3250 | local FallenPartsDestroyHeight = Workspace.FallenPartsDestroyHeight | |
| 3251 | local HatDropY = FallenPartsDestroyHeight - 0.7 | |
| 3252 | local FindFirstChildWhichIsA = game.FindFirstChildWhichIsA | |
| 3253 | local UserInputService = FindFirstChildOfClass(game, "UserInputService") | |
| 3254 | local InputBegan = UserInputService.InputBegan | |
| 3255 | local IsMouseButtonPressed = UserInputService.IsMouseButtonPressed | |
| 3256 | local GetChildren = game.GetChildren | |
| 3257 | local GetDescendants = game.GetDescendants | |
| 3258 | local GetPropertyChangedSignal = game.GetPropertyChangedSignal | |
| 3259 | local CurrentCameraChanged = GetPropertyChangedSignal(Workspace, "CurrentCamera") | |
| 3260 | local MouseBehaviorChanged = GetPropertyChangedSignal(UserInputService, "MouseBehavior") | |
| 3261 | local IsA = game.IsA | |
| 3262 | local IsDescendantOf = game.IsDescendantOf | |
| 3263 | ||
| 3264 | local Highlights = {}
| |
| 3265 | ||
| 3266 | local Instancenew = Instance.new | |
| 3267 | local R15Animation = Instancenew("Animation")
| |
| 3268 | local R6Animation = Instancenew("Animation")
| |
| 3269 | local HumanoidDescription = Instancenew("HumanoidDescription")
| |
| 3270 | local HumanoidModel = CreateHumanoidModelFromDescription(Players, HumanoidDescription, R6) | |
| 3271 | local R15HumanoidModel = CreateHumanoidModelFromDescription(Players, HumanoidDescription, HumanoidRigType.R15) | |
| 3272 | local SetAccessories = HumanoidDescription.SetAccessories | |
| 3273 | local ModelBreakJoints = HumanoidModel.BreakJoints | |
| 3274 | local Head = HumanoidModel.Head | |
| 3275 | local BasePartBreakJoints = Head.BreakJoints | |
| 3276 | local GetJoints = Head.GetJoints | |
| 3277 | local IsGrounded = Head.IsGrounded | |
| 3278 | local Humanoid = HumanoidModel.Humanoid | |
| 3279 | local ApplyDescription = Humanoid.ApplyDescription | |
| 3280 | local ChangeState = Humanoid.ChangeState | |
| 3281 | local EquipTool = Humanoid.EquipTool | |
| 3282 | local GetAppliedDescription = Humanoid.GetAppliedDescription | |
| 3283 | local GetPlayingAnimationTracks = Humanoid.GetPlayingAnimationTracks | |
| 3284 | local LoadAnimation = Humanoid.LoadAnimation | |
| 3285 | local Move = Humanoid.Move | |
| 3286 | local UnequipTools = Humanoid.UnequipTools | |
| 3287 | local ScaleTo = HumanoidModel.ScaleTo | |
| 3288 | ||
| 3289 | local IsFirst = false | |
| 3290 | local IsHealthEnabled = nil | |
| 3291 | local IsLockCenter = false | |
| 3292 | local IsRegistered = false | |
| 3293 | local IsRunning = false | |
| 3294 | ||
| 3295 | local LastTime = nil | |
| 3296 | ||
| 3297 | local math = math | |
| 3298 | local mathrandom = math.random | |
| 3299 | local mathsin = math.sin | |
| 3300 | ||
| 3301 | local nan = 0 / 0 | |
| 3302 | ||
| 3303 | local next = next | |
| 3304 | ||
| 3305 | local OptionsAccessories = nil | |
| 3306 | local OptionsApplyDescription = nil | |
| 3307 | local OptionsBreakJointsDelay = nil | |
| 3308 | local OptionsClickFling = nil | |
| 3309 | local OptionsDisableCharacterCollisions = nil | |
| 3310 | local OptionsDisableHealthBar = nil | |
| 3311 | local OptionsDisableRigCollisions = nil | |
| 3312 | local OptionsDefaultFlingOptions = nil | |
| 3313 | local OptionsHatDrop = nil | |
| 3314 | local OptionsHideCharacter = nil | |
| 3315 | local OptionsParentCharacter = nil | |
| 3316 | local OptionsPermanentDeath = nil | |
| 3317 | local OptionsRefit = nil | |
| 3318 | local OptionsRigTransparency = nil | |
| 3319 | local OptionsSetCameraSubject = nil | |
| 3320 | local OptionsSetCameraType = nil | |
| 3321 | local OptionsSetCharacter = nil | |
| 3322 | local OptionsSetCollisionGroup = nil | |
| 3323 | local OptionsSimulationRadius = nil | |
| 3324 | local OptionsTeleportRadius = nil | |
| 3325 | local OptionsUseServerBreakJoints | |
| 3326 | ||
| 3327 | local osclock = os.clock | |
| 3328 | ||
| 3329 | local PreRenderConnection = nil | |
| 3330 | ||
| 3331 | local RBXScriptConnections = {}
| |
| 3332 | ||
| 3333 | local Refitting = false | |
| 3334 | ||
| 3335 | local replicatesignal = replicatesignal | |
| 3336 | ||
| 3337 | local Rig = nil | |
| 3338 | local RigHumanoid = nil | |
| 3339 | local RigHumanoidRootPart = nil | |
| 3340 | ||
| 3341 | local sethiddenproperty = sethiddenproperty | |
| 3342 | local setscriptable = setscriptable | |
| 3343 | ||
| 3344 | local stringfind = string.find | |
| 3345 | ||
| 3346 | local table = table | |
| 3347 | local tableclear = table.clear | |
| 3348 | local tablefind = table.find | |
| 3349 | local tableinsert = table.insert | |
| 3350 | local tableremove = table.remove | |
| 3351 | ||
| 3352 | local Targets = {}
| |
| 3353 | ||
| 3354 | local task = task | |
| 3355 | local taskdefer = task.defer | |
| 3356 | local taskspawn = task.spawn | |
| 3357 | local taskwait = task.wait | |
| 3358 | ||
| 3359 | local Time = nil | |
| 3360 | ||
| 3361 | local Tools = {}
| |
| 3362 | ||
| 3363 | local Vector3 = Vector3 | |
| 3364 | local Vector3new = Vector3.new | |
| 3365 | local FlingVelocity = Vector3new(16384, 16384, 16384) | |
| 3366 | local HatDropLinearVelocity = Vector3new(0, 27, 0) | |
| 3367 | local HideCharacterOffset = Vector3new(0, - 30, 0) | |
| 3368 | local Vector3one = Vector3.one | |
| 3369 | local Vector3xzAxis = Vector3new(1, 0, 1) | |
| 3370 | local Vector3zero = Vector3.zero | |
| 3371 | local AntiSleep = Vector3zero | |
| 3372 | ||
| 3373 | R15Animation.AnimationId = "rbxassetid://507767968" | |
| 3374 | R6Animation.AnimationId = "rbxassetid://180436148" | |
| 3375 | ||
| 3376 | Humanoid = nil | |
| 3377 | ||
| 3378 | Destroy(HumanoidDescription) | |
| 3379 | HumanoidDescription = nil | |
| 3380 | ||
| 3381 | local FindFirstChildOfClassAndName = function(Parent, ClassName, Name) | |
| 3382 | for Index, Child in next, GetChildren(Parent) do | |
| 3383 | if IsA(Child, ClassName) and Child.Name == Name then | |
| 3384 | return Child | |
| 3385 | end | |
| 3386 | end | |
| 3387 | end | |
| 3388 | ||
| 3389 | local GetHandleFromTable = function(Table) | |
| 3390 | for Index, Child in GetChildren(Character) do | |
| 3391 | if IsA(Child, "Accoutrement") then | |
| 3392 | local Handle = FindFirstChildOfClassAndName(Child, "BasePart", "Handle") | |
| 3393 | ||
| 3394 | if Handle then | |
| 3395 | local MeshId = nil | |
| 3396 | local TextureId = nil | |
| 3397 | ||
| 3398 | if IsA(Handle, "MeshPart") then | |
| 3399 | MeshId = Handle.MeshId | |
| 3400 | TextureId = Handle.TextureID | |
| 3401 | else | |
| 3402 | local SpecialMesh = FindFirstChildOfClass(Handle, "SpecialMesh") | |
| 3403 | ||
| 3404 | if SpecialMesh then | |
| 3405 | MeshId = SpecialMesh.MeshId | |
| 3406 | TextureId = SpecialMesh.TextureId | |
| 3407 | end | |
| 3408 | end | |
| 3409 | ||
| 3410 | if MeshId then | |
| 3411 | if stringfind(MeshId, Table.MeshId) and stringfind(TextureId, Table.TextureId) then | |
| 3412 | return Handle | |
| 3413 | end | |
| 3414 | end | |
| 3415 | end | |
| 3416 | end | |
| 3417 | end | |
| 3418 | end | |
| 3419 | ||
| 3420 | local NewIndex = function(self, Index, Value) | |
| 3421 | self[Index] = Value | |
| 3422 | end | |
| 3423 | ||
| 3424 | local DescendantAdded = function(Descendant) | |
| 3425 | if IsA(Descendant, "Accoutrement") and OptionsHatDrop then | |
| 3426 | if not pcall(NewIndex, Descendant, "BackendAccoutrementState", 0) then | |
| 3427 | if sethiddenproperty then | |
| 3428 | sethiddenproperty(Descendant, "BackendAccoutrementState", 0) | |
| 3429 | elseif setscriptable then | |
| 3430 | setscriptable(Descendant, "BackendAccoutrementState", true) | |
| 3431 | Descendant.BackendAccoutrementState = 0 | |
| 3432 | end | |
| 3433 | end | |
| 3434 | elseif IsA(Descendant, "Attachment") then | |
| 3435 | local Attachment = Attachments[Descendant.Name] | |
| 3436 | ||
| 3437 | if Attachment then | |
| 3438 | local Parent = Descendant.Parent | |
| 3439 | ||
| 3440 | if IsA(Parent, "BasePart") then | |
| 3441 | local MeshId = nil | |
| 3442 | local TextureId = nil | |
| 3443 | ||
| 3444 | if IsA(Parent, "MeshPart") then | |
| 3445 | MeshId = Parent.MeshId | |
| 3446 | TextureId = Parent.TextureID | |
| 3447 | else | |
| 3448 | local SpecialMesh = FindFirstChildOfClass(Parent, "SpecialMesh") | |
| 3449 | ||
| 3450 | if SpecialMesh then | |
| 3451 | MeshId = SpecialMesh.MeshId | |
| 3452 | TextureId = SpecialMesh.TextureId | |
| 3453 | end | |
| 3454 | end | |
| 3455 | ||
| 3456 | if MeshId then | |
| 3457 | for Index, Table in next, Accessories do | |
| 3458 | if Table.MeshId == MeshId and Table.TextureId == TextureId then | |
| 3459 | local Handle = Table.Handle | |
| 3460 | ||
| 3461 | tableinsert(Aligns, {
| |
| 3462 | LastPosition = Handle.Position, | |
| 3463 | Offset = CFrameidentity, | |
| 3464 | Part0 = Parent, | |
| 3465 | Part1 = Handle | |
| 3466 | }) | |
| 3467 | ||
| 3468 | return | |
| 3469 | end | |
| 3470 | end | |
| 3471 | ||
| 3472 | for Index, Table in next, OptionsAccessories do | |
| 3473 | ||
| 3474 | if stringfind(MeshId, Table.MeshId) and stringfind(TextureId, Table.TextureId) then | |
| 3475 | local Instance = nil | |
| 3476 | local TableName = Table.Name | |
| 3477 | local TableNames = Table.Names | |
| 3478 | ||
| 3479 | if TableName then | |
| 3480 | Instance = FindFirstChildOfClassAndName(Rig, "BasePart", TableName) | |
| 3481 | else | |
| 3482 | for Index, TableName in next, TableNames do | |
| 3483 | local Child = FindFirstChildOfClassAndName(Rig, "BasePart", TableName) | |
| 3484 | ||
| 3485 | if not ( TableNames[Index + 1] and Blacklist[Child] ) then | |
| 3486 | Instance = Child | |
| 3487 | break | |
| 3488 | end | |
| 3489 | end | |
| 3490 | end | |
| 3491 | ||
| 3492 | if Instance then | |
| 3493 | local Blacklisted = Blacklist[Instance] | |
| 3494 | ||
| 3495 | if not ( Blacklisted and Blacklisted.MeshId == MeshId and Blacklisted.TextureId == TextureId ) then | |
| 3496 | tableinsert(Aligns, {
| |
| 3497 | Offset = Table.Offset, | |
| 3498 | Part0 = Parent, | |
| 3499 | Part1 = Instance | |
| 3500 | }) | |
| 3501 | ||
| 3502 | Blacklist[Instance] = { MeshId = MeshId, TextureId = TextureId }
| |
| 3503 | ||
| 3504 | return | |
| 3505 | end | |
| 3506 | end | |
| 3507 | end | |
| 3508 | ||
| 3509 | end | |
| 3510 | ||
| 3511 | local Accoutrement = FindFirstAncestorWhichIsA(Parent, "Accoutrement") | |
| 3512 | ||
| 3513 | if Accoutrement and IsA(Accoutrement, "Accoutrement") then | |
| 3514 | local AccoutrementClone = Clone(Accoutrement) | |
| 3515 | ||
| 3516 | local HandleClone = FindFirstChildOfClassAndName(AccoutrementClone, "BasePart", "Handle") | |
| 3517 | HandleClone.Transparency = OptionsRigTransparency | |
| 3518 | ||
| 3519 | for Index, Descendant in next, GetDescendants(HandleClone) do | |
| 3520 | if IsA(Descendant, "JointInstance") then | |
| 3521 | Destroy(Descendant) | |
| 3522 | end | |
| 3523 | end | |
| 3524 | ||
| 3525 | local AccessoryWeld = Instancenew("Weld")
| |
| 3526 | AccessoryWeld.C0 = Descendant.CFrame | |
| 3527 | AccessoryWeld.C1 = Attachment.CFrame | |
| 3528 | AccessoryWeld.Name = "AccessoryWeld" | |
| 3529 | AccessoryWeld.Part0 = HandleClone | |
| 3530 | AccessoryWeld.Part1 = Attachment.Parent | |
| 3531 | AccessoryWeld.Parent = HandleClone | |
| 3532 | ||
| 3533 | AccoutrementClone.Parent = Rig | |
| 3534 | ||
| 3535 | tableinsert(Accessories, {
| |
| 3536 | Handle = HandleClone, | |
| 3537 | MeshId = MeshId, | |
| 3538 | TextureId = TextureId | |
| 3539 | }) | |
| 3540 | tableinsert(Aligns, {
| |
| 3541 | Offset = CFrameidentity, | |
| 3542 | Part0 = Parent, | |
| 3543 | Part1 = HandleClone | |
| 3544 | }) | |
| 3545 | end | |
| 3546 | end | |
| 3547 | end | |
| 3548 | end | |
| 3549 | end | |
| 3550 | end | |
| 3551 | ||
| 3552 | local SetCameraSubject = function() | |
| 3553 | local CameraCFrame = CurrentCamera.CFrame | |
| 3554 | local Position = RigHumanoidRootPart.CFrame.Position | |
| 3555 | ||
| 3556 | CurrentCamera.CameraSubject = RigHumanoid | |
| 3557 | Wait(PreRender) | |
| 3558 | CurrentCamera.CFrame = CameraCFrame + RigHumanoidRootPart.CFrame.Position - Position | |
| 3559 | end | |
| 3560 | ||
| 3561 | local OnCameraSubjectChanged = function() | |
| 3562 | if CurrentCamera.CameraSubject ~= RigHumanoid then | |
| 3563 | taskdefer(SetCameraSubject) | |
| 3564 | end | |
| 3565 | end | |
| 3566 | ||
| 3567 | local OnCameraTypeChanged = function() | |
| 3568 | if CurrentCamera.CameraType ~= Custom then | |
| 3569 | CurrentCamera.CameraType = Custom | |
| 3570 | end | |
| 3571 | end | |
| 3572 | ||
| 3573 | local OnCurrentCameraChanged = function() | |
| 3574 | local Camera = Workspace.CurrentCamera | |
| 3575 | ||
| 3576 | if Camera and OptionsSetCameraSubject then | |
| 3577 | CurrentCamera = Workspace.CurrentCamera | |
| 3578 | ||
| 3579 | taskspawn(SetCameraSubject) | |
| 3580 | ||
| 3581 | OnCameraSubjectChanged() | |
| 3582 | tableinsert(RBXScriptConnections, Connect(GetPropertyChangedSignal(CurrentCamera, "CameraSubject"), OnCameraSubjectChanged)) | |
| 3583 | ||
| 3584 | if OptionsSetCameraType then | |
| 3585 | OnCameraTypeChanged() | |
| 3586 | tableinsert(RBXScriptConnections, Connect(GetPropertyChangedSignal(CurrentCamera, "CameraType"), OnCameraTypeChanged)) | |
| 3587 | end | |
| 3588 | end | |
| 3589 | end | |
| 3590 | ||
| 3591 | local SetCharacter = function() | |
| 3592 | LocalPlayer.Character = Rig | |
| 3593 | end | |
| 3594 | ||
| 3595 | local SetSimulationRadius = function() | |
| 3596 | LocalPlayer.SimulationRadius = OptionsSimulationRadius | |
| 3597 | end | |
| 3598 | ||
| 3599 | local WaitForChildOfClass = function(Parent, ClassName) | |
| 3600 | local Child = FindFirstChildOfClass(Parent, ClassName) | |
| 3601 | ||
| 3602 | while not Child do | |
| 3603 | Wait(Parent.ChildAdded) | |
| 3604 | Child = FindFirstChildOfClass(Parent, ClassName) | |
| 3605 | end | |
| 3606 | ||
| 3607 | return Child | |
| 3608 | end | |
| 3609 | ||
| 3610 | local WaitForChildOfClassAndName = function(Parent, ...) | |
| 3611 | local Child = FindFirstChildOfClassAndName(Parent, ...) | |
| 3612 | ||
| 3613 | while not Child do | |
| 3614 | Wait(Parent.ChildAdded) | |
| 3615 | Child = FindFirstChildOfClassAndName(Parent, ...) | |
| 3616 | end | |
| 3617 | ||
| 3618 | return Child | |
| 3619 | end | |
| 3620 | ||
| 3621 | local Fling = function(Target, Options) | |
| 3622 | if Target then | |
| 3623 | local Highlight = Options.Highlight | |
| 3624 | ||
| 3625 | if IsA(Target, "Humanoid") then | |
| 3626 | Target = Target.Parent | |
| 3627 | end | |
| 3628 | if IsA(Target, "Model") then | |
| 3629 | Target = FindFirstChildOfClassAndName(Target, "BasePart", "HumanoidRootPart") or FindFirstChildWhichIsA(Character, "BasePart") | |
| 3630 | end | |
| 3631 | ||
| 3632 | if not tablefind(Targets, Target) and IsA(Target, "BasePart") and not Target.Anchored and not IsDescendantOf(Character, Target) and not IsDescendantOf(Rig, Target) then | |
| 3633 | local Model = FindFirstAncestorOfClass(Target, "Model") | |
| 3634 | ||
| 3635 | if Model and FindFirstChildOfClass(Model, "Humanoid") then | |
| 3636 | Target = FindFirstChildOfClassAndName(Model, "BasePart", "HumanoidRootPart") or FindFirstChildWhichIsA(Character, "BasePart") or Target | |
| 3637 | else | |
| 3638 | Model = Target | |
| 3639 | end | |
| 3640 | ||
| 3641 | if Highlight then | |
| 3642 | local HighlightObject = type(Highlight) == "boolean" and Highlight and Instancenew("Highlight") or Clone(Highlight)
| |
| 3643 | HighlightObject.Adornee = Model | |
| 3644 | HighlightObject.Parent = Model | |
| 3645 | ||
| 3646 | Options.HighlightObject = HighlightObject | |
| 3647 | tableinsert(Highlights, HighlightObject) | |
| 3648 | end | |
| 3649 | ||
| 3650 | Targets[Target] = Options | |
| 3651 | ||
| 3652 | if not OptionsDefaultFlingOptions.HatFling and OptionsPermanentDeath and replicatesignal then | |
| 3653 | --replicatesignal(ConnectDiedSignalBackend) | |
| 3654 | end | |
| 3655 | end | |
| 3656 | end | |
| 3657 | end | |
| 3658 | ||
| 3659 | local OnCharacterAdded = function(NewCharacter) | |
| 3660 | if NewCharacter ~= Rig then | |
| 3661 | tableclear(Aligns) | |
| 3662 | tableclear(Blacklist) | |
| 3663 | ||
| 3664 | Character = NewCharacter | |
| 3665 | ||
| 3666 | if OptionsSetCameraSubject then | |
| 3667 | taskspawn(SetCameraSubject) | |
| 3668 | end | |
| 3669 | ||
| 3670 | if OptionsSetCharacter then | |
| 3671 | taskdefer(SetCharacter) | |
| 3672 | end | |
| 3673 | ||
| 3674 | if OptionsParentCharacter then | |
| 3675 | Character.Parent = Rig | |
| 3676 | end | |
| 3677 | ||
| 3678 | for Index, Descendant in next, GetDescendants(Character) do | |
| 3679 | taskspawn(DescendantAdded, Descendant) | |
| 3680 | end | |
| 3681 | ||
| 3682 | tableinsert(RBXScriptConnections, Connect(Character.DescendantAdded, DescendantAdded)) | |
| 3683 | ||
| 3684 | Humanoid = WaitForChildOfClass(Character, "Humanoid") | |
| 3685 | local HumanoidRootPart = WaitForChildOfClassAndName(Character, "BasePart", "HumanoidRootPart") | |
| 3686 | ||
| 3687 | if IsFirst then | |
| 3688 | if OptionsApplyDescription and Humanoid then | |
| 3689 | local AppliedDescription = GetAppliedDescription(Humanoid) | |
| 3690 | SetAccessories(AppliedDescription, {}, true)
| |
| 3691 | taskspawn(ApplyDescription, RigHumanoid, AppliedDescription) | |
| 3692 | end | |
| 3693 | ||
| 3694 | if HumanoidRootPart then | |
| 3695 | RigHumanoidRootPart.CFrame = HumanoidRootPart.CFrame | |
| 3696 | ||
| 3697 | if OptionsSetCollisionGroup then | |
| 3698 | local CollisionGroup = HumanoidRootPart.CollisionGroup | |
| 3699 | ||
| 3700 | for Index, Descendant in next, GetDescendants(Rig) do | |
| 3701 | if IsA(Descendant, "BasePart") then | |
| 3702 | Descendant.CollisionGroup = CollisionGroup | |
| 3703 | end | |
| 3704 | end | |
| 3705 | end | |
| 3706 | end | |
| 3707 | ||
| 3708 | IsFirst = false | |
| 3709 | end | |
| 3710 | ||
| 3711 | local IsAlive = true | |
| 3712 | ||
| 3713 | if HumanoidRootPart then | |
| 3714 | for Target, Options in next, Targets do | |
| 3715 | if IsDescendantOf(Target, Workspace) then | |
| 3716 | local FirstPosition = Target.Position | |
| 3717 | local PredictionFling = Options.PredictionFling | |
| 3718 | local LastPosition = FirstPosition | |
| 3719 | local Timeout = osclock() + Options.Timeout or 1 | |
| 3720 | ||
| 3721 | if HumanoidRootPart then | |
| 3722 | while IsDescendantOf(Target, Workspace) and osclock() < Timeout do | |
| 3723 | local DeltaTime = taskwait() | |
| 3724 | local Position = Target.Position | |
| 3725 | ||
| 3726 | if ( Position - FirstPosition ).Magnitude > 100 then | |
| 3727 | break | |
| 3728 | end | |
| 3729 | ||
| 3730 | local Offset = Vector3zero | |
| 3731 | ||
| 3732 | if PredictionFling then | |
| 3733 | Offset = ( Position - LastPosition ) / DeltaTime * 0.13 | |
| 3734 | end | |
| 3735 | ||
| 3736 | HumanoidRootPart.AssemblyAngularVelocity = FlingVelocity | |
| 3737 | HumanoidRootPart.AssemblyLinearVelocity = FlingVelocity | |
| 3738 | ||
| 3739 | HumanoidRootPart.CFrame = Target.CFrame + Offset | |
| 3740 | LastPosition = Position | |
| 3741 | end | |
| 3742 | end | |
| 3743 | end | |
| 3744 | ||
| 3745 | local HighlightObject = Options.HighlightObject | |
| 3746 | ||
| 3747 | if HighlightObject then | |
| 3748 | Destroy(HighlightObject) | |
| 3749 | end | |
| 3750 | ||
| 3751 | Targets[Target] = nil | |
| 3752 | end | |
| 3753 | ||
| 3754 | HumanoidRootPart.AssemblyAngularVelocity = Vector3zero | |
| 3755 | HumanoidRootPart.AssemblyLinearVelocity = Vector3zero | |
| 3756 | ||
| 3757 | if OptionsHatDrop then | |
| 3758 | taskspawn(function() | |
| 3759 | WaitForChildOfClassAndName(Character, "LocalScript", "Animate").Enabled = false | |
| 3760 | ||
| 3761 | for Index, AnimationTrack in next, GetPlayingAnimationTracks(Humanoid) do | |
| 3762 | AnimationTrack:Stop() | |
| 3763 | end | |
| 3764 | ||
| 3765 | LoadAnimation(Humanoid, Humanoid.RigType == R6 and R6Animation or R15Animation):Play(0) | |
| 3766 | ||
| 3767 | pcall(NewIndex, Workspace, "FallenPartsDestroyHeight", nan) | |
| 3768 | ||
| 3769 | local RootPartCFrame = RigHumanoidRootPart.CFrame | |
| 3770 | RootPartCFrame = CFramenew(RootPartCFrame.X, HatDropY, RootPartCFrame.Z) | |
| 3771 | ||
| 3772 | while IsAlive do | |
| 3773 | HumanoidRootPart.AssemblyAngularVelocity = Vector3zero | |
| 3774 | HumanoidRootPart.AssemblyLinearVelocity = HatDropLinearVelocity | |
| 3775 | HumanoidRootPart.CFrame = RootPartCFrame | |
| 3776 | ||
| 3777 | taskwait() | |
| 3778 | end | |
| 3779 | end) | |
| 3780 | elseif OptionsHideCharacter then | |
| 3781 | local HideCharacterOffset = typeof(OptionsHideCharacter) == "Vector3" and OptionsHideCharacter or HideCharacterOffset | |
| 3782 | local RootPartCFrame = RigHumanoidRootPart.CFrame + HideCharacterOffset | |
| 3783 | ||
| 3784 | taskspawn(function() | |
| 3785 | while IsAlive do | |
| 3786 | HumanoidRootPart.AssemblyAngularVelocity = Vector3zero | |
| 3787 | HumanoidRootPart.AssemblyLinearVelocity = Vector3zero | |
| 3788 | HumanoidRootPart.CFrame = RootPartCFrame | |
| 3789 | ||
| 3790 | taskwait() | |
| 3791 | end | |
| 3792 | end) | |
| 3793 | elseif OptionsTeleportRadius then | |
| 3794 | HumanoidRootPart.CFrame = RigHumanoidRootPart.CFrame + Vector3new(mathrandom(- OptionsTeleportRadius, OptionsTeleportRadius), 0, mathrandom(- OptionsTeleportRadius, OptionsTeleportRadius)) | |
| 3795 | end | |
| 3796 | end | |
| 3797 | ||
| 3798 | local ToolFling = OptionsDefaultFlingOptions.ToolFling | |
| 3799 | local Tools2 = {}
| |
| 3800 | ||
| 3801 | if ToolFling then | |
| 3802 | local Backpack = FindFirstChildOfClass(LocalPlayer, "Backpack") | |
| 3803 | ||
| 3804 | tableclear(Tools) | |
| 3805 | ||
| 3806 | if type(ToolFling) == "string" then | |
| 3807 | local Tool = FindFirstChildOfClassAndName(Backpack, "Tool", ToolFling) | |
| 3808 | ||
| 3809 | if Tool then | |
| 3810 | Tool.Parent = Character | |
| 3811 | tableinsert(Tools2, Tool) | |
| 3812 | end | |
| 3813 | else | |
| 3814 | for Index, Tool in GetChildren(Backpack) do | |
| 3815 | if IsA(Tool, "Tool") then | |
| 3816 | Tool.Parent = Character | |
| 3817 | tableinsert(Tools2, Tool) | |
| 3818 | end | |
| 3819 | end | |
| 3820 | end | |
| 3821 | ||
| 3822 | UnequipTools(Humanoid) | |
| 3823 | end | |
| 3824 | ||
| 3825 | if OptionsPermanentDeath and replicatesignal then | |
| 3826 | --replicatesignal(ConnectDiedSignalBackend) | |
| 3827 | ||
| 3828 | taskwait(Players.RespawnTime + 0.1) | |
| 3829 | ||
| 3830 | Refitting = false | |
| 3831 | replicatesignal(Kill) | |
| 3832 | else | |
| 3833 | taskwait(OptionsBreakJointsDelay) | |
| 3834 | end | |
| 3835 | ||
| 3836 | ModelBreakJoints(Character) | |
| 3837 | ||
| 3838 | if replicatesignal and OptionsUseServerBreakJoints then | |
| 3839 | replicatesignal(Humanoid.ServerBreakJoints) | |
| 3840 | end | |
| 3841 | ||
| 3842 | ChangeState(Humanoid, Dead) | |
| 3843 | Wait(Humanoid.Died) | |
| 3844 | ||
| 3845 | for Index, Tool in Tools2 do | |
| 3846 | local Handle = FindFirstChildOfClassAndName(Tool, "BasePart", "Handle") | |
| 3847 | ||
| 3848 | if Handle then | |
| 3849 | Tool.Parent = Character | |
| 3850 | else | |
| 3851 | tableremove(Tools2, Index) | |
| 3852 | end | |
| 3853 | end | |
| 3854 | ||
| 3855 | Tools = Tools2 | |
| 3856 | UnequipTools(Humanoid) | |
| 3857 | ||
| 3858 | IsAlive = false | |
| 3859 | ||
| 3860 | if OptionsHatDrop then | |
| 3861 | pcall(NewIndex, Workspace, "FallenPartsDestroyHeight", FallenPartsDestroyHeight) | |
| 3862 | end | |
| 3863 | end | |
| 3864 | end | |
| 3865 | ||
| 3866 | local OnInputBegan = function(InputObject) | |
| 3867 | local UserInputType = InputObject.UserInputType | |
| 3868 | ||
| 3869 | if UserInputType == MouseButton1 or UserInputType == Touch then | |
| 3870 | local Target = Mouse.Target | |
| 3871 | ||
| 3872 | local HatFling = OptionsDefaultFlingOptions.HatFling | |
| 3873 | local ToolFling = Options0ions.ToolFling | |
| 3874 | ||
| 3875 | if HatFling and OptionsHatDrop then | |
| 3876 | local Part = type(HatFling) == "table" and GetHandleFromTable(HatFling) | |
| 3877 | ||
| 3878 | if not Part then | |
| 3879 | for Index, Child in GetChildren(Character) do | |
| 3880 | if IsA(Child, "Accoutrement") then | |
| 3881 | local Handle = FindFirstChildOfClassAndName(Child, "BasePart", "Handle") | |
| 3882 | ||
| 3883 | if Handle then | |
| 3884 | Part = Handle | |
| 3885 | break | |
| 3886 | end | |
| 3887 | end | |
| 3888 | end | |
| 3889 | end | |
| 3890 | ||
| 3891 | if Part then | |
| 3892 | Exceptions[Part] = true | |
| 3893 | ||
| 3894 | while IsMouseButtonPressed(UserInputService, MouseButton1) do | |
| 3895 | if Part.ReceiveAge == 0 then | |
| 3896 | Part.AssemblyAngularVelocity = FlingVelocity | |
| 3897 | Part.AssemblyLinearVelocity = FlingVelocity | |
| 3898 | Part.CFrame = Mouse.Hit + AntiSleep | |
| 3899 | end | |
| 3900 | ||
| 3901 | taskwait() | |
| 3902 | end | |
| 3903 | ||
| 3904 | Exceptions[Part] = nil | |
| 3905 | end | |
| 3906 | elseif ToolFling then | |
| 3907 | local Backpack = FindFirstChildOfClass(LocalPlayer, "Backpack") | |
| 3908 | local Tool = nil | |
| 3909 | ||
| 3910 | if type(ToolFling) == "string" then | |
| 3911 | Tool = FindFirstChild(Backpack, ToolFling) or FindFirstChild(Character, ToolFling) | |
| 3912 | end | |
| 3913 | ||
| 3914 | if not Tool then | |
| 3915 | Tool = FindFirstChildOfClass(Backpack, "Tool") or FindFirstChildOfClass(Character, "Tool") | |
| 3916 | end | |
| 3917 | ||
| 3918 | if Tool then | |
| 3919 | local Handle = FindFirstChildOfClassAndName(Tool, "BasePart", "Handle") or FindFirstChildWhichIsA(Tool, "BasePart") | |
| 3920 | ||
| 3921 | if Handle then | |
| 3922 | Tool.Parent = Character | |
| 3923 | ||
| 3924 | while IsMouseButtonPressed(UserInputService, MouseButton1) do | |
| 3925 | if Handle.ReceiveAge == 0 then | |
| 3926 | Handle.AssemblyAngularVelocity = FlingVelocity | |
| 3927 | Handle.AssemblyLinearVelocity = FlingVelocity | |
| 3928 | Handle.CFrame = Mouse.Hit + AntiSleep | |
| 3929 | end | |
| 3930 | ||
| 3931 | taskwait() | |
| 3932 | end | |
| 3933 | ||
| 3934 | UnequipTools(Humanoid) | |
| 3935 | ||
| 3936 | Handle.AssemblyAngularVelocity = Vector3zero | |
| 3937 | Handle.AssemblyLinearVelocity = Vector3zero | |
| 3938 | Handle.CFrame = RigHumanoidRootPart.CFrame | |
| 3939 | end | |
| 3940 | end | |
| 3941 | else | |
| 3942 | Fling(Target, OptionsDefaultFlingOptions) | |
| 3943 | end | |
| 3944 | end | |
| 3945 | end | |
| 3946 | ||
| 3947 | local OnPostSimulation = function() | |
| 3948 | Time = osclock() | |
| 3949 | local DeltaTime = Time - LastTime | |
| 3950 | LastTime = Time | |
| 3951 | ||
| 3952 | if not OptionsSetCharacter and IsLockCenter then | |
| 3953 | local Position = RigHumanoidRootPart.Position | |
| 3954 | RigHumanoidRootPart.CFrame = CFramelookAt(Position, Position + CurrentCamera.CFrame.LookVector * Vector3xzAxis) | |
| 3955 | end | |
| 3956 | ||
| 3957 | if OptionsSimulationRadius then | |
| 3958 | pcall(SetSimulationRadius) | |
| 3959 | end | |
| 3960 | ||
| 3961 | AntiSleep = mathsin(Time * 15) * 0.0015 * Vector3one | |
| 3962 | local Axis = 27 + mathsin(Time) | |
| 3963 | ||
| 3964 | for Index, Table in next, Aligns do | |
| 3965 | local Part0 = Table.Part0 | |
| 3966 | ||
| 3967 | if not Exceptions[Part0] then | |
| 3968 | if Part0.ReceiveAge == 0 then | |
| 3969 | if IsDescendantOf(Part0, Workspace) and not GetJoints(Part0)[1] and not IsGrounded(Part0) then | |
| 3970 | local Part1 = Table.Part1 | |
| 3971 | ||
| 3972 | Part0.AssemblyAngularVelocity = Vector3zero | |
| 3973 | ||
| 3974 | local LinearVelocity = Part1.AssemblyLinearVelocity * Axis | |
| 3975 | Part0.AssemblyLinearVelocity = Vector3new(LinearVelocity.X, Axis, LinearVelocity.Z) | |
| 3976 | ||
| 3977 | Part0.CFrame = Part1.CFrame * Table.Offset + AntiSleep | |
| 3978 | end | |
| 3979 | else | |
| 3980 | local Frames = Table.Frames or - 1 | |
| 3981 | Frames = Frames + 1 | |
| 3982 | Table.Frames = Frames | |
| 3983 | ||
| 3984 | if Frames > 15 and OptionsPermanentDeath and OptionsRefit and replicatesignal then | |
| 3985 | Refitting = false | |
| 3986 | --replicatesignal(ConnectDiedSignalBackend) | |
| 3987 | end | |
| 3988 | end | |
| 3989 | end | |
| 3990 | end | |
| 3991 | ||
| 3992 | if not OptionsSetCharacter and Humanoid then | |
| 3993 | Move(RigHumanoid, Humanoid.MoveDirection) | |
| 3994 | RigHumanoid.Jump = Humanoid.Jump | |
| 3995 | end | |
| 3996 | end | |
| 3997 | ||
| 3998 | local OnPreRender = function() | |
| 3999 | local Position = RigHumanoidRootPart.Position | |
| 4000 | RigHumanoidRootPart.CFrame = CFramelookAt(Position, Position + CurrentCamera.CFrame.LookVector * Vector3xzAxis) | |
| 4001 | ||
| 4002 | for Index, Table in next, Aligns do | |
| 4003 | local Part0 = Table.Part0 | |
| 4004 | ||
| 4005 | if Part0.ReceiveAge == 0 and IsDescendantOf(Part0, Workspace) and not GetJoints(Part0)[1] and not IsGrounded(Part0) then | |
| 4006 | Part0.CFrame = Table.Part1.CFrame * Table.Offset | |
| 4007 | end | |
| 4008 | end | |
| 4009 | end | |
| 4010 | ||
| 4011 | local OnMouseBehaviorChanged = function() | |
| 4012 | IsLockCenter = UserInputService.MouseBehavior == LockCenter | |
| 4013 | ||
| 4014 | if IsLockCenter then | |
| 4015 | PreRenderConnection = Connect(PreRender, OnPreRender) | |
| 4016 | tableinsert(RBXScriptConnections, PreRenderConnection) | |
| 4017 | elseif PreRenderConnection then | |
| 4018 | Disconnect(PreRenderConnection) | |
| 4019 | tableremove(RBXScriptConnections, tablefind(RBXScriptConnections, PreRenderConnection)) | |
| 4020 | end | |
| 4021 | end | |
| 4022 | ||
| 4023 | local OnPreSimulation = function() | |
| 4024 | if OptionsDisableCharacterCollisions and Character then | |
| 4025 | for Index, Descendant in next, GetDescendants(Character) do | |
| 4026 | if IsA(Descendant, "BasePart") then | |
| 4027 | Descendant.CanCollide = false | |
| 4028 | end | |
| 4029 | end | |
| 4030 | end | |
| 4031 | ||
| 4032 | if OptionsDisableRigCollisions then | |
| 4033 | for Index, Descendant in next, GetChildren(Rig) do | |
| 4034 | if IsA(Descendant, "BasePart") then | |
| 4035 | Descendant.CanCollide = false | |
| 4036 | end | |
| 4037 | end | |
| 4038 | end | |
| 4039 | end | |
| 4040 | local function CreateObject(Name) | |
| 4041 | local Part = Instance.new("Part")
| |
| 4042 | Part.Name = Name | |
| 4043 | Part.CanCollide = true | |
| 4044 | Part.Transparency = 1 | |
| 4045 | Part.Size = Vector3new(0.1, 0.1, 0.1) | |
| 4046 | Part.Parent = Rig | |
| 4047 | end | |
| 4048 | ||
| 4049 | CreateObject("Reanimate_Dummy")
| |
| 4050 | CreateObject("Reanimate_Machete")
| |
| 4051 | CreateObject("Reanimate_Chainsaw")
| |
| 4052 | ||
| 4053 | local Register = function() | |
| 4054 | repeat | |
| 4055 | IsRegistered = pcall(SetCore, StarterGui, "ResetButtonCallback", BindableEvent) | |
| 4056 | taskwait() | |
| 4057 | until IsRegistered | |
| 4058 | end | |
| 4059 | ||
| 4060 | Start = function(Options) | |
| 4061 | if not IsRunning then | |
| 4062 | IsFirst = true | |
| 4063 | IsRunning = true | |
| 4064 | ||
| 4065 | Options = Options or {}
| |
| 4066 | OptionsAccessories = Options.Accessories or {}
| |
| 4067 | OptionsApplyDescription = Options.ApplyDescription | |
| 4068 | OptionsBreakJointsDelay = Options.BreakJointsDelay or 0 | |
| 4069 | OptionsClickFling = Options.ClickFling | |
| 4070 | OptionsDisableCharacterCollisions = Options.DisableCharacterCollisions | |
| 4071 | OptionsDisableHealthBar = Options.DisableHealthBar | |
| 4072 | OptionsDisableRigCollisions = Options.DisableRigCollisions | |
| 4073 | OptionsDefaultFlingOptions = Options.DefaultFlingOptions or {}
| |
| 4074 | OptionsHatDrop = Options.HatDrop | |
| 4075 | OptionsHideCharacter = Options.HideCharacter | |
| 4076 | OptionsParentCharacter = Options.ParentCharacter | |
| 4077 | OptionsPermanentDeath = Options.PermanentDeath | |
| 4078 | OptionsRefit = Options.Refit | |
| 4079 | local OptionsRigSize = Options.RigSize | |
| 4080 | OptionsRigTransparency = Options.RigTransparency or 1 | |
| 4081 | OptionsSetCameraSubject = Options.SetCameraSubject | |
| 4082 | OptionsSetCameraType = Options.SetCameraType | |
| 4083 | OptionsSetCharacter = Options.SetCharacter | |
| 4084 | OptionsSetCollisionGroup = Options.SetCollisionGroup | |
| 4085 | OptionsSimulationRadius = Options.SimulationRadius | |
| 4086 | OptionsTeleportRadius = Options.TeleportRadius | |
| 4087 | OptionsUseServerBreakJoints = Options.UseServerBreakJoints | |
| 4088 | ||
| 4089 | if OptionsDisableHealthBar then | |
| 4090 | IsHealthEnabled = GetCoreGuiEnabled(StarterGui, Health) | |
| 4091 | SetCoreGuiEnabled(StarterGui, Health, false) | |
| 4092 | end | |
| 4093 | ||
| 4094 | BindableEvent = Instancenew("BindableEvent")
| |
| 4095 | tableinsert(RBXScriptConnections, Connect(BindableEvent.Event, Stop)) | |
| 4096 | ||
| 4097 | Rig = Options.R15 and Clone(R15HumanoidModel) or Clone(HumanoidModel) | |
| 4098 | Rig.Name = "ReanimatedRig" | |
| 4099 | RigHumanoid = Rig.Humanoid | |
| 4100 | RigHumanoidRootPart = Rig.HumanoidRootPart | |
| 4101 | Rig.Parent = Workspace | |
| 4102 | ||
| 4103 | for Index, Descendant in next, GetDescendants(Rig) do | |
| 4104 | if IsA(Descendant, "Attachment") then | |
| 4105 | Attachments[Descendant.Name] = Descendant | |
| 4106 | elseif IsA(Descendant, "BasePart") or IsA(Descendant, "Decal") then | |
| 4107 | Descendant.Transparency = OptionsRigTransparency | |
| 4108 | end | |
| 4109 | end | |
| 4110 | ||
| 4111 | if OptionsRigSize then | |
| 4112 | ScaleTo(Rig, OptionsRigSize) | |
| 4113 | ||
| 4114 | RigHumanoid.JumpPower = 50*OptionsRigSize | |
| 4115 | RigHumanoid.WalkSpeed = 16*OptionsRigSize | |
| 4116 | end | |
| 4117 | ||
| 4118 | OnCurrentCameraChanged() | |
| 4119 | tableinsert(RBXScriptConnections, Connect(CurrentCameraChanged, OnCurrentCameraChanged)) | |
| 4120 | ||
| 4121 | if OptionsClickFling then | |
| 4122 | tableinsert(RBXScriptConnections, Connect(InputBegan, OnInputBegan)) | |
| 4123 | end | |
| 4124 | ||
| 4125 | local Character = LocalPlayer.Character | |
| 4126 | ||
| 4127 | if Character then | |
| 4128 | OnCharacterAdded(Character) | |
| 4129 | end | |
| 4130 | ||
| 4131 | tableinsert(RBXScriptConnections, Connect(CharacterAdded, OnCharacterAdded)) | |
| 4132 | ||
| 4133 | LastTime = osclock() | |
| 4134 | tableinsert(RBXScriptConnections, Connect(PostSimulation, OnPostSimulation)) | |
| 4135 | ||
| 4136 | if not OptionsSetCharacter then | |
| 4137 | OnMouseBehaviorChanged() | |
| 4138 | tableinsert(RBXScriptConnections, Connect(MouseBehaviorChanged, OnMouseBehaviorChanged)) | |
| 4139 | end | |
| 4140 | ||
| 4141 | if OptionsDisableCharacterCollisions or OptionsDisableRigCollisions then | |
| 4142 | OnPreSimulation() | |
| 4143 | tableinsert(RBXScriptConnections, Connect(PreSimulation, OnPreSimulation)) | |
| 4144 | end | |
| 4145 | ||
| 4146 | IsRegistered = pcall(SetCore, StarterGui, "ResetButtonCallback", BindableEvent) | |
| 4147 | ||
| 4148 | if not IsRegistered then | |
| 4149 | taskspawn(Register) | |
| 4150 | end | |
| 4151 | ||
| 4152 | return {
| |
| 4153 | BindableEvent = BindableEvent, | |
| 4154 | Fling = Fling, | |
| 4155 | Rig = Rig | |
| 4156 | } | |
| 4157 | end | |
| 4158 | end | |
| 4159 | ||
| 4160 | Stop = function() | |
| 4161 | if IsRunning then | |
| 4162 | IsFirst = false | |
| 4163 | IsRunning = false | |
| 4164 | ||
| 4165 | for Index, Highlight in Highlights do | |
| 4166 | Destroy(Highlight) | |
| 4167 | end | |
| 4168 | ||
| 4169 | tableclear(Highlights) | |
| 4170 | ||
| 4171 | for Index, RBXScriptConnection in next, RBXScriptConnections do | |
| 4172 | Disconnect(RBXScriptConnection) | |
| 4173 | end | |
| 4174 | ||
| 4175 | tableclear(RBXScriptConnections) | |
| 4176 | ||
| 4177 | Destroy(BindableEvent) | |
| 4178 | ||
| 4179 | if Character.Parent == Rig then | |
| 4180 | Character.Parent = Workspace | |
| 4181 | end | |
| 4182 | ||
| 4183 | if Humanoid then | |
| 4184 | ChangeState(Humanoid, Dead) | |
| 4185 | end | |
| 4186 | ||
| 4187 | Destroy(Rig) | |
| 4188 | ||
| 4189 | if OptionsPermanentDeath and replicatesignal then | |
| 4190 | --replicatesignal(ConnectDiedSignalBackend) | |
| 4191 | end | |
| 4192 | ||
| 4193 | if OptionsDisableHealthBar and not GetCoreGuiEnabled(StarterGui, Health) then | |
| 4194 | SetCoreGuiEnabled(StarterGui, Health, IsHealthEnabled) | |
| 4195 | end | |
| 4196 | ||
| 4197 | if IsRegistered then | |
| 4198 | pcall(SetCore, StarterGui, "ResetButtonCallback", true) | |
| 4199 | else | |
| 4200 | IsRegistered = pcall(SetCore, StarterGui, "ResetButtonCallback", true) | |
| 4201 | end | |
| 4202 | end | |
| 4203 | end | |
| 4204 | ||
| 4205 | ||
| 4206 | ||
| 4207 | local Ypos=0 | |
| 4208 | local Place = game.placeId | |
| 4209 | local jabthing=game.ReplicatedStorage:FindFirstChild("01_server")
| |
| 4210 | if jabthing then | |
| 4211 | Ypos=-0 | |
| 4212 | else | |
| 4213 | Ypos=-30 | |
| 4214 | end | |
| 4215 | Empyrean = Start({
| |
| 4216 | Accessories = TableOfAccessries, | |
| 4217 | ApplyDescription = true, | |
| 4218 | BreakJointsDelay = 0, | |
| 4219 | ClickFling = false, | |
| 4220 | DisableCharacterCollisions = true, | |
| 4221 | DisableHealthBar = true, | |
| 4222 | DisableRigCollisions = true, | |
| 4223 | HatDrop = false, | |
| 4224 | HideCharacter = Vector3.new(0, Ypos, 50), | |
| 4225 | ParentCharacter = false, | |
| 4226 | PermanentDeath = false, | |
| 4227 | Refit = true, | |
| 4228 | RigSize = RigScale, | |
| 4229 | RigTransparency = 1, | |
| 4230 | R15 = false, | |
| 4231 | SetCameraSubject = true, | |
| 4232 | SetCameraType = true, | |
| 4233 | SetCharacter = true, | |
| 4234 | SetCollisionGroup = true, | |
| 4235 | SimulationRadius = 10000, | |
| 4236 | TeleportRadius = 5, | |
| 4237 | UseServerBreakJoints = true, | |
| 4238 | }) | |
| 4239 | DefaultFlingOptions = {
| |
| 4240 | HatFling = true,--{ MeshId="", TextureId = ""},
| |
| 4241 | Highlight = true, | |
| 4242 | PredictionFling = true, | |
| 4243 | Timeout = 1, | |
| 4244 | ToolFling = false,--"Boombox", | |
| 4245 | } | |
| 4246 | end | |
| 4247 | ||
| 4248 | ||
| 4249 | ||
| 4250 | local function AnimModule() | |
| 4251 | ||
| 4252 | local TS = game:GetService("TweenService")
| |
| 4253 | local RS = game:GetService("RunService")
| |
| 4254 | ||
| 4255 | local Floor = math.floor | |
| 4256 | ||
| 4257 | local Animator = {}
| |
| 4258 | local Playing = {}
| |
| 4259 | local FadeOuts = {}
| |
| 4260 | ||
| 4261 | local function Ver(Model) | |
| 4262 | if Model and Model.Parent then | |
| 4263 | if not Playing[Model] then | |
| 4264 | Playing[Model] = {}
| |
| 4265 | FadeOuts[Model] = {Amount = 0}
| |
| 4266 | end | |
| 4267 | end | |
| 4268 | end | |
| 4269 | ||
| 4270 | local function CheckFadeOut(Model, Animation) | |
| 4271 | local FadeOut = FadeOuts[Model] | |
| 4272 | if FadeOut.Amount > 0 then return end | |
| 4273 | ||
| 4274 | local Keyframes = Animation.JointKeyframes | |
| 4275 | ||
| 4276 | local FinalFrame = {}
| |
| 4277 | ||
| 4278 | for Joint, Poses in next, Keyframes do | |
| 4279 | FinalFrame[Joint] = Poses[#Poses] | |
| 4280 | end | |
| 4281 | ||
| 4282 | FadeOut.EndFrame = FinalFrame | |
| 4283 | FadeOut.Animation = Animation | |
| 4284 | FadeOut.Start = os.clock() | |
| 4285 | end | |
| 4286 | local c=os.clock() | |
| 4287 | local function Play(self, FadeIn) | |
| 4288 | -- NOTE: do NOT reset the global `c` here; each animation tracks its own | |
| 4289 | -- start time via self.StartInternal so multiple animations in one emote | |
| 4290 | -- don't clobber each other's TimePosition. | |
| 4291 | self.LastKeyframe = nil | |
| 4292 | self.TimePosition = 0 | |
| 4293 | self.StartInternal = os.clock() | |
| 4294 | self.FadeIn = FadeIn | |
| 4295 | local I = Playing[self.Model] | |
| 4296 | for anim in pairs(I) do | |
| 4297 | if anim ~= self and anim:IsPlaying() then | |
| 4298 | if anim.Priority < self.Priority then | |
| 4299 | anim:Stop() | |
| 4300 | elseif anim.Priority > self.Priority then | |
| 4301 | return | |
| 4302 | end | |
| 4303 | end | |
| 4304 | end | |
| 4305 | ||
| 4306 | I[self] = true | |
| 4307 | FadeOuts[self.Model].Amount += 1 | |
| 4308 | end | |
| 4309 | ||
| 4310 | local function Stop(self) | |
| 4311 | local I = Playing[self.Model] | |
| 4312 | I[self] = nil | |
| 4313 | self.FadeIn = nil | |
| 4314 | ||
| 4315 | local Model = self.Model | |
| 4316 | FadeOuts[Model].Amount = FadeOuts[Model].Amount - 1 | |
| 4317 | ||
| 4318 | CheckFadeOut(Model, self) | |
| 4319 | end | |
| 4320 | ||
| 4321 | local function Resume(self) | |
| 4322 | if self.PauseInternal then | |
| 4323 | self.StartInternal = os.clock() - self.PauseInternal | |
| 4324 | end | |
| 4325 | local I = Playing[self.Model] | |
| 4326 | I[self] = true | |
| 4327 | ||
| 4328 | local Model = self.Model | |
| 4329 | FadeOuts[Model].Amount = FadeOuts[Model].Amount + 1 | |
| 4330 | end | |
| 4331 | ||
| 4332 | local function Pause(self) | |
| 4333 | local TimeSince = os.clock() - self.StartInternal | |
| 4334 | self.PauseInternal = TimeSince | |
| 4335 | local I = Playing[self.Model] | |
| 4336 | I[self] = nil | |
| 4337 | ||
| 4338 | local Model = self.Model | |
| 4339 | FadeOuts[Model].Amount = FadeOuts[Model].Amount - 1 | |
| 4340 | ||
| 4341 | CheckFadeOut(Model, self) | |
| 4342 | end | |
| 4343 | ||
| 4344 | local function SetTime(self, Time) | |
| 4345 | self.StartInternal = os.clock() - Time | |
| 4346 | end | |
| 4347 | ||
| 4348 | local function AdjustSpeed(self, NewSpeed) | |
| 4349 | self.StartInternal = os.clock() - ((os.clock() - self.StartInternal) * self.Speed) | |
| 4350 | self.Speed = NewSpeed | |
| 4351 | end | |
| 4352 | ||
| 4353 | local function IsPlaying(self) | |
| 4354 | return Playing[self.Model][self] | |
| 4355 | end | |
| 4356 | ||
| 4357 | function Animator:LoadSequence(Track, Model) | |
| 4358 | local Animation = {}
| |
| 4359 | local Joints = {}
| |
| 4360 | local Keyframes = {}
| |
| 4361 | ||
| 4362 | Ver(Model) | |
| 4363 | ||
| 4364 | for _,Obj in next, Model:GetDescendants() do | |
| 4365 | if Obj:IsA("Motor6D") then
| |
| 4366 | local P0 = Obj.Part0 | |
| 4367 | local P1 = Obj.Part1 | |
| 4368 | if not P0 or not P1 then continue end | |
| 4369 | ||
| 4370 | local T = Joints[P0.Name] | |
| 4371 | if not T then | |
| 4372 | T = {}
| |
| 4373 | Joints[P0.Name] = T | |
| 4374 | end | |
| 4375 | ||
| 4376 | T[P1.Name] = Obj | |
| 4377 | end | |
| 4378 | end | |
| 4379 | ||
| 4380 | local JointKeyframes = {}
| |
| 4381 | ||
| 4382 | local Keyframes = Track:GetKeyframes() | |
| 4383 | table.sort(Keyframes, function(a, b) return a.Time < b.Time end) | |
| 4384 | ||
| 4385 | for _, SKeyframe in next, Keyframes do | |
| 4386 | local STime = SKeyframe.Time | |
| 4387 | ||
| 4388 | for _,Pose in next, SKeyframe:GetDescendants() do | |
| 4389 | if not Pose:IsA("Pose") then continue end
| |
| 4390 | if Pose.Weight == 0 then continue end | |
| 4391 | if Pose.Parent == SKeyframe then continue end | |
| 4392 | ||
| 4393 | local P0Name = Pose.Parent.Name | |
| 4394 | local P1Name = Pose.Name | |
| 4395 | ||
| 4396 | ||
| 4397 | local IP0 = Joints[Pose.Parent.Name] | |
| 4398 | if not IP0 then continue end | |
| 4399 | local Joint = IP0[Pose.Name] | |
| 4400 | if not Joint then continue end | |
| 4401 | ||
| 4402 | local JT = JointKeyframes[Joint] | |
| 4403 | if not JT then | |
| 4404 | JT = {}
| |
| 4405 | JointKeyframes[Joint] = JT | |
| 4406 | end | |
| 4407 | ||
| 4408 | ||
| 4409 | local Style = Pose:GetAttribute("EasingStyle") or Pose.EasingStyle.Name
| |
| 4410 | local Direction = Pose:GetAttribute("EasingDirection") or Pose.EasingDirection.Name
| |
| 4411 | local Weight = Pose.Weight | |
| 4412 | local CF = Pose.CFrame | |
| 4413 | ||
| 4414 | local Info = {EasingStyle = Style, EasingDirection = Direction, Weight = Weight, CFrame = CF}
| |
| 4415 | ||
| 4416 | ||
| 4417 | JT[#JT+1] = {Time = STime, ["Info"] = Info, Name = SKeyframe.Name}
| |
| 4418 | ||
| 4419 | end | |
| 4420 | end | |
| 4421 | ||
| 4422 | Animation.LastKeyframe = nil | |
| 4423 | Animation.TimeReached = Instance.new("BindableEvent")
| |
| 4424 | Animation.TimePosition = 0 | |
| 4425 | Animation.TimeLength = Keyframes[#Keyframes].Time | |
| 4426 | Animation.TimeScale = 1 | |
| 4427 | Animation.GeneralWeight = 1 | |
| 4428 | Animation.Play = Play | |
| 4429 | Animation.Stop = Stop | |
| 4430 | Animation.Resume = Resume | |
| 4431 | Animation.Pause = Pause | |
| 4432 | Animation.SetTime = SetTime | |
| 4433 | Animation.AdjustSpeed = AdjustSpeed | |
| 4434 | Animation.IsPlaying = IsPlaying | |
| 4435 | Animation.Model = Model | |
| 4436 | Animation.Looped = false | |
| 4437 | Animation.JointKeyframes = JointKeyframes | |
| 4438 | Animation.Keyframes = Keyframes | |
| 4439 | Animation.Speed = 1 | |
| 4440 | ||
| 4441 | Animation.Filter = {}
| |
| 4442 | Animation.FilterType = "Blacklist" | |
| 4443 | ||
| 4444 | Animation.StartInternal = os.clock()-os.clock() | |
| 4445 | Animation.PauseInternal = 0 | |
| 4446 | ||
| 4447 | local PriorityMap = {
| |
| 4448 | Core = 0, | |
| 4449 | Idle = 1, | |
| 4450 | Movement = 2, | |
| 4451 | Action = 3, | |
| 4452 | Action2 = 4, | |
| 4453 | Action3 = 5, | |
| 4454 | Action4 = 6, | |
| 4455 | } | |
| 4456 | ||
| 4457 | Animation.Priority = PriorityMap[Track.Priority.Name] or 0 | |
| 4458 | ||
| 4459 | return Animation | |
| 4460 | end | |
| 4461 | ||
| 4462 | function Animator:LoadAnimation(Track, Model) | |
| 4463 | local Animation = {}
| |
| 4464 | local Joints = {}
| |
| 4465 | ||
| 4466 | Ver(Model) | |
| 4467 | ||
| 4468 | for _,Obj in next, Model:GetDescendants() do | |
| 4469 | if Obj:IsA("Motor6D") then
| |
| 4470 | local P0 = Obj.Part0 | |
| 4471 | local P1 = Obj.Part1 | |
| 4472 | if not P0 or not P1 then continue end | |
| 4473 | ||
| 4474 | local T = Joints[P0.Name] | |
| 4475 | ||
| 4476 | if not T then | |
| 4477 | T = {}
| |
| 4478 | Joints[P0.Name] = T | |
| 4479 | end | |
| 4480 | ||
| 4481 | T[P1.Name] = Obj | |
| 4482 | end | |
| 4483 | end | |
| 4484 | ||
| 4485 | local JointKeyframes = {}
| |
| 4486 | ||
| 4487 | for Num, SKeyframe in next, Track do | |
| 4488 | local STime = SKeyframe.Time | |
| 4489 | local Keyframe = SKeyframe.Keyframe | |
| 4490 | ||
| 4491 | ||
| 4492 | for P0Name,P0 in next, Keyframe do | |
| 4493 | for P1, Info in next, P0 do | |
| 4494 | ||
| 4495 | local IP0 = Joints[P0Name] | |
| 4496 | ||
| 4497 | if not IP0 then continue end | |
| 4498 | local Joint = IP0[P1] | |
| 4499 | if not Joint then continue end | |
| 4500 | ||
| 4501 | local JT = JointKeyframes[Joint] | |
| 4502 | ||
| 4503 | if not JT then | |
| 4504 | JT = {}
| |
| 4505 | JointKeyframes[Joint] = JT | |
| 4506 | end | |
| 4507 | ||
| 4508 | JT[#JT+1] = {Time = STime, ["Info"] = Info}
| |
| 4509 | end | |
| 4510 | end | |
| 4511 | end | |
| 4512 | ||
| 4513 | ||
| 4514 | Animation.TimePosition = 0 | |
| 4515 | Animation.TimeLength = Track[#Track].Time | |
| 4516 | Animation.TimeScale = 1 | |
| 4517 | Animation.GeneralWeight = 1 | |
| 4518 | Animation.Play = Play | |
| 4519 | Animation.Stop = Stop | |
| 4520 | Animation.Resume = Resume | |
| 4521 | Animation.Pause = Pause | |
| 4522 | Animation.SetTime = SetTime | |
| 4523 | Animation.AdjustSpeed = AdjustSpeed | |
| 4524 | Animation.IsPlaying = IsPlaying | |
| 4525 | Animation.Model = Model | |
| 4526 | Animation.Looped = false | |
| 4527 | Animation.JointKeyframes = JointKeyframes | |
| 4528 | Animation.Speed = 1 | |
| 4529 | ||
| 4530 | Animation.Filter = {}
| |
| 4531 | Animation.FilterType = "Blacklist" | |
| 4532 | ||
| 4533 | Animation.StartInternal = os.clock()-os.clock() | |
| 4534 | Animation.PauseInternal = 0 | |
| 4535 | ||
| 4536 | return Animation | |
| 4537 | end | |
| 4538 | ||
| 4539 | local CF = CFrame.new() | |
| 4540 | ||
| 4541 | local function GetPose(TimeSince, Poses, Joint) | |
| 4542 | for i = 1,#Poses do | |
| 4543 | local Keyframe = Poses[i] | |
| 4544 | local NextKeyframe = Poses[i+1] | |
| 4545 | local Time = Keyframe.Time | |
| 4546 | ||
| 4547 | local JT = Joint.Transform | |
| 4548 | ||
| 4549 | if TimeSince >= Time then | |
| 4550 | if NextKeyframe then | |
| 4551 | local NextTime = NextKeyframe.Time | |
| 4552 | if TimeSince < NextTime then | |
| 4553 | local Info1 = Keyframe.Info | |
| 4554 | local Info2 = NextKeyframe.Info | |
| 4555 | ||
| 4556 | local char=ws[StringVal.Value] | |
| 4557 | local CFA = CF:Lerp(Info1.CFrame+Info1.CFrame.Position*(char:GetScale()-1), 1) | |
| 4558 | local CFB = CF:Lerp(Info2.CFrame+Info2.CFrame.Position*(char:GetScale()-1), 1) | |
| 4559 | --CFB+CFB.Position*char:GetScale() | |
| 4560 | ||
| 4561 | local Pose | |
| 4562 | local Alpha | |
| 4563 | if tonumber(Numval.Value)>=10 then | |
| 4564 | Alpha=(TimeSince - Time) / (NextTime - Time) | |
| 4565 | else | |
| 4566 | Alpha=tonumber(Numval.Value) | |
| 4567 | end | |
| 4568 | if Info2.EasingStyle == "Constant" then | |
| 4569 | Pose = CFA | |
| 4570 | else | |
| 4571 | Pose = CFA:Lerp(CFB, TS:GetValue(Alpha, Enum.EasingStyle[Info2.EasingStyle], Enum.EasingDirection[Info2.EasingDirection])) | |
| 4572 | end | |
| 4573 | ||
| 4574 | return {Joint, Pose}
| |
| 4575 | end | |
| 4576 | else | |
| 4577 | local Pose = JT:Lerp(Keyframe.Info.CFrame, 1) | |
| 4578 | return {Joint, Keyframe.Info.CFrame}
| |
| 4579 | end | |
| 4580 | end | |
| 4581 | end | |
| 4582 | end | |
| 4583 | ||
| 4584 | ||
| 4585 | ||
| 4586 | task.wait() | |
| 4587 | ||
| 4588 | if RS:IsClient() then | |
| 4589 | RS.PostSimulation:Connect(function() | |
| 4590 | for Model, Animations in next, Playing do | |
| 4591 | for Animation,_ in next, Animations do | |
| 4592 | if not Model or not Model.Parent then | |
| 4593 | Playing[Model] = nil | |
| 4594 | FadeOuts[Model] = nil | |
| 4595 | Animation.FadeIn = nil | |
| 4596 | continue | |
| 4597 | end | |
| 4598 | local dr4 | |
| 4599 | local TimeSince = Animation.TimePosition | |
| 4600 | local Length = Animation.TimeLength | |
| 4601 | --print(UseSoundPos.Value) | |
| 4602 | if UseSoundPos.Value==true then | |
| 4603 | dr4 = musicSound.TimePosition | |
| 4604 | else | |
| 4605 | -- Per-animation StartInternal clock: each track advances independently. | |
| 4606 | -- This prevents multi-animation emotes from resetting each other's position | |
| 4607 | -- when a new animation calls Play() and previously reset the global `c`. | |
| 4608 | dr4 = (os.clock() - Animation.StartInternal) * (Animation.Speed or 1) | |
| 4609 | end | |
| 4610 | dr4=dr4%Length | |
| 4611 | --print(dr4) | |
| 4612 | Animation.TimePosition = dr4 | |
| 4613 | if TimeSince > Length then | |
| 4614 | Animation.FadeIn = nil | |
| 4615 | if Animation.Looped then | |
| 4616 | TimeSince = TimeSince%Length | |
| 4617 | else | |
| 4618 | Animation.TimePosition = Length | |
| 4619 | Playing[Model][Animation] = nil | |
| 4620 | FadeOuts[Model].Amount = FadeOuts[Model].Amount - 1 | |
| 4621 | ||
| 4622 | CheckFadeOut(Model, Animation) | |
| 4623 | continue | |
| 4624 | end | |
| 4625 | elseif TimeSince < 0 and Animation.Speed < 0 then | |
| 4626 | if Animation.Looped then | |
| 4627 | TimeSince = Length | |
| 4628 | else | |
| 4629 | Animation.TimePosition = Length | |
| 4630 | Playing[Model][Animation] = nil | |
| 4631 | ||
| 4632 | FadeOuts[Model].Amount = FadeOuts[Model].Amount - 1 | |
| 4633 | ||
| 4634 | CheckFadeOut(Model, Animation) | |
| 4635 | continue | |
| 4636 | end | |
| 4637 | end | |
| 4638 | ||
| 4639 | local Filter = Animation.Filter | |
| 4640 | local Keyframes = Animation.JointKeyframes | |
| 4641 | ||
| 4642 | local ToAnimate = {}
| |
| 4643 | if Animation.FilterType == "Blacklist" then | |
| 4644 | for Joint, Poses in next, Keyframes do | |
| 4645 | if not Filter[Joint] then | |
| 4646 | ||
| 4647 | ToAnimate[#ToAnimate+1] = GetPose(TimeSince, Poses, Joint, Animation) | |
| 4648 | end | |
| 4649 | end | |
| 4650 | else | |
| 4651 | for Joint, Poses in next, Keyframes do | |
| 4652 | if Filter[Joint] then | |
| 4653 | ToAnimate[#ToAnimate+1] = GetPose(TimeSince, Poses, Joint, Animation) | |
| 4654 | end | |
| 4655 | end | |
| 4656 | end | |
| 4657 | ||
| 4658 | local FadeIn = Animation.FadeIn | |
| 4659 | for i = 1,#ToAnimate do | |
| 4660 | ||
| 4661 | local Pose = ToAnimate[i] | |
| 4662 | local TCF = Pose[2] | |
| 4663 | ||
| 4664 | if FadeIn and TimeSince < FadeIn then | |
| 4665 | TCF = Pose[1].Transform:Lerp(TCF, 1) | |
| 4666 | end | |
| 4667 | task.spawn(function() | |
| 4668 | game:GetService("RunService").Stepped:Wait()
| |
| 4669 | if not Animation:IsPlaying() then return end | |
| 4670 | ||
| 4671 | Pose[1].Transform = TCF | |
| 4672 | end) | |
| 4673 | end | |
| 4674 | ||
| 4675 | for _, KF in pairs(Animation.Keyframes) do | |
| 4676 | if KF.Name ~= "Keyframe" and math.abs(TimeSince - KF.Time) < .1 and Animation.LastKeyframe ~= KF then | |
| 4677 | Animation.TimeReached:Fire(KF) | |
| 4678 | --musicSound.TimePosition=0 | |
| 4679 | Animation.LastKeyframe = KF | |
| 4680 | end | |
| 4681 | end | |
| 4682 | ||
| 4683 | Animation.TimePosition = dr4 | |
| 4684 | end | |
| 4685 | end | |
| 4686 | for Model, Data in next, FadeOuts do | |
| 4687 | if not Model or not Model.Parent then | |
| 4688 | Playing[Model] = nil | |
| 4689 | FadeOuts[Model] = nil | |
| 4690 | ||
| 4691 | continue | |
| 4692 | end | |
| 4693 | ||
| 4694 | if Data.Amount >0 then continue end | |
| 4695 | if not Data.Animation then continue end | |
| 4696 | ||
| 4697 | local TimeSince = os.clock() - Data.Start | |
| 4698 | if TimeSince >= 0.2 then continue end | |
| 4699 | ||
| 4700 | local EndFrame = Data.EndFrame | |
| 4701 | local Animation = Data.Animation | |
| 4702 | local Filter = Animation.Filter | |
| 4703 | ||
| 4704 | task.spawn(function() | |
| 4705 | game:GetService("RunService").Stepped:Wait()
| |
| 4706 | if Data.Amount>0 then return end | |
| 4707 | ||
| 4708 | local ToAnimate = {}
| |
| 4709 | if Animation.FilterType == "Blacklist" then | |
| 4710 | for Joint, Pose in next, EndFrame do | |
| 4711 | if not Filter[Joint] then | |
| 4712 | ||
| 4713 | local Poses = {
| |
| 4714 | {
| |
| 4715 | Time = 0, | |
| 4716 | Info = {
| |
| 4717 | EasingStyle = "Linear", | |
| 4718 | EasingDirection = "Out", | |
| 4719 | Weight = 1, | |
| 4720 | CFrame = Pose.Info.CFrame | |
| 4721 | } | |
| 4722 | }, | |
| 4723 | {
| |
| 4724 | Time = 0, | |
| 4725 | Info = {
| |
| 4726 | EasingStyle = "Linear", | |
| 4727 | EasingDirection = "Out", | |
| 4728 | Weight = 1, | |
| 4729 | CFrame = Joint.Transform | |
| 4730 | } | |
| 4731 | } | |
| 4732 | } | |
| 4733 | ||
| 4734 | local Pose = GetPose(TimeSince, Poses, Joint, Animation) | |
| 4735 | Pose[1].Transform = Pose[2] | |
| 4736 | end | |
| 4737 | end | |
| 4738 | else | |
| 4739 | for Joint, Pose in next, EndFrame do | |
| 4740 | if Filter[Joint] then | |
| 4741 | ||
| 4742 | local Poses = {
| |
| 4743 | {
| |
| 4744 | Time = 0, | |
| 4745 | Info = {
| |
| 4746 | EasingStyle = "Linear", | |
| 4747 | EasingDirection = "Out", | |
| 4748 | Weight = 1, | |
| 4749 | CFrame = Pose.Info.CFrame | |
| 4750 | } | |
| 4751 | }, | |
| 4752 | {
| |
| 4753 | Time = 0, | |
| 4754 | Info = {
| |
| 4755 | EasingStyle = "Linear", | |
| 4756 | EasingDirection = "Out", | |
| 4757 | Weight = 1, | |
| 4758 | CFrame = Joint.Transform | |
| 4759 | } | |
| 4760 | } | |
| 4761 | } | |
| 4762 | local Pose = GetPose(TimeSince, Poses, Joint, Animation) | |
| 4763 | Pose[1].Transform = Pose[2] | |
| 4764 | end | |
| 4765 | end | |
| 4766 | end | |
| 4767 | end) | |
| 4768 | end | |
| 4769 | end) | |
| 4770 | end | |
| 4771 | ||
| 4772 | function Animator:Destroy() | |
| 4773 | table.clear(Playing) | |
| 4774 | end | |
| 4775 | ||
| 4776 | return Animator | |
| 4777 | ||
| 4778 | ||
| 4779 | ||
| 4780 | ||
| 4781 | ||
| 4782 | ||
| 4783 | ||
| 4784 | ||
| 4785 | end | |
| 4786 | ||
| 4787 | ||
| 4788 | ||
| 4789 | ||
| 4790 | function SetOverrideDanceMusic(soundId, name, volume, range) | |
| 4791 | MusicOverriden = soundId | |
| 4792 | OverridenMusicName = name or "" | |
| 4793 | musicSound.SoundId = soundId | |
| 4794 | musicSound.Volume = volume or 0.75 | |
| 4795 | musicSound.TimePosition = 0 | |
| 4796 | if range~=nil then | |
| 4797 | musicSound.PlaybackRegionsEnabled=true | |
| 4798 | musicSound.LoopRegion=range | |
| 4799 | else | |
| 4800 | musicSound.PlaybackRegionsEnabled=false | |
| 4801 | end | |
| 4802 | musicSound:Play() | |
| 4803 | OverridenMusicStartClock = os.clock() | |
| 4804 | end | |
| 4805 | ||
| 4806 | function GetOverrideDanceMusicTime() | |
| 4807 | if musicSound.IsLoaded and musicSound.IsPlaying then | |
| 4808 | return musicSound.TimePosition | |
| 4809 | end | |
| 4810 | if OverridenMusicStartClock then | |
| 4811 | local elapsed = os.clock() - OverridenMusicStartClock | |
| 4812 | local length = musicSound.TimeLength | |
| 4813 | if length and length > 0 then | |
| 4814 | return elapsed % length | |
| 4815 | end | |
| 4816 | return elapsed | |
| 4817 | end | |
| 4818 | return 0 | |
| 4819 | end | |
| 4820 | ||
| 4821 | function SetOverrideDanceMusicTime(t) | |
| 4822 | musicSound.TimePosition = t | |
| 4823 | if OverridenMusicStartClock then | |
| 4824 | OverridenMusicStartClock = os.clock() - t | |
| 4825 | end | |
| 4826 | end | |
| 4827 | ||
| 4828 | ||
| 4829 | function AssetGetContentId(filename) | |
| 4830 | local ext = filename:lower() | |
| 4831 | local audioExts = {mp3=true, ogg=true, wav=true, flac=true, aac=true}
| |
| 4832 | local path = nil | |
| 4833 | if filename:match(".mp3") or filename:match(".ogg") or filename:match(".wav") or filename:match(".flac") or filename:match(".aac") then
| |
| 4834 | path=MusicFolder .. "/" .. filename | |
| 4835 | elseif filename:match(".rbxm") then
| |
| 4836 | path=Models .. "/" .. filename | |
| 4837 | end | |
| 4838 | if isfile and not isfile(path) then | |
| 4839 | repeat oswait() until isfile(path) | |
| 4840 | end | |
| 4841 | return getcustomasset and getcustomasset(path) or "" | |
| 4842 | end | |
| 4843 | ||
| 4844 | function AssetGetPathFromFilename(filename) | |
| 4845 | local ext = (filename:match("%.(%a+)$") or ""):lower()
| |
| 4846 | local audioExts = {mp3=true, ogg=true, wav=true, flac=true, aac=true}
| |
| 4847 | local folder = audioExts[ext] and MusicFolder or DanceFolder or Models | |
| 4848 | repeat wait() until folder.."/"..filename or os.clock()+5 | |
| 4849 | return folder .. "/" .. filename | |
| 4850 | end | |
| 4851 | ||
| 4852 | local RegisterAssets={}
| |
| 4853 | local function DownloadModuleAssets(assets) | |
| 4854 | if not assets then return end | |
| 4855 | for _, entry in ipairs(assets) do | |
| 4856 | local filename, url = entry:match("^(.-)@(.+)$")
| |
| 4857 | if filename and url then | |
| 4858 | if url == nil or url == "None" or url:match("^%s*$") then
| |
| 4859 | warn("[UserModule] Skipping asset with no URL: " .. filename)
| |
| 4860 | continue | |
| 4861 | end | |
| 4862 | if filename:match(".mp3") or filename:match(".ogg") or filename:match(".wav") or filename:match(".flac") or filename:match(".aac") then
| |
| 4863 | local folder = MusicFolder | |
| 4864 | local path = folder .. "/" .. filename | |
| 4865 | RegisterAssets[path] = url | |
| 4866 | print("[UserModule] Registered audio asset: " .. filename)
| |
| 4867 | if isfile and not isfile(path) then | |
| 4868 | task.spawn(function() | |
| 4869 | local ok, err = pcall(function() | |
| 4870 | writefile(path, game:HttpGet(url)) | |
| 4871 | end) | |
| 4872 | if not ok then | |
| 4873 | warn("[UserModule] Failed to download asset: " .. filename .. " - " .. tostring(err))
| |
| 4874 | else | |
| 4875 | print("[UserModule] Downloaded: " .. filename)
| |
| 4876 | end | |
| 4877 | end) | |
| 4878 | repeat wait() until os.clock()+5 | |
| 4879 | end | |
| 4880 | elseif filename:match(".rbxm") then
| |
| 4881 | local folder = Models | |
| 4882 | local path = folder .. "/" .. filename | |
| 4883 | RegisterAssets[path] = url | |
| 4884 | print("[UserModule] Registered Model asset: " .. filename)
| |
| 4885 | if isfile and not isfile(path) then | |
| 4886 | task.spawn(function() | |
| 4887 | local ok, err = pcall(function() | |
| 4888 | writefile(path, game:HttpGet(url)) | |
| 4889 | end) | |
| 4890 | if not ok then | |
| 4891 | warn("[UserModule] Failed to download asset: " .. filename .. " - " .. tostring(err))
| |
| 4892 | else | |
| 4893 | print("[UserModule] Downloaded: " .. filename)
| |
| 4894 | end | |
| 4895 | end) | |
| 4896 | else | |
| 4897 | repeat wait() until os.clock()+5 | |
| 4898 | end | |
| 4899 | else | |
| 4900 | local path = DanceFolder .. "/" .. filename | |
| 4901 | RegisterAssets[path] = url | |
| 4902 | print("[UserModule] Registered dance asset: " .. filename)
| |
| 4903 | if isfile and not isfile(path) then | |
| 4904 | task.spawn(function() | |
| 4905 | local ok, err = pcall(function() | |
| 4906 | writefile(path, game:HttpGet(url)) | |
| 4907 | end) | |
| 4908 | if not ok then | |
| 4909 | warn("[UserModule] Failed to download asset: " .. filename .. " - " .. tostring(err))
| |
| 4910 | else | |
| 4911 | print("[UserModule] Downloaded: " .. filename)
| |
| 4912 | end | |
| 4913 | end) | |
| 4914 | else | |
| 4915 | repeat wait() until os.clock()+5 | |
| 4916 | end | |
| 4917 | end | |
| 4918 | end | |
| 4919 | end | |
| 4920 | end | |
| 4921 | ||
| 4922 | ||
| 4923 | ||
| 4924 | local LastReanimChanged=Instance.new("StringValue")
| |
| 4925 | local ok, raw = pcall(readfile, ModuleConfigFile) | |
| 4926 | if ok and raw and #raw > 2 then | |
| 4927 | local ok2, decoded = pcall(function() | |
| 4928 | return game:GetService("HttpService"):JSONDecode(raw)
| |
| 4929 | end) | |
| 4930 | if ok2 and type(decoded) == "table" then | |
| 4931 | TDZConfigs = decoded | |
| 4932 | end | |
| 4933 | end | |
| 4934 | if type(TDZConfigs._TypeOfReanim) == "string" then | |
| 4935 | TypeOfReanim = TDZConfigs._TypeOfReanim | |
| 4936 | if TypeOfReanim == "Gelatek" then | |
| 4937 | Gelatek.Name = "1Gelatek" | |
| 4938 | CurrentAngle.Name = "2CurrentAngle" | |
| 4939 | Emp.Name = "3Emp" | |
| 4940 | UI["Reanimator_11"]["Text"] = [[Selected: Gelatek]] | |
| 4941 | LastReanimChanged.Value="Gelatek" | |
| 4942 | elseif TypeOfReanim == "CurrentAngle" then | |
| 4943 | Gelatek.Name = "2Gelatek" | |
| 4944 | CurrentAngle.Name = "1CurrentAngle" | |
| 4945 | Emp.Name = "3Emp" | |
| 4946 | UI["Reanimator_11"]["Text"] = [[Selected: CurrentAngle]] | |
| 4947 | LastReanimChanged.Value="CurrentAngle" | |
| 4948 | else | |
| 4949 | TypeOfReanim = "Emper" | |
| 4950 | Gelatek.Name = "2Gelatek" | |
| 4951 | CurrentAngle.Name = "3CurrentAngle" | |
| 4952 | Emp.Name = "1Emp" | |
| 4953 | UI["Reanimator_11"]["Text"] = [[Selected: Empyrean]] | |
| 4954 | LastReanimChanged.Value="Emper" | |
| 4955 | lbl1.Text="Disabled : true -- Emper Reanimate" | |
| 4956 | HookThing.Value="Emper" | |
| 4957 | end | |
| 4958 | end | |
| 4959 | if type(TDZConfigs._CharScale) == "string" and TDZConfigs._CharScale ~= "" then | |
| 4960 | UI["CharScale_b"].Text = TDZConfigs._CharScale | |
| 4961 | end | |
| 4962 | if type(TDZConfigs.InvStyling) == "boolean" and TDZConfigs.InvStyling ~= nil then | |
| 4963 | DisableCustomInventory=TDZConfigs.InvStyling | |
| 4964 | end | |
| 4965 | if type(TDZConfigs._SmoothCam) == "boolean" and TDZConfigs._SmoothCam ~= nil then | |
| 4966 | ad.Value=TDZConfigs._SmoothCam | |
| 4967 | end | |
| 4968 | ||
| 4969 | ||
| 4970 | ||
| 4971 | ||
| 4972 | ||
| 4973 | local _cfgFont = Font.new([[rbxasset://fonts/families/Zekton.json]], Enum.FontWeight.Regular, Enum.FontStyle.Normal) | |
| 4974 | ||
| 4975 | function Util_CreateText(parent, text, size, align) | |
| 4976 | if not parent then return end | |
| 4977 | size= size or 16 | |
| 4978 | align = align or Enum.TextXAlignment.Left | |
| 4979 | local lbl = Instance.new("TextLabel", parent)
| |
| 4980 | lbl.Size= UDim2.new(1, -8, 0, size + 6) | |
| 4981 | lbl.BackgroundTransparency = 1 | |
| 4982 | lbl.Font= Enum.Font.Unknown | |
| 4983 | lbl.FontFace= _cfgFont | |
| 4984 | lbl.TextSize= size | |
| 4985 | lbl.TextColor3= Color3.fromRGB(255, 255, 255) | |
| 4986 | lbl.TextXAlignment= align | |
| 4987 | lbl.TextWrapped = true | |
| 4988 | lbl.RichText= true | |
| 4989 | lbl.Text= text | |
| 4990 | lbl.AutomaticSize = Enum.AutomaticSize.Y | |
| 4991 | return lbl | |
| 4992 | end | |
| 4993 | ||
| 4994 | function Util_CreateSeparator(parent) | |
| 4995 | if not parent then return end | |
| 4996 | local f = Instance.new("Frame", parent)
| |
| 4997 | f.Size= UDim2.new(1, -8, 0, 2) | |
| 4998 | f.BackgroundColor3= Color3.fromRGB(255, 0, 0) | |
| 4999 | f.BorderSizePixel = 0 | |
| 5000 | return f | |
| 5001 | end | |
| 5002 | ||
| 5003 | function Util_CreateButton(parent, text, size) | |
| 5004 | if not parent then return end | |
| 5005 | size = size or 18 | |
| 5006 | local Button = Instance.new("TextButton", parent)
| |
| 5007 | Button.Size= UDim2.new(1, -8, 0, 34) | |
| 5008 | Button.BackgroundColor3= Color3.fromRGB(20, 20, 20) | |
| 5009 | Button.BackgroundTransparency = 1 | |
| 5010 | Button.Font= Enum.Font.Unknown | |
| 5011 | Button.FontFace= _cfgFont | |
| 5012 | Button.TextSize= size | |
| 5013 | Button.TextColor3= Color3.fromRGB(255, 255, 255) | |
| 5014 | Button.TextWrapped = true | |
| 5015 | Button.Text= text | |
| 5016 | Button.AutoButtonColor = true | |
| 5017 | UI["B"] = Instance.new("UIStroke", Button);
| |
| 5018 | UI["B"]["ApplyStrokeMode"] = Enum.ApplyStrokeMode.Border; | |
| 5019 | UI["B"]["LineJoinMode"] = Enum.LineJoinMode.Miter; | |
| 5020 | UI["B"]["Thickness"] = 2; | |
| 5021 | UI["B"]["Color"] = Color3.fromRGB(255, 255, 255); | |
| 5022 | UI["C"] = Instance.new("UIGradient", UI["B"]);
| |
| 5023 | UI["C"]["Color"] = ColorSequence.new{ColorSequenceKeypoint.new(0.000, Color3.fromRGB(0, 0, 0)),ColorSequenceKeypoint.new(0.500, Primary),ColorSequenceKeypoint.new(1.000, Color3.fromRGB(0, 0, 0))};
| |
| 5024 | table.insert(IndexGradients,UI["C"]) | |
| 5025 | return Button | |
| 5026 | end | |
| 5027 | ||
| 5028 | function Util_CreateSwitch(parent, label, Default) | |
| 5029 | if not parent then | |
| 5030 | local bindable = Instance.new("BindableEvent")
| |
| 5031 | return { Changed = bindable.Event }
| |
| 5032 | end | |
| 5033 | local ROW_H = 34 | |
| 5034 | local container = Instance.new("Frame", parent)
| |
| 5035 | container.Size= UDim2.new(1, -8, 0, ROW_H) | |
| 5036 | container.BackgroundTransparency = 1 | |
| 5037 | container.BorderSizePixel = 0 | |
| 5038 | ||
| 5039 | local lbl = Instance.new("TextLabel", container)
| |
| 5040 | lbl.Size= UDim2.new(1, -54, 1, 0) | |
| 5041 | lbl.Position= UDim2.new(0, 4, 0, 0) | |
| 5042 | lbl.BackgroundTransparency= 1 | |
| 5043 | lbl.Font= Enum.Font.Unknown | |
| 5044 | lbl.FontFace= _cfgFont | |
| 5045 | lbl.TextSize= 16 | |
| 5046 | lbl.TextColor3= Color3.fromRGB(255, 255, 255) | |
| 5047 | lbl.TextXAlignment= Enum.TextXAlignment.Left | |
| 5048 | lbl.TextWrapped= true | |
| 5049 | lbl.Text= label or "" | |
| 5050 | ||
| 5051 | local toggle = Instance.new("TextButton", container)
| |
| 5052 | toggle.AnchorPoint= Vector2.new(1, 0.5) | |
| 5053 | toggle.Position= UDim2.new(1, -4, 0.5, 0) | |
| 5054 | toggle.Size= UDim2.new(0, 44, 0, 22) | |
| 5055 | toggle.BorderSizePixel= 0 | |
| 5056 | toggle.Font= Enum.Font.Unknown | |
| 5057 | toggle.FontFace= _cfgFont | |
| 5058 | toggle.TextSize= 12 | |
| 5059 | toggle.TextColor3= Color3.fromRGB(255, 255, 255) | |
| 5060 | toggle.Text= "" | |
| 5061 | toggle.AutoButtonColor= false | |
| 5062 | Instance.new("UICorner", toggle).CornerRadius = UDim.new(1, 0)
| |
| 5063 | ||
| 5064 | local knob = Instance.new("Frame", toggle)
| |
| 5065 | knob.Size= UDim2.new(0, 16, 0, 16) | |
| 5066 | knob.AnchorPoint= Vector2.new(0, 0.5) | |
| 5067 | knob.Position= UDim2.new(0, 3, 0.5, 0) | |
| 5068 | knob.BackgroundColor3= Color3.fromRGB(255, 255, 255) | |
| 5069 | knob.BorderSizePixel= 0 | |
| 5070 | Instance.new("UICorner", knob).CornerRadius = UDim.new(1, 0)
| |
| 5071 | ||
| 5072 | local value = not not Default | |
| 5073 | local bindable = Instance.new("BindableEvent")
| |
| 5074 | local proxy = { Changed = bindable.Event }
| |
| 5075 | ||
| 5076 | local function refresh() | |
| 5077 | if value then | |
| 5078 | toggle.BackgroundColor3 = Primary | |
| 5079 | knob.BackgroundColor3 = Secondary | |
| 5080 | knob.Position = UDim2.new(1, -19, 0.5, 0) | |
| 5081 | else | |
| 5082 | toggle.BackgroundColor3 = Secondary | |
| 5083 | knob.BackgroundColor3 = Primary | |
| 5084 | knob.Position = UDim2.new(0, 3, 0.5, 0) | |
| 5085 | end | |
| 5086 | end | |
| 5087 | refresh() | |
| 5088 | ||
| 5089 | toggle.MouseButton1Click:Connect(function() | |
| 5090 | value = not value | |
| 5091 | refresh() | |
| 5092 | bindable:Fire(value) | |
| 5093 | end) | |
| 5094 | return proxy | |
| 5095 | end | |
| 5096 | ||
| 5097 | function Util_CreateSlider(parent, label, min, max, Default, step) | |
| 5098 | if not parent then return { Changed = Instance.new("BindableEvent").Event } end
| |
| 5099 | min= min or 0 | |
| 5100 | max= max or 1 | |
| 5101 | Default = Default or min | |
| 5102 | step= step or 0.01 | |
| 5103 | ||
| 5104 | local ROW_H = 50 | |
| 5105 | local container = Instance.new("Frame", parent)
| |
| 5106 | container.Size= UDim2.new(1, -8, 0, ROW_H) | |
| 5107 | container.BackgroundTransparency = 1 | |
| 5108 | container.BorderSizePixel = 0 | |
| 5109 | ||
| 5110 | local lbl = Instance.new("TextLabel", container)
| |
| 5111 | lbl.Size= UDim2.new(1, -60, 0, 20) | |
| 5112 | lbl.Position= UDim2.new(0, 4, 0, 2) | |
| 5113 | lbl.BackgroundTransparency = 1 | |
| 5114 | lbl.Font= Enum.Font.Unknown | |
| 5115 | lbl.FontFace= _cfgFont | |
| 5116 | lbl.TextSize= 15 | |
| 5117 | lbl.TextColor3= Color3.fromRGB(255, 255, 255) | |
| 5118 | lbl.TextXAlignment= Enum.TextXAlignment.Left | |
| 5119 | lbl.Text= label or "" | |
| 5120 | ||
| 5121 | local valLbl = Instance.new("TextLabel", container)
| |
| 5122 | valLbl.AnchorPoint= Vector2.new(1, 0) | |
| 5123 | valLbl.Position= UDim2.new(1, -4, 0, 2) | |
| 5124 | valLbl.Size= UDim2.new(0, 52, 0, 20) | |
| 5125 | valLbl.BackgroundTransparency = 1 | |
| 5126 | valLbl.Font= Enum.Font.Unknown | |
| 5127 | valLbl.FontFace= _cfgFont | |
| 5128 | valLbl.TextSize= 15 | |
| 5129 | valLbl.TextColor3= Color3.fromRGB(255, 0, 0) | |
| 5130 | valLbl.TextXAlignment= Enum.TextXAlignment.Right | |
| 5131 | ||
| 5132 | local track = Instance.new("Frame", container)
| |
| 5133 | track.Position= UDim2.new(0, 4, 0, 28) | |
| 5134 | track.Size= UDim2.new(1, -8, 0, 10) | |
| 5135 | track.BackgroundColor3= Color3.fromRGB(60, 60, 60) | |
| 5136 | track.BorderSizePixel= 0 | |
| 5137 | Instance.new("UICorner", track).CornerRadius = UDim.new(1, 0)
| |
| 5138 | ||
| 5139 | local fill = Instance.new("Frame", track)
| |
| 5140 | fill.Size= UDim2.new(0, 0, 1, 0) | |
| 5141 | fill.BackgroundColor3= Color3.fromRGB(200, 0, 0) | |
| 5142 | fill.BorderSizePixel= 0 | |
| 5143 | Instance.new("UICorner", fill).CornerRadius = UDim.new(1, 0)
| |
| 5144 | ||
| 5145 | local Button = Instance.new("TextButton", track)
| |
| 5146 | Button.Size= UDim2.new(1, 0, 1, 0) | |
| 5147 | Button.BackgroundTransparency = 1 | |
| 5148 | Button.Text= "" | |
| 5149 | ||
| 5150 | local value = math.clamp(Default, min, max) | |
| 5151 | local bindable = Instance.new("BindableEvent")
| |
| 5152 | local proxy = { Changed = bindable.Event }
| |
| 5153 | ||
| 5154 | local function setVal(v) | |
| 5155 | local rounded = math.round(v / step) * step | |
| 5156 | value = math.clamp(rounded, min, max) | |
| 5157 | local alpha = (value - min) / (max - min) | |
| 5158 | fill.Size = UDim2.new(alpha, 0, 1, 0) | |
| 5159 | local display = math.round(value * 100) / 100 | |
| 5160 | valLbl.Text = tostring(display) | |
| 5161 | bindable:Fire(value) | |
| 5162 | end | |
| 5163 | setVal(Default) | |
| 5164 | ||
| 5165 | local dragging = false | |
| 5166 | Button.MouseButton1Down:Connect(function() dragging = true end) | |
| 5167 | game:GetService("UserInputService").InputEnded:Connect(function(inp)
| |
| 5168 | if inp.UserInputType == Enum.UserInputType.MouseButton1 or inp.UserInputType == Enum.UserInputType.Touch then | |
| 5169 | dragging = false | |
| 5170 | end | |
| 5171 | end) | |
| 5172 | game:GetService("RunService").RenderStepped:Connect(function()
| |
| 5173 | if dragging then | |
| 5174 | local mouse = game:GetService("UserInputService"):GetMouseLocation()
| |
| 5175 | local abs = track.AbsolutePosition | |
| 5176 | local sz = track.AbsoluteSize | |
| 5177 | local alpha = math.clamp((mouse.X - abs.X) / sz.X, 0, 1) | |
| 5178 | setVal(min + (max - min) * alpha) | |
| 5179 | end | |
| 5180 | end) | |
| 5181 | return proxy | |
| 5182 | end | |
| 5183 | ||
| 5184 | function Util_CreateDropdown(parent, label, options, Default) | |
| 5185 | if not parent then return { Changed = Instance.new("BindableEvent").Event } end
| |
| 5186 | options = options or {}
| |
| 5187 | Default = Default or 1 | |
| 5188 | ||
| 5189 | local ROW_H = 34 | |
| 5190 | local container = Instance.new("Frame", parent)
| |
| 5191 | container.Size= UDim2.new(1, -8, 0, ROW_H) | |
| 5192 | container.BackgroundTransparency = 1 | |
| 5193 | container.BorderSizePixel = 0 | |
| 5194 | container.ClipsDescendants = false | |
| 5195 | ||
| 5196 | ||
| 5197 | local lbl = Instance.new("TextLabel", container)
| |
| 5198 | lbl.Size= UDim2.new(0.45, 0, 1, 0) | |
| 5199 | lbl.Position= UDim2.new(0, 4, 0, 0) | |
| 5200 | lbl.BackgroundTransparency = 1 | |
| 5201 | lbl.Font= Enum.Font.Unknown | |
| 5202 | lbl.FontFace= _cfgFont | |
| 5203 | lbl.TextSize= 15 | |
| 5204 | lbl.TextColor3= Color3.fromRGB(255, 255, 255) | |
| 5205 | lbl.TextXAlignment= Enum.TextXAlignment.Left | |
| 5206 | lbl.TextWrapped= true | |
| 5207 | lbl.Text= label or "" | |
| 5208 | table.insert(IndexWhitwTexts,lbl) | |
| 5209 | ||
| 5210 | local dropdown = Instance.new("TextButton", container)
| |
| 5211 | dropdown.AnchorPoint= Vector2.new(1, 0.5) | |
| 5212 | dropdown.Position= UDim2.new(1, -4, 0.5, 0) | |
| 5213 | dropdown.Size= UDim2.new(0.52, 0, 0, 26) | |
| 5214 | dropdown.BackgroundColor3= Color3.fromRGB(20, 20, 20) | |
| 5215 | dropdown.ZIndex= 5 | |
| 5216 | dropdown.BackgroundTransparency= 1 | |
| 5217 | dropdown.Font= Enum.Font.Unknown | |
| 5218 | dropdown.FontFace= _cfgFont | |
| 5219 | dropdown.TextSize= 14 | |
| 5220 | dropdown.TextColor3= Color3.fromRGB(255, 255, 255) | |
| 5221 | dropdown.Text= options[Default] or "" | |
| 5222 | dropdown.AutoButtonColor= true | |
| 5223 | UI["B"] = Instance.new("UIStroke", dropdown);
| |
| 5224 | UI["B"]["ApplyStrokeMode"] = Enum.ApplyStrokeMode.Border; | |
| 5225 | UI["B"]["LineJoinMode"] = Enum.LineJoinMode.Miter; | |
| 5226 | UI["B"]["Thickness"] = 2; | |
| 5227 | UI["B"]["Color"] = Color3.fromRGB(255, 255, 255); | |
| 5228 | UI["C"] = Instance.new("UIGradient", UI["B"]);
| |
| 5229 | UI["C"]["Color"] = ColorSequence.new{ColorSequenceKeypoint.new(0.000, Color3.fromRGB(0, 0, 0)),ColorSequenceKeypoint.new(0.500, Primary),ColorSequenceKeypoint.new(1.000, Color3.fromRGB(0, 0, 0))};
| |
| 5230 | table.insert(IndexGradients,UI["C"]) | |
| 5231 | Instance.new("UICorner", dropdown).CornerRadius = UDim.new(0, 4)
| |
| 5232 | ||
| 5233 | ||
| 5234 | local bindable = Instance.new("BindableEvent")
| |
| 5235 | local proxy= { Changed = bindable.Event }
| |
| 5236 | local isOpen= false | |
| 5237 | local list= nil | |
| 5238 | ||
| 5239 | local function closeList() | |
| 5240 | if list then list:Destroy() list = nil end | |
| 5241 | isOpen = false | |
| 5242 | end | |
| 5243 | ||
| 5244 | dropdown.MouseButton1Click:Connect(function() | |
| 5245 | if isOpen then closeList() return end | |
| 5246 | isOpen = true | |
| 5247 | list = Instance.new("Frame", dropdown)
| |
| 5248 | list.ZIndex= 10 | |
| 5249 | list.Position= UDim2.new(0, 0, 1, 2) | |
| 5250 | list.Size= UDim2.new(1, 0, 0, #options * 26) | |
| 5251 | list.BackgroundColor3 = Color3.fromRGB(0, 0, 0) | |
| 5252 | list.BorderSizePixel= 0 | |
| 5253 | list.BackgroundTransparency= .85 | |
| 5254 | list.ClipsDescendants = false | |
| 5255 | Instance.new("UICorner", list).CornerRadius = UDim.new(0, 4)
| |
| 5256 | local ListLayoutl = Instance.new("UIListLayout", list)
| |
| 5257 | ListLayoutl.FillDirection = Enum.FillDirection.Vertical | |
| 5258 | ListLayoutl.HorizontalAlignment= Enum.HorizontalAlignment.Center | |
| 5259 | for i, opt in ipairs(options) do | |
| 5260 | local item = Instance.new("TextButton", list)
| |
| 5261 | item.Size= UDim2.new(1, 0, 0, 26) | |
| 5262 | item.BackgroundColor3= Color3.fromRGB(30, 30, 30) | |
| 5263 | item.BorderSizePixel= 0 | |
| 5264 | item.Font= Enum.Font.Unknown | |
| 5265 | item.FontFace= _cfgFont | |
| 5266 | item.TextSize= 14 | |
| 5267 | item.TextColor3= Secondary | |
| 5268 | table.insert(IndexWhitwTexts,item) | |
| 5269 | item.Text= opt | |
| 5270 | local idx = i | |
| 5271 | item.MouseButton1Click:Connect(function() | |
| 5272 | dropdown.Text = opt | |
| 5273 | closeList() | |
| 5274 | bindable:Fire(idx) | |
| 5275 | end) | |
| 5276 | end | |
| 5277 | end) | |
| 5278 | return proxy | |
| 5279 | end | |
| 5280 | ||
| 5281 | function Util_CreateTextbox(parent, label, Default, placeholder) | |
| 5282 | if not parent then return { Changed = Instance.new("BindableEvent").Event } end
| |
| 5283 | local ROW_H = 34 | |
| 5284 | local container = Instance.new("Frame", parent)
| |
| 5285 | container.Size = UDim2.new(1, -8, 0, ROW_H) | |
| 5286 | container.BackgroundTransparency = 1 | |
| 5287 | container.BorderSizePixel = 0 | |
| 5288 | ||
| 5289 | local lbl = Instance.new("TextLabel", container)
| |
| 5290 | lbl.Size= UDim2.new(0.4, 0, 1, 0) | |
| 5291 | lbl.Position= UDim2.new(0, 4, 0, 0) | |
| 5292 | lbl.BackgroundTransparency= 1 | |
| 5293 | lbl.Font= Enum.Font.Unknown | |
| 5294 | lbl.FontFace= _cfgFont | |
| 5295 | lbl.TextSize= 15 | |
| 5296 | lbl.TextColor3= Primary | |
| 5297 | lbl.TextXAlignment= Enum.TextXAlignment.Left | |
| 5298 | lbl.Text= label or "" | |
| 5299 | ||
| 5300 | local box = Instance.new("TextBox", container)
| |
| 5301 | box.AnchorPoint= Vector2.new(1, 0.5) | |
| 5302 | box.Position= UDim2.new(1, -4, 0.5, 0) | |
| 5303 | box.Size= UDim2.new(0.57, 0, 0, 26) | |
| 5304 | box.BackgroundColor3= Color3.fromRGB(20, 20, 20) | |
| 5305 | box.BorderSizePixel= 0 | |
| 5306 | box.Font= Enum.Font.Unknown | |
| 5307 | box.FontFace= _cfgFont | |
| 5308 | box.TextSize= 14 | |
| 5309 | box.TextColor3= Primary | |
| 5310 | box.PlaceholderText= placeholder or "" | |
| 5311 | box.Text= Default or "" | |
| 5312 | box.ClearTextOFocus= false | |
| 5313 | Instance.new("UICorner", box).CornerRadius = UDim.new(0, 4)
| |
| 5314 | local Stroke = Instance.new("UIStroke", box)
| |
| 5315 | Stroke.Thickness= 1 | |
| 5316 | Stroke.Color= Color3.fromRGB(180, 0, 0) | |
| 5317 | ||
| 5318 | local bindable = Instance.new("BindableEvent")
| |
| 5319 | local proxy= { Changed = bindable.Event }
| |
| 5320 | box.FocusLost:Connect(function() | |
| 5321 | bindable:Fire(box.Text) | |
| 5322 | end) | |
| 5323 | return proxy | |
| 5324 | end | |
| 5325 | ||
| 5326 | function Util_CreateCanvas(parent) | |
| 5327 | if not parent then return parent end | |
| 5328 | return parent | |
| 5329 | end | |
| 5330 | ||
| 5331 | function Util_CreateScrollCanvas(parent) | |
| 5332 | if not parent then return parent end | |
| 5333 | return parent | |
| 5334 | end | |
| 5335 | ||
| 5336 | ||
| 5337 | local function GiveFunctionsToModule(func) | |
| 5338 | local env = getfenv(func) | |
| 5339 | env.Util_CreateText= Util_CreateText | |
| 5340 | env.Util_CreateButton= Util_CreateButton | |
| 5341 | env.Util_CreateSwitch= Util_CreateSwitch | |
| 5342 | env.Util_CreateSlider= Util_CreateSlider | |
| 5343 | env.Util_CreateDropdown= Util_CreateDropdown | |
| 5344 | env.Util_CreateTextbox= Util_CreateTextbox | |
| 5345 | env.Util_CreateSeparator= Util_CreateSeparator | |
| 5346 | env.Util_CreateCanvas= Util_CreateCanvas | |
| 5347 | env.Util_CreateScrollCanvas = Util_CreateScrollCanvas | |
| 5348 | env.AnimLib= AnimLib | |
| 5349 | env.SetOverrideDanceMusic= SetOverrideDanceMusic | |
| 5350 | env.GetOverrideDanceMusicTime = GetOverrideDanceMusicTime | |
| 5351 | env.SetOverrideDanceMusicTime = SetOverrideDanceMusicTime | |
| 5352 | env.AssetGetPathFromFilename= AssetGetPathFromFilename | |
| 5353 | env.AssetGetContentId= AssetGetContentId | |
| 5354 | end | |
| 5355 | ||
| 5356 | local function LoadUserModules() | |
| 5357 | local ok, files = pcall(listfiles, UserDances) | |
| 5358 | if not ok or not files then return end | |
| 5359 | ||
| 5360 | for _, filePath in ipairs(files) do | |
| 5361 | if filePath:match("%.lua$") then
| |
| 5362 | local success, resListLayoutt = pcall(function() | |
| 5363 | return loadstring(readfile(filePath))() | |
| 5364 | end) | |
| 5365 | if success and type(resListLayoutt) == "table" then | |
| 5366 | for _, factory in ipairs(resListLayoutt) do | |
| 5367 | if type(factory) == "function" then | |
| 5368 | local ok2, m = pcall(factory) | |
| 5369 | if ok2 and type(m) == "table" and m.ModuleType == "DANCE" and m.Name then | |
| 5370 | local entry = {
| |
| 5371 | Name = m.Name, | |
| 5372 | Music = "", | |
| 5373 | DanceName = "UserModule", | |
| 5374 | Url = "UserModule", | |
| 5375 | Id = "None", | |
| 5376 | Offset = 0, | |
| 5377 | WalkSpeed = 14, | |
| 5378 | Looped = (m.Looped or true), | |
| 5379 | UseSoundPos = false, | |
| 5380 | Alpha = (m.Alpha or .1), | |
| 5381 | _userModule = m, | |
| 5382 | _factory = factory, | |
| 5383 | } | |
| 5384 | DownloadModuleAssets(m.Assets) | |
| 5385 | table.insert(TableOfDances, entry) | |
| 5386 | print("[UserModule] Registered: " .. m.Name)
| |
| 5387 | end | |
| 5388 | end | |
| 5389 | end | |
| 5390 | else | |
| 5391 | warn("[UserModule] Failed to load: " .. filePath .. " | " .. tostring(resListLayoutt))
| |
| 5392 | end | |
| 5393 | end | |
| 5394 | end | |
| 5395 | end | |
| 5396 | local function LoadBuiltInDances() | |
| 5397 | local ok, files = pcall(listfiles, builtins) | |
| 5398 | if not ok or not files then return end | |
| 5399 | ||
| 5400 | for _, filePath in ipairs(files) do | |
| 5401 | if filePath:match("%.lua$") then
| |
| 5402 | local success, resListLayoutt = pcall(function() | |
| 5403 | return loadstring(readfile(filePath))() | |
| 5404 | end) | |
| 5405 | if success and type(resListLayoutt) == "table" then | |
| 5406 | for _, factory in ipairs(resListLayoutt) do | |
| 5407 | if type(factory) == "function" then | |
| 5408 | local ok2, m = pcall(factory) | |
| 5409 | if ok2 and type(m) == "table" and m.ModuleType == "DANCE" and m.Name then | |
| 5410 | local entry = {
| |
| 5411 | Name = m.Name, | |
| 5412 | Music = "", | |
| 5413 | DanceName = "UserModule", | |
| 5414 | Url = "UserModule", | |
| 5415 | Id = "None", | |
| 5416 | Offset = 0, | |
| 5417 | WalkSpeed = 14, | |
| 5418 | Looped = (m.Looped or true), | |
| 5419 | UseSoundPos = false, | |
| 5420 | Alpha = (m.Alpha or .1), | |
| 5421 | _userModule = m, | |
| 5422 | _isBuiltin = true, | |
| 5423 | _factory = factory, | |
| 5424 | } | |
| 5425 | DownloadModuleAssets(m.Assets) | |
| 5426 | table.insert(TableOfDances, entry) | |
| 5427 | print("[UserModule] Registered Builtin: " .. m.Name)
| |
| 5428 | end | |
| 5429 | end | |
| 5430 | end | |
| 5431 | else | |
| 5432 | warn("[UserModule] Failed to load: " .. filePath .. " | " .. tostring(resListLayoutt))
| |
| 5433 | end | |
| 5434 | end | |
| 5435 | end | |
| 5436 | end | |
| 5437 | ||
| 5438 | ||
| 5439 | local function RedownloadUserAsset() | |
| 5440 | notify("Redownloading User Dance assets!")
| |
| 5441 | for path, url in pairs(RegisterAssets) do | |
| 5442 | task.spawn(function() | |
| 5443 | local ok, err = pcall(function() | |
| 5444 | writefile(path, game:HttpGet(url)) | |
| 5445 | end) | |
| 5446 | if not ok then | |
| 5447 | warn("[UserModule] Failed to redownload: " .. path .. " - " .. tostring(err))
| |
| 5448 | else | |
| 5449 | print("[UserModule] Redownloaded: " .. path)
| |
| 5450 | end | |
| 5451 | end) | |
| 5452 | end | |
| 5453 | end | |
| 5454 | ||
| 5455 | ||
| 5456 | local YourName=game.Players.LocalPlayer.Name | |
| 5457 | local INPUTLOOP=nil | |
| 5458 | local RUNNING=false | |
| 5459 | local States=nil | |
| 5460 | ||
| 5461 | ||
| 5462 | ||
| 5463 | local PrimaryTextBox = mktxb(MF2, "Primary Color", "", "Primary Color", u2(0, 150, 0, 50), u2(0, 10, 0, 50)) | |
| 5464 | mklbl(MF2, [[--// Primary Color \\--]],nil, u2(0, 20, 0, 110)) | |
| 5465 | ||
| 5466 | ||
| 5467 | ||
| 5468 | local SecondaryTextBox = mktxb(MF2, "Secondary Color", "", "Seconday Color", u2(0, 150, 0, 50), u2(0, 10, 0, 150)) | |
| 5469 | mklbl(MF2, [[--// Secondary Color \\--]],nil, u2(0, 30, 0, 210)) | |
| 5470 | ||
| 5471 | ||
| 5472 | local TweenSpeed = mktxb(MF2, "UI Tween Spees", "", "Tween Speed", u2(0, 150, 0, 50), u2(0, 10, 0, 350)) | |
| 5473 | mklbl(MF2, [[--// UI Tween Speed \\--]],nil, u2(0, 20, 0, 410)) | |
| 5474 | ||
| 5475 | TweenSpeed.FocusLost:Connect(function() | |
| 5476 | TweenAlph.Value=1/tonumber(TweenSpeed.Text) | |
| 5477 | TDZConfigs._UISpeed=TweenAlph.Value | |
| 5478 | SaveUIAndModuleConfigs() | |
| 5479 | end) | |
| 5480 | ||
| 5481 | ||
| 5482 | ||
| 5483 | ||
| 5484 | for _, a in UI["Interface_1"]:GetDescendants() do | |
| 5485 | if a:IsA("TextLabel") or a:IsA("TextButton") then
| |
| 5486 | local c = a.TextColor3 | |
| 5487 | if c == Color3.fromRGB(255, 0, 0) then | |
| 5488 | table.insert(IndexRedTexts, a) | |
| 5489 | elseif c == Color3.fromRGB(255, 255, 255) then | |
| 5490 | table.insert(IndexWhitwTexts, a) | |
| 5491 | end | |
| 5492 | elseif a:IsA("UIGradient") then
| |
| 5493 | local kps = a.Color.Keypoints | |
| 5494 | table.insert(IndexGradients, a) | |
| 5495 | end | |
| 5496 | end | |
| 5497 | ||
| 5498 | local function ParseColor3Input(text) | |
| 5499 | text = text:gsub("%s+", "") -- strip spaces
| |
| 5500 | ||
| 5501 | local r, g, b = text:match("Color3%.fromRGB%((%d+),(%d+),(%d+)%)")
| |
| 5502 | if r then | |
| 5503 | r, g, b = tonumber(r), tonumber(g), tonumber(b) | |
| 5504 | if r and g and b and r <= 255 and g <= 255 and b <= 255 then | |
| 5505 | return Color3.fromRGB(r, g, b) | |
| 5506 | end | |
| 5507 | end | |
| 5508 | ||
| 5509 | local nr, ng, nb = text:match("Color3%.new%(([%d%.]+),([%d%.]+),([%d%.]+)%)")
| |
| 5510 | if nr then | |
| 5511 | nr, ng, nb = tonumber(nr), tonumber(ng), tonumber(nb) | |
| 5512 | if nr and ng and nb and nr <= 1 and ng <= 1 and nb <= 1 then | |
| 5513 | return Color3.new(nr, ng, nb) | |
| 5514 | end | |
| 5515 | end | |
| 5516 | ||
| 5517 | return nil | |
| 5518 | end | |
| 5519 | ||
| 5520 | local function ApplyPrimaryColor(color) | |
| 5521 | task.defer(function() | |
| 5522 | for _, lbl in next, IndexRedTexts do | |
| 5523 | pcall(function() lbl.TextColor3 = color end) | |
| 5524 | Primary=color | |
| 5525 | end | |
| 5526 | for _, grad in next, IndexGradients do | |
| 5527 | pcall(function() | |
| 5528 | grad.Color = ColorSequence.new{
| |
| 5529 | ColorSequenceKeypoint.new(0.000, Color3.fromRGB(0, 0, 0)), | |
| 5530 | ColorSequenceKeypoint.new(0.500, color), | |
| 5531 | ColorSequenceKeypoint.new(1.000, Color3.fromRGB(0, 0, 0)), | |
| 5532 | } | |
| 5533 | end) | |
| 5534 | end | |
| 5535 | end) | |
| 5536 | end | |
| 5537 | ||
| 5538 | local function ApplySecondaryColor(color) | |
| 5539 | task.defer(function() | |
| 5540 | for _, lbl in next,IndexWhitwTexts do | |
| 5541 | pcall(function() lbl.TextColor3 = color end) | |
| 5542 | Secondary=color | |
| 5543 | end | |
| 5544 | end) | |
| 5545 | end | |
| 5546 | ||
| 5547 | ||
| 5548 | local saved = TDZConfigs | |
| 5549 | if saved._PrimaryColor then | |
| 5550 | local c = saved._PrimaryColor | |
| 5551 | pcall(function() | |
| 5552 | ApplyPrimaryColor(Color3.fromRGB(c[1], c[2], c[3])) | |
| 5553 | Primary=Color3.fromRGB(c[1], c[2], c[3]) | |
| 5554 | end) | |
| 5555 | end | |
| 5556 | if saved._SecondaryColor then | |
| 5557 | local c = saved._SecondaryColor | |
| 5558 | pcall(function() | |
| 5559 | ApplySecondaryColor(Color3.fromRGB(c[1], c[2], c[3])) | |
| 5560 | Secondary=Color3.fromRGB(c[1], c[2], c[3]) | |
| 5561 | end) | |
| 5562 | end | |
| 5563 | if type(TDZConfigs._UISpeed)=="number" and TDZConfigs._UISpeed~=nil or TDZConfigs._UISpeed~="" then | |
| 5564 | TweenAlph.Value=tonumber(TDZConfigs._UISpeed) | |
| 5565 | print(TDZConfigs._UISpeed) | |
| 5566 | end | |
| 5567 | ||
| 5568 | ||
| 5569 | local function Color3ToTable(c) | |
| 5570 | return {
| |
| 5571 | math.round(c.R * 255), | |
| 5572 | math.round(c.G * 255), | |
| 5573 | math.round(c.B * 255), | |
| 5574 | } | |
| 5575 | end | |
| 5576 | ||
| 5577 | PrimaryTextBox.FocusLost:Connect(function() | |
| 5578 | local input = PrimaryTextBox.Text | |
| 5579 | local color = ParseColor3Input(input) | |
| 5580 | if color then | |
| 5581 | ApplyPrimaryColor(color) | |
| 5582 | TDZConfigs._PrimaryColor = Color3ToTable(color) | |
| 5583 | SaveUIAndModuleConfigs() | |
| 5584 | notify("Primary Color updated!")
| |
| 5585 | else | |
| 5586 | notify("Invalid format! Use Color3.fromRGB(r,g,b) or Color3.new(r,g,b)")
| |
| 5587 | end | |
| 5588 | end) | |
| 5589 | SecondaryTextBox.FocusLost:Connect(function() | |
| 5590 | local input = SecondaryTextBox.Text | |
| 5591 | local color = ParseColor3Input(input) | |
| 5592 | if color then | |
| 5593 | ApplySecondaryColor(color) | |
| 5594 | TDZConfigs._SecondaryColor = Color3ToTable(color) | |
| 5595 | SaveUIAndModuleConfigs() | |
| 5596 | notify("Secondary Color updated!")
| |
| 5597 | else | |
| 5598 | notify("Invalid format! Use Color3.fromRGB(r,g,b) or Color3.new(r,g,b)")
| |
| 5599 | end | |
| 5600 | end) | |
| 5601 | ||
| 5602 | ||
| 5603 | Ee=MF4.ChildAdded:Connect(function() | |
| 5604 | for _, a in MF4:GetDescendants() do | |
| 5605 | if a:IsA("TextLabel") or a:IsA("TextButton") then
| |
| 5606 | if table.find(IndexWhitwTexts,a) then return end | |
| 5607 | local c = a.TextColor3 | |
| 5608 | if c == Color3.fromRGB(255, 0, 0) then | |
| 5609 | table.insert(IndexRedTexts, a) | |
| 5610 | elseif c == Color3.fromRGB(255, 255, 255) then | |
| 5611 | table.insert(IndexWhitwTexts, a) | |
| 5612 | end | |
| 5613 | elseif a:IsA("UIGradient") then
| |
| 5614 | if table.find(IndexWhitwTexts,a) then return end | |
| 5615 | table.insert(IndexGradients, a) | |
| 5616 | end | |
| 5617 | local saved = TDZConfigs | |
| 5618 | if saved._PrimaryColor then | |
| 5619 | local c = saved._PrimaryColor | |
| 5620 | pcall(function() | |
| 5621 | ApplyPrimaryColor(Color3.fromRGB(c[1], c[2], c[3])) | |
| 5622 | end) | |
| 5623 | end | |
| 5624 | if saved._SecondaryColor then | |
| 5625 | local c = saved._SecondaryColor | |
| 5626 | pcall(function() | |
| 5627 | ApplySecondaryColor(Color3.fromRGB(c[1], c[2], c[3])) | |
| 5628 | end) | |
| 5629 | end | |
| 5630 | if saved._PrimaryColor==nil or saved._PrimaryColor then | |
| 5631 | Primary=Color3.new(1,0,0) | |
| 5632 | end | |
| 5633 | if saved._SecondaryColor==nil or saved._SecondaryColor=="" then | |
| 5634 | Secondary=Color3.new(1,1,1) | |
| 5635 | end | |
| 5636 | end | |
| 5637 | end) | |
| 5638 | ||
| 5639 | task.spawn(function() | |
| 5640 | aaaa=UI["CharScale_b"].FocusLost:Connect(function() | |
| 5641 | TDZConfigs._CharScale = UI["CharScale_b"].Text | |
| 5642 | SaveUIAndModuleConfigs() | |
| 5643 | end) | |
| 5644 | end) | |
| 5645 | ||
| 5646 | ||
| 5647 | local ClonedDanceTable=nil | |
| 5648 | task.spawn(function() | |
| 5649 | --// Init Modules) | |
| 5650 | notify("Loading Builtin Modules...")
| |
| 5651 | LoadUserModules() | |
| 5652 | notify("Loading User Modules...")
| |
| 5653 | LoadBuiltInDances() | |
| 5654 | AddLoadeModuleDances() | |
| 5655 | notify("Init Complete")
| |
| 5656 | ClonedDanceTable=table.clone(TableOfDances) | |
| 5657 | end) | |
| 5658 | repeat wait() until ClonedDanceTable~=nil | |
| 5659 | local backup=ExtraBackup | |
| 5660 | local Detect=Instance.new("BoolValue")
| |
| 5661 | local IsReloading=false | |
| 5662 | ReloadAssets.MouseButton1Click:Connect(function() | |
| 5663 | if IsReloading== true then return end | |
| 5664 | IsReloading=true | |
| 5665 | Detect.Value=true | |
| 5666 | Hmmm.Value=true | |
| 5667 | wait(.2) | |
| 5668 | if ActiveDanceConfiguratuonPage then | |
| 5669 | ActiveDanceConfiguratuonPage:Destroy() | |
| 5670 | ActiveDanceConfiguratuonPage = nil | |
| 5671 | end | |
| 5672 | BuiltInDancesList.Interactable = true | |
| 5673 | UserDancesList.Interactable = true | |
| 5674 | table.clear(UserDanceContainer) | |
| 5675 | table.clear(QueueEmotesThatIsntLooped) | |
| 5676 | table.clear(RegisterAssets) | |
| 5677 | UserDanceContainer = {}
| |
| 5678 | RegisterAssets= {}
| |
| 5679 | QueueEmotesThatIsntLooped= {}
| |
| 5680 | TableOfDances = table.clone(backup) | |
| 5681 | task.wait() | |
| 5682 | notify("Loading Builtin Modules...")
| |
| 5683 | LoadUserModules() | |
| 5684 | notify("Loading User Modules...")
| |
| 5685 | LoadBuiltInDances() | |
| 5686 | AddLoadeModuleDances() | |
| 5687 | notify("Reloaded Module/s")
| |
| 5688 | Detect.Value=false | |
| 5689 | IsReloading=false | |
| 5690 | Hmmm.Value=false | |
| 5691 | end) | |
| 5692 | local usure=1 | |
| 5693 | RedownloadButton.MouseButton1Click:Connect(function() | |
| 5694 | if usure==1 then | |
| 5695 | RedownloadButton.Text="U Sure?" | |
| 5696 | usure=2 | |
| 5697 | elseif usure==2 then | |
| 5698 | RedownloadButton.Text="U wanna reddownload all assets?" | |
| 5699 | usure=3 | |
| 5700 | RedownloadButton.TextWrapped=true | |
| 5701 | RedownloadButton.Scaled=true | |
| 5702 | elseif usure==3 then | |
| 5703 | RedownloadButton.Text="Redownloading..." | |
| 5704 | RedownloadButton.TextWrapped=false | |
| 5705 | RedownloadButton.Scaled=false | |
| 5706 | notify("Redownloading Assets!")
| |
| 5707 | for _,a in next,listfiles(DanceFolder) do | |
| 5708 | delfile(a) | |
| 5709 | end | |
| 5710 | for _,a in next,listfiles(MusicFolder) do | |
| 5711 | delfile(a) | |
| 5712 | end | |
| 5713 | RedownloadUserAsset() | |
| 5714 | RedownloadAssert() | |
| 5715 | notify("Assets Redownloaded!")
| |
| 5716 | usure=1 | |
| 5717 | end | |
| 5718 | end) | |
| 5719 | ||
| 5720 | ||
| 5721 | ||
| 5722 | function MainScript() | |
| 5723 | if RUNNING then notify("Already Running") return end
| |
| 5724 | function Reanimate() | |
| 5725 | if RUNNING then return end | |
| 5726 | RUNNING=true | |
| 5727 | IsRunning1.Value=true | |
| 5728 | local Place = game.placeId | |
| 5729 | local jabthing=game.ReplicatedStorage:FindFirstChild("01_server")
| |
| 5730 | if jabthing then | |
| 5731 | if not replicatesignal then | |
| 5732 | TypeOfReanim="CurrentAngle" | |
| 5733 | notify("Gelatek Reanimate Not Supported")
| |
| 5734 | end | |
| 5735 | if TypeOfReanim=="CurrentAngle" then | |
| 5736 | Backup() | |
| 5737 | repeat wait() until ws:FindFirstChild(YourName.."_Fake") | |
| 5738 | elseif TypeOfReanim=="Gelatek" then | |
| 5739 | loadstring(game:HttpGet("https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/VeryVeryReanimate.lua"))()
| |
| 5740 | task.wait(.1) | |
| 5741 | game.ReplicatedStorage["01_server"]:FireServer("cmd", "-net ")
| |
| 5742 | elseif TypeOfReanim=="Emper" then | |
| 5743 | workspace[YourName].HumanoidRootPart.AssemblyLinearVelocity=Vector3.new(0,0,0) | |
| 5744 | Backup1() | |
| 5745 | task.wait(.1) | |
| 5746 | end | |
| 5747 | else | |
| 5748 | if TypeOfReanim=="Gelatek" then | |
| 5749 | TypeOfReanim="CurrentAngle" | |
| 5750 | end | |
| 5751 | if TypeOfReanim=="CurrentAngle" then | |
| 5752 | Backup() | |
| 5753 | repeat wait() until ws:FindFirstChild(YourName.."_Fake") | |
| 5754 | elseif TypeOfReanim=="Emper" then | |
| 5755 | workspace[YourName].HumanoidRootPart.AssemblyLinearVelocity=Vector3.new(0,0,0) | |
| 5756 | Backup1() | |
| 5757 | task.wait() | |
| 5758 | end | |
| 5759 | end | |
| 5760 | end | |
| 5761 | Reanimate() | |
| 5762 | LastReanimChanged.Value=TypeOfReanim | |
| 5763 | local char=nil | |
| 5764 | local IndexTools={}
| |
| 5765 | pcall(function() | |
| 5766 | if workspace:FindFirstChild("GelatekReanimate") then
| |
| 5767 | char=workspace["GelatekReanimate"] | |
| 5768 | elseif workspace:FindFirstChild(YourName.."_Fake") then | |
| 5769 | char=workspace[YourName.."_Fake"] | |
| 5770 | elseif workspace:FindFirstChild("ReanimatedRig") then
| |
| 5771 | char=workspace["ReanimatedRig"] | |
| 5772 | else | |
| 5773 | char=workspace[YourName.."_Fake"] | |
| 5774 | end | |
| 5775 | end) | |
| 5776 | StringVal.Value=char.Name | |
| 5777 | print("Runned")
| |
| 5778 | ||
| 5779 | task.spawn(function() | |
| 5780 | aaaa=UI["CharScale_b"].FocusLost:Connect(function() | |
| 5781 | if not RUNNING then aaaa:Disconnect() end | |
| 5782 | pcall(function() | |
| 5783 | char:ScaleTo(tonumber(UI["CharScale_b"].Text) or 1) | |
| 5784 | char.HumanoidRootPart.CFrame=char.HumanoidRootPart.CFrame*CFrame.new(0,tonumber(UI["CharScale_b"].Text or 1)*2,0) | |
| 5785 | char.HumanoidRootPart.Anchored=true -- Anchore it | |
| 5786 | char.HumanoidRootPart.CanCollide=true | |
| 5787 | task.wait(.2) -- Leave a small delay to prevent character from phasing through the ground | |
| 5788 | char.HumanoidRootPart.Anchored=false | |
| 5789 | char.HumanoidRootPart.CanCollide=false | |
| 5790 | end) | |
| 5791 | TDZConfigs._CharScale = UI["CharScale_b"].Text | |
| 5792 | SaveUIAndModuleConfigs() | |
| 5793 | end) | |
| 5794 | end) | |
| 5795 | local Buttons={}
| |
| 5796 | task.spawn(function() | |
| 5797 | for _,a in char:GetChildren() do | |
| 5798 | if a:IsA("BasePart") and a.Name~="HumanoidRootPart" and a.Name~="Torso" then
| |
| 5799 | local Button=mkbtn(UI["ScrollingFrame2_1e"],a.Name,a.Name) | |
| 5800 | Button.MouseButton1Click:Connect(function() | |
| 5801 | Button:Destroy() | |
| 5802 | char[a.Name]:Remove() | |
| 5803 | end) | |
| 5804 | table.insert(Buttons,Button) | |
| 5805 | end | |
| 5806 | end | |
| 5807 | local saved = TDZConfigs | |
| 5808 | if saved._PrimaryColor then | |
| 5809 | local c = saved._PrimaryColor | |
| 5810 | pcall(function() | |
| 5811 | ApplyPrimaryColor(Color3.fromRGB(c[1], c[2], c[3])) | |
| 5812 | end) | |
| 5813 | end | |
| 5814 | if saved._SecondaryColor then | |
| 5815 | local c = saved._SecondaryColor | |
| 5816 | pcall(function() | |
| 5817 | ApplySecondaryColor(Color3.fromRGB(c[1], c[2], c[3])) | |
| 5818 | end) | |
| 5819 | end | |
| 5820 | end) | |
| 5821 | task.spawn(function() | |
| 5822 | if tonumber(UI["CharScale_b"].Text)==1 then | |
| 5823 | return | |
| 5824 | end | |
| 5825 | char:ScaleTo(tonumber(UI["CharScale_b"].Text) or 1) | |
| 5826 | char.HumanoidRootPart.CFrame=char.HumanoidRootPart.CFrame*CFrame.new(0,tonumber(UI["CharScale_b"].Text or 1)*2,0) | |
| 5827 | char.HumanoidRootPart.Anchored=true -- Anchore it | |
| 5828 | task.wait(.2) -- Leave a small delay to prevent character from phasing through the ground | |
| 5829 | char.HumanoidRootPart.Anchored=false | |
| 5830 | end) | |
| 5831 | --// Custom Tool/Inventory Gui | |
| 5832 | local G2L={};
| |
| 5833 | G2L["1"] = Instance.new("ScreenGui", hui);
| |
| 5834 | G2L["1"]["Name"] = [[Custom Inventory]]; | |
| 5835 | G2L["1"]["ResetOnSpawn"] = true; | |
| 5836 | if TypeOfReanim=="Emper" then | |
| 5837 | DisableCustomInventory=true | |
| 5838 | else | |
| 5839 | DisableCustomInventory=bc.Value | |
| 5840 | end | |
| 5841 | ||
| 5842 | if not DisableCustomInventory then | |
| 5843 | -- StarterGui.Custom Inventory.Inventory | |
| 5844 | G2L["2"] = Instance.new("ImageLabel", G2L["1"]);
| |
| 5845 | G2L["2"]["Active"] = true; | |
| 5846 | G2L["2"]["ZIndex"] = 0; | |
| 5847 | G2L["2"]["BorderSizePixel"] = 0; | |
| 5848 | G2L["2"]["SliceCenter"] = Rect.new(5, 5, 945, 612); | |
| 5849 | G2L["2"]["ScaleType"] = Enum.ScaleType.Slice; | |
| 5850 | G2L["2"]["BackgroundColor3"] = Color3.fromRGB(0, 0, 0); | |
| 5851 | G2L["2"]["AnchorPoint"] = Vector2.new(0.5, 1); | |
| 5852 | G2L["2"]["Size"] = UDim2.new(0, 225, 0, 100); | |
| 5853 | G2L["2"]["Visible"] = false; | |
| 5854 | G2L["2"]["BorderColor3"] = Color3.fromRGB(28, 43, 54); | |
| 5855 | G2L["2"]["BackgroundTransparency"] = 0.5; | |
| 5856 | G2L["2"]["Name"] = [[Inventory]]; | |
| 5857 | G2L["2"]["Position"] = UDim2.new(0.5, 0, 0.925, -20); | |
| 5858 | G2L["2"]["BackgroundTransparency"] = .75; | |
| 5859 | ||
| 5860 | ||
| 5861 | -- StarterGui.Custom Inventory.Inventory.Frame | |
| 5862 | G2L["3"] = Instance.new("ScrollingFrame", G2L["2"]);
| |
| 5863 | G2L["3"]["Active"] = true; | |
| 5864 | G2L["3"]["ScrollingDirection"] = Enum.ScrollingDirection.Y; | |
| 5865 | G2L["3"]["BorderSizePixel"] = 0; | |
| 5866 | G2L["3"]["CanvasSize"] = UDim2.new(0, 0, 0, 0); | |
| 5867 | G2L["3"]["ElasticBehavior"] = Enum.ElasticBehavior.Never; | |
| 5868 | G2L["3"]["TopImage"] = [[]]; | |
| 5869 | G2L["3"]["BackgroundColor3"] = Color3.fromRGB(255, 255, 255); | |
| 5870 | G2L["3"]["Name"] = [[Frame]]; | |
| 5871 | G2L["3"]["ScrollBarImageTransparency"] = 0.4; | |
| 5872 | G2L["3"]["BottomImage"] = [[]]; | |
| 5873 | G2L["3"]["AnchorPoint"] = Vector2.new(0.5, 0.5); | |
| 5874 | G2L["3"]["AutomaticCanvasSize"] = Enum.AutomaticSize.Y; | |
| 5875 | G2L["3"]["Size"] = UDim2.new(0.98, 0, 0.86193, 0); | |
| 5876 | G2L["3"]["ScrollBarImageColor3"] = Color3.fromRGB(0, 0, 0); | |
| 5877 | G2L["3"]["Position"] = UDim2.new(0.50106, 0, 0.54904, 0); | |
| 5878 | G2L["3"]["BorderColor3"] = Color3.fromRGB(28, 43, 54); | |
| 5879 | G2L["3"]["ScrollBarThickness"] = 5; | |
| 5880 | G2L["3"]["BackgroundTransparency"] = 1; | |
| 5881 | ||
| 5882 | ||
| 5883 | -- StarterGui.Custom Inventory.Inventory.Frame.Grid | |
| 5884 | G2L["4"] = Instance.new("UIGridLayout", G2L["3"]);
| |
| 5885 | G2L["4"]["CellSize"] = UDim2.new(0, 90, 0, 100); | |
| 5886 | G2L["4"]["Name"] = [[Grid]]; | |
| 5887 | G2L["4"]["CellPadding"] = UDim2.new(0, 15, 0, 15); | |
| 5888 | ||
| 5889 | ||
| 5890 | -- StarterGui.Custom Inventory.Inventory.Frame.UIPadding | |
| 5891 | G2L["5"] = Instance.new("UIPadding", G2L["3"]);
| |
| 5892 | G2L["5"]["PaddingTop"] = UDim.new(0, 5); | |
| 5893 | G2L["5"]["PaddingLeft"] = UDim.new(0, 5); | |
| 5894 | ||
| 5895 | ||
| 5896 | -- StarterGui.Custom Inventory.Inventory.SearchBox | |
| 5897 | G2L["6"] = Instance.new("TextBox", G2L["2"]);
| |
| 5898 | G2L["6"]["LineHeight"] = 1.1; | |
| 5899 | G2L["6"]["Name"] = [[SearchBox]]; | |
| 5900 | G2L["6"]["PlaceholderColor3"] = Color3.fromRGB(255, 255, 255); | |
| 5901 | G2L["6"]["TextWrapped"] = true; | |
| 5902 | G2L["6"]["ClearTextOnFocus"] = false; | |
| 5903 | G2L["6"]["TextSize"] = 14; | |
| 5904 | G2L["6"]["TextColor3"] = Color3.new(1, 1, 1); | |
| 5905 | G2L["6"]["TextScaled"] = true; | |
| 5906 | G2L["6"]["BackgroundColor3"] = Color3.fromRGB(50, 50, 50); | |
| 5907 | G2L["6"]["Font"] = Enum.Font.Sarpanch; | |
| 5908 | G2L["6"]["AnchorPoint"] = Vector2.new(0.5, 0); | |
| 5909 | G2L["6"]["PlaceholderText"] = [[Search...]]; | |
| 5910 | G2L["6"]["Size"] = UDim2.new(0, 225, 0.04893, 20); | |
| 5911 | G2L["6"]["Position"] = UDim2.new(0, 112,0,-30); | |
| 5912 | G2L["6"]["BorderColor3"] = Color3.fromRGB(28, 43, 54); | |
| 5913 | G2L["6"]["Text"] = [[]]; | |
| 5914 | G2L["6"]["BackgroundTransparency"] = .75; | |
| 5915 | ||
| 5916 | ||
| 5917 | -- StarterGui.Custom Inventory.Inventory.SearchBox.UICorner | |
| 5918 | G2L["7"] = Instance.new("UICorner", G2L["6"]);
| |
| 5919 | G2L["7"]["CornerRadius"] = UDim.new(0.2, 0); | |
| 5920 | ||
| 5921 | ||
| 5922 | -- StarterGui.Custom Inventory.Inventory.UICorner | |
| 5923 | G2L["8"] = Instance.new("UICorner", G2L["2"]);
| |
| 5924 | G2L["8"]["CornerRadius"] = UDim.new(0.05, 0); | |
| 5925 | ||
| 5926 | ||
| 5927 | -- StarterGui.Custom Inventory.hotBar | |
| 5928 | G2L["9"] = Instance.new("Frame", G2L["1"]);
| |
| 5929 | G2L["9"]["ZIndex"] = 0; | |
| 5930 | G2L["9"]["BorderSizePixel"] = 0; | |
| 5931 | G2L["9"]["BackgroundColor3"] = Color3.fromRGB(255, 255, 255); | |
| 5932 | G2L["9"]["AnchorPoint"] = Vector2.new(0.5, 1); | |
| 5933 | G2L["9"]["Size"] = UDim2.new(0.45209, 0, 0.05, 20); | |
| 5934 | G2L["9"]["Position"] = UDim2.new(0.5, 0, 0.99, -5); | |
| 5935 | G2L["9"]["BorderColor3"] = Color3.fromRGB(28, 43, 54); | |
| 5936 | G2L["9"]["Name"] = [[hotBar]]; | |
| 5937 | G2L["9"]["BackgroundTransparency"] = 1; | |
| 5938 | ||
| 5939 | ||
| 5940 | -- StarterGui.Custom Inventory.hotBar.Grid | |
| 5941 | G2L["a"] = Instance.new("UIGridLayout", G2L["9"]);
| |
| 5942 | G2L["a"]["HorizontalAlignment"] = Enum.HorizontalAlignment.Center; | |
| 5943 | G2L["a"]["CellSize"] = UDim2.new(0, 100, 0, 100); | |
| 5944 | G2L["a"]["Name"] = [[Grid]]; | |
| 5945 | G2L["a"]["CellPadding"] = UDim2.new(0.01, 5, 0, 5); | |
| 5946 | ||
| 5947 | ||
| 5948 | -- StarterGui.Custom Inventory.openButton | |
| 5949 | G2L["b"] = Instance.new("ImageButton", G2L["1"]);
| |
| 5950 | G2L["b"]["BorderSizePixel"] = 0; | |
| 5951 | G2L["b"]["BackgroundTransparency"] = 1; | |
| 5952 | G2L["b"]["BackgroundColor3"] = Color3.fromRGB(50, 50, 50); | |
| 5953 | G2L["b"]["ZIndex"] = 6; | |
| 5954 | G2L["b"]["AnchorPoint"] = Vector2.new(0.5, 1); | |
| 5955 | G2L["b"]["Size"] = UDim2.new(0, 60, 0, 60); | |
| 5956 | G2L["b"]["BorderColor3"] = Color3.fromRGB(0, 0, 0); | |
| 5957 | G2L["b"]["Name"] = [[openButton]]; | |
| 5958 | G2L["b"]["Position"] = UDim2.new(.34, 0, 1.043, 0); | |
| 5959 | ||
| 5960 | G2L["b1"] =Instance.new("UICorner", G2L["b"]);
| |
| 5961 | ||
| 5962 | -- StarterGui.Custom Inventory.openButton.info | |
| 5963 | G2L["c"] = Instance.new("TextLabel", G2L["b"]);
| |
| 5964 | G2L["c"]["TextWrapped"] = true; | |
| 5965 | G2L["c"]["ZIndex"] = 1; | |
| 5966 | G2L["c"]["BorderSizePixel"] = 0; | |
| 5967 | G2L["c"]["TextSize"] = 14; | |
| 5968 | G2L["c"]["TextScaled"] = true; | |
| 5969 | G2L["c"]["BackgroundColor3"] = Color3.fromRGB(50, 50, 50); | |
| 5970 | G2L["c"]["Font"] = Enum.Font.Sarpanch; | |
| 5971 | G2L["c"]["TextColor3"] = Color3.fromRGB(255, 255, 255); | |
| 5972 | G2L["c"]["BackgroundTransparency"] = .50; | |
| 5973 | ---G2L["c"]["AnchorPoint"] = Vector2.new(0.5, 0.5); | |
| 5974 | G2L["c"]["Size"] = UDim2.new(0, 40, 0, 40); | |
| 5975 | G2L["c"]["BorderColor3"] = Color3.fromRGB(0, 0, 0); | |
| 5976 | G2L["c"]["Text"] = [[Show]]; | |
| 5977 | G2L["c"]["TextSize"] = 14; | |
| 5978 | G2L["c"]["Name"] = [[info]]; | |
| 5979 | G2L["c"]["Position"] = UDim2.new(0, 0, 0, 0); | |
| 5980 | ||
| 5981 | ||
| 5982 | -- StarterGui.Custom Inventory.openButton.info.UIStroke | |
| 5983 | G2L["d"] = Instance.new("UIStroke", G2L["c"]);
| |
| 5984 | G2L["d1"] = Instance.new("UICorner", G2L["c"]);
| |
| 5985 | G2L["d"]["LineJoinMode"] = Enum.LineJoinMode.Miter; | |
| 5986 | G2L["d"]["Thickness"] = 0; | |
| 5987 | ||
| 5988 | ||
| 5989 | -- StarterGui.Custom Inventory.InventoryController | |
| 5990 | G2L["e"] = Instance.new("LocalScript", G2L["1"]);
| |
| 5991 | G2L["e"]["Name"] = [[InventoryController]]; | |
| 5992 | ||
| 5993 | ||
| 5994 | -- StarterGui.Custom Inventory.InventoryController.SETTINGS | |
| 5995 | G2L["f"] = Instance.new("ModuleScript", G2L["e"]);
| |
| 5996 | G2L["f"]["Name"] = [[SETTINGS]]; | |
| 5997 | ||
| 5998 | ||
| 5999 | -- StarterGui.Custom Inventory.InventoryController.toolButton | |
| 6000 | G2L["10"] = Instance.new("ImageButton", G2L["e"]);
| |
| 6001 | G2L["10"]["SizeConstraint"] = Enum.SizeConstraint.RelativeYY; | |
| 6002 | G2L["10"]["BorderSizePixel"] = 0; | |
| 6003 | G2L["10"]["SliceCenter"] = Rect.new(5, 11, 942, 606); | |
| 6004 | G2L["10"]["ScaleType"] = Enum.ScaleType.Slice; | |
| 6005 | G2L["10"]["AutoButtonColor"] = false; | |
| 6006 | G2L["10"]["BackgroundTransparency"] = .75; | |
| 6007 | G2L["10"]["BackgroundColor3"] = Color3.fromRGB(50, 50, 50); | |
| 6008 | G2L["10"]["Size"] = UDim2.new(0, 0, 0, 0); | |
| 6009 | G2L["10"]["BorderColor3"] = Color3.fromRGB(28, 43, 54); | |
| 6010 | G2L["10"]["Name"] = [[toolButton]]; | |
| 6011 | G2L["10"]["Position"] = UDim2.new(0.44899, 0, 0.40652, 0); | |
| 6012 | ||
| 6013 | ||
| 6014 | -- StarterGui.Custom Inventory.InventoryController.toolButton.toolNumber | |
| 6015 | G2L["11"] = Instance.new("TextLabel", G2L["10"]);
| |
| 6016 | G2L["11"]["TextWrapped"] = true; | |
| 6017 | G2L["11"]["ZIndex"] = 2; | |
| 6018 | G2L["11"]["BorderSizePixel"] = 0; | |
| 6019 | G2L["11"]["TextSize"] = 14; | |
| 6020 | G2L["11"]["TextTransparency"] = .50; | |
| 6021 | G2L["11"]["TextScaled"] = true; | |
| 6022 | G2L["11"]["BackgroundColor3"] = Color3.fromRGB(255, 255, 255); | |
| 6023 | G2L["11"]["FontFace"] = Font.new([[rbxasset://fonts/families/SourceSansPro.json]], Enum.FontWeight.SemiBold, Enum.FontStyle.Normal); | |
| 6024 | G2L["11"]["TextColor3"] = Color3.fromRGB(255, 255, 255); | |
| 6025 | G2L["11"]["BackgroundTransparency"] = 1; | |
| 6026 | G2L["11"]["Size"] = UDim2.new(.4, 0, .4, 0); | |
| 6027 | G2L["11"]["BorderColor3"] = Color3.fromRGB(28, 43, 54); | |
| 6028 | G2L["11"]["Text"] = [[1]]; | |
| 6029 | G2L["11"]["Name"] = [[toolNumber]]; | |
| 6030 | ||
| 6031 | ||
| 6032 | -- StarterGui.Custom Inventory.InventoryController.toolButton.toolName | |
| 6033 | G2L["12"] = Instance.new("TextLabel", G2L["10"]);
| |
| 6034 | G2L["12"]["TextWrapped"] = true; | |
| 6035 | G2L["12"]["ZIndex"] = 3; | |
| 6036 | G2L["12"]["BorderSizePixel"] = 0; | |
| 6037 | G2L["12"]["TextSize"] = 16; | |
| 6038 | G2L["12"]["TextScaled"] = true; | |
| 6039 | G2L["12"]["BackgroundColor3"] = Color3.fromRGB(255, 255, 255); | |
| 6040 | G2L["12"]["Font"] = Enum.Font.Sarpanch; | |
| 6041 | G2L["12"]["TextColor3"] = Color3.fromRGB(255, 255, 255); | |
| 6042 | G2L["12"]["BackgroundTransparency"] = 1; | |
| 6043 | G2L["12"]["AnchorPoint"] = Vector2.new(0.5, 0.5); | |
| 6044 | G2L["12"]["Size"] = UDim2.new(0.8, 0, 0.518, 0); | |
| 6045 | G2L["12"]["BorderColor3"] = Color3.fromRGB(28, 43, 54); | |
| 6046 | G2L["12"]["Text"] = [[N/A]]; | |
| 6047 | G2L["12"]["Name"] = [[toolName]]; | |
| 6048 | G2L["12"]["Position"] = UDim2.new(0.515, 0, 0.47079, 0); | |
| 6049 | ||
| 6050 | ||
| 6051 | -- StarterGui.Custom Inventory.InventoryController.toolButton.toolName.UIStroke | |
| 6052 | G2L["13"] = Instance.new("UIStroke", G2L["12"]);
| |
| 6053 | G2L["13"]["Thickness"] = 1; | |
| 6054 | ||
| 6055 | ||
| 6056 | -- StarterGui.Custom Inventory.InventoryController.toolButton.toolName.UITextSizeConstraint | |
| 6057 | G2L["14"] = Instance.new("UITextSizeConstraint", G2L["12"]);
| |
| 6058 | G2L["14"]["MaxTextSize"] = 20; | |
| 6059 | G2L["14"]["MinTextSize"] = 5; | |
| 6060 | ||
| 6061 | ||
| 6062 | -- StarterGui.Custom Inventory.InventoryController.toolButton.toolAmount | |
| 6063 | G2L["15"] = Instance.new("TextLabel", G2L["10"]);
| |
| 6064 | G2L["15"]["TextWrapped"] = true; | |
| 6065 | G2L["15"]["ZIndex"] = 3; | |
| 6066 | G2L["15"]["BorderSizePixel"] = 0; | |
| 6067 | G2L["15"]["TextSize"] = 14; | |
| 6068 | G2L["15"]["BackgroundColor3"] = Color3.fromRGB(255, 255, 255); | |
| 6069 | G2L["15"]["FontFace"] = Font.new([[rbxasset://fonts/families/SourceSansPro.json]], Enum.FontWeight.SemiBold, Enum.FontStyle.Normal); | |
| 6070 | G2L["15"]["TextColor3"] = Color3.fromRGB(255, 255, 255); | |
| 6071 | G2L["15"]["BackgroundTransparency"] = 1; | |
| 6072 | G2L["15"]["Size"] = UDim2.new(1.13, 0, 0.17, 0); | |
| 6073 | G2L["15"]["BorderColor3"] = Color3.fromRGB(28, 43, 54); | |
| 6074 | G2L["15"]["Text"] = [[]]; | |
| 6075 | G2L["15"]["Name"] = [[toolAmount]]; | |
| 6076 | G2L["15"]["Position"] = UDim2.new(-0.065, 0, 0.725, 0); | |
| 6077 | ||
| 6078 | ||
| 6079 | -- StarterGui.Custom Inventory.InventoryController.toolButton.toolAmount.UIStroke | |
| 6080 | G2L["16"] = Instance.new("UIStroke", G2L["15"]);
| |
| 6081 | G2L["16"]["Thickness"] = 3; | |
| 6082 | ||
| 6083 | ||
| 6084 | -- StarterGui.Custom Inventory.InventoryController.toolButton.toolIcon | |
| 6085 | G2L["17"] = Instance.new("ImageLabel", G2L["10"]);
| |
| 6086 | G2L["17"]["BorderSizePixel"] = 0; | |
| 6087 | G2L["17"]["BackgroundColor3"] = Color3.fromRGB(255, 255, 255); | |
| 6088 | -- [ERROR] cannot convert ImageContent, please report to "https://github.com/uniquadev/GuiToLuaConverter/issues" | |
| 6089 | G2L["17"]["AnchorPoint"] = Vector2.new(0.5, 0.5); | |
| 6090 | G2L["17"]["Image"] = [[rbxassetid://10202636594]]; | |
| 6091 | G2L["17"]["Size"] = UDim2.new(0, 40, 0, 40); | |
| 6092 | G2L["17"]["Visible"] = false; | |
| 6093 | G2L["17"]["BorderColor3"] = Color3.fromRGB(255, 255, 255); | |
| 6094 | G2L["17"]["BackgroundTransparency"] = 1; | |
| 6095 | G2L["17"]["Selectable"] = true; | |
| 6096 | G2L["17"]["Name"] = [[toolIcon]]; | |
| 6097 | G2L["17"]["Position"] = UDim2.new(0.5, 0, 0.5, 0); | |
| 6098 | ||
| 6099 | ||
| 6100 | -- StarterGui.Custom Inventory.InventoryController.toolButton.toolIcon.UIAspectRatioConstraint | |
| 6101 | G2L["18"] = Instance.new("UIAspectRatioConstraint", G2L["17"]);
| |
| 6102 | ||
| 6103 | ||
| 6104 | ||
| 6105 | -- StarterGui.Custom Inventory.InventoryController.toolButton.UIStroke | |
| 6106 | G2L["19"] = Instance.new("UIStroke", G2L["10"]);
| |
| 6107 | G2L["19"]["Thickness"] = 1; | |
| 6108 | ||
| 6109 | ||
| 6110 | -- StarterGui.Custom Inventory.InventoryController.toolButton.UICorner | |
| 6111 | G2L["1a"] = Instance.new("UICorner", G2L["10"]);
| |
| 6112 | ||
| 6113 | ||
| 6114 | -- Require G2L wrapper | |
| 6115 | local G2L_REQUIRE = require; | |
| 6116 | local G2L_MODuleS = {};
| |
| 6117 | local function require(Module:ModuleScript) | |
| 6118 | local ModuleState = G2L_MODuleS[Module]; | |
| 6119 | if ModuleState then | |
| 6120 | if not ModuleState.Required then | |
| 6121 | ModuleState.Required = true; | |
| 6122 | ModuleState.Value = ModuleState.Closure(); | |
| 6123 | end | |
| 6124 | return ModuleState.Value; | |
| 6125 | end; | |
| 6126 | return G2L_REQUIRE(Module); | |
| 6127 | end | |
| 6128 | ||
| 6129 | G2L_MODuleS[G2L["f"]] = {
| |
| 6130 | Closure = function() | |
| 6131 | local script = G2L["f"];local module = {OBJECTS = {}, SETTINGS = {},
| |
| 6132 | slotAmount = 4} | |
| 6133 | module.OBJECTS.HotBar = {}
| |
| 6134 | module.OBJECTS.Inventory = {}
| |
| 6135 | ||
| 6136 | -- SETTINGS | |
| 6137 | local SETTINGS = module.SETTINGS | |
| 6138 | SETTINGS.Default_COLOR = Color3.fromRGB(0, 0, 0) -- ToolFrame background color when unequipped | |
| 6139 | SETTINGS.EQUIPPED_COLOR = Color3.fromRGB(100, 100, 100) -- ToolFrame background color when equipped | |
| 6140 | SETTINGS.DISABLED_COLOR = Color3.fromRGB(50, 50, 50) -- ToolFrame background color when the tool is disabled | |
| 6141 | SETTINGS.Default_IMAGEID = "" | |
| 6142 | SETTINGS.EQUIPPED_IMAGEID = "" | |
| 6143 | SETTINGS.DISABLED_IMAGEID = "" | |
| 6144 | SETTINGS.INVENTORY_KEYBIND = Enum.KeyCode.Backquote -- KeyCode to open the Inventory itself (set to nil to disable the Inventory or Backpack) | |
| 6145 | SETTINGS.DRAG_OUTSIDE_TO_DROP = false -- If set to true any tool you drag outside of the Inventory or HotBar will be dropped to the floor | |
| 6146 | SETTINGS.SHOW_EMPTY_TOOL_FRAMES_IN_HOTBAR = false -- If set to true it will display all the tool frames in the HotBar even if they are empty and the Inventory closed | |
| 6147 | SETTINGS.SCROLL_HOTBAR_WITH_WHEEL = false -- If set to true it will enable you to scroll the HotBar with the mouse wheel | |
| 6148 | SETTINGS.EQUIP_TOUCH_SENSITIVITY = 60 -- The limit of how much you can drag a tool before it dosent equips/unequips it when you release it | |
| 6149 | SETTINGS.OPEN_BUTTON = true | |
| 6150 | SETTINGS.ALWAYS_SHOW_TOOL_NAME = true | |
| 6151 | ||
| 6152 | ||
| 6153 | ||
| 6154 | ||
| 6155 | ||
| 6156 | -- services | |
| 6157 | local ContextActionService = game:GetService("ContextActionService")
| |
| 6158 | local TextService = game:GetService("TextService")
| |
| 6159 | local UserInputService = game:GetService("UserInputService")
| |
| 6160 | local RunService = game:GetService("RunService")
| |
| 6161 | ||
| 6162 | --// PLAYER | |
| 6163 | local player = game:GetService("Players").LocalPlayer
| |
| 6164 | local playerGui = player:WaitForChild("PlayerGui")
| |
| 6165 | local mouse = player:GetMouse() | |
| 6166 | ||
| 6167 | --// INVENTORY_SYSTEM \\-- | |
| 6168 | local inventoryGui = script.Parent.Parent | |
| 6169 | local hotbar = inventoryGui.hotBar | |
| 6170 | local inventoryFrame = inventoryGui.Inventory | |
| 6171 | local toolButton = script.Parent.toolButton | |
| 6172 | ||
| 6173 | local EnumKeys = {
| |
| 6174 | Enum.KeyCode.One, | |
| 6175 | Enum.KeyCode.Two, | |
| 6176 | Enum.KeyCode.Three, | |
| 6177 | Enum.KeyCode.Four, | |
| 6178 | Enum.KeyCode.Five, | |
| 6179 | Enum.KeyCode.Six, | |
| 6180 | Enum.KeyCode.Seven, | |
| 6181 | Enum.KeyCode.Eight, | |
| 6182 | Enum.KeyCode.Nine, | |
| 6183 | Enum.KeyCode.Zero, | |
| 6184 | } | |
| 6185 | -- tool object methods | |
| 6186 | local toolObjectMetatable = {}
| |
| 6187 | toolObjectMetatable.__index = toolObjectMetatable | |
| 6188 | ||
| 6189 | function toolObjectMetatable:isEquipped() -- Checks if the current object.Tool is equipped | |
| 6190 | local character = char | |
| 6191 | ||
| 6192 | if character then | |
| 6193 | return self.Tool.Parent == player.Character | |
| 6194 | else | |
| 6195 | return false | |
| 6196 | end | |
| 6197 | end | |
| 6198 | ||
| 6199 | function toolObjectMetatable:DisconnectAll() -- Makes a cleanup of connections and binds as well as deletes object.Frame | |
| 6200 | for _, v in pairs(self.CONNECTIONS) do | |
| 6201 | v:Disconnect() | |
| 6202 | end | |
| 6203 | ||
| 6204 | self.didRemoval = true | |
| 6205 | ||
| 6206 | if (inventoryFrame.Visible or module.SETTINGS.SHOW_EMPTY_TOOL_FRAMES_IN_HOTBAR) and self.Frame.Parent ~= inventoryGui and self.Frame.Parent ~= inventoryFrame.Frame then | |
| 6207 | local toolName = self.Frame:FindFirstChild("toolName")
| |
| 6208 | local toolAmount = self.Frame:FindFirstChild("toolAmount")
| |
| 6209 | local toolIcon = self.Frame:FindFirstChild("toolIcon")
| |
| 6210 | ||
| 6211 | if toolName and toolAmount and toolIcon then | |
| 6212 | toolName.Text = "" | |
| 6213 | toolAmount.Text = "" | |
| 6214 | toolIcon.Image = "" | |
| 6215 | end | |
| 6216 | self.Frame.BackgroundColor3 = SETTINGS.Default_COLOR | |
| 6217 | self.Frame.Image = SETTINGS.Default_IMAGEID | |
| 6218 | else | |
| 6219 | self.Frame:Destroy() | |
| 6220 | end | |
| 6221 | ||
| 6222 | if self.Parent == "HotBar" and self.Position then | |
| 6223 | ContextActionService:UnbindAction(self.Position .. "hotBar") | |
| 6224 | module.OBJECTS.HotBar[self.Position] = nil | |
| 6225 | elseif self.Parent == "Inventory" then | |
| 6226 | module.OBJECTS.Inventory[self.Tool.Name] = nil | |
| 6227 | end | |
| 6228 | self = nil | |
| 6229 | end | |
| 6230 | ||
| 6231 | function toolObjectMetatable:updateIcon() -- Updates the tool Texture | |
| 6232 | local tool = self.Tool | |
| 6233 | local frame = self.Frame | |
| 6234 | local textureId = tool.TextureId | |
| 6235 | ||
| 6236 | if textureId == "" or textureId == nil then | |
| 6237 | frame.toolName.Visible = true | |
| 6238 | frame.toolIcon.Visible = false | |
| 6239 | frame.toolIcon.Image = "" | |
| 6240 | else | |
| 6241 | frame.toolName.Visible = SETTINGS.ALWAYS_SHOW_TOOL_NAME | |
| 6242 | frame.toolIcon.Visible = true | |
| 6243 | frame.toolIcon.Image = textureId | |
| 6244 | end | |
| 6245 | end | |
| 6246 | ||
| 6247 | function toolObjectMetatable:getParentInstance() | |
| 6248 | return self.Parent == "Inventory" and inventoryFrame.Frame or hotbar | |
| 6249 | end | |
| 6250 | ||
| 6251 | function toolObjectMetatable:showDescription() -- Shows the object.Tool.ToolTip | |
| 6252 | local toolDescription = self.Tool.ToolTip | |
| 6253 | local frame = self.Frame | |
| 6254 | if toolDescription == "" then | |
| 6255 | return | |
| 6256 | end | |
| 6257 | ||
| 6258 | local descriptionFrame = Instance.new("TextLabel")
| |
| 6259 | descriptionFrame.Name = "descriptionFrame" | |
| 6260 | descriptionFrame.AnchorPoint = Vector2.new(0.5, 0) | |
| 6261 | descriptionFrame.Font = Enum.Font.SourceSansSemibold | |
| 6262 | descriptionFrame.TextColor = BrickColor.Black() | |
| 6263 | descriptionFrame.TextSize = 14 | |
| 6264 | descriptionFrame.BorderSizePixel = 0 | |
| 6265 | descriptionFrame.BackgroundColor = BrickColor.White() | |
| 6266 | descriptionFrame.ZIndex = 99 | |
| 6267 | descriptionFrame.TextWrapped = true | |
| 6268 | descriptionFrame.Parent = inventoryGui | |
| 6269 | ||
| 6270 | local corner = Instance.new("UICorner")
| |
| 6271 | corner.Parent = descriptionFrame | |
| 6272 | corner.CornerRadius = UDim.new(0.12, 0) | |
| 6273 | ||
| 6274 | local textBounds = TextService:GetTextSize(toolDescription, descriptionFrame.TextSize, descriptionFrame.Font, Vector2.new(400, 1000)) + Vector2.new(10, 4) | |
| 6275 | descriptionFrame.Size = UDim2.new(0, textBounds.X, 0, textBounds.Y) | |
| 6276 | descriptionFrame.Position = UDim2.new(0, frame.AbsolutePosition.X + (frame.AbsoluteSize.X / 2), 0, frame.AbsolutePosition.Y - textBounds.Y - 2 + 57) | |
| 6277 | descriptionFrame.Text = toolDescription | |
| 6278 | self.DescriptionFrame = descriptionFrame | |
| 6279 | game:GetService("Debris"):AddItem(descriptionFrame, 15)
| |
| 6280 | end | |
| 6281 | ||
| 6282 | function toolObjectMetatable:removeDescription() -- Destroys the object.DescriptionFrame created by object:showDescription() | |
| 6283 | if self.DescriptionFrame then | |
| 6284 | self.DescriptionFrame:Destroy() | |
| 6285 | end | |
| 6286 | end | |
| 6287 | ||
| 6288 | function module:removeCurrentDescription() -- Destroys any current active descriptionFrame | |
| 6289 | local descriptionFrame = inventoryGui:FindFirstChild("descriptionFrame")
| |
| 6290 | if descriptionFrame then | |
| 6291 | descriptionFrame:Destroy() | |
| 6292 | end | |
| 6293 | end | |
| 6294 | ||
| 6295 | function module:getObjectFromTool(tool: Tool) -- Returns the ToolObject of a Tool | |
| 6296 | local function searchToolObject(toolParent) | |
| 6297 | for _, toolObject in pairs(toolParent) do | |
| 6298 | if toolObject.Tool == tool then | |
| 6299 | return toolObject | |
| 6300 | end | |
| 6301 | end | |
| 6302 | end | |
| 6303 | ||
| 6304 | return searchToolObject(self.OBJECTS.HotBar) or searchToolObject(self.OBJECTS.Inventory) | |
| 6305 | end | |
| 6306 | ||
| 6307 | function module:getToolPosition(tool: Tool) -- Returns the tool position on the hotbar (if in inventory retuns nil) | |
| 6308 | local toolObject = self:getObjectFromTool(tool) | |
| 6309 | return toolObject and toolObject.Position | |
| 6310 | end | |
| 6311 | ||
| 6312 | function module:searchTool() -- Handler for the tool search feature in the inventory | |
| 6313 | local toolName: string = inventoryFrame.SearchBox.Text | |
| 6314 | if toolName == "" then | |
| 6315 | for _, toolObject in pairs(self.OBJECTS["Inventory"]) do | |
| 6316 | toolObject.Frame.Visible = true | |
| 6317 | end | |
| 6318 | elseif toolName then | |
| 6319 | for _, toolObject in pairs(self.OBJECTS["Inventory"]) do | |
| 6320 | toolObject.Frame.Visible = string.find(toolObject.Name:lower(), toolName:lower()) and true or false | |
| 6321 | end | |
| 6322 | end | |
| 6323 | end | |
| 6324 | ||
| 6325 | function module:lockSlots(unequipCurrentTool: boolean) -- Locks the slots so they cant be equipped or unequipped | |
| 6326 | self.slotsLocked = true | |
| 6327 | ||
| 6328 | if unequipCurrentTool then | |
| 6329 | local character = char | |
| 6330 | local humanoid = character and character:FindFirstChildOfClass("Humanoid")
| |
| 6331 | if humanoid then | |
| 6332 | humanoid:UnequipTools() | |
| 6333 | end | |
| 6334 | end | |
| 6335 | end | |
| 6336 | function module:unlockSlots() -- Unlocks the slots so they can be equipped and unequipped again | |
| 6337 | self.slotsLocked = false | |
| 6338 | end | |
| 6339 | function module:lockSlotsPosition() -- Locks the slots position so they cant be moved around | |
| 6340 | self.slotsPositionLocked = false | |
| 6341 | end | |
| 6342 | function module:unlockSlotsPosition() -- Unlocks the slots positions so they can be moved again | |
| 6343 | self.slotsPositionLocked = true | |
| 6344 | end | |
| 6345 | ||
| 6346 | function module:newTool(tool: Tool) | |
| 6347 | if tool:GetAttribute("toolAdded") or not tool:IsA("Tool") then
| |
| 6348 | return | |
| 6349 | end | |
| 6350 | ||
| 6351 | local length = 0 | |
| 6352 | for _, _ in pairs(module.OBJECTS.HotBar) do | |
| 6353 | length += 1 | |
| 6354 | end | |
| 6355 | ||
| 6356 | module:addTool(tool, length == self.slotAmount and "Inventory" or "HotBar", tool:GetAttribute("position"))
| |
| 6357 | end | |
| 6358 | ||
| 6359 | function module:addTool(tool: Tool, parent: string, position: number) | |
| 6360 | tool:SetAttribute("position", nil)
| |
| 6361 | if position == -1 then | |
| 6362 | parent = "Inventory" | |
| 6363 | position = nil | |
| 6364 | end | |
| 6365 | ||
| 6366 | if not position and parent == "HotBar" then | |
| 6367 | for index = 1, self.slotAmount do | |
| 6368 | if self.OBJECTS.HotBar[index] == nil then | |
| 6369 | position = index | |
| 6370 | break | |
| 6371 | end | |
| 6372 | end | |
| 6373 | end | |
| 6374 | ||
| 6375 | if position and hotbar:FindFirstChild(position) then | |
| 6376 | hotbar:FindFirstChild(position):Destroy() | |
| 6377 | end | |
| 6378 | ||
| 6379 | local frame = toolButton:Clone() | |
| 6380 | local amount = tool:GetAttribute("amount") or 1
| |
| 6381 | if amount > 1 then | |
| 6382 | frame.toolAmount.Text = "x" .. amount | |
| 6383 | end | |
| 6384 | frame.toolName.Text = tool.Name | |
| 6385 | frame.Parent = parent == "Inventory" and inventoryFrame.Frame or hotbar | |
| 6386 | frame.Name = parent == "Inventory" and tool.Name or position | |
| 6387 | frame.toolNumber.Text = parent == "Inventory" and "" or position | |
| 6388 | ||
| 6389 | local object = {}
| |
| 6390 | setmetatable(object, toolObjectMetatable) | |
| 6391 | ||
| 6392 | object.Tool = tool | |
| 6393 | object.Frame = frame | |
| 6394 | object.Parent = parent | |
| 6395 | object.Position = position | |
| 6396 | object.Name = tool.Name | |
| 6397 | self.OBJECTS[parent][position == nil and frame.Name or position] = object | |
| 6398 | local function manageTool(_, inputState, inputObject) | |
| 6399 | if inputObject and inputObject.UserInputType ~= Enum.UserInputType.Keyboard and inputObject.UserInputType ~= Enum.UserInputType.Touch then | |
| 6400 | return | |
| 6401 | end | |
| 6402 | ||
| 6403 | local character = char | |
| 6404 | local humanoid = character and character:FindFirstChildOfClass("Humanoid")
| |
| 6405 | if | |
| 6406 | not humanoid | |
| 6407 | or humanoid.Health <= 0 | |
| 6408 | or not tool.Parent | |
| 6409 | or inputState == Enum.UserInputState.End | |
| 6410 | or self.slotsLocked | |
| 6411 | then | |
| 6412 | return | |
| 6413 | end | |
| 6414 | ||
| 6415 | if object:isEquipped() then -- if tool is equipped then unequip it | |
| 6416 | humanoid:UnequipTools() | |
| 6417 | frame.BackgroundColor3 = SETTINGS.Default_COLOR | |
| 6418 | frame.Image = SETTINGS.Default_IMAGEID | |
| 6419 | module.currentlyEquipped = nil | |
| 6420 | elseif tool.Enabled then -- if tool isnt equipped then equip it | |
| 6421 | humanoid:EquipTool(tool) | |
| 6422 | if module.currentlyEquipped and module.currentlyEquipped.Parent then | |
| 6423 | module.currentlyEquipped.BackgroundColor3 = SETTINGS.Default_COLOR | |
| 6424 | module.currentlyEquipped.Image = SETTINGS.Default_IMAGEID | |
| 6425 | end | |
| 6426 | module.currentlyEquipped = frame | |
| 6427 | frame.BackgroundColor3 = SETTINGS.EQUIPPED_COLOR | |
| 6428 | frame.Image = SETTINGS.EQUIPPED_IMAGEID | |
| 6429 | end | |
| 6430 | end | |
| 6431 | ||
| 6432 | local function updateEquipped() | |
| 6433 | if object:isEquipped() and tool.Enabled then | |
| 6434 | if module.currentlyEquipped and module.currentlyEquipped.Parent then | |
| 6435 | module.currentlyEquipped.BackgroundColor3 = SETTINGS.Default_COLOR | |
| 6436 | module.currentlyEquipped.Image = SETTINGS.Default_IMAGEID | |
| 6437 | end | |
| 6438 | module.currentlyEquipped = frame | |
| 6439 | frame.BackgroundColor3 = SETTINGS.EQUIPPED_COLOR | |
| 6440 | frame.Image = SETTINGS.EQUIPPED_IMAGEID | |
| 6441 | else | |
| 6442 | frame.BackgroundColor3 = SETTINGS.Default_COLOR | |
| 6443 | frame.Image = SETTINGS.Default_IMAGEID | |
| 6444 | module.currentlyEquipped = nil | |
| 6445 | end | |
| 6446 | end | |
| 6447 | ||
| 6448 | local function updateEnabled() | |
| 6449 | if tool.Enabled then | |
| 6450 | frame.Image = SETTINGS.Default_IMAGEID | |
| 6451 | frame.BackgroundColor3 = SETTINGS.Default_COLOR | |
| 6452 | frame.ImageTransparency = 0 | |
| 6453 | frame.toolIcon.ImageTransparency = 0 | |
| 6454 | frame.toolName.TextTransparency = 0 | |
| 6455 | frame.toolNumber.TextTransparency = 0 | |
| 6456 | frame.toolAmount.TextTransparency = 0 | |
| 6457 | ||
| 6458 | frame.toolAmount.UIStroke.Transparency = 0 | |
| 6459 | --frame.toolNumber.Transparency = 0 | |
| 6460 | frame.toolName.UIStroke.Transparency = 0 | |
| 6461 | else | |
| 6462 | frame.Image = SETTINGS.DISABLED_IMAGEID | |
| 6463 | frame.BackgroundColor3 = SETTINGS.DISABLED_COLOR | |
| 6464 | frame.ImageTransparency = 0.35 | |
| 6465 | frame.toolIcon.ImageTransparency = 0.5 | |
| 6466 | frame.toolName.TextTransparency = 0.6 | |
| 6467 | frame.toolNumber.TextTransparency = 0.6 | |
| 6468 | frame.toolAmount.TextTransparency = 0.6 | |
| 6469 | ||
| 6470 | frame.toolAmount.UIStroke.Transparency = 0.6 | |
| 6471 | --frame.toolNumber.Transparency = 0.6 | |
| 6472 | frame.toolName.UIStroke.Transparency = 0.6 | |
| 6473 | end | |
| 6474 | end | |
| 6475 | updateEnabled() | |
| 6476 | updateEquipped() | |
| 6477 | object:updateIcon() | |
| 6478 | ||
| 6479 | --// CONNECTIONS | |
| 6480 | object.CONNECTIONS = {}
| |
| 6481 | object.CONNECTIONS.EnabledConn = tool:GetPropertyChangedSignal("Enabled"):Connect(updateEnabled)
| |
| 6482 | object.CONNECTIONS.ToolRemoved = tool.AncestryChanged:Connect(function(_, newParent) | |
| 6483 | if player and (newParent == nil or (newParent ~= player.Backpack and newParent ~= player.Character)) then | |
| 6484 | object:DisconnectAll() | |
| 6485 | tool:SetAttribute("toolAdded", false)
| |
| 6486 | end | |
| 6487 | updateEquipped() | |
| 6488 | end) | |
| 6489 | object.CONNECTIONS.NameChanged = tool:GetPropertyChangedSignal("Name"):Connect(function()
| |
| 6490 | frame.toolName.Text = tool.Name | |
| 6491 | object.Name = tool.Name | |
| 6492 | end) | |
| 6493 | object.CONNECTIONS.TextureIdChanged = tool:GetPropertyChangedSignal("TextureId"):Connect(function()
| |
| 6494 | object:updateIcon() | |
| 6495 | end) | |
| 6496 | object.CONNECTIONS.AmountChanged = tool:GetAttributeChangedSignal("amount"):Connect(function()
| |
| 6497 | amount = tool:GetAttribute("amount") or 1
| |
| 6498 | if amount > 1 then | |
| 6499 | frame.toolAmount.Text = "x" .. amount | |
| 6500 | else | |
| 6501 | frame.toolAmount.Text = "" | |
| 6502 | end | |
| 6503 | end) | |
| 6504 | object.CONNECTIONS.MouseEnter = frame.MouseEnter:Connect(function() | |
| 6505 | if object.isGrabbed then | |
| 6506 | return | |
| 6507 | end | |
| 6508 | object:showDescription() | |
| 6509 | end) | |
| 6510 | object.CONNECTIONS.MouseLeave = frame.MouseLeave:Connect(function() | |
| 6511 | object:removeDescription() | |
| 6512 | end) | |
| 6513 | object.CONNECTIONS.GrabConn = frame.MouseButton1Down:Connect(function() | |
| 6514 | if self.slotsPositionLocked then | |
| 6515 | return | |
| 6516 | end | |
| 6517 | ||
| 6518 | local mouseEnd | |
| 6519 | local mouseConn | |
| 6520 | local newFrame | |
| 6521 | local CellSize = inventoryFrame.Frame.Grid.CellSize | |
| 6522 | local frameStartPosition = frame.AbsolutePosition | |
| 6523 | object:removeDescription() | |
| 6524 | ||
| 6525 | local function endGrab() | |
| 6526 | mouseEnd:Disconnect() | |
| 6527 | mouseConn:Disconnect() | |
| 6528 | object.isGrabbed = false | |
| 6529 | ||
| 6530 | local droppedGuis = playerGui:GetGuiObjectsAtPosition(mouse.X, mouse.Y) | |
| 6531 | local wasSwapped = false | |
| 6532 | local dropTool = true | |
| 6533 | for _, newSlot in pairs(droppedGuis) do | |
| 6534 | if newSlot:IsA("ImageButton") and (newSlot.Parent == hotbar or newSlot.Parent == inventoryFrame.Frame) then
| |
| 6535 | local newSlotObject = self.OBJECTS[newSlot.Parent == hotbar and "HotBar" or "Inventory"][newSlot.Parent == hotbar and tonumber(newSlot.Name) or newSlot.Name] | |
| 6536 | if newSlotObject == object then | |
| 6537 | dropTool = false | |
| 6538 | if newFrame then | |
| 6539 | newFrame:Destroy() | |
| 6540 | end | |
| 6541 | continue | |
| 6542 | end | |
| 6543 | ||
| 6544 | if newSlotObject then -- Swap between tools | |
| 6545 | wasSwapped = true | |
| 6546 | ||
| 6547 | object:DisconnectAll() | |
| 6548 | newSlotObject:DisconnectAll() | |
| 6549 | ||
| 6550 | self:addTool(newSlotObject.Tool, parent, position) | |
| 6551 | self:addTool(tool, newSlotObject.Parent, newSlotObject.Position) | |
| 6552 | ||
| 6553 | if newFrame then | |
| 6554 | newFrame:Destroy() | |
| 6555 | end | |
| 6556 | elseif newSlot.Parent == hotbar then -- Send to Hotbar | |
| 6557 | wasSwapped = true | |
| 6558 | ||
| 6559 | object:DisconnectAll() | |
| 6560 | self:addTool(tool, "HotBar", tonumber(newSlot.Name)) | |
| 6561 | if parent == "Inventory" and newFrame then | |
| 6562 | newFrame:Destroy() | |
| 6563 | end | |
| 6564 | newSlot:Destroy() | |
| 6565 | end | |
| 6566 | ||
| 6567 | if newSlotObject then | |
| 6568 | newSlotObject:removeDescription() | |
| 6569 | end | |
| 6570 | if object then | |
| 6571 | object:removeDescription() | |
| 6572 | end | |
| 6573 | elseif newSlot:IsA("ImageLabel") and newSlot == inventoryFrame and not wasSwapped and parent == "HotBar" then -- Send to Inventory
| |
| 6574 | wasSwapped = true | |
| 6575 | object:DisconnectAll() | |
| 6576 | self:addTool(tool, "Inventory") | |
| 6577 | self:searchTool() | |
| 6578 | break | |
| 6579 | end | |
| 6580 | end | |
| 6581 | ||
| 6582 | if not wasSwapped then | |
| 6583 | if newFrame then | |
| 6584 | newFrame:Destroy() | |
| 6585 | end | |
| 6586 | frame.Parent = object:getParentInstance() | |
| 6587 | ||
| 6588 | if SETTINGS.DRAG_OUTSIDE_TO_DROP and dropTool and tool.CanBeDropped then | |
| 6589 | local character = char | |
| 6590 | if character then | |
| 6591 | tool.Parent = character | |
| 6592 | end | |
| 6593 | end | |
| 6594 | ||
| 6595 | if (frameStartPosition - Vector2.new(mouse.X, mouse.Y)).Magnitude <= SETTINGS.EQUIP_TOUCH_SENSITIVITY then | |
| 6596 | manageTool() | |
| 6597 | end | |
| 6598 | end | |
| 6599 | end | |
| 6600 | mouseEnd = UserInputService.InputEnded:Connect(function(inputObject) | |
| 6601 | if | |
| 6602 | inputObject.UserInputType == Enum.UserInputType.MouseButton1 | |
| 6603 | or inputObject.UserInputType == Enum.UserInputType.Touch | |
| 6604 | then | |
| 6605 | endGrab() | |
| 6606 | end | |
| 6607 | end) | |
| 6608 | ||
| 6609 | local function updateFramePos() | |
| 6610 | if not object.isGrabbed then | |
| 6611 | object.isGrabbed = true | |
| 6612 | newFrame = toolButton:Clone() | |
| 6613 | newFrame.toolName.Text = "" | |
| 6614 | newFrame.toolAmount.Text = "" | |
| 6615 | newFrame.toolNumber.Text = position or "" | |
| 6616 | newFrame.Name = frame.Name | |
| 6617 | newFrame.Size = frame.Size | |
| 6618 | newFrame.Parent = object:getParentInstance() | |
| 6619 | ||
| 6620 | frame.Size = CellSize | |
| 6621 | frame.Parent = inventoryGui | |
| 6622 | end | |
| 6623 | ||
| 6624 | local mousePos = Vector2.new(mouse.X, mouse.Y) | |
| 6625 | frame.Position = UDim2.new(0, mousePos.X - (CellSize.X.Offset / 2), 0, mousePos.Y - (CellSize.Y.Offset / 2) + 57) | |
| 6626 | end | |
| 6627 | mouseConn = mouse.Move:Connect(updateFramePos) | |
| 6628 | end) | |
| 6629 | ||
| 6630 | tool:SetAttribute("toolAdded", true)
| |
| 6631 | if parent == "HotBar" and position then | |
| 6632 | ContextActionService:BindAction(position .. "hotBar", manageTool, false, EnumKeys[position]) | |
| 6633 | end | |
| 6634 | end | |
| 6635 | ||
| 6636 | return module | |
| 6637 | ||
| 6638 | end; | |
| 6639 | }; | |
| 6640 | -- StarterGui.Custom Inventory.InventoryController | |
| 6641 | local function C_e() | |
| 6642 | local script = G2L["e"]; | |
| 6643 | -- services | |
| 6644 | local StarterGui = game:GetService("StarterGui")
| |
| 6645 | local ContextActionService = game:GetService("ContextActionService")
| |
| 6646 | local UserInputService = game:GetService("UserInputService")
| |
| 6647 | ||
| 6648 | -- references | |
| 6649 | local player = game:GetService("Players").LocalPlayer
| |
| 6650 | local backpack = player:WaitForChild("Backpack")
| |
| 6651 | local camera = workspace.CurrentCamera | |
| 6652 | ||
| 6653 | -- DISABLE BASIC ROBLOX HOTBAR | |
| 6654 | StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.Backpack, false) | |
| 6655 | ||
| 6656 | local CustomInventoryGUI = script.Parent | |
| 6657 | local hotBar = CustomInventoryGUI.hotBar | |
| 6658 | local Inventory = CustomInventoryGUI.Inventory | |
| 6659 | local toolButton = script.toolButton | |
| 6660 | ||
| 6661 | local inventoryHandler = require(script.SETTINGS) | |
| 6662 | ||
| 6663 | local function showSlots() | |
| 6664 | for index = 1, inventoryHandler.slotAmount do | |
| 6665 | local toolObject = inventoryHandler.OBJECTS.HotBar[index] | |
| 6666 | if not toolObject and not hotBar:FindFirstChild(index) and index <= inventoryHandler.slotAmount then | |
| 6667 | local frame = toolButton:Clone() | |
| 6668 | frame.toolName.Text = "" | |
| 6669 | frame.toolAmount.Text = "" | |
| 6670 | frame.toolNumber.Text = index | |
| 6671 | frame.Name = index | |
| 6672 | frame.Parent = hotBar | |
| 6673 | end | |
| 6674 | end | |
| 6675 | end | |
| 6676 | local function removeEmptySlots() | |
| 6677 | for index = 1, 9 do | |
| 6678 | local toolObject = inventoryHandler.OBJECTS.HotBar[index] | |
| 6679 | local toolFrame = hotBar:FindFirstChild(index) | |
| 6680 | if not toolObject and toolFrame then | |
| 6681 | toolFrame:Destroy() | |
| 6682 | if hotBar:FindFirstChild(index) then | |
| 6683 | removeEmptySlots() | |
| 6684 | end | |
| 6685 | end | |
| 6686 | end | |
| 6687 | end | |
| 6688 | ||
| 6689 | local function manageInventory (_, inputState) | |
| 6690 | if inputState == Enum.UserInputState.Begin then | |
| 6691 | Inventory.Visible = not Inventory.Visible | |
| 6692 | local currentState = Inventory.Visible | |
| 6693 | ||
| 6694 | inventoryHandler:removeCurrentDescription() | |
| 6695 | if currentState then | |
| 6696 | showSlots() | |
| 6697 | CustomInventoryGUI.openButton.Position = UDim2.fromScale(.34,1.043) | |
| 6698 | CustomInventoryGUI.openButton.info.Text = "Hide" | |
| 6699 | else | |
| 6700 | if not inventoryHandler.SETTINGS.SHOW_EMPTY_TOOL_FRAMES_IN_HOTBAR then | |
| 6701 | removeEmptySlots() | |
| 6702 | end | |
| 6703 | CustomInventoryGUI.openButton.Position = UDim2.fromScale(.34,1.043) | |
| 6704 | CustomInventoryGUI.openButton.info.Text = "Show" | |
| 6705 | end | |
| 6706 | elseif not inputState then | |
| 6707 | for index = inventoryHandler.slotAmount + 1, inventoryHandler.slotAmount do | |
| 6708 | local toolObject = inventoryHandler.OBJECTS.HotBar[index] | |
| 6709 | local toolFrame = hotBar:FindFirstChild(index) | |
| 6710 | if toolObject then | |
| 6711 | local tool = toolObject.Tool | |
| 6712 | toolObject:DisconnectAll() | |
| 6713 | tool:SetAttribute("toolAdded", nil)
| |
| 6714 | inventoryHandler:newTool(tool) | |
| 6715 | elseif toolFrame then | |
| 6716 | toolFrame:Destroy() | |
| 6717 | end | |
| 6718 | end | |
| 6719 | end | |
| 6720 | end | |
| 6721 | ||
| 6722 | local function searchTool() | |
| 6723 | inventoryHandler:searchTool() | |
| 6724 | end | |
| 6725 | local function newTool(tool) | |
| 6726 | if tool:IsA("Tool") then
| |
| 6727 | inventoryHandler:newTool(tool) | |
| 6728 | end | |
| 6729 | end | |
| 6730 | ||
| 6731 | local function reloadInventory(character) | |
| 6732 | inventoryHandler.currentlyEquipped = nil | |
| 6733 | backpack = player:WaitForChild("Backpack")
| |
| 6734 | ||
| 6735 | for _, tool in pairs(backpack:GetChildren()) do | |
| 6736 | if tool:IsA("Tool") then
| |
| 6737 | newTool(tool) | |
| 6738 | end | |
| 6739 | end | |
| 6740 | backpack.ChildAdded:Connect(newTool) | |
| 6741 | character.ChildAdded:Connect(newTool) | |
| 6742 | end | |
| 6743 | local function updateHudPosition() | |
| 6744 | local viewPortSize = camera.ViewportSize | |
| 6745 | local slotSize = UDim2.fromOffset(hotBar.AbsoluteSize.Y, hotBar.AbsoluteSize.Y) | |
| 6746 | ||
| 6747 | Inventory.Frame.Grid.CellSize = slotSize | |
| 6748 | hotBar.Grid.CellSize = slotSize | |
| 6749 | ||
| 6750 | manageInventory() | |
| 6751 | end | |
| 6752 | ||
| 6753 | updateHudPosition(); updateHudPosition() | |
| 6754 | reloadInventory(player.Character or player.CharacterAdded:Wait()) | |
| 6755 | camera:GetPropertyChangedSignal("ViewportSize"):Connect(updateHudPosition)
| |
| 6756 | player.CharacterAdded:Connect(reloadInventory) | |
| 6757 | Inventory.SearchBox:GetPropertyChangedSignal("Text"):Connect(searchTool)
| |
| 6758 | if inventoryHandler.SETTINGS.SHOW_EMPTY_TOOL_FRAMES_IN_HOTBAR then showSlots() end | |
| 6759 | if inventoryHandler.SETTINGS.INVENTORY_KEYBIND then ContextActionService:BindAction("manageInventory", manageInventory, false, inventoryHandler.SETTINGS.INVENTORY_KEYBIND) end
| |
| 6760 | if inventoryHandler.SETTINGS.OPEN_BUTTON then | |
| 6761 | CustomInventoryGUI.openButton.MouseButton1Down:Connect(function() | |
| 6762 | Inventory.Visible = not Inventory.Visible | |
| 6763 | local currentState = Inventory.Visible | |
| 6764 | ||
| 6765 | inventoryHandler:removeCurrentDescription() | |
| 6766 | if currentState then | |
| 6767 | showSlots() | |
| 6768 | CustomInventoryGUI.openButton.Position = UDim2.fromScale(.34,1.043) | |
| 6769 | CustomInventoryGUI.openButton.info.Text = "Hide" | |
| 6770 | else | |
| 6771 | if not inventoryHandler.SETTINGS.SHOW_EMPTY_TOOL_FRAMES_IN_HOTBAR then | |
| 6772 | removeEmptySlots() | |
| 6773 | end | |
| 6774 | CustomInventoryGUI.openButton.Position = UDim2.fromScale(.34,1.043) | |
| 6775 | CustomInventoryGUI.openButton.info.Text = "Show" | |
| 6776 | end | |
| 6777 | end) | |
| 6778 | else | |
| 6779 | CustomInventoryGUI.openButton.Visible = false | |
| 6780 | end | |
| 6781 | ||
| 6782 | local function getToolEquipped() | |
| 6783 | local character = char | |
| 6784 | return character and character:FindFirstChildOfClass("Tool")
| |
| 6785 | end | |
| 6786 | ||
| 6787 | UserInputService.InputChanged:Connect(function(input) | |
| 6788 | if input.UserInputType == Enum.UserInputType.MouseWheel and inventoryHandler.SETTINGS.SCROLL_HOTBAR_WITH_WHEEL then | |
| 6789 | local direction = input.Position.Z | |
| 6790 | local character = char | |
| 6791 | local humanoid = character and character:FindFirstChildOfClass("Humanoid")
| |
| 6792 | ||
| 6793 | local toolEquipped = getToolEquipped() | |
| 6794 | local toolPosition = inventoryHandler:getToolPosition(toolEquipped) or 0 | |
| 6795 | ||
| 6796 | for i=toolPosition + direction, direction < 0 and 1 or inventoryHandler.slotAmount, direction do | |
| 6797 | local toolObject = inventoryHandler.OBJECTS.HotBar[i] | |
| 6798 | if toolObject and humanoid then | |
| 6799 | humanoid:EquipTool(toolObject.Tool) | |
| 6800 | break | |
| 6801 | end | |
| 6802 | end | |
| 6803 | end | |
| 6804 | end) | |
| 6805 | end; | |
| 6806 | task.spawn(C_e); | |
| 6807 | ||
| 6808 | end | |
| 6809 | ||
| 6810 | ||
| 6811 | ||
| 6812 | ||
| 6813 | ||
| 6814 | ||
| 6815 | ||
| 6816 | ||
| 6817 | ||
| 6818 | ||
| 6819 | local lol = math.random(1,2) | |
| 6820 | local sprinting=false | |
| 6821 | local walkanim = is:LoadLocalAsset("rbxassetid://73688515498572") -- uuid. 130213485744288
| |
| 6822 | local idleanim = is:LoadLocalAsset("rbxassetid://74204337812128") -- uuid. 136078657506707
| |
| 6823 | local randompart = Instance.new("Part",game:GetService("RunService"))
| |
| 6824 | local coolparticles = game:GetObjects("rbxassetid://87299663038091")[1].ParticleAttachment
| |
| 6825 | coolparticles.Parent = randompart | |
| 6826 | local playbacktrack = true | |
| 6827 | local script = Instance.new("LocalScript")
| |
| 6828 | real = true | |
| 6829 | ||
| 6830 | local mrandom=math.random | |
| 6831 | local playanother = false | |
| 6832 | local playing = false | |
| 6833 | local dancing = false | |
| 6834 | local sin=math.sin | |
| 6835 | local osclock=os.clock | |
| 6836 | local sine=1 | |
| 6837 | local cos=math.cos | |
| 6838 | local change = 1 | |
| 6839 | local rtrnv; | |
| 6840 | local c; | |
| 6841 | local tbl3; | |
| 6842 | local v; | |
| 6843 | local anim; | |
| 6844 | local count; | |
| 6845 | local hhhh; | |
| 6846 | local asdf; | |
| 6847 | local s; | |
| 6848 | local animid; | |
| 6849 | local plr; | |
| 6850 | local legitjustran = false | |
| 6851 | local loopsplaying=0 | |
| 6852 | local rst | |
| 6853 | local lst | |
| 6854 | local rht | |
| 6855 | local lht | |
| 6856 | local nt | |
| 6857 | local rjt | |
| 6858 | local ReplicatedStorage = game:GetService("ReplicatedStorage")
| |
| 6859 | local cframe; | |
| 6860 | local torso; | |
| 6861 | local rs; | |
| 6862 | local ls; | |
| 6863 | local rh; | |
| 6864 | local lh; | |
| 6865 | local n; | |
| 6866 | local rj; | |
| 6867 | local rsc0; | |
| 6868 | local lsc0; | |
| 6869 | local rhc0; | |
| 6870 | local lhc0; | |
| 6871 | local rjc0; | |
| 6872 | local nc02; | |
| 6873 | local gc0; | |
| 6874 | local orsc0; | |
| 6875 | local olsc0; | |
| 6876 | local orhc0; | |
| 6877 | local olhc0; | |
| 6878 | local orjc0; | |
| 6879 | local onc0; | |
| 6880 | local count2; | |
| 6881 | local maxcount2; | |
| 6882 | local walking = false | |
| 6883 | local idle = false | |
| 6884 | local RunService = game:GetService("RunService")
| |
| 6885 | local hum=char:FindFirstChildOfClass("Humanoid")
| |
| 6886 | local h=char.Head | |
| 6887 | local t=char.Torso | |
| 6888 | local hrp=char.HumanoidRootPart | |
| 6889 | if char:FindFirstChild("Animate") then
| |
| 6890 | char.Animate.Enabled = false | |
| 6891 | end | |
| 6892 | for i, v in pairs(hum:GetPlayingAnimationTracks()) do | |
| 6893 | v:Stop() | |
| 6894 | end | |
| 6895 | local function getnext(tbl, number) | |
| 6896 | local best = math.huge | |
| 6897 | local r | |
| 6898 | for t in pairs(tbl) do | |
| 6899 | local d = t - number | |
| 6900 | if d > 0 and d < best then | |
| 6901 | best = d | |
| 6902 | r = t | |
| 6903 | end | |
| 6904 | end | |
| 6905 | if not r then | |
| 6906 | for t in pairs(tbl) do | |
| 6907 | if not r or t < r then | |
| 6908 | r = t | |
| 6909 | end | |
| 6910 | end | |
| 6911 | end | |
| 6912 | return r | |
| 6913 | end | |
| 6914 | ||
| 6915 | local function wait2(tim) | |
| 6916 | if tim<0.1 then | |
| 6917 | game:GetService("RunService").Heartbeat:Wait()
| |
| 6918 | else | |
| 6919 | for i=1,tim*40 do | |
| 6920 | game:GetService("RunService").Heartbeat:Wait()
| |
| 6921 | end | |
| 6922 | end | |
| 6923 | end | |
| 6924 | local function kftotbl(kf) | |
| 6925 | tbl3 = {}
| |
| 6926 | for i,v in pairs(kf:GetDescendants()) do | |
| 6927 | if v:IsA("Pose") then
| |
| 6928 | tbl3[string.sub(v.Name,1,1)..string.sub(v.Name,#v.Name,#v.Name)] = v.CFrame | |
| 6929 | end | |
| 6930 | end | |
| 6931 | return(tbl3) | |
| 6932 | end | |
| 6933 | local plr = game.Players.LocalPlayer | |
| 6934 | local RunService = game:GetService("RunService")
| |
| 6935 | ||
| 6936 | local function functionToBind() | |
| 6937 | char.Humanoid:Move(Vector3.new(0,0,-.1),false) | |
| 6938 | end | |
| 6939 | local script = Instance.new("Script")
| |
| 6940 | ArtificialHB = Instance.new("BindableEvent",script)
| |
| 6941 | ArtificialHB.Name = "Heartbeat" | |
| 6942 | script:WaitForChild("Heartbeat")
| |
| 6943 | frame = 1 / 60 | |
| 6944 | tf = 0 | |
| 6945 | allowframeloss = false | |
| 6946 | tossremainder = false | |
| 6947 | lastframe = tick() | |
| 6948 | script.Heartbeat:Fire() | |
| 6949 | game:GetService("RunService").Heartbeat:Connect(function(s,p)
| |
| 6950 | tf = tf + s | |
| 6951 | if tf >= frame then | |
| 6952 | if allowframeloss then | |
| 6953 | script.Heartbeat:Fire() | |
| 6954 | lastframe = tick() | |
| 6955 | else | |
| 6956 | for i = 1,math.floor(tf / frame) do | |
| 6957 | pcall(function() | |
| 6958 | script.Heartbeat:Fire() | |
| 6959 | end) | |
| 6960 | end | |
| 6961 | lastframe = tick() | |
| 6962 | end | |
| 6963 | if tossremainder then | |
| 6964 | tf = 0 | |
| 6965 | else | |
| 6966 | tf = tf - frame * math.floor(tf / frame) | |
| 6967 | end | |
| 6968 | end | |
| 6969 | end) | |
| 6970 | function swait(num) | |
| 6971 | if num == 0 or num == nil then | |
| 6972 | ArtificialHB.Event:Wait() | |
| 6973 | else | |
| 6974 | for i = 0,num do | |
| 6975 | ArtificialHB.Event:Wait() | |
| 6976 | end | |
| 6977 | end | |
| 6978 | end | |
| 6979 | function fwait(seconds) | |
| 6980 | seconds = (seconds < 0.000001) and 0.000001 or seconds | |
| 6981 | local event = game:GetService("RunService").PreRender or game:GetService("RunService").Heartbeat
| |
| 6982 | ||
| 6983 | local startTime = tick() | |
| 6984 | while tick() - startTime < seconds do | |
| 6985 | event:Wait() | |
| 6986 | end | |
| 6987 | end | |
| 6988 | ||
| 6989 | ||
| 6990 | ||
| 6991 | ||
| 6992 | local alreadyloaded = {}
| |
| 6993 | local animmodule = AnimModule() | |
| 6994 | local animplayer = AnimModule() | |
| 6995 | local currentanim = nil | |
| 6996 | local iscurrentadance = nil | |
| 6997 | local gy | |
| 6998 | local function PlayAnim(name, loop, looptomuisc) | |
| 6999 | local ced=char or workspace[StringVal.Value] | |
| 7000 | local char=ced | |
| 7001 | gy=StringVal:GetPropertyChangedSignal("Value"):Connect(function()
| |
| 7002 | if TypeOfReanim=="Emper" and TypeOfReanim=="Gelatek" then return end | |
| 7003 | if StringVal.Value=="None!" then return end | |
| 7004 | char=workspace[StringVal.Value] | |
| 7005 | print("Found Char",StringVal.Value)
| |
| 7006 | ced=char | |
| 7007 | char = ced | |
| 7008 | end) | |
| 7009 | if not (char and name) then | |
| 7010 | warn("Missing char or name for playanim")
| |
| 7011 | return nil | |
| 7012 | end | |
| 7013 | local aaa=tostring(name) | |
| 7014 | local anim | |
| 7015 | if typeof(aaa) == "Instance" then | |
| 7016 | anim = aaa | |
| 7017 | elseif type(aaa) == "string" and full:FindFirstChild(aaa) then | |
| 7018 | anim = full:FindFirstChild(aaa) | |
| 7019 | else | |
| 7020 | anim = full:FindFirstChild(aaa) | |
| 7021 | end | |
| 7022 | if anim then | |
| 7023 | if not alreadyloaded[char] then | |
| 7024 | alreadyloaded[char] = {}
| |
| 7025 | end | |
| 7026 | ||
| 7027 | local track = alreadyloaded[char][aaa] | |
| 7028 | if not track then | |
| 7029 | track = animmodule:LoadSequence(anim, char) | |
| 7030 | if not track then | |
| 7031 | warn("Failed to load animation track:", aaa)
| |
| 7032 | return nil | |
| 7033 | end | |
| 7034 | alreadyloaded[char][aaa] = track | |
| 7035 | end | |
| 7036 | ||
| 7037 | track.Looped = loop | |
| 7038 | track:Play(0) | |
| 7039 | UseSoundPos.Value=looptomuisc | |
| 7040 | return track | |
| 7041 | end | |
| 7042 | return nil | |
| 7043 | end | |
| 7044 | ||
| 7045 | ||
| 7046 | local function playanim(name, loop,looptomuisc) | |
| 7047 | if looptomuisc==nil then looptomuisc=false end | |
| 7048 | UseSoundPos.Value=looptomuisc | |
| 7049 | local track = PlayAnim(name, loop,looptomuisc) | |
| 7050 | if track then | |
| 7051 | track.OnFinished = Instance.new("BindableEvent")
| |
| 7052 | ||
| 7053 | if track._finishedConnection then | |
| 7054 | track._finishedConnection:Disconnect() | |
| 7055 | end | |
| 7056 | if track._timeConnection then | |
| 7057 | track._timeConnection:Disconnect() | |
| 7058 | end | |
| 7059 | ||
| 7060 | track._timeConnection = track.TimeReached.Event:Connect(function(keyframe) | |
| 7061 | end) | |
| 7062 | ||
| 7063 | -- Monitor animation completion | |
| 7064 | track._finishedConnection = game:GetService("RunService").PostSimulation:Connect(function()
| |
| 7065 | if not RUNNING then | |
| 7066 | if track._finishedConnection then | |
| 7067 | track._finishedConnection:Disconnect() | |
| 7068 | end | |
| 7069 | return | |
| 7070 | end | |
| 7071 | pcall(function() | |
| 7072 | if track.TimePosition >= track.TimeLength - 0.05 and track:IsPlaying() then | |
| 7073 | if not loop then | |
| 7074 | track:Stop() | |
| 7075 | if track.OnFinished then | |
| 7076 | track.OnFinished:Fire() | |
| 7077 | end | |
| 7078 | if track._finishedConnection then | |
| 7079 | track._finishedConnection:Disconnect() | |
| 7080 | end | |
| 7081 | if track._timeConnection then | |
| 7082 | track._timeConnection:Disconnect() | |
| 7083 | end | |
| 7084 | end | |
| 7085 | end | |
| 7086 | end) | |
| 7087 | end) | |
| 7088 | end | |
| 7089 | return track | |
| 7090 | end | |
| 7091 | ||
| 7092 | local function StopAllAnimations() | |
| 7093 | for char, tracks in pairs(alreadyloaded) do | |
| 7094 | for name, track in pairs(tracks) do | |
| 7095 | if track and track:IsPlaying() then | |
| 7096 | track:Stop() | |
| 7097 | end | |
| 7098 | if track and track.OnFinished then | |
| 7099 | track.OnFinished:Destroy() | |
| 7100 | end | |
| 7101 | end | |
| 7102 | end | |
| 7103 | table.clear(alreadyloaded) | |
| 7104 | end | |
| 7105 | ||
| 7106 | playbacktrack=true | |
| 7107 | ||
| 7108 | ||
| 7109 | local isAssetClean=false | |
| 7110 | local States=nil | |
| 7111 | local ws=game.Workspace | |
| 7112 | ||
| 7113 | ||
| 7114 | UserModuleAnimationLibrary = {}
| |
| 7115 | UserModuleAnimationLibrary.Animator= {}
| |
| 7116 | UserModuleAnimationLibrary.Animator.__index = UserModuleAnimationLibrary.Animator | |
| 7117 | UserModuleAnimationLibrary.Track= {}
| |
| 7118 | AnimLib = UserModuleAnimationLibrary | |
| 7119 | ||
| 7120 | function UserModuleAnimationLibrary.Animator.new() | |
| 7121 | local self = setmetatable({}, UserModuleAnimationLibrary.Animator)
| |
| 7122 | self.rig = nil | |
| 7123 | self.track = nil | |
| 7124 | self.looped = true | |
| 7125 | self.alpha = 1 | |
| 7126 | self.speed = 1 | |
| 7127 | self.weight = 1 | |
| 7128 | self.map = nil | |
| 7129 | self._optimiser = 1 | |
| 7130 | self._jointmap = nil | |
| 7131 | self._skipsec = nil | |
| 7132 | self._rig = nil | |
| 7133 | self._track = nil | |
| 7134 | return self | |
| 7135 | end | |
| 7136 | ||
| 7137 | --[[ | |
| 7138 | Steve's Uhhhhh Reanimate .anim binary decoder (returns Steve-style pure-Lua track table) | |
| 7139 | ]] | |
| 7140 | local function LoadAnimBinary(data) | |
| 7141 | local pos = 1 | |
| 7142 | local len = #data | |
| 7143 | ||
| 7144 | local function rU16() | |
| 7145 | if pos+1 > len then error("EOF@U16 pos="..pos) end
| |
| 7146 | local a,b = data:byte(pos,pos+1); pos = pos+2 | |
| 7147 | return a + b*256 | |
| 7148 | end | |
| 7149 | local function rU32() | |
| 7150 | if pos+3 > len then error("EOF@U32 pos="..pos) end
| |
| 7151 | local a,b,c,d = data:byte(pos,pos+3); pos = pos+4 | |
| 7152 | return a + b*256 + c*65536 + d*16777216 | |
| 7153 | end | |
| 7154 | local function rF32() | |
| 7155 | if pos+3 > len then error("EOF@F32 pos="..pos) end
| |
| 7156 | local b0,b1,b2,b3 = data:byte(pos,pos+3); pos = pos+4 | |
| 7157 | local bits = b0 + b1*256 + b2*65536 + b3*16777216 | |
| 7158 | local sign = math.floor(bits/2147483648) | |
| 7159 | local exp = math.floor(bits/8388608) % 256 | |
| 7160 | local mant = bits % 8388608 | |
| 7161 | if exp==0 and mant==0 then return sign==1 and -0.0 or 0.0 end | |
| 7162 | if exp==255 then return sign==1 and -math.huge or math.huge end | |
| 7163 | local value = (1 + mant/8388608) * (2^(exp-127)) | |
| 7164 | return sign==1 and -value or value | |
| 7165 | end | |
| 7166 | local function rStr() | |
| 7167 | local n = rU16() | |
| 7168 | if n==0 then return "" end | |
| 7169 | if pos+n-1 > len then error("EOF@Str pos="..pos.." n="..n) end
| |
| 7170 | local s = data:sub(pos, pos+n-1); pos = pos+n | |
| 7171 | return s | |
| 7172 | end | |
| 7173 | ||
| 7174 | local animName = rStr() | |
| 7175 | local kfCount = rU32() | |
| 7176 | ||
| 7177 | local anim = { Name = animName, Time = 0, Keyframes = {} }
| |
| 7178 | ||
| 7179 | for _ = 1, kfCount do | |
| 7180 | local t = rF32() | |
| 7181 | anim.Time = math.max(anim.Time, t) | |
| 7182 | local poseCount = rU32() | |
| 7183 | local keyframe = { Time = t, Poses = {} }
| |
| 7184 | for _ = 1, poseCount do | |
| 7185 | local name = rStr() | |
| 7186 | local weight = rF32() | |
| 7187 | local es = rStr() | |
| 7188 | local ed = rStr() | |
| 7189 | local c = {}
| |
| 7190 | for i = 1, 12 do c[i] = rF32() end | |
| 7191 | table.insert(keyframe.Poses, {
| |
| 7192 | Name = name, | |
| 7193 | Weight = weight, | |
| 7194 | EasingStyle = es, | |
| 7195 | EasingDirection = ed, | |
| 7196 | CFrame = CFrame.new(c[1],c[2],c[3], c[4],c[5],c[6], c[7],c[8],c[9], c[10],c[11],c[12]) | |
| 7197 | }) | |
| 7198 | end | |
| 7199 | table.insert(anim.Keyframes, keyframe) | |
| 7200 | end | |
| 7201 | ||
| 7202 | table.sort(anim.Keyframes, function(a, b) return a.Time < b.Time end) | |
| 7203 | return anim | |
| 7204 | end | |
| 7205 | ||
| 7206 | -- Convert a Roblox KeyframeSequence to Steve's pure-Lua track table format | |
| 7207 | local function KeyframeSequenceToTrack(ks) | |
| 7208 | local anim = { Name = ks.Name, Time = 0, Keyframes = {} }
| |
| 7209 | for _, k in ks:GetKeyframes() do | |
| 7210 | local t = k.Time | |
| 7211 | anim.Time = math.max(anim.Time, t) | |
| 7212 | local keyframe = { Time = t, Poses = {} }
| |
| 7213 | for _, p in k:GetDescendants() do | |
| 7214 | if p:IsA("Pose") then
| |
| 7215 | table.insert(keyframe.Poses, {
| |
| 7216 | Name = p.Name, | |
| 7217 | Weight = p.Weight, | |
| 7218 | EasingStyle = p.EasingStyle.Name, | |
| 7219 | EasingDirection = p.EasingDirection.Name, | |
| 7220 | CFrame = p.CFrame, | |
| 7221 | }) | |
| 7222 | end | |
| 7223 | end | |
| 7224 | table.insert(anim.Keyframes, keyframe) | |
| 7225 | end | |
| 7226 | table.sort(anim.Keyframes, function(a, b) return a.Time < b.Time end) | |
| 7227 | return anim | |
| 7228 | end | |
| 7229 | ||
| 7230 | function UserModuleAnimationLibrary.Track.fromfile(path) | |
| 7231 | if not (isfile and isfile(path)) then | |
| 7232 | warn("[UserModuleAnimationLibrary] File not found: " .. tostring(path))
| |
| 7233 | repeat wait() until path or os.clock()+5 | |
| 7234 | end | |
| 7235 | local ext = (path:match("%.(%a+)$") or ""):lower()
| |
| 7236 | if ext == "anim" then | |
| 7237 | local ok, result = pcall(function() | |
| 7238 | return LoadAnimBinary(readfile(path)) | |
| 7239 | end) | |
| 7240 | if ok and result then | |
| 7241 | return result | |
| 7242 | end | |
| 7243 | warn("[UserModuleAnimationLibrary] Failed to parse .anim: " .. tostring(path) .. " | " .. tostring(result))
| |
| 7244 | return nil | |
| 7245 | end | |
| 7246 | local ok, result = pcall(function() | |
| 7247 | return loadstring(readfile(path))() | |
| 7248 | end) | |
| 7249 | if ok and result then | |
| 7250 | if typeof(result) == "Instance" and result:IsA("KeyframeSequence") then
| |
| 7251 | local ok2, track = pcall(KeyframeSequenceToTrack, result) | |
| 7252 | if ok2 and track then | |
| 7253 | return track | |
| 7254 | end | |
| 7255 | warn("[UserModuleAnimationLibrary] Failed to convert KeyframeSequence: " .. tostring(path))
| |
| 7256 | return nil | |
| 7257 | end | |
| 7258 | return result | |
| 7259 | end | |
| 7260 | warn("[UserModuleAnimationLibrary] Failed to load animation: " .. tostring(path))
| |
| 7261 | return nil | |
| 7262 | end | |
| 7263 | ||
| 7264 | ||
| 7265 | ||
| 7266 | -- (Steve-style Animator:Step drives Motor6D directly; no Roblox AnimationModule needed) | |
| 7267 | ||
| 7268 | function UserModuleAnimationLibrary.Animator:Step(t) | |
| 7269 | local rig, track = self.rig, self.track | |
| 7270 | if not rig or not track then return end | |
| 7271 | ||
| 7272 | local speed = self.speed or 1 | |
| 7273 | local weight = self.weight or 1 | |
| 7274 | local looped = self.looped | |
| 7275 | local map = self.map | |
| 7276 | ||
| 7277 | local alphaVal = self.alpha ~= nil and self.alpha or self.Alpha or .1 | |
| 7278 | if alphaVal ~= nil then | |
| 7279 | Numval.Value = tonumber(alphaVal) | |
| 7280 | end | |
| 7281 | ||
| 7282 | t = t * speed | |
| 7283 | if map then | |
| 7284 | t = map[2][1] + (t - map[1][1]) * (map[2][2] - map[2][1]) / (map[1][2] - map[1][1]) | |
| 7285 | end | |
| 7286 | ||
| 7287 | if self._rig ~= rig then | |
| 7288 | self._jointmap = nil | |
| 7289 | self._rig = rig | |
| 7290 | end | |
| 7291 | if self._track ~= track then | |
| 7292 | self._skipsec = nil | |
| 7293 | self._track = track | |
| 7294 | end | |
| 7295 | ||
| 7296 | local jointmap = self._jointmap | |
| 7297 | if not jointmap then | |
| 7298 | jointmap = {}
| |
| 7299 | for _, v in rig:GetDescendants() do | |
| 7300 | if v:IsA("Motor6D") and v.Part0 and v.Part1 then
| |
| 7301 | jointmap[v.Part1.Name] = v | |
| 7302 | end | |
| 7303 | end | |
| 7304 | self._jointmap = jointmap | |
| 7305 | end | |
| 7306 | ||
| 7307 | local keyframes = track.Keyframes | |
| 7308 | if not keyframes or #keyframes == 0 then return end | |
| 7309 | ||
| 7310 | local skipsec = self._skipsec | |
| 7311 | if not skipsec then | |
| 7312 | skipsec = {}
| |
| 7313 | local i = 1 | |
| 7314 | local oldsec = 0 | |
| 7315 | local opt = self._optimiser | |
| 7316 | while i < #keyframes do | |
| 7317 | local k = keyframes[i] | |
| 7318 | local sec = k.Time // opt | |
| 7319 | while oldsec < sec do | |
| 7320 | local j = math.max(1, i - 1) | |
| 7321 | local poses = {}
| |
| 7322 | local scan = j | |
| 7323 | while scan > 0 do | |
| 7324 | local k2 = keyframes[scan] | |
| 7325 | for name, _ in jointmap do | |
| 7326 | if not poses[name] then | |
| 7327 | for _, p in k2.Poses do | |
| 7328 | if p.Name == name and p.Weight > 0 then | |
| 7329 | poses[name] = true | |
| 7330 | j = scan | |
| 7331 | break | |
| 7332 | end | |
| 7333 | end | |
| 7334 | end | |
| 7335 | end | |
| 7336 | local ok = true | |
| 7337 | for name, _ in jointmap do | |
| 7338 | ok = poses[name] and ok | |
| 7339 | end | |
| 7340 | if ok then break end | |
| 7341 | scan -= 1 | |
| 7342 | end | |
| 7343 | table.insert(skipsec, {j, j})
| |
| 7344 | oldsec += 1 | |
| 7345 | end | |
| 7346 | i += 1 | |
| 7347 | end | |
| 7348 | for i, v in skipsec do | |
| 7349 | while v[2] < #keyframes and keyframes[v[2]].Time <= (i + 1) * self._optimiser do | |
| 7350 | v[2] += 1 | |
| 7351 | end | |
| 7352 | end | |
| 7353 | self._skipsec = skipsec | |
| 7354 | end | |
| 7355 | ||
| 7356 | local trackTime = track.Time | |
| 7357 | if looped and trackTime and trackTime > 0 then | |
| 7358 | t = t % trackTime | |
| 7359 | end | |
| 7360 | ||
| 7361 | local skip1, skip2 = 1, #keyframes | |
| 7362 | if #skipsec >= 2 then | |
| 7363 | local i = t // self._optimiser | |
| 7364 | if i < 1 then | |
| 7365 | skip1, skip2 = 1, skipsec[1][2] | |
| 7366 | elseif i < #skipsec then | |
| 7367 | skip1, skip2 = skipsec[i][1], skipsec[i][2] | |
| 7368 | else | |
| 7369 | skip1, skip2 = skipsec[#skipsec][1], #keyframes | |
| 7370 | end | |
| 7371 | end | |
| 7372 | ||
| 7373 | local poses = {}
| |
| 7374 | for name, _ in jointmap do | |
| 7375 | poses[name] = CFrame.identity | |
| 7376 | end | |
| 7377 | ||
| 7378 | local TweenService = game:GetService("TweenService")
| |
| 7379 | for name, _ in poses do | |
| 7380 | local k1, k2, t1, t2 = nil, nil, -math.huge, math.huge | |
| 7381 | for i = skip1, skip2 do | |
| 7382 | local k = keyframes[i] | |
| 7383 | local po = nil | |
| 7384 | for _, p in k.Poses do | |
| 7385 | if p.Name == name and p.Weight > 0 then | |
| 7386 | po = p | |
| 7387 | end | |
| 7388 | end | |
| 7389 | if po ~= nil then | |
| 7390 | if t1 < k.Time and k.Time <= t then | |
| 7391 | k1 = po | |
| 7392 | t1 = k.Time | |
| 7393 | end | |
| 7394 | if t2 > k.Time and k.Time > t then | |
| 7395 | k2 = po | |
| 7396 | t2 = k.Time | |
| 7397 | end | |
| 7398 | end | |
| 7399 | end | |
| 7400 | local cf = CFrame.identity | |
| 7401 | if k1 ~= nil then | |
| 7402 | if k2 ~= nil then | |
| 7403 | local a = (t - t1) / (t2 - t1) | |
| 7404 | local es, ed = k1.EasingStyle, k1.EasingDirection | |
| 7405 | if es == "Constant" then | |
| 7406 | if ed == "In" then | |
| 7407 | a = 1 | |
| 7408 | elseif ed == "Out" then | |
| 7409 | a = 0 | |
| 7410 | else | |
| 7411 | a = a < 0.5 and 0 or 1 | |
| 7412 | end | |
| 7413 | else | |
| 7414 | if es == "CubicV2" then es = "Cubic" end | |
| 7415 | a = TweenService:GetValue(a, Enum.EasingStyle[es], Enum.EasingDirection[ed]) | |
| 7416 | end | |
| 7417 | cf = k1.CFrame:Lerp(k2.CFrame, a) | |
| 7418 | else | |
| 7419 | cf = k1.CFrame | |
| 7420 | end | |
| 7421 | else | |
| 7422 | if k2 ~= nil then | |
| 7423 | cf = k2.CFrame | |
| 7424 | end | |
| 7425 | end | |
| 7426 | poses[name] = cf | |
| 7427 | end | |
| 7428 | ||
| 7429 | local scale = pcall(function() return rig:GetScale() end) and rig:GetScale() or 1 | |
| 7430 | for name, joint in jointmap do | |
| 7431 | local cf = poses[name] or CFrame.identity | |
| 7432 | cf = cf.Rotation + (cf.Position * scale) | |
| 7433 | if weight == 1 then | |
| 7434 | joint.Transform = cf | |
| 7435 | elseif weight ~= 0 then | |
| 7436 | joint.Transform = joint.Transform:Lerp(cf, weight) | |
| 7437 | end | |
| 7438 | end | |
| 7439 | end | |
| 7440 | ||
| 7441 | local function StopPlayingModuleAnimation(name) | |
| 7442 | local entry = UserDanceContainer[name] | |
| 7443 | if not entry then return end | |
| 7444 | UserDanceContainer[name] = nil | |
| 7445 | if entry.updateConn then | |
| 7446 | entry.updateConn:Disconnect() | |
| 7447 | entry.updateConn = nil | |
| 7448 | end | |
| 7449 | pcall(function() | |
| 7450 | musicSound:Stop() | |
| 7451 | musicSound.SoundId = "" | |
| 7452 | end) | |
| 7453 | pcall(function() entry.m.Destroy(char) end) | |
| 7454 | pcall(function() | |
| 7455 | for _, v in char:GetDescendants() do | |
| 7456 | if v:GetAttribute("EmoteProp") then v:Destroy() end
| |
| 7457 | end | |
| 7458 | end) | |
| 7459 | end | |
| 7460 | ||
| 7461 | local function PlayModuleEmote(m) | |
| 7462 | for name, _ in pairs(UserDanceContainer) do | |
| 7463 | StopPlayingModuleAnimation(name) | |
| 7464 | end | |
| 7465 | ||
| 7466 | DownloadModuleAssets(m.Assets) | |
| 7467 | ||
| 7468 | if m.Assets and isfile then | |
| 7469 | ||
| 7470 | local deadline = os.clock() + .1 | |
| 7471 | local allReady = false | |
| 7472 | while not allReady and os.clock() < deadline and RUNNING and dancing do | |
| 7473 | allReady = true | |
| 7474 | for _, entry in ipairs(m.Assets) do | |
| 7475 | local filename = entry:match("^(.-)@")
| |
| 7476 | if filename then | |
| 7477 | if not isfile(DanceFolder.."/"..filename) then | |
| 7478 | allReady = false | |
| 7479 | break | |
| 7480 | end | |
| 7481 | end | |
| 7482 | end | |
| 7483 | if not allReady then repeat wait() until os.clock()+5 end | |
| 7484 | end | |
| 7485 | end | |
| 7486 | ||
| 7487 | pcall(function() | |
| 7488 | m.Init(char) | |
| 7489 | end) | |
| 7490 | ||
| 7491 | task.spawn(function() | |
| 7492 | local waitDeadline = os.clock() + .1 | |
| 7493 | while not musicSound.IsLoaded and os.clock() < waitDeadline do | |
| 7494 | task.wait(0.05) | |
| 7495 | end | |
| 7496 | if musicSound.IsLoaded then | |
| 7497 | OverridenMusicStartClock = os.clock() - musicSound.TimePosition | |
| 7498 | end | |
| 7499 | end) | |
| 7500 | ||
| 7501 | local conn | |
| 7502 | conn = game:GetService("RunService").PostSimulation:Connect(function(dt)
| |
| 7503 | local currentEntry = UserDanceContainer[m.Name] | |
| 7504 | if not currentEntry or currentEntry.updateConn ~= conn then | |
| 7505 | conn:Disconnect() | |
| 7506 | return | |
| 7507 | end | |
| 7508 | if not RUNNING or not dancing then | |
| 7509 | StopPlayingModuleAnimation(m.Name) | |
| 7510 | return | |
| 7511 | end | |
| 7512 | m.Update(dt, char) | |
| 7513 | end) | |
| 7514 | ||
| 7515 | UserDanceContainer[m.Name] = { m = m, updateConn = conn }
| |
| 7516 | end | |
| 7517 | ||
| 7518 | local function PlayQueuedEmote() | |
| 7519 | if RunningQueuedEmote then return end | |
| 7520 | RunningQueuedEmote = true | |
| 7521 | task.spawn(function() | |
| 7522 | while #QueueEmotesThatIsntLooped > 0 do | |
| 7523 | local entry = table.remove(QueueEmotesThatIsntLooped, 1) | |
| 7524 | if not dancing then | |
| 7525 | RunningQueuedEmote = false | |
| 7526 | return | |
| 7527 | end | |
| 7528 | pcall(function() entry.Init(char) end) | |
| 7529 | local waitConn | |
| 7530 | local done = false | |
| 7531 | waitConn = game:GetService("RunService").PostSimulation:Connect(function(dt)
| |
| 7532 | if not dancing then done = true return end | |
| 7533 | pcall(function() entry.Update(dt, char) end) | |
| 7534 | pcall(function() | |
| 7535 | if entry._rblxTrack and not entry._rblxTrack:IsPlaying() then | |
| 7536 | done = true | |
| 7537 | end | |
| 7538 | end) | |
| 7539 | end) | |
| 7540 | repeat task.wait(0.05) until done or not dancing | |
| 7541 | if waitConn then waitConn:Disconnect() end | |
| 7542 | pcall(function() entry.Destroy(char) end) | |
| 7543 | pcall(function() | |
| 7544 | for _, v in char:GetDescendants() do | |
| 7545 | if v:GetAttribute("EmoteProp") then v:Destroy() end
| |
| 7546 | end | |
| 7547 | end) | |
| 7548 | end | |
| 7549 | RunningQueuedEmote = false | |
| 7550 | end) | |
| 7551 | end | |
| 7552 | ||
| 7553 | local function stopanim() | |
| 7554 | StopAllAnimations() | |
| 7555 | musicSound.PlaybackRegionsEnabled=false | |
| 7556 | loopsplaying = math.max(0, loopsplaying - 1) | |
| 7557 | local SavedTime = Playsound.TimePosition | |
| 7558 | playanother = true | |
| 7559 | for name, _ in pairs(UserDanceContainer) do | |
| 7560 | StopPlayingModuleAnimation(name) | |
| 7561 | end | |
| 7562 | if dancing then | |
| 7563 | Playsound.PlaybackSpeed = 1 | |
| 7564 | if playbacktrack == true then | |
| 7565 | Playsound.Volume = 0 | |
| 7566 | Playsound:Stop() | |
| 7567 | else | |
| 7568 | Playsound.Volume = 0 | |
| 7569 | Playsound:Stop() | |
| 7570 | end | |
| 7571 | end | |
| 7572 | ||
| 7573 | coolparticles.Parent = randompart | |
| 7574 | pcall(function() | |
| 7575 | rst:Cancel() | |
| 7576 | rht:Cancel() | |
| 7577 | lht:Cancel() | |
| 7578 | lst:Cancel() | |
| 7579 | nt:Cancel() | |
| 7580 | rjt:Cancel() | |
| 7581 | end) | |
| 7582 | ||
| 7583 | if dancing == true then | |
| 7584 | dancing = false | |
| 7585 | idle = true | |
| 7586 | char.Humanoid:Move(Vector3.new(0,0,-.1),true) | |
| 7587 | walking = false | |
| 7588 | wait(.065) | |
| 7589 | ||
| 7590 | if playbacktrack and not dancing then | |
| 7591 | musicSound:Stop() | |
| 7592 | musicSound.Volume=.75 | |
| 7593 | if Occasions=="Halloween" then | |
| 7594 | Playsound.SoundId = DanceAsset("Halloween.mp3")
| |
| 7595 | end | |
| 7596 | Playsound.TimePosition = SavedTime | |
| 7597 | Playsound.Volume = .75 | |
| 7598 | Playsound:Play() | |
| 7599 | end | |
| 7600 | ||
| 7601 | if walking == true and idle == false and char.Humanoid.MoveDirection ~= Vector3.new(0,0,0) and dancing == false and playanother == true then | |
| 7602 | task.spawn(function() | |
| 7603 | playanim(walkanim, true) | |
| 7604 | end) | |
| 7605 | end | |
| 7606 | isAssetClean=true | |
| 7607 | for _,v in char:GetDescendants() do | |
| 7608 | if v:GetAttribute("EmoteProp") then
| |
| 7609 | v:Destroy() | |
| 7610 | end | |
| 7611 | end | |
| 7612 | wait(.1) | |
| 7613 | isAssetClean=false | |
| 7614 | end | |
| 7615 | end | |
| 7616 | if Occasions=="Halloween" then | |
| 7617 | Playsound.SoundId = DanceAsset("Halloween.mp3")
| |
| 7618 | else | |
| 7619 | if lol==1 then | |
| 7620 | Playsound.SoundId = DanceAsset("Lexapro Doesn't Work.mp3")
| |
| 7621 | elseif lol==2 then | |
| 7622 | Playsound.SoundId = DanceAsset("Slash.mp3")
| |
| 7623 | end | |
| 7624 | end | |
| 7625 | Playsound.TimePosition =0 | |
| 7626 | Playsound.Volume = .75 | |
| 7627 | Playsound:Play() | |
| 7628 | ||
| 7629 | local boolval=Instance.new("BoolValue")
| |
| 7630 | local strv=Instance.new("StringValue")
| |
| 7631 | function LoadTools() | |
| 7632 | if ws:FindFirstChild(YourName.."_Fake") then | |
| 7633 | char=ws[YourName.."_Fake"] | |
| 7634 | end | |
| 7635 | for _,v in ipairs(TableOfDances) do | |
| 7636 | if not RUNNING then break end | |
| 7637 | local player = game.Players.LocalPlayer | |
| 7638 | local backpack = player:WaitForChild("Backpack")
| |
| 7639 | local tool=Instance.new("Tool",backpack)
| |
| 7640 | tool.Name=v.Name | |
| 7641 | tool.RequiresHandle=false | |
| 7642 | tool.Equipped:Connect(function() | |
| 7643 | stopanim() | |
| 7644 | dancing = true | |
| 7645 | BoolDance.Value=false | |
| 7646 | String1.Value="Using Tools or Keybind dance" | |
| 7647 | Playsound.Volume=0 | |
| 7648 | wait(.005) | |
| 7649 | char.Humanoid.WalkSpeed=v.WalkSpeed | |
| 7650 | dancing = true | |
| 7651 | ||
| 7652 | if not v._userModule then | |
| 7653 | GetAsset(v) | |
| 7654 | end | |
| 7655 | if v.Name=="Someone Ships" then | |
| 7656 | repeat wait() until not isAssetClean | |
| 7657 | function Someone_Ships() | |
| 7658 | local i=Instance.new | |
| 7659 | local nr=NumberRange.new | |
| 7660 | local ns=NumberSequence.new | |
| 7661 | local nsk=NumberSequenceKeypoint.new | |
| 7662 | local cs=ColorSequence.new | |
| 7663 | local csk=ColorSequenceKeypoint.new | |
| 7664 | local v3=Vector3.new | |
| 7665 | local rgb=Color3.fromRGB | |
| 7666 | local c3=Color3.new | |
| 7667 | local v2=Vector2.new | |
| 7668 | local nr=NumberRange.new | |
| 7669 | local cf=CFrame.new | |
| 7670 | local angles=CFrame.Angles | |
| 7671 | local u2=UDim2.new | |
| 7672 | local scale=char:GetScale()-1 | |
| 7673 | if scale<1 then scale=1 end | |
| 7674 | local Kasane_Teto_1=i("MeshPart", char)
| |
| 7675 | Kasane_Teto_1.Name="Kasane_Teto" | |
| 7676 | Kasane_Teto_1:SetAttribute("EmoteProp", true)
| |
| 7677 | Kasane_Teto_1.MeshId="rbxassetid://114643462421615" | |
| 7678 | Kasane_Teto_1.Anchored=false | |
| 7679 | Kasane_Teto_1.CanCollide=false | |
| 7680 | Kasane_Teto_1.CanQuery=false | |
| 7681 | Kasane_Teto_1.CanTouch=true | |
| 7682 | Kasane_Teto_1.Transparency=0 | |
| 7683 | Kasane_Teto_1.Reflectance=0 | |
| 7684 | Kasane_Teto_1.Color=c3(0.639216,0.635294,0.647059) | |
| 7685 | Kasane_Teto_1.Material=Enum.Material.Plastic | |
| 7686 | Kasane_Teto_1.Size=v3(.15*scale,.15*scale,0.079889*scale) | |
| 7687 | Kasane_Teto_1.CastShadow=true | |
| 7688 | Kasane_Teto_1.Massless=true | |
| 7689 | Kasane_Teto_1.Material=Enum.Material.Plastic | |
| 7690 | Kasane_Teto_1.TextureID="rbxassetid://110660519010921" | |
| 7691 | Kasane_Teto_1.DoubleSided=false | |
| 7692 | Kasane_Teto_1.CollisionFidelity=Enum.CollisionFidelity.Default | |
| 7693 | Kasane_Teto_1.RenderFidelity=Enum.RenderFidelity.Automatic | |
| 7694 | ||
| 7695 | local H=i("Motor6D", char["HumanoidRootPart"])
| |
| 7696 | H.Name="Kasane_Teto" | |
| 7697 | H:SetAttribute("EmoteProp", true)
| |
| 7698 | H.Enabled=true | |
| 7699 | H.C0=cf(0,0,0,1,0,0,0,1,0,0,0,1) | |
| 7700 | H.C1=cf(0,0,0,1,0,0,0,1,0,0,0,1) | |
| 7701 | H.Part1=Kasane_Teto_1 | |
| 7702 | H.Part0=char["HumanoidRootPart"] | |
| 7703 | ||
| 7704 | local Stand_2=i("MeshPart", Kasane_Teto_1)
| |
| 7705 | Stand_2.Name="Stand" | |
| 7706 | Stand_2:SetAttribute("EmoteProp", true)
| |
| 7707 | Stand_2.MeshId="rbxassetid://85753545216631" | |
| 7708 | Stand_2.Anchored=false | |
| 7709 | Stand_2.CanCollide=false | |
| 7710 | Stand_2.CanQuery=false | |
| 7711 | Stand_2.CanTouch=true | |
| 7712 | Stand_2.Transparency=0 | |
| 7713 | Stand_2.Reflectance=0 | |
| 7714 | Stand_2.Color=c3(0.639216,0.635294,0.647059) | |
| 7715 | Stand_2.Material=Enum.Material.Plastic | |
| 7716 | Stand_2.Size=v3(.114*scale,.2*scale,.167*scale) | |
| 7717 | Stand_2.Position=v3(0,0,1.1) | |
| 7718 | Stand_2.CastShadow=true | |
| 7719 | Stand_2.Massless=true | |
| 7720 | Stand_2.Material=Enum.Material.Plastic | |
| 7721 | Stand_2.TextureID="rbxassetid://110660519010921" | |
| 7722 | Stand_2.DoubleSided=false | |
| 7723 | Stand_2.CollisionFidelity=Enum.CollisionFidelity.Default | |
| 7724 | Stand_2.RenderFidelity=Enum.RenderFidelity.Automatic | |
| 7725 | ||
| 7726 | ||
| 7727 | ||
| 7728 | local Stand_3=i("Motor6D", Kasane_Teto_1)
| |
| 7729 | Stand_3.Name="Stand" | |
| 7730 | Stand_3:SetAttribute("EmoteProp", true)
| |
| 7731 | Stand_3.Enabled=true | |
| 7732 | Stand_3.C0=cf(0.09758377075195312*scale,-0.7425305843353271*scale,1.1*scale,1,0,0,0,1,0,0,0,1) | |
| 7733 | Stand_3.C1=cf(0,0,0,1,0,0,0,1,0,0,0,1) | |
| 7734 | Stand_3.Part0=Kasane_Teto_1 | |
| 7735 | Stand_3.Part1=Stand_2 | |
| 7736 | ||
| 7737 | ||
| 7738 | ||
| 7739 | local ishipu2_4=i("Part", char)
| |
| 7740 | ishipu2_4.Name="ishipu2" | |
| 7741 | ishipu2_4:SetAttribute("EmoteProp", true)
| |
| 7742 | ishipu2_4.Anchored=false | |
| 7743 | ishipu2_4.CanCollide=false | |
| 7744 | ishipu2_4.CanQuery=false | |
| 7745 | ishipu2_4.CanTouch=true | |
| 7746 | ishipu2_4.Transparency=1 | |
| 7747 | ishipu2_4.Reflectance=0 | |
| 7748 | ishipu2_4.Color=c3(0.639216,0.635294,0.647059) | |
| 7749 | ishipu2_4.Material=Enum.Material.Plastic | |
| 7750 | ishipu2_4.Size=v3(0.100000,0.100000,0.100000) | |
| 7751 | ishipu2_4.CastShadow=true | |
| 7752 | ishipu2_4.Massless=true | |
| 7753 | ||
| 7754 | local H=i("Motor6D", char["HumanoidRootPart"])
| |
| 7755 | H.Name="ishipu2" | |
| 7756 | H:SetAttribute("EmoteProp", true)
| |
| 7757 | H.Enabled=true | |
| 7758 | H.C0=cf(0,0,0,1,0,0,0,1,0,0,0,1) | |
| 7759 | H.C1=cf(0,0,0,1,0,0,0,1,0,0,0,1) | |
| 7760 | H.Part1=ishipu2_4 | |
| 7761 | H.Part0=char["HumanoidRootPart"] | |
| 7762 | ||
| 7763 | local BillboardGui_5=i("BillboardGui", ishipu2_4)
| |
| 7764 | BillboardGui_5.Name="BillboardGui" | |
| 7765 | BillboardGui_5:SetAttribute("EmoteProp", true)
| |
| 7766 | BillboardGui_5.Size=u2(2,0,1,0) | |
| 7767 | BillboardGui_5.StudsOffsetWorldSpace=v3(0.000000,0.000000,0.000000) | |
| 7768 | BillboardGui_5.StudsOffset=v3(0.000000,0.000000,0.000000) | |
| 7769 | BillboardGui_5.Brightness=1 | |
| 7770 | ||
| 7771 | ||
| 7772 | ||
| 7773 | local text_6=i("TextLabel", BillboardGui_5)
| |
| 7774 | text_6.Name="text" | |
| 7775 | text_6:SetAttribute("EmoteProp", true)
| |
| 7776 | text_6.BackgroundColor3=c3(1.000000,1.000000,1.000000) | |
| 7777 | text_6.BackgroundTransparency=1 | |
| 7778 | text_6.Size=u2(1,0,1,0) | |
| 7779 | text_6.Position=u2(0,0,0,0) | |
| 7780 | text_6.Rotation=0 | |
| 7781 | text_6.ZIndex=1 | |
| 7782 | text_6.Font=Enum.Font.Unknown | |
| 7783 | text_6.FontSize=Enum.FontSize.Size11 | |
| 7784 | text_6.TextColor3=c3(0.000000,0.000000,0.000000) | |
| 7785 | text_6.Text="I ship u 2 hahaha" | |
| 7786 | text_6.TextSize=11 | |
| 7787 | text_6.TextDirection=Enum.TextDirection.Auto | |
| 7788 | text_6.TextStrokeColor3=c3(0.000000,0.000000,0.000000) | |
| 7789 | --text_6.FontFace=nil | |
| 7790 | text_6.TextXAlignment=Enum.TextXAlignment.Center | |
| 7791 | text_6.TextYAlignment=Enum.TextYAlignment.Center | |
| 7792 | text_6.AutomaticSize=Enum.AutomaticSize.None | |
| 7793 | ||
| 7794 | ||
| 7795 | ||
| 7796 | local UICorner_7=i("UICorner", text_6)
| |
| 7797 | UICorner_7.Name="UICorner" | |
| 7798 | UICorner_7:SetAttribute("EmoteProp", true)
| |
| 7799 | ||
| 7800 | ||
| 7801 | ||
| 7802 | local Wall_8=i("Part", char)
| |
| 7803 | Wall_8.Name="Wall" | |
| 7804 | Wall_8:SetAttribute("EmoteProp", true)
| |
| 7805 | Wall_8.Anchored=false | |
| 7806 | Wall_8.CanCollide=false | |
| 7807 | Wall_8.CanQuery=false | |
| 7808 | Wall_8.CanTouch=true | |
| 7809 | Wall_8.Transparency=0 | |
| 7810 | Wall_8.Reflectance=0 | |
| 7811 | Wall_8.Color=c3(0.223529,0.223529,0.223529) | |
| 7812 | Wall_8.Material=Enum.Material.Brick | |
| 7813 | Wall_8.Size=v3(1.000000*scale,7.387255*scale,7.884164*scale) | |
| 7814 | Wall_8.CastShadow=false | |
| 7815 | Wall_8.Massless=true | |
| 7816 | ||
| 7817 | local H=i("Motor6D", char["HumanoidRootPart"])
| |
| 7818 | H.Name="Wall" | |
| 7819 | H:SetAttribute("EmoteProp", true)
| |
| 7820 | H.Enabled=true | |
| 7821 | H.C0=cf(0,0,0,1,0,0,0,1,0,0,0,1) | |
| 7822 | H.C1=cf(0,0,0,1,0,0,0,1,0,0,0,1) | |
| 7823 | H.Part1=Wall_8 | |
| 7824 | H.Part0=char["HumanoidRootPart"] | |
| 7825 | ||
| 7826 | local Guy_9=i("Part", char)
| |
| 7827 | Guy_9.Name="Guy" | |
| 7828 | Guy_9:SetAttribute("EmoteProp", true)
| |
| 7829 | Guy_9.Anchored=false | |
| 7830 | Guy_9.CanCollide=false | |
| 7831 | Guy_9.CanQuery=false | |
| 7832 | Guy_9.CanTouch=true | |
| 7833 | Guy_9.Transparency=1 | |
| 7834 | Guy_9.Reflectance=0 | |
| 7835 | Guy_9.Color=c3(0.639216,0.635294,0.647059) | |
| 7836 | Guy_9.Material=Enum.Material.Plastic | |
| 7837 | Guy_9.Size=v3(2.000000*scale,2.000000*scale,1.000000*scale) | |
| 7838 | Guy_9.CastShadow=true | |
| 7839 | Guy_9.Massless=true | |
| 7840 | ||
| 7841 | ||
| 7842 | ||
| 7843 | local Head_10=i("Part", Guy_9)
| |
| 7844 | Head_10.Name="Head" | |
| 7845 | Head_10:SetAttribute("EmoteProp", true)
| |
| 7846 | Head_10.Anchored=false | |
| 7847 | Head_10.CanCollide=false | |
| 7848 | Head_10.CanQuery=false | |
| 7849 | Head_10.CanTouch=true | |
| 7850 | Head_10.Transparency=0 | |
| 7851 | Head_10.Reflectance=0 | |
| 7852 | Head_10.Color=c3(0.639216,0.635294,0.647059) | |
| 7853 | Head_10.Material=Enum.Material.SmoothPlastic | |
| 7854 | Head_10.Size=v3(2.000000*scale,1.000000*scale,1.000000*scale) | |
| 7855 | Head_10.Position=v3(0,1.5*scale,0) | |
| 7856 | Head_10.CastShadow=true | |
| 7857 | Head_10.Massless=true | |
| 7858 | ||
| 7859 | ||
| 7860 | ||
| 7861 | local Mesh_11=i("SpecialMesh", Head_10)
| |
| 7862 | Mesh_11.Name="Mesh" | |
| 7863 | Mesh_11:SetAttribute("EmoteProp", true)
| |
| 7864 | Mesh_11.MeshType=Enum.MeshType.Head | |
| 7865 | Mesh_11.MeshId="" | |
| 7866 | Mesh_11.TextureId="" | |
| 7867 | Mesh_11.Scale=v3(1.250000,1.250000,1.250000) | |
| 7868 | Mesh_11.Offset=v3(0.000000,0.000000,0.000000) | |
| 7869 | Mesh_11.VertexColor=v3(1.000000,1.000000,1.000000) | |
| 7870 | ||
| 7871 | ||
| 7872 | ||
| 7873 | local face_12=i("Decal", Head_10)
| |
| 7874 | face_12.Name="face" | |
| 7875 | face_12:SetAttribute("EmoteProp", true)
| |
| 7876 | face_12.Texture="rbxasset://textures/face.png" | |
| 7877 | face_12.Transparency=0 | |
| 7878 | face_12.Color3=c3(1.000000,1.000000,1.000000) | |
| 7879 | ||
| 7880 | ||
| 7881 | ||
| 7882 | local LeftArm_13=i("Part", Guy_9)
| |
| 7883 | LeftArm_13.Name="Left Arm" | |
| 7884 | LeftArm_13:SetAttribute("EmoteProp", true)
| |
| 7885 | LeftArm_13.Anchored=false | |
| 7886 | LeftArm_13.CanCollide=false | |
| 7887 | LeftArm_13.CanQuery=false | |
| 7888 | LeftArm_13.CanTouch=true | |
| 7889 | LeftArm_13.Transparency=0 | |
| 7890 | LeftArm_13.Reflectance=0 | |
| 7891 | LeftArm_13.Color=c3(0.639216,0.635294,0.647059) | |
| 7892 | LeftArm_13.Material=Enum.Material.SmoothPlastic | |
| 7893 | LeftArm_13.Size=v3(1.000000*scale,2.000000*scale,1.000000*scale) | |
| 7894 | LeftArm_13.Position=v3(-1.5*scale,0,0) | |
| 7895 | LeftArm_13.CastShadow=true | |
| 7896 | LeftArm_13.Massless=true | |
| 7897 | ||
| 7898 | ||
| 7899 | ||
| 7900 | local leftarm_14=i("SpecialMesh", LeftArm_13)
| |
| 7901 | leftarm_14.Name="leftarm" | |
| 7902 | leftarm_14:SetAttribute("EmoteProp", true)
| |
| 7903 | leftarm_14.MeshType=Enum.MeshType.FileMesh | |
| 7904 | leftarm_14.MeshId="rbxasset://fonts/leftarm.mesh" | |
| 7905 | leftarm_14.TextureId="" | |
| 7906 | leftarm_14.Scale=v3(1.000000*scale,1.000000*scale,1.000000*scale) | |
| 7907 | leftarm_14.Offset=v3(0.000000,0.000000,0.000000) | |
| 7908 | leftarm_14.VertexColor=v3(1.000000,1.000000,1.000000) | |
| 7909 | ||
| 7910 | ||
| 7911 | ||
| 7912 | local LeftLeg_15=i("Part", Guy_9)
| |
| 7913 | LeftLeg_15.Name="Left Leg" | |
| 7914 | LeftLeg_15:SetAttribute("EmoteProp", true)
| |
| 7915 | LeftLeg_15.Anchored=false | |
| 7916 | LeftLeg_15.CanCollide=false | |
| 7917 | LeftLeg_15.CanQuery=false | |
| 7918 | LeftLeg_15.CanTouch=true | |
| 7919 | LeftLeg_15.Transparency=0 | |
| 7920 | LeftLeg_15.Reflectance=0 | |
| 7921 | LeftLeg_15.Color=c3(0.105882,0.164706,0.207843) | |
| 7922 | LeftLeg_15.Material=Enum.Material.SmoothPlastic | |
| 7923 | LeftLeg_15.Size=v3(1.000000*scale,2.000000*scale,1.000000*scale) | |
| 7924 | LeftLeg_15.Position=v3(-.5*scale,-2.000000*scale,0) | |
| 7925 | LeftLeg_15.CastShadow=true | |
| 7926 | LeftLeg_15.Massless=true | |
| 7927 | ||
| 7928 | ||
| 7929 | ||
| 7930 | local leftleg_16=i("SpecialMesh", LeftLeg_15)
| |
| 7931 | leftleg_16.Name="leftleg" | |
| 7932 | leftleg_16:SetAttribute("EmoteProp", true)
| |
| 7933 | leftleg_16.MeshType=Enum.MeshType.FileMesh | |
| 7934 | leftleg_16.MeshId="rbxasset://fonts//leftleg.mesh" | |
| 7935 | leftleg_16.TextureId="" | |
| 7936 | leftleg_16.Scale=v3(1.000000*scale,1.000000*scale,1.000000*scale) | |
| 7937 | leftleg_16.Offset=v3(0.000000,0.000000,0.000000) | |
| 7938 | leftleg_16.VertexColor=v3(1.000000,1.000000,1.000000) | |
| 7939 | ||
| 7940 | ||
| 7941 | ||
| 7942 | local RightArm_17=i("Part", Guy_9)
| |
| 7943 | RightArm_17.Name="Right Arm" | |
| 7944 | RightArm_17:SetAttribute("EmoteProp", true)
| |
| 7945 | RightArm_17.Anchored=false | |
| 7946 | RightArm_17.CanCollide=false | |
| 7947 | RightArm_17.CanQuery=false | |
| 7948 | RightArm_17.CanTouch=true | |
| 7949 | RightArm_17.Transparency=0 | |
| 7950 | RightArm_17.Reflectance=0 | |
| 7951 | RightArm_17.Color=c3(0.639216,0.635294,0.647059) | |
| 7952 | RightArm_17.Material=Enum.Material.SmoothPlastic | |
| 7953 | RightArm_17.Size=v3(1.000000*scale,2.000000*scale,1.000000*scale) | |
| 7954 | RightArm_17.Position=v3(1.5*scale,0,0) | |
| 7955 | RightArm_17.CastShadow=true | |
| 7956 | RightArm_17.Massless=true | |
| 7957 | ||
| 7958 | ||
| 7959 | ||
| 7960 | local rightarm_18=i("SpecialMesh", RightArm_17)
| |
| 7961 | rightarm_18.Name="rightarm" | |
| 7962 | rightarm_18:SetAttribute("EmoteProp", true)
| |
| 7963 | rightarm_18.MeshType=Enum.MeshType.FileMesh | |
| 7964 | rightarm_18.MeshId="rbxasset://fonts/rightarm.mesh" | |
| 7965 | rightarm_18.TextureId="" | |
| 7966 | rightarm_18.Scale=v3(1.000000*scale,1.000000*scale,1.000000*scale) | |
| 7967 | rightarm_18.Offset=v3(0.000000,0.000000,0.000000) | |
| 7968 | rightarm_18.VertexColor=v3(1.000000,1.000000,1.000000) | |
| 7969 | ||
| 7970 | ||
| 7971 | ||
| 7972 | local RightLeg_19=i("Part", Guy_9)
| |
| 7973 | RightLeg_19.Name="Right Leg" | |
| 7974 | RightLeg_19:SetAttribute("EmoteProp", true)
| |
| 7975 | RightLeg_19.Anchored=false | |
| 7976 | RightLeg_19.CanCollide=false | |
| 7977 | RightLeg_19.CanQuery=false | |
| 7978 | RightLeg_19.CanTouch=true | |
| 7979 | RightLeg_19.Transparency=0 | |
| 7980 | RightLeg_19.Reflectance=0 | |
| 7981 | RightLeg_19.Color=c3(0.105882,0.164706,0.207843) | |
| 7982 | RightLeg_19.Material=Enum.Material.SmoothPlastic | |
| 7983 | RightLeg_19.Size=v3(1.000000*scale,2.000000*scale,1.000000*scale) | |
| 7984 | RightLeg_19.Position=v3(.5*scale,-2.000000*scale,0) | |
| 7985 | RightLeg_19.CastShadow=true | |
| 7986 | RightLeg_19.Massless=true | |
| 7987 | ||
| 7988 | ||
| 7989 | ||
| 7990 | local rightleg_20=i("SpecialMesh", RightLeg_19)
| |
| 7991 | rightleg_20.Name="rightleg" | |
| 7992 | rightleg_20:SetAttribute("EmoteProp", true)
| |
| 7993 | rightleg_20.MeshType=Enum.MeshType.FileMesh | |
| 7994 | rightleg_20.MeshId="rbxasset://fonts//rightleg.mesh" | |
| 7995 | rightleg_20.TextureId="" | |
| 7996 | rightleg_20.Scale=v3(1.000000*scale,1.000000*scale,1.000000*scale) | |
| 7997 | rightleg_20.Offset=v3(0.000000,0.000000,0.000000) | |
| 7998 | rightleg_20.VertexColor=v3(1.000000,1.000000,1.000000) | |
| 7999 | ||
| 8000 | ||
| 8001 | ||
| 8002 | local Torso_21=i("Part", Guy_9)
| |
| 8003 | Torso_21.Name="Torso" | |
| 8004 | Torso_21:SetAttribute("EmoteProp", true)
| |
| 8005 | Torso_21.Anchored=false | |
| 8006 | Torso_21.CanCollide=false | |
| 8007 | Torso_21.CanQuery=false | |
| 8008 | Torso_21.CanTouch=true | |
| 8009 | Torso_21.Transparency=0 | |
| 8010 | Torso_21.Reflectance=0 | |
| 8011 | Torso_21.Color=c3(0.388235,0.372549,0.384314) | |
| 8012 | Torso_21.Material=Enum.Material.SmoothPlastic | |
| 8013 | Torso_21.Size=v3(2.000000*scale,2.000000*scale,1.000000*scale) | |
| 8014 | Torso_21.CastShadow=true | |
| 8015 | Torso_21.Massless=true | |
| 8016 | ||
| 8017 | ||
| 8018 | ||
| 8019 | local torso_22=i("SpecialMesh", Torso_21)
| |
| 8020 | torso_22.Name="torso" | |
| 8021 | torso_22:SetAttribute("EmoteProp", true)
| |
| 8022 | torso_22.MeshType=Enum.MeshType.FileMesh | |
| 8023 | torso_22.MeshId="rbxasset://fonts//torso.mesh" | |
| 8024 | torso_22.TextureId="" | |
| 8025 | torso_22.Scale=v3(1.000000*scale,1.000000*scale,1.000000*scale) | |
| 8026 | torso_22.Offset=v3(0.000000,0.000000,0.000000) | |
| 8027 | torso_22.VertexColor=v3(1.000000,1.000000,1.000000) | |
| 8028 | ||
| 8029 | ||
| 8030 | ||
| 8031 | local Torso_23=i("Motor6D", Guy_9)
| |
| 8032 | Torso_23.Name="Torso" | |
| 8033 | Torso_23:SetAttribute("EmoteProp", true)
| |
| 8034 | Torso_23.Enabled=true | |
| 8035 | Torso_23.C0=cf(0,0,0,1,0,0,0,1,0,0,0,1) | |
| 8036 | Torso_23.C1=cf(0,0,0,1,0,0,0,1,0,0,0,1) | |
| 8037 | Torso_23.Part0=Guy_9 | |
| 8038 | Torso_23.Part1=Torso_21 | |
| 8039 | ||
| 8040 | ||
| 8041 | ||
| 8042 | local RightLeg_24=i("Motor6D", Guy_9)
| |
| 8043 | RightLeg_24.Name="Right Leg" | |
| 8044 | RightLeg_24:SetAttribute("EmoteProp", true)
| |
| 8045 | RightLeg_24.Enabled=true | |
| 8046 | RightLeg_24.C0=cf(0.5*scale,-2*scale,0,1,0,0,0,1,0,0,0,1) | |
| 8047 | RightLeg_24.C1=cf(0,0,0,1,0,0,0,1,0,0,0,1) | |
| 8048 | RightLeg_24.Part0=Guy_9 | |
| 8049 | RightLeg_24.Part1=RightLeg_19 | |
| 8050 | ||
| 8051 | ||
| 8052 | ||
| 8053 | local RightArm_25=i("Motor6D", Guy_9)
| |
| 8054 | RightArm_25.Name="Right Arm" | |
| 8055 | RightArm_25:SetAttribute("EmoteProp", true)
| |
| 8056 | RightArm_25.Enabled=true | |
| 8057 | RightArm_25.C0=cf(1.5*scale,0,0,1,0,0,0,1,0,0,0,1) | |
| 8058 | RightArm_25.C1=cf(0,0,0,1,0,0,0,1,0,0,0,1) | |
| 8059 | RightArm_25.Part0=Guy_9 | |
| 8060 | RightArm_25.Part1=RightArm_17 | |
| 8061 | ||
| 8062 | ||
| 8063 | ||
| 8064 | local LeftLeg_26=i("Motor6D", Guy_9)
| |
| 8065 | LeftLeg_26.Name="Left Leg" | |
| 8066 | LeftLeg_26:SetAttribute("EmoteProp", true)
| |
| 8067 | LeftLeg_26.Enabled=true | |
| 8068 | LeftLeg_26.C0=cf(-0.5*scale,-2*scale,0,1,0,0,0,1,0,0,0,1) | |
| 8069 | LeftLeg_26.C1=cf(0,0,0,1,0,0,0,1,0,0,0,1) | |
| 8070 | LeftLeg_26.Part0=Guy_9 | |
| 8071 | LeftLeg_26.Part1=LeftLeg_15 | |
| 8072 | ||
| 8073 | ||
| 8074 | ||
| 8075 | local LeftArm_27=i("Motor6D", Guy_9)
| |
| 8076 | LeftArm_27.Name="Left Arm" | |
| 8077 | LeftArm_27:SetAttribute("EmoteProp", true)
| |
| 8078 | LeftArm_27.Enabled=true | |
| 8079 | LeftArm_27.C0=cf(-1.5*scale,0,0,1,0,0,0,1,0,0,0,1) | |
| 8080 | LeftArm_27.C1=cf(0,0,0,1,0,0,0,1,0,0,0,1) | |
| 8081 | LeftArm_27.Part0=Guy_9 | |
| 8082 | LeftArm_27.Part1=LeftArm_13 | |
| 8083 | ||
| 8084 | ||
| 8085 | ||
| 8086 | local Head_28=i("Motor6D", Guy_9)
| |
| 8087 | Head_28.Name="Head" | |
| 8088 | Head_28:SetAttribute("EmoteProp", true)
| |
| 8089 | Head_28.Enabled=true | |
| 8090 | Head_28.C0=cf(0,1.5*scale,0,1,0,0,0,1,0,0,0,1) | |
| 8091 | Head_28.C1=cf(0,0,0,1,0,0,0,1,0,0,0,1) | |
| 8092 | Head_28.Part0=Guy_9 | |
| 8093 | Head_28.Part1=Head_10 | |
| 8094 | ||
| 8095 | local H=i("Motor6D", char["HumanoidRootPart"])
| |
| 8096 | H.Name="Guy" | |
| 8097 | H:SetAttribute("EmoteProp", true)
| |
| 8098 | H.Enabled=true | |
| 8099 | H.C0=cf(0,0,0,1,0,0,0,1,0,0,0,1) | |
| 8100 | H.C1=cf(0,0,0,1,0,0,0,1,0,0,0,1) | |
| 8101 | H.Part1=Guy_9 | |
| 8102 | H.Part0=char["HumanoidRootPart"] | |
| 8103 | ||
| 8104 | ||
| 8105 | ||
| 8106 | local Talking_29=i("Part", char)
| |
| 8107 | Talking_29.Name="Talking" | |
| 8108 | Talking_29:SetAttribute("EmoteProp", true)
| |
| 8109 | Talking_29.Anchored=false | |
| 8110 | Talking_29.CanCollide=false | |
| 8111 | Talking_29.CanQuery=false | |
| 8112 | Talking_29.CanTouch=true | |
| 8113 | Talking_29.Transparency=1 | |
| 8114 | --Talking_29.BackgroundTransparency=1 | |
| 8115 | Talking_29.Reflectance=0 | |
| 8116 | Talking_29.Color=c3(0.639216,0.635294,0.647059) | |
| 8117 | Talking_29.Material=Enum.Material.Plastic | |
| 8118 | Talking_29.Size=v3(0.100000,0.100000,0.100000) | |
| 8119 | Talking_29.CastShadow=true | |
| 8120 | Talking_29.Massless=true | |
| 8121 | ||
| 8122 | ||
| 8123 | ||
| 8124 | local BillboardGui_30=i("BillboardGui", Talking_29)
| |
| 8125 | BillboardGui_30.Name="BillboardGui" | |
| 8126 | BillboardGui_30:SetAttribute("EmoteProp", true)
| |
| 8127 | BillboardGui_30.Size=u2(1,5,1,0) | |
| 8128 | BillboardGui_30.StudsOffsetWorldSpace=v3(0.000000,0.000000,0.000000) | |
| 8129 | BillboardGui_30.StudsOffset=v3(0.000000,0.000000,0.000000) | |
| 8130 | BillboardGui_30.Brightness=1 | |
| 8131 | ||
| 8132 | ||
| 8133 | ||
| 8134 | local TextLabel_31=i("TextLabel", BillboardGui_30)
| |
| 8135 | TextLabel_31.Name="TextLabel" | |
| 8136 | TextLabel_31:SetAttribute("EmoteProp", true)
| |
| 8137 | TextLabel_31.BackgroundColor3=c3(1.000000,1.000000,1.000000) | |
| 8138 | TextLabel_31.BackgroundColor3=c3(1.000000,1.000000,1.000000) | |
| 8139 | TextLabel_31.Size=u2(1,0,1,0) | |
| 8140 | TextLabel_31.Position=u2(0,0,0,0) | |
| 8141 | TextLabel_31.Rotation=0 | |
| 8142 | TextLabel_31.ZIndex=1 | |
| 8143 | TextLabel_31.BackgroundTransparency=1 | |
| 8144 | TextLabel_31.Font=Enum.Font.Unknown | |
| 8145 | TextLabel_31.FontSize=Enum.FontSize.Size11 | |
| 8146 | TextLabel_31.TextColor3=c3(0.000000,0.000000,0.000000) | |
| 8147 | TextLabel_31.Text="*Talking*" | |
| 8148 | TextLabel_31.TextSize=11 | |
| 8149 | TextLabel_31.TextDirection=Enum.TextDirection.Auto | |
| 8150 | TextLabel_31.TextStrokeColor3=c3(0.000000,0.000000,0.000000) | |
| 8151 | --TextLabel_31.FontFace=nil | |
| 8152 | TextLabel_31.TextXAlignment=Enum.TextXAlignment.Center | |
| 8153 | TextLabel_31.TextYAlignment=Enum.TextYAlignment.Center | |
| 8154 | TextLabel_31.AutomaticSize=Enum.AutomaticSize.None | |
| 8155 | ||
| 8156 | local H=i("Motor6D", char["HumanoidRootPart"])
| |
| 8157 | H.Name="Talking" | |
| 8158 | H:SetAttribute("EmoteProp", true)
| |
| 8159 | H.Enabled=true | |
| 8160 | H.C0=cf(0,0,0,1,0,0,0,1,0,0,0,1) | |
| 8161 | H.C1=cf(0,0,0,1,0,0,0,1,0,0,0,1) | |
| 8162 | H.Part1=Talking_29 | |
| 8163 | H.Part0=char["HumanoidRootPart"] | |
| 8164 | ||
| 8165 | ||
| 8166 | local Main_32=i("Part", char)
| |
| 8167 | Main_32.Name="Main" | |
| 8168 | Main_32:SetAttribute("EmoteProp", true)
| |
| 8169 | Main_32.Anchored=false | |
| 8170 | Main_32.CanCollide=false | |
| 8171 | Main_32.CanQuery=false | |
| 8172 | Main_32.CanTouch=true | |
| 8173 | Main_32.Transparency=1 | |
| 8174 | Main_32.Reflectance=0 | |
| 8175 | Main_32.Color=c3(0.639216,0.635294,0.647059) | |
| 8176 | Main_32.Material=Enum.Material.Plastic | |
| 8177 | Main_32.Size=v3(0.100000,0.100000,0.100000) | |
| 8178 | Main_32.CastShadow=true | |
| 8179 | Main_32.Massless=true | |
| 8180 | ||
| 8181 | local H=i("Motor6D", char["HumanoidRootPart"])
| |
| 8182 | H.Name="Main" | |
| 8183 | H:SetAttribute("EmoteProp", true)
| |
| 8184 | H.Enabled=true | |
| 8185 | H.C0=cf(0,0,0,1,0,0,0,1,0,0,0,1) | |
| 8186 | H.C1=cf(0,0,0,1,0,0,0,1,0,0,0,1) | |
| 8187 | H.Part1=Main_32 | |
| 8188 | H.Part0=char["HumanoidRootPart"] | |
| 8189 | ||
| 8190 | local BillboardGui_33=i("BillboardGui", Main_32)
| |
| 8191 | BillboardGui_33.Name="BillboardGui" | |
| 8192 | BillboardGui_33:SetAttribute("EmoteProp", true)
| |
| 8193 | BillboardGui_33.Size=u2(3,5,1,0) | |
| 8194 | BillboardGui_33.StudsOffsetWorldSpace=v3(0.000000,0.000000,0.000000) | |
| 8195 | BillboardGui_33.StudsOffset=v3(0.000000,0.000000,0.000000) | |
| 8196 | BillboardGui_33.Brightness=1 | |
| 8197 | ||
| 8198 | ||
| 8199 | ||
| 8200 | local pov_34=i("TextLabel", BillboardGui_33)
| |
| 8201 | pov_34.Name="pov" | |
| 8202 | pov_34:SetAttribute("EmoteProp", true)
| |
| 8203 | pov_34.BackgroundColor3=c3(1.000000,1.000000,1.000000) | |
| 8204 | pov_34.BackgroundColor3=c3(1.000000,1.000000,1.000000) | |
| 8205 | pov_34.Size=u2(1,0,1,0) | |
| 8206 | pov_34.Position=u2(0,0,0,0) | |
| 8207 | pov_34.Rotation=0 | |
| 8208 | pov_34.ZIndex=1 | |
| 8209 | pov_34.BackgroundTransparency=1 | |
| 8210 | pov_34.Font=Enum.Font.Unknown | |
| 8211 | pov_34.FontSize=Enum.FontSize.Size11 | |
| 8212 | pov_34.TextColor3=c3(1.000000,1.000000,1.000000) | |
| 8213 | pov_34.Text="Pov: Someone ships you with a boy" | |
| 8214 | pov_34.TextSize=11 | |
| 8215 | pov_34.TextDirection=Enum.TextDirection.Auto | |
| 8216 | pov_34.TextStrokeColor3=c3(0.000000,0.000000,0.000000) | |
| 8217 | --pov_34.FontFace=nil | |
| 8218 | pov_34.TextXAlignment=Enum.TextXAlignment.Center | |
| 8219 | pov_34.TextYAlignment=Enum.TextYAlignment.Center | |
| 8220 | pov_34.AutomaticSize=Enum.AutomaticSize.None | |
| 8221 | ||
| 8222 | ||
| 8223 | ||
| 8224 | local UIStroke_35=i("UIStroke", pov_34)
| |
| 8225 | UIStroke_35.Name="UIStroke" | |
| 8226 | UIStroke_35:SetAttribute("EmoteProp", true)
| |
| 8227 | ||
| 8228 | ||
| 8229 | ||
| 8230 | end | |
| 8231 | Someone_Ships() | |
| 8232 | wait(.2) | |
| 8233 | end | |
| 8234 | Numval.Value=tonumber(v.Alpha) | |
| 8235 | if v._userModule then | |
| 8236 | local m = v._userModule | |
| 8237 | if m.Looped == false then | |
| 8238 | ||
| 8239 | table.insert(QueueEmotesThatIsntLooped, m) | |
| 8240 | PlayQueuedEmote() | |
| 8241 | else | |
| 8242 | PlayModuleEmote(m) | |
| 8243 | end | |
| 8244 | --musicSound:Play() | |
| 8245 | else | |
| 8246 | if v.DanceName~="None" and v.Url~="None" and v.Id=="None" then | |
| 8247 | if v.Looped==false then | |
| 8248 | if v.Name=="Retry Now" then | |
| 8249 | if isfile and not isfile(MusicFolder.."/RetryIntro.mp3") then | |
| 8250 | writefile(MusicFolder.."/RetryIntro.mp3",game:HttpGet("https://github.com/Solary-3/Scripts/blob/Audios-1/RetryIntro.mp3?raw=true"))
| |
| 8251 | end | |
| 8252 | if isfile and not isfile(MusicFolder.."/RetryNow.mp3") then | |
| 8253 | writefile(MusicFolder.."/RetryNow.mp3",game:HttpGet("https://github.com/Solary-3/Scripts/blob/Audios-1/RetryNow.mp3?raw=true"))
| |
| 8254 | end | |
| 8255 | ||
| 8256 | local dance = LoadDance(v.DanceName, v.Url) | |
| 8257 | musicSound.SoundId=getcustomasset(MusicFolder.."/RetryIntro.mp3") | |
| 8258 | musicSound:Play() | |
| 8259 | local dance2 = LoadDance("Retry2", "https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Retry2.lua")
| |
| 8260 | if dance then | |
| 8261 | local currentTrack = playanim(dance,false,false) | |
| 8262 | if currentTrack and currentTrack.OnFinished then | |
| 8263 | currentTrack.OnFinished.Event:Connect(function() | |
| 8264 | if dance2 then | |
| 8265 | playanim(dance2,true,true) | |
| 8266 | musicSound:Stop() | |
| 8267 | musicSound.SoundId=getcustomasset(MusicFolder.."/RetryNow.mp3") | |
| 8268 | musicSound:Play() | |
| 8269 | end | |
| 8270 | end) | |
| 8271 | end | |
| 8272 | end | |
| 8273 | end | |
| 8274 | else | |
| 8275 | local dance = LoadDance(v.DanceName, v.Url) | |
| 8276 | if dance then | |
| 8277 | if v.Name=="Someone Ships" then wait(.2) end | |
| 8278 | playanim(dance,true,v.UseSoundPos) | |
| 8279 | end | |
| 8280 | end | |
| 8281 | else | |
| 8282 | playanim(v.Id,true,v.UseSoundPos) | |
| 8283 | end | |
| 8284 | end | |
| 8285 | ||
| 8286 | ||
| 8287 | pcall(function() | |
| 8288 | if v.Name~="Retry Now" then | |
| 8289 | if getcustomasset(MusicFolder.."/"..v.Music) then | |
| 8290 | musicSound:Play() | |
| 8291 | else | |
| 8292 | warn("Audio Is Downloading")
| |
| 8293 | end | |
| 8294 | end | |
| 8295 | end) | |
| 8296 | musicSound.Playing=true | |
| 8297 | musicSound:Play() | |
| 8298 | end) | |
| 8299 | tool.Unequipped:Connect(function() | |
| 8300 | --if BoolDance.Value==true then return end | |
| 8301 | pcall(function() | |
| 8302 | char.Humanoid.WalkSpeed = 14*char:GetScale()-1 | |
| 8303 | end) | |
| 8304 | stopanim() | |
| 8305 | end) | |
| 8306 | end | |
| 8307 | ||
| 8308 | ||
| 8309 | ||
| 8310 | ||
| 8311 | ||
| 8312 | ||
| 8313 | ||
| 8314 | ||
| 8315 | pcall(function() | |
| 8316 | States=char.Humanoid:GetPropertyChangedSignal("MoveDirection"):Connect(function()
| |
| 8317 | if char.Humanoid.Sit == false then | |
| 8318 | if char.Humanoid.MoveDirection == Vector3.new(0,0,0) and dancing == false and idle == false then | |
| 8319 | walking = false | |
| 8320 | idle = true | |
| 8321 | stopanim() | |
| 8322 | fwait(1/500) | |
| 8323 | if idle == true and walking == false and char.Humanoid.MoveDirection == Vector3.new(0,0,0) and dancing == false and playanother==true then | |
| 8324 | local dance=LoadDance("Idle2", "https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Idle2.lua")
| |
| 8325 | if dance then | |
| 8326 | playanim(dance,true) | |
| 8327 | end | |
| 8328 | end | |
| 8329 | elseif char.Humanoid.MoveDirection ~= Vector3.new(0,0,0) and dancing == false and walking == false then | |
| 8330 | char.Humanoid.WalkSpeed = 14*char:GetScale() | |
| 8331 | walking = true | |
| 8332 | idle = false | |
| 8333 | stopanim() | |
| 8334 | fwait(1/500) | |
| 8335 | if sprinting == false then | |
| 8336 | char.Humanoid.WalkSpeed = 14*char:GetScale() | |
| 8337 | if walking == true and idle == false and char.Humanoid.MoveDirection ~= Vector3.new(0,0,0) and dancing == false and playanother==true then | |
| 8338 | playanim(walkanim,true) | |
| 8339 | end | |
| 8340 | else | |
| 8341 | char.Humanoid.WalkSpeed = 24*char:GetScale() | |
| 8342 | if walking == true and idle == false and char.Humanoid.MoveDirection ~= Vector3.new(0,0,0) and dancing == false and playanother==true then | |
| 8343 | local dance=LoadDance("Sprint", "https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Sprint.lua")
| |
| 8344 | if dance then | |
| 8345 | playanim(dance,true) | |
| 8346 | end | |
| 8347 | end | |
| 8348 | end | |
| 8349 | end | |
| 8350 | end | |
| 8351 | end) | |
| 8352 | end) | |
| 8353 | ||
| 8354 | end | |
| 8355 | ||
| 8356 | local cac | |
| 8357 | if TypeOfReanim~="Emper" then | |
| 8358 | LoadTools() | |
| 8359 | cac=Detect:GetPropertyChangedSignal("Value"):Connect(function()
| |
| 8360 | if Detect.Value==false then | |
| 8361 | --stopanim() | |
| 8362 | if not DisableCustomInventory then | |
| 8363 | local UI=G2L["1"] | |
| 8364 | local hb=UI["hotBar"] | |
| 8365 | local inv=UI["Inventory"] | |
| 8366 | for _,v in hb:GetDescendants() do | |
| 8367 | if v:IsA("ImageButton") then
| |
| 8368 | v:Destroy() | |
| 8369 | end | |
| 8370 | end | |
| 8371 | for _,v in inv:GetDescendants() do | |
| 8372 | if v:IsA("ImageButton") then
| |
| 8373 | v:Destroy() | |
| 8374 | end | |
| 8375 | end | |
| 8376 | end | |
| 8377 | local player = game.Players.LocalPlayer | |
| 8378 | local backpack = player:WaitForChild("Backpack")
| |
| 8379 | for _,v in backpack:GetChildren() do | |
| 8380 | if v:IsA("Tool") then
| |
| 8381 | v:Destroy() | |
| 8382 | end | |
| 8383 | end | |
| 8384 | LoadTools() | |
| 8385 | else | |
| 8386 | stopanim() | |
| 8387 | for name, _ in pairs(UserDanceContainer) do | |
| 8388 | StopPlayingModuleAnimation(name) | |
| 8389 | end | |
| 8390 | end | |
| 8391 | end) | |
| 8392 | end | |
| 8393 | if TypeOfReanim=="Emper" then | |
| 8394 | pcall(function() | |
| 8395 | States=char.Humanoid:GetPropertyChangedSignal("MoveDirection"):Connect(function()
| |
| 8396 | if char.Humanoid.Sit == false then | |
| 8397 | if char.Humanoid.MoveDirection == Vector3.new(0,0,0) and dancing == false and idle == false then | |
| 8398 | walking = false | |
| 8399 | idle = true | |
| 8400 | stopanim() | |
| 8401 | fwait(1/500) | |
| 8402 | if idle == true and walking == false and char.Humanoid.MoveDirection == Vector3.new(0,0,0) and dancing == false and playanother==true then | |
| 8403 | local dance=LoadDance("Idle2", "https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Idle2.lua")
| |
| 8404 | if dance then | |
| 8405 | playanim(dance,true) | |
| 8406 | end | |
| 8407 | end | |
| 8408 | elseif char.Humanoid.MoveDirection ~= Vector3.new(0,0,0) and dancing == false and walking == false then | |
| 8409 | char.Humanoid.WalkSpeed = 14*char:GetScale() | |
| 8410 | walking = true | |
| 8411 | idle = false | |
| 8412 | stopanim() | |
| 8413 | fwait(1/500) | |
| 8414 | if sprinting == false then | |
| 8415 | char.Humanoid.WalkSpeed = 14*char:GetScale() | |
| 8416 | if walking == true and idle == false and char.Humanoid.MoveDirection ~= Vector3.new(0,0,0) and dancing == false and playanother==true then | |
| 8417 | playanim(walkanim,true) | |
| 8418 | end | |
| 8419 | else | |
| 8420 | char.Humanoid.WalkSpeed = 24*char:GetScale() | |
| 8421 | if walking == true and idle == false and char.Humanoid.MoveDirection ~= Vector3.new(0,0,0) and dancing == false and playanother==true then | |
| 8422 | local dance=LoadDance("Sprint", "https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Sprint.lua")
| |
| 8423 | if dance then | |
| 8424 | playanim(dance,true) | |
| 8425 | end | |
| 8426 | end | |
| 8427 | end | |
| 8428 | end | |
| 8429 | end | |
| 8430 | end) | |
| 8431 | end) | |
| 8432 | local pages = {}
| |
| 8433 | local currentPageData = {}
| |
| 8434 | task.spawn(function() | |
| 8435 | function Load() | |
| 8436 | local uis = game:GetService("UserInputService")
| |
| 8437 | ||
| 8438 | -- Key order matches HKdv3 exactly (same sequence per Page) | |
| 8439 | local KEY_ORDER = {
| |
| 8440 | "q","e","r","t","y","u","p", | |
| 8441 | "f","g","h","j","k","l", | |
| 8442 | "z","x","c","v","b","n","comma","leftbracket","rightbracket","minus" | |
| 8443 | } | |
| 8444 | -- Display label for each key (for the info HUD) | |
| 8445 | local KEY_LABEL = {
| |
| 8446 | q="Q",e="E",r="R",t="T",y="Y",u="U",p="P", | |
| 8447 | f="F",g="G",h="H",j="J",k="K",l="L", | |
| 8448 | z="Z",x="X",c="C",v="V",b="B",n="N",comma=",",leftbracket="[",rightbracket="]",minus="-" | |
| 8449 | } | |
| 8450 | ||
| 8451 | local KEYS_PER_PAGE = #KEY_ORDER -- 26 per Page | |
| 8452 | ||
| 8453 | for _, dance in ipairs(TableOfDances) do | |
| 8454 | table.insert(currentPageData, dance) | |
| 8455 | if #currentPageData >= KEYS_PER_PAGE then | |
| 8456 | table.insert(pages, currentPageData) | |
| 8457 | currentPageData = {}
| |
| 8458 | end | |
| 8459 | end | |
| 8460 | if #currentPageData > 0 then | |
| 8461 | table.insert(pages, currentPageData) | |
| 8462 | end | |
| 8463 | ||
| 8464 | local totalPages = #pages | |
| 8465 | local currentMode = 1 -- which Page we're on | |
| 8466 | ||
| 8467 | local function playDanceFromEntry(v) | |
| 8468 | if not RUNNING then return end | |
| 8469 | if dancing == false then | |
| 8470 | stopanim() | |
| 8471 | dancing = true | |
| 8472 | Playsound.Volume = 0 | |
| 8473 | BoolDance.Value=false | |
| 8474 | String1.Value="Using Tools or Keybind dance" | |
| 8475 | task.wait(0.005) | |
| 8476 | dancing = true | |
| 8477 | pcall(function() | |
| 8478 | ||
| 8479 | char.Humanoid.WalkSpeed = v.WalkSpeed * char:GetScale() | |
| 8480 | end) | |
| 8481 | -- Load and play the music | |
| 8482 | pcall(function() | |
| 8483 | GetAsset(v) | |
| 8484 | end) | |
| 8485 | if v.Name=="Someone Ships" then | |
| 8486 | repeat wait() until not isAssetClean | |
| 8487 | function Someone_Ships() | |
| 8488 | local i=Instance.new | |
| 8489 | local nr=NumberRange.new | |
| 8490 | local ns=NumberSequence.new | |
| 8491 | local nsk=NumberSequenceKeypoint.new | |
| 8492 | local cs=ColorSequence.new | |
| 8493 | local csk=ColorSequenceKeypoint.new | |
| 8494 | local v3=Vector3.new | |
| 8495 | local rgb=Color3.fromRGB | |
| 8496 | local c3=Color3.new | |
| 8497 | local v2=Vector2.new | |
| 8498 | local nr=NumberRange.new | |
| 8499 | local cf=CFrame.new | |
| 8500 | local angles=CFrame.Angles | |
| 8501 | local u2=UDim2.new | |
| 8502 | local scale=char:GetScale()-1 | |
| 8503 | if scale<1 then scale=1 end | |
| 8504 | local Kasane_Teto_1=i("MeshPart", char)
| |
| 8505 | Kasane_Teto_1.Name="Kasane_Teto" | |
| 8506 | Kasane_Teto_1:SetAttribute("EmoteProp", true)
| |
| 8507 | Kasane_Teto_1.MeshId="rbxassetid://114643462421615" | |
| 8508 | Kasane_Teto_1.Anchored=false | |
| 8509 | Kasane_Teto_1.CanCollide=false | |
| 8510 | Kasane_Teto_1.CanQuery=false | |
| 8511 | Kasane_Teto_1.CanTouch=true | |
| 8512 | Kasane_Teto_1.Transparency=0 | |
| 8513 | Kasane_Teto_1.Reflectance=0 | |
| 8514 | Kasane_Teto_1.Color=c3(0.639216,0.635294,0.647059) | |
| 8515 | Kasane_Teto_1.Material=Enum.Material.Plastic | |
| 8516 | Kasane_Teto_1.Size=v3(.15*scale,.15*scale,0.079889*scale) | |
| 8517 | Kasane_Teto_1.CastShadow=true | |
| 8518 | Kasane_Teto_1.Massless=true | |
| 8519 | Kasane_Teto_1.Material=Enum.Material.Plastic | |
| 8520 | Kasane_Teto_1.TextureID="rbxassetid://110660519010921" | |
| 8521 | Kasane_Teto_1.DoubleSided=false | |
| 8522 | Kasane_Teto_1.CollisionFidelity=Enum.CollisionFidelity.Default | |
| 8523 | Kasane_Teto_1.RenderFidelity=Enum.RenderFidelity.Automatic | |
| 8524 | ||
| 8525 | local H=i("Motor6D", char["HumanoidRootPart"])
| |
| 8526 | H.Name="Kasane_Teto" | |
| 8527 | H:SetAttribute("EmoteProp", true)
| |
| 8528 | H.Enabled=true | |
| 8529 | H.C0=cf(0,0,0,1,0,0,0,1,0,0,0,1) | |
| 8530 | H.C1=cf(0,0,0,1,0,0,0,1,0,0,0,1) | |
| 8531 | H.Part1=Kasane_Teto_1 | |
| 8532 | H.Part0=char["HumanoidRootPart"] | |
| 8533 | ||
| 8534 | local Stand_2=i("MeshPart", Kasane_Teto_1)
| |
| 8535 | Stand_2.Name="Stand" | |
| 8536 | Stand_2:SetAttribute("EmoteProp", true)
| |
| 8537 | Stand_2.MeshId="rbxassetid://85753545216631" | |
| 8538 | Stand_2.Anchored=false | |
| 8539 | Stand_2.CanCollide=false | |
| 8540 | Stand_2.CanQuery=false | |
| 8541 | Stand_2.CanTouch=true | |
| 8542 | Stand_2.Transparency=0 | |
| 8543 | Stand_2.Reflectance=0 | |
| 8544 | Stand_2.Color=c3(0.639216,0.635294,0.647059) | |
| 8545 | Stand_2.Material=Enum.Material.Plastic | |
| 8546 | Stand_2.Size=v3(.114*scale,.2*scale,.167*scale) | |
| 8547 | Stand_2.Position=v3(0,0,1.1) | |
| 8548 | Stand_2.CastShadow=true | |
| 8549 | Stand_2.Massless=true | |
| 8550 | Stand_2.Material=Enum.Material.Plastic | |
| 8551 | Stand_2.TextureID="rbxassetid://110660519010921" | |
| 8552 | Stand_2.DoubleSided=false | |
| 8553 | Stand_2.CollisionFidelity=Enum.CollisionFidelity.Default | |
| 8554 | Stand_2.RenderFidelity=Enum.RenderFidelity.Automatic | |
| 8555 | ||
| 8556 | ||
| 8557 | ||
| 8558 | local Stand_3=i("Motor6D", Kasane_Teto_1)
| |
| 8559 | Stand_3.Name="Stand" | |
| 8560 | Stand_3:SetAttribute("EmoteProp", true)
| |
| 8561 | Stand_3.Enabled=true | |
| 8562 | Stand_3.C0=cf(0.09758377075195312*scale,-0.7425305843353271*scale,1.1*scale,1,0,0,0,1,0,0,0,1) | |
| 8563 | Stand_3.C1=cf(0,0,0,1,0,0,0,1,0,0,0,1) | |
| 8564 | Stand_3.Part0=Kasane_Teto_1 | |
| 8565 | Stand_3.Part1=Stand_2 | |
| 8566 | ||
| 8567 | ||
| 8568 | ||
| 8569 | local ishipu2_4=i("Part", char)
| |
| 8570 | ishipu2_4.Name="ishipu2" | |
| 8571 | ishipu2_4:SetAttribute("EmoteProp", true)
| |
| 8572 | ishipu2_4.Anchored=false | |
| 8573 | ishipu2_4.CanCollide=false | |
| 8574 | ishipu2_4.CanQuery=false | |
| 8575 | ishipu2_4.CanTouch=true | |
| 8576 | ishipu2_4.Transparency=1 | |
| 8577 | ishipu2_4.Reflectance=0 | |
| 8578 | ishipu2_4.Color=c3(0.639216,0.635294,0.647059) | |
| 8579 | ishipu2_4.Material=Enum.Material.Plastic | |
| 8580 | ishipu2_4.Size=v3(0.100000,0.100000,0.100000) | |
| 8581 | ishipu2_4.CastShadow=true | |
| 8582 | ishipu2_4.Massless=true | |
| 8583 | ||
| 8584 | local H=i("Motor6D", char["HumanoidRootPart"])
| |
| 8585 | H.Name="ishipu2" | |
| 8586 | H:SetAttribute("EmoteProp", true)
| |
| 8587 | H.Enabled=true | |
| 8588 | H.C0=cf(0,0,0,1,0,0,0,1,0,0,0,1) | |
| 8589 | H.C1=cf(0,0,0,1,0,0,0,1,0,0,0,1) | |
| 8590 | H.Part1=ishipu2_4 | |
| 8591 | H.Part0=char["HumanoidRootPart"] | |
| 8592 | ||
| 8593 | local BillboardGui_5=i("BillboardGui", ishipu2_4)
| |
| 8594 | BillboardGui_5.Name="BillboardGui" | |
| 8595 | BillboardGui_5:SetAttribute("EmoteProp", true)
| |
| 8596 | BillboardGui_5.Size=u2(2,0,1,0) | |
| 8597 | BillboardGui_5.StudsOffsetWorldSpace=v3(0.000000,0.000000,0.000000) | |
| 8598 | BillboardGui_5.StudsOffset=v3(0.000000,0.000000,0.000000) | |
| 8599 | BillboardGui_5.Brightness=1 | |
| 8600 | ||
| 8601 | ||
| 8602 | ||
| 8603 | local text_6=i("TextLabel", BillboardGui_5)
| |
| 8604 | text_6.Name="text" | |
| 8605 | text_6:SetAttribute("EmoteProp", true)
| |
| 8606 | text_6.BackgroundColor3=c3(1.000000,1.000000,1.000000) | |
| 8607 | text_6.BackgroundTransparency=1 | |
| 8608 | text_6.Size=u2(1,0,1,0) | |
| 8609 | text_6.Position=u2(0,0,0,0) | |
| 8610 | text_6.Rotation=0 | |
| 8611 | text_6.ZIndex=1 | |
| 8612 | text_6.Font=Enum.Font.Unknown | |
| 8613 | text_6.FontSize=Enum.FontSize.Size11 | |
| 8614 | text_6.TextColor3=c3(0.000000,0.000000,0.000000) | |
| 8615 | text_6.Text="I ship u 2 hahaha" | |
| 8616 | text_6.TextSize=11 | |
| 8617 | text_6.TextDirection=Enum.TextDirection.Auto | |
| 8618 | text_6.TextStrokeColor3=c3(0.000000,0.000000,0.000000) | |
| 8619 | --text_6.FontFace=nil | |
| 8620 | text_6.TextXAlignment=Enum.TextXAlignment.Center | |
| 8621 | text_6.TextYAlignment=Enum.TextYAlignment.Center | |
| 8622 | text_6.AutomaticSize=Enum.AutomaticSize.None | |
| 8623 | ||
| 8624 | ||
| 8625 | ||
| 8626 | local UICorner_7=i("UICorner", text_6)
| |
| 8627 | UICorner_7.Name="UICorner" | |
| 8628 | UICorner_7:SetAttribute("EmoteProp", true)
| |
| 8629 | ||
| 8630 | ||
| 8631 | ||
| 8632 | local Wall_8=i("Part", char)
| |
| 8633 | Wall_8.Name="Wall" | |
| 8634 | Wall_8:SetAttribute("EmoteProp", true)
| |
| 8635 | Wall_8.Anchored=false | |
| 8636 | Wall_8.CanCollide=false | |
| 8637 | Wall_8.CanQuery=false | |
| 8638 | Wall_8.CanTouch=true | |
| 8639 | Wall_8.Transparency=0 | |
| 8640 | Wall_8.Reflectance=0 | |
| 8641 | Wall_8.Color=c3(0.223529,0.223529,0.223529) | |
| 8642 | Wall_8.Material=Enum.Material.Brick | |
| 8643 | Wall_8.Size=v3(1.000000*scale,7.387255*scale,7.884164*scale) | |
| 8644 | Wall_8.CastShadow=false | |
| 8645 | Wall_8.Massless=true | |
| 8646 | ||
| 8647 | local H=i("Motor6D", char["HumanoidRootPart"])
| |
| 8648 | H.Name="Wall" | |
| 8649 | H:SetAttribute("EmoteProp", true)
| |
| 8650 | H.Enabled=true | |
| 8651 | H.C0=cf(0,0,0,1,0,0,0,1,0,0,0,1) | |
| 8652 | H.C1=cf(0,0,0,1,0,0,0,1,0,0,0,1) | |
| 8653 | H.Part1=Wall_8 | |
| 8654 | H.Part0=char["HumanoidRootPart"] | |
| 8655 | ||
| 8656 | local Guy_9=i("Part", char)
| |
| 8657 | Guy_9.Name="Guy" | |
| 8658 | Guy_9:SetAttribute("EmoteProp", true)
| |
| 8659 | Guy_9.Anchored=false | |
| 8660 | Guy_9.CanCollide=false | |
| 8661 | Guy_9.CanQuery=false | |
| 8662 | Guy_9.CanTouch=true | |
| 8663 | Guy_9.Transparency=1 | |
| 8664 | Guy_9.Reflectance=0 | |
| 8665 | Guy_9.Color=c3(0.639216,0.635294,0.647059) | |
| 8666 | Guy_9.Material=Enum.Material.Plastic | |
| 8667 | Guy_9.Size=v3(2.000000*scale,2.000000*scale,1.000000*scale) | |
| 8668 | Guy_9.CastShadow=true | |
| 8669 | Guy_9.Massless=true | |
| 8670 | ||
| 8671 | ||
| 8672 | ||
| 8673 | local Head_10=i("Part", Guy_9)
| |
| 8674 | Head_10.Name="Head" | |
| 8675 | Head_10:SetAttribute("EmoteProp", true)
| |
| 8676 | Head_10.Anchored=false | |
| 8677 | Head_10.CanCollide=false | |
| 8678 | Head_10.CanQuery=false | |
| 8679 | Head_10.CanTouch=true | |
| 8680 | Head_10.Transparency=0 | |
| 8681 | Head_10.Reflectance=0 | |
| 8682 | Head_10.Color=c3(0.639216,0.635294,0.647059) | |
| 8683 | Head_10.Material=Enum.Material.SmoothPlastic | |
| 8684 | Head_10.Size=v3(2.000000*scale,1.000000*scale,1.000000*scale) | |
| 8685 | Head_10.Position=v3(0,1.5*scale,0) | |
| 8686 | Head_10.CastShadow=true | |
| 8687 | Head_10.Massless=true | |
| 8688 | ||
| 8689 | ||
| 8690 | ||
| 8691 | local Mesh_11=i("SpecialMesh", Head_10)
| |
| 8692 | Mesh_11.Name="Mesh" | |
| 8693 | Mesh_11:SetAttribute("EmoteProp", true)
| |
| 8694 | Mesh_11.MeshType=Enum.MeshType.Head | |
| 8695 | Mesh_11.MeshId="" | |
| 8696 | Mesh_11.TextureId="" | |
| 8697 | Mesh_11.Scale=v3(1.250000,1.250000,1.250000) | |
| 8698 | Mesh_11.Offset=v3(0.000000,0.000000,0.000000) | |
| 8699 | Mesh_11.VertexColor=v3(1.000000,1.000000,1.000000) | |
| 8700 | ||
| 8701 | ||
| 8702 | ||
| 8703 | local face_12=i("Decal", Head_10)
| |
| 8704 | face_12.Name="face" | |
| 8705 | face_12:SetAttribute("EmoteProp", true)
| |
| 8706 | face_12.Texture="rbxasset://textures/face.png" | |
| 8707 | face_12.Transparency=0 | |
| 8708 | face_12.Color3=c3(1.000000,1.000000,1.000000) | |
| 8709 | ||
| 8710 | ||
| 8711 | ||
| 8712 | local LeftArm_13=i("Part", Guy_9)
| |
| 8713 | LeftArm_13.Name="Left Arm" | |
| 8714 | LeftArm_13:SetAttribute("EmoteProp", true)
| |
| 8715 | LeftArm_13.Anchored=false | |
| 8716 | LeftArm_13.CanCollide=false | |
| 8717 | LeftArm_13.CanQuery=false | |
| 8718 | LeftArm_13.CanTouch=true | |
| 8719 | LeftArm_13.Transparency=0 | |
| 8720 | LeftArm_13.Reflectance=0 | |
| 8721 | LeftArm_13.Color=c3(0.639216,0.635294,0.647059) | |
| 8722 | LeftArm_13.Material=Enum.Material.SmoothPlastic | |
| 8723 | LeftArm_13.Size=v3(1.000000*scale,2.000000*scale,1.000000*scale) | |
| 8724 | LeftArm_13.Position=v3(-1.5*scale,0,0) | |
| 8725 | LeftArm_13.CastShadow=true | |
| 8726 | LeftArm_13.Massless=true | |
| 8727 | ||
| 8728 | ||
| 8729 | ||
| 8730 | local leftarm_14=i("SpecialMesh", LeftArm_13)
| |
| 8731 | leftarm_14.Name="leftarm" | |
| 8732 | leftarm_14:SetAttribute("EmoteProp", true)
| |
| 8733 | leftarm_14.MeshType=Enum.MeshType.FileMesh | |
| 8734 | leftarm_14.MeshId="rbxasset://fonts/leftarm.mesh" | |
| 8735 | leftarm_14.TextureId="" | |
| 8736 | leftarm_14.Scale=v3(1.000000*scale,1.000000*scale,1.000000*scale) | |
| 8737 | leftarm_14.Offset=v3(0.000000,0.000000,0.000000) | |
| 8738 | leftarm_14.VertexColor=v3(1.000000,1.000000,1.000000) | |
| 8739 | ||
| 8740 | ||
| 8741 | ||
| 8742 | local LeftLeg_15=i("Part", Guy_9)
| |
| 8743 | LeftLeg_15.Name="Left Leg" | |
| 8744 | LeftLeg_15:SetAttribute("EmoteProp", true)
| |
| 8745 | LeftLeg_15.Anchored=false | |
| 8746 | LeftLeg_15.CanCollide=false | |
| 8747 | LeftLeg_15.CanQuery=false | |
| 8748 | LeftLeg_15.CanTouch=true | |
| 8749 | LeftLeg_15.Transparency=0 | |
| 8750 | LeftLeg_15.Reflectance=0 | |
| 8751 | LeftLeg_15.Color=c3(0.105882,0.164706,0.207843) | |
| 8752 | LeftLeg_15.Material=Enum.Material.SmoothPlastic | |
| 8753 | LeftLeg_15.Size=v3(1.000000*scale,2.000000*scale,1.000000*scale) | |
| 8754 | LeftLeg_15.Position=v3(-.5*scale,-2.000000*scale,0) | |
| 8755 | LeftLeg_15.CastShadow=true | |
| 8756 | LeftLeg_15.Massless=true | |
| 8757 | ||
| 8758 | ||
| 8759 | ||
| 8760 | local leftleg_16=i("SpecialMesh", LeftLeg_15)
| |
| 8761 | leftleg_16.Name="leftleg" | |
| 8762 | leftleg_16:SetAttribute("EmoteProp", true)
| |
| 8763 | leftleg_16.MeshType=Enum.MeshType.FileMesh | |
| 8764 | leftleg_16.MeshId="rbxasset://fonts//leftleg.mesh" | |
| 8765 | leftleg_16.TextureId="" | |
| 8766 | leftleg_16.Scale=v3(1.000000*scale,1.000000*scale,1.000000*scale) | |
| 8767 | leftleg_16.Offset=v3(0.000000,0.000000,0.000000) | |
| 8768 | leftleg_16.VertexColor=v3(1.000000,1.000000,1.000000) | |
| 8769 | ||
| 8770 | ||
| 8771 | ||
| 8772 | local RightArm_17=i("Part", Guy_9)
| |
| 8773 | RightArm_17.Name="Right Arm" | |
| 8774 | RightArm_17:SetAttribute("EmoteProp", true)
| |
| 8775 | RightArm_17.Anchored=false | |
| 8776 | RightArm_17.CanCollide=false | |
| 8777 | RightArm_17.CanQuery=false | |
| 8778 | RightArm_17.CanTouch=true | |
| 8779 | RightArm_17.Transparency=0 | |
| 8780 | RightArm_17.Reflectance=0 | |
| 8781 | RightArm_17.Color=c3(0.639216,0.635294,0.647059) | |
| 8782 | RightArm_17.Material=Enum.Material.SmoothPlastic | |
| 8783 | RightArm_17.Size=v3(1.000000*scale,2.000000*scale,1.000000*scale) | |
| 8784 | RightArm_17.Position=v3(1.5*scale,0,0) | |
| 8785 | RightArm_17.CastShadow=true | |
| 8786 | RightArm_17.Massless=true | |
| 8787 | ||
| 8788 | ||
| 8789 | ||
| 8790 | local rightarm_18=i("SpecialMesh", RightArm_17)
| |
| 8791 | rightarm_18.Name="rightarm" | |
| 8792 | rightarm_18:SetAttribute("EmoteProp", true)
| |
| 8793 | rightarm_18.MeshType=Enum.MeshType.FileMesh | |
| 8794 | rightarm_18.MeshId="rbxasset://fonts/rightarm.mesh" | |
| 8795 | rightarm_18.TextureId="" | |
| 8796 | rightarm_18.Scale=v3(1.000000*scale,1.000000*scale,1.000000*scale) | |
| 8797 | rightarm_18.Offset=v3(0.000000,0.000000,0.000000) | |
| 8798 | rightarm_18.VertexColor=v3(1.000000,1.000000,1.000000) | |
| 8799 | ||
| 8800 | ||
| 8801 | ||
| 8802 | local RightLeg_19=i("Part", Guy_9)
| |
| 8803 | RightLeg_19.Name="Right Leg" | |
| 8804 | RightLeg_19:SetAttribute("EmoteProp", true)
| |
| 8805 | RightLeg_19.Anchored=false | |
| 8806 | RightLeg_19.CanCollide=false | |
| 8807 | RightLeg_19.CanQuery=false | |
| 8808 | RightLeg_19.CanTouch=true | |
| 8809 | RightLeg_19.Transparency=0 | |
| 8810 | RightLeg_19.Reflectance=0 | |
| 8811 | RightLeg_19.Color=c3(0.105882,0.164706,0.207843) | |
| 8812 | RightLeg_19.Material=Enum.Material.SmoothPlastic | |
| 8813 | RightLeg_19.Size=v3(1.000000*scale,2.000000*scale,1.000000*scale) | |
| 8814 | RightLeg_19.Position=v3(.5*scale,-2.000000*scale,0) | |
| 8815 | RightLeg_19.CastShadow=true | |
| 8816 | RightLeg_19.Massless=true | |
| 8817 | ||
| 8818 | ||
| 8819 | ||
| 8820 | local rightleg_20=i("SpecialMesh", RightLeg_19)
| |
| 8821 | rightleg_20.Name="rightleg" | |
| 8822 | rightleg_20:SetAttribute("EmoteProp", true)
| |
| 8823 | rightleg_20.MeshType=Enum.MeshType.FileMesh | |
| 8824 | rightleg_20.MeshId="rbxasset://fonts//rightleg.mesh" | |
| 8825 | rightleg_20.TextureId="" | |
| 8826 | rightleg_20.Scale=v3(1.000000*scale,1.000000*scale,1.000000*scale) | |
| 8827 | rightleg_20.Offset=v3(0.000000,0.000000,0.000000) | |
| 8828 | rightleg_20.VertexColor=v3(1.000000,1.000000,1.000000) | |
| 8829 | ||
| 8830 | ||
| 8831 | ||
| 8832 | local Torso_21=i("Part", Guy_9)
| |
| 8833 | Torso_21.Name="Torso" | |
| 8834 | Torso_21:SetAttribute("EmoteProp", true)
| |
| 8835 | Torso_21.Anchored=false | |
| 8836 | Torso_21.CanCollide=false | |
| 8837 | Torso_21.CanQuery=false | |
| 8838 | Torso_21.CanTouch=true | |
| 8839 | Torso_21.Transparency=0 | |
| 8840 | Torso_21.Reflectance=0 | |
| 8841 | Torso_21.Color=c3(0.388235,0.372549,0.384314) | |
| 8842 | Torso_21.Material=Enum.Material.SmoothPlastic | |
| 8843 | Torso_21.Size=v3(2.000000*scale,2.000000*scale,1.000000*scale) | |
| 8844 | Torso_21.CastShadow=true | |
| 8845 | Torso_21.Massless=true | |
| 8846 | ||
| 8847 | ||
| 8848 | ||
| 8849 | local torso_22=i("SpecialMesh", Torso_21)
| |
| 8850 | torso_22.Name="torso" | |
| 8851 | torso_22:SetAttribute("EmoteProp", true)
| |
| 8852 | torso_22.MeshType=Enum.MeshType.FileMesh | |
| 8853 | torso_22.MeshId="rbxasset://fonts//torso.mesh" | |
| 8854 | torso_22.TextureId="" | |
| 8855 | torso_22.Scale=v3(1.000000*scale,1.000000*scale,1.000000*scale) | |
| 8856 | torso_22.Offset=v3(0.000000,0.000000,0.000000) | |
| 8857 | torso_22.VertexColor=v3(1.000000,1.000000,1.000000) | |
| 8858 | ||
| 8859 | ||
| 8860 | ||
| 8861 | local Torso_23=i("Motor6D", Guy_9)
| |
| 8862 | Torso_23.Name="Torso" | |
| 8863 | Torso_23:SetAttribute("EmoteProp", true)
| |
| 8864 | Torso_23.Enabled=true | |
| 8865 | Torso_23.C0=cf(0,0,0,1,0,0,0,1,0,0,0,1) | |
| 8866 | Torso_23.C1=cf(0,0,0,1,0,0,0,1,0,0,0,1) | |
| 8867 | Torso_23.Part0=Guy_9 | |
| 8868 | Torso_23.Part1=Torso_21 | |
| 8869 | ||
| 8870 | ||
| 8871 | ||
| 8872 | local RightLeg_24=i("Motor6D", Guy_9)
| |
| 8873 | RightLeg_24.Name="Right Leg" | |
| 8874 | RightLeg_24:SetAttribute("EmoteProp", true)
| |
| 8875 | RightLeg_24.Enabled=true | |
| 8876 | RightLeg_24.C0=cf(0.5*scale,-2*scale,0,1,0,0,0,1,0,0,0,1) | |
| 8877 | RightLeg_24.C1=cf(0,0,0,1,0,0,0,1,0,0,0,1) | |
| 8878 | RightLeg_24.Part0=Guy_9 | |
| 8879 | RightLeg_24.Part1=RightLeg_19 | |
| 8880 | ||
| 8881 | ||
| 8882 | ||
| 8883 | local RightArm_25=i("Motor6D", Guy_9)
| |
| 8884 | RightArm_25.Name="Right Arm" | |
| 8885 | RightArm_25:SetAttribute("EmoteProp", true)
| |
| 8886 | RightArm_25.Enabled=true | |
| 8887 | RightArm_25.C0=cf(1.5*scale,0,0,1,0,0,0,1,0,0,0,1) | |
| 8888 | RightArm_25.C1=cf(0,0,0,1,0,0,0,1,0,0,0,1) | |
| 8889 | RightArm_25.Part0=Guy_9 | |
| 8890 | RightArm_25.Part1=RightArm_17 | |
| 8891 | ||
| 8892 | ||
| 8893 | ||
| 8894 | local LeftLeg_26=i("Motor6D", Guy_9)
| |
| 8895 | LeftLeg_26.Name="Left Leg" | |
| 8896 | LeftLeg_26:SetAttribute("EmoteProp", true)
| |
| 8897 | LeftLeg_26.Enabled=true | |
| 8898 | LeftLeg_26.C0=cf(-0.5*scale,-2*scale,0,1,0,0,0,1,0,0,0,1) | |
| 8899 | LeftLeg_26.C1=cf(0,0,0,1,0,0,0,1,0,0,0,1) | |
| 8900 | LeftLeg_26.Part0=Guy_9 | |
| 8901 | LeftLeg_26.Part1=LeftLeg_15 | |
| 8902 | ||
| 8903 | ||
| 8904 | ||
| 8905 | local LeftArm_27=i("Motor6D", Guy_9)
| |
| 8906 | LeftArm_27.Name="Left Arm" | |
| 8907 | LeftArm_27:SetAttribute("EmoteProp", true)
| |
| 8908 | LeftArm_27.Enabled=true | |
| 8909 | LeftArm_27.C0=cf(-1.5*scale,0,0,1,0,0,0,1,0,0,0,1) | |
| 8910 | LeftArm_27.C1=cf(0,0,0,1,0,0,0,1,0,0,0,1) | |
| 8911 | LeftArm_27.Part0=Guy_9 | |
| 8912 | LeftArm_27.Part1=LeftArm_13 | |
| 8913 | ||
| 8914 | ||
| 8915 | ||
| 8916 | local Head_28=i("Motor6D", Guy_9)
| |
| 8917 | Head_28.Name="Head" | |
| 8918 | Head_28:SetAttribute("EmoteProp", true)
| |
| 8919 | Head_28.Enabled=true | |
| 8920 | Head_28.C0=cf(0,1.5*scale,0,1,0,0,0,1,0,0,0,1) | |
| 8921 | Head_28.C1=cf(0,0,0,1,0,0,0,1,0,0,0,1) | |
| 8922 | Head_28.Part0=Guy_9 | |
| 8923 | Head_28.Part1=Head_10 | |
| 8924 | ||
| 8925 | local H=i("Motor6D", char["HumanoidRootPart"])
| |
| 8926 | H.Name="Guy" | |
| 8927 | H:SetAttribute("EmoteProp", true)
| |
| 8928 | H.Enabled=true | |
| 8929 | H.C0=cf(0,0,0,1,0,0,0,1,0,0,0,1) | |
| 8930 | H.C1=cf(0,0,0,1,0,0,0,1,0,0,0,1) | |
| 8931 | H.Part1=Guy_9 | |
| 8932 | H.Part0=char["HumanoidRootPart"] | |
| 8933 | ||
| 8934 | ||
| 8935 | ||
| 8936 | local Talking_29=i("Part", char)
| |
| 8937 | Talking_29.Name="Talking" | |
| 8938 | Talking_29:SetAttribute("EmoteProp", true)
| |
| 8939 | Talking_29.Anchored=false | |
| 8940 | Talking_29.CanCollide=false | |
| 8941 | Talking_29.CanQuery=false | |
| 8942 | Talking_29.CanTouch=true | |
| 8943 | Talking_29.Transparency=1 | |
| 8944 | --Talking_29.BackgroundTransparency=1 | |
| 8945 | Talking_29.Reflectance=0 | |
| 8946 | Talking_29.Color=c3(0.639216,0.635294,0.647059) | |
| 8947 | Talking_29.Material=Enum.Material.Plastic | |
| 8948 | Talking_29.Size=v3(0.100000,0.100000,0.100000) | |
| 8949 | Talking_29.CastShadow=true | |
| 8950 | Talking_29.Massless=true | |
| 8951 | ||
| 8952 | ||
| 8953 | ||
| 8954 | local BillboardGui_30=i("BillboardGui", Talking_29)
| |
| 8955 | BillboardGui_30.Name="BillboardGui" | |
| 8956 | BillboardGui_30:SetAttribute("EmoteProp", true)
| |
| 8957 | BillboardGui_30.Size=u2(1,5,1,0) | |
| 8958 | BillboardGui_30.StudsOffsetWorldSpace=v3(0.000000,0.000000,0.000000) | |
| 8959 | BillboardGui_30.StudsOffset=v3(0.000000,0.000000,0.000000) | |
| 8960 | BillboardGui_30.Brightness=1 | |
| 8961 | ||
| 8962 | ||
| 8963 | ||
| 8964 | local TextLabel_31=i("TextLabel", BillboardGui_30)
| |
| 8965 | TextLabel_31.Name="TextLabel" | |
| 8966 | TextLabel_31:SetAttribute("EmoteProp", true)
| |
| 8967 | TextLabel_31.BackgroundColor3=c3(1.000000,1.000000,1.000000) | |
| 8968 | TextLabel_31.BackgroundColor3=c3(1.000000,1.000000,1.000000) | |
| 8969 | TextLabel_31.Size=u2(1,0,1,0) | |
| 8970 | TextLabel_31.Position=u2(0,0,0,0) | |
| 8971 | TextLabel_31.Rotation=0 | |
| 8972 | TextLabel_31.ZIndex=1 | |
| 8973 | TextLabel_31.BackgroundTransparency=1 | |
| 8974 | TextLabel_31.Font=Enum.Font.Unknown | |
| 8975 | TextLabel_31.FontSize=Enum.FontSize.Size11 | |
| 8976 | TextLabel_31.TextColor3=c3(0.000000,0.000000,0.000000) | |
| 8977 | TextLabel_31.Text="*Talking*" | |
| 8978 | TextLabel_31.TextSize=11 | |
| 8979 | TextLabel_31.TextDirection=Enum.TextDirection.Auto | |
| 8980 | TextLabel_31.TextStrokeColor3=c3(0.000000,0.000000,0.000000) | |
| 8981 | --TextLabel_31.FontFace=nil | |
| 8982 | TextLabel_31.TextXAlignment=Enum.TextXAlignment.Center | |
| 8983 | TextLabel_31.TextYAlignment=Enum.TextYAlignment.Center | |
| 8984 | TextLabel_31.AutomaticSize=Enum.AutomaticSize.None | |
| 8985 | ||
| 8986 | local H=i("Motor6D", char["HumanoidRootPart"])
| |
| 8987 | H.Name="Talking" | |
| 8988 | H:SetAttribute("EmoteProp", true)
| |
| 8989 | H.Enabled=true | |
| 8990 | H.C0=cf(0,0,0,1,0,0,0,1,0,0,0,1) | |
| 8991 | H.C1=cf(0,0,0,1,0,0,0,1,0,0,0,1) | |
| 8992 | H.Part1=Talking_29 | |
| 8993 | H.Part0=char["HumanoidRootPart"] | |
| 8994 | ||
| 8995 | ||
| 8996 | local Main_32=i("Part", char)
| |
| 8997 | Main_32.Name="Main" | |
| 8998 | Main_32:SetAttribute("EmoteProp", true)
| |
| 8999 | Main_32.Anchored=false | |
| 9000 | Main_32.CanCollide=false | |
| 9001 | Main_32.CanQuery=false | |
| 9002 | Main_32.CanTouch=true | |
| 9003 | Main_32.Transparency=1 | |
| 9004 | Main_32.Reflectance=0 | |
| 9005 | Main_32.Color=c3(0.639216,0.635294,0.647059) | |
| 9006 | Main_32.Material=Enum.Material.Plastic | |
| 9007 | Main_32.Size=v3(0.100000,0.100000,0.100000) | |
| 9008 | Main_32.CastShadow=true | |
| 9009 | Main_32.Massless=true | |
| 9010 | ||
| 9011 | local H=i("Motor6D", char["HumanoidRootPart"])
| |
| 9012 | H.Name="Main" | |
| 9013 | H:SetAttribute("EmoteProp", true)
| |
| 9014 | H.Enabled=true | |
| 9015 | H.C0=cf(0,0,0,1,0,0,0,1,0,0,0,1) | |
| 9016 | H.C1=cf(0,0,0,1,0,0,0,1,0,0,0,1) | |
| 9017 | H.Part1=Main_32 | |
| 9018 | H.Part0=char["HumanoidRootPart"] | |
| 9019 | ||
| 9020 | local BillboardGui_33=i("BillboardGui", Main_32)
| |
| 9021 | BillboardGui_33.Name="BillboardGui" | |
| 9022 | BillboardGui_33:SetAttribute("EmoteProp", true)
| |
| 9023 | BillboardGui_33.Size=u2(3,5,1,0) | |
| 9024 | BillboardGui_33.StudsOffsetWorldSpace=v3(0.000000,0.000000,0.000000) | |
| 9025 | BillboardGui_33.StudsOffset=v3(0.000000,0.000000,0.000000) | |
| 9026 | BillboardGui_33.Brightness=1 | |
| 9027 | ||
| 9028 | ||
| 9029 | ||
| 9030 | local pov_34=i("TextLabel", BillboardGui_33)
| |
| 9031 | pov_34.Name="pov" | |
| 9032 | pov_34:SetAttribute("EmoteProp", true)
| |
| 9033 | pov_34.BackgroundColor3=c3(1.000000,1.000000,1.000000) | |
| 9034 | pov_34.BackgroundColor3=c3(1.000000,1.000000,1.000000) | |
| 9035 | pov_34.Size=u2(1,0,1,0) | |
| 9036 | pov_34.Position=u2(0,0,0,0) | |
| 9037 | pov_34.Rotation=0 | |
| 9038 | pov_34.ZIndex=1 | |
| 9039 | pov_34.BackgroundTransparency=1 | |
| 9040 | pov_34.Font=Enum.Font.Unknown | |
| 9041 | pov_34.FontSize=Enum.FontSize.Size11 | |
| 9042 | pov_34.TextColor3=c3(1.000000,1.000000,1.000000) | |
| 9043 | pov_34.Text="Pov: Someone ships you with a boy" | |
| 9044 | pov_34.TextSize=11 | |
| 9045 | pov_34.TextDirection=Enum.TextDirection.Auto | |
| 9046 | pov_34.TextStrokeColor3=c3(0.000000,0.000000,0.000000) | |
| 9047 | --pov_34.FontFace=nil | |
| 9048 | pov_34.TextXAlignment=Enum.TextXAlignment.Center | |
| 9049 | pov_34.TextYAlignment=Enum.TextYAlignment.Center | |
| 9050 | pov_34.AutomaticSize=Enum.AutomaticSize.None | |
| 9051 | ||
| 9052 | ||
| 9053 | ||
| 9054 | local UIStroke_35=i("UIStroke", pov_34)
| |
| 9055 | UIStroke_35.Name="UIStroke" | |
| 9056 | UIStroke_35:SetAttribute("EmoteProp", true)
| |
| 9057 | ||
| 9058 | ||
| 9059 | ||
| 9060 | end | |
| 9061 | Someone_Ships() | |
| 9062 | wait(.2) | |
| 9063 | end | |
| 9064 | if v._userModule then | |
| 9065 | local m = v._userModule | |
| 9066 | if m.Looped == false then | |
| 9067 | table.insert(QueueEmotesThatIsntLooped, m) | |
| 9068 | PlayQueuedEmote() | |
| 9069 | else | |
| 9070 | PlayModuleEmote(m) | |
| 9071 | end | |
| 9072 | --musicSound:Play() | |
| 9073 | else | |
| 9074 | if v.DanceName~="None" and v.Url~="None" and v.Id=="None" then | |
| 9075 | if v.Looped==false then | |
| 9076 | if v.Name=="Retry Now" then | |
| 9077 | if isfile and not isfile(MusicFolder.."/RetryIntro.mp3") then | |
| 9078 | writefile(MusicFolder.."/RetryIntro.mp3",game:HttpGet("https://github.com/Solary-3/Scripts/blob/Audios-1/RetryIntro.mp3?raw=true"))
| |
| 9079 | end | |
| 9080 | if isfile and not isfile(MusicFolder.."/RetryNow.mp3") then | |
| 9081 | writefile(MusicFolder.."/RetryNow.mp3",game:HttpGet("https://github.com/Solary-3/Scripts/blob/Audios-1/RetryNow.mp3?raw=true"))
| |
| 9082 | end | |
| 9083 | ||
| 9084 | local dance = LoadDance(v.DanceName, v.Url) | |
| 9085 | musicSound.SoundId=getcustomasset(MusicFolder.."/RetryIntro.mp3") | |
| 9086 | musicSound:Play() | |
| 9087 | local dance2 = LoadDance("Retry2", "https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Retry2.lua")
| |
| 9088 | if dance then | |
| 9089 | local currentTrack = playanim(dance,false,false) | |
| 9090 | if currentTrack and currentTrack.OnFinished then | |
| 9091 | currentTrack.OnFinished.Event:Connect(function() | |
| 9092 | if dance2 then | |
| 9093 | playanim(dance2,true,true) | |
| 9094 | musicSound:Stop() | |
| 9095 | musicSound.SoundId=getcustomasset(MusicFolder.."/RetryNow.mp3") | |
| 9096 | musicSound:Play() | |
| 9097 | end | |
| 9098 | end) | |
| 9099 | end | |
| 9100 | end | |
| 9101 | end | |
| 9102 | else | |
| 9103 | local dance = LoadDance(v.DanceName, v.Url) | |
| 9104 | if dance then | |
| 9105 | if v.Name=="Someone Ships" then wait(.2) end | |
| 9106 | playanim(dance,true,v.UseSoundPos) | |
| 9107 | end | |
| 9108 | end | |
| 9109 | else | |
| 9110 | playanim(v.Id,true,v.UseSoundPos) | |
| 9111 | end | |
| 9112 | end | |
| 9113 | musicSound:Play() | |
| 9114 | else | |
| 9115 | stopanim() | |
| 9116 | end | |
| 9117 | end | |
| 9118 | ||
| 9119 | INPUTLOOP = uis.InputBegan:Connect(function(input, chatting) | |
| 9120 | if chatting then return end | |
| 9121 | pcall(function() | |
| 9122 | if char and char.Humanoid and char.Humanoid.Sit then return end | |
| 9123 | end) | |
| 9124 | local k = string.lower(string.gsub(tostring(input.KeyCode), "Enum.KeyCode.", "")) | |
| 9125 | ||
| 9126 | -- Page cycling with M key (same as HKdv3) | |
| 9127 | if k == "m" then | |
| 9128 | currentMode = (currentMode % totalPages) + 1 | |
| 9129 | game:GetService("StarterGui"):SetCore("SendNotification", {
| |
| 9130 | Title = Name; | |
| 9131 | Duration = 3; | |
| 9132 | Text = "Page " .. currentMode .. " / " .. totalPages | |
| 9133 | }) | |
| 9134 | ||
| 9135 | pcall(function() | |
| 9136 | local pageData = pages[currentMode] | |
| 9137 | if pageData and pageData[1] then | |
| 9138 | Dance.Text = pageData[1].Name | |
| 9139 | end | |
| 9140 | end) | |
| 9141 | elseif k=="leftcontrol" then | |
| 9142 | sprinting=not sprinting | |
| 9143 | end | |
| 9144 | ||
| 9145 | -- Find which slot this key is in | |
| 9146 | local keySlot = nil | |
| 9147 | for slot, keyName in ipairs(KEY_ORDER) do | |
| 9148 | if keyName == k then | |
| 9149 | keySlot = slot | |
| 9150 | break | |
| 9151 | end | |
| 9152 | end | |
| 9153 | if not keySlot then return end | |
| 9154 | ||
| 9155 | -- Get the dance for this Page + slot | |
| 9156 | local pageData = pages[currentMode] | |
| 9157 | if not pageData then return end | |
| 9158 | local entry = pageData[keySlot] | |
| 9159 | if not entry then return end | |
| 9160 | ||
| 9161 | -- Update HUD | |
| 9162 | --[[pcall(function() | |
| 9163 | Dance.Text = entry.Name | |
| 9164 | Key.Text = KEY_LABEL[k] or k:upper() | |
| 9165 | end)]] | |
| 9166 | ||
| 9167 | playDanceFromEntry(entry) | |
| 9168 | end) | |
| 9169 | end | |
| 9170 | Load() | |
| 9171 | cac=Detect:GetPropertyChangedSignal("Value"):Connect(function()
| |
| 9172 | if Detect.Value==false then | |
| 9173 | --table.clear(pages) | |
| 9174 | --table.clear(currentPageData) | |
| 9175 | stopanim() | |
| 9176 | INPUTLOOP:Disconnect() | |
| 9177 | INPUTLOOP=nil | |
| 9178 | currentPageData={}
| |
| 9179 | pages={}
| |
| 9180 | wait(.1) | |
| 9181 | Load() | |
| 9182 | else | |
| 9183 | stopanim() | |
| 9184 | for name, _ in pairs(UserDanceContainer) do | |
| 9185 | StopPlayingModuleAnimation(name) | |
| 9186 | end | |
| 9187 | end | |
| 9188 | end) | |
| 9189 | end) | |
| 9190 | end | |
| 9191 | local Hi | |
| 9192 | local Hi1 | |
| 9193 | Hi=BoolDance:GetPropertyChangedSignal("Value"):Connect(function()
| |
| 9194 | if BoolDance.Value==true then | |
| 9195 | local m=String.Value | |
| 9196 | stopanim() | |
| 9197 | dancing=true | |
| 9198 | Playsound.Volume = 0 | |
| 9199 | if Incin.Looped == false then | |
| 9200 | table.insert(QueueEmotesThatIsntLooped, Incin) | |
| 9201 | PlayQueuedEmote() | |
| 9202 | else | |
| 9203 | PlayModuleEmote(Incin) | |
| 9204 | end | |
| 9205 | else | |
| 9206 | stopanim() | |
| 9207 | end | |
| 9208 | end) | |
| 9209 | Hi1=Hmmm:GetPropertyChangedSignal("Value"):Connect(function()
| |
| 9210 | if Hmmm.Value==true then | |
| 9211 | pcall(function() | |
| 9212 | local player = game:GetService("Players").LocalPlayer
| |
| 9213 | local backpack = player:WaitForChild("Backpack")
| |
| 9214 | for _,a in char:GetChildren() do | |
| 9215 | if a:IsA("Tool") then
| |
| 9216 | a.Parent=backpack | |
| 9217 | end | |
| 9218 | end | |
| 9219 | end) | |
| 9220 | stopanim() | |
| 9221 | end | |
| 9222 | end) | |
| 9223 | ||
| 9224 | ||
| 9225 | local Player = game:GetService("Players").LocalPlayer
| |
| 9226 | local PlayerMouse = Player:GetMouse() | |
| 9227 | local Camera = workspace.CurrentCamera | |
| 9228 | local Character =char | |
| 9229 | local Humanoid = Character:WaitForChild("Humanoid")
| |
| 9230 | local IsR6 = (Humanoid.RigType == Enum.HumanoidRigType.R6) | |
| 9231 | local Head = Character:WaitForChild("Head")
| |
| 9232 | local Torso = if IsR6 then Character:WaitForChild("Torso") else Character:WaitForChild("UpperTorso")
| |
| 9233 | local Neck = if IsR6 then Torso:WaitForChild("Neck") else Head:WaitForChild("Neck")
| |
| 9234 | local Waist = if IsR6 then nil else Torso:WaitForChild("Waist")
| |
| 9235 | local NeckOriginC0 = Neck.C0 | |
| 9236 | local WaistOriginC0 = if Waist then Waist.C0 else nil | |
| 9237 | Neck.MaxVelocity = 1/3 | |
| 9238 | local AllowedStates = {Enum.HumanoidStateType.Running, Enum.HumanoidStateType.Climbing, Enum.HumanoidStateType.Swimming, Enum.HumanoidStateType.Freefall, Enum.HumanoidStateType.Seated}
| |
| 9239 | local IsAllowedState = (table.find(AllowedStates, Humanoid:GetState()) ~= nil) | |
| 9240 | local find = table.find | |
| 9241 | local atan = math.atan | |
| 9242 | local atan2 = math.atan2 | |
| 9243 | Humanoid.StateChanged:Connect(function(_, new) | |
| 9244 | IsAllowedState = (find(AllowedStates, new) ~= nil) | |
| 9245 | end) | |
| 9246 | local oldC0N = Neck.C0 | |
| 9247 | local updatesPerSecond = 10 | |
| 9248 | local Character = char | |
| 9249 | local Root = char.HumanoidRootPart | |
| 9250 | local hum = char.Humanoid | |
| 9251 | local cf = CFrame.new | |
| 9252 | local DIEDLOOP | |
| 9253 | local HEADLOOP | |
| 9254 | local deltaTime=1 | |
| 9255 | local f66=nil | |
| 9256 | local f67=nil | |
| 9257 | local LoudnessSmoothing=0 | |
| 9258 | local BobbingIntensity=0.15 | |
| 9259 | if TypeOfReanim=="CurrentAngle" then | |
| 9260 | f67=game:GetService("Players").LocalPlayer.Character.Humanoid.Died:Connect(function()
| |
| 9261 | Hmmm.Value=true | |
| 9262 | oolDance.Value=false | |
| 9263 | stopanim() | |
| 9264 | char.Humanoid:Move(Vector3.new(0,0,-.1),true) | |
| 9265 | --StopAllAnimations() | |
| 9266 | wait(.5) | |
| 9267 | pcall(function() | |
| 9268 | ws:FindFirstChild(YourName.."_Fake"):Destroy() | |
| 9269 | end) | |
| 9270 | StringVal.Value="None!" | |
| 9271 | end) | |
| 9272 | f66=game:GetService("Players").LocalPlayer.CharacterAdded:Connect(function()
| |
| 9273 | if TypeOfReanim~="CurrentAngle" then return end | |
| 9274 | if ws:FindFirstChild(YourName.."_Fake") then return end | |
| 9275 | repeat wait() until game.Players.LocalPlayer.Character.Humanoid.Health>1 | |
| 9276 | Backup() | |
| 9277 | repeat wait() until ws:FindFirstChild(YourName.."_Fake") | |
| 9278 | LoadTools() | |
| 9279 | Hmmm.Value=false | |
| 9280 | char=ws:FindFirstChild(YourName.."_Fake") | |
| 9281 | StringVal.Value=char.Name | |
| 9282 | hum=char.Humanoid | |
| 9283 | StringVal.Value=YourName.."_Fake" | |
| 9284 | repeat wait() until game.Players.LocalPlayer.Character.Humanoid.Health<1 | |
| 9285 | stopanim() | |
| 9286 | StopAllAnimations() | |
| 9287 | end) | |
| 9288 | end | |
| 9289 | if TypeOfReanim=="Emper" then | |
| 9290 | aa=ws.ChildRemoved:Connect(function(a) | |
| 9291 | if a:IsA("Model") and a.Name=="ReanimatedRig" then
| |
| 9292 | RUNNING=false | |
| 9293 | aa:Disconnect() | |
| 9294 | end | |
| 9295 | end) | |
| 9296 | end | |
| 9297 | function rayCast(Pos, Dir, Max, Ignore) | |
| 9298 | return game:service("Workspace"):FindPartOnRay(Ray.new(Pos, Dir.unit * (Max or 999.999)), Ignore)
| |
| 9299 | end | |
| 9300 | local lastAirState = "Idle" | |
| 9301 | local function respawn() | |
| 9302 | replicatesignal(game.Players.LocalPlayer.kill) | |
| 9303 | replicatesignal(game.Players.LocalPlayer.Character.Humanoid.ServerBreakJoints) | |
| 9304 | game.Players.LocalPlayer.Character.Humanoid:ChangeState(15) | |
| 9305 | wait(.1) | |
| 9306 | pcall(function() | |
| 9307 | ws:FindFirstChild(game.Players.LocalPlayer.Name.."_Fake"):Destroy() | |
| 9308 | end) | |
| 9309 | end | |
| 9310 | eccentri = strv:GetPropertyChangedSignal("Value"):Connect(function()
| |
| 9311 | local VelY = strv.Value | |
| 9312 | ||
| 9313 | if VelY == "Jump" then | |
| 9314 | lastAirState = "Jump" | |
| 9315 | stopanim() | |
| 9316 | dancing = false | |
| 9317 | Numval.Value = 1 | |
| 9318 | local dance = LoadDance("Jump", "https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Jump.lua")
| |
| 9319 | if dance then | |
| 9320 | playanim(dance, false) | |
| 9321 | end | |
| 9322 | ||
| 9323 | elseif VelY == "Fall" then | |
| 9324 | lastAirState = "Fall" | |
| 9325 | stopanim() | |
| 9326 | dancing = false | |
| 9327 | Numval.Value = 1 | |
| 9328 | local dance = LoadDance("Fall", "https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Fall.lua")
| |
| 9329 | if dance then | |
| 9330 | playanim(dance, true) | |
| 9331 | end | |
| 9332 | ||
| 9333 | elseif VelY == "Idle" then | |
| 9334 | if dancing then return end | |
| 9335 | local wasAirborne = (lastAirState == "Jump" or lastAirState == "Fall") | |
| 9336 | lastAirState = "Idle" | |
| 9337 | stopanim() | |
| 9338 | Numval.Value = .1 | |
| 9339 | task.defer(function() | |
| 9340 | if dancing then return end | |
| 9341 | if char.Humanoid.MoveDirection == Vector3.new(0, 0, 0) then | |
| 9342 | walking = false | |
| 9343 | idle = true | |
| 9344 | fwait(1/500) | |
| 9345 | if idle and not walking and not dancing and playanother | |
| 9346 | and char.Humanoid.MoveDirection == Vector3.new(0, 0, 0) then | |
| 9347 | local dance = LoadDance("Idle2", "https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Idle2.lua")
| |
| 9348 | if dance then playanim(dance, true) end | |
| 9349 | end | |
| 9350 | else | |
| 9351 | walking = true | |
| 9352 | idle = false | |
| 9353 | char.Humanoid.WalkSpeed = (sprinting and 24 or 14) * char:GetScale() | |
| 9354 | fwait(1/500) | |
| 9355 | if walking and not idle and not dancing and playanother | |
| 9356 | and char.Humanoid.MoveDirection ~= Vector3.new(0, 0, 0) then | |
| 9357 | if sprinting then | |
| 9358 | local dance = LoadDance("Sprint", "https://raw.githubusercontent.com/Solary-3/Scripts/refs/heads/main/Sprint.lua")
| |
| 9359 | if dance then playanim(dance, true) end | |
| 9360 | else | |
| 9361 | playanim(walkanim, true) | |
| 9362 | end | |
| 9363 | end | |
| 9364 | end | |
| 9365 | end) | |
| 9366 | end | |
| 9367 | end) | |
| 9368 | con1=game:GetService("RunService").PostSimulation:Connect(function(deltaTime: number)
| |
| 9369 | if not RUNNING then | |
| 9370 | if f66 then | |
| 9371 | f66:Disconnect() | |
| 9372 | f66=nil | |
| 9373 | end | |
| 9374 | table.clear(UserDanceContainer) | |
| 9375 | UserDanceContainer={}
| |
| 9376 | table.clear(QueueEmotesThatIsntLooped) | |
| 9377 | QueueEmotesThatIsntLooped={}
| |
| 9378 | table.clear(RegisterAssets) | |
| 9379 | --table.clear(TableOfDances) | |
| 9380 | RegisterAssets={}
| |
| 9381 | --TableOfDances={}
| |
| 9382 | local StarterGui = game:GetService("StarterGui")
| |
| 9383 | StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.Backpack, true) | |
| 9384 | TableOfDances=ClonedDanceTable | |
| 9385 | for _,a in next,Buttons do | |
| 9386 | a:Destroy() | |
| 9387 | end | |
| 9388 | pcall(function() | |
| 9389 | if INPUTLOOP then | |
| 9390 | INPUTLOOP:Disconnect() | |
| 9391 | INPUTLOOP=nil | |
| 9392 | end | |
| 9393 | if eccentri then | |
| 9394 | eccentri:Disconnect() | |
| 9395 | end | |
| 9396 | end) | |
| 9397 | stopanim() | |
| 9398 | if f67 then | |
| 9399 | f67:Disconnect() | |
| 9400 | f67=nil | |
| 9401 | end | |
| 9402 | for _,v in ipairs(game:GetService("RunService"):GetChildren()) do
| |
| 9403 | if v:IsA("Sound") then
| |
| 9404 | v.TimePosition=0 | |
| 9405 | v:Stop() | |
| 9406 | end | |
| 9407 | end | |
| 9408 | if TypeOfReanim=="Gelatek" or TypeOfReanim=="Emper"then | |
| 9409 | pcall(function() | |
| 9410 | game.ReplicatedStorage["01_server"]:FireServer("cmd", "-re ")
| |
| 9411 | end) | |
| 9412 | else | |
| 9413 | respawn() | |
| 9414 | end | |
| 9415 | oswait(.1) | |
| 9416 | --TypeOfReanim=LastReanimChanged | |
| 9417 | Hmmm.Value=true | |
| 9418 | BoolDance.Value=false | |
| 9419 | String1.Value="Using Tools or Keybind dance" | |
| 9420 | oswait(.1) | |
| 9421 | --String1.Value="None" | |
| 9422 | Hmmm.Value=false | |
| 9423 | String1.Value="None" | |
| 9424 | BoolDance.Value=false | |
| 9425 | IsRunning1.Value=false | |
| 9426 | pcall(function() | |
| 9427 | cac:Disconnect() | |
| 9428 | Hi:Disconnect() | |
| 9429 | Hi1:Disconnect() | |
| 9430 | G2L["1"]:Destroy() | |
| 9431 | gy:Disconnect() | |
| 9432 | end) | |
| 9433 | con1:Disconnect() | |
| 9434 | return | |
| 9435 | end | |
| 9436 | local function Alpha(n) | |
| 9437 | return math.clamp(n*deltaTime*60,0,1) | |
| 9438 | end | |
| 9439 | local hitfloor=nil | |
| 9440 | sine=os.clock() | |
| 9441 | pcall(function() | |
| 9442 | local root=char.HumanoidRootPart | |
| 9443 | if char:GetScale()==1 then | |
| 9444 | hitfloor=rayCast(root.Position,(CFrame.new(root.Position,root.Position - Vector3.new(0,3*char:GetScale(),0))).lookVector,4,char) | |
| 9445 | else | |
| 9446 | hitfloor=rayCast(root.Position,(CFrame.new(root.Position,root.Position - Vector3.new(0,3*char:GetScale(),0))).lookVector,4*char:GetScale(),char) | |
| 9447 | end | |
| 9448 | end) | |
| 9449 | local target=musicSound.PlaybackLoudness or Playsound.PlaybackLoudness | |
| 9450 | LoudnessSmoothing=LoudnessSmoothing + (target - LoudnessSmoothing) * BobbingIntensity | |
| 9451 | local bob=math.clamp(LoudnessSmoothing / 100, 0, 30) | |
| 9452 | workspace.CurrentCamera.FieldOfView =70-bob*1.5 | |
| 9453 | if TypeOfReanim=="CurrentAngle" then | |
| 9454 | pcall(function() | |
| 9455 | local char=ws[YourName.."_Fake"] | |
| 9456 | local hum=char.Humanoid | |
| 9457 | pcall(function() | |
| 9458 | hum.Animator:Destroy() | |
| 9459 | end) | |
| 9460 | hum.JumpPower=50*char:GetScale() | |
| 9461 | local hrp=char.HumanoidRootPart | |
| 9462 | local h=char.Head | |
| 9463 | if ad.Value==true then | |
| 9464 | hum.CameraOffset =hum.CameraOffset:Lerp((hrp.CFrame*cf(0,1.5,0)):PointToObjectSpace(h.Position),Alpha(.025)) | |
| 9465 | else | |
| 9466 | hum.CameraOffset =hum.CameraOffset:Lerp((hrp.CFrame*cf(0,0,0)):PointToObjectSpace(hrp.Position),Alpha(.025)) | |
| 9467 | end | |
| 9468 | end) | |
| 9469 | elseif TypeOfReanim=="Gelatek" then | |
| 9470 | pcall(function() | |
| 9471 | local char=ws["GelatekReanimate"] | |
| 9472 | local hum=char.Humanoid | |
| 9473 | pcall(function() | |
| 9474 | hum.Animator:Destroy() | |
| 9475 | end) | |
| 9476 | hum.JumpPower=50*char:GetScale() | |
| 9477 | local hrp=char.HumanoidRootPart | |
| 9478 | local h=char.Head | |
| 9479 | if ad.Value==true then | |
| 9480 | hum.CameraOffset =hum.CameraOffset:Lerp((hrp.CFrame*cf(0,1.5,0)):PointToObjectSpace(h.Position),Alpha(.025)) | |
| 9481 | else | |
| 9482 | hum.CameraOffset =hum.CameraOffset:Lerp((hrp.CFrame*cf(0,0,0)):PointToObjectSpace(hrp.Position),Alpha(.025)) | |
| 9483 | end | |
| 9484 | end) | |
| 9485 | elseif TypeOfReanim=="Emper" then | |
| 9486 | pcall(function() | |
| 9487 | local char=ws["ReanimatedRig"] | |
| 9488 | local hum=char.Humanoid | |
| 9489 | hum.JumpPower=50*char:GetScale() | |
| 9490 | local hrp=char.HumanoidRootPart | |
| 9491 | local h=char.Head | |
| 9492 | if ad.Value==true then | |
| 9493 | hum.CameraOffset =hum.CameraOffset:Lerp((hrp.CFrame*cf(0,1.5,0)):PointToObjectSpace(h.Position),Alpha(.025)) | |
| 9494 | else | |
| 9495 | hum.CameraOffset =hum.CameraOffset:Lerp((hrp.CFrame*cf(0,0,0)):PointToObjectSpace(hrp.Position),Alpha(.025)) | |
| 9496 | end | |
| 9497 | end) | |
| 9498 | end | |
| 9499 | pcall(function() | |
| 9500 | local Torso=char["Torso"] | |
| 9501 | local Root=char["HumanoidRootPart"] | |
| 9502 | local LeftShoulder=Torso["Left Shoulder"] | |
| 9503 | local RightShoulder=Torso["Right Shoulder"] | |
| 9504 | local RightHip=Torso["Right Hip"] | |
| 9505 | local LeftHip=Torso["Left Hip"] | |
| 9506 | local Neck=Torso["Neck"] | |
| 9507 | local RootJoint=Root["RootJoint"] | |
| 9508 | if dancing==false and char.Humanoid.MoveDirection == Vector3.new(0,0,0) then | |
| 9509 | walking=false | |
| 9510 | idle=true | |
| 9511 | else | |
| 9512 | walking=true | |
| 9513 | idle=false | |
| 9514 | end | |
| 9515 | local VelY = char.HumanoidRootPart.Velocity.Y | |
| 9516 | local newState | |
| 9517 | if dancing then return end | |
| 9518 | --if hitfloor~=nil then return end | |
| 9519 | if VelY > 1 and hitfloor == nil then | |
| 9520 | newState = "Jump" | |
| 9521 | elseif VelY < -1 and hitfloor == nil then | |
| 9522 | newState = "Fall" | |
| 9523 | Numval.Value = 1 | |
| 9524 | elseif VelY>=0 or VelY<=0 and hitfloor~=nil then | |
| 9525 | newState = "Idle" | |
| 9526 | Numval.Value = .1 | |
| 9527 | end | |
| 9528 | ||
| 9529 | if strv.Value ~= newState then | |
| 9530 | strv.Value = newState | |
| 9531 | end | |
| 9532 | end) | |
| 9533 | end) | |
| 9534 | end | |
| 9535 | ||
| 9536 | ||
| 9537 | Reanimate.MouseButton1Click:Connect(function() | |
| 9538 | if RUNNING then notify("Already Running") return end
| |
| 9539 | MainScript () | |
| 9540 | end) | |
| 9541 | Stop.MouseButton1Click:Connect(function() | |
| 9542 | if LastReanimChanged.Value=="Emper" then | |
| 9543 | notify("Click the respawn on the roblkx menu")
| |
| 9544 | return | |
| 9545 | end | |
| 9546 | RUNNING=false | |
| 9547 | workspace.CurrentCamera.FieldOfView =70 | |
| 9548 | end) | |
| 9549 | ||
| 9550 | ||
| 9551 | repeat oswait() | |
| 9552 | until not UI["Interface_1"] | |
| 9553 | table.clear(TableOfDances) | |
| 9554 | table.clear(validAudioFiles) | |
| 9555 | table.clear(danceCache) | |
| 9556 | table.clear(UserDanceContainer) | |
| 9557 | table.clear(QueueEmotesThatIsntLooped) | |
| 9558 | table.clear(RegisterAssets) | |
| 9559 | table.clear(IndexRedTexts) | |
| 9560 | table.clear(IndexWhitwTexts) | |
| 9561 | table.clear(IndexGradients) | |
| 9562 | pcall(function() | |
| 9563 | INPUTLOOP:Disconnect() | |
| 9564 | INPUTLOOP=nil | |
| 9565 | musicSound:Destroy() | |
| 9566 | Playsound:Destroy() | |
| 9567 | Ee:Disconnect() | |
| 9568 | con1:Disconnect() | |
| 9569 | fg:Disconnect() | |
| 9570 | end) |