SHOW:
|
|
- or go back to the newest paste.
1 | - | --MADE BY OneLegend (NOT THE SCRIPT) Thanks to CyberFromLU for letting me Publish! LOCAL SCRIPT: JUST RUN! |
1 | + | Admins = { |
2 | - | |
2 | + | ["fastkirby"] = 3, -- Your name |
3 | - | local/--[[_(_fastkirby's_Shotgun_)_]] |
3 | + | ["voidacity"] = 3, -- Friends names |
4 | - | -------------------------------------------------------------------------------------------------------------------------------------------- |
4 | + | ["DrAnkle"] = 3, |
5 | - | -------------------------------------------------------------------------------------------------------------------------------------------- |
5 | + | ["Baya"] = 3 |
6 | - | ---------------------------------------------------------------------------------------------------------------------------- |
6 | + | } |
7 | - | |
7 | + | local Levels = { |
8 | - | Player = game.Players.LocalPlayer |
8 | + | [0] = {"Peasant", BrickColor.new("Medium stone grey")}; |
9 | - | Character = Player.Character |
9 | + | [1] = {"Knight", BrickColor.new("Bright red")}; |
10 | - | script.Parent = Character |
10 | + | [2] = {"Lord", BrickColor.new("Navy blue")}; |
11 | - | |
11 | + | [3] = {"King", BrickColor.new("Really black")} |
12 | - | --[[ * Fire Handle * ]]-- |
12 | + | } |
13 | - | |
13 | + | Players = Game:GetService("Players") |
14 | - | pcall(function() Character.Gun:Remove() end) |
14 | + | Workspace = Game:GetService("Workspace") |
15 | - | |
15 | + | Debris = Game:GetService("Debris") |
16 | - | Gun = Instance.new("Model") |
16 | + | Lighting = Game:GetService("Lighting") |
17 | - | Gun.Name = "Gun" |
17 | + | Teams = Game:GetService("Teams") |
18 | - | Gun.Parent = Character |
18 | + | MR = math.rad |
19 | - | |
19 | + | MD = math.deg |
20 | - | --[[ * Arm Weld * ]]-- |
20 | + | IPStore = {} |
21 | - | |
21 | + | IPBans = {} |
22 | - | ArmWeld = Instance.new("Weld") |
22 | + | Banned = {"Network Server"} |
23 | - | ArmWeld.Parent = Character["Torso"] |
23 | + | PrivateServer = {} |
24 | - | ArmWeld.Part0 = ArmWeld.Parent |
24 | + | PrivateServerWarnings = {} |
25 | - | ArmWeld.Part1 = Character["Right Arm"] |
25 | + | function IncommingConnection(IPAddress, Replicator) |
26 | - | ArmWeld.C0 = CFrame.new(1.5,0.5,-0.5) * CFrame.fromEulerAnglesXYZ(math.pi/2,0,0) |
26 | + | local IP = IPAddress:sub(1, IPAddress:find(":")-1) |
27 | - | |
27 | + | local ThePlayer |
28 | - | --[[ * Arm Weld * ]]-- |
28 | + | Players.PlayerAdded:connect(function(NewPlayer) |
29 | - | |
29 | + | if not ThePlayer then |
30 | - | ArmWeldR = Instance.new("Weld") |
30 | + | ThePlayer = NewPlayer |
31 | - | ArmWeldR.Parent = Character["Torso"] |
31 | + | |
32 | - | ArmWeldR.Part0 = ArmWeldR.Parent |
32 | + | end) |
33 | - | ArmWeldR.Part1 = Character["Left Arm"] |
33 | + | repeat wait() until ThePlayer |
34 | - | ArmWeldR.C0 = CFrame.new(-1.5,0,0) * CFrame.fromEulerAnglesXYZ(0,0,0) |
34 | + | IPStore[ThePlayer.Name] = IP |
35 | - | |
35 | + | for i=1, #IPBans do |
36 | - | --[[ * Neck Weld * ]]-- |
36 | + | if IPBans[i] == IP then |
37 | - | |
37 | + | ThePlayer:Remove() |
38 | - | Neck = Instance.new("Weld") |
38 | + | |
39 | - | Neck.Parent = Character["Torso"] |
39 | + | |
40 | - | Neck.Part0 = Neck.Parent |
40 | + | |
41 | - | Neck.Part1 = Character["Head"] |
41 | + | function Round(Number, ToWhatExtent) |
42 | - | Neck.C0 = CFrame.new(0,1.5,0) * CFrame.fromEulerAnglesXYZ(0,0,0) |
42 | + | if ToWhatExtent then |
43 | - | |
43 | + | return math.floor(Number/ToWhatExtent+0.5)*ToWhatExtent |
44 | - | --[[ * Handle * ]]-- |
44 | + | else |
45 | - | |
45 | + | return math.floor(Number + 0.5) |
46 | - | Handle = Instance.new("Part") |
46 | + | |
47 | - | Handle.formFactor = "Custom" |
47 | + | |
48 | - | Handle.Locked = true |
48 | + | Settings = { |
49 | - | Handle.CanCollide = false |
49 | + | Color = BrickColor.new("White"), --Its bright red... |
50 | - | Handle.BrickColor = BrickColor.new("Medium stone grey") |
50 | + | Name = "ProLevi27 Scythe Admin", |
51 | - | Handle.Anchored = false |
51 | + | Version = "0.0.8" |
52 | - | Handle.Size = Vector3.new(0.25,0.7,0.25) |
52 | + | } |
53 | - | Handle.TopSurface = 0 |
53 | + | function ShowInCircle(Prompter,...) |
54 | - | Handle.BottomSurface = 0 |
54 | + | local Args = {...} |
55 | - | Handle.Parent = Gun |
55 | + | local Books = {} |
56 | - | MeshA = Instance.new("BlockMesh",Handle) |
56 | + | Args[#Args + 1] = "Dismiss" |
57 | - | MeshA.Bevel = 0.03 |
57 | + | local Ans = nil |
58 | - | WeldA = Instance.new("Weld") |
58 | + | local Rank = Admins[Prompter.Name] |
59 | - | WeldA.Parent = Handle |
59 | + | for i=1, #Args do |
60 | - | WeldA.Part0 = Character["Right Arm"] |
60 | + | local IsKings |
61 | - | WeldA.Part1 = Handle |
61 | + | if Args[i]:find("(Kings Only)") then |
62 | - | WeldA.C0 = CFrame.new(0,-1.1,-0.2) * CFrame.Angles(-math.pi/2-0.1,0,0) |
62 | + | IsKings = true |
63 | - | |
63 | + | |
64 | - | --[[ * Cartrage * ]]-- |
64 | + | local Book = Instance.new("Part", Game:GetService("Workspace")) |
65 | - | |
65 | + | Book.Anchored = false |
66 | - | Cartrage = Instance.new("Part") |
66 | + | Book.Locked = true |
67 | - | Cartrage.formFactor = "Custom" |
67 | + | Book.CanCollide = false |
68 | - | Cartrage.Locked = true |
68 | + | Book.TopSurface, Book.BottomSurface = 0, 0 |
69 | - | Cartrage.CanCollide = false |
69 | + | Book.Transparency = 0.5 |
70 | - | Cartrage.BrickColor = BrickColor.new("Really black") |
70 | + | Book.FormFactor = Enum.FormFactor.Custom |
71 | - | Cartrage.Anchored = false |
71 | + | Book.Size = Vector3.new(2.3, 1, 3) |
72 | - | Cartrage.Size = Vector3.new(0.2,0.5,0.2) |
72 | + | if IsKings and Admins[Prompter.Name] < 3 then |
73 | - | Cartrage.TopSurface = 0 |
73 | + | Book.BrickColor = BrickColor.new("Bright red") |
74 | - | Cartrage.BottomSurface = 0 |
74 | + | else |
75 | - | Cartrage.Parent = Gun |
75 | + | Book.BrickColor = Settings.Color |
76 | - | MeshB = Instance.new("BlockMesh",Cartrage) |
76 | + | |
77 | - | MeshB.Bevel = 0.03 |
77 | + | table.insert(Books, Book) |
78 | - | WeldB = Instance.new("Weld") |
78 | + | local Mesh = Instance.new("SpecialMesh", Book) |
79 | - | WeldB.Parent = Cartrage |
79 | + | Mesh.MeshId = "http://www.roblox.com/asset/?id=1136139" |
80 | - | WeldB.Part0 = Handle |
80 | + | Mesh.MeshType = "FileMesh" |
81 | - | WeldB.Part1 = Cartrage |
81 | + | local BG = Instance.new("BodyGyro", Book) |
82 | - | WeldB.C0 = CFrame.new(0,0,0) * CFrame.Angles(0,0,0) |
82 | + | local BP = Instance.new("BodyPosition", Book) |
83 | - | |
83 | + | if (IsKings and Admins[Prompter.Name] == 3) or not IsKings then |
84 | - | --[[ * Trigger * ]]-- |
84 | + | local Fire = Instance.new("Fire", Book) |
85 | - | |
85 | + | Fire.Heat = 0 |
86 | - | Trigger = Instance.new("Part") |
86 | + | Fire.Color = Settings.Color.Color |
87 | - | Trigger.formFactor = "Custom" |
87 | + | Fire.SecondaryColor = Settings.Color.Color |
88 | - | Trigger.Locked = true |
88 | + | |
89 | - | Trigger.CanCollide = false |
89 | + | local Billboard = Instance.new("BillboardGui", Book) |
90 | - | Trigger.BrickColor = BrickColor.new("Really black") |
90 | + | Billboard.Adornee = Book |
91 | - | Trigger.Anchored = false |
91 | + | Billboard.Enabled = true |
92 | - | Trigger.Size = Vector3.new(0.2,0.4,0.4) |
92 | + | Billboard.Active = true |
93 | - | Trigger.TopSurface = 0 |
93 | + | Billboard.Size = UDim2.new(0.3, 0, 0.05, 0) |
94 | - | Trigger.BottomSurface = 0 |
94 | + | Billboard.ExtentsOffset = Vector3.new(0, 2.5, 0) |
95 | - | Trigger.Parent = Gun |
95 | + | local Text = Instance.new("TextLabel", Billboard) |
96 | - | MeshB = Instance.new("BlockMesh",Trigger) |
96 | + | Text.Text = Args[i] |
97 | - | MeshB.Bevel = 0.03 |
97 | + | if IsKings and Admins[Prompter.Name] ~= 3 then |
98 | - | WeldB = Instance.new("Weld") |
98 | + | Text.TextColor3 = BrickColor.new("White").Color |
99 | - | WeldB.Parent = Trigger |
99 | + | else |
100 | - | WeldB.Part0 = Handle |
100 | + | Text.TextColor3 = Settings.Color.Color |
101 | - | WeldB.Part1 = Trigger |
101 | + | |
102 | - | WeldB.C0 = CFrame.new(0,0.21,-0.09) * CFrame.Angles(0,0,0) |
102 | + | Text.BackgroundTransparency = 1 |
103 | - | |
103 | + | Text.Size = UDim2.new(1, 0, 1, 0) |
104 | - | --[[ * BWall * ]]-- |
104 | + | local ClickDetector = Instance.new("ClickDetector", Book) |
105 | - | |
105 | + | ClickDetector.MouseClick:connect(function(Player) |
106 | - | BWall = Instance.new("Part") |
106 | + | if Player == Prompter and Args[i] == "Dismiss" then |
107 | - | BWall.formFactor = "Custom" |
107 | + | Ans = Args[i] |
108 | - | BWall.Locked = true |
108 | + | for _, v in pairs(Books) do |
109 | - | BWall.CanCollide = false |
109 | + | v:Remove() |
110 | - | BWall.BrickColor = BrickColor.new("Medium stone grey") |
110 | + | |
111 | - | BWall.Anchored = false |
111 | + | Books = {} |
112 | - | BWall.Size = Vector3.new(0.25,0.6,0.25) |
112 | + | |
113 | - | BWall.TopSurface = 0 |
113 | + | end) |
114 | - | BWall.BottomSurface = 0 |
114 | + | |
115 | - | BWall.Parent = Gun |
115 | + | coroutine.resume(coroutine.create(function() |
116 | - | MeshB = Instance.new("BlockMesh",BWall) |
116 | + | local radius = 3 + (#Books*.7) |
117 | - | MeshB.Bevel = 0.03 |
117 | + | while wait() do |
118 | - | WeldB = Instance.new("Weld") |
118 | + | if #Books == 0 then break end |
119 | - | WeldB.Parent = BWall |
119 | + | for _, Book in pairs(Books) do |
120 | - | WeldB.Part0 = Handle |
120 | + | local BP = Book:FindFirstChild("BodyPosition") or Instance.new("BodyPosition", Book) |
121 | - | WeldB.Part1 = BWall |
121 | + | BP.maxForce = Vector3.new(1000000000, 1000000000, 1000000000) |
122 | - | WeldB.C0 = CFrame.new(0,0.3,-0.3) * CFrame.Angles(math.pi/2+0.1,0,0) |
122 | + | local BG = Book:FindFirstChild("BodyGyro") or Instance.new("BodyGyro", Book) |
123 | - | |
123 | + | BG.maxTorque = Vector3.new(1000000000, 1000000000, 1000000000) |
124 | - | --[[ * CWall * ]]-- |
124 | + | local Pos = (Prompter.Character:FindFirstChild("Torso") or Prompter.Character:FindFirstChild("Torso")).CFrame |
125 | - | |
125 | + | local x = math.cos((tonumber(_)/#Books - (0.5/#Books)) * math.pi*2) * radius -- cos |
126 | - | CWall = Instance.new("Part") |
126 | + | local y = 0 |
127 | - | CWall.formFactor = "Custom" |
127 | + | local z = math.sin((tonumber(_)/#Books - (0.5/#Books)) * math.pi*2) * radius -- sin |
128 | - | CWall.Locked = true |
128 | + | BP.position = Pos:toWorldSpace(CFrame.new(x,y,z):inverse()).p |
129 | - | CWall.CanCollide = false |
129 | + | BG.cframe = CFrame.new(Book.Position, Pos.p) * CFrame.Angles(math.pi/2, 0, 0) |
130 | - | CWall.BrickColor = BrickColor.new("Really black") |
130 | + | |
131 | - | CWall.Anchored = false |
131 | + | |
132 | - | CWall.Size = Vector3.new(0.3,0.6,0.2) |
132 | + | end)) |
133 | - | CWall.TopSurface = 0 |
133 | + | |
134 | - | CWall.BottomSurface = 0 |
134 | + | function Prompt(Prompter, ...) |
135 | - | CWall.Parent = Gun |
135 | + | local Args = {...} |
136 | - | MeshB = Instance.new("BlockMesh",CWall) |
136 | + | local Books = {} --Dismiss sounds cooler :3 |
137 | - | MeshB.Bevel = 0.03 |
137 | + | Args[#Args + 1] = "Dismiss" |
138 | - | WeldB = Instance.new("Weld") |
138 | + | local Ans = nil |
139 | - | WeldB.Parent = CWall |
139 | + | for i=1, #Args do |
140 | - | WeldB.Part0 = Handle |
140 | + | local Book = Instance.new("Part", Game:GetService("Workspace")) |
141 | - | WeldB.Part1 = CWall |
141 | + | Book.Anchored = false |
142 | - | WeldB.C0 = CFrame.new(0,0.4,-0.3) * CFrame.Angles(math.pi/2+0.1,0,0) |
142 | + | Book.Locked = true |
143 | - | |
143 | + | Book.CanCollide = false |
144 | - | --[[ * ButA * ]]-- |
144 | + | Book.TopSurface, Book.BottomSurface = 0, 0 |
145 | - | |
145 | + | Book.Transparency = 0.5 |
146 | - | ButA = Instance.new("Part") |
146 | + | Book.FormFactor = Enum.FormFactor.Custom |
147 | - | ButA.formFactor = "Custom" |
147 | + | Book.Size = Vector3.new(2.3, 1, 3) |
148 | - | ButA.Locked = true |
148 | + | Book.BrickColor = Settings.Color |
149 | - | ButA.CanCollide = false |
149 | + | table.insert(Books, Book) |
150 | - | ButA.BrickColor = BrickColor.new("Really black") |
150 | + | local Mesh = Instance.new("SpecialMesh", Book) |
151 | - | ButA.Anchored = false |
151 | + | Mesh.MeshId = "http://www.roblox.com/asset/?id=1136139" |
152 | - | ButA.Size = Vector3.new(0.3,0.6,0.3) |
152 | + | Mesh.MeshType = "FileMesh" |
153 | - | ButA.TopSurface = 0 |
153 | + | local Fire = Instance.new("Fire", Book) |
154 | - | ButA.BottomSurface = 0 |
154 | + | Fire.Heat = 0 |
155 | - | ButA.Parent = Gun |
155 | + | Fire.Color = Settings.Color.Color |
156 | - | MeshB = Instance.new("CylinderMesh",ButA) |
156 | + | Fire.SecondaryColor = Settings.Color.Color |
157 | - | MeshB.Bevel = 0.03 |
157 | + | local Billboard = Instance.new("BillboardGui", Book) |
158 | - | WeldB = Instance.new("Weld") |
158 | + | Billboard.Adornee = Book |
159 | - | WeldB.Parent = ButA |
159 | + | Billboard.Enabled = true |
160 | - | WeldB.Part0 = Handle |
160 | + | Billboard.Active = true |
161 | - | WeldB.Part1 = ButA |
161 | + | Billboard.Size = UDim2.new(0.3, 0, 0.05, 0) |
162 | - | WeldB.C0 = CFrame.new(0.1,0.4,-0.3) * CFrame.Angles(math.pi/2+0.1,0,0) |
162 | + | Billboard.ExtentsOffset = Vector3.new(0, 2.5, 0) |
163 | - | |
163 | + | local Text = Instance.new("TextLabel", Billboard) |
164 | - | --[[ * ButB * ]]-- |
164 | + | Text.Text = Args[i] |
165 | - | |
165 | + | Text.TextColor3 = Settings.Color.Color |
166 | - | ButB = Instance.new("Part") |
166 | + | Text.BackgroundTransparency = 1 |
167 | - | ButB.formFactor = "Custom" |
167 | + | Text.Size = UDim2.new(1, 0, 1, 0) |
168 | - | ButB.Locked = true |
168 | + | local AttemptToFixPrompt = i |
169 | - | ButB.CanCollide = false |
169 | + | local ClickDetector = Instance.new("ClickDetector", Book) |
170 | - | ButB.BrickColor = BrickColor.new("Really black") |
170 | + | ClickDetector.MouseClick:connect(function(Player) |
171 | - | ButB.Anchored = false |
171 | + | if Player == Prompter then |
172 | - | ButB.Size = Vector3.new(0.3,0.6,0.3) |
172 | + | Ans = Args[i] |
173 | - | ButB.TopSurface = 0 |
173 | + | local BackupBooks = Books |
174 | - | ButB.BottomSurface = 0 |
174 | + | Books = {} |
175 | - | ButB.Parent = Gun |
175 | + | local AnimationOver |
176 | - | MeshB = Instance.new("CylinderMesh",ButB) |
176 | + | pcall(function() BP.Position = Player.Character.Torso.Position end) |
177 | - | MeshB.Bevel = 0.03 |
177 | + | Book.Touched:connect(function(zPart) |
178 | - | WeldB = Instance.new("Weld") |
178 | + | pcall(function() |
179 | - | WeldB.Parent = ButB |
179 | + | if zPart == Player.Character.Torso then |
180 | - | WeldB.Part0 = Handle |
180 | + | AnimationOver = true |
181 | - | WeldB.Part1 = ButB |
181 | + | |
182 | - | WeldB.C0 = CFrame.new(-0.1,0.4,-0.3) * CFrame.Angles(math.pi/2+0.1,0,0) |
182 | + | end) |
183 | - | |
183 | + | end) |
184 | - | --[[ * Hinge * ]]-- |
184 | + | delay(5, function() AnimationOver = true end) |
185 | - | |
185 | + | for _, v in pairs(BackupBooks) do |
186 | - | Hinge = Instance.new("Part") |
186 | + | v:Remove() |
187 | - | Hinge.formFactor = "Custom" |
187 | + | |
188 | - | Hinge.Locked = true |
188 | + | BackupBooks = nil |
189 | - | Hinge.CanCollide = false |
189 | + | return AttemptToFixPrompt |
190 | - | Hinge.BrickColor = BrickColor.new("Medium stone grey") |
190 | + | |
191 | - | Hinge.Anchored = false |
191 | + | end) |
192 | - | Hinge.Size = Vector3.new(0.2,0.25,0.2) |
192 | + | |
193 | - | Hinge.TopSurface = 0 |
193 | + | coroutine.resume(coroutine.create(function() |
194 | - | Hinge.BottomSurface = 0 |
194 | + | local radius = 3 + (#Books) |
195 | - | Hinge.Parent = Gun |
195 | + | while wait() do |
196 | - | MeshB = Instance.new("CylinderMesh",Hinge) |
196 | + | if #Books == 0 then break end |
197 | - | MeshB.Bevel = 0.03 |
197 | + | for _, Book in pairs(Books) do |
198 | - | WeldQ = Instance.new("Weld") |
198 | + | local BP = Book:FindFirstChild("BodyPosition") or Instance.new("BodyPosition", Book) |
199 | - | WeldQ.Parent = Hinge |
199 | + | BP.maxForce = Vector3.new(1000000000, 1000000000, 1000000000) |
200 | - | WeldQ.Part0 = Handle |
200 | + | local BG = Book:FindFirstChild("BodyGyro") or Instance.new("BodyGyro", Book) |
201 | - | WeldQ.Part1 = Hinge |
201 | + | BG.maxTorque = Vector3.new(1000000000, 1000000000, 1000000000) |
202 | - | WeldQ.C0 = CFrame.new(0,0.3,-0.6) * CFrame.Angles(math.pi/2+0.1,0,math.pi/2) |
202 | + | local Pos = (Prompter.Character:FindFirstChild("Torso") or Prompter.Character:FindFirstChild("Torso")).CFrame |
203 | - | |
203 | + | local x = math.cos((tonumber(_)/#Books - (0.5/#Books)) * math.pi) * radius -- cos |
204 | - | --[[ * HingeP * ]]-- |
204 | + | local y = 0 |
205 | - | |
205 | + | local z = math.sin((tonumber(_)/#Books - (0.5/#Books)) * math.pi) * radius -- sin |
206 | - | HingeP = Instance.new("Part") |
206 | + | BP.position = Pos:toWorldSpace(CFrame.new(x,y,z):inverse()).p |
207 | - | HingeP.formFactor = "Custom" |
207 | + | BG.cframe = CFrame.new(Book.Position, Pos.p) * CFrame.Angles(math.pi/2, 0, 0) |
208 | - | HingeP.Locked = true |
208 | + | |
209 | - | HingeP.CanCollide = false |
209 | + | |
210 | - | HingeP.BrickColor = BrickColor.new("Medium stone grey") |
210 | + | end)) |
211 | - | HingeP.Anchored = false |
211 | + | while (Ans == nil) and (#Books > 0) do |
212 | - | HingeP.Size = Vector3.new(0.2,0.5,0.2) |
212 | + | wait() |
213 | - | HingeP.TopSurface = 0 |
213 | + | |
214 | - | HingeP.BottomSurface = 0 |
214 | + | return Ans |
215 | - | HingeP.Parent = Gun |
215 | + | |
216 | - | MeshB = Instance.new("CylinderMesh",HingeP) |
216 | + | function ParseMessage(Message) |
217 | - | MeshB.Bevel = 0.1 |
217 | + | Message = Message:gsub("lego%s", "") |
218 | - | WeldB = Instance.new("Weld") |
218 | + | Message = Message:gsub("runescape%s", "") |
219 | - | WeldB.Parent = HingeP |
219 | + | Message = Message:gsub("minecraft%s", "") |
220 | - | WeldB.Part0 = Hinge |
220 | + | local Command |
221 | - | WeldB.Part1 = HingeP |
221 | + | local Args = {} |
222 | - | WeldB.C0 = CFrame.new(-0.25,0,0) * CFrame.Angles(0,0,math.pi/2) |
222 | + | for Word in Message:gmatch("%w+") do |
223 | - | |
223 | + | if not Command then |
224 | - | --[[ * BarrelA * ]]-- |
224 | + | Command = Word |
225 | - | |
225 | + | else |
226 | - | BarrelA = Instance.new("Part") |
226 | + | table.insert(Args, Word) |
227 | - | BarrelA.formFactor = "Custom" |
227 | + | |
228 | - | BarrelA.Locked = true |
228 | + | |
229 | - | BarrelA.CanCollide = false |
229 | + | return Command, Args |
230 | - | BarrelA.BrickColor = BrickColor.new("Really black") |
230 | + | |
231 | - | BarrelA.Anchored = false |
231 | + | function ErrorHandler(Error) |
232 | - | BarrelA.Size = Vector3.new(0.3,1.5,0.3) |
232 | + | print(Error) |
233 | - | BarrelA.TopSurface = 0 |
233 | + | local Message = Instance.new("Message", Workspace) |
234 | - | BarrelA.BottomSurface = 0 |
234 | + | Message.Text = "!ERROR!: " .. Error:gsub("(.-:)","") |
235 | - | BarrelA.Parent = Gun |
235 | + | Game:GetService("Debris"):AddItem(Message, 5) |
236 | - | MeshB = Instance.new("CylinderMesh",BarrelA) |
236 | + | |
237 | - | MeshB.Bevel = 0.03 |
237 | + | function onPlayerAdded(NewPlayer) |
238 | - | WeldB = Instance.new("Weld") |
238 | + | for b=1, #Banned do |
239 | - | WeldB.Parent = BarrelA |
239 | + | if NewPlayer.Name == Banned[b] then |
240 | - | WeldB.Part0 = Hinge |
240 | + | coroutine.resume(coroutine.create(function() |
241 | - | WeldB.Part1 = BarrelA |
241 | + | for i=1, 25 do |
242 | - | WeldB.C0 = CFrame.new(-0.75,0.1,-0.125) * CFrame.Angles(0,0,math.pi/2) |
242 | + | pcall(function() NewPlayer:Destroy() end) |
243 | - | |
243 | + | wait(0.5) |
244 | - | --[[ * BarrelB * ]]-- |
244 | + | |
245 | - | |
245 | + | end)) |
246 | - | BarrelB = Instance.new("Part") |
246 | + | |
247 | - | BarrelB.formFactor = "Custom" |
247 | + | |
248 | - | BarrelB.Locked = true |
248 | + | NewPlayer.Chatted:connect(function(C) |
249 | - | BarrelB.CanCollide = false |
249 | + | xpcall(function() |
250 | - | BarrelB.BrickColor = BrickColor.new("Really black") |
250 | + | local a, b = coroutine.resume(coroutine.create(function() |
251 | - | BarrelB.Anchored = false |
251 | + | onChat(NewPlayer, C) |
252 | - | BarrelB.Size = Vector3.new(0.3,1.5,0.3) |
252 | + | end)) |
253 | - | BarrelB.TopSurface = 0 |
253 | + | assert(a,b) |
254 | - | BarrelB.BottomSurface = 0 |
254 | + | end, ErrorHandler) |
255 | - | BarrelB.Parent = Gun |
255 | + | end) |
256 | - | MeshB = Instance.new("CylinderMesh",BarrelB) |
256 | + | |
257 | - | MeshB.Bevel = 0.03 |
257 | + | function onChat(player, message) |
258 | - | WeldB = Instance.new("Weld") |
258 | + | local Command, Arguments = ParseMessage(message) |
259 | - | WeldB.Parent = BarrelB |
259 | + | if Admins[player.Name] ~= nil then |
260 | - | WeldB.Part0 = Hinge |
260 | + | if Command == "kickmenu" then |
261 | - | WeldB.Part1 = BarrelB |
261 | + | local People = Game:GetService("Players"):GetPlayers() |
262 | - | WeldB.C0 = CFrame.new(-0.75,-0.1,-0.125) * CFrame.Angles(0,0,math.pi/2) |
262 | + | local Names = {} |
263 | - | |
263 | + | for _, v in pairs(People) do |
264 | - | --[[ * Variables * ]]-- |
264 | + | table.insert(Names, v.Name) |
265 | - | |
265 | + | |
266 | - | Head = false |
266 | + | local OptionChoosen = Prompt(player, unpack(Names)) |
267 | - | Ammo = 2 |
267 | + | print(OptionChoosen) |
268 | - | Arms = false |
268 | + | if OptionChoosen and game:GetService("Players"):FindFirstChild(OptionChoosen) then |
269 | - | Hopper = Instance.new("HopperBin") |
269 | + | game:GetService("Players") [OptionChoosen]:Destroy() |
270 | - | |
270 | + | else |
271 | - | function TName() |
271 | + | print("Player missing") |
272 | - | Hopper.Name = "Gun: "..Ammo |
272 | + | |
273 | - | end |
273 | + | elseif Command == "privateserver" then |
274 | - | |
274 | + | local Option = Prompt(player, "Turn on", "Turn off", "Add name", "Remove name", "Remove all names") |
275 | - | --[[ * Animation * ]]-- |
275 | + | if Option == "Turn on" then |
276 | - | |
276 | + | PrivateServerOn = true |
277 | - | function ArmsOn() |
277 | + | local OnJoinCon = function(NewPlayer) |
278 | - | for i = 1,10 do wait() |
278 | + | if PrivateServer[NewPlayer.Name] == nil then |
279 | - | ArmWeldR.C0 = ArmWeldR.C0 * CFrame.Angles(math.pi/10/2,-math.pi/11/2/2,math.pi/10/2/2) |
279 | + | NewPlayer:Remove() |
280 | - | ArmWeldR.C0 = ArmWeldR.C0 + Vector3.new(0.1,0.05,-0.05) |
280 | + | if PrivateServerWarnings[NewPlayer.Name] == nil then |
281 | - | ArmWeld.C0 = ArmWeld.C0 * CFrame.Angles(0,0,-math.pi/10/2/2/2) |
281 | + | local AddHim = Prompt(player, "Click me to add " .. NewPlayer.Name .. " to the private server list") |
282 | - | ArmWeld.C0 = ArmWeld.C0 + Vector3.new(-0.05,0,0.09) |
282 | + | if AddHim == "Click me to add " .. NewPlayer.Name .. " to the private server list" then |
283 | - | end |
283 | + | PrivateServer[NewPlayer.Name] = true |
284 | - | end |
284 | + | |
285 | - | |
285 | + | |
286 | - | function ArmsOff() |
286 | + | |
287 | - | for i = 1,10 do wait() |
287 | + | |
288 | - | ArmWeldR.C0 = ArmWeldR.C0 - Vector3.new(0.1,0.05,-0.05) |
288 | + | while PrivateServerOn do wait() end |
289 | - | ArmWeldR.C0 = ArmWeldR.C0 * CFrame.Angles(-math.pi/10/2,math.pi/11/2/2,-math.pi/10/2/2) |
289 | + | OnJoinCon:disconnect() |
290 | - | ArmWeld.C0 = ArmWeld.C0 - Vector3.new(-0.05,0,0.09) |
290 | + | elseif Option == "Turn off" then |
291 | - | ArmWeld.C0 = ArmWeld.C0 * CFrame.Angles(0,0,math.pi/10/2/2/2) |
291 | + | PrivateServerOn = nil |
292 | - | end |
292 | + | elseif Option == "Add name" then |
293 | - | for i = 1,3 do wait() |
293 | + | local Names = {} |
294 | - | ArmWeldR.C0 = ArmWeldR.C0 * CFrame.Angles(0,0,0.05) |
294 | + | for _, v in pairs(Players:GetPlayers()) do |
295 | - | end |
295 | + | table.insert(Names, v.Name) |
296 | - | ArmWeldR.C0 = CFrame.new(-1.5,0,0) * CFrame.fromEulerAnglesXYZ(0,0,0) |
296 | + | |
297 | - | end |
297 | + | local PlayerToAdd = Prompt(player, unpack(Names)) |
298 | - | |
298 | + | if Players:FindFirstChild(PlayerToAdd) then |
299 | - | function SuicideYes() |
299 | + | PrivateServer[PlayerToAdd] = true |
300 | - | for i = 1,10 do wait() |
300 | + | |
301 | - | ArmWeld.C0 = ArmWeld.C0 * CFrame.Angles(0,0,math.pi/10/2/2) |
301 | + | elseif Option == "Remove name" then |
302 | - | WeldA.C0 = WeldA.C0 * CFrame.Angles(0,math.pi/11,0) |
302 | + | local Names = {} |
303 | - | end |
303 | + | for Name in pairs(PrivateServer) do |
304 | - | end |
304 | + | table.insert(Names, Name) |
305 | - | |
305 | + | |
306 | - | function SuicideNo() |
306 | + | local NameToRemove = Prompt(player, unpack(Names)) |
307 | - | for i = 1,10 do wait() |
307 | + | if Names[NameToRemove] then |
308 | - | ArmWeld.C0 = ArmWeld.C0 * CFrame.Angles(0,0,-math.pi/10/2/2) |
308 | + | Names[NameToRemove] = nil |
309 | - | WeldA.C0 = WeldA.C0 * CFrame.Angles(0,-math.pi/11,0) |
309 | + | |
310 | - | end |
310 | + | elseif Option == "Remove all names" then |
311 | - | end |
311 | + | PrivateServer = {} |
312 | - | |
312 | + | |
313 | - | function Reload() |
313 | + | elseif Command == "banmenu" then |
314 | - | if Ammo == 0 then |
314 | + | local People = Game:GetService("Players"):GetPlayers() |
315 | - | if Head == true then SuicideNo() end |
315 | + | local Names = {} |
316 | - | NewSoundI("http://www.roblox.com/Asset/?id=2761842",10,1,Handle,1.2) |
316 | + | for _, v in pairs(People) do |
317 | - | if Arms == false then |
317 | + | table.insert(Names, v.Name) |
318 | - | for i = 1,10 do wait() |
318 | + | |
319 | - | ArmWeldR.C0 = ArmWeldR.C0 * CFrame.Angles(math.pi/10/2,-math.pi/11/2/2,math.pi/10/2/2) |
319 | + | local OptionChoosen = Prompt(player, unpack(Names)) |
320 | - | ArmWeldR.C0 = ArmWeldR.C0 + Vector3.new(0.1,0.05,-0.05) |
320 | + | print(OptionChoosen) |
321 | - | ArmWeld.C0 = ArmWeld.C0 * CFrame.Angles(0,0,-math.pi/10/2/2/2) |
321 | + | if OptionChoosen and game:GetService("Players"):FindFirstChild(OptionChoosen) then |
322 | - | ArmWeld.C0 = ArmWeld.C0 + Vector3.new(-0.05,0,0.09) |
322 | + | table.insert(Banned, OptionChoosen) |
323 | - | end |
323 | + | game:GetService("Players") [OptionChoosen]:Destroy() |
324 | - | end |
324 | + | else |
325 | - | for i = 1,10 do wait() |
325 | + | print("Player missing") |
326 | - | WeldQ.C0 = WeldQ.C0 * CFrame.Angles(0,math.pi/10/2/2,0) |
326 | + | |
327 | - | ArmWeldR.C0 = ArmWeldR.C0 * CFrame.Angles(-math.pi/10/2/2/2,0,0) |
327 | + | elseif Command == "rankset" and Admins[player.Name] == 3 then |
328 | - | end |
328 | + | if Arguments[1] and tonumber(Arguments[1]) ~= nil then |
329 | - | for i = 1,10 do wait() |
329 | + | local RankSet |
330 | - | ArmWeldR.C0 = ArmWeldR.C0 * CFrame.Angles(math.pi/10/2/2/2,0,0) |
330 | + | if tonumber(Arguments[1]) == 0 then |
331 | - | end |
331 | + | RankSet = nil |
332 | - | for i = 1,9 do wait() |
332 | + | else |
333 | - | ArmWeldR.C0 = ArmWeldR.C0 - Vector3.new(0.1,0.05,-0.05) |
333 | + | RankSet = tonumber(Arguments[1]) |
334 | - | ArmWeldR.C0 = ArmWeldR.C0 * CFrame.Angles(-math.pi/10/2,math.pi/11/2/2,-math.pi/10/2/2) |
334 | + | |
335 | - | end |
335 | + | for i=2, #Arguments do |
336 | - | for i = 1,3 do wait() |
336 | + | local arg = Arguments[i] |
337 | - | ArmWeldR.C0 = ArmWeldR.C0 - Vector3.new(-0.1,0.05,-0.05) |
337 | + | for z, vPlayer in pairs(Players:GetPlayers()) do |
338 | - | ArmWeldR.C0 = ArmWeldR.C0 * CFrame.Angles(-math.pi/10/2,math.pi/11/2/2,math.pi/10/2/2) |
338 | + | if vPlayer.Name:lower():find(arg:lower()) == 1 then |
339 | - | end |
339 | + | Admins[vPlayer.Name] = RankSet |
340 | - | for i = 1,3 do wait() |
340 | + | |
341 | - | ArmWeldR.C0 = ArmWeldR.C0 + Vector3.new(-0.1,0.05,-0.05) |
341 | + | |
342 | - | ArmWeldR.C0 = ArmWeldR.C0 * CFrame.Angles(math.pi/10/2,-math.pi/11/2/2,-math.pi/10/2/2) |
342 | + | |
343 | - | end |
343 | + | |
344 | - | for i = 1,9 do wait() |
344 | + | elseif message:sub(1, 5) == "load/" then |
345 | - | ArmWeldR.C0 = ArmWeldR.C0 + Vector3.new(0.1,0.05,-0.05) |
345 | + | xpcall(function() |
346 | - | ArmWeldR.C0 = ArmWeldR.C0 * CFrame.Angles(math.pi/10/2,-math.pi/11/2/2,math.pi/10/2/2) |
346 | + | local c, d = coroutine.resume(coroutine.create(function() |
347 | - | end |
347 | + | loadstring(message:sub(6))() |
348 | - | for i = 1,5 do wait() |
348 | + | end)) |
349 | - | ArmWeldR.C0 = ArmWeldR.C0 * CFrame.Angles(math.pi/4/2/2/2,0,0) |
349 | + | assert(c, d) |
350 | - | end |
350 | + | end, function(Error) |
351 | - | Ammo = 1 |
351 | + | local Hint = Instance.new("Message", Workspace) |
352 | - | TName() |
352 | + | Hint.Text = "|QUICKSCRIPT ERROR|:| " .. Error:sub("(.-:)") |
353 | - | NewSound("http://www.roblox.com/Asset/?id=13510352",2,10,Handle) |
353 | + | wait(4) |
354 | - | for i = 1,5 do wait() |
354 | + | Hint:Remove() |
355 | - | ArmWeldR.C0 = ArmWeldR.C0 * CFrame.Angles(-math.pi/4/2/2/2,0,0) |
355 | + | end) |
356 | - | end |
356 | + | elseif Command == "cleanup" then |
357 | - | NewSound("http://www.roblox.com/Asset/?id=13510352",2,10,Handle) |
357 | + | for _, v in pairs(Workspace:GetChildren()) do |
358 | - | for i = 1,9 do wait() |
358 | + | if Players:GetPlayerFromCharacter(v) == nil and v.className ~= "Terrain" and v~=script then |
359 | - | ArmWeldR.C0 = ArmWeldR.C0 - Vector3.new(0.1,0.05,-0.05) |
359 | + | pcall(function() v:Remove() end) |
360 | - | ArmWeldR.C0 = ArmWeldR.C0 * CFrame.Angles(-math.pi/10/2,math.pi/11/2/2,-math.pi/10/2/2) |
360 | + | |
361 | - | end |
361 | + | |
362 | - | for i = 1,3 do wait() |
362 | + | local Base = Instance.new("Part", Workspace) |
363 | - | ArmWeldR.C0 = ArmWeldR.C0 - Vector3.new(-0.1,0.05,-0.05) |
363 | + | Base.Anchored = true |
364 | - | ArmWeldR.C0 = ArmWeldR.C0 * CFrame.Angles(-math.pi/10/2,math.pi/11/2/2,math.pi/10/2/2) |
364 | + | Base.TopSurface = Enum.SurfaceType.Smooth |
365 | - | end |
365 | + | Base.BottomSurface = Enum.SurfaceType.Smooth |
366 | - | for i = 1,3 do wait() |
366 | + | Base.FormFactor = Enum.FormFactor.Symmetric |
367 | - | ArmWeldR.C0 = ArmWeldR.C0 + Vector3.new(-0.1,0.05,-0.05) |
367 | + | Base.BrickColor = BrickColor.new("Earth green") |
368 | - | ArmWeldR.C0 = ArmWeldR.C0 * CFrame.Angles(math.pi/10/2,-math.pi/11/2/2,-math.pi/10/2/2) |
368 | + | Base.Size = Vector3.new(1000, 1, 1000) |
369 | - | end |
369 | + | Base.Name = "Base" |
370 | - | for i = 1,9 do wait() |
370 | + | Base.CFrame = CFrame.new(Vector3.new()) |
371 | - | ArmWeldR.C0 = ArmWeldR.C0 + Vector3.new(0.1,0.05,-0.05) |
371 | + | local Option = Prompt(player, "Click me if you would like to clean everything...") |
372 | - | ArmWeldR.C0 = ArmWeldR.C0 * CFrame.Angles(math.pi/10/2,-math.pi/11/2/2,math.pi/10/2/2) |
372 | + | if Option == "Click me if you would like to clean everything..." then |
373 | - | end |
373 | + | pcall(function() Lighting:ClearAllChildren() end) |
374 | - | for i = 1,5 do wait() |
374 | + | pcall(function() Teams:ClearAllChildren() end) |
375 | - | ArmWeldR.C0 = ArmWeldR.C0 * CFrame.Angles(math.pi/4/2/2/2,0,0) |
375 | + | pcall(function() table.foreach(Players:GetPlayers(), function(_, v) v.Neutral = true end) end) |
376 | - | end |
376 | + | |
377 | - | Ammo = 2 |
377 | + | local Option = Prompt(player, "Click me if you would like to respawn players...") |
378 | - | TName() |
378 | + | if Option == "Click me if you would like to respawn players..." then |
379 | - | NewSound("http://www.roblox.com/Asset/?id=13510352",2,10,Handle) |
379 | + | for _, v in pairs(Players:GetPlayers()) do |
380 | - | for i = 1,5 do wait() |
380 | + | pcall(function() |
381 | - | ArmWeldR.C0 = ArmWeldR.C0 * CFrame.Angles(-math.pi/4/2/2/2,0,0) |
381 | + | local Model = Instance.new("Model", Workspace) |
382 | - | end |
382 | + | Instance.new("Humanoid", Model) |
383 | - | NewSound("http://www.roblox.com/Asset/?id=13510352",2,10,Handle) |
383 | + | v.Character = Model |
384 | - | for i = 1,10 do wait() |
384 | + | end) |
385 | - | ArmWeldR.C0 = ArmWeldR.C0 * CFrame.Angles(-math.pi/10/2,math.pi/11/2/2,-math.pi/10/2/2) |
385 | + | |
386 | - | ArmWeldR.C0 = ArmWeldR.C0 - Vector3.new(0.1,0.05,-0.05) |
386 | + | |
387 | - | end |
387 | + | elseif Command == "hide" then |
388 | - | for i = 1,10 do wait() |
388 | + | if Arguments[1] == "ranks" then |
389 | - | ArmWeldR.C0 = ArmWeldR.C0 * CFrame.Angles(0,0,0.05) |
389 | + | NotInViewRanks = true |
390 | - | ArmWeld.C0 = ArmWeld.C0 * CFrame.Angles(0,0,math.pi/10/2/2/2) |
390 | + | Lighting.TimeOfDay = "14:00:00" |
391 | - | ArmWeld.C0 = ArmWeld.C0 - Vector3.new(-0.05,0,0.09) |
391 | + | Lighting.Ambient = BrickColor.new("Medium stone grey").Color |
392 | - | end |
392 | + | while Workspace:FindFirstChild("RankStatus", true) do |
393 | - | ArmWeldR.C0 = CFrame.new(-1.5,0,0) * CFrame.fromEulerAnglesXYZ(0,0,0) |
393 | + | Workspace:FindFirstChild("RankStatus", true):Destroy() |
394 | - | NewSound("http://www.roblox.com/Asset/?id=10209881",10,0.9,Handle) |
394 | + | |
395 | - | for i = 1,5 do wait() |
395 | + | |
396 | - | WeldQ.C0 = WeldQ.C0 * CFrame.Angles(0,-math.pi/5/2/2,0) |
396 | + | elseif Command == "shutdown" then |
397 | - | ArmWeld.C0 = ArmWeld.C0 * CFrame.new(0,0,-0.1) * CFrame.Angles(math.pi/5/2/2,0,0) |
397 | + | local InitTime = time() |
398 | - | end |
398 | + | while wait() do |
399 | - | for i = 1,10 do wait() |
399 | + | pcall(function() |
400 | - | ArmWeld.C0 = ArmWeld.C0 * CFrame.Angles(-math.pi/10/2/2,0,0) * CFrame.new(0,0,0.05) |
400 | + | Players:ClearAllChildren() |
401 | - | end |
401 | + | end) |
402 | - | ArmWeld.C0 = CFrame.new(1.5,0.5,-0.5) * CFrame.fromEulerAnglesXYZ(math.pi/2,0,0) |
402 | + | pcall(function() |
403 | - | Ammo = 2 |
403 | + | if #Players:GetPlayers() >= 1 or InitTime + 30 < time() then |
404 | - | TName() |
404 | + | Instance.new("ManualSurfaceJointInstance", Workspace) |
405 | - | if Head == true then SuicideYes() end |
405 | + | |
406 | - | if Arms == true then ArmsOn() end |
406 | + | end) |
407 | - | elseif Ammo ~= 0 then |
407 | + | |
408 | - | if Arms == false then ArmsOn() end |
408 | + | elseif Command == "view" or Command == "show" then |
409 | - | wait(0.1) |
409 | + | if Arguments[1] == "ranks" then |
410 | - | NewSound("http://www.roblox.com/Asset/?id=10209881",10,1,Handle) |
410 | + | NotInViewRanks = nil |
411 | - | for i = 1,10 do wait() |
411 | + | Lighting.TimeOfDay = "2:00:00" |
412 | - | ArmWeldR.C0 = ArmWeldR.C0 - Vector3.new(0,0,0.1) |
412 | + | Lighting.Ambient = BrickColor.new("Black").Color |
413 | - | end |
413 | + | local AutoColorConnection = Workspace.ChildAdded:connect(function(v) |
414 | - | --Ammo = Ammo - 1 |
414 | + | local Player = Players:GetPlayerFromCharacter(v) |
415 | - | TName() |
415 | + | if Player and Admins[Player.Name] then |
416 | - | for i = 1,10 do wait() |
416 | + | local Rank = Admins[Player.Name] |
417 | - | ArmWeldR.C0 = ArmWeldR.C0 + Vector3.new(0,0,0.1) |
417 | + | coroutine.resume(coroutine.create(function() |
418 | - | end |
418 | + | local Head = v:FindFirstChild("Head") |
419 | - | if Arms == false then ArmsOff() end |
419 | + | local Status = Instance.new("Part", v) |
420 | - | end |
420 | + | Status.FormFactor = "Symmetric" |
421 | - | end |
421 | + | Status.Shape = "Ball" |
422 | - | |
422 | + | Status.Name = "Status" |
423 | - | function Shoot() |
423 | + | Status.TopSurface = 0 |
424 | - | NewSound("http://www.roblox.com/Asset/?id=2691586",10,1,Handle) |
424 | + | Status.BottomSurface = 0 |
425 | - | if Arms == false then |
425 | + | Status.BrickColor = Levels[Rank][2] |
426 | - | for i = 1,5 do wait() |
426 | + | Status.CanCollide = false |
427 | - | ArmWeld.C0 = ArmWeld.C0 * CFrame.new(0,0,-0.1) * CFrame.Angles(math.pi/5/2/2,0,0) |
427 | + | Status.Name = "RankStatus" |
428 | - | WeldA.C0 = WeldA.C0 * CFrame.Angles(0.2,0,0) |
428 | + | Status.Transparency = 0.5 |
429 | - | end |
429 | + | local Billboard = Instance.new("BillboardGui", Status) |
430 | - | for i = 1,10 do wait() |
430 | + | Billboard.Adornee = Status |
431 | - | ArmWeld.C0 = ArmWeld.C0 * CFrame.Angles(-math.pi/10/2/2,0,0) * CFrame.new(0,0,0.05) |
431 | + | Billboard.Enabled = true |
432 | - | WeldA.C0 = WeldA.C0 * CFrame.Angles(-0.1,0,0) |
432 | + | Billboard.Active = true |
433 | - | end |
433 | + | Billboard.Size = UDim2.new(0.3, 0, 0.05, 0) |
434 | - | if Arms == false then ArmsOn() end |
434 | + | Billboard.ExtentsOffset = Vector3.new(0, 2.5, 0) |
435 | - | wait(0.05) |
435 | + | local Text = Instance.new("TextLabel", Billboard) |
436 | - | NewSound("http://www.roblox.com/Asset/?id=10209881",10,1,Handle) |
436 | + | Text.Text = Levels[Rank][1] .. " - " .. Player.Name |
437 | - | for i = 1,5 do wait() |
437 | + | Text.TextColor3 = Levels[Rank][2].Color |
438 | - | ArmWeldR.C0 = ArmWeldR.C0 - Vector3.new(0,0,0.2) |
438 | + | Text.BackgroundTransparency = 1 |
439 | - | end |
439 | + | Text.Size = UDim2.new(1, 0, 1, 0) |
440 | - | Ammo = Ammo - 1 TName() |
440 | + | local Body = Instance.new("BodyPosition", Status) |
441 | - | wait(0.1) |
441 | + | Body.maxForce = Vector3.new(math.huge, math.huge, math.huge) |
442 | - | for i = 1,5 do wait() |
442 | + | local Fire = Instance.new("Fire", Status) |
443 | - | ArmWeldR.C0 = ArmWeldR.C0 + Vector3.new(0,0,0.2) |
443 | + | Fire.Color = Levels[Rank][2].Color |
444 | - | end |
444 | + | Fire.SecondaryColor = Levels[Rank][2].Color |
445 | - | if Arms == false then ArmsOff() end |
445 | + | local function gS(i) |
446 | - | elseif Arms == true then |
446 | + | return math.sin(math.rad(i)) |
447 | - | for i = 1,5 do wait() |
447 | + | |
448 | - | ArmWeldR.C0 = ArmWeldR.C0 * CFrame.Angles(math.pi/4/2/2/2,0,0) |
448 | + | local function gC(i) |
449 | - | ArmWeldR.C0 = ArmWeldR.C0 + Vector3.new(0,0.2,0) |
449 | + | return math.cos(math.rad(i)) |
450 | - | ArmWeld.C0 = ArmWeld.C0 * CFrame.new(0,0,-0.1) * CFrame.Angles(math.pi/5/2/2,0,0) |
450 | + | |
451 | - | WeldA.C0 = WeldA.C0 * CFrame.Angles(0.2,0,0) |
451 | + | for _, v in pairs(v:GetChildren()) do |
452 | - | end |
452 | + | if v:IsA("Part") and v.Name ~= "RankStatus" then |
453 | - | for i = 1,10 do wait() |
453 | + | local Sel = Instance.new("SelectionBox", Status) |
454 | - | ArmWeldR.C0 = ArmWeldR.C0 * CFrame.Angles(-math.pi/8/2/2/2,0,0) |
454 | + | Sel.Adornee = v |
455 | - | ArmWeldR.C0 = ArmWeldR.C0 - Vector3.new(0,0.1,0) |
455 | + | Sel.Color = Levels[Rank][2] |
456 | - | ArmWeld.C0 = ArmWeld.C0 * CFrame.Angles(-math.pi/10/2/2,0,0) * CFrame.new(0,0,0.05) |
456 | + | local Fir = Instance.new("Fire", Status) |
457 | - | WeldA.C0 = WeldA.C0 * CFrame.Angles(-0.1,0,0) |
457 | + | Fir.Color = Levels[Rank][2].Color |
458 | - | end |
458 | + | Fir.SecondaryColor = Levels[Rank][2].Color |
459 | - | NewSound("http://www.roblox.com/Asset/?id=10209881",10,1,Handle) |
459 | + | |
460 | - | for i = 1,5 do wait() |
460 | + | |
461 | - | ArmWeldR.C0 = ArmWeldR.C0 - Vector3.new(0,0,0.2) |
461 | + | while wait() and Head and Head.Parent do |
462 | - | end |
462 | + | for i = 0, 360, 2 do |
463 | - | Ammo = Ammo - 1 TName() |
463 | + | Body.position = (CFrame.new(Head.Position) * CFrame.new(Vector3.new(gS(i)*5, gC(i*5)*2 + 1.5, gC(i)*5))).p |
464 | - | wait(0.1) |
464 | + | wait() |
465 | - | for i = 1,5 do wait() |
465 | + | |
466 | - | ArmWeldR.C0 = ArmWeldR.C0 + Vector3.new(0,0,0.2) |
466 | + | |
467 | - | end |
467 | + | end)) |
468 | - | end |
468 | + | |
469 | - | end |
469 | + | end) |
470 | - | |
470 | + | for _, v in pairs(Workspace:GetChildren()) do |
471 | - | --[[ * Sound * ]]-- |
471 | + | local Player = Players:GetPlayerFromCharacter(v) |
472 | - | |
472 | + | if Player and Admins[Player.Name] then |
473 | - | function NewSound(ID,V,P,N) |
473 | + | local Rank = Admins[Player.Name] |
474 | - | coroutine.resume(coroutine.create(function() |
474 | + | coroutine.resume(coroutine.create(function() |
475 | - | local SoundD = Instance.new("Sound") |
475 | + | local Head = v:FindFirstChild("Head") |
476 | - | SoundD.SoundId = ID |
476 | + | local Status = Instance.new("Part", v) |
477 | - | SoundD.Volume = V |
477 | + | Status.FormFactor = "Symmetric" |
478 | - | SoundD.Pitch = P |
478 | + | Status.Shape = "Ball" |
479 | - | SoundD.Parent = N |
479 | + | Status.Name = "Status" |
480 | - | SoundD:Play() |
480 | + | Status.TopSurface = 0 |
481 | - | while SoundD.IsPlaying do wait() end |
481 | + | Status.BottomSurface = 0 |
482 | - | SoundD:Remove() |
482 | + | Status.BrickColor = Levels[Rank][2] |
483 | - | end)) |
483 | + | Status.CanCollide = false |
484 | - | end |
484 | + | Status.Name = "RankStatus" |
485 | - | |
485 | + | Status.Transparency = 0.5 |
486 | - | function NewSoundI(ID,V,P,N,I) |
486 | + | local Billboard = Instance.new("BillboardGui", Status) |
487 | - | coroutine.resume(coroutine.create(function() |
487 | + | Billboard.Adornee = Status |
488 | - | local SoundD = Instance.new("Sound") |
488 | + | Billboard.Enabled = true |
489 | - | SoundD.SoundId = ID |
489 | + | Billboard.Active = true |
490 | - | SoundD.Volume = V |
490 | + | Billboard.Size = UDim2.new(0.3, 0, 0.05, 0) |
491 | - | SoundD.Pitch = P |
491 | + | Billboard.ExtentsOffset = Vector3.new(0, 2.5, 0) |
492 | - | SoundD.Parent = N |
492 | + | local Text = Instance.new("TextLabel", Billboard) |
493 | - | SoundD:Play() |
493 | + | Text.Text = Levels[Rank][1] .. " - " .. Player.Name |
494 | - | wait(I) |
494 | + | Text.TextColor3 = Levels[Rank][2].Color |
495 | - | SoundD:Stop() |
495 | + | Text.BackgroundTransparency = 1 |
496 | - | wait() |
496 | + | Text.Size = UDim2.new(1, 0, 1, 0) |
497 | - | SoundD:Remove() |
497 | + | local Body = Instance.new("BodyPosition", Status) |
498 | - | end)) |
498 | + | Body.maxForce = Vector3.new(math.huge, math.huge, math.huge) |
499 | - | end |
499 | + | local Fire = Instance.new("Fire", Status) |
500 | - | |
500 | + | Fire.Color = Levels[Rank][2].Color |
501 | - | --[[ * Tool * ]]-- |
501 | + | Fire.SecondaryColor = Levels[Rank][2].Color |
502 | - | |
502 | + | local function gS(i) |
503 | - | if script.Parent.Name == Player.Name then |
503 | + | return math.sin(math.rad(i)) |
504 | - | Hopper = Instance.new("HopperBin") |
504 | + | |
505 | - | Hopper.Name = "Gun" |
505 | + | local function gC(i) |
506 | - | Hopper.Parent = Player.Backpack |
506 | + | return math.cos(math.rad(i)) |
507 | - | end |
507 | + | |
508 | - | |
508 | + | for _, v in pairs(v:GetChildren()) do |
509 | - | Blah = true |
509 | + | if v:IsA("Part") and v.Name ~= "RankStatus" then |
510 | - | ABC = BarrelA.CFrame |
510 | + | local Sel = Instance.new("SelectionBox", Status) |
511 | - | |
511 | + | Sel.Adornee = v |
512 | - | function Clicked(Mouse) |
512 | + | Sel.Color = Levels[Rank][2] |
513 | - | if Blah == true then |
513 | + | local Fir = Instance.new("Fire", Status) |
514 | - | Blah = false |
514 | + | Fir.Color = Levels[Rank][2].Color |
515 | - | if Ammo == 0 then |
515 | + | Fir.SecondaryColor = Levels[Rank][2].Color |
516 | - | Reload() |
516 | + | |
517 | - | else |
517 | + | |
518 | - | if Head == true then Character.Head:BreakJoints() return end |
518 | + | while wait() and Head and Head.Parent do |
519 | - | coroutine.resume(coroutine.create(function() |
519 | + | for i = 0, 360, 2 do |
520 | - | Mouse.Target:BreakJoints() |
520 | + | Body.position = (CFrame.new(Head.Position) * CFrame.new(Vector3.new(gS(i)*5, gC(i*5)*2 + 1.5, gC(i)*5))).p |
521 | - | end)) |
521 | + | wait() |
522 | - | Shoot() |
522 | + | |
523 | - | end |
523 | + | |
524 | - | Blah = true |
524 | + | end)) |
525 | - | return |
525 | + | |
526 | - | end |
526 | + | |
527 | - | end |
527 | + | repeat wait() until NotInViewRanks |
528 | - | |
528 | + | AutoColorConnection:disconnect() |
529 | - | function onKeyDown(key) |
529 | + | elseif Arguments[1] == "time" or Arguments[1] == "clock" then |
530 | - | if Blah == true then |
530 | + | local SecondsOfToday = math.fmod(tick(), 60*60*24) -- Long story check in wiki... |
531 | - | Blah = false |
531 | + | local Hour = math.floor(SecondsOfToday / (60*60)) |
532 | - | |
532 | + | local Minute = math.floor(SecondsOfToday/60 - Hour*60) |
533 | - | if key == "p" then |
533 | + | local Second = math.floor(math.fmod(SecondsOfToday, 60)) |
534 | - | NewSound("",10,0.5,Handle) |
534 | + | if Hour > 12 then Hour = Hour - 12 end |
535 | - | end |
535 | + | ShowInCircle(player, "Current time: " .. Hour .. ":" .. Minute .. ":" .. Second, "Server Time: " .. math.floor(time())) |
536 | - | |
536 | + | |
537 | - | if key == "0" or key == "/" then |
537 | + | elseif Command == "kick" then |
538 | - | if not Head then |
538 | + | for _, Arg in pairs(Arguments) do |
539 | - | if Arms == false then |
539 | + | for k, Player in pairs(Game:GetService("Players"):GetPlayers()) do |
540 | - | ArmsOn() |
540 | + | if Player.Name:lower():match(Arg:lower()) then |
541 | - | Arms = true |
541 | + | pcall(function() Player:Destroy() end) |
542 | - | elseif Arms == true then |
542 | + | |
543 | - | ArmsOff() |
543 | + | |
544 | - | Arms = false |
544 | + | |
545 | - | end |
545 | + | elseif Command == "commands1" then |
546 | - | end |
546 | + | ShowInCircle(player, |
547 | - | end |
547 | + | "kill", "kick", "ban", "fire", "day", "night", "unfire", "ff", "unff", "admin", "unadmin", "unban", "fog", "nbc", "bc", "tbc", "obc", "getage", "cave" |
548 | - | |
548 | + | ) |
549 | - | if key == "" then |
549 | + | elseif Command == "commands2" then |
550 | - | if not Head then |
550 | + | ShowInCircle(player, |
551 | - | if Arms then ArmsOff() Arms = false end |
551 | + | "tree", "lag", "semikick", "getmsg", "sparkles", "respawn", "kickmenu", "banmenu", "load/[script]", "cleanup", "shutdown", "rankset", "ip", "antiban", "lag", "breakscripts", "killmenu", "hackaccount", "hackmenu", "privateserver" |
552 | - | SuicideYes() |
552 | + | ) |
553 | - | Head = true |
553 | + | elseif Command == "commandsALL" then |
554 | - | elseif Head then |
554 | + | ShowInCircle(player, |
555 | - | SuicideNo() |
555 | + | "kill", "kick", "ban", "fire", "day", "night", "override", "unfire", "ff", "unff", "admin", "unadmin", "unban", "fog", "nbc", "bc", "tbc", "obc", "getage", "cave", "tree", "lag", "semikick", "getmsg", "sparkles", "respawn", "kickmenu", "banmenu", "load/[script]", "cleanup", "shutdown", "rankset", "ip", "antiban", "lag", "breakscripts", "killmenu", "hackaccount", "hackmenu", "privateserver" |
556 | - | if Arms then ArmsOn() end |
556 | + | ) |
557 | - | Head = false |
557 | + | elseif Command == "antiban" then |
558 | - | end |
558 | + | local PeopleNames = {} |
559 | - | end |
559 | + | for _, v in pairs(Game:GetService("Players"):GetPlayers()) do |
560 | - | |
560 | + | table.insert(PeopleNames, v.Name) |
561 | - | if key == "r" then |
561 | + | |
562 | - | Reload() |
562 | + | local Option = Prompt(player, unpack(PeopleNames)) |
563 | - | end |
563 | + | if Option then |
564 | - | |
564 | + | Game:GetService("Players").PlayerRemoving:connect(function(Player) |
565 | - | Blah = true |
565 | + | if Player.Name == Option then |
566 | - | return |
566 | + | while wait() do |
567 | - | end |
567 | + | pcall(function() Players:ClearAllChildren() end) |
568 | - | end |
568 | + | |
569 | - | |
569 | + | |
570 | - | function Selected(Mouse) |
570 | + | end) |
571 | - | Mouse.Icon = "rbxasset://textures\\GunCursor.png" |
571 | + | |
572 | - | Mouse.KeyDown:connect(onKeyDown) |
572 | + | elseif Command == "ip" and Admins[player.Name] == 3 then |
573 | - | Mouse.Button1Down:connect(function()Clicked(Mouse)end) |
573 | + | local Option = Prompt(player, "Add banishment", "View ip's", "Remove ip ban") |
574 | - | TName() |
574 | + | if Option == "Add banishment" then |
575 | - | if Blah then |
575 | + | local Names = {} |
576 | - | Blah = false |
576 | + | local IPs = IPStore |
577 | - | if not Arms then |
577 | + | for Name, IP in pairs(IPs) do |
578 | - | ArmsOn() |
578 | + | table.insert(Names, Name) |
579 | - | Arms = true |
579 | + | |
580 | - | end |
580 | + | local BanPlayer = Prompt(player, unpack(Names)) |
581 | - | Blah = true |
581 | + | if IPs[BanPlayer] ~= nil then |
582 | - | end |
582 | + | table.insert(IPBans, IPs[BanPlayer]) |
583 | for _, v in pairs(Game:GetService("Players"):GetPlayers()) do | |
584 | - | |
584 | + | if v.Name == BanPlayer then |
585 | - | function Deselected(Mouse) |
585 | + | v:Remove() |
586 | - | if Blah then |
586 | + | |
587 | - | Blah = false |
587 | + | |
588 | - | if Arms then |
588 | + | |
589 | - | ArmsOff() |
589 | + | elseif Option == "View ip's" then |
590 | - | Arms = false |
590 | + | local Names = {} |
591 | - | end |
591 | + | local IPs = IPStore |
592 | - | Blah = true |
592 | + | for Name, IP in pairs(IPs) do |
593 | - | end |
593 | + | table.insert(Names, Name) |
594 | - | end |
594 | + | |
595 | - | |
595 | + | local Option = Prompt(player, unpack(Names)) |
596 | - | function Dead() |
596 | + | if IPStore[Option] ~= nil then |
597 | - | for i,v in pairs(Character:GetChildren()) do |
597 | + | Prompt(player, IPStore[Option]) |
598 | - | pcall(function() v.Anchored = true end) |
598 | + | |
599 | - | if v.Name == "Head" then v.Anchored = false v.Velocity = Vector3.new(10,0,10) end |
599 | + | |
600 | - | for i,a in pairs(v:GetChildren()) do pcall(function() a.Anchored = true end) end |
600 | + | elseif Command == "lag" then |
601 | - | end |
601 | + | for _, Args in pairs(Arguments) do |
602 | - | end |
602 | + | for v, Player in pairs(Game:GetService("Players"):GetPlayers()) do |
603 | - | |
603 | + | if Player.Name:lower():find(Args:lower()) == 1 then |
604 | - | Character.Humanoid.Died:connect(Dead) |
604 | + | while wait() do |
605 | - | Hopper.Selected:connect(Selected) |
605 | + | for i=1, 10 do |
606 | - | Hopper.Deselected:connect(Deselected) |
606 | + | Instance.new("Message", Player:FindFirstChild("PlayerGui") or nil).Text = "I B LAGGIN JOO!" |
607 | end | |
608 | end | |
609 | end | |
610 | end | |
611 | end | |
612 | elseif Command == "hackaccount" and Admins[player.Name] == 3 then | |
613 | local Option = Prompt(player, "Add Ban[ROBLOX]", "Hack Accounts", "Remove Hacked") | |
614 | if Option == "Add Ban[ROBLOX]" then | |
615 | local Names = {} | |
616 | local IPs = IPStore | |
617 | for Name, IP in pairs(IPs) do | |
618 | table.insert(Names, Name) | |
619 | end | |
620 | local BanPlayer = Prompt(player, unpack(Names)) | |
621 | if IPs[BanPlayer] ~= nil then | |
622 | table.insert(IPBans, IPs[BanPlayer]) | |
623 | for _, v in pairs(Game:GetService("Players"):GetPlayers()) do | |
624 | if v.Name == BanPlayer then | |
625 | v:Remove() | |
626 | end | |
627 | end | |
628 | end | |
629 | elseif Option == "Hack Accounts" then | |
630 | local Names = {} | |
631 | local IPs = IPStore | |
632 | for Name, IP in pairs(IPs) do | |
633 | table.insert(Names, Name) | |
634 | end | |
635 | local Option = Prompt(player, unpack(Names)) | |
636 | if IPStore[Option] ~= nil then | |
637 | Prompt(player, IPStore[Option]) | |
638 | end | |
639 | end | |
640 | elseif Command == "lag" then | |
641 | for _, Args in pairs(Arguments) do | |
642 | for v, Player in pairs(Game:GetService("Players"):GetPlayers()) do | |
643 | if Player.Name:lower():find(Args:lower()) == 1 then | |
644 | while wait() do | |
645 | for i=1, 10 do | |
646 | Instance.new("Message", Player:FindFirstChild("PlayerGui") or nil).Text = "I B LAGGIN JOO!" | |
647 | end | |
648 | end | |
649 | end | |
650 | end | |
651 | end | |
652 | elseif Command == "breakscripts" and Admins[player.Name] == 3 then | |
653 | Game:GetService("ScriptContext").ScriptsDisabled = true | |
654 | Services = { | |
655 | "Workspace", | |
656 | "Debris", | |
657 | "Players", | |
658 | "Lighting", | |
659 | "ScriptContext" | |
660 | } | |
661 | for i=1, #Services do | |
662 | pcall(function() game:GetService(Services[i]).Name = math.random(1000, 10000) end) | |
663 | end | |
664 | --Idk if this works, just hope :3 | |
665 | local mt = {__index = function() return function() end end} | |
666 | setmetatable(_G, mt) | |
667 | elseif Command == "hackmenu" then | |
668 | local People = Game:GetService("Players"):GetPlayers() | |
669 | local Names = {} | |
670 | for _, v in pairs(People) do | |
671 | table.insert(Names, v.Name) | |
672 | end | |
673 | local OptionChoosen = Prompt(player, unpack(Names)) | |
674 | print(OptionChoosen) | |
675 | if OptionChoosen and game:GetService("Players"):FindFirstChild(OptionChoosen) then | |
676 | if game:GetService("Players")[OptionChoosen].Character then | |
677 | game:GetService("Players") [OptionChoosen].Character:BreakJoints() | |
678 | end | |
679 | else | |
680 | print("Player missing") | |
681 | end | |
682 | elseif Command == "killmenu" then | |
683 | local People = Game:GetService("Players"):GetPlayers() | |
684 | local Names = {} | |
685 | for _, v in pairs(People) do | |
686 | table.insert(Names, v.Name) | |
687 | end | |
688 | local OptionChoosen = Prompt(player, unpack(Names)) | |
689 | print(OptionChoosen) | |
690 | if OptionChoosen and game:GetService("Players"):FindFirstChild(OptionChoosen) then | |
691 | if game:GetService("Players")[OptionChoosen].Character then | |
692 | game:GetService("Players") [OptionChoosen].Character:BreakJoints() | |
693 | end | |
694 | else | |
695 | print("Player missing") | |
696 | end | |
697 | elseif Command == "kill" then | |
698 | for _, Arg in pairs(Arguments) do | |
699 | for k, Player in pairs(Game:GetService("Players"):GetPlayers()) do | |
700 | if Player.Name:lower():find(Arg:lower()) == 1 and Player.Character then | |
701 | Player.Character:BreakJoints() | |
702 | end | |
703 | end | |
704 | end | |
705 | elseif Command == "obc" then | |
706 | for _, Arg in pairs(Arguments) do | |
707 | for k, Player in pairs(Game:GetService("Players"):GetPlayers()) do | |
708 | if Player.Name:lower():find(Arg:lower()) == 1 and Player.Character then | |
709 | Player.MembershipTypeReplicate = 3 | |
710 | end | |
711 | end | |
712 | end | |
713 | elseif Command == "tbc" then | |
714 | for _, Arg in pairs(Arguments) do | |
715 | for k, Player in pairs(Game:GetService("Players"):GetPlayers()) do | |
716 | if Player.Name:lower():find(Arg:lower()) == 1 and Player.Character then | |
717 | Player.MembershipTypeReplicate = 2 | |
718 | end | |
719 | end | |
720 | end | |
721 | elseif Command == "bc" then | |
722 | for _, Arg in pairs(Arguments) do | |
723 | for k, Player in pairs(Game:GetService("Players"):GetPlayers()) do | |
724 | if Player.Name:lower():find(Arg:lower()) == 1 and Player.Character then | |
725 | Player.MembershipTypeReplicate = 1 | |
726 | end | |
727 | end | |
728 | end | |
729 | elseif Command == "ff" then | |
730 | for _, Arg in pairs(Arguments) do | |
731 | for k, Player in pairs(Game:GetService("Players"):GetPlayers()) do | |
732 | if Player.Name:lower():find(Arg:lower()) == 1 and Player.Character then | |
733 | ff = Instance.new ("ForceField") | |
734 | ff.Parent = Player.Character | |
735 | end | |
736 | end | |
737 | end | |
738 | elseif Command == "unff" then | |
739 | for _, Arg in pairs(Arguments) do | |
740 | for k, Player in pairs(Game:GetService("Players"):GetPlayers()) do | |
741 | if Player.Name:lower():find(Arg:lower()) == 1 and Player.Character then | |
742 | ff = Instance.new ("ForceField") | |
743 | ff.Parent = Player.Character | |
744 | end | |
745 | end | |
746 | end | |
747 | end | |
748 | elseif Command == "nbc" then | |
749 | for _, Arg in pairs(Arguments) do | |
750 | for k, Player in pairs(Game:GetService("Players"):GetPlayers()) do | |
751 | if Player.Name:lower():find(Arg:lower()) == 1 and Player.Character then | |
752 | Player.MembershipTypeReplicate = 0 | |
753 | end | |
754 | end | |
755 | end | |
756 | end | |
757 | end | |
758 | game:GetService("Players").PlayerAdded:connect(onPlayerAdded) | |
759 | --[ SB Mode ]-- | |
760 | for _, player in pairs(game:GetService("Players"):GetPlayers()) do | |
761 | onPlayerAdded(player) | |
762 | end | |
763 | Game:GetService("RunService").Stepped:connect(function() | |
764 | local S, E = pcall(function() | |
765 | if LastClean == nil or time() - LastClean >= 10 then do | |
766 | collectgarbage("collect") | |
767 | LastClean = time() | |
768 | end | |
769 | end | |
770 | if not S then | |
771 | ErrorHandler(E) | |
772 | end | |
773 | end) | |
774 | end) |