Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local Fluent = loadstring(game:HttpGet("https://github.com/dawid-scripts/Fluent/releases/latest/download/main.lua"))()
- local SaveManager = loadstring(game:HttpGet("https://raw.githubusercontent.com/dawid-scripts/Fluent/master/Addons/SaveManager.lua"))()
- local InterfaceManager = loadstring(game:HttpGet("https://raw.githubusercontent.com/dawid-scripts/Fluent/master/Addons/InterfaceManager.lua"))()
- local Window = Fluent:CreateWindow({
- Title = "yurnyxs " .. Fluent.Version,
- SubTitle = "by yurnyxs",
- TabWidth = 160,
- Size = UDim2.fromOffset(580, 460),
- Acrylic = true,
- Theme = "Dark",
- MinimizeKey = Enum.KeyCode.M
- })
- local Tabs = {
- Main = Window:AddTab({ Title = "Main", Icon = "" }),
- Settings = Window:AddTab({ Title = "Settings", Icon = "settings" })
- }
- local Options = Fluent.Options
- -- เริ่มเขียนระบบหลัก
- do
- local Players = game:GetService("Players")
- local RunService = game:GetService("RunService")
- local LocalPlayer = Players.LocalPlayer
- local rotationSpeed = 200
- local radius = 100
- local SETTINGS = {
- height = 20,
- attractionStrength = 500,
- updateInterval = 0.05,
- safeDistance = 5
- }
- local function IsValidPart(part)
- return part:IsA("BasePart")
- and not part.Anchored
- and not part:IsDescendantOf(LocalPlayer.Character)
- end
- local function TornadoEffect()
- if not LocalPlayer.Character or not LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then return end
- local humanoidRootPart = LocalPlayer.Character:FindFirstChild("HumanoidRootPart")
- local tornadoCenter = humanoidRootPart.Position
- local parts = {}
- for _, part in ipairs(workspace:GetDescendants()) do
- if IsValidPart(part) then
- table.insert(parts, part)
- end
- end
- for _, part in ipairs(parts) do
- if part.Parent then
- local pos = part.Position
- local flatOffset = Vector3.new(pos.X, tornadoCenter.Y, pos.Z)
- local distance = (flatOffset - tornadoCenter).Magnitude
- local minDist = math.max(distance, SETTINGS.safeDistance)
- local angle = math.atan2(pos.Z - tornadoCenter.Z, pos.X - tornadoCenter.X)
- local newAngle = angle + math.rad(rotationSpeed) * SETTINGS.updateInterval
- local targetPos = Vector3.new(
- tornadoCenter.X + math.cos(newAngle) * radius,
- tornadoCenter.Y + (SETTINGS.height * math.abs(math.sin((pos.Y - tornadoCenter.Y) / SETTINGS.height))),
- tornadoCenter.Z + math.sin(newAngle) * radius
- )
- local directionToTarget = (targetPos - part.Position).Unit
- part.Velocity = directionToTarget * SETTINGS.attractionStrength
- end
- end
- end
- local TornadoRunning = false
- local TornadoThread = nil
- local Toggle = Tabs.Main:AddToggle("MyToggle", { Title = "Tornado", Default = false })
- Toggle:OnChanged(function(Value)
- if Value then
- TornadoRunning = true
- TornadoThread = task.spawn(function()
- while TornadoRunning do
- pcall(TornadoEffect)
- task.wait(SETTINGS.updateInterval)
- end
- end)
- else
- TornadoRunning = false
- end
- end)
- Options.MyToggle:SetValue(false)
- local Slider1 = Tabs.Main:AddSlider("Slider1", {
- Title = "RotationSpeed",
- Description = "ความเร็วในการหมุน",
- Default = 200,
- Min = 0,
- Max = 900,
- Rounding = 1,
- Callback = function(Value)
- rotationSpeed = tonumber(Value)
- end
- })
- Slider1:SetValue(rotationSpeed)
- local Slider2 = Tabs.Main:AddSlider("Slider2", {
- Title = "Radius",
- Description = "รัศมีของพายุ",
- Default = 100,
- Min = 0,
- Max = 900,
- Rounding = 0,
- Callback = function(Value)
- radius = tonumber(Value)
- end
- })
- Slider2:SetValue(radius)
- end
- SaveManager:SetLibrary(Fluent)
- InterfaceManager:SetLibrary(Fluent)
- SaveManager:IgnoreThemeSettings()
- SaveManager:SetIgnoreIndexes({})
- InterfaceManager:SetFolder("FluentScriptHub")
- SaveManager:SetFolder("FluentScriptHub/specific-game")
- InterfaceManager:BuildInterfaceSection(Tabs.Settings)
- SaveManager:BuildConfigSection(Tabs.Settings)
- Window:SelectTab(1)
- SaveManager:LoadAutoloadConfig()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement