SHOW:
|
|
- or go back to the newest paste.
1 | --https://github.com/Mokiros/roblox-FE-compatibility | |
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 RealPlayer = Player | |
5 | do | |
6 | print("FE Compatibility code V2 by Mokiros") | |
7 | local RealPlayer = RealPlayer | |
8 | script.Parent = RealPlayer.Character | |
9 | ||
10 | --Fake event to make stuff like Mouse.KeyDown work | |
11 | local Disconnect_Function = function(this) | |
12 | this[1].Functions[this[2]] = nil | |
13 | end | |
14 | local Disconnect_Metatable = {__index={disconnect=Disconnect_Function,Disconnect=Disconnect_Function}} | |
15 | local FakeEvent_Metatable = {__index={ | |
16 | Connect = function(this,f) | |
17 | local i = tostring(math.random(0,10000)) | |
18 | while this.Functions[i] do | |
19 | i = tostring(math.random(0,10000)) | |
20 | end | |
21 | this.Functions[i] = f | |
22 | - | local lp = game.Players.LocalPlayer |
22 | + | return setmetatable({this,i},Disconnect_Metatable) |
23 | end | |
24 | }} | |
25 | FakeEvent_Metatable.__index.connect = FakeEvent_Metatable.__index.Connect | |
26 | local function fakeEvent() | |
27 | return setmetatable({Functions={}},FakeEvent_Metatable) | |
28 | end | |
29 | ||
30 | --Creating fake input objects with fake variables | |
31 | local FakeMouse = {Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent(),Button2Up=fakeEvent(),Button2Down=fakeEvent()} | |
32 | FakeMouse.keyUp = FakeMouse.KeyUp | |
33 | FakeMouse.keyDown = FakeMouse.KeyDown | |
34 | local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()} | |
35 | local CAS = {Actions={},BindAction=function(self,name,fun,touch,...) | |
36 | CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil | |
37 | end} | |
38 | --Merged 2 functions into one by checking amount of arguments | |
39 | CAS.UnbindAction = CAS.BindAction | |
40 | ||
41 | --This function will trigger the events that have been :Connect()'ed | |
42 | local function TriggerEvent(self,ev,...) | |
43 | for _,f in pairs(self[ev].Functions) do | |
44 | f(...) | |
45 | end | |
46 | end | |
47 | FakeMouse.TriggerEvent = TriggerEvent | |
48 | UIS.TriggerEvent = TriggerEvent | |
49 | ||
50 | --Client communication | |
51 | local Event = Instance.new("RemoteEvent") | |
52 | Event.Name = "UserInput_Event" | |
53 | Event.OnServerEvent:Connect(function(plr,io) | |
54 | if plr~=RealPlayer then return end | |
55 | FakeMouse.Target = io.Target | |
56 | FakeMouse.Hit = io.Hit | |
57 | if not io.isMouse then | |
58 | local b = io.UserInputState == Enum.UserInputState.Begin | |
59 | if io.UserInputType == Enum.UserInputType.MouseButton1 then | |
60 | return FakeMouse:TriggerEvent(b and "Button1Down" or "Button1Up") | |
61 | end | |
62 | if io.UserInputType == Enum.UserInputType.MouseButton2 then | |
63 | return FakeMouse:TriggerEvent(b and "Button2Down" or "Button2Up") | |
64 | end | |
65 | for _,t in pairs(CAS.Actions) do | |
66 | for _,k in pairs(t.Keys) do | |
67 | if k==io.KeyCode then | |
68 | t.Function(t.Name,io.UserInputState,io) | |
69 | end | |
70 | end | |
71 | end | |
72 | FakeMouse:TriggerEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower()) | |
73 | UIS:TriggerEvent(b and "InputBegan" or "InputEnded",io,false) | |
74 | end | |
75 | end) | |
76 | Event.Parent = NLS([==[local Event = script:WaitForChild("UserInput_Event") | |
77 | local Mouse = owner:GetMouse() | |
78 | local UIS = game:GetService("UserInputService") | |
79 | local input = function(io,RobloxHandled) | |
80 | if RobloxHandled then return end | |
81 | --Since InputObject is a client-side instance, we create and pass table instead | |
82 | Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState,Hit=Mouse.Hit,Target=Mouse.Target}) | |
83 | end | |
84 | UIS.InputBegan:Connect(input) | |
85 | UIS.InputEnded:Connect(input) | |
86 | ||
87 | local h,t | |
88 | --Give the server mouse data every second frame, but only if the values changed | |
89 | --If player is not moving their mouse, client won't fire events | |
90 | local HB = game:GetService("RunService").Heartbeat | |
91 | while true do | |
92 | if h~=Mouse.Hit or t~=Mouse.Target then | |
93 | h,t=Mouse.Hit,Mouse.Target | |
94 | Event:FireServer({isMouse=true,Target=t,Hit=h}) | |
95 | end | |
96 | --Wait 2 frames | |
97 | for i=1,2 do | |
98 | HB:Wait() | |
99 | end | |
100 | end]==],script) | |
101 | ||
102 | ----Sandboxed game object that allows the usage of client-side methods and services | |
103 | --Real game object | |
104 | local RealGame = game | |
105 | ||
106 | --Metatable for fake service | |
107 | local FakeService_Metatable = { | |
108 | __index = function(self,k) | |
109 | local s = rawget(self,"_RealService") | |
110 | if s then | |
111 | return typeof(s[k])=="function" | |
112 | and function(_,...)return s[k](s,...)end or s[k] | |
113 | end | |
114 | end, | |
115 | __newindex = function(self,k,v) | |
116 | local s = rawget(self,"_RealService") | |
117 | if s then s[k]=v end | |
118 | end | |
119 | } | |
120 | local function FakeService(t,RealService) | |
121 | t._RealService = typeof(RealService)=="string" and RealGame:GetService(RealService) or RealService | |
122 | return setmetatable(t,FakeService_Metatable) | |
123 | end | |
124 | ||
125 | --Fake game object | |
126 | local FakeGame = { | |
127 | GetService = function(self,s) | |
128 | return rawget(self,s) or RealGame:GetService(s) | |
129 | end, | |
130 | Players = FakeService({ | |
131 | LocalPlayer = FakeService({GetMouse=function(self)return FakeMouse end},Player) | |
132 | },"Players"), | |
133 | UserInputService = FakeService(UIS,"UserInputService"), | |
134 | ContextActionService = FakeService(CAS,"ContextActionService"), | |
135 | RunService = FakeService({ | |
136 | _btrs = {}, | |
137 | RenderStepped = RealGame:GetService("RunService").Heartbeat, | |
138 | BindToRenderStep = function(self,name,_,fun) | |
139 | self._btrs[name] = self.Heartbeat:Connect(fun) | |
140 | end, | |
141 | UnbindFromRenderStep = function(self,name) | |
142 | self._btrs[name]:Disconnect() | |
143 | end, | |
144 | },"RunService") | |
145 | } | |
146 | rawset(FakeGame.Players,"localPlayer",FakeGame.Players.LocalPlayer) | |
147 | FakeGame.service = FakeGame.GetService | |
148 | FakeService(FakeGame,game) | |
149 | --Changing owner to fake player object to support owner:GetMouse() | |
150 | game,owner = FakeGame,FakeGame.Players.LocalPlayer | |
151 | end | |
152 | ||
153 | ------------------ | |
154 | --Suck Suck Suck-- | |
155 | ------------------ | |
156 | --[[ | |
157 | JarLore V 5.2 | |
158 | LocalScript based admin | |
159 | Made by jarredbcv | |
160 | ||
161 | Originally made to rek oxcool1's sb | |
162 | but, I just get banned anywho.. :( | |
163 | ||
164 | ~ChangeLogs~ | |
165 | ;Added anti remove | |
166 | ;Added mode 1,2,3,4,5,6 | |
167 | ;Added Gui for admin control | |
168 | ;Added notifications | |
169 | ]]-- | |
170 | version = 5.2 | |
171 | wait(.1) | |
172 | script.Parent=nil | |
173 | local lp = owner | |
174 | local pt = {} | |
175 | local pt2 = {} | |
176 | local pt3 = {} | |
177 | local rad = math.rad | |
178 | local pi = math.pi | |
179 | local cf = CFrame.new | |
180 | local ca = CFrame.Angles | |
181 | local mr = math.random | |
182 | local count = 0 | |
183 | local bcount = 0 | |
184 | local mode = "origin" | |
185 | local bc = BrickColor.new | |
186 | local slct = 0 | |
187 | local speed = 1 | |
188 | local guit = {} | |
189 | local send = cf() | |
190 | local as = 4 | |
191 | local events = {} | |
192 | local fragdeb = false | |
193 | local ignore = {} | |
194 | local armloop = false | |
195 | local grab = nil | |
196 | local gdist = -5 | |
197 | local tim = 0 | |
198 | local c2timer = 0 | |
199 | local banned = {} | |
200 | local cmds = {} | |
201 | local clogs = {} | |
202 | local bet = "!" | |
203 | ||
204 | --[["The best ever!"]]-- | |
205 | ||
206 | local lerp = function(a,b,c) | |
207 | return a+(b-a)*c | |
208 | end | |
209 | ||
210 | local clerp = function(c1,c2,t) | |
211 | return c1:lerp(c2,t) | |
212 | end | |
213 | ||
214 | local ClrLerp = function(Mesh,Clr2,Step) | |
215 | Clr1 = Mesh.VertexColor | |
216 | Mesh.VertexColor = Vector3.new(lerp(Clr1.X,Clr2.X,Step),lerp(Clr1.Y,Clr2.Y,Step),lerp(Clr1.Z,Clr2.Z,Step)) | |
217 | end | |
218 | ||
219 | local GetDiscoColor = function(hue) | |
220 | local section = hue % 1 * 3 | |
221 | local secondary = 0.5 * math.pi * (section % 1) | |
222 | if section < 1 then | |
223 | return Vector3.new(1, 1 - math.cos(secondary), 1 - math.sin(secondary)) | |
224 | elseif section < 2 then | |
225 | return Vector3.new(1 - math.sin(secondary), 1, 1 - math.cos(secondary)) | |
226 | else | |
227 | return Vector3.new(1 - math.cos(secondary), 1 - math.sin(secondary), 1) | |
228 | end | |
229 | end | |
230 | ||
231 | local new = function(Object, Parent, Data) | |
232 | local Object = Instance.new(Object) | |
233 | for Index, Value in pairs(Data or {}) do | |
234 | Object[Index] = Value | |
235 | end | |
236 | Object.Parent = Parent | |
237 | return Object | |
238 | end | |
239 | ||
240 | local intable = function(tab, obj) | |
241 | for _, v in ipairs(tab) do | |
242 | if v == obj then | |
243 | return _ | |
244 | end | |
245 | end | |
246 | return 0 | |
247 | end | |
248 | ||
249 | local so = function(id,par,lo,pi,tm) | |
250 | Spawn(function() | |
251 | local s = new("Sound",par,{Looped=lo;Pitch=pi;SoundId = "http://roblox.com/asset/?id="..id}) | |
252 | wait() -- tnx anti | |
253 | s:play() | |
254 | s.Volume=.8 | |
255 | game.Debris:AddItem(s,tm) | |
256 | end) | |
257 | return s | |
258 | end | |
259 | ||
260 | local Lightning = function(Start,End,Times,Offset,Color,Thickness) | |
261 | local magz = (Start - End).magnitude | |
262 | local curpos = Start | |
263 | local trz = {-Offset,Offset} | |
264 | for i=1,Times do | |
265 | local li = new("Part",workspace,{Size=Vector3.new(Thickness,Thickness,magz/Times);BrickColor=bc('White');CanCollide=false;Anchored=true}) | |
266 | local m = new("SpecialMesh",li,{MeshId='rbxassetid://9856898';Scale=Vector3.new(Thickness*2,Thickness*2,magz/Times*2);TextureId='http://www.roblox.com/asset/?id=55687933';VertexColor = Color}) | |
267 | local ofz = Vector3.new(trz[math.random(1,2)],trz[math.random(1,2)],trz[math.random(1,2)]) | |
268 | local trolpos = cf(curpos,End)*cf(0,0,magz/Times).p+ofz | |
269 | if Times == i then | |
270 | local magz2 = (curpos - End).magnitude li.Size = Vector3.new(Thickness,Thickness,magz2) | |
271 | li.CFrame = cf(curpos,End)*cf(0,0,-magz2/2) | |
272 | else | |
273 | li.CFrame = cf(curpos,trolpos)*cf(0,0,magz/Times/2) | |
274 | end | |
275 | curpos = li.CFrame*cf(0,0,magz/Times/2).p | |
276 | game.Debris:AddItem(li,.3) | |
277 | Spawn(function() | |
278 | for i=1,10 do | |
279 | game:service"RunService".RenderStepped:wait() | |
280 | li.Transparency = li.Transparency+.1 | |
281 | end | |
282 | li:Destroy() | |
283 | end) | |
284 | end | |
285 | end | |
286 | ||
287 | local explosion = function(col1,col2,cfr,sz,rng) | |
288 | local a = new("Part",workspace,{Size=Vector3.new(1,1,1);CanCollide=false;Anchored=true}) | |
289 | local a2 = new("Part",workspace,{Size=Vector3.new(1,1,1);CanCollide=false;Anchored=true}) | |
290 | local a3 = new("Part",workspace,{Size=Vector3.new(1,1,1);CanCollide=false;Anchored=true}) | |
291 | v1,v2,v3=sz.x,sz.y,sz.z | |
292 | local m = new("SpecialMesh",a,{MeshId='rbxassetid://1185246';Scale=Vector3.new(v1,v2,v3);TextureId='http://www.roblox.com/asset/?id=55687933';VertexColor = col1}) | |
293 | local m2 = new("SpecialMesh",a2,{MeshId='rbxassetid://9856898';Scale=Vector3.new(v1/3*2,v2/3*2,v3/3*2);TextureId='http://www.roblox.com/asset/?id=55687933';VertexColor = col2}) | |
294 | local m3 = new("SpecialMesh",a3,{MeshId='rbxassetid://9856898';Scale=Vector3.new(v1/3*2,v2/3*2,v3/3*2);TextureId='http://www.roblox.com/asset/?id=55687933';VertexColor = col2}) | |
295 | a.CFrame=cfr | |
296 | a2.CFrame=cfr*CFrame.Angles(math.random(),math.random(),math.random()) | |
297 | a3.CFrame=cfr*CFrame.Angles(math.random(),math.random(),math.random()) | |
298 | for i,v in pairs(workspace:children()) do | |
299 | if v:IsA("Model") and v:findFirstChild("Humanoid") then | |
300 | if v:findFirstChild("Head") and v:findFirstChild("Torso") then | |
301 | if (v:findFirstChild("Torso").Position - a.Position).magnitude < rng and v.Name ~= lp.Character.Name then | |
302 | v:BreakJoints() | |
303 | end | |
304 | end | |
305 | end | |
306 | end | |
307 | game.Debris:AddItem(a,.6) | |
308 | game.Debris:AddItem(a2,.6) | |
309 | game.Debris:AddItem(a3,.6) | |
310 | Spawn(function() | |
311 | while true do | |
312 | game:service"RunService".RenderStepped:wait() | |
313 | if a.Transparency >= 1 then a:Destroy() a2:Destroy() a3:Destroy() break end | |
314 | m.Scale=m.Scale+Vector3.new(.1,0.1,0.1) | |
315 | m2.Scale=m2.Scale+Vector3.new(.1,0.1,0.1) | |
316 | m3.Scale=m3.Scale+Vector3.new(.1,0.1,0.1) | |
317 | a2.CFrame=a2.CFrame*CFrame.Angles(math.rad(2),math.rad(2),math.rad(2)) | |
318 | a3.CFrame=a3.CFrame*CFrame.Angles(-math.rad(2),-math.rad(2),-math.rad(2)) | |
319 | a.Transparency=a.Transparency+0.05 | |
320 | a2.Transparency=a2.Transparency+0.05 | |
321 | a3.Transparency=a3.Transparency+0.05 | |
322 | end | |
323 | end) | |
324 | end | |
325 | ||
326 | local frag = function(hit) | |
327 | local t = {} | |
328 | local A = {-1, 1} | |
329 | if hit.Name ~= "Base" and hit.Name ~= "adpart" and hit.Parent ~= lp.Character and hit.Parent.Parent ~= lp.Character and fragdeb ~= true then | |
330 | so("201858024",ch.Torso,false,math.random(7,11)/10,4) | |
331 | fragdeb = true | |
332 | hit:BreakJoints() | |
333 | local X, Y, Z = 0, 0, 0 | |
334 | for x = 1, 2 do | |
335 | if hit.Size.X > 1 then | |
336 | X = hit.Size.X/2 | |
337 | end | |
338 | for y = 1, 2 do | |
339 | if hit.Size.Y > 1 then | |
340 | Y = hit.Size.Y/2 | |
341 | end | |
342 | for z = 1, 2 do | |
343 | if hit.Size.Z > 1 then | |
344 | Z = hit.Size.Z/2 | |
345 | end | |
346 | local obj = Vector3.new(X*A[x],Y*A[y],Z*A[z]) | |
347 | if intable(t, obj) == 0 and (X ~= 0 or Y ~= 0) and (X ~= 0 or Z ~= 0) and (Y ~= 0 or Z ~= 0) then | |
348 | table.insert(t, obj) | |
349 | end | |
350 | end | |
351 | end | |
352 | end | |
353 | if #t > 0 then | |
354 | local h = hit:clone() | |
355 | local par = hit.Parent | |
356 | hit:Destroy() | |
357 | hit = h:clone() | |
358 | for _, v in ipairs(t) do | |
359 | local n = hit:clone() | |
360 | --n.FormFactor = "Custom" | |
361 | n.Size = hit.Size/2 | |
362 | local x,y,z = hit.CFrame:toEulerAnglesXYZ() | |
363 | n.CFrame = CFrame.new(v/2)*CFrame.Angles(x,y,z) +hit.Position | |
364 | n.Rotation = hit.Rotation | |
365 | n.Velocity = Vector3.new(0,0,0) | |
366 | n.RotVelocity = Vector3.new(0,0,0) | |
367 | n.Parent = par | |
368 | if n.Size.X <= 1 or n.Size.Z <= 1 then n.Anchored = false;n:BreakJoints();n.Velocity=Vector3.new(math.random(-10,10),math.random(-10,10),math.random(-10,10)) spawn(function() for i=1,10 do wait() n.Transparency=n.Transparency+.1 end n:Destroy() end) end | |
369 | n:BreakJoints() | |
370 | end | |
371 | end | |
372 | end | |
373 | wait() | |
374 | fragdeb = false | |
375 | end | |
376 | ||
377 | local notif = function(txt) | |
378 | for i,v in pairs(guit) do | |
379 | v.Position = v.Position - UDim2.new(0,0,0.03,0) | |
380 | end | |
381 | local notif = new("TextLabel",notificationbin,{TextWrapped = true;TextStrokeTransparency = 0;BorderSizePixel = 2;TextScaled = true;BackgroundColor3 = Color3.new(0, 0, 0);BackgroundTransparency = 0.5;Size = UDim2.new(0.2, 0, 0.02, 0);TextColor3 = Color3.new(1, 1, 1);BorderColor3 = Color3.new(1, 1, 1);Text = "{Notification}:"..txt;Position = UDim2.new(0.395, 0, 0.942, 0);TextXAlignment = Enum.TextXAlignment.Left}) | |
382 | so("205318910",lp.PlayerGui,false,1) | |
383 | table.insert(guit,notif) | |
384 | spawn(function() wait(5) | |
385 | for i=1,20 do wait() | |
386 | notif.BackgroundTransparency = notif.BackgroundTransparency +.05 | |
387 | notif.TextTransparency = notif.TextTransparency +.05 | |
388 | notif.TextStrokeTransparency = notif.TextStrokeTransparency +.05 | |
389 | end | |
390 | notif:Destroy() | |
391 | table.remove(guit,1) | |
392 | end) | |
393 | end | |
394 | ||
395 | local makeg = function() | |
396 | local jlgui = new("ScreenGui",lp.PlayerGui,{Name="JL_gui"}) | |
397 | local frame = new("Frame",jlgui,{Size = UDim2.new(0.2, 0, 0.025, 0);BorderColor3 = Color3.new(1, 1, 1);Position = UDim2.new(0.395, 0, 0.97, 0);BorderSizePixel = 2;BackgroundTransparency = 0.5;BackgroundColor3 = Color3.new(0, 0, 0)}) | |
398 | local textlabel = new("TextLabel",frame,{TextStrokeTransparency = 0;BorderSizePixel = 0;BackgroundColor3 = Color3.new(0, 0, 0);BackgroundTransparency = 0.9;Size = UDim2.new(0.2, 0, 1, 0);TextColor3 = Color3.new(1, 1, 1);Text = "Execute >";TextXAlignment = Enum.TextXAlignment.Right}) | |
399 | textbox = new("TextBox",frame,{TextStrokeTransparency = 0;BackgroundColor3 = Color3.new(0, 0, 0);Position = UDim2.new(0.201, 0, 0, 0);Size = UDim2.new(0.785, 0, 1, 0);BackgroundTransparency = 0.9;Text = "Press [R-CTRL] to focus";TextColor3 = Color3.new(1, 1, 1);TextXAlignment = Enum.TextXAlignment.Left}) | |
400 | local frame_2 = new("Frame",frame,{Size = UDim2.new(0.2, 0, 1, 0);BorderColor3 = Color3.new(1, 1, 1);Position = UDim2.new(1.02, 0, 0, 0);BorderSizePixel = 2;BackgroundTransparency = 0.5;BackgroundColor3 = Color3.new(0, 0, 0)}) | |
401 | textlabel_2 = new("TextLabel",frame_2,{TextStrokeTransparency = 0;BorderSizePixel = 0;BackgroundColor3 = Color3.new(0, 0, 0);BackgroundTransparency = 0.9;Size = UDim2.new(1, 0, 1, 0);TextColor3 = Color3.new(1, 1, 1);BorderColor3 = Color3.new(0, 0, 0);Text = "FPS:n/a"}) | |
402 | local frame_3 = new("Frame",frame,{Size = UDim2.new(0.2, 0, 1, 0);BorderColor3 = Color3.new(1, 1, 1);Position = UDim2.new(-.222, 0, 0, 0);BorderSizePixel = 2;BackgroundTransparency = 0.5;BackgroundColor3 = Color3.new(0, 0, 0)}) | |
403 | local textlabel_3 = new("TextLabel",frame_3,{TextStrokeTransparency = 0;BorderSizePixel = 0;BackgroundColor3 = Color3.new(0, 0, 0);BackgroundTransparency = 0.9;Size = UDim2.new(1, 0, 1, 0);TextColor3 = Color3.new(1, 1, 1);BorderColor3 = Color3.new(0, 0, 0);Text = "JarLore V"..version}) | |
404 | notificationbin = Instance.new("Folder", jlgui,{Name="Notification_bin"}) | |
405 | listbin = Instance.new("Folder", jlgui,{Name="List_bin"}) | |
406 | textbox.FocusLost:connect(function() | |
407 | local msg = textbox.Text | |
408 | local usedACommand=false | |
409 | for i,v in pairs(cmds) do | |
410 | if msg:lower():match(bet..v.Usage:lower()..'% ?') and usedACommand==false then | |
411 | usedACommand=true | |
412 | local Run, Error = ypcall(function() | |
413 | spawn(function() | |
414 | v.Function(lp.Name,msg:lower():match(bet..v.Usage:lower()..'%>?(.+)')or'') | |
415 | end) | |
416 | end) | |
417 | if Error then | |
418 | notif(Error) | |
419 | end | |
420 | end | |
421 | end | |
422 | textbox.Text = "Press [R-CTRL] to focus" | |
423 | end) | |
424 | end | |
425 | ||
426 | local makelist = function(na,list) | |
427 | local pos = -7 | |
428 | local frame = new("Frame", listbin,{Size = UDim2.new(0.15, 0, 0.25, 0);BorderColor3 = Color3.new(1, 1, 1);Position = UDim2.new(0.65, 0, 0.745, 0);BorderSizePixel = 2;BackgroundTransparency = 0.5;BackgroundColor3 = Color3.new(0, 0, 0)}) | |
429 | local textlabel = new("TextBox", frame,{TextStrokeTransparency = 0;BorderSizePixel = 2;BackgroundColor3 = Color3.new(0, 0, 0);Position = UDim2.new(0.01, 0, 0.005, 0);Size = UDim2.new(0.8, 0, 0.1, 0);BackgroundTransparency = 0.9;BorderColor3 = Color3.new(1, 1, 1);TextColor3 = Color3.new(1, 1, 1);Text=na}) | |
430 | local scrollingframe = new("ScrollingFrame", frame,{Size = UDim2.new(1, 0, 0.87, 0);CanvasSize=UDim2.new(0,0,0,0);MidImage = "rbxassetid://65372937";BorderColor3 = Color3.new(1, 1, 1);ScrollBarThickness = 7;TopImage = "rbxassetid://65372937";Position = UDim2.new(0, 0, 0.125, 0);BottomImage = "rbxassetid://65372937";BackgroundTransparency = 0.9;BackgroundColor3 = Color3.new(0, 0, 0)}) | |
431 | local textbutton = new("TextButton", frame,{TextStrokeTransparency = 0;BorderSizePixel = 2;BackgroundColor3 = Color3.new(0, 0, 0);BackgroundTransparency = 0.9;Size = UDim2.new(0.16, 0, 0.1, 0);Position = UDim2.new(0.83, 0, 0.005, 0);BorderColor3 = Color3.new(1, 1, 1);Text = "X";TextColor3 = Color3.new(1, 1, 1)}) | |
432 | for i,v in pairs(list) do | |
433 | local textlabel2 = new("TextLabel", scrollingframe,{TextStrokeTransparency = 0;BorderSizePixel = 0;BackgroundColor3 = Color3.new(0, 0, 0);BackgroundTransparency = 0.9;Size = UDim2.new(1, 0, 0, 20);TextColor3 = Color3.new(1, 1, 1);TextXAlignment = Enum.TextXAlignment.Left;Text=v}) | |
434 | textlabel2.Position = UDim2.new(0,0,0,pos+7) | |
435 | pos = pos + 25 | |
436 | scrollingframe.CanvasSize = UDim2.new(0,0,0,pos+15) | |
437 | end | |
438 | textbutton.MouseButton1Click:connect(function() | |
439 | frame:Destroy() | |
440 | end) | |
441 | end | |
442 | ||
443 | local efx = function(part) | |
444 | if not part then return end | |
445 | local Num = 0 | |
446 | local efxs = {} | |
447 | for i = 1,6 do | |
448 | local p = new("Part",workspace,{Size=Vector3.new(1,1,1);CanCollide=false;Anchored=true;CFrame=part.CFrame}) | |
449 | local msh = new("SpecialMesh",p,{Scale=Vector3.new(1.55,.5,.5);MeshId='rbxassetid://9756362';TextureId='rbxassetid://25701026';VertexColor=GetDiscoColor(i/10)}) | |
450 | table.insert(efxs,p) | |
451 | local p=new("Part",workspace,{Size=Vector3.new(1,1,1);CanCollide=false;Anchored=true;CFrame=part.CFrame}) | |
452 | msh=new("SpecialMesh",p,{Scale=Vector3.new(1.2,.5,.5);MeshId='rbxassetid://9756362';TextureId='rbxassetid://25701026';VertexColor=GetDiscoColor(i/10+1.2)}) | |
453 | table.insert(efxs,p) | |
454 | end | |
455 | for i=1,50 do wait() | |
456 | Num=Num+.1 | |
457 | for i,v in pairs(efxs)do | |
458 | if(i<7)then | |
459 | v.CFrame = clerp(v.CFrame,cf(part.CFrame.p)*cf(0,-math.sin(Num)*3,0)*ca(0,1.55+Num+math.rad(360/6)*i,0)*cf(3,0,0),.1) | |
460 | else | |
461 | v.CFrame = clerp(v.CFrame,cf(part.CFrame.p)*cf(0,math.sin(Num)*3,0)*ca(0,-Num+math.rad(360/6)*i,0)*cf(3,0,0),.1) | |
462 | end | |
463 | end | |
464 | end | |
465 | for i=1,10 do wait() | |
466 | for i,v in pairs(efxs)do | |
467 | ClrLerp(v.Mesh,Vector3.new(0,0,0),.3) | |
468 | v.Mesh.Scale=v.Mesh.Scale+Vector3.new(-.15,0,0) | |
469 | end | |
470 | end | |
471 | for i,v in pairs(efxs)do | |
472 | v:Destroy() | |
473 | end | |
474 | efxs={} | |
475 | end | |
476 | ||
477 | ||
478 | local GetPlrs = function(Msg) | |
479 | local R = {} | |
480 | if Msg:lower() == "all" then | |
481 | for i,v in pairs(game:GetService("Players"):GetPlayers()) do | |
482 | table.insert(R, v) | |
483 | end | |
484 | else | |
485 | for i,v in pairs(game:GetService("Players"):GetPlayers()) do | |
486 | if v.Name:lower():sub(1 ,#Msg)==Msg:lower() then | |
487 | table.insert(R, v) | |
488 | end | |
489 | end | |
490 | end | |
491 | return R | |
492 | end | |
493 | ||
494 | local AddCmd = function(Name, Usage, Description, Function) | |
495 | cmds[Name] = {Name = Name, Usage = Usage, Description = Description, Function = Function} | |
496 | end | |
497 | ||
498 | local fixcol = function() | |
499 | for i=1,#pt do pt[i].BrickColor = bc("White") end | |
500 | end | |
501 | ||
502 | local np = function(sz,col) | |
503 | local new = new("Part",workspace,{Size=Vector3.new(0,sz,0);BrickColor=BrickColor.new(col);CanCollide=false;Anchored=true;Locked=true;Name="adpart"}) | |
504 | return new | |
505 | end | |
506 | ||
507 | local pointa = function(var) | |
508 | if var == true then | |
509 | if armloop == false then | |
510 | armloop=true | |
511 | end | |
512 | else | |
513 | armloop=false | |
514 | ch['Right Arm'].Anchored = false | |
515 | armw.Parent = ch.Torso | |
516 | end | |
517 | end | |
518 | ||
519 | local fixspeed = function(spd) | |
520 | repeat wait() speed = speed + .025 until speed >= spd | |
521 | end | |
522 | ||
523 | local make = function() | |
524 | for i=1,6 do | |
525 | local a = np(1.2,"White") | |
526 | table.insert(pt,a) | |
527 | local a1 = np(1.4,"Black") | |
528 | table.insert(pt2,a1) | |
529 | local a2 = np(1.4,"Black") | |
530 | table.insert(pt2,a2) | |
531 | table.insert(pt3,a) | |
532 | table.insert(pt3,a1) | |
533 | table.insert(pt3,a2) | |
534 | end | |
535 | end | |
536 | ||
537 | --cmds-- | |
538 | AddCmd('Kill','kill','Kills <player>',function(Spkr,Msg) | |
539 | for _,player in next,GetPlrs(Msg)do | |
540 | spawn(function() | |
541 | notif(player.Name.." was killed.") | |
542 | efx(player.Character.Torso) | |
543 | player.Character:BreakJoints() | |
544 | end) | |
545 | end | |
546 | end) | |
547 | ||
548 | AddCmd('Kick','kick','Kicks <player>',function(Spkr,Msg) | |
549 | for _,player in next,GetPlrs(Msg)do | |
550 | spawn(function() | |
551 | notif(player.Name.." was kicked.") | |
552 | efx(player.Character.Torso) | |
553 | player:Destroy() | |
554 | end) | |
555 | end | |
556 | end) | |
557 | ||
558 | AddCmd('God','god','Gods <player>',function(Spkr,Msg) | |
559 | for _,player in next,GetPlrs(Msg)do | |
560 | spawn(function() | |
561 | notif(player.Name.." was godded.") | |
562 | efx(player.Character.Torso) | |
563 | player.Character.Humanoid.MaxHealth=1e1000 | |
564 | end) | |
565 | end | |
566 | end) | |
567 | ||
568 | AddCmd('UnGod','ungod','UnGods <player>',function(Spkr,Msg) | |
569 | for _,player in next,GetPlrs(Msg)do | |
570 | spawn(function() | |
571 | notif(player.Name.." was ungodded.") | |
572 | efx(player.Character.Torso) | |
573 | player.Character.Humanoid.MaxHealth=100 | |
574 | end) | |
575 | end | |
576 | end) | |
577 | ||
578 | AddCmd('ForceField','ff','ForceFields <player>',function(Spkr,Msg) | |
579 | for _,player in next,GetPlrs(Msg)do | |
580 | spawn(function() | |
581 | notif(player.Name.." was given a forcefield.") | |
582 | efx(player.Character.Torso) | |
583 | Instance.new("ForceField",player.Character).Name="j_ff" | |
584 | end) | |
585 | end | |
586 | end) | |
587 | ||
588 | AddCmd('ForceField','unff','UnForceFields <player>',function(Spkr,Msg) | |
589 | for _,player in next,GetPlrs(Msg)do | |
590 | spawn(function() | |
591 | notif(player.Name.."'s forcefield was removed.") | |
592 | efx(player.Character.Torso) | |
593 | player.Character:findFirstChild("j_ff"):Destroy() | |
594 | end) | |
595 | end | |
596 | end) | |
597 | ||
598 | AddCmd('Song','sng','Plays <song>',function(Spkr,Msg) | |
599 | notif(Msg.." was played.") | |
600 | spawn(function() | |
601 | if not game:service"Workspace":FindFirstChild("jbcv_sound") then | |
602 | local jbcv_sond=Instance.new("Sound",game:service"Workspace") | |
603 | jbcv_sond.Name="jbcv_sound" | |
604 | jbcv_sond.Looped=true | |
605 | jbcv_sond.Volume=1 | |
606 | end | |
607 | local sond=game:service"Workspace":FindFirstChild("jbcv_sound") | |
608 | sond.Volume=0 | |
609 | sond.Pitch=0 | |
610 | sond:Stop() | |
611 | wait() | |
612 | sond.SoundId="rbxassetid://"..Msg | |
613 | sond.Volume=1 | |
614 | sond.Pitch=1 | |
615 | sond:Play() | |
616 | end) | |
617 | end) | |
618 | ||
619 | AddCmd('Stop','stop','Stops <song>',function(Spkr,Msg) | |
620 | notif("Song was stopped.") | |
621 | local sond=game:service"Workspace":FindFirstChild("jbcv_sound") | |
622 | sond.Volume=0 | |
623 | sond.Pitch=0 | |
624 | sond:Stop() | |
625 | end) | |
626 | ||
627 | AddCmd('ShowLogs','clogs','Shows the chat logs for the server',function(Spkr,Msg) | |
628 | notif("Showing chatlogs.") | |
629 | makelist("ChatLogs",clogs) | |
630 | end) | |
631 | ||
632 | AddCmd('Commands','cmds','Shows a list of admin commands.',function(Spkr,Msg) | |
633 | notif("Showing commands.") | |
634 | local cmdtab = {} | |
635 | for i,v in pairs(cmds) do | |
636 | table.insert(cmdtab," "..v.Name.." Usage:"..v.Usage) | |
637 | end | |
638 | makelist("Commands",cmdtab) | |
639 | end) | |
640 | ||
641 | ||
642 | lp:GetMouse().Button1Down:connect(function() | |
643 | fixcol() | |
644 | if mode == "select" then | |
645 | so('233091183',ch.Torso,false,.8) | |
646 | if slct == 1 then | |
647 | pointa(false) | |
648 | mode = "origin" | |
649 | speed = .1 | |
650 | fixspeed(1) | |
651 | return | |
652 | elseif slct == 2 then | |
653 | pointa(false) | |
654 | mode = "ghost" | |
655 | speed = .1 | |
656 | fixspeed(1) | |
657 | return | |
658 | elseif slct == 3 then | |
659 | pointa(false) | |
660 | mode = "float" | |
661 | speed = .1 | |
662 | fixspeed(1) | |
663 | return | |
664 | elseif slct == 4 then | |
665 | mode = "kenisis" | |
666 | speed = .1 | |
667 | fixspeed(1) | |
668 | return | |
669 | elseif slct == 5 then | |
670 | pointa(false) | |
671 | mode = "saw" | |
672 | speed = .1 | |
673 | fixspeed(1) | |
674 | return | |
675 | elseif slct == 6 then | |
676 | pointa(false) | |
677 | mode = "lightning" | |
678 | speed = .1 | |
679 | fixspeed(1) | |
680 | return | |
681 | end | |
682 | elseif mode == "ghost" then | |
683 | so('200633455',ch.Torso,false,1) | |
684 | mode = "light" | |
685 | speed = .1 | |
686 | fixspeed(1) | |
687 | elseif mode == "lightning" then | |
688 | so('228343249',ch.Torso,false,.9) | |
689 | color=GetDiscoColor(tick()*.5) | |
690 | Lightning(guide.CFrame.p,lp:GetMouse().hit.p,math.random(5,10),math.random(-2.5,2.5),color,1.5) | |
691 | explosion(color,GetDiscoColor(tick()*.3),CFrame.new(lp:GetMouse().hit.p),Vector3.new(30,30,30),20) | |
692 | elseif mode == "kenisis" then | |
693 | if lp:GetMouse().Target~=nil and grab == nil then | |
694 | if lp:GetMouse().Target.ClassName=="Part" and lp:GetMouse().Target.Name~="Base" then | |
695 | gdist = -(ch:findFirstChild("Right Arm").Position - lp:GetMouse().Target.CFrame.p).magnitude | |
696 | grab=lp:GetMouse().Target | |
697 | local dis = (ch:findFirstChild("Head").Position - workspace.CurrentCamera.CoordinateFrame.p).magnitude | |
698 | lp.CameraMaxZoomDistance = dis | |
699 | lp.CameraMinZoomDistance = dis | |
700 | end | |
701 | end | |
702 | elseif mode == "float" then | |
703 | so('233856106',ch.Torso,false,.9) | |
704 | mode = "fly" | |
705 | bg=Instance.new("BodyGyro",ch.Torso) | |
706 | bv=Instance.new("BodyVelocity",ch.Torso) | |
707 | bg.maxTorque = Vector3.new(math.huge,math.huge,math.huge) | |
708 | bv.maxForce = Vector3.new(99e3,99e3,99e3) | |
709 | if(ch.Humanoid.Sit ~= true)then ch.Humanoid.PlatformStand = true end | |
710 | speed = .1 | |
711 | fixspeed(1) | |
712 | elseif mode == "origin" then | |
713 | tim = game:service'RunService'.Stepped:wait() | |
714 | if (tim - c2timer < .2) then | |
715 | c2timer = tim | |
716 | speed = .15 | |
717 | send = lp:GetMouse().Hit.p | |
718 | mode = "tele" | |
719 | wait(.2) | |
720 | so('161006033',ch.Torso,false,.9) | |
721 | ch.Torso.CFrame = cf(send)*cf(0,3,0)*ca(0,ch.Torso.Rotation.Y,0) | |
722 | speed = .05 | |
723 | mode="origin" | |
724 | fixspeed(1) | |
725 | else | |
726 | wait(.15) | |
727 | end | |
728 | c2timer = tim | |
729 | end | |
730 | end) | |
731 | ||
732 | lp:GetMouse().Button2Down:connect(function() | |
733 | if mode == "kenisis" and grab then | |
734 | tim = game:service'RunService'.Stepped:wait() | |
735 | if (tim - c2timer < .2) then | |
736 | so('235097661',ch.Torso,false,1) | |
737 | local shot = grab | |
738 | grab=nil | |
739 | shot.Velocity=(lp:GetMouse().Hit.p-ch["Right Arm"].Position).unit*375 | |
740 | else | |
741 | wait(.15) | |
742 | end | |
743 | c2timer = tim | |
744 | end | |
745 | end) | |
746 | ||
747 | lp:GetMouse().Button1Up:connect(function() | |
748 | if mode == "fly" then | |
749 | mode = "float" | |
750 | so('233856106',ch.Torso,false,.8) | |
751 | bg:Destroy() | |
752 | bv:Destroy() | |
753 | ch.Humanoid.PlatformStand = false | |
754 | ch.Torso.CFrame = cf(ch.Torso.CFrame.X,ch.Torso.CFrame.Y,ch.Torso.CFrame.Z)*ca(0,ch.Torso.Rotation.Y,0) | |
755 | speed = .1 | |
756 | fixspeed(1) | |
757 | elseif mode == "light" then | |
758 | so('200633455',ch.Torso,false,.9) | |
759 | mode = "ghost" | |
760 | speed = .1 | |
761 | fixspeed(1) | |
762 | elseif mode == "kenisis" then | |
763 | grab = nil | |
764 | lp.CameraMaxZoomDistance = 400 | |
765 | lp.CameraMinZoomDistance = 0.5 | |
766 | end | |
767 | end) | |
768 | ||
769 | lp:GetMouse().KeyDown:connect(function(k) | |
770 | k = k:lower() | |
771 | if k == "e" and mode ~= "select" and mode ~= "fly" and mode ~= "light" then | |
772 | so('233091183',ch.Torso,false,.9) | |
773 | pointa(true) | |
774 | mode = "select" | |
775 | slct = 1 | |
776 | speed = .1 | |
777 | fixspeed(1) | |
778 | elseif string.byte(k) == 49 then | |
779 | textbox:CaptureFocus() | |
780 | end | |
781 | end) | |
782 | ||
783 | lp:GetMouse().WheelForward:connect(function() | |
784 | if mode =="kenisis" then | |
785 | gdist = gdist - 10 | |
786 | end | |
787 | end) | |
788 | ||
789 | lp:GetMouse().WheelBackward:connect(function() | |
790 | if mode =="kenisis" then | |
791 | if gdist < -5 then | |
792 | gdist = gdist + 10 | |
793 | end | |
794 | end | |
795 | end) | |
796 | ||
797 | guide = new("Part",workspace,{Size=Vector3.new(2,0,2);BrickColor=BrickColor.new("");CanCollide=false;Anchored=true;Locked=true;Transparency=1}) | |
798 | pl = new("PointLight",guide,{Color=BrickColor.new("Bright orange").Color;Range=0}) | |
799 | light = new("Fire",guide,{Size=3;Heat=0;Enabled=false}) | |
800 | BP=new("BodyPosition",nil,{maxForce=Vector3.new(9990000, 9990000, 9990000);position=Vector3.new(0,0,0)}) | |
801 | make() | |
802 | ||
803 | local curplrs = game.Players:GetPlayers() | |
804 | ||
805 | for i,v in pairs(curplrs) do | |
806 | v.Chatted:connect(function(m) | |
807 | table.insert(clogs,"["..v.Name.."]: "..m) | |
808 | end) | |
809 | end | |
810 | ||
811 | game:service"Players".ChildAdded:connect(function(p) | |
812 | if p.ClassName == "Player" then | |
813 | notif(p.Name.." has joined the server.") | |
814 | p.Chatted:connect(function(m) | |
815 | table.insert(clogs,"["..p.Name.."]: "..m) | |
816 | end) | |
817 | end | |
818 | end) | |
819 | ||
820 | game:service"Players".ChildRemoved:connect(function(p) | |
821 | if p.ClassName == "Player" then | |
822 | notif(p.Name.." has left the server.") | |
823 | end | |
824 | end) | |
825 | ||
826 | game:service("RunService").Stepped:connect(function() | |
827 | ch = lp.Character | |
828 | bcount = 0 | |
829 | for i=1,#pt do | |
830 | bcount = bcount + 2 | |
831 | if mode == "origin" then | |
832 | count = count + .0025 | |
833 | if i <= 3 then | |
834 | pt[i].CFrame = clerp(pt[i].CFrame,cf(ch.Torso.CFrame.p)*ca(0,count+rad(360/3)*i,0)*cf(2,-3,0)*ca(-pi/2,0,0),speed) | |
835 | else | |
836 | pt[i].CFrame = clerp(pt[i].CFrame,cf(ch.Torso.CFrame.p)*ca(0,-count-rad(360/3)*i,0)*cf(2.3,-3,0)*ca(pi/2,pi,0),speed) | |
837 | end | |
838 | elseif mode == "tele" then | |
839 | pt[i].CFrame = clerp(pt[i].CFrame,cf(send)*ca(0,0,pi/2)*ca(-count-rad(360/6)*i,0,0)*cf(0,3,0)*ca(pi/2,-pi/2,0),speed) | |
840 | elseif mode == "select" then | |
841 | guide.CanCollide=false | |
842 | ch.Humanoid.MaxHealth = 100 | |
843 | ch.Humanoid.WalkSpeed=16 | |
844 | pt[i].CFrame = clerp(pt[i].CFrame,ch.Torso.CFrame*ca(0,rad(-15)+rad(360/12)*i,0)*cf(5,0,0)*ca(pi/2,pi,0),speed) | |
845 | if lp:GetMouse().Target == pt[i] then | |
846 | if i == 1 then | |
847 | pt[i].BrickColor = bc("") | |
848 | slct = i | |
849 | elseif i == 2 then | |
850 | pt[i].BrickColor = bc("Royal purple") | |
851 | slct = i | |
852 | elseif i == 3 then | |
853 | pt[i].BrickColor = bc("Lapis") | |
854 | slct = i | |
855 | elseif i == 4 then | |
856 | pt[i].BrickColor = bc("Lime green") | |
857 | slct = i | |
858 | elseif i == 5 then | |
859 | pt[i].BrickColor = bc("Really red") | |
860 | slct = i | |
861 | elseif i == 6 then | |
862 | pt[i].BrickColor = bc("New Yeller") | |
863 | slct = i | |
864 | end | |
865 | else | |
866 | pt[i].BrickColor = bc("White") | |
867 | end | |
868 | elseif mode == "float" then | |
869 | guide.CanCollide=true | |
870 | count = count + .02 | |
871 | local goto = ch.Torso.CFrame*CFrame.new(0,-3,0) | |
872 | if Vector3.new(0, ch.Torso.Velocity.y, 0).magnitude > 5 then | |
873 | guide.CFrame=CFrame.new(goto.X,goto.Y,goto.Z) | |
874 | else | |
875 | guide.CFrame=CFrame.new(goto.X,guide.CFrame.Y,goto.Z) | |
876 | end | |
877 | if i <= 3 then | |
878 | pt[i].CFrame = clerp(pt[i].CFrame,cf(ch.Torso.CFrame.p)*ca(0,count+rad(360/3)*i,0)*cf(4,-3,0)*ca(pi/2,pi-rad(30),0),speed) | |
879 | else | |
880 | pt[i].CFrame = clerp(pt[i].CFrame,cf(ch.Torso.CFrame.p)*ca(0,-count-rad(360/3)*i,0)*cf(4.3,-3,0)*ca(pi/2,pi+rad(30),0),speed) | |
881 | end | |
882 | elseif mode == "kenisis" then | |
883 | count = count + .02 | |
884 | if grab ~= nil then | |
885 | light.Enabled=true | |
886 | BP.Parent=grab | |
887 | a= ch["Right Arm"].CFrame*CFrame.new(0,gdist,0)*CFrame.Angles(math.rad(90),0,-math.rad(180)) | |
888 | BP.position=a.p | |
889 | else | |
890 | BP.Parent=nil | |
891 | light.Enabled=false | |
892 | end | |
893 | light.Color = bc("Lime green").Color | |
894 | guide.CFrame=ch['Right Arm'].CFrame*cf(0,-1.5,0) | |
895 | local goto = ch.Torso.CFrame*CFrame.new(0,-3,0) | |
896 | if i <= 3 then | |
897 | pt[i].CFrame = clerp(pt[i].CFrame,ch['Right Arm'].CFrame*ca(0,count+rad(360/3)*i,0)*cf(.5,-1,0)*ca(pi/2,pi-rad(130),0),speed) | |
898 | else | |
899 | pt[i].CFrame = clerp(pt[i].CFrame,ch['Right Arm'].CFrame*ca(0,-count-rad(360/3)*i,0)*cf(.7,-1,0)*ca(pi/2,pi-rad(130),0),speed) | |
900 | end | |
901 | elseif mode == "ghost" then | |
902 | local ff = new("ForceField",ch) | |
903 | ch.Humanoid.MaxHealth = 100000 | |
904 | ch.Humanoid.Health = 100000 | |
905 | game.Debris:AddItem(ff,.001) | |
906 | light.Enabled=false | |
907 | ch.Humanoid.WalkSpeed=35 | |
908 | pl.Range=0 | |
909 | count = count + .005 | |
910 | if i <= 3 then | |
911 | pt[i].CFrame = clerp(pt[i].CFrame,cf(ch.Torso.CFrame.p)*cf(0,-math.sin(count)*3,0)*ca(0,1.55+count+math.rad(360/3)*i,0)*cf(3,0,0)*ca(0,pi,0),speed) | |
912 | else | |
913 | pt[i].CFrame = clerp(pt[i].CFrame,cf(ch.Torso.CFrame.p)*cf(0,math.sin(count)*3,0)*ca(0,-count+math.rad(360/3)*i,0)*cf(3,0,0)*ca(0,pi,0),speed) | |
914 | end | |
915 | ypcall(function() | |
916 | ch.Torso.CanCollide = false | |
917 | ch.Head.CanCollide = false | |
918 | end) | |
919 | elseif mode == "light" then | |
920 | ch.Humanoid.MaxHealth = 100 | |
921 | ch.Humanoid.WalkSpeed=16 | |
922 | guide.CFrame = CFrame.new(ch.Torso.CFrame.p)*CFrame.new(0,7,0) | |
923 | light.Enabled=true | |
924 | light.Color = bc("Bright orange").Color | |
925 | pl.Range=60 | |
926 | count = count + .005 | |
927 | if i <= 3 then | |
928 | pt[i].CFrame = clerp(pt[i].CFrame,cf(ch.Torso.CFrame.p)*cf(0,7,0)*ca(count,count,count+math.rad(360/3)*i)*cf(1.5,0,0),speed) | |
929 | else | |
930 | pt[i].CFrame = clerp(pt[i].CFrame,cf(ch.Torso.CFrame.p)*cf(0,7,0)*ca(count+1.1,count,count+math.rad(360/3)*i)*cf(2.25,0,0)*ca(0,0,0),speed) | |
931 | end | |
932 | ypcall(function() | |
933 | ch.Torso.CanCollide = false | |
934 | ch.Head.CanCollide = false | |
935 | end) | |
936 | elseif mode == "fly" then | |
937 | guide.CanCollide=false | |
938 | Direction = CFrame.new(ch.Torso.Position,lp:GetMouse().Hit.p) | |
939 | bg.cframe = Direction*CFrame.Angles(-1.55,0,0) | |
940 | bv.velocity = lp:GetMouse().Hit.lookVector*50 | |
941 | count = count + .01 | |
942 | if i <= 3 then | |
943 | pt[i].CFrame = clerp(pt[i].CFrame,ch.Torso.CFrame*ca(0,count+rad(360/3)*i,0)*cf(2,-3,0)*ca(pi/2,rad(30),0),speed) | |
944 | else | |
945 | pt[i].CFrame = clerp(pt[i].CFrame,ch.Torso.CFrame*ca(0,-count-rad(360/3)*i,0)*cf(2,3,0)*ca(pi/2,-rad(30),0),speed) | |
946 | end | |
947 | elseif mode == "saw" then | |
948 | count = count + .015 | |
949 | local part = pt[i] | |
950 | part.CFrame = clerp(pt[i].CFrame,ch.Torso.CFrame*ca(-count-rad(360/6)*i,0,0)*cf(0,3,0)*ca(pi/2,-pi/2,0),speed) | |
951 | local shootpos = pt[i].CFrame*cf(-2,0,0) | |
952 | local startpos = pt[i].CFrame*cf(-1.2,0,0) | |
953 | local ray = Ray.new(startpos.p,(shootpos.p - startpos.p).unit*2) | |
954 | local hit,position = game.Workspace:FindPartOnRayWithIgnoreList(ray,ignore) | |
955 | if hit then | |
956 | frag(hit) | |
957 | end | |
958 | elseif mode == "lightning" then | |
959 | count = count + .015 | |
960 | guide.CFrame = cf(ch.Torso.CFrame.p)*CFrame.new(0,7,0) | |
961 | guide.CFrame = CFrame.new(guide.CFrame.p,lp:GetMouse().Hit.p) | |
962 | if i <= 3 then | |
963 | pt[i].CFrame = clerp(pt[i].CFrame,guide.CFrame*ca(-pi/2,count+rad(360/3)*i,0)*cf(1.7,0,0)*ca(pi/2,0,0),speed) | |
964 | else | |
965 | pt[i].CFrame = clerp(pt[i].CFrame,guide.CFrame*ca(-pi/2,-count-rad(360/3)*i,0)*cf(2,0,0)*ca(pi/2,-rad(30),0),speed) | |
966 | end | |
967 | end | |
968 | ignore = {} | |
969 | if bcount < 13 then | |
970 | pt2[bcount-1].CFrame = pt[i].CFrame *cf(-0.8,-0.5,0)*ca(0,0,rad(60)) | |
971 | pt2[bcount].CFrame = pt[i].CFrame *cf(-0.8,0.5,0)*ca(0,0,-rad(60)) | |
972 | end | |
973 | table.insert(ignore,pt2[bcount-1]) | |
974 | table.insert(ignore,pt2[bcount]) | |
975 | end | |
976 | if armloop then | |
977 | if ch.Torso:findFirstChild("Right Shoulder") then | |
978 | armw = ch.Torso:findFirstChild("Right Shoulder") | |
979 | armw.Parent = nil | |
980 | end | |
981 | ch['Right Arm'].Anchored = true | |
982 | local p0 = ch.Torso.CFrame | |
983 | p0 = p0 + ((p0 * ca(pi/-2,0,0)).lookVector * -0.5) + (p0 * ca(0,pi/-2,0)).lookVector | |
984 | local p1 = p0 + ((p0.p-lp:GetMouse().Hit.p).unit * -2) | |
985 | ch['Right Arm'].CFrame = cf((p0.p + p1.p)/2,p0.p) * ca(-math.pi/2,0,0) | |
986 | end | |
987 | for i,v in pairs(pt3) do | |
988 | if v.Parent ~= workspace then | |
989 | for i=1,#pt3 do game.Debris:AddItem(pt3[i],.1) end | |
990 | pt3 = {} | |
991 | pt2 = {} | |
992 | pt = {} | |
993 | make() | |
994 | end | |
995 | end | |
996 | if not lp.PlayerGui:findFirstChild("JL_gui") then | |
997 | makeg() | |
998 | end | |
999 | if guide.Parent ~= workspace then | |
1000 | guide = new("Part",workspace,{Size=Vector3.new(2,0,2);BrickColor=BrickColor.new("");CanCollide=false;Anchored=true;Locked=true;Transparency=1}) | |
1001 | pl = new("PointLight",guide,{Color=BrickColor.new("Bright orange").Color;Range=0}) | |
1002 | light = new("Fire",guide,{Size=3;Heat=0;Enabled=false}) | |
1003 | end | |
1004 | if textlabel_2 then | |
1005 | textlabel_2.Text = "FPS: "..math.floor(1/wait()*2) | |
1006 | end | |
1007 | end) | |
1008 | ||
1009 | efx(lp.Character.Torso) | |
1010 | wait(.1) | |
1011 | notif("JarLore Version"..version.." has successfully loaded.") | |
1012 | wait(2) | |
1013 | notif("You may start by pressing [L-CTRL] to focus.") | |
1014 | ||
1015 | --[["That'sa all folks!"]]-- |