Update Physical Pump Function in Lua
This Lua function updates the status of a physical pump, adjusting its sound and lights based on the pump's status (OFFLINE or DAMAGED). It uses tweening for smooth transitions in the UI elements representing the pump's status.unknown
lua
10 months ago
3.4 kB
7
Indexable
function UpdatePhysicalPump(pump: Model, pumpStatus: string)
local pumpSound = pump.Main.Loop
if pumpStatus == "OFFLINE" then
PuffyTween:Tween(pumpSound, pumpUpdateTweenInfo, {PlaybackSpeed = 0})
local tween = PuffyTween:Tween(pump.Light1, pumpUpdateTweenInfo, {Color = Color3.fromRGB(17,17,17)})
PuffyTween:Tween(pump.Light1.SurfaceLight, pumpUpdateTweenInfo, {Brightness = 0})
PuffyTween:Tween(pump.Light2, pumpUpdateTweenInfo, {Color = Color3.fromRGB(17,17,17)})
PuffyTween:Tween(pump.Light2.SurfaceLight, pumpUpdateTweenInfo, {Brightness = 0})
PuffyTween:Tween(pump.Light3, pumpUpdateTweenInfo, {Color = Color3.fromRGB(17,17,17)})
PuffyTween:Tween(pump.Light3.SurfaceLight, pumpUpdateTweenInfo, {Brightness = 0})
tween:Wait()
pump.Light1.Material = Enum.Material.Glass
pump.Light2.Material = Enum.Material.Glass
pump.Light3.Material = Enum.Material.Glass
elseif pumpStatus == "DAMAGED" then
PuffyTween:Tween(pumpSound, pumpUpdateTweenInfo, {PlaybackSpeed = 0.5})
task.spawn(function()
PuffyTween:Tween(pump.Light1.SurfaceLight, pumpBlinkTweenInfo, {Color = Color3.fromRGB(255, 170, 0)})
PuffyTween:Tween(pump.Light2.SurfaceLight, pumpBlinkTweenInfo, {Color = Color3.fromRGB(255, 170, 0)})
PuffyTween:Tween(pump.Light3.SurfaceLight, pumpBlinkTweenInfo, {Color = Color3.fromRGB(255, 170, 0)})
while pumpStatus == "DAMAGED" do
local tween = PuffyTween:Tween(pump.Light1, pumpBlinkTweenInfo, {Color = Color3.fromRGB(17, 17, 17)})
PuffyTween:Tween(pump.Light1.SurfaceLight, pumpBlinkTweenInfo, {Brightness = 0})
PuffyTween:Tween(pump.Light2, pumpBlinkTweenInfo, {Color = Color3.fromRGB(17, 17, 17)})
PuffyTween:Tween(pump.Light2.SurfaceLight, pumpBlinkTweenInfo, {Brightness = 0})
PuffyTween:Tween(pump.Light3, pumpBlinkTweenInfo, {Color = Color3.fromRGB(17, 17, 17)})
PuffyTween:Tween(pump.Light3.SurfaceLight, pumpBlinkTweenInfo, {Brightness = 0})
tween:Wait()
local tween2 = PuffyTween:Tween(pump.Light1, pumpBlinkTweenInfo, {Color = Color3.fromRGB(255, 170, 0)})
PuffyTween:Tween(pump.Light1.SurfaceLight, pumpBlinkTweenInfo, {Brightness = 0})
PuffyTween:Tween(pump.Light2, pumpBlinkTweenInfo, {Color = Color3.fromRGB(255, 170, 0)})
PuffyTween:Tween(pump.Light2.SurfaceLight, pumpBlinkTweenInfo, {Brightness = 0})
PuffyTween:Tween(pump.Light3, pumpBlinkTweenInfo, {Color = Color3.fromRGB(255, 170, 0)})
PuffyTween:Tween(pump.Light3.SurfaceLight, pumpBlinkTweenInfo, {Brightness = 0})
tween2:Wait()
end
end)
elseif pumpStatus == "ONLINE" then
PuffyTween:Tween(pumpSound, pumpUpdateTweenInfo, {PlaybackSpeed = 1})
PuffyTween:Tween(pump.Light1, pumpUpdateTweenInfo, {Color = Color3.fromRGB(255, 255, 255)})
PuffyTween:Tween(pump.Light1.SurfaceLight, pumpUpdateTweenInfo, {Brightness = 3})
PuffyTween:Tween(pump.Light2, pumpUpdateTweenInfo, {Color = Color3.fromRGB(255, 255, 255)})
PuffyTween:Tween(pump.Light2.SurfaceLight, pumpUpdateTweenInfo, {Brightness = 3})
PuffyTween:Tween(pump.Light3, pumpUpdateTweenInfo, {Color = Color3.fromRGB(255, 255, 255)})
PuffyTween:Tween(pump.Light3.SurfaceLight, pumpUpdateTweenInfo, {Brightness = 3})
pump.Light1.Material = Enum.Material.Neon
pump.Light2.Material = Enum.Material.Neon
pump.Light3.Material = Enum.Material.Neon
end
endEditor is loading...
Leave a Comment