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
a year ago
3.4 kB
8
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