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