SHOW:
|
|
- or go back to the newest paste.
1 | --https://github.com/Mokiros/roblox-FE-compatibility | |
2 | - | local debrs = game:GetService("Debris") |
2 | + | if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end |
3 | local Player,game,owner = owner,game | |
4 | - | local ins = Instance.new |
4 | + | local RealPlayer = Player |
5 | - | local v3 = Vector3.new |
5 | + | do |
6 | - | local cf = CFrame.new |
6 | + | print("FE Compatibility code V2 by Mokiros") |
7 | - | local angles = CFrame.Angles |
7 | + | local RealPlayer = RealPlayer |
8 | script.Parent = RealPlayer.Character | |
9 | ||
10 | - | local cos = math.cos |
10 | + | --Fake event to make stuff like Mouse.KeyDown work |
11 | - | local sin = math.sin |
11 | + | local Disconnect_Function = function(this) |
12 | - | local tan = math.tan |
12 | + | this[1].Functions[this[2]] = nil |
13 | - | local ray = Ray.new |
13 | + | |
14 | - | local random = math.random |
14 | + | local Disconnect_Metatable = {__index={disconnect=Disconnect_Function,Disconnect=Disconnect_Function}} |
15 | - | local ud = UDim.new |
15 | + | local FakeEvent_Metatable = {__index={ |
16 | - | local ud2 = UDim2.new |
16 | + | Connect = function(this,f) |
17 | - | local c3 = Color3.new |
17 | + | local i = tostring(math.random(0,10000)) |
18 | - | local rgb = Color3.fromRGB |
18 | + | while this.Functions[i] do |
19 | - | local bc = BrickColor.new |
19 | + | i = tostring(math.random(0,10000)) |
20 | end | |
21 | - | local platformWidth = 50 |
21 | + | this.Functions[i] = f |
22 | - | local platfromHeight = 5 |
22 | + | return setmetatable({this,i},Disconnect_Metatable) |
23 | - | local cfpos = cf(0,200,1500)*cf(0,platfromHeight/2,0) |
23 | + | |
24 | - | local bcf = cf(30,0,-30) |
24 | + | }} |
25 | - | local material = "Cobblestone" |
25 | + | FakeEvent_Metatable.__index.connect = FakeEvent_Metatable.__index.Connect |
26 | - | local colors = {"Dark green","Black","Tr. Green","Earth green","Parsley green","Shamrock"} |
26 | + | local function fakeEvent() |
27 | - | local start = true |
27 | + | return setmetatable({Functions={}},FakeEvent_Metatable) |
28 | - | local endd = false |
28 | + | |
29 | - | local curcolor |
29 | + | |
30 | - | local startp |
30 | + | --Creating fake input objects with fake variables |
31 | - | local hitboxparts = {} |
31 | + | local FakeMouse = {Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent(),Button2Up=fakeEvent(),Button2Down=fakeEvent()} |
32 | FakeMouse.keyUp = FakeMouse.KeyUp | |
33 | - | local directions = {In = Enum.EasingDirection.In, |
33 | + | FakeMouse.keyDown = FakeMouse.KeyDown |
34 | - | Out = Enum.EasingDirection.Out, |
34 | + | local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()} |
35 | - | InOut = Enum.EasingDirection.InOut |
35 | + | local CAS = {Actions={},BindAction=function(self,name,fun,touch,...) |
36 | - | } |
36 | + | CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil |
37 | - | local styles = {Linear = Enum.EasingStyle.Linear, |
37 | + | end} |
38 | - | Back = Enum.EasingStyle.Back, |
38 | + | --Merged 2 functions into one by checking amount of arguments |
39 | - | Bounce = Enum.EasingStyle.Bounce, |
39 | + | CAS.UnbindAction = CAS.BindAction |
40 | - | Sine = Enum.EasingStyle.Sine, |
40 | + | |
41 | - | Quad = Enum.EasingStyle.Quad, |
41 | + | --This function will trigger the events that have been :Connect()'ed |
42 | - | Elastic = Enum.EasingStyle.Elastic, |
42 | + | local function TriggerEvent(self,ev,...) |
43 | - | Quart = Enum.EasingStyle.Quart, |
43 | + | for _,f in pairs(self[ev].Functions) do |
44 | - | Quint = Enum.EasingStyle.Quint |
44 | + | f(...) |
45 | - | } |
45 | + | |
46 | end | |
47 | - | local mod = ins("Model",script) |
47 | + | FakeMouse.TriggerEvent = TriggerEvent |
48 | UIS.TriggerEvent = TriggerEvent | |
49 | - | local tlerp = function(part,tablee,leinght,easingstyle,easingdirec) |
49 | + | |
50 | - | local info = TweenInfo.new( |
50 | + | --Client communication |
51 | - | leinght, |
51 | + | local Event = Instance.new("RemoteEvent") |
52 | - | easingstyle, |
52 | + | Event.Name = "UserInput_Event" |
53 | - | easingdirec, |
53 | + | Event.OnServerEvent:Connect(function(plr,io) |
54 | - | 0, |
54 | + | if plr~=RealPlayer then return end |
55 | - | false, |
55 | + | FakeMouse.Target = io.Target |
56 | - | 0 |
56 | + | FakeMouse.Hit = io.Hit |
57 | - | ) |
57 | + | if not io.isMouse then |
58 | - | local lerp = tweens:Create(part,info,tablee) |
58 | + | local b = io.UserInputState == Enum.UserInputState.Begin |
59 | - | lerp:Play() |
59 | + | if io.UserInputType == Enum.UserInputType.MouseButton1 then |
60 | return FakeMouse:TriggerEvent(b and "Button1Down" or "Button1Up") | |
61 | - | function sound(parent,id,vol,pitch) |
61 | + | |
62 | - | pcall(function() |
62 | + | if io.UserInputType == Enum.UserInputType.MouseButton2 then |
63 | - | local sound = Instance.new("Sound",parent) |
63 | + | return FakeMouse:TriggerEvent(b and "Button2Down" or "Button2Up") |
64 | - | sound.Volume = vol |
64 | + | |
65 | - | sound.SoundId = "rbxassetid://"..id |
65 | + | for _,t in pairs(CAS.Actions) do |
66 | - | sound.Pitch = pitch |
66 | + | for _,k in pairs(t.Keys) do |
67 | - | sound:Play() |
67 | + | if k==io.KeyCode then |
68 | - | coroutine.resume(coroutine.create(function() |
68 | + | t.Function(t.Name,io.UserInputState,io) |
69 | - | repeat |
69 | + | end |
70 | - | wait() |
70 | + | |
71 | - | until sound.Playing == false |
71 | + | |
72 | - | sound:Destroy() |
72 | + | FakeMouse:TriggerEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower()) |
73 | - | end)) |
73 | + | UIS:TriggerEvent(b and "InputBegan" or "InputEnded",io,false) |
74 | end | |
75 | end) | |
76 | - | function lesserfirepart(parttofire) |
76 | + | Event.Parent = NLS([==[local Event = script:WaitForChild("UserInput_Event") |
77 | - | coroutine.resume(coroutine.create(function() |
77 | + | local Mouse = owner:GetMouse() |
78 | - | for i = 1,random(6,12) do |
78 | + | local UIS = game:GetService("UserInputService") |
79 | - | if not parttofire or not parttofire.Parent then |
79 | + | local input = function(io,RobloxHandled) |
80 | - | break |
80 | + | if RobloxHandled then return end |
81 | - | end |
81 | + | --Since InputObject is a client-side instance, we create and pass table instead |
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 | + | Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState,Hit=Mouse.Hit,Target=Mouse.Target}) |
83 | - | wait(.25) |
83 | + | |
84 | - | end |
84 | + | UIS.InputBegan:Connect(input) |
85 | - | end)) |
85 | + | UIS.InputEnded:Connect(input) |
86 | ||
87 | - | function damagingfire(partp,parent,color1,color2,ssize,osize,leinght,material,minr,maxr,shape,spread,st,ot,onlyraise,damage) |
87 | + | local h,t |
88 | - | local deb = false |
88 | + | --Give the server mouse data every second frame, but only if the values changed |
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 | + | --If player is not moving their mouse, client won't fire events |
90 | - | part.Name="FireP" |
90 | + | local HB = game:GetService("RunService").Heartbeat |
91 | while true do | |
92 | - | part.CFrame = CFrame.new(part.CFrame.p,Vector3.new(part.Position.y,part.CFrame.y,part.CFrame.z)) |
92 | + | if h~=Mouse.Hit or t~=Mouse.Target then |
93 | - | end |
93 | + | h,t=Mouse.Hit,Mouse.Target |
94 | - | part.Touched:Connect(function(hit) |
94 | + | Event:FireServer({isMouse=true,Target=t,Hit=h}) |
95 | - | if not deb then |
95 | + | |
96 | - | local newhum = hit.Parent:FindFirstChildOfClass("Humanoid") |
96 | + | --Wait 2 frames |
97 | - | if newhum and newhum ~= hum then |
97 | + | for i=1,2 do |
98 | - | deb = false |
98 | + | HB:Wait() |
99 | - | local rand = random(1,6) |
99 | + | |
100 | - | if rand == 3 then |
100 | + | end]==],script) |
101 | - | lesserfirepart(hit) |
101 | + | |
102 | - | end |
102 | + | ----Sandboxed game object that allows the usage of client-side methods and services |
103 | - | newhum.Health = newhum.Health -damage |
103 | + | --Real game object |
104 | - | end |
104 | + | local RealGame = game |
105 | - | end |
105 | + | |
106 | - | end) |
106 | + | --Metatable for fake service |
107 | - | local pcf = part.CFrame |
107 | + | local FakeService_Metatable = { |
108 | __index = function(self,k) | |
109 | - | game:GetService("Debris"):AddItem(part,leinght) |
109 | + | local s = rawget(self,"_RealService") |
110 | if s then | |
111 | - | function msg(text,time) |
111 | + | return typeof(s[k])=="function" |
112 | - | local msg = ins("Hint",workspace) |
112 | + | and function(_,...)return s[k](s,...)end or s[k] |
113 | - | msg.Text = text |
113 | + | |
114 | - | game:GetService("Debris"):AddItem(msg,time) |
114 | + | end, |
115 | __newindex = function(self,k,v) | |
116 | - | function maketorch(pos,face) |
116 | + | local s = rawget(self,"_RealService") |
117 | - | local p = ins("Part",mod) |
117 | + | if s then s[k]=v end |
118 | - | p.Material = "Wood" |
118 | + | |
119 | - | p.BrickColor = bc("Brown") |
119 | + | } |
120 | - | p.Anchored = true |
120 | + | local function FakeService(t,RealService) |
121 | - | p.Size = v3(.02,.06,.02)*platformWidth |
121 | + | t._RealService = typeof(RealService)=="string" and RealGame:GetService(RealService) or RealService |
122 | - | p.CFrame = pos |
122 | + | return setmetatable(t,FakeService_Metatable) |
123 | - | local oldp = p |
123 | + | |
124 | - | local p = ins("Part",mod) |
124 | + | |
125 | - | p.Material = "Neon" |
125 | + | --Fake game object |
126 | - | p.BrickColor = bc("CGA brown") |
126 | + | local FakeGame = { |
127 | - | p.Anchored = true |
127 | + | GetService = function(self,s) |
128 | - | p.Size = v3(.0225,.0225,.0225)*platformWidth |
128 | + | return rawget(self,s) or RealGame:GetService(s) |
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 | + | Players = FakeService({ |
131 | - | light.Face = face |
131 | + | LocalPlayer = FakeService({GetMouse=function(self)return FakeMouse end},Player) |
132 | - | light.Color = p.Color |
132 | + | },"Players"), |
133 | - | light.Angle = 180 |
133 | + | UserInputService = FakeService(UIS,"UserInputService"), |
134 | - | light.Range = 35 |
134 | + | ContextActionService = FakeService(CAS,"ContextActionService"), |
135 | - | light.Brightness = 2.5 |
135 | + | RunService = FakeService({ |
136 | _btrs = {}, | |
137 | - | function tooltorch(who) |
137 | + | RenderStepped = RealGame:GetService("RunService").Heartbeat, |
138 | - | local tool = ins("Tool") |
138 | + | BindToRenderStep = function(self,name,_,fun) |
139 | - | tool.Name = "Torch" |
139 | + | self._btrs[name] = self.Heartbeat:Connect(fun) |
140 | - | local p = ins("Part",tool) |
140 | + | end, |
141 | - | p.Material = "Wood" |
141 | + | UnbindFromRenderStep = function(self,name) |
142 | - | p.BrickColor = bc("Brown") |
142 | + | self._btrs[name]:Disconnect() |
143 | - | p.Anchored = false |
143 | + | end, |
144 | - | p.CanCollide = false |
144 | + | },"RunService") |
145 | - | p.Size = v3(.35,1.5,.35) |
145 | + | } |
146 | - | p.Name = "Handle" |
146 | + | rawset(FakeGame.Players,"localPlayer",FakeGame.Players.LocalPlayer) |
147 | - | p.CFrame = cf(0,1000,0) |
147 | + | FakeGame.service = FakeGame.GetService |
148 | - | local oldp = p |
148 | + | FakeService(FakeGame,game) |
149 | - | local p = ins("Part",oldp) |
149 | + | --Changing owner to fake player object to support owner:GetMouse() |
150 | - | p.Material = "Neon" |
150 | + | game,owner = FakeGame,FakeGame.Players.LocalPlayer |
151 | - | p.BrickColor = bc("CGA brown") |
151 | + | |
152 | - | p.Anchored = false |
152 | + | |
153 | - | p.CanCollide = false |
153 | + | --Script made by Pedrorb03 |
154 | - | p.Size = v3(.425,.425,.425) |
154 | + | |
155 | - | p.CFrame = oldp.CFrame*cf(0,oldp.Size.y/2+p.Size.y/2,0) |
155 | + | wait(1) |
156 | - | local weld = ins("WeldConstraint",oldp) |
156 | + | --Converted with ttyyuu12345's model to script plugin v4 |
157 | - | weld.Part0 = oldp |
157 | + | function sandbox(var,func) |
158 | - | weld.Part1 = p |
158 | + | local env = getfenv(func) |
159 | - | local light = ins("SurfaceLight",p) |
159 | + | local newenv = setmetatable({},{ |
160 | - | light.Face = "Front" |
160 | + | __index = function(self,k) |
161 | - | light.Color = p.Color |
161 | + | if k=="script" then |
162 | - | light.Angle = 180 |
162 | + | return var |
163 | - | light.Range = 20 |
163 | + | else |
164 | - | light.Brightness = 4 |
164 | + | return env[k] |
165 | - | local light = ins("SurfaceLight",p) |
165 | + | |
166 | - | light.Face = "Back" |
166 | + | end, |
167 | - | light.Color = p.Color |
167 | + | }) |
168 | - | light.Angle = 180 |
168 | + | setfenv(func,newenv) |
169 | - | light.Range = 20 |
169 | + | return func |
170 | - | light.Brightness = 4 |
170 | + | |
171 | - | tool.Parent = who |
171 | + | cors = {} |
172 | mas = Instance.new("Model",game:GetService("Lighting")) | |
173 | - | function maketrap(pos) |
173 | + | HopperBin0 = Instance.new("HopperBin") |
174 | - | local p = ins("Part",mod) |
174 | + | LocalScript1 = Instance.new("LocalScript") |
175 | - | p.Material = "Slate" |
175 | + | |
176 | - | p.BrickColor = bc("Darkgrey") |
176 | + | for i,v in pairs(mas:GetChildren()) do |
177 | - | p.Anchored = true |
177 | + | v.Parent = workspace |
178 | - | p.Size = v3(.15,.25,.15)*platformWidth |
178 | + | pcall(function() v:MakeJoints() end) |
179 | - | p.CFrame = pos |
179 | + | |
180 | - | p.CanCollide = false |
180 | + | mas:Destroy() |
181 | - | p.Name="Fire" |
181 | + | for i,v in pairs(cors) do |
182 | - | local msh = ins("BlockMesh",p) |
182 | + | spawn(function() |
183 | - | msh.Scale = v3(.25,.01,.25) |
183 | + | pcall(v) |
184 | - | local deb = false |
184 | + | |
185 | - | p.Touched:Connect(function(hit) |
185 | + | |
186 | - | local hum = hit.Parent:FindFirstChildOfClass("Humanoid") |
186 | + | |
187 | - | if hum and not deb then |
187 | + | growingList = {} |
188 | degrowingList = {} | |
189 | - | sound(p,158853971,10,15) |
189 | + | local Player = game.Players.localPlayer |
190 | - | for i = 1,random(5,8) do |
190 | + | function chatfunc(text) |
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 | + | local chat = coroutine.wrap(function() |
192 | - | wait() |
192 | + | local m8n = game.Players.LocalPlayer.Character |
193 | if m8n:FindFirstChild("TalkingBillBoard")~= nil then | |
194 | - | wait(3.5) |
194 | + | m8n:FindFirstChild("TalkingBillBoard"):destroy() |
195 | - | deb = false |
195 | + | |
196 | local naeeym2 = Instance.new("BillboardGui",m8n) | |
197 | naeeym2.Size = UDim2.new(0,100,0,40) | |
198 | naeeym2.StudsOffset = Vector3.new(0,3,0) | |
199 | - | function rayc(spos,direc,ignore,dist) |
199 | + | naeeym2.Adornee = m8n.Head |
200 | - | local rai = ray(spos,direc.Unit * dist) |
200 | + | naeeym2.Name = "TalkingBillBoard" |
201 | - | local rhit,rpos,rrot = workspace:FindPartOnRayWithIgnoreList(rai,ignore,false,false) |
201 | + | local tecks2 = Instance.new("TextLabel",naeeym2) |
202 | - | return rhit,rpos,rrot |
202 | + | tecks2.BackgroundTransparency = 1 |
203 | tecks2.BorderSizePixel = 0 | |
204 | - | function createPlatform(cfr) |
204 | + | tecks2.Text = "" |
205 | - | local plat = ins("Part",mod) |
205 | + | tecks2.Font = "Cartoon" |
206 | - | plat.Anchored = true |
206 | + | tecks2.TextSize = 30 |
207 | - | plat.Size = v3(platformWidth,platfromHeight,platformWidth) |
207 | + | tecks2.TextStrokeTransparency = 0 |
208 | - | plat.CFrame = cfr |
208 | + | tecks2.TextColor3 = Color3.new(.6,0,0) |
209 | - | plat.Material = material |
209 | + | tecks2.TextStrokeColor3 = Color3.new(0,0,0) |
210 | - | curcolor = bc(colors[random(1,#colors)]) |
210 | + | tecks2.Size = UDim2.new(1,0,0.5,0) |
211 | - | local rannum = random(1,2) |
211 | + | local tecks3 = Instance.new("TextLabel",naeeym2) |
212 | - | if rannum == 2 and not start then |
212 | + | tecks3.BackgroundTransparency = 1 |
213 | - | local xa = random(-10,10) |
213 | + | tecks3.BorderSizePixel = 0 |
214 | - | local za = random(-10,10) |
214 | + | tecks3.Text = "" |
215 | - | if xa == 1 then |
215 | + | tecks3.Font = "Cartoon" |
216 | - | xa = 2 |
216 | + | tecks3.TextSize = 30 |
217 | - | elseif xa == -1 then |
217 | + | tecks3.TextStrokeTransparency = 0 |
218 | - | xa = -2 |
218 | + | tecks3.TextColor3 = Color3.new(.6,0,0) |
219 | tecks3.TextStrokeColor3 = Color3.new(0,0,0) | |
220 | - | if za == 1 then |
220 | + | tecks3.Size = UDim2.new(1,0,0.5,0) |
221 | - | za = 2 |
221 | + | tecks2.Text = text |
222 | - | elseif za == -1 then |
222 | + | tecks3.Text = text |
223 | - | za = -2 |
223 | + | wait(5) |
224 | for i = 1, 50 do | |
225 | - | maketrap(plat.CFrame*cf(xa,plat.Size.y/2,za),tostring(plat.BrickColor)) |
225 | + | wait(0.1) |
226 | tecks2.Position = tecks2.Position - UDim2.new(math.random(-.4,.4),math.random(-5,5),.05,math.random(-5,5)) | |
227 | - | if start then |
227 | + | tecks2.Rotation = tecks2.Rotation - .8 |
228 | - | plat.BrickColor = bc("Camo") |
228 | + | tecks2.TextStrokeTransparency = tecks2.TextStrokeTransparency +.04 |
229 | - | local light = ins("SurfaceLight",plat) |
229 | + | tecks2.TextTransparency = tecks2.TextTransparency + .04 |
230 | - | light.Face = "Top" |
230 | + | tecks3.Position = tecks2.Position - UDim2.new(math.random(-.4,.4),math.random(-5,5),.05,math.random(-5,5)) |
231 | - | light.Color = plat.Color |
231 | + | tecks3.Rotation = tecks2.Rotation + .8 |
232 | - | light.Angle = 180 |
232 | + | tecks3.TextStrokeTransparency = tecks2.TextStrokeTransparency +.04 |
233 | - | light.Range = plat.Size.z |
233 | + | tecks3.TextTransparency = tecks2.TextTransparency + .04 |
234 | - | light.Brightness = 2 |
234 | + | |
235 | - | local backb = ins("Part",plat) |
235 | + | naeeym2:Destroy() |
236 | - | backb.Anchored = true |
236 | + | |
237 | - | backb.CanCollide = false |
237 | + | chat() |
238 | - | backb.Material = "Neon" |
238 | + | |
239 | - | backb.BrickColor = bc("CGA brown") |
239 | + | function onChatted(msg) |
240 | - | backb.Size = v3(.1,.15,.1)*platformWidth |
240 | + | chatfunc(msg) |
241 | - | backb.CFrame = plat.CFrame * cf(plat.Size.x/3,plat.Size.y/2+backb.Size.y/2,plat.Size.z/3) |
241 | + | |
242 | - | backb.Transparency = .5 |
242 | + | Player.Chatted:connect(onChatted) |
243 | - | local p = ins("Part",plat) |
243 | + | |
244 | - | p.Material = "Neon" |
244 | + | torso = Instance.new("Part") torso.Size = Vector3.new(0,0,0) torso.CanCollide = false |
245 | - | p.BrickColor = bc("CGA brown") |
245 | + | torso.Anchored = true |
246 | - | p.Anchored = true |
246 | + | local mesh = Instance.new("SpecialMesh",torso) mesh.MeshId = "rbxassetid://1198391230" mesh.TextureId = "rbxassetid://1198391349" mesh.Scale = Vector3.new(0.01,0.01,0.01) |
247 | - | p.Size = v3(.025,.025,.025)*platformWidth |
247 | + | |
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 | + | arm = Instance.new("Part") arm.Size = Vector3.new(0,0,0) arm.CanCollide = false |
249 | - | p.CanCollide = false |
249 | + | arm.Anchored = true |
250 | - | p.Transparency = .5 |
250 | + | local mesh = Instance.new("SpecialMesh",arm) mesh.MeshId = "rbxassetid://1198392540" mesh.TextureId = "rbxassetid://1198391349" mesh.Scale = Vector3.new(0.02,0.02,0.02) |
251 | - | local billb = ins("BillboardGui",mod) |
251 | + | |
252 | - | billb.Adornee = p |
252 | + | leg1 = Instance.new("Part") leg1.Size = Vector3.new(0,0,0) leg1.CanCollide = false |
253 | - | billb.StudsOffset = Vector3.new(0,backb.Size.y/1.5,0) |
253 | + | leg1.Anchored = true |
254 | - | billb.Size = UDim2.new(4.5,0,1.5,0) |
254 | + | local mesh = Instance.new("SpecialMesh",leg1) mesh.MeshId = "rbxassetid://1198394446" mesh.TextureId = "rbxassetid://1198391349" mesh.Scale = Vector3.new(0.01,0.01,0.01) |
255 | - | billb.AlwaysOnTop = true |
255 | + | |
256 | - | billb.MaxDistance = 20 |
256 | + | leg2 = Instance.new("Part") leg2.Size = Vector3.new(0,0,0) leg2.CanCollide = false |
257 | - | local l = Instance.new("TextBox",billb) |
257 | + | leg2.Anchored = true |
258 | - | l.Size = UDim2.new(1,0,1,0) |
258 | + | local mesh = Instance.new("SpecialMesh",leg2) mesh.MeshId = "rbxassetid://1198393506" mesh.TextureId = "rbxassetid://1198391349" mesh.Scale = Vector3.new(0.02,0.02,0.02) |
259 | - | l.BorderSizePixel = 0 |
259 | + | |
260 | - | l.BackgroundTransparency = 1 |
260 | + | headd = Instance.new("Part") headd.Size = Vector3.new(1,1,1) headd.CanCollide = false |
261 | - | l.TextScaled = true |
261 | + | local mesh = Instance.new("SpecialMesh",headd) mesh.Scale = Vector3.new(1.25,1.25,1.25) mesh.MeshType = Enum.MeshType.Head |
262 | - | l.Text = "Click to get the torch" |
262 | + | headd.BrickColor = BrickColor.new("Pastel brown") |
263 | - | l.TextColor = bc("CGA brown") |
263 | + | |
264 | - | l.Rotation = 0 |
264 | + | game:GetService("RunService").RenderStepped:connect(function() |
265 | - | l.TextStrokeTransparency = 0 |
265 | + | for _,grow in pairs(growingList) do |
266 | - | l.TextStrokeColor3 = bc("CGA brown").Color |
266 | + | local cframe = grow.CFrame |
267 | - | local cld = ins("ClickDetector",p) |
267 | + | grow.Size = grow.Size+Vector3.new(1,1,1) |
268 | - | cld.MouseClick:Connect(function(plr) |
268 | + | grow.Transparency = grow.Transparency+0.04 |
269 | - | tooltorch(plr.Backpack) |
269 | + | |
270 | - | end) |
270 | + | for _,degrow in pairs(degrowingList) do |
271 | - | local billb = ins("BillboardGui",mod) |
271 | + | local cframe = degrow.CFrame |
272 | - | billb.Adornee = backb |
272 | + | degrow.Size = degrow.Size-Vector3.new(1,1,1) |
273 | - | billb.StudsOffset = Vector3.new(0,backb.Size.y/1.5,0) |
273 | + | degrow.Transparency = degrow.Transparency+0.04 |
274 | - | billb.Size = UDim2.new(4.5,0,1.5,0) |
274 | + | |
275 | - | billb.AlwaysOnTop = true |
275 | + | |
276 | - | billb.MaxDistance = 20 |
276 | + | |
277 | - | local l = Instance.new("TextBox",billb) |
277 | + | |
278 | - | l.Size = UDim2.new(1,0,1,0) |
278 | + | |
279 | - | l.BorderSizePixel = 0 |
279 | + | |
280 | - | l.BackgroundTransparency = 1 |
280 | + | Basesong = Instance.new("Sound") |
281 | - | l.TextScaled = true |
281 | + | |
282 | - | l.Text = "Touch this part to get back to the baseplate" |
282 | + | hair = Instance.new("Part",game.Players.LocalPlayer.Character) hair.Size = Vector3.new(1,1,1) hair.CanCollide = false |
283 | - | l.TextColor = bc("CGA brown") |
283 | + | |
284 | - | l.Rotation = 0 |
284 | + | beforesong = Basesong:Clone() |
285 | - | l.TextStrokeTransparency = 0 |
285 | + | beforesong.Parent = game.Players.LocalPlayer.Character |
286 | - | l.TextStrokeColor3 = bc("CGA brown").Color |
286 | + | beforesong.Looped = true |
287 | - | backb.Touched:Connect(function(hit) |
287 | + | beforesong.Volume = 3 |
288 | - | local hum = hit.Parent:FindFirstChildOfClass("Humanoid") |
288 | + | beforesong.SoundId = "rbxassetid://1100971847" |
289 | - | if hum then |
289 | + | beforesong:Play() |
290 | - | local rut = hum.Parent:FindFirstChild("HumanoidRootPart") |
290 | + | |
291 | - | if rut then |
291 | + | if game.Players.LocalPlayer.Character:FindFirstChild("Body Colors") then |
292 | - | rut.CFrame = cf(0,3,0) |
292 | + | game.Players.LocalPlayer.Character["Body Colors"]:remove() |
293 | end | |
294 | if game.Players.LocalPlayer.Character:FindFirstChild("Shirt Graphic") then | |
295 | - | end) |
295 | + | game.Players.LocalPlayer.Character["Shirt Graphic"]:remove() |
296 | - | elseif endd then |
296 | + | |
297 | - | plat.BrickColor = curcolor |
297 | + | if game.Players.LocalPlayer.Character:FindFirstChild("Shirt") then |
298 | - | elseif not start and not endd then |
298 | + | game.Players.LocalPlayer.Character["Shirt"]:remove() |
299 | - | plat.BrickColor = curcolor |
299 | + | |
300 | if game.Players.LocalPlayer.Character:FindFirstChild("Pants") then | |
301 | - | local cfs = { |
301 | + | game.Players.LocalPlayer.Character["Pants"]:remove() |
302 | - | plat.CFrame *cf(plat.Size.x+0/5,0,0), |
302 | + | |
303 | - | plat.CFrame *cf(-plat.Size.x-0/5,0,0), |
303 | + | for i=1,5 do |
304 | - | plat.CFrame *cf(0,0,plat.Size.z+0/5), |
304 | + | wait() |
305 | - | plat.CFrame *cf(0,0,-plat.Size.z-0/5) |
305 | + | for _,hat in pairs(game.Players.LocalPlayer.Character:GetChildren()) do |
306 | - | } |
306 | + | if hat.ClassName == "Accessory" then |
307 | - | if endd then |
307 | + | hat:remove() |
308 | - | local rew = ins("Part",plat) |
308 | + | |
309 | - | rew.Anchored = true |
309 | + | if hat:IsA("BasePart") then |
310 | - | rew.Material = "Glass" |
310 | + | hat.BrickColor = BrickColor.new("Pastel brown") |
311 | - | rew.BrickColor = bc("Gold") |
311 | + | |
312 | - | rew.Size = v3(.05,.05,.05)*platformWidth |
312 | + | |
313 | - | rew.CFrame = plat.CFrame * cf(0,(rew.Size.y/2)+plat.Size.y/2,0) |
313 | + | |
314 | - | rew.Name = random(-999999,999999) |
314 | + | game.Players.LocalPlayer.Character.Humanoid.WalkSpeed = 16 |
315 | - | print(rew.Name) |
315 | + | game.Players.LocalPlayer.Character.Humanoid.JumpPower = 50 |
316 | - | local light = ins("SurfaceLight",rew) |
316 | + | |
317 | - | light.Face = "Top" |
317 | + | |
318 | - | light.Color = rew.Color |
318 | + | Basepart = Instance.new("Part") |
319 | - | light.Angle = 180 |
319 | + | |
320 | - | light.Range = 30 |
320 | + | |
321 | - | light.Brightness = 3 |
321 | + | Baseparticle = Instance.new("ParticleEmitter") |
322 | - | local deb = false |
322 | + | Basemesh = Instance.new("SpecialMesh") |
323 | - | rew.Touched:Connect(function(hit) |
323 | + | local mesh = Basemesh:Clone() |
324 | - | local hum = hit.Parent:FindFirstChildOfClass("Humanoid") |
324 | + | mesh.Parent = hair |
325 | - | if hum then |
325 | + | mesh.MeshId = "rbxassetid://1143041061" |
326 | - | local rut = hum.Parent:FindFirstChild("HumanoidRootPart") |
326 | + | Baseweld = Instance.new("Weld") |
327 | - | if rut and not deb then |
327 | + | local weld = Baseweld:Clone() |
328 | - | deb = true |
328 | + | weld.Part0 = hair |
329 | - | hum.Health = hum.MaxHealth |
329 | + | weld.Part1 = game.Players.LocalPlayer.Character.Head |
330 | - | sound(workspace,160737154,2,1) |
330 | + | hair.Color = Color3.fromRGB(153, 125, 61) |
331 | - | msg(hum.Parent.Name.." found the gold block!",3) |
331 | + | weld.C0 = CFrame.new(0,-0.25,0)*CFrame.Angles(0,math.rad(180),0) |
332 | - | gen() |
332 | + | weld.Parent = hair |
333 | - | rut.CFrame = startp.CFrame * cf(0,3,0) |
333 | + | |
334 | shirt = Instance.new("Shirt",game.Players.LocalPlayer.Character) | |
335 | shirt.ShirtTemplate = "rbxassetid://804894303" | |
336 | - | end) |
336 | + | pants = Instance.new("Pants",game.Players.LocalPlayer.Character) |
337 | pants.PantsTemplate = "rbxassetid://189943600" | |
338 | - | local safepart = ins("Part",plat) |
338 | + | |
339 | - | safepart.Anchored = true |
339 | + | game.Players.LocalPlayer.Character.Head.face.Texture = "http://www.roblox.com/asset/?id=1142979747" local plr = game:GetService("Players").LocalPlayer |
340 | - | safepart.Material = plat.Material |
340 | + | local plrg = plr.PlayerGui |
341 | - | safepart.Color = plat.Color |
341 | + | local mouse = plr:GetMouse() |
342 | - | safepart.Size = v3(20*platformWidth,5,20*platformWidth) |
342 | + | local char = plr.Character |
343 | - | safepart.CFrame = cfpos * cf(0,-plat.Size.y/2-(safepart.Size.y/2),0) |
343 | + | local h = char:FindFirstChild("Head") |
344 | - | safepart.CanCollide = false |
344 | + | local t = char:FindFirstChild("Torso") |
345 | - | safepart.Transparency = 1 |
345 | + | local ra = char:FindFirstChild("Right Arm") |
346 | - | safepart.Touched:Connect(function(hit) |
346 | + | local la = char:FindFirstChild("Left Arm") |
347 | - | local hum = hit.Parent:FindFirstChildOfClass("Humanoid") |
347 | + | local rl = char:FindFirstChild("Right Leg") |
348 | - | if hum then |
348 | + | local ll = char:FindFirstChild("Left Leg") |
349 | - | local rut = hum.Parent:FindFirstChild("HumanoidRootPart") |
349 | + | local rs = t:FindFirstChild("Right Shoulder") |
350 | - | if rut then |
350 | + | local ls = t:FindFirstChild("Left Shoulder") |
351 | - | rut.CFrame = startp.CFrame * cf(0,3,0) |
351 | + | local rh = t:FindFirstChild("Right Hip") |
352 | local lh = t:FindFirstChild("Left Hip") | |
353 | local nec = t.Neck | |
354 | local rut = char.HumanoidRootPart | |
355 | - | local ruf = ins("Part",plat) |
355 | + | local rutj = rut.RootJoint |
356 | - | ruf.Anchored = true |
356 | + | local hum = char:FindFirstChildOfClass("Humanoid") |
357 | - | ruf.Material = plat.Material |
357 | + | |
358 | - | ruf.Color = plat.Color |
358 | + | local scr = Instance.new("ScreenGui",plrg) |
359 | - | ruf.Size = plat.Size |
359 | + | 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) |
360 | - | ruf.CFrame = plat.CFrame * cf(0,(.75*platformWidth)+plat.Size.y,0) |
360 | + | |
361 | - | local dp = ins("Part",plat) |
361 | + | |
362 | - | dp.Anchored = true |
362 | + | local brcf = rutj.C0 |
363 | - | dp.CanCollide = false |
363 | + | local trans = 1 |
364 | - | dp.Transparency = 1 |
364 | + | local trans1 = 0 |
365 | - | dp.Material = plat.Material |
365 | + | local intros = 1.1 |
366 | - | dp.Color = plat.Color |
366 | + | local intross = .6 |
367 | - | dp.Size = v3(1,.75,1)*platformWidth |
367 | + | local crnc = false |
368 | - | dp.CFrame = plat.CFrame * cf(0,(dp.Size.y/2)+(plat.Size.y/2),0) |
368 | + | local mcro = false |
369 | - | dp.Name = random(-999999,999999) |
369 | + | local ek = false |
370 | - | dp.Touched:Connect(function(hit) |
370 | + | local began = false |
371 | - | local hum = hit.Parent:FindFirstChildOfClass("Humanoid") |
371 | + | local using = false |
372 | - | if hum then |
372 | + | local deb = true |
373 | - | if hum.WalkSpeed >16 then |
373 | + | local deb1 = false |
374 | - | hum.Parent:BreakJoints() |
374 | + | local defc0 = {nec.C0,rutj.C0,rs.C0,ls.C0,rh.C0,lh.C0} |
375 | local defc1 = {nec.C1,rutj.C1,rs.C1,ls.C1,rh.C1,lh.C1} | |
376 | 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) | |
377 | 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) | |
378 | - | table.insert(hitboxparts,dp) |
378 | + | local punc = Instance.new("Sound",char) punc.Volume = 4 punc.SoundId = "rbxassetid://260430117" |
379 | - | local pil = ins("Part",plat) |
379 | + | local blob = Instance.new("Sound",workspace) blob.Volume = 4 blob.SoundId = "rbxassetid://264486467" |
380 | - | pil.Anchored = true |
380 | + | local ff = Instance.new("ForceField",char) ff.Visible = false |
381 | - | pil.Material = plat.Material |
381 | + | local hitb = Instance.new("Part",char) hitb.Size = Vector3.new(1.5,1.5,1.5) hitb.CanCollide = false hitb.Transparency = 1 |
382 | - | pil.Color = plat.Color |
382 | + | local weldo = Instance.new("Weld",hitb) weldo.Part0 = ra weldo.Part1 = hitb weldo.C0 = CFrame.new(0,-.5,0) |
383 | - | pil.Size = v3(.15,.75,.15)*platformWidth |
383 | + | local tlerp = function(inst,tablee,leinght,easingstyle,easingdirec) |
384 | - | pil.CFrame = plat.CFrame * cf(plat.Size.x/2-pil.Size.x/2,pil.Size.y/2+plat.Size.y/2,plat.Size.z/2-pil.Size.z/2) |
384 | + | local info = TweenInfo.new( |
385 | - | local pw = ins("Part",plat) |
385 | + | leinght, |
386 | - | pw.Anchored = true |
386 | + | easingstyle, |
387 | - | pw.Material = plat.Material |
387 | + | easingdirec, |
388 | - | pw.Color = plat.Color |
388 | + | 0, |
389 | - | pw.Size = v3(.15,.75,.2)*platformWidth |
389 | + | false, |
390 | - | pw.CFrame = pil.CFrame * cf(0,0,-pw.Size.z/2-pil.Size.z/2) |
390 | + | 0 |
391 | - | local pw = ins("Part",plat) |
391 | + | ) |
392 | - | pw.Anchored = true |
392 | + | local lerp = tweens:Create(inst,info,tablee) |
393 | - | pw.Material = plat.Material |
393 | + | lerp:Play() |
394 | - | pw.Color = plat.Color |
394 | + | |
395 | - | pw.Size = v3(.2,.75,.15)*platformWidth |
395 | + | function fling(hoo,direc,power) |
396 | - | pw.CFrame = pil.CFrame * cf(-pw.Size.x/2-pil.Size.x/2,0,0) |
396 | + | local endd = false |
397 | - | local pil = ins("Part",plat) |
397 | + | local vel = Instance.new("BodyVelocity",hoo) vel.MaxForce = Vector3.new(huge,huge,huge) vel.Velocity = direc * power |
398 | - | pil.Anchored = true |
398 | + | coroutine.resume(coroutine.create(function() |
399 | - | pil.Material = plat.Material |
399 | + | wait(1) |
400 | - | pil.Color = plat.Color |
400 | + | vel:Destroy() |
401 | - | pil.Size = v3(.15,.75,.15)*platformWidth |
401 | + | wait(1) |
402 | - | pil.CFrame = plat.CFrame * cf(-plat.Size.x/2+pil.Size.x/2,pil.Size.y/2+plat.Size.y/2,-plat.Size.z/2+pil.Size.z/2) |
402 | + | if not endd then |
403 | - | local pw = ins("Part",plat) |
403 | + | blob.TimePosition = .2 |
404 | - | pw.Anchored = true |
404 | + | blob:Play() |
405 | - | pw.Material = plat.Material |
405 | + | local expl = Instance.new("Explosion",workspace) expl.Position = hoo.Position |
406 | - | pw.Color = plat.Color |
406 | + | hoo.Parent:BreakJoints() |
407 | - | pw.Size = v3(.15,.75,.2)*platformWidth |
407 | + | |
408 | - | pw.CFrame = pil.CFrame * cf(0,0,pw.Size.z/2+pil.Size.z/2) |
408 | + | end)) |
409 | - | local pw = ins("Part",plat) |
409 | + | |
410 | - | pw.Anchored = true |
410 | + | hoo.Touched:connect(function(hit) |
411 | - | pw.Material = plat.Material |
411 | + | if not endd and hit.Parent ~= hoo.Parent and hit.Parent ~= char and hit.Name ~= "SuperFireEEE" then |
412 | - | pw.Color = plat.Color |
412 | + | endd = true |
413 | - | pw.Size = v3(.2,.75,.15)*platformWidth |
413 | + | vel:Destroy() |
414 | - | pw.CFrame = pil.CFrame * cf(pw.Size.x/2+pil.Size.x/2,0,0) |
414 | + | blob.TimePosition = .2 |
415 | - | local pil = ins("Part",plat) |
415 | + | blob:Play() |
416 | - | pil.Anchored = true |
416 | + | local expl = Instance.new("Explosion",workspace) expl.Position = hoo.Position |
417 | - | pil.Material = plat.Material |
417 | + | hoo.Parent:BreakJoints() |
418 | - | pil.Color = plat.Color |
418 | + | |
419 | - | pil.Size = v3(.15,.75,.15)*platformWidth |
419 | + | |
420 | - | pil.CFrame = plat.CFrame * cf(-plat.Size.x/2+pil.Size.x/2,pil.Size.y/2+plat.Size.y/2,plat.Size.z/2-pil.Size.z/2) |
420 | + | |
421 | - | local pw = ins("Part",plat) |
421 | + | hitb.Touched:connect(function(hit) |
422 | - | pw.Anchored = true |
422 | + | if not deb and hit.Parent ~= char then |
423 | - | pw.Material = plat.Material |
423 | + | 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 |
424 | - | pw.Color = plat.Color |
424 | + | |
425 | - | pw.Size = v3(.15,.75,.2)*platformWidth |
425 | + | punc:Play() |
426 | - | pw.CFrame = pil.CFrame * cf(0,0,-pw.Size.z/2-pil.Size.z/2) |
426 | + | hit.Parent:FindFirstChildOfClass("Humanoid").PlatformStand = true |
427 | - | local pw = ins("Part",plat) |
427 | + | local t = hit.Parent:FindFirstChild("Torso") or hit.Parent:FindFirstChild("UpperTorso") |
428 | - | pw.Anchored = true |
428 | + | local cf = CFrame.new(t.Position,mouse.Hit.p) |
429 | - | pw.Material = plat.Material |
429 | + | for i = 1,math.random(3,5) do |
430 | - | pw.Color = plat.Color |
430 | + | 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) |
431 | - | pw.Size = v3(.2,.75,.15)*platformWidth |
431 | + | |
432 | - | pw.CFrame = pil.CFrame * cf(pw.Size.x/2+pil.Size.x/2,0,0) |
432 | + | fling(t,cf.lookVector,400) |
433 | - | local pil = ins("Part",plat) |
433 | + | |
434 | - | pil.Anchored = true |
434 | + | |
435 | - | pil.Material = plat.Material |
435 | + | |
436 | - | pil.Color = plat.Color |
436 | + | function fire(partp,parent,color1,color2,ssize,osize,leinght,material,minr,maxr,shape,spread,st,ot,onlyraise) |
437 | - | pil.Size = v3(.15,.75,.15)*platformWidth |
437 | + | 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)) |
438 | - | pil.CFrame = plat.CFrame * cf(plat.Size.x/2-pil.Size.x/2,pil.Size.y/2+plat.Size.y/2,-plat.Size.z/2+pil.Size.z/2) |
438 | + | |
439 | - | local pw = ins("Part",plat) |
439 | + | part.CFrame = CFrame.new(part.CFrame.p,Vector3.new(nil,part.CFrame.y,part.CFrame.z)) |
440 | - | pw.Anchored = true |
440 | + | else |
441 | - | pw.Material = plat.Material |
441 | + | |
442 | - | pw.Color = plat.Color |
442 | + | |
443 | - | pw.Size = v3(.15,.75,.2)*platformWidth |
443 | + | local pcf = part.CFrame |
444 | - | pw.CFrame = pil.CFrame * cf(0,0,pw.Size.z/2+pil.Size.z/2) |
444 | + | |
445 | - | local pw = ins("Part",plat) |
445 | + | game:GetService("Debris"):AddItem(part,leinght) |
446 | - | pw.Anchored = true |
446 | + | |
447 | - | pw.Material = plat.Material |
447 | + | function PlusUltra() |
448 | - | pw.Color = plat.Color |
448 | + | using = true |
449 | - | pw.Size = v3(.2,.75,.15)*platformWidth |
449 | + | rw.Part1 = t lw.Part1 = t |
450 | - | pw.CFrame = pil.CFrame * cf(-pw.Size.x/2-pil.Size.x/2,0,0) |
450 | + | local tiem = .6 |
451 | - | start = false |
451 | + | tlerp(rutj,{C0 = defc0[2] * CFrame.Angles(rad(-10),rad(0),rad(-30))},tiem,Enum.EasingStyle.Quint,Enum.EasingDirection.InOut) |
452 | - | endd = false |
452 | + | tlerp(nec,{C0 = defc0[1] * CFrame.Angles(rad(10),rad(0),rad(30))},tiem,Enum.EasingStyle.Quint,Enum.EasingDirection.InOut) |
453 | - | return cfs,plat |
453 | + | tlerp(rw,{C0 = CFrame.new(0,.2,-.3) * CFrame.Angles(rad(-110),rad(20),rad(0))},tiem,Enum.EasingStyle.Quint,Enum.EasingDirection.InOut) |
454 | 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) | |
455 | - | function gen() |
455 | + | tlerp(rh,{C0 = defc0[5] * CFrame.Angles(rad(-5),rad(10),rad(-10))},tiem,Enum.EasingStyle.Quint,Enum.EasingDirection.InOut) |
456 | - | hitboxparts = {} |
456 | + | tlerp(lh,{C0 = defc0[6] * CFrame.Angles(rad(-5),rad(10),rad(10))},tiem,Enum.EasingStyle.Quint,Enum.EasingDirection.InOut) |
457 | - | start = true |
457 | + | wait(tiem) |
458 | - | mod:ClearAllChildren() |
458 | + | coroutine.resume(coroutine.create(function() |
459 | - | local cfs,plat = createPlatform(cfpos) |
459 | + | for i = 1,7 do |
460 | - | local b = ins("Part",mod) |
460 | + | 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) |
461 | - | b.Anchored = true |
461 | + | wait(.06) |
462 | - | b.CanCollide = false |
462 | + | |
463 | - | b.Material = "Neon" |
463 | + | end)) |
464 | - | b.BrickColor = bc("CGA brown") |
464 | + | deb = false |
465 | - | b.Size = v3(3,.5,3) |
465 | + | tiem = .3 |
466 | - | b.CFrame = bcf |
466 | + | tlerp(rutj,{C0 = defc0[2] * CFrame.Angles(rad(10),rad(0),rad(60))},tiem,Enum.EasingStyle.Quint,Enum.EasingDirection.InOut) |
467 | - | b.Transparency = .35 |
467 | + | tlerp(nec,{C0 = defc0[1] * CFrame.Angles(rad(-10),rad(0),rad(-60))},tiem,Enum.EasingStyle.Quint,Enum.EasingDirection.InOut) |
468 | - | b.Touched:Connect(function(hit) |
468 | + | tlerp(rw,{C0 = CFrame.new(0,.8,-.3) * CFrame.Angles(rad(-115),rad(40),rad(20))},tiem,Enum.EasingStyle.Quint,Enum.EasingDirection.InOut) |
469 | - | local hum = hit.Parent:FindFirstChildOfClass("Humanoid") |
469 | + | 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) |
470 | - | if hum then |
470 | + | tlerp(rh,{C0 = defc0[5] * CFrame.Angles(rad(-5),rad(10),rad(10))},tiem,Enum.EasingStyle.Quint,Enum.EasingDirection.InOut) |
471 | - | local rut = hum.Parent:FindFirstChild("HumanoidRootPart") |
471 | + | tlerp(lh,{C0 = defc0[6] * CFrame.Angles(rad(-5),rad(10),rad(-10))},tiem,Enum.EasingStyle.Quint,Enum.EasingDirection.InOut) |
472 | - | if rut then |
472 | + | wait(tiem) |
473 | - | rut.CFrame = startp.CFrame * cf(0,3,0) |
473 | + | deb = true |
474 | tiem = .7 | |
475 | tlerp(rutj,{C0 = defc0[2]},tiem,Enum.EasingStyle.Quint,Enum.EasingDirection.InOut) | |
476 | tlerp(nec,{C0 = defc0[1]},tiem,Enum.EasingStyle.Quint,Enum.EasingDirection.InOut) | |
477 | - | startp = plat |
477 | + | tlerp(rw,{C0 = CFrame.new(0,.5,0)},tiem,Enum.EasingStyle.Quint,Enum.EasingDirection.InOut) |
478 | - | local curcf = cfpos |
478 | + | tlerp(lw,{C0 = CFrame.new(0,.5,0)},tiem,Enum.EasingStyle.Quint,Enum.EasingDirection.InOut) |
479 | - | local oldcf = curcf |
479 | + | tlerp(rh,{C0 = defc0[5]},tiem,Enum.EasingStyle.Quint,Enum.EasingDirection.InOut) |
480 | - | local endnum |
480 | + | tlerp(lh,{C0 = defc0[6]},tiem,Enum.EasingStyle.Quint,Enum.EasingDirection.InOut) |
481 | - | local plats = {} |
481 | + | wait(tiem) |
482 | - | table.insert(plats,plat) |
482 | + | using = false |
483 | - | local num = random(20,26) |
483 | + | rw.Part1 = nil lw.Part1 = nil |
484 | - | for i = 1,num do |
484 | + | |
485 | - | endnum = i |
485 | + | mouse.KeyDown:connect(function(key) |
486 | - | if i == num then |
486 | + | if key == "e" and not using then |
487 | - | endd = true |
487 | + | PlusUltra() |
488 | end | |
489 | - | curcf = cfs[random(1,#cfs)] |
489 | + | if key == "t" and hitb.Transparency == 1 then |
490 | - | for i,v in pairs(plats) do |
490 | + | hitb.Transparency = 0 |
491 | - | if (v3(curcf.x,curcf.y,curcf.z)-v.Position).Magnitude <platformWidth then |
491 | + | elseif key == "t" and hitb.Transparency == 0 then |
492 | - | repeat |
492 | + | hitb.Transparency = 1 |
493 | - | curcf = cfs[random(1,#cfs)] |
493 | + | |
494 | - | until (v3(curcf.x,curcf.y,curcf.z)-v.Position).Magnitude > (platformWidth)-platformWidth/10 |
494 | + | end) |