Here is my recent work
can someone make it look like [this one]( http://www.bom.gov.au/products/IDR033.loop.shtml#skip )
local script inside startergui:
local Players = game:GetService(“Players”)
local RunService = game:GetService(“RunService”)
local TweenService = game:GetService(“TweenService”)
local radarFrame = script.Parent – Attach this script to the radar GUI frame
local radarSize = UDim2.new(0.735, 0, 0.726, 0) – Set size based on user input
local updateInterval = 1 – Update every second like BoM radar
– Create a color scale UI (for radar intensity)
local colorScale = Instance.new(“Frame”)
colorScale.Size = UDim2.new(1, 0, 0.05, 0)
colorScale.Position = UDim2.new(0, 0, 0.95, 0)
colorScale.BackgroundTransparency = 0.3
colorScale.ZIndex = 55 – Ensure it’s above other elements
colorScale.Parent = radarFrame
– Gradient for color scale
local uiGradient = Instance.new(“UIGradient”)
uiGradient.Color = ColorSequence.new {
ColorSequenceKeypoint.new(0, Color3.fromRGB(0, 255, 0)), – Light Rain (Green)
ColorSequenceKeypoint.new(0.25, Color3.fromRGB(173, 255, 47)), – Light-Medium
ColorSequenceKeypoint.new(0.5, Color3.fromRGB(255, 255, 0)), – Moderate Rain (Yellow)
ColorSequenceKeypoint.new(0.75, Color3.fromRGB(255, 165, 0)), – Heavy Rain (Orange)
ColorSequenceKeypoint.new(1, Color3.fromRGB(255, 0, 0)) – Intense Rain (Red)
}
uiGradient.Parent = colorScale
– Labels for color scale
local labels = {“Light”, “Moderate”, “Heavy”, “Intense”}
for i, label in ipairs(labels) do
local textLabel = Instance.new(“TextLabel”)
textLabel.Size = UDim2.new(0.25, 0, 1, 0)
textLabel.Position = UDim2.new((i - 1) * 0.25, 0, 0, 0)
textLabel.Text = label
textLabel.BackgroundTransparency = 1
textLabel.TextColor3 = Color3.new(1, 1, 1)
textLabel.Parent = colorScale
end
– Stores previous frames for looping effect
local radarFrames = {}
– Enhanced Weather Frame with Clumps and Smooth Animations
local function generateWeatherFrame()
– Remove old frames
for _, frame in ipairs(radarFrames) do
frame:Destroy()
end
radarFrames = {}
local frame = Instance.new("Frame")
frame.Size = UDim2.new(1, 0, 1, 0)
frame.BackgroundTransparency = 1
frame.ClipsDescendants = true
frame.Parent = radarFrame
-- Create moving and fading rain zones
for i = 1, 3 do
local rainZone = Instance.new("Frame")
rainZone.Size = UDim2.new(0.4, 0, 0.4, 0) -- Large zone
rainZone.Position = UDim2.new(math.random(), 0, math.random(), 0)
rainZone.BackgroundTransparency = 1
rainZone.ZIndex = 50
rainZone.Parent = frame
-- Generate rain patches that fade and move
for j = 1, math.random(5, 10) do
local rainPatch = Instance.new("Frame")
rainPatch.Size = UDim2.new(0.08, 0, 0.08, 0) -- Medium sized patches
rainPatch.Position = UDim2.new(math.random(), 0, math.random(), 0)
rainPatch.BackgroundTransparency = 0.5
rainPatch.ClipsDescendants = true
rainPatch.ZIndex = 51
rainPatch.Parent = rainZone
-- Randomize rain patch intensity (color)
local intensity = math.random()
if intensity < 0.3 then
rainPatch.BackgroundColor3 = Color3.fromRGB(0, 255, 0) -- Light rain
elseif intensity < 0.6 then
rainPatch.BackgroundColor3 = Color3.fromRGB(255, 255, 0) -- Moderate rain
elseif intensity < 0.9 then
rainPatch.BackgroundColor3 = Color3.fromRGB(255, 165, 0) -- Heavy rain
else
rainPatch.BackgroundColor3 = Color3.fromRGB(255, 0, 0) -- Intense rain
end
-- Smooth Fade and Movement Animation
local targetPosition = UDim2.new(math.random(), 0, math.random(), 0)
local targetTransparency = 1
local tween = TweenService:Create(rainPatch, TweenInfo.new(2, Enum.EasingStyle.Quad, Enum.EasingDirection.Out, -1, true), {
Position = targetPosition,
BackgroundTransparency = targetTransparency
})
tween:Play()
game:GetService("Debris"):AddItem(rainPatch, 3) -- Clean up after 3 seconds
end
end
table.insert(radarFrames, frame)
end
– Function to add fast-moving streaks across the radar
local function addFastMovingStreak()
local streak = Instance.new(“Frame”)
streak.Size = UDim2.new(math.random(0.02, 0.05), 0, math.random(0.02, 0.05), 0)
streak.Position = UDim2.new(math.random(), 0, math.random(), 0)
streak.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
streak.BackgroundTransparency = 0.4
streak.ZIndex = 50
streak.Parent = radarFrame
local endPosition = UDim2.new(math.random(), 0, math.random(), 0)
TweenService:Create(streak, TweenInfo.new(0.5, Enum.EasingStyle.Linear, Enum.EasingDirection.InOut), {
Position = endPosition,
BackgroundTransparency = 1
}):Play()
game:GetService("Debris"):AddItem(streak, 0.6)
end
– Loop to constantly update radar
while true do
generateWeatherFrame()
if math.random() < 0.3 then
addFastMovingStreak()
end
wait(updateInterval)
end
any help would be great!