thomas f3x
Key RequiredUniversal

thomas f3x

Universal ScriptFro0kiddAlt_brazilFro0kiddAlt_brazil 1.7K views 1.7K executesUpdated Apr 25, 2026
1.7/ 5(3 votes)
1233% Positive
Lua Script•472 lines (7966 chars)
local player = game.Players.LocalPlayer
		local char = player.Character

      function tool()

			for _, v in ipairs(player.Backpack:GetChildren()) do
				if v:FindFirstChild("SyncAPI") then
					return v
				end
			end
			for _, v in ipairs(char:GetChildren()) do
				if v:FindFirstChild("SyncAPI") then
					return v
				end
			end

			return nil
		end

		local f3x = tool()
		if not f3x then
			warn("you dont have f3x skid")
		end
		local syncapi = f3x.SyncAPI
		local serverendpoint = syncapi.ServerEndpoint

		local function makemesh(part)
			local args = {
				[1] = "CreateMeshes",
				[2] = {
					[1] = {
						["Part"] = part
					}
				}
			}
			serverendpoint:InvokeServer(unpack(args))
		end

--crrreee

		local function syncmeshtexture(part, id)
local args = {
				[1] = "SyncMesh",
				[2] = {
					[1] = {
						["Part"] = part,
						["TextureId"] =	"rbxassetid://"..id
					}
				}
			}
			serverendpoint:InvokeServer(unpack(args))
		end

		local function synctrans(part,int)
			local args = {
				[1] = "SyncMaterial",
				[2] = {
					[1] = {
						["Part"] = part,
						["Transparency"] = int
					}
				}
			}
			serverendpoint:InvokeServer(unpack(args))
		end

		local function syncmeshsize(part, vectora)
			local args = {
				[1] = "SyncMesh",
				[2] = {
					[1] = {
						["Part"] = part,
						["Scale"] = vectora
					}
				}
			}
			serverendpoint:InvokeServer(unpack(args))
		end

		local function setcollision(part, booleana)
			local args = {
				[1] = "SyncCollision",
				[2] = {
					[1] = {
						["Part"] = part,
						["CanCollide"] = booleana
					}
				}
			}
			serverendpoint:InvokeServer(unpack(args))
		end

		local function syncmeshid(part, id)
			local args = {
				[1] = "SyncMesh",
				[2] = {
					[1] = {
						["Part"] = part,
						["MeshId"] = "rbxassetid://"..id
					}
				}
			}
			serverendpoint:InvokeServer(unpack(args))
		end

		function setweld(p1, p2, lead)
local args = {
				"CreateWelds",
				{
					p1,
					p2
				},
				lead
			}
			serverendpoint:InvokeServer(unpack(args))
		end

		local function name(part, stringa)
			local args = {
				[1] = "SetName",
				[2] = {
					[1] = part
				},
				[3] = stringa
			}
			serverendpoint:InvokeServer(unpack(args))
		end

		local function setanchor(part, boolean)
			local args = {
				[1] = "SyncAnchor",
				[2] = {
					[1] = {
						["Part"] = part,
						["Anchored"] = boolean
					}
				}
			}
			serverendpoint:InvokeServer(unpack(args))
		end

		local function resize(part,size,cf)
			local args = {
				[1] = "SyncResize",
				[2] = {
					[1] = {
						["Part"] = part,
						["CFrame"] = cf,
						["Size"] = size
					}
				}
			}
			serverendpoint:InvokeServer(unpack(args))
		end

		function deletehead(part)
		   local h = {
				"Remove",
				{
					part
				}
			}
			serverendpoint:InvokeServer(unpack(h))
		end

local function addSmoke(part, color, size)

    local argsCreate = {
        [1] = "CreateDecorations",
        [2] = {
            [1] = {
                ["Part"] = part,
                ["DecorationType"] = "Smoke"
            }
        }
    }


    local argsSync = {
        [1] = "SyncDecorate",
        [2] = {
            [1] = {
                ["Part"] = part,
                ["DecorationType"] = "Smoke",
                ["Size"] = size,
                ["Color"] = color,
            }
        }
    }


    serverendpoint:InvokeServer(unpack(argsCreate))
    serverendpoint:InvokeServer(unpack(argsSync))
end

function createspotlight(part)
			local args = {
				[1] = "CreateLights",
				[2] = {
					[1] = {
						["Part"] = part,
						["LightType"] = "SpotLight"
					}
				}
			}
			serverendpoint:InvokeServer(unpack(args))
		end
		function synclighting(part,brightness)
			local args = {
				[1] = "SyncLighting",
				[2] = {
					[1] = {
						["Part"] = part,
						["LightType"] = "SpotLight",
						["Brightness"] = brightness
					}
				}
			}
			serverendpoint:InvokeServer(unpack(args))
		end


		-- train


      for _, v in ipairs(char:GetChildren()) do
			if v:IsA("BasePart") or v:IsA("MeshPart") then
				spawn(function()
					v.Anchored = true
				end)
			end
		end



		spawn(function()
			local hrp = char.HumanoidRootPart
			local trainpart = serverendpoint:InvokeServer("CreatePart", "Normal", hrp.CFrame * CFrame.new(0,-7,0), char)
             local torso = char:FindFirstChild("Torso")
                  local t = torso.CFrame + Vector3.new(0, -2, 0)
local smoke = serverendpoint:InvokeServer("CreatePart", "Normal", t, torso)


function xd()


spawn(function()


local args = {
    [1] = "SyncMaterial",

    [2] = {

        [1] = {

            ["Part"] = game:GetService("Players").LocalPlayer.Character.Torso,

            ["Transparency"] = 1

        },

        [2] = {

            ["Part"] = game:GetService("Players").LocalPlayer.Character:FindFirstChild("Left Leg"),

            ["Transparency"] = 1

        },

        [3] = {

            ["Part"] = game:GetService("Players").LocalPlayer.Character.HumanoidRootPart,

            ["Transparency"] = 1

        },

        [4] = {

            ["Part"] =
 game:GetService("Players").LocalPlayer.Character:FindFirstChild("Right Leg"),

            ["Transparency"] = 1

        },

        [5] = {

            ["Part"] = game:GetService("Players").LocalPlayer.Character:FindFirstChild("Right Arm"),

            ["Transparency"] = 1

        },

        [6] = {

            ["Part"] =
 game:GetService("Players").LocalPlayer.Character:FindFirstChild("Left Arm"),
            ["Transparency"] = 1

        },

        [7] = {

            ["Part"] = game:GetService("Players").LocalPlayer.Character.Head,

            ["Transparency"] = 1

        },

    }

}


serverendpoint:InvokeServer(unpack(args))


			end)
end

   
           spawn(function()
			setcollision(trainpart, false) --[[ or ]] trainpart.CanCollide = false
              end)
            spawn(function()
			resize(trainpart, Vector3.new(5,5,10), hrp.CFrame)
            end)
            spawn(function()
			setweld(trainpart, hrp, trainpart)
                end)
               spawn(function()
			makemesh(trainpart)
              end)
             spawn(function()
			syncmeshsize(trainpart, Vector3.new(2,2,2))
              end)
               spawn(function()
			syncmeshid(trainpart, "2231280549")
                  end)
             spawn(function()
			syncmeshtexture(trainpart, "2231280614")
              end)
                spawn(function()
			setanchor(trainpart, false)
                end)
               spawn(function()
			game.Players.LocalPlayer.Character.Humanoid.WalkSpeed = 60
               end)
                   
 
                      spawn(function()
      createspotlight(torso)
      end)
      spawn(function()
	synclighting(torso, 100)
             end)

          for _, v in ipairs(char:GetChildren()) do
          if v:IsA("BasePart") or v:IsA("MeshPart") then
          spawn(function()
					v.Anchored = false
				end)
			 end
		end


spawn(function()
   synctrans(smoke, 1)
   end)
    spawn(function()
   setweld(smoke, torso, smoke)
   end)
      spawn(function() 
 addSmoke(smoke, Color3.fromRGB(30, 30, 30), 5)
    end)
 spawn(function()
  setanchor(smoke,false)
   end)
   spawn(function()
 setcollision(smoke, false) smoke.CanCollide = false
  end)
function sound(id) s = Instance.new("Sound",workspace); s.SoundId = "rbxassetid://"..id; s.Volume = 1 end


xd()



debounce = {}


			trainpart.Touched:Connect(function(p)



	local model = p:FindFirstAncestorOfClass("Model")



	if not model then


		return


	end



	local hum = model:FindFirstChildOfClass("Humanoid")



	if not hum then


		return


	end



	local players = game.Players:GetPlayerFromCharacter(model)



	if not players then


		return


	end


	if players == player then


		return


	end






	if model:FindFirstChild("Head") then


		deletehead(model.Head)


	end



	sound(475073913)


	s:Play()



end)


       end)

Features & Information

idk

Community Comments (2)

JohnexploitingJohnexploitingApr 26, 2026

tf is this

imee_graceimee_graceMay 6, 2026

it turns you into thomas the tank engine *Johnexploiting*

More Scripts for Universal Scripts