-- ty krystalburger --[[ Thomas The Dank Engine: By: KrystalTeam Features: Being a dank engine that kill people Version: 1.0.0.2 --]] wait(0.2) Player = game:GetService("Players").LocalPlayer PlayerGui = Player.PlayerGui Cam = workspace.CurrentCamera Backpack = Player.Backpack Character = Player.Character Humanoid = Character.Humanoid Mouse = Player:GetMouse() RootPart = Character["HumanoidRootPart"] Torso = Character["Torso"] Head = Character["Head"] RightArm = Character["Right Arm"] LeftArm = Character["Left Arm"] RightLeg = Character["Right Leg"] LeftLeg = Character["Left Leg"] RootJoint = RootPart["RootJoint"] Neck = Torso["Neck"] RightShoulder = Torso["Right Shoulder"] LeftShoulder = Torso["Left Shoulder"] RightHip = Torso["Right Hip"] LeftHip = Torso["Left Hip"] IT = Instance.new local SOUND = IT("Sound",nil) function CreateSound(ID, PARENT, VOLUME, PITCH) local NEWSOUND = nil coroutine.resume(coroutine.create(function() NEWSOUND = SOUND:Clone() NEWSOUND.Parent = PARENT NEWSOUND.Volume = VOLUME NEWSOUND.Pitch = PITCH NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID Swait() NEWSOUND:play() game:GetService("Debris"):AddItem(NEWSOUND, 10) end)) return NEWSOUND end function chatfunc(text) local chat = coroutine.wrap(function() if Character:FindFirstChild("TalkingBillBoard")~= nil then Character:FindFirstChild("TalkingBillBoard"):destroy() end local naeeym2 = Instance.new("BillboardGui",Character) naeeym2.Size = UDim2.new(0,100,0,40) naeeym2.StudsOffset = Vector3.new(0,3,0) naeeym2.Adornee = Character.Head naeeym2.Name = "TalkingBillBoard" local tecks3 = Instance.new("TextLabel",naeeym2) tecks3.BackgroundTransparency = 1 tecks3.BorderSizePixel = 0 tecks3.Text = "" tecks3.Font = "Bodoni" tecks3.TextSize = 30 tecks3.TextStrokeTransparency = 0 tecks3.TextColor3 = Color3.new(255,255,255) tecks3.TextStrokeColor3 = Color3.new(255,255,255) tecks3.Size = UDim2.new(1,0,0.5,0) for i = 1,string.len(text),1 do tecks3.Text = string.sub(text,1,i) wait(0.01) end wait(3) for i = 1, 80 do wait() tecks3.Position = tecks3.Position - UDim2.new(math.random(-.4,.4),math.random(-5,5),.05,math.random(-5,5)) tecks3.Rotation = tecks3.Rotation + .8 tecks3.TextStrokeTransparency = tecks3.TextStrokeTransparency +.03 tecks3.TextTransparency = tecks3.TextTransparency + .03 end end) chat() end chatfunc("hi.") wait(2) chatfunc("I am an editer.") wait(2) chatfunc("I edited this train to show off people in servers.") wait(5) chatfunc("so that is why... i am here...") wait(3) chatfunc("t o a n n o y y o u .") wait(3) local sick = Instance.new("Sound",Character) sick.SoundId = "rbxassetid://395351949" sick.Looped = true sick.Pitch = 1 sick.Volume = 5 sick:Play() script.Name = "train" CF = CFrame.new VT = Vector3.new RAD = math.rad C3 = Color3.new UD2 = UDim2.new BRICKC = BrickColor.new ANGLES = CFrame.Angles EULER = CFrame.fromEulerAnglesXYZ COS = math.cos ACOS = math.acos SIN = math.sin ASIN = math.asin ABS = math.abs MRANDOM = math.random FLOOR = math.floor function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET) local NEWMESH = IT(MESH) if MESH == "SpecialMesh" then NEWMESH.MeshType = MESHTYPE if MESHID ~= "nil" and MESHID ~= "" then NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID end if TEXTUREID ~= "nil" and TEXTUREID ~= "" then NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID end end NEWMESH.Offset = OFFSET or VT(0, 0, 0) NEWMESH.Scale = SCALE NEWMESH.Parent = PARENT return NEWMESH end function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR) local NEWPART = IT("Part") NEWPART.formFactor = FORMFACTOR NEWPART.Reflectance = REFLECTANCE NEWPART.Transparency = TRANSPARENCY NEWPART.CanCollide = false NEWPART.Locked = true NEWPART.Anchored = true if ANCHOR == false then NEWPART.Anchored = false end NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR)) NEWPART.Name = NAME NEWPART.Size = SIZE NEWPART.Position = Torso.Position NEWPART.Material = MATERIAL NEWPART:BreakJoints() NEWPART.Parent = PARENT return NEWPART end local p = game.Players.LocalPlayer.Character local weld = Instance.new("Weld",p.Torso) weld.Part0 = p.Torso local train = Instance.new("Part",p.Torso) train.Anchored = true train.CanCollide = false train.Size = Vector3.new(3,2,6) train.CustomPhysicalProperties = PhysicalProperties.new(0,0,0,0,0) weld.Part1 = train weld.C1 = CFrame.new(0,0,0) * CFrame.Angles(0,math.rad(180),0) train.Anchored = false local TrainMesh = Instance.new("SpecialMesh",train) TrainMesh.MeshType = Enum.MeshType.FileMesh TrainMesh.Scale = Vector3.new(0.020,0.020,0.015) TrainMesh.MeshId = "rbxassetid://431017802" TrainMesh.TextureId = "rbxassetid://431017809" local weld2 = Instance.new("Weld",p.Torso) weld2.Part0 = p.Torso local Smoke = Instance.new("Part",p.Torso) Smoke.Anchored = true Smoke.CanCollide = false Smoke.Size = Vector3.new(1,1,1) Smoke.CustomPhysicalProperties = PhysicalProperties.new(0,0,0,0,0) weld2.Part1 = Smoke weld2.C1 = CFrame.new(0,-4,3.5)-- * CFrame.Angles(0,math.rad(180),0) Smoke.Anchored = false Smoke.Transparency = 1; local Particle = Instance.new("ParticleEmitter",Smoke) Particle.Rate = 50; Particle.Speed = NumberRange.new(30,60); Particle.VelocitySpread = 4; Particle.Texture = "rbxassetid://133619974" local Light = Instance.new("SpotLight",train) Light.Angle = 45; Light.Brightness = 100; Light.Face = Enum.NormalId.Back; Light.Range = 30; p.Humanoid.WalkSpeed = 60; for i,v in pairs(p:GetChildren()) do if v:IsA("Part") then v.Transparency = 1; elseif v:IsA("Hat") then v:Destroy() elseif v:IsA("Model") then v:Destroy() end end local function SFX(id) local s=Instance.new("Sound",p.Torso); s.SoundId = "rbxassetid://"..id; s.Volume = 1; return s; end train.Touched:connect(function(p) if p.Parent then if p.Parent:IsA("Model") then if game.Players:FindFirstChild(p.Parent.Name) then if p.Parent.Name ~= game.Players.LocalPlayer.Name then game.Players:FindFirstChild(p.Parent.Name).Character:BreakJoints() local Whistle = SFX(475073913) Whistle:Play() end end end end end) local Music = SFX(190819252) Music.Looped = true; wait(1) Music:Play(); -- ~CL 2016