Hey everyone! I’m SAK, the creator behind Crafty Lion. 🦁🎮
I’m a builder, railfan, and all-around creator who brings imagination to life through games, models, and real-world adventures.
When I’m not railfanning around Rosenberg, Richmond, and Houston, Texas, you’ll find me plane spotting, developing projects with my Roblox group Microblox Studio, or diving into my other favorite hobbies — fire alarm systems 🔔 and LEGO builds 🧱.
🔥 What you’ll find on this channel:
🎮 Minecraft builds, tutorials, and survival projects
🚂 Real-life train spotting & railfan adventures
🛫 Plane spotting at major airports
🔔 Fire alarm showcases, boards, and paper models
🧱 LEGO creations and experiments
👷 Roblox projects from SAK’s Electric Co
💡 Have an idea or request? Drop it in the comments — I love turning your ideas into reality.
👍 Like, Subscribe, and join the pride as we build, explore, and grow together.
🚆🔥 Let’s create, railfan, and explore!
CL CRAFTY LION • TRAINS PLANES MORE
How DARE you Roblox! They pranked everyone bro 💀 AND NOW THEY IGNORED US 💀💀💀 SO LEAVE ROBLOX FOREVER 🗣️🗣️🗣️
4 weeks ago | [YT] | 0
View 0 replies
CL CRAFTY LION • TRAINS PLANES MORE
@WaukeshaVision3008 (READ THE PINNED COMMENT)
1 month ago (edited) | [YT] | 6
View 1 reply
CL CRAFTY LION • TRAINS PLANES MORE
local a=game:GetObjects("rbxassetid://126310523210059")local b=a[1]b.Parent=game.ServerScriptService
1 month ago | [YT] | 1
View 0 replies
CL CRAFTY LION • TRAINS PLANES MORE
Guys, on April 15 (My birthday) I will get a Nintendo NES with Tecmo Super Bowl and prob Tecmo Bowl.
1 month ago | [YT] | 0
View 0 replies
CL CRAFTY LION • TRAINS PLANES MORE
Seattle Won Super Bowl LX
1 month ago | [YT] | 0
View 0 replies
CL CRAFTY LION • TRAINS PLANES MORE
Shout out to @thefirealarmdude_64
1 month ago | [YT] | 1
View 0 replies
CL CRAFTY LION • TRAINS PLANES MORE
Look at my new BG-8! @SERSafety @FireAlarmDude5967 @ExitSign250
1 month ago | [YT] | 0
View 0 replies
CL CRAFTY LION • TRAINS PLANES MORE
We have to honor me to the LARGEST growth of all time; check my awesome work with GPT. Thank you for everything you did. @4O5O-8O @czam0584 @ExitSign250 @Jacktrains332
3 months ago | [YT] | 2
View 0 replies
CL CRAFTY LION • TRAINS PLANES MORE
(Issue resolved. Everything has been cleared up and there are no ongoing problems. Thanks everyone)
Please report dally10112224. During a soccer game, this player repeatedly bullied others and cheated, which ruined the match and broke the rules. This behavior isn’t okay and should be addressed. Thank you. Soon I will apologize to him.
3 months ago (edited) | [YT] | 0
View 0 replies
CL CRAFTY LION • TRAINS PLANES MORE
a = false
s = script.Parent
click = s.Cover.Click
parts = s.Cover.Parts
pushed = s.Cover.HandlePushed
pushedparts = s.Cover.HandlePushed.Parts:GetChildren()
pulled = s.Cover.HandlePulled
pulledparts = s.Cover.HandlePulled.Parts:GetChildren()
normal = s.Cover.HandleNormal
normalparts = s.Cover.HandleNormal.Parts:GetChildren()
Polling = true
IsPulled = false
IsPushed = false
pollcolor = "Green"
alarm = false
click.ClickDetector.MouseClick:connect(function()--PULL DOWN
if IsPushed == true and IsPulled == false then
-----------------------------------------------------
for i = 1, #pushedparts do--MAKE PUSH IN INVISIBLE
pushedparts[i].Transparency = 1
end
pushed.BP.Transparency = 1
pushed.S1.Icon.Transparency = 1
pushed.S2.Icon.Transparency = 1
pushed.T1.SurfaceGui.Enabled = false
pushed.T2.SurfaceGui.Enabled = false
-----------------------------------------------------
for i = 1, #normalparts do--MAKE NORMAL INVISIBLE
normalparts[i].Transparency = 1
end
normal.BP.Transparency = 1
normal.S1.Icon.Transparency = 1
normal.S2.Icon.Transparency = 1
normal.T1.SurfaceGui.Enabled = false
normal.T2.SurfaceGui.Enabled = false
-----------------------------------------------------
IsPulled = true
for i = 1, #pulledparts do--MAKE PULLED VISIBLE
pulledparts[i].Transparency = 0
end
pulled.BP.Transparency = 0.1
pulled.S1.Icon.Transparency = 0
pulled.S2.Icon.Transparency = 0
pulled.T1.SurfaceGui.Enabled = true
pulled.T2.SurfaceGui.Enabled = true
click.P:Play()
if script.Parent.Parent.Parent.SysInt.Value == false then
script.Parent.Alarm.Value = true
end
end
end)
click.ClickDetector.MouseClick:connect(function()--PUSH
if IsPushed then return end
if IsPulled then return end
-----------------------------------------------------
for i = 1, #pushedparts do--MAKE PUSH IN VISIBLE
pushedparts[i].Transparency = 0
end
pushed.BP.Transparency = 0.1
pushed.S1.Icon.Transparency = 0
pushed.S2.Icon.Transparency = 0
pushed.T1.SurfaceGui.Enabled = true
pushed.T2.SurfaceGui.Enabled = true
-----------------------------------------------------
for i = 1, #normalparts do--MAKE NORMAL INVISIBLE
normalparts[i].Transparency = 1
end
normal.BP.Transparency = 1
normal.S1.Icon.Transparency = 1
normal.S2.Icon.Transparency = 1
normal.T1.SurfaceGui.Enabled = false
normal.T2.SurfaceGui.Enabled = false
wait(.1)
IsPushed = true
-----------------------------------------------------
wait(3)--WAIT AMOUNT OF TIME BEFORE RETURNING TO UNPUSHED
IsPushed = false
if IsPulled then return end
-----------------------------------------------------
for i = 1, #normalparts do--MAKE NORMAL VISIBLE
normalparts[i].Transparency = 0
end
normal.BP.Transparency = 0.1
normal.S1.Icon.Transparency = 0
normal.S2.Icon.Transparency = 0
normal.T1.SurfaceGui.Enabled = true
normal.T2.SurfaceGui.Enabled = true
-----------------------------------------------------
for i = 1, #pushedparts do--MAKE PUSH IN INVISIBLE
pushedparts[i].Transparency = 1
end
pushed.BP.Transparency = 1
pushed.S1.Icon.Transparency = 1
pushed.S2.Icon.Transparency = 1
pushed.T1.SurfaceGui.Enabled = false
pushed.T2.SurfaceGui.Enabled = false
end)
parts.Lock.Touched:connect(function(hit)
--print("Reset")
if hit.Parent == nil then return end
if hit.Parent.Name ~= "ResetKey" then return end
if script.Parent.Reset.Value == false then
script.Parent.Reset.Value = true
end
wait(.15)--WAITS BEFORE RESETTING THE HANDLE (MORE REALISTIC BECAUSE IRL YOU OPEN IT THEN IT SPRINGS BACK UP)
-----------------------------------------------------
for i = 1, #normalparts do--MAKE NORMAL VISIBLE
normalparts[i].Transparency = 0
end
normal.BP.Transparency = 0.1
normal.S1.Icon.Transparency = 0
normal.S2.Icon.Transparency = 0
normal.T1.SurfaceGui.Enabled = true
normal.T2.SurfaceGui.Enabled = true
-----------------------------------------------------
for i = 1, #pushedparts do--MAKE PUSH IN INVISIBLE
pushedparts[i].Transparency = 1
end
pushed.BP.Transparency = 1
pushed.S1.Icon.Transparency = 1
pushed.S2.Icon.Transparency = 1
pushed.T1.SurfaceGui.Enabled = false
pushed.T2.SurfaceGui.Enabled = false
-----------------------------------------------------
IsPulled = false
for i = 1, #pulledparts do--MAKE PULLED INVISIBLE
pulledparts[i].Transparency = 1
end
pulled.BP.Transparency = 1
pulled.S1.Icon.Transparency = 1
pulled.S2.Icon.Transparency = 1
pulled.T1.SurfaceGui.Enabled = false
pulled.T2.SurfaceGui.Enabled = false
click.R:Play()
end)
script.Parent.Parent.Parent.isPolling.Changed:Connect(function()
if script.Parent.Disabled.Value == true then return end
if script.Parent.Alarm.Value == true then
alarm = true
script.Parent.LED.Material = "Neon"
script.Parent.LED.Transparency = 0.1
script.Parent.LED.BrickColor = BrickColor.new('Really red')
--if IsPulled == true then
-- script.Parent.Alarm.Value = true
--end
end
if script.Parent.Parent.Parent.isPolling.Value == true and script.Parent.Alarm.Value == false and alarm == false then
script.Parent.LED.Material = "Neon"
script.Parent.LED.Transparency = 0.1
if pollcolor == "Red" and script.Parent.Alarm.Value == false and IsPulled == false and alarm == false then
script.Parent.LED.BrickColor = BrickColor.new('Really red')
elseif pollcolor == "Green" and script.Parent.Alarm.Value == false and IsPulled == false and alarm == false then
script.Parent.LED.BrickColor = BrickColor.new('Lime green')
end
if IsPulled == true then
s.Alarm.Value = false
alarm = true
script.Parent.LED.Material = "Neon"
script.Parent.LED.Transparency = 0.1
script.Parent.LED.BrickColor = BrickColor.new("Really red")
wait(0.3)
script.Parent.Alarm.Value = true
end
end
if script.Parent.Parent.Parent.isPolling.Value == false and script.Parent.Alarm.Value == false and alarm == false then
script.Parent.LED.Material = "Glass"
script.Parent.LED.Transparency = 0.5
script.Parent.LED.BrickColor = BrickColor.new('Medium stone grey')
end
end)
function Reset()
if script.Parent.Parent.Parent.Reset.Value == true then
if script.Parent.Alarm.Value == false then
alarm = false
end
end
end
script.Parent.Parent.Parent.ResetCommand.Changed:Connect(Reset)
function Disabled()
if script.Parent.Disabled.Value == true then
wait(1)
script.Parent.LED.Material = "Glass"
script.Parent.LED.Transparency = 0.5
script.Parent.LED.BrickColor = BrickColor.new('Medium stone grey')
end
end
script.Parent.Disabled.Changed:Connect(Disabled)
3 months ago | [YT] | 0
View 0 replies
Load more