-- Rain Toad F3X (Better) Script By ItsKittyyyGD local player = game.Players.LocalPlayer local char = player.Character or player.CharacterAdded:Wait() local tool for i, v in player:GetDescendants() do if v.Name == "SyncAPI" then tool = v.Parent end end for i, v in game.ReplicatedStorage:GetDescendants() do if v.Name == "SyncAPI" then tool = v.Parent end end local remote = tool.SyncAPI.ServerEndpoint function _(args) remote:InvokeServer(unpack(args)) end function SetCollision(part, boolean) local args = { [1] = "SyncCollision", [2] = { [1] = { ["Part"] = part, ["CanCollide"] = boolean } } } _(args) end function SetAnchor(boolean, part) local args = { [1] = "SyncAnchor", [2] = { [1] = { ["Part"] = part, ["Anchored"] = boolean } } } _(args) end function CreatePart(cf, parent) local args = { [1] = "CreatePart", [2] = "Normal", [3] = cf, [4] = parent } _(args) end function Resize(part, size, cf) local args = { [1] = "SyncResize", [2] = { [1] = { ["Part"] = part, ["CFrame"] = cf, ["Size"] = size } } } _(args) end function AddMesh(part) local args = { [1] = "CreateMeshes", [2] = { [1] = { ["Part"] = part } } } _(args) end function SetMesh(part, meshid) local args = { [1] = "SyncMesh", [2] = { [1] = { ["Part"] = part, ["MeshId"] = "rbxassetid://" .. meshid } } } _(args) end function SetTexture(part, texid) local args = { [1] = "SyncMesh", [2] = { [1] = { ["Part"] = part, ["TextureId"] = "rbxassetid://" .. texid } } } _(args) end function MeshResize(part, size) local args = { [1] = "SyncMesh", [2] = { [1] = { ["Part"] = part, ["Scale"] = size } } } _(args) end function SetName(part, stringg) local args = { [1] = "SetName", [2] = { [1] = workspace.Part }, [3] = stringg } _(args) end function Sky(id) local hrp = char:WaitForChild("HumanoidRootPart") local cf = hrp.CFrame CreatePart(CFrame.new(cf.Position + Vector3.new(0, 6, 0)), workspace) for _, v in workspace:GetDescendants() do if v:IsA("BasePart") and v.CFrame.Position == cf.Position + Vector3.new(0, 6, 0) then SetAnchor(true, v) AddMesh(v) SetMesh(v, "111891702759441") SetTexture(v, id) MeshResize(v, Vector3.new(8000, 8000, 8000)) end end end local function createRainToads() while true do wait(0.3) if player.Character and player.Character:FindFirstChild("Humanoid") and player.Character.Humanoid.Health > 0 then local hrpcf = player.Character.HumanoidRootPart.CFrame local x = hrpcf.x local z = hrpcf.z local randint = math.random(-600, 600) local randint2 = math.random(-600, 600) local xloc = randint + x local zloc = randint2 + z local cf = player.Character.HumanoidRootPart.CFrame.y + 800 spawn(function() local newToad = CreatePart(CFrame.new(math.floor(xloc), math.random(cf, cf + 400), math.floor(zloc)), workspace) for i, v in game.Workspace:GetDescendants() do if v.Name == "Part" and v.Parent == workspace and v.CFrame.x == math.floor(xloc) and v.CFrame.z == math.floor(zloc) then SetName(v, "MiniToad") SetAnchor(false, v) AddMesh(v) SetMesh(v, "7234998844") SetTexture(v, "1009824086") SetCollision(v, false) v.Orientation = Vector3.new(0, 0, 0) local sound = Instance.new("Sound", v) sound.SoundId = "rbxassetid://153752123" sound.Volume = 10 sound.PlayOnRemove = true sound:Destroy() end end end) else wait(1) end end end coroutine.wrap(createRainToads)() Sky("201208408") local player = game.Players.LocalPlayer local char = player.Character local tool for i, v in player:GetDescendants() do if v.Name == "SyncAPI" then tool = v.Parent end end for i, v in game.ReplicatedStorage:GetDescendants() do if v.Name == "SyncAPI" then tool = v.Parent end end local remote = tool.SyncAPI.ServerEndpoint function _(args) remote:InvokeServer(unpack(args)) end function DestroyPart(part) local args = { [1] = "Remove", [2] = { [1] = part } } _(args) end function Punish(player) local char = player.Character DestroyPart(char) end coroutine.wrap(function() while true do for i, v in game.Players:GetPlayers() do pcall(function() Punish(v) end) end task.wait(0.0) end end)() local msg = coroutine.create(function() while task.wait(0.4) do local msgInstance = Instance.new("Message", workspace) msgInstance.Text = "Get Toadroasted you bacon haired bozos" task.wait(0.4) msgInstance:Destroy() end end) coroutine.resume(msg)