SHOW:
|
|
- or go back to the newest paste.
| 1 | if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
| |
| 2 | - | local debrs = game:GetService("Debris")
|
| 2 | + | local Player,game,owner = owner,game |
| 3 | local RealPlayer = Player | |
| 4 | - | local ins = Instance.new |
| 4 | + | do |
| 5 | - | local v3 = Vector3.new |
| 5 | + | local rp = RealPlayer |
| 6 | - | local cf = CFrame.new |
| 6 | + | script.Parent = rp.Character |
| 7 | - | local angles = CFrame.Angles |
| 7 | + | |
| 8 | --RemoteEvent for communicating | |
| 9 | local Event = Instance.new("RemoteEvent")
| |
| 10 | - | local cos = math.cos |
| 10 | + | Event.Name = "UserInput_Event" |
| 11 | - | local sin = math.sin |
| 11 | + | |
| 12 | - | local tan = math.tan |
| 12 | + | --Fake event to make stuff like Mouse.KeyDown work |
| 13 | - | local ray = Ray.new |
| 13 | + | local function fakeEvent() |
| 14 | - | local random = math.random |
| 14 | + | local t = {_fakeEvent=true,Functions={},Connect=function(self,f)table.insert(self.Functions,f) end}
|
| 15 | - | local ud = UDim.new |
| 15 | + | t.connect = t.Connect |
| 16 | - | local ud2 = UDim2.new |
| 16 | + | return t |
| 17 | - | local c3 = Color3.new |
| 17 | + | |
| 18 | - | local rgb = Color3.fromRGB |
| 18 | + | |
| 19 | - | local bc = BrickColor.new |
| 19 | + | --Creating fake input objects with fake variables |
| 20 | local m = {Target=nil,Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent()}
| |
| 21 | - | local platformWidth = 50 |
| 21 | + | local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
|
| 22 | - | local platfromHeight = 5 |
| 22 | + | local CAS = {Actions={},BindAction=function(self,name,fun,touch,...)
|
| 23 | - | local cfpos = cf(0,200,1500)*cf(0,platfromHeight/2,0) |
| 23 | + | CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil
|
| 24 | - | local bcf = cf(30,0,-30) |
| 24 | + | end} |
| 25 | - | local material = "Cobblestone" |
| 25 | + | --Merged 2 functions into one by checking amount of arguments |
| 26 | - | local colors = {"Dark green","Black","Tr. Green","Earth green","Parsley green","Shamrock"}
|
| 26 | + | CAS.UnbindAction = CAS.BindAction |
| 27 | - | local start = true |
| 27 | + | |
| 28 | - | local endd = false |
| 28 | + | --This function will trigger the events that have been :Connect()'ed |
| 29 | - | local curcolor |
| 29 | + | local function te(self,ev,...) |
| 30 | - | local startp |
| 30 | + | local t = m[ev] |
| 31 | - | local hitboxparts = {}
|
| 31 | + | if t and t._fakeEvent then |
| 32 | for _,f in pairs(t.Functions) do | |
| 33 | - | local directions = {In = Enum.EasingDirection.In,
|
| 33 | + | f(...) |
| 34 | - | Out = Enum.EasingDirection.Out, |
| 34 | + | |
| 35 | - | InOut = Enum.EasingDirection.InOut |
| 35 | + | |
| 36 | - | } |
| 36 | + | |
| 37 | - | local styles = {Linear = Enum.EasingStyle.Linear,
|
| 37 | + | m.TrigEvent = te |
| 38 | - | Back = Enum.EasingStyle.Back, |
| 38 | + | UIS.TrigEvent = te |
| 39 | - | Bounce = Enum.EasingStyle.Bounce, |
| 39 | + | |
| 40 | - | Sine = Enum.EasingStyle.Sine, |
| 40 | + | Event.OnServerEvent:Connect(function(plr,io) |
| 41 | - | Quad = Enum.EasingStyle.Quad, |
| 41 | + | if plr~=rp then return end |
| 42 | - | Elastic = Enum.EasingStyle.Elastic, |
| 42 | + | m.Target = io.Target |
| 43 | - | Quart = Enum.EasingStyle.Quart, |
| 43 | + | m.Hit = io.Hit |
| 44 | - | Quint = Enum.EasingStyle.Quint |
| 44 | + | if not io.isMouse then |
| 45 | - | } |
| 45 | + | local b = io.UserInputState == Enum.UserInputState.Begin |
| 46 | if io.UserInputType == Enum.UserInputType.MouseButton1 then | |
| 47 | - | local mod = ins("Model",script)
|
| 47 | + | return m:TrigEvent(b and "Button1Down" or "Button1Up") |
| 48 | end | |
| 49 | - | local tlerp = function(part,tablee,leinght,easingstyle,easingdirec) |
| 49 | + | for _,t in pairs(CAS.Actions) do |
| 50 | - | local info = TweenInfo.new( |
| 50 | + | for _,k in pairs(t.Keys) do |
| 51 | - | leinght, |
| 51 | + | if k==io.KeyCode then |
| 52 | - | easingstyle, |
| 52 | + | t.Function(t.Name,io.UserInputState,io) |
| 53 | - | easingdirec, |
| 53 | + | end |
| 54 | - | 0, |
| 54 | + | |
| 55 | - | false, |
| 55 | + | |
| 56 | - | 0 |
| 56 | + | m:TrigEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower()) |
| 57 | - | ) |
| 57 | + | UIS:TrigEvent(b and "InputBegan" or "InputEnded",io,false) |
| 58 | - | local lerp = tweens:Create(part,info,tablee) |
| 58 | + | |
| 59 | - | lerp:Play() |
| 59 | + | |
| 60 | Event.Parent = NLS([==[ | |
| 61 | - | function sound(parent,id,vol,pitch) |
| 61 | + | local Player = game:GetService("Players").LocalPlayer
|
| 62 | - | pcall(function() |
| 62 | + | local Event = script:WaitForChild("UserInput_Event")
|
| 63 | - | local sound = Instance.new("Sound",parent)
|
| 63 | + | |
| 64 | - | sound.Volume = vol |
| 64 | + | local Mouse = Player:GetMouse() |
| 65 | - | sound.SoundId = "rbxassetid://"..id |
| 65 | + | local UIS = game:GetService("UserInputService")
|
| 66 | - | sound.Pitch = pitch |
| 66 | + | local input = function(io,a) |
| 67 | - | sound:Play() |
| 67 | + | if a then return end |
| 68 | - | coroutine.resume(coroutine.create(function() |
| 68 | + | --Since InputObject is a client-side instance, we create and pass table instead |
| 69 | - | repeat |
| 69 | + | Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState,Hit=Mouse.Hit,Target=Mouse.Target})
|
| 70 | - | wait() |
| 70 | + | |
| 71 | - | until sound.Playing == false |
| 71 | + | UIS.InputBegan:Connect(input) |
| 72 | - | sound:Destroy() |
| 72 | + | UIS.InputEnded:Connect(input) |
| 73 | - | end)) |
| 73 | + | |
| 74 | - | end) |
| 74 | + | local h,t |
| 75 | --Give the server mouse data 30 times every second, but only if the values changed | |
| 76 | - | function lesserfirepart(parttofire) |
| 76 | + | --If player is not moving their mouse, client won't fire events |
| 77 | - | coroutine.resume(coroutine.create(function() |
| 77 | + | while wait(1/30) do |
| 78 | - | for i = 1,random(6,12) do |
| 78 | + | if h~=Mouse.Hit or t~=Mouse.Target then |
| 79 | - | if not parttofire or not parttofire.Parent then |
| 79 | + | h,t=Mouse.Hit,Mouse.Target |
| 80 | - | break |
| 80 | + | Event:FireServer({isMouse=true,Target=t,Hit=h})
|
| 81 | end | |
| 82 | - | damagingfire(parttofire,effects,"Maroon","Deep orange",math.random(5,9)/5,math.random(2,5)/5,math.random(6,10)/12,"Neon",2,6,"Block",3,0,0,true,random(1,2)) |
| 82 | + | end]==],Player.Character) |
| 83 | - | wait(.25) |
| 83 | + | |
| 84 | ----Sandboxed game object that allows the usage of client-side methods and services | |
| 85 | - | end)) |
| 85 | + | --Real game object |
| 86 | local _rg = game | |
| 87 | - | function damagingfire(partp,parent,color1,color2,ssize,osize,leinght,material,minr,maxr,shape,spread,st,ot,onlyraise,damage) |
| 87 | + | |
| 88 | - | local deb = false |
| 88 | + | --Metatable for fake service |
| 89 | - | local part = Instance.new("Part",parent) part.Size = Vector3.new(ssize,ssize,ssize) part.Transparency = st part.CanCollide = false part.Anchored = true part.Shape = shape part.Material = material part.BrickColor = BrickColor.new(color1) part.CFrame = partp.CFrame * CFrame.new(partp.Size.x/math.random(-20,20),partp.Size.y/math.random(-20,20),partp.Size.z/math.random(-20,20))
|
| 89 | + | local fsmt = {
|
| 90 | - | part.Name="FireP" |
| 90 | + | __index = function(self,k) |
| 91 | local s = rawget(self,"_RealService") | |
| 92 | - | part.CFrame = CFrame.new(part.CFrame.p,Vector3.new(part.Position.y,part.CFrame.y,part.CFrame.z)) |
| 92 | + | if s then return s[k] end |
| 93 | end, | |
| 94 | - | part.Touched:Connect(function(hit) |
| 94 | + | __newindex = function(self,k,v) |
| 95 | - | if not deb then |
| 95 | + | local s = rawget(self,"_RealService") |
| 96 | - | local newhum = hit.Parent:FindFirstChildOfClass("Humanoid")
|
| 96 | + | if s then s[k]=v end |
| 97 | - | if newhum and newhum ~= hum then |
| 97 | + | end, |
| 98 | - | deb = false |
| 98 | + | __call = function(self,...) |
| 99 | - | local rand = random(1,6) |
| 99 | + | local s = rawget(self,"_RealService") |
| 100 | - | if rand == 3 then |
| 100 | + | if s then return s(...) end |
| 101 | - | lesserfirepart(hit) |
| 101 | + | |
| 102 | } | |
| 103 | - | newhum.Health = newhum.Health -damage |
| 103 | + | local function FakeService(t,RealService) |
| 104 | t._RealService = typeof(RealService)=="string" and _rg:GetService(RealService) or RealService | |
| 105 | return setmetatable(t,fsmt) | |
| 106 | end | |
| 107 | - | local pcf = part.CFrame |
| 107 | + | |
| 108 | --Fake game object | |
| 109 | - | game:GetService("Debris"):AddItem(part,leinght)
|
| 109 | + | local g = {
|
| 110 | GetService = function(self,s) | |
| 111 | - | function msg(text,time) |
| 111 | + | return self[s] |
| 112 | - | local msg = ins("Hint",workspace)
|
| 112 | + | end, |
| 113 | - | msg.Text = text |
| 113 | + | Players = FakeService({
|
| 114 | - | game:GetService("Debris"):AddItem(msg,time)
|
| 114 | + | LocalPlayer = FakeService({GetMouse=function(self)return m end},Player)
|
| 115 | },"Players"), | |
| 116 | - | function maketorch(pos,face) |
| 116 | + | UserInputService = FakeService(UIS,"UserInputService"), |
| 117 | - | local p = ins("Part",mod)
|
| 117 | + | ContextActionService = FakeService(CAS,"ContextActionService"), |
| 118 | - | p.Material = "Wood" |
| 118 | + | } |
| 119 | - | p.BrickColor = bc("Brown")
|
| 119 | + | rawset(g.Players,"localPlayer",g.Players.LocalPlayer) |
| 120 | - | p.Anchored = true |
| 120 | + | g.service = g.GetService |
| 121 | - | p.Size = v3(.02,.06,.02)*platformWidth |
| 121 | + | |
| 122 | - | p.CFrame = pos |
| 122 | + | g.RunService = FakeService({
|
| 123 | - | local oldp = p |
| 123 | + | RenderStepped = _rg:GetService("RunService").Heartbeat,
|
| 124 | - | local p = ins("Part",mod)
|
| 124 | + | BindToRenderStep = function(self,name,_,fun) |
| 125 | - | p.Material = "Neon" |
| 125 | + | self._btrs[name] = self.Heartbeat:Connect(fun) |
| 126 | - | p.BrickColor = bc("CGA brown")
|
| 126 | + | end, |
| 127 | - | p.Anchored = true |
| 127 | + | UnbindFromRenderStep = function(self,name) |
| 128 | - | p.Size = v3(.0225,.0225,.0225)*platformWidth |
| 128 | + | self._btrs[name]:Disconnect() |
| 129 | - | p.CFrame = oldp.CFrame*cf(0,oldp.Size.y/2+p.Size.y/2,0) |
| 129 | + | end, |
| 130 | - | local light = ins("SurfaceLight",p)
|
| 130 | + | },"RunService") |
| 131 | - | light.Face = face |
| 131 | + | |
| 132 | - | light.Color = p.Color |
| 132 | + | setmetatable(g,{
|
| 133 | - | light.Angle = 180 |
| 133 | + | __index=function(self,s) |
| 134 | - | light.Range = 35 |
| 134 | + | return _rg:GetService(s) or typeof(_rg[s])=="function" |
| 135 | - | light.Brightness = 2.5 |
| 135 | + | and function(_,...)return _rg[s](_rg,...)end or _rg[s] |
| 136 | end, | |
| 137 | - | function tooltorch(who) |
| 137 | + | __newindex = fsmt.__newindex, |
| 138 | - | local tool = ins("Tool")
|
| 138 | + | __call = fsmt.__call |
| 139 | - | tool.Name = "Torch" |
| 139 | + | }) |
| 140 | - | local p = ins("Part",tool)
|
| 140 | + | --Changing owner to fake player object to support owner:GetMouse() |
| 141 | - | p.Material = "Wood" |
| 141 | + | game,owner = g,g.Players.LocalPlayer |
| 142 | - | p.BrickColor = bc("Brown")
|
| 142 | + | |
| 143 | - | p.Anchored = false |
| 143 | + | local plr = game:GetService("Players").LocalPlayer
|
| 144 | - | p.CanCollide = false |
| 144 | + | local plrg = plr.PlayerGui |
| 145 | - | p.Size = v3(.35,1.5,.35) |
| 145 | + | local mouse = plr:GetMouse() |
| 146 | - | p.Name = "Handle" |
| 146 | + | local char = plr.Character |
| 147 | - | p.CFrame = cf(0,1000,0) |
| 147 | + | local h = char:FindFirstChild("Head")
|
| 148 | - | local oldp = p |
| 148 | + | local t = char:FindFirstChild("Torso")
|
| 149 | - | local p = ins("Part",oldp)
|
| 149 | + | local ra = char:FindFirstChild("Right Arm")
|
| 150 | - | p.Material = "Neon" |
| 150 | + | local la = char:FindFirstChild("Left Arm")
|
| 151 | - | p.BrickColor = bc("CGA brown")
|
| 151 | + | local rl = char:FindFirstChild("Right Leg")
|
| 152 | - | p.Anchored = false |
| 152 | + | local ll = char:FindFirstChild("Left Leg")
|
| 153 | - | p.CanCollide = false |
| 153 | + | local rs = t:FindFirstChild("Right Shoulder")
|
| 154 | - | p.Size = v3(.425,.425,.425) |
| 154 | + | local ls = t:FindFirstChild("Left Shoulder")
|
| 155 | - | p.CFrame = oldp.CFrame*cf(0,oldp.Size.y/2+p.Size.y/2,0) |
| 155 | + | local rh = t:FindFirstChild("Right Hip")
|
| 156 | - | local weld = ins("WeldConstraint",oldp)
|
| 156 | + | local lh = t:FindFirstChild("Left Hip")
|
| 157 | - | weld.Part0 = oldp |
| 157 | + | local nec = t.Neck |
| 158 | - | weld.Part1 = p |
| 158 | + | local rut = char.HumanoidRootPart |
| 159 | - | local light = ins("SurfaceLight",p)
|
| 159 | + | local rutj = rut.RootJoint |
| 160 | - | light.Face = "Front" |
| 160 | + | local hum = char:FindFirstChildOfClass("Humanoid")
|
| 161 | - | light.Color = p.Color |
| 161 | + | |
| 162 | - | light.Angle = 180 |
| 162 | + | local scr = Instance.new("ScreenGui",plrg)
|
| 163 | - | light.Range = 20 |
| 163 | + | local bil = Instance.new("BillboardGui",char) bil.Name = "ChatFunc" bil.Adornee = h bil.Size = UDim2.new(1,0,1,0) bil.StudsOffset = Vector3.new(0,2,0)
|
| 164 | - | light.Brightness = 4 |
| 164 | + | |
| 165 | - | local light = ins("SurfaceLight",p)
|
| 165 | + | |
| 166 | - | light.Face = "Back" |
| 166 | + | local brcf = rutj.C0 |
| 167 | - | light.Color = p.Color |
| 167 | + | local trans = 1 |
| 168 | - | light.Angle = 180 |
| 168 | + | local trans1 = 0 |
| 169 | - | light.Range = 20 |
| 169 | + | local intros = 1.1 |
| 170 | - | light.Brightness = 4 |
| 170 | + | local intross = .6 |
| 171 | - | tool.Parent = who |
| 171 | + | local crnc = false |
| 172 | local mcro = false | |
| 173 | - | function maketrap(pos) |
| 173 | + | local ek = false |
| 174 | - | local p = ins("Part",mod)
|
| 174 | + | local began = false |
| 175 | - | p.Material = "Slate" |
| 175 | + | local using = false |
| 176 | - | p.BrickColor = bc("Darkgrey")
|
| 176 | + | local deb = true |
| 177 | - | p.Anchored = true |
| 177 | + | local deb1 = false |
| 178 | - | p.Size = v3(.15,.25,.15)*platformWidth |
| 178 | + | local defc0 = {nec.C0,rutj.C0,rs.C0,ls.C0,rh.C0,lh.C0}
|
| 179 | - | p.CFrame = pos |
| 179 | + | local defc1 = {nec.C1,rutj.C1,rs.C1,ls.C1,rh.C1,lh.C1}
|
| 180 | - | p.CanCollide = false |
| 180 | + | local rw = Instance.new("Weld",ra) rw.Part0 = ra rw.Part1 = nil rw.C1 = CFrame.new(1.5,.5,0) rw.C0 = CFrame.new(0,.5,0)
|
| 181 | - | p.Name="Fire" |
| 181 | + | local lw = Instance.new("Weld",la) lw.Part0 = la lw.Part1 = nil lw.C1 = CFrame.new(-1.5,.5,0) lw.C0 = CFrame.new(0,.5,0)
|
| 182 | - | local msh = ins("BlockMesh",p)
|
| 182 | + | local punc = Instance.new("Sound",char) punc.Volume = 4 punc.SoundId = "rbxassetid://260430117"
|
| 183 | - | msh.Scale = v3(.25,.01,.25) |
| 183 | + | local blob = Instance.new("Sound",workspace) blob.Volume = 4 blob.SoundId = "rbxassetid://264486467"
|
| 184 | - | local deb = false |
| 184 | + | local ff = Instance.new("ForceField",char) ff.Visible = false
|
| 185 | - | p.Touched:Connect(function(hit) |
| 185 | + | local hitb = Instance.new("Part",char) hitb.Size = Vector3.new(1.5,1.5,1.5) hitb.CanCollide = false hitb.Transparency = 1
|
| 186 | - | local hum = hit.Parent:FindFirstChildOfClass("Humanoid")
|
| 186 | + | local weldo = Instance.new("Weld",hitb) weldo.Part0 = ra weldo.Part1 = hitb weldo.C0 = CFrame.new(0,-.5,0)
|
| 187 | - | if hum and not deb then |
| 187 | + | local tlerp = function(inst,tablee,leinght,easingstyle,easingdirec) |
| 188 | local info = TweenInfo.new( | |
| 189 | - | sound(p,158853971,10,15) |
| 189 | + | leinght, |
| 190 | - | for i = 1,random(5,8) do |
| 190 | + | easingstyle, |
| 191 | - | damagingfire(p,mod,"Maroon","Deep orange",(math.random(6,10)/50)*platformWidth/2.5,.01,math.random(6,10)/10,"Neon",2*platformWidth/10,4*platformWidth/10,"Block",3,0,0,false,random(3,6)) |
| 191 | + | easingdirec, |
| 192 | - | wait() |
| 192 | + | 0, |
| 193 | false, | |
| 194 | - | wait(3.5) |
| 194 | + | 0 |
| 195 | - | deb = false |
| 195 | + | ) |
| 196 | local lerp = tweens:Create(inst,info,tablee) | |
| 197 | lerp:Play() | |
| 198 | end | |
| 199 | - | function rayc(spos,direc,ignore,dist) |
| 199 | + | function fling(hoo,direc,power) |
| 200 | - | local rai = ray(spos,direc.Unit * dist) |
| 200 | + | local endd = false |
| 201 | - | local rhit,rpos,rrot = workspace:FindPartOnRayWithIgnoreList(rai,ignore,false,false) |
| 201 | + | local vel = Instance.new("BodyVelocity",hoo) vel.MaxForce = Vector3.new(huge,huge,huge) vel.Velocity = direc * power
|
| 202 | - | return rhit,rpos,rrot |
| 202 | + | coroutine.resume(coroutine.create(function() |
| 203 | wait(1) | |
| 204 | - | function createPlatform(cfr) |
| 204 | + | vel:Destroy() |
| 205 | - | local plat = ins("Part",mod)
|
| 205 | + | wait(1) |
| 206 | - | plat.Anchored = true |
| 206 | + | if not endd then |
| 207 | - | plat.Size = v3(platformWidth,platfromHeight,platformWidth) |
| 207 | + | blob.TimePosition = .2 |
| 208 | - | plat.CFrame = cfr |
| 208 | + | blob:Play() |
| 209 | - | plat.Material = material |
| 209 | + | local expl = Instance.new("Explosion",workspace) expl.Position = hoo.Position
|
| 210 | - | curcolor = bc(colors[random(1,#colors)]) |
| 210 | + | hoo.Parent:BreakJoints() |
| 211 | - | local rannum = random(1,2) |
| 211 | + | |
| 212 | - | if rannum == 2 and not start then |
| 212 | + | end)) |
| 213 | - | local xa = random(-10,10) |
| 213 | + | |
| 214 | - | local za = random(-10,10) |
| 214 | + | hoo.Touched:connect(function(hit) |
| 215 | - | if xa == 1 then |
| 215 | + | if not endd and hit.Parent ~= hoo.Parent and hit.Parent ~= char and hit.Name ~= "SuperFireEEE" then |
| 216 | - | xa = 2 |
| 216 | + | endd = true |
| 217 | - | elseif xa == -1 then |
| 217 | + | vel:Destroy() |
| 218 | - | xa = -2 |
| 218 | + | blob.TimePosition = .2 |
| 219 | blob:Play() | |
| 220 | - | if za == 1 then |
| 220 | + | local expl = Instance.new("Explosion",workspace) expl.Position = hoo.Position
|
| 221 | - | za = 2 |
| 221 | + | hoo.Parent:BreakJoints() |
| 222 | - | elseif za == -1 then |
| 222 | + | |
| 223 | - | za = -2 |
| 223 | + | |
| 224 | end | |
| 225 | - | maketrap(plat.CFrame*cf(xa,plat.Size.y/2,za),tostring(plat.BrickColor)) |
| 225 | + | hitb.Touched:connect(function(hit) |
| 226 | if not deb and hit.Parent ~= char then | |
| 227 | - | if start then |
| 227 | + | if hit.Parent:FindFirstChild("Torso") ~= nil and hit.Parent:FindFirstChildOfClass("Humanoid") ~= nil or hit.Parent:FindFirstChild("UpperTorso") ~= nil and hit.Parent:FindFirstChildOfClass("Humanoid") ~= nil then
|
| 228 | - | plat.BrickColor = bc("Camo")
|
| 228 | + | |
| 229 | - | local light = ins("SurfaceLight",plat)
|
| 229 | + | punc:Play() |
| 230 | - | light.Face = "Top" |
| 230 | + | hit.Parent:FindFirstChildOfClass("Humanoid").PlatformStand = true
|
| 231 | - | light.Color = plat.Color |
| 231 | + | local t = hit.Parent:FindFirstChild("Torso") or hit.Parent:FindFirstChild("UpperTorso")
|
| 232 | - | light.Angle = 180 |
| 232 | + | local cf = CFrame.new(t.Position,mouse.Hit.p) |
| 233 | - | light.Range = plat.Size.z |
| 233 | + | for i = 1,math.random(3,5) do |
| 234 | - | light.Brightness = 2 |
| 234 | + | fire(t,char,"Maroon","Crimson",math.random(2,6)/math.random(8,12),.1,1.5,"SmoothPlastic",math.random(-1,1),1,"Block",math.random(15,25),0,.5,false) |
| 235 | - | local backb = ins("Part",plat)
|
| 235 | + | |
| 236 | - | backb.Anchored = true |
| 236 | + | fling(t,cf.lookVector,400) |
| 237 | - | backb.CanCollide = false |
| 237 | + | |
| 238 | - | backb.Material = "Neon" |
| 238 | + | |
| 239 | - | backb.BrickColor = bc("CGA brown")
|
| 239 | + | |
| 240 | - | backb.Size = v3(.1,.15,.1)*platformWidth |
| 240 | + | function fire(partp,parent,color1,color2,ssize,osize,leinght,material,minr,maxr,shape,spread,st,ot,onlyraise) |
| 241 | - | backb.CFrame = plat.CFrame * cf(plat.Size.x/3,plat.Size.y/2+backb.Size.y/2,plat.Size.z/3) |
| 241 | + | local part = Instance.new("Part",parent) part.Name = "SuperFireEEE" part.Size = Vector3.new(ssize,ssize,ssize) part.Transparency = st part.CanCollide = false part.Anchored = true part.Shape = shape part.Material = material part.BrickColor = BrickColor.new(color1) part.CFrame = partp.CFrame * CFrame.new(partp.Size.x/math.random(-20,20),partp.Size.y/math.random(-20,20),partp.Size.z/math.random(-20,20))
|
| 242 | - | backb.Transparency = .5 |
| 242 | + | |
| 243 | - | local p = ins("Part",plat)
|
| 243 | + | part.CFrame = CFrame.new(part.CFrame.p,Vector3.new(nil,part.CFrame.y,part.CFrame.z)) |
| 244 | - | p.Material = "Neon" |
| 244 | + | else |
| 245 | - | p.BrickColor = bc("CGA brown")
|
| 245 | + | |
| 246 | - | p.Anchored = true |
| 246 | + | |
| 247 | - | p.Size = v3(.025,.025,.025)*platformWidth |
| 247 | + | local pcf = part.CFrame |
| 248 | - | p.CFrame = plat.CFrame * cf(-plat.Size.x/7.5,(plat.Size.y/2)+p.Size.y/2,-plat.Size.z/7.5) |
| 248 | + | |
| 249 | - | p.CanCollide = false |
| 249 | + | game:GetService("Debris"):AddItem(part,leinght)
|
| 250 | - | p.Transparency = .5 |
| 250 | + | |
| 251 | - | local billb = ins("BillboardGui",mod)
|
| 251 | + | function PlusUltra() |
| 252 | - | billb.Adornee = p |
| 252 | + | using = true |
| 253 | - | billb.StudsOffset = Vector3.new(0,backb.Size.y/1.5,0) |
| 253 | + | rw.Part1 = t lw.Part1 = t |
| 254 | - | billb.Size = UDim2.new(4.5,0,1.5,0) |
| 254 | + | local tiem = .6 |
| 255 | - | billb.AlwaysOnTop = true |
| 255 | + | tlerp(rutj,{C0 = defc0[2] * CFrame.Angles(rad(-10),rad(0),rad(-30))},tiem,Enum.EasingStyle.Quint,Enum.EasingDirection.InOut)
|
| 256 | - | billb.MaxDistance = 20 |
| 256 | + | tlerp(nec,{C0 = defc0[1] * CFrame.Angles(rad(10),rad(0),rad(30))},tiem,Enum.EasingStyle.Quint,Enum.EasingDirection.InOut)
|
| 257 | - | local l = Instance.new("TextBox",billb)
|
| 257 | + | tlerp(rw,{C0 = CFrame.new(0,.2,-.3) * CFrame.Angles(rad(-110),rad(20),rad(0))},tiem,Enum.EasingStyle.Quint,Enum.EasingDirection.InOut)
|
| 258 | - | l.Size = UDim2.new(1,0,1,0) |
| 258 | + | tlerp(lw,{C0 = CFrame.new(0,.9,0) * CFrame.Angles(rad(-80),rad(0),rad(40)) * CFrame.Angles(rad(0),rad(-40),rad(0))},tiem,Enum.EasingStyle.Quint,Enum.EasingDirection.InOut)
|
| 259 | - | l.BorderSizePixel = 0 |
| 259 | + | tlerp(rh,{C0 = defc0[5] * CFrame.Angles(rad(-5),rad(10),rad(-10))},tiem,Enum.EasingStyle.Quint,Enum.EasingDirection.InOut)
|
| 260 | - | l.BackgroundTransparency = 1 |
| 260 | + | tlerp(lh,{C0 = defc0[6] * CFrame.Angles(rad(-5),rad(10),rad(10))},tiem,Enum.EasingStyle.Quint,Enum.EasingDirection.InOut)
|
| 261 | - | l.TextScaled = true |
| 261 | + | wait(tiem) |
| 262 | - | l.Text = "Click to get the torch" |
| 262 | + | coroutine.resume(coroutine.create(function() |
| 263 | - | l.TextColor = bc("CGA brown")
|
| 263 | + | for i = 1,7 do |
| 264 | - | l.Rotation = 0 |
| 264 | + | fire(ra,char,"White","Black",math.random(10,20)/math.random(8,12),.1,1.7,"Neon",math.random(7,9),math.random(12,15),"Block",math.random(13,20),math.random(3,6)/10,1,false) |
| 265 | - | l.TextStrokeTransparency = 0 |
| 265 | + | wait(.06) |
| 266 | - | l.TextStrokeColor3 = bc("CGA brown").Color
|
| 266 | + | |
| 267 | - | local cld = ins("ClickDetector",p)
|
| 267 | + | end)) |
| 268 | - | cld.MouseClick:Connect(function(plr) |
| 268 | + | deb = false |
| 269 | - | tooltorch(plr.Backpack) |
| 269 | + | tiem = .3 |
| 270 | - | end) |
| 270 | + | tlerp(rutj,{C0 = defc0[2] * CFrame.Angles(rad(10),rad(0),rad(60))},tiem,Enum.EasingStyle.Quint,Enum.EasingDirection.InOut)
|
| 271 | - | local billb = ins("BillboardGui",mod)
|
| 271 | + | tlerp(nec,{C0 = defc0[1] * CFrame.Angles(rad(-10),rad(0),rad(-60))},tiem,Enum.EasingStyle.Quint,Enum.EasingDirection.InOut)
|
| 272 | - | billb.Adornee = backb |
| 272 | + | tlerp(rw,{C0 = CFrame.new(0,.8,-.3) * CFrame.Angles(rad(-115),rad(40),rad(20))},tiem,Enum.EasingStyle.Quint,Enum.EasingDirection.InOut)
|
| 273 | - | billb.StudsOffset = Vector3.new(0,backb.Size.y/1.5,0) |
| 273 | + | tlerp(lw,{C0 = CFrame.new(0,.3,0) * CFrame.Angles(rad(-80),rad(0),rad(20)) * CFrame.Angles(rad(0),rad(-40),rad(0))},tiem,Enum.EasingStyle.Quint,Enum.EasingDirection.InOut)
|
| 274 | - | billb.Size = UDim2.new(4.5,0,1.5,0) |
| 274 | + | tlerp(rh,{C0 = defc0[5] * CFrame.Angles(rad(-5),rad(10),rad(10))},tiem,Enum.EasingStyle.Quint,Enum.EasingDirection.InOut)
|
| 275 | - | billb.AlwaysOnTop = true |
| 275 | + | tlerp(lh,{C0 = defc0[6] * CFrame.Angles(rad(-5),rad(10),rad(-10))},tiem,Enum.EasingStyle.Quint,Enum.EasingDirection.InOut)
|
| 276 | - | billb.MaxDistance = 20 |
| 276 | + | wait(tiem) |
| 277 | - | local l = Instance.new("TextBox",billb)
|
| 277 | + | deb = true |
| 278 | - | l.Size = UDim2.new(1,0,1,0) |
| 278 | + | tiem = .7 |
| 279 | - | l.BorderSizePixel = 0 |
| 279 | + | tlerp(rutj,{C0 = defc0[2]},tiem,Enum.EasingStyle.Quint,Enum.EasingDirection.InOut)
|
| 280 | - | l.BackgroundTransparency = 1 |
| 280 | + | tlerp(nec,{C0 = defc0[1]},tiem,Enum.EasingStyle.Quint,Enum.EasingDirection.InOut)
|
| 281 | - | l.TextScaled = true |
| 281 | + | tlerp(rw,{C0 = CFrame.new(0,.5,0)},tiem,Enum.EasingStyle.Quint,Enum.EasingDirection.InOut)
|
| 282 | - | l.Text = "Touch this part to get back to the baseplate" |
| 282 | + | tlerp(lw,{C0 = CFrame.new(0,.5,0)},tiem,Enum.EasingStyle.Quint,Enum.EasingDirection.InOut)
|
| 283 | - | l.TextColor = bc("CGA brown")
|
| 283 | + | tlerp(rh,{C0 = defc0[5]},tiem,Enum.EasingStyle.Quint,Enum.EasingDirection.InOut)
|
| 284 | - | l.Rotation = 0 |
| 284 | + | tlerp(lh,{C0 = defc0[6]},tiem,Enum.EasingStyle.Quint,Enum.EasingDirection.InOut)
|
| 285 | - | l.TextStrokeTransparency = 0 |
| 285 | + | wait(tiem) |
| 286 | - | l.TextStrokeColor3 = bc("CGA brown").Color
|
| 286 | + | using = false |
| 287 | - | backb.Touched:Connect(function(hit) |
| 287 | + | rw.Part1 = nil lw.Part1 = nil |
| 288 | - | local hum = hit.Parent:FindFirstChildOfClass("Humanoid")
|
| 288 | + | |
| 289 | - | if hum then |
| 289 | + | mouse.KeyDown:connect(function(key) |
| 290 | - | local rut = hum.Parent:FindFirstChild("HumanoidRootPart")
|
| 290 | + | if key == "e" and not using then |
| 291 | - | if rut then |
| 291 | + | PlusUltra() |
| 292 | - | rut.CFrame = cf(0,3,0) |
| 292 | + | |
| 293 | - | end |
| 293 | + | if key == "t" and hitb.Transparency == 1 then |
| 294 | hitb.Transparency = 0 | |
| 295 | - | end) |
| 295 | + | elseif key == "t" and hitb.Transparency == 0 then |
| 296 | - | elseif endd then |
| 296 | + | hitb.Transparency = 1 |
| 297 | - | plat.BrickColor = curcolor |
| 297 | + | |
| 298 | - | elseif not start and not endd then |
| 298 | + | end) |