SHOW:
|
|
- or go back to the newest paste.
1 | - | --M110 Gifted by TheRedAngel, Regular Script! |
1 | + | --Made by WALSIN3 go line 5 and put you name regular script |
2 | ||
3 | if script == nil then return end | |
4 | ||
5 | Player = script:FindFirstChild("Player") ~= nil and script.Player.Value or game:GetService("Players"):FindFirstChild("lotushomerun") | |
6 | - | Player = script:FindFirstChild("Player") ~= nil and script.Player.Value or game:GetService("Players"):FindFirstChild("YOURNAMEHERE") |
6 | + | Name = "Sniper" |
7 | - | Name = "M110 SASS" |
7 | + | MC = BrickColor.new("Black") |
8 | - | MC = BrickColor.new("Bright blue") |
8 | + | |
9 | GC = BrickColor.new("Brick yellow") | |
10 | - | GC = BrickColor.new("Bright Blue") |
10 | + | BC = BrickColor.new("Dark stone grey") |
11 | MR = 0 | |
12 | GR = 0 | |
13 | - | MagSize = 10 |
13 | + | HP = true |
14 | - | Sight = 1 |
14 | + | |
15 | - | Grip = 2 |
15 | + | |
16 | - | Reliability = 75 |
16 | + | |
17 | - | AimSpeed = 8 |
17 | + | |
18 | - | Ready = true |
18 | + | damage = 99999999999999999999999999999999999999999999999999999999999 |
19 | - | Jammed = false |
19 | + | |
20 | - | Attachment = false |
20 | + | |
21 | - | Mode = 0 |
21 | + | readyTime = 1.8 |
22 | - | WSPenalty = 12 |
22 | + | |
23 | - | Spread = 1000000 |
23 | + | |
24 | burstCount = 0 | |
25 | burstCountMax = 2 | |
26 | canSilence = true | |
27 | silenced = false | |
28 | - | damage = 32 |
28 | + | canZoom = true |
29 | zoom = false | |
30 | switchToSingle = true | |
31 | - | readyTime = 0.4 |
31 | + | switchToBurst = true |
32 | switchToAutomatic = true | |
33 | ||
34 | ammoGui = Instance.new("ScreenGui") | |
35 | - | burstCountMax = 3 |
35 | + | |
36 | - | canSilence = false |
36 | + | |
37 | frame.Name = "Frame" | |
38 | - | canZoom = false |
38 | + | |
39 | frame.Position = UDim2.new(0, 0, 1, -400) | |
40 | - | switchToSingle = false |
40 | + | |
41 | - | switchToBurst = false |
41 | + | |
42 | - | switchToAutomatic = false |
42 | + | |
43 | local label = Instance.new("TextLabel") | |
44 | label.Name = "Weapon" | |
45 | label.Text = "Weapon: " ..Name | |
46 | label.Size = UDim2.new(1, 0, 0, 20) | |
47 | label.Position = UDim2.new(0, 0, 0, 0) | |
48 | label.BackgroundColor3 = Color3.new(1, 0, 0) | |
49 | label.BorderColor3 = Color3.new(0, 0, 0) | |
50 | label.Parent = frame | |
51 | local label = Instance.new("TextLabel") | |
52 | label.Name = "MagazinePrefix" | |
53 | label.Text = " Magazine:" | |
54 | label.TextXAlignment = "Left" | |
55 | label.Size = UDim2.new(1, 0, 0, 20) | |
56 | label.Position = UDim2.new(0, 0, 0, 20) | |
57 | label.BackgroundColor3 = Color3.new(1, 1, 1) | |
58 | label.BorderColor3 = Color3.new(0, 0, 0) | |
59 | label.Parent = frame | |
60 | local label = Instance.new("TextLabel") | |
61 | label.Name = "Magazine" | |
62 | label.Text = "0/0" | |
63 | label.TextXAlignment = "Right" | |
64 | label.Size = UDim2.new(1, 0, 0, 20) | |
65 | label.Position = UDim2.new(0, -10, 0, 20) | |
66 | label.BackgroundTransparency = 1 | |
67 | label.BorderSizePixel = 0 | |
68 | label.Parent = frame | |
69 | local label = Instance.new("TextLabel") | |
70 | label.Name = "AmmoPrefix" | |
71 | label.Text = " Ammunition:" | |
72 | label.TextXAlignment = "Left" | |
73 | label.Size = UDim2.new(1, 0, 0, 20) | |
74 | label.Position = UDim2.new(0, 0, 0, 40) | |
75 | label.BackgroundColor3 = Color3.new(1, 1, 1) | |
76 | label.BorderColor3 = Color3.new(0, 0, 0) | |
77 | label.Parent = frame | |
78 | local label = Instance.new("TextLabel") | |
79 | label.Name = "Ammo" | |
80 | label.Text = "0/0" | |
81 | label.TextXAlignment = "Right" | |
82 | - | label.Text = " 7.62x51mm:" |
82 | + | |
83 | label.Position = UDim2.new(0, -10, 0, 40) | |
84 | label.BackgroundTransparency = 1 | |
85 | label.BorderSizePixel = 0 | |
86 | label.Parent = frame | |
87 | ||
88 | function updateGui() | |
89 | if selected == false then return end | |
90 | if Player:FindFirstChild("PlayerGui") == nil then Instance.new("PlayerGui").Parent = Player end | |
91 | if Player.PlayerGui:FindFirstChild(Name) == nil then | |
92 | ammoGui:Clone().Parent = Player.PlayerGui | |
93 | end | |
94 | Player.PlayerGui[Name].Frame.Magazine.Text = tostring(magazine.Value).. "/" ..tostring(magazineMax.Value) | |
95 | Player.PlayerGui[Name].Frame.Ammo.Text = tostring(ammo.Value).. "/" ..tostring(ammoMax.Value) | |
96 | end | |
97 | ||
98 | function makeParts(format) | |
99 | local model = Instance.new("Model") | |
100 | model.Name = Name | |
101 | - | if selected == false then return end |
101 | + | local pm = Instance.new("Part") |
102 | - | if Player:FindFirstChild("PlayerGui") == nil then Instance.new("PlayerGui").Parent = Player end |
102 | + | pm.Name = "Handle" |
103 | - | if Player.PlayerGui:FindFirstChild(Name) == nil then |
103 | + | pm.formFactor = "Symmetric" |
104 | - | ammoGui:Clone().Parent = Player.PlayerGui |
104 | + | pm.Size = Vector3.new(1, 1, 1) |
105 | - | end |
105 | + | pm.BrickColor = GC |
106 | - | Player.PlayerGui[Name].Frame.Magazine.Text = tostring(magazine.Value).. "/" ..tostring(magazineMax.Value) |
106 | + | pm.Reflectance = GR |
107 | - | Player.PlayerGui[Name].Frame.Ammo.Text = tostring(ammo.Value).. "/" ..tostring(ammoMax.Value) |
107 | + | pm.CanCollide = false |
108 | pm.Transparency = 1 | |
109 | pm.Locked = true | |
110 | pm.TopSurface = 0 | |
111 | pm.BottomSurface = 0 | |
112 | - | local model = Instance.new("Model") |
112 | + | pm.Parent = model |
113 | - | model.Name = Name |
113 | + | local m = Instance.new("BlockMesh") |
114 | - | local pm = Instance.new("Part") |
114 | + | m.Scale = Vector3.new(0.28, 1.1, 0.19) |
115 | - | pm.Name = "Handle" |
115 | + | m.Offset = Vector3.new(0, -0.25, 0.07) |
116 | - | pm.formFactor = "Symmetric" |
116 | + | m.Parent = pm |
117 | - | pm.Size = Vector3.new(1, 1, 1) |
117 | + | if format ~= nil then |
118 | - | pm.BrickColor = MC |
118 | + | local w = Instance.new("Weld") |
119 | - | pm.Reflectance = MR |
119 | + | w.Part0 = pm |
120 | - | pm.CanCollide = false |
120 | + | if format == "RightHand" then |
121 | - | pm.Locked = true |
121 | + | w.Part1 = Player.Character:FindFirstChild("Right Arm") |
122 | - | pm.TopSurface = 0 |
122 | + | w.C0 = CFrame.new(0, 1.15, 0.7) |
123 | - | pm.BottomSurface = 0 |
123 | + | w.C1 = CFrame.new() |
124 | - | pm.Parent = model |
124 | + | elseif format == "RightHolster" then |
125 | - | local m = Instance.new("BlockMesh") |
125 | + | w.Part1 = Player.Character:FindFirstChild("Torso") |
126 | - | m.Scale = Vector3.new(0.3, 1.1, 0.41) |
126 | + | w.C0 = CFrame.new(-0.66, -0.7, 0.3) * CFrame.fromEulerAnglesXYZ(math.rad(-135), math.rad(90), 0) |
127 | - | m.Offset = Vector3.new(0, -0.14, 0.07) |
127 | + | w.C1 = CFrame.new() |
128 | - | m.Parent = pm |
128 | + | model.Name = Name.. " (Holstered)" |
129 | - | if format ~= nil then |
129 | + | end |
130 | - | local w = Instance.new("Weld") |
130 | + | w.Parent = pm |
131 | - | w.Part0 = pm |
131 | + | model.Parent = Player.Character |
132 | - | if format == "RightHand" then |
132 | + | end |
133 | - | w.Part1 = Player.Character:FindFirstChild("Right Arm") |
133 | + | --[[ |
134 | - | w.C0 = CFrame.new(0, 1.15, 0.7) |
134 | + | sniper1 http://www.roblox.com/asset/?id=1868836 |
135 | - | w.C1 = CFrame.new() |
135 | + | equip http://www.roblox.com/asset/?id=13510737 |
136 | - | elseif format == "RightHolster" then |
136 | + | fire1 http://www.roblox.com/asset/?id=2760979 |
137 | - | w.Part1 = Player.Character:FindFirstChild("Torso") |
137 | + | fire2 http://www.roblox.com/asset/?id=13510352 |
138 | - | w.C0 = CFrame.new(0.65, -0.85, 0.4) * CFrame.fromEulerAnglesXYZ(math.rad(32), math.rad(-90), 0) |
138 | + | fire3 http://www.roblox.com/asset/?id=2692806 |
139 | - | w.C1 = CFrame.new() |
139 | + | fire4 http://www.roblox.com/asset/?id=2691586 |
140 | - | model.Name = Name.. " (Holstered)" |
140 | + | fire5 http://www.roblox.com/asset/?id=2920959 |
141 | - | end |
141 | + | fire6 http://www.roblox.com/asset/?id=2697431 |
142 | - | w.Parent = pm |
142 | + | fire7 http://www.roblox.com/asset/?id=2920959 |
143 | - | model.Parent = Player.Character |
143 | + | reload1 http://www.roblox.com/asset/?id=2691591 |
144 | - | end |
144 | + | reload2 http://www.roblox.com/asset/?id=2697432 |
145 | - | --[[ |
145 | + | reload3 http://www.roblox.com/asset/?id=2920960 |
146 | - | sniper1 http://www.roblox.com/asset/?id=1868836 |
146 | + | reload4 http://www.roblox.com/asset/?id=2761842 |
147 | - | equip http://www.roblox.com/asset/?id=13510737 |
147 | + | shotgun1 http://www.roblox.com/asset/?id=2697294 |
148 | - | fire1 http://www.roblox.com/asset/?id=2760979 |
148 | + | --]] |
149 | - | fire2 http://www.roblox.com/asset/?id=13510352 |
149 | + | local s = Instance.new("Sound") |
150 | - | fire3 http://www.roblox.com/asset/?id=2692806 |
150 | + | s.Name = "Fire" |
151 | - | fire4 http://www.roblox.com/asset/?id=2691586 |
151 | + | s.SoundId = "http://www.roblox.com/asset/?id=1868836" |
152 | - | fire5 http://www.roblox.com/asset/?id=2920959 |
152 | + | s.Volume = 1 |
153 | - | fire6 http://www.roblox.com/asset/?id=2697431 |
153 | + | s.Pitch = 1 |
154 | - | fire7 http://www.roblox.com/asset/?id=2920959 |
154 | + | s.Looped = false |
155 | - | reload1 http://www.roblox.com/asset/?id=2691591 |
155 | + | s.Parent = pm |
156 | - | reload2 http://www.roblox.com/asset/?id=2697432 |
156 | + | local s = Instance.new("Sound") |
157 | - | reload3 http://www.roblox.com/asset/?id=2920960 |
157 | + | s.Name = "Fire2" |
158 | - | reload4 http://www.roblox.com/asset/?id=2761842 |
158 | + | s.SoundId = "http://roblox.com/asset/?id=10209803" |
159 | - | shotgun1 http://www.roblox.com/asset/?id=2697294 |
159 | + | s.Volume = 1 |
160 | - | --]] |
160 | + | s.Pitch = 1.4 |
161 | - | local s = Instance.new("Sound") |
161 | + | s.Looped = false |
162 | - | s.Name = "Fire" |
162 | + | s.Parent = pm |
163 | - | s.SoundId = "http://www.roblox.com/Asset/?id=10209875" |
163 | + | local s = Instance.new("Sound") |
164 | - | s.Volume = 1 |
164 | + | s.Name = "Equip" |
165 | - | s.Pitch = 1.4 |
165 | + | s.SoundId = "http://www.roblox.com/asset/?id=10209881" |
166 | - | s.Looped = false |
166 | + | s.Volume = 1 |
167 | - | s.Parent = pm |
167 | + | s.Pitch = 0.6 |
168 | - | local s = Instance.new("Sound") |
168 | + | s.Looped = false |
169 | - | s.Name = "Fire2" |
169 | + | s.Parent = pm |
170 | - | s.SoundId = "http://roblox.com/asset/?id=2691586" |
170 | + | local s = Instance.new("Sound") |
171 | - | s.Volume = 1 |
171 | + | s.Name = "Reload" |
172 | - | s.Pitch = 3 |
172 | + | s.SoundId = "http://www.roblox.com/asset/?id=2761842" |
173 | - | s.Looped = false |
173 | + | s.Volume = 1 |
174 | - | s.Parent = pm |
174 | + | s.Pitch = 1.2 |
175 | - | local s = Instance.new("Sound") |
175 | + | s.Looped = false |
176 | - | s.Name = "Lock" |
176 | + | s.Parent = pm |
177 | - | s.SoundId = "http://www.roblox.com/Asset/?id=10209845" |
177 | + | local s = Instance.new("Sound") |
178 | - | s.Volume = 1 |
178 | + | s.Name = "Empty" |
179 | - | s.Pitch = 3 |
179 | + | s.SoundId = "http://www.roblox.com/asset/?id=2697295" |
180 | - | s.Looped = false |
180 | + | s.Volume = 1 |
181 | - | s.Parent = pm |
181 | + | s.Pitch = 5 |
182 | - | local s = Instance.new("Sound") |
182 | + | s.Looped = false |
183 | - | s.Name = "Jam" |
183 | + | s.Parent = pm |
184 | - | s.SoundId = "http://www.roblox.com/Asset/?id=10209636" |
184 | + | local s = Instance.new("Sound") |
185 | - | s.Volume = 1 |
185 | + | s.Name = "Switch" |
186 | - | s.Pitch = 2 |
186 | + | s.SoundId = "http://www.roblox.com/asset/?id=2697295" |
187 | - | s.Looped = false |
187 | + | s.Volume = 1 |
188 | - | s.Parent = pm |
188 | + | s.Pitch = 10 |
189 | - | local s = Instance.new("Sound") |
189 | + | s.Looped = false |
190 | - | s.Name = "Release" |
190 | + | s.Parent = pm |
191 | - | s.SoundId = "http://www.roblox.com/Asset/?id=10209813" |
191 | + | local p = Instance.new("Part") |
192 | - | s.Volume = 1 |
192 | + | p.Name = "ShellOut" |
193 | - | s.Pitch = 4 |
193 | + | p.formFactor = "Custom" |
194 | - | s.Looped = false |
194 | + | p.Size = Vector3.new(0.2, 0.2, 0.2) |
195 | - | s.Parent = pm |
195 | + | p.Transparency = 1 |
196 | - | local s = Instance.new("Sound") |
196 | + | p.Locked = true |
197 | - | s.Name = "Reload" |
197 | + | p.CanCollide = false |
198 | - | s.SoundId = "http://www.roblox.com/asset/?id=2697295" |
198 | + | p.TopSurface = 0 |
199 | - | s.Volume = 1 |
199 | + | p.BottomSurface = 0 |
200 | - | s.Pitch = 7.5 |
200 | + | p.Parent = model |
201 | - | s.Looped = false |
201 | + | local w = Instance.new("Weld") |
202 | - | s.Parent = pm |
202 | + | w.Part0 = p |
203 | - | local s = Instance.new("Sound") |
203 | + | w.Part1 = pm |
204 | - | s.Name = "Empty" |
204 | + | w.C0 = CFrame.new(-0.06, 0.62, -0.06) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0) |
205 | - | s.SoundId = "http://www.roblox.com/asset/?id=2697295" |
205 | + | w.C1 = CFrame.new() |
206 | - | s.Volume = 1 |
206 | + | w.Parent = p--]] |
207 | - | s.Pitch = 5 |
207 | + | local p = Instance.new("Part") |
208 | - | s.Looped = false |
208 | + | p.Name = "Grip" |
209 | - | s.Parent = pm |
209 | + | p.formFactor = "Symmetric" |
210 | - | local s = Instance.new("Sound") |
210 | + | p.Size = Vector3.new(1, 1, 1) |
211 | - | s.Name = "Switch" |
211 | + | p.BrickColor = GC |
212 | - | s.SoundId = "http://www.roblox.com/asset/?id=2697295" |
212 | + | p.Reflectance = GR |
213 | - | s.Volume = 1 |
213 | + | p.CanCollide = false |
214 | - | s.Pitch = 10 |
214 | + | p.Locked = true |
215 | - | s.Looped = false |
215 | + | p.TopSurface = 0 |
216 | - | s.Parent = pm |
216 | + | p.BottomSurface = 0 |
217 | - | local s = Instance.new("Sound") |
217 | + | p.Parent = model |
218 | - | s.Name = "Equip" |
218 | + | local m = Instance.new("BlockMesh") |
219 | - | s.SoundId = "http://www.roblox.com/Asset/?id=10209845" |
219 | + | m.Scale = Vector3.new(0.3, 0.38, 0.8) |
220 | - | s.Volume = 1 |
220 | + | m.Parent = p |
221 | - | s.Pitch = 1 |
221 | + | local w = Instance.new("Weld") |
222 | - | s.Looped = false |
222 | + | w.Part0 = p |
223 | - | s.Parent = pm |
223 | + | w.Part1 = pm |
224 | - | local s = Instance.new("Sound") |
224 | + | w.C0 = CFrame.new(0, -0.15, -0.5) * CFrame.fromEulerAnglesXYZ(math.rad(15), 0, 0) |
225 | - | s.Name = "Bullet" |
225 | + | w.C1 = CFrame.new() |
226 | - | s.SoundId = "http://www.roblox.com/Asset/?id=18426149" |
226 | + | w.Parent = p |
227 | - | s.Volume = 1 |
227 | + | local p = Instance.new("Part") |
228 | - | s.Pitch = 1 |
228 | + | p.Name = "GripWood" |
229 | - | s.Looped = false |
229 | + | p.formFactor = "Symmetric" |
230 | - | s.Parent = pm |
230 | + | p.Size = Vector3.new(1, 1, 1) |
231 | - | local p = Instance.new("Part") |
231 | + | p.BrickColor = DC |
232 | - | p.Name = "ShellOut" |
232 | + | p.Reflectance = MR |
233 | - | p.formFactor = "Symmetric" |
233 | + | p.CanCollide = false |
234 | - | p.Size = Vector3.new(1, 1, 1) |
234 | + | p.Locked = true |
235 | - | p.Transparency = 1 |
235 | + | p.TopSurface = 0 |
236 | - | p.Locked = true |
236 | + | p.BottomSurface = 0 |
237 | - | p.CanCollide = false |
237 | + | p.Parent = model |
238 | - | p.TopSurface = 0 |
238 | + | local m = Instance.new("SpecialMesh") |
239 | - | p.BottomSurface = 0 |
239 | + | m.MeshType = "Brick" |
240 | - | p.Parent = model |
240 | + | m.Scale = Vector3.new(0.36, 0.36, 0.6) |
241 | - | local w = Instance.new("Weld") |
241 | + | m.Parent = p |
242 | - | w.Part0 = p |
242 | + | local w = Instance.new("Weld") |
243 | - | w.Part1 = pm |
243 | + | w.Part0 = p |
244 | - | w.C0 = CFrame.new(0, 0, 1) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0) |
244 | + | w.Part1 = pm |
245 | - | w.C1 = CFrame.new() |
245 | + | w.C0 = CFrame.new(0, -0.15, -0.56) * CFrame.fromEulerAnglesXYZ(math.rad(15), 0, 0) |
246 | - | w.Parent = p |
246 | + | w.C1 = CFrame.new() |
247 | - | local p = Instance.new("Part") |
247 | + | w.Parent = p--]] |
248 | - | p.Name = "Grip" |
248 | + | local p = Instance.new("Part") |
249 | - | p.formFactor = "Symmetric" |
249 | + | p.Name = "Magazine" |
250 | - | p.Size = Vector3.new(1, 1, 1) |
250 | + | p.formFactor = "Symmetric" |
251 | - | p.BrickColor = GC |
251 | + | p.Size = Vector3.new(1, 1, 1) |
252 | - | p.Reflectance = GR |
252 | + | p.BrickColor = DC |
253 | - | p.CanCollide = false |
253 | + | p.Reflectance = MR |
254 | - | p.Locked = true |
254 | + | p.CanCollide = false |
255 | - | p.TopSurface = 0 |
255 | + | p.Locked = true |
256 | - | p.BottomSurface = 0 |
256 | + | p.TopSurface = 0 |
257 | - | p.Parent = model |
257 | + | p.BottomSurface = 0 |
258 | - | local m = Instance.new("BlockMesh") |
258 | + | p.Parent = model |
259 | - | m.Scale = Vector3.new(0.29, 0.38, 0.7) |
259 | + | local m = Instance.new("BlockMesh") |
260 | - | m.Parent = p |
260 | + | m.Scale = Vector3.new(0.25, 0.5, 0.5) |
261 | - | local w = Instance.new("Weld") |
261 | + | m.Parent = p |
262 | - | w.Part0 = p |
262 | + | local w = Instance.new("Weld") |
263 | - | w.Part1 = pm |
263 | + | w.Part0 = p |
264 | - | w.C0 = CFrame.new(0, -0.15, -0.5) * CFrame.fromEulerAnglesXYZ(math.rad(15), 0, 0) |
264 | + | w.Part1 = pm |
265 | - | w.C1 = CFrame.new() |
265 | + | w.C0 = CFrame.new(0, 0.5, -0.24) |
266 | - | w.Parent = p |
266 | + | w.C1 = CFrame.new() |
267 | - | local p = Instance.new("Part") |
267 | + | w.Parent = p |
268 | - | p.Name = "Magazine Housing" |
268 | + | local p = Instance.new("Part") |
269 | - | p.formFactor = "Symmetric" |
269 | + | p.Name = "Trigger Housing" |
270 | - | p.Size = Vector3.new(1, 1, 1) |
270 | + | p.formFactor = "Symmetric" |
271 | - | p.BrickColor = MC |
271 | + | p.Size = Vector3.new(1, 1, 1) |
272 | - | p.Reflectance = MR |
272 | + | p.BrickColor = MC |
273 | - | p.CanCollide = false |
273 | + | p.Reflectance = MR |
274 | - | p.Locked = true |
274 | + | p.CanCollide = false |
275 | - | p.TopSurface = 0 |
275 | + | p.Locked = true |
276 | - | p.BottomSurface = 0 |
276 | + | p.TopSurface = 0 |
277 | - | p.Parent = model |
277 | + | p.BottomSurface = 0 |
278 | - | local m = Instance.new("BlockMesh") |
278 | + | p.Parent = model |
279 | - | m.Scale = Vector3.new(0.3, 0.46, 0.4) |
279 | + | local m = Instance.new("BlockMesh") |
280 | - | m.Parent = p |
280 | + | m.Scale = Vector3.new(0.2, 0.4, 0.04) |
281 | - | local w = Instance.new("Weld") |
281 | + | m.Parent = p |
282 | - | w.Part0 = p |
282 | + | local w = Instance.new("Weld") |
283 | - | w.Part1 = pm |
283 | + | w.Part0 = p |
284 | - | w.C0 = CFrame.new(0, 0.46, -0.21) |
284 | + | w.Part1 = pm |
285 | - | w.C1 = CFrame.new() |
285 | + | w.C0 = CFrame.new(0, 0.1, -0.36) |
286 | - | w.Parent = p |
286 | + | w.C1 = CFrame.new() |
287 | - | local p = Instance.new("Part") |
287 | + | w.Parent = p |
288 | - | p.Name = "MagazineHole" |
288 | + | local p = Instance.new("Part") |
289 | - | p.formFactor = "Symmetric" |
289 | + | p.Name = "Trigger" |
290 | - | p.Size = Vector3.new(1, 1, 1) |
290 | + | p.formFactor = "Symmetric" |
291 | - | p.BrickColor = BrickColor.new("Really black") |
291 | + | p.Size = Vector3.new(1, 1, 1) |
292 | - | p.CanCollide = false |
292 | + | p.BrickColor = BrickColor.new("Dark stone grey") |
293 | - | p.Locked = true |
293 | + | p.Reflectance = MR |
294 | - | p.TopSurface = 0 |
294 | + | p.CanCollide = false |
295 | - | p.BottomSurface = 0 |
295 | + | p.Locked = true |
296 | - | p.Parent = model |
296 | + | p.TopSurface = 0 |
297 | - | local m = Instance.new("BlockMesh") |
297 | + | p.BottomSurface = 0 |
298 | - | m.Scale = Vector3.new(0.28, 0.44, 0.405) |
298 | + | p.Parent = model |
299 | - | m.Parent = p |
299 | + | local m = Instance.new("BlockMesh") |
300 | - | local w = Instance.new("Weld") |
300 | + | m.Scale = Vector3.new(0.18, 0.18, 0.18) |
301 | - | w.Part0 = p |
301 | + | m.Parent = p |
302 | - | w.Part1 = pm |
302 | + | local w = Instance.new("Weld") |
303 | - | w.C0 = CFrame.new(0, 0.46, -0.21) |
303 | + | w.Part0 = p |
304 | - | w.C1 = CFrame.new() |
304 | + | w.Part1 = pm |
305 | - | w.Parent = p |
305 | + | w.C0 = CFrame.new(0, 0.02, -0.25) |
306 | - | local pm2 = Instance.new("Part") |
306 | + | w.C1 = CFrame.new() |
307 | - | pm2.Name = "Magazine" |
307 | + | w.Parent = p |
308 | - | pm2.formFactor = "Symmetric" |
308 | + | local p = Instance.new("Part") |
309 | - | pm2.Size = Vector3.new(1, 1, 1) |
309 | + | p.Name = "Body1" -------------- |
310 | - | pm2.BrickColor = BrickColor.new("Dark stone grey") |
310 | + | p.CanCollide = false |
311 | - | pm2.Locked = true |
311 | + | p.formFactor = "Symmetric" |
312 | - | pm2.CanCollide = false |
312 | + | p.Size = Vector3.new(1, 1, 1) |
313 | - | pm2.TopSurface = 0 |
313 | + | p.BrickColor = GC |
314 | - | pm2.BottomSurface = 0 |
314 | + | p.Reflectance = GR |
315 | - | pm2.Parent = model |
315 | + | p.Locked = true |
316 | - | local m = Instance.new("BlockMesh") |
316 | + | p.TopSurface = 0 |
317 | - | m.Scale = Vector3.new(0.25, 0.43, 0.6) |
317 | + | p.BottomSurface = 0 |
318 | - | m.Parent = pm2 |
318 | + | p.Parent = model |
319 | - | local w = Instance.new("Weld") |
319 | + | local m = Instance.new("BlockMesh") |
320 | - | w.Part0 = pm2 |
320 | + | m.Scale = Vector3.new(0.3, 2, 0.38) |
321 | - | w.Part1 = pm |
321 | + | m.Parent = p |
322 | - | w.C0 = CFrame.new(0, 0.46, -0.45) |
322 | + | local w = Instance.new("Weld") |
323 | - | w.C1 = CFrame.new() |
323 | + | w.Part0 = p |
324 | - | w.Parent = pm2 |
324 | + | w.Part1 = pm |
325 | - | local p = Instance.new("Part") |
325 | + | w.C0 = CFrame.new(0, 1.2, -0.12) |
326 | - | p.Name = "MagPull" |
326 | + | w.C1 = CFrame.new() |
327 | - | p.formFactor = "Symmetric" |
327 | + | w.Parent = p |
328 | - | p.Size = Vector3.new(1, 1, 1) |
328 | + | local p = Instance.new("Part") |
329 | - | p.BrickColor = BrickColor.new("Black") |
329 | + | p.Name = "Body2" |
330 | - | p.Locked = true |
330 | + | p.CanCollide = false |
331 | - | p.CanCollide = false |
331 | + | p.formFactor = "Symmetric" |
332 | - | p.TopSurface = 0 |
332 | + | p.Size = Vector3.new(1, 1, 1) |
333 | - | p.BottomSurface = 0 |
333 | + | p.BrickColor = DC |
334 | - | p.Parent = model |
334 | + | p.Reflectance = MR |
335 | - | local m = Instance.new("BlockMesh") |
335 | + | p.Locked = true |
336 | - | m.Scale = Vector3.new(0.26, 0.44, 0.2) |
336 | + | p.TopSurface = 0 |
337 | - | m.Parent = p |
337 | + | p.BottomSurface = 0 |
338 | - | local w = Instance.new("Weld") |
338 | + | p.Parent = model |
339 | - | w.Part0 = p |
339 | + | local m = Instance.new("SpecialMesh") |
340 | - | w.Part1 = pm2 |
340 | + | m.MeshType = "Brick" |
341 | - | w.C0 = CFrame.new(0, 0, -0.1) |
341 | + | m.Scale = Vector3.new(0.32, 1.4, 0.2) |
342 | - | w.C1 = CFrame.new() |
342 | + | m.Parent = p |
343 | - | w.Parent = p |
343 | + | local w = Instance.new("Weld") |
344 | - | local p = Instance.new("Part") |
344 | + | w.Part0 = p |
345 | - | p.Name = "Trigger Housing" |
345 | + | w.Part1 = pm |
346 | - | p.formFactor = "Symmetric" |
346 | + | w.C0 = CFrame.new(0, 1.48, -0.08) |
347 | - | p.Size = Vector3.new(1, 1, 1) |
347 | + | w.C1 = CFrame.new() |
348 | - | p.BrickColor = MC |
348 | + | w.Parent = p |
349 | - | p.Reflectance = MR |
349 | + | local p = Instance.new("Part") |
350 | - | p.CanCollide = false |
350 | + | p.Name = "GripAngle1" |
351 | - | p.Locked = true |
351 | + | p.CanCollide = false |
352 | - | p.TopSurface = 0 |
352 | + | p.formFactor = "Symmetric" |
353 | - | p.BottomSurface = 0 |
353 | + | p.Size = Vector3.new(1, 1, 1) |
354 | - | p.Parent = model |
354 | + | p.BrickColor = GC |
355 | - | local m = Instance.new("BlockMesh") |
355 | + | p.Reflectance = GR |
356 | - | m.Scale = Vector3.new(0.1, 0.4, 0.025) |
356 | + | p.Locked = true |
357 | - | m.Parent = p |
357 | + | p.TopSurface = 0 |
358 | - | local w = Instance.new("Weld") |
358 | + | p.BottomSurface = 0 |
359 | - | w.Part0 = p |
359 | + | p.Parent = model |
360 | - | w.Part1 = pm |
360 | + | local m = Instance.new("SpecialMesh") |
361 | - | w.C0 = CFrame.new(0, 0.1, -0.37) |
361 | + | m.MeshType = "Wedge" |
362 | - | w.C1 = CFrame.new() |
362 | + | m.Scale = Vector3.new(0.3, 0.14, 0.6) |
363 | - | w.Parent = p |
363 | + | m.Parent = p |
364 | - | local p = Instance.new("Part") |
364 | + | local w = Instance.new("Weld") |
365 | - | p.Name = "Trigger" |
365 | + | w.Part0 = p |
366 | - | p.formFactor = "Symmetric" |
366 | + | w.Part1 = pm |
367 | - | p.Size = Vector3.new(1, 1, 1) |
367 | + | w.C0 = CFrame.new(0, -0.38, 0.5) * CFrame.fromEulerAnglesXYZ(math.rad(270), 0, math.rad(180)) |
368 | - | p.BrickColor = MC |
368 | + | w.C1 = CFrame.new() |
369 | - | p.Reflectance = MR |
369 | + | w.Parent = p |
370 | - | p.CanCollide = false |
370 | + | local p = Instance.new("Part") |
371 | - | p.Locked = true |
371 | + | p.Name = "GripAngle2" |
372 | - | p.TopSurface = 0 |
372 | + | p.CanCollide = false |
373 | - | p.BottomSurface = 0 |
373 | + | p.formFactor = "Symmetric" |
374 | - | p.Parent = model |
374 | + | p.Size = Vector3.new(1, 1, 1) |
375 | - | local m = Instance.new("BlockMesh") |
375 | + | p.BrickColor = GC |
376 | - | m.Scale = Vector3.new(0.1, 0.05, 0.15) |
376 | + | p.Reflectance = GR |
377 | - | m.Parent = p |
377 | + | p.Locked = true |
378 | - | local w = Instance.new("Weld") |
378 | + | p.TopSurface = 0 |
379 | - | w.Part0 = p |
379 | + | p.BottomSurface = 0 |
380 | - | w.Part1 = pm |
380 | + | p.Parent = model |
381 | - | w.C0 = CFrame.new(0, 0.03, -0.275) |
381 | + | local m = Instance.new("SpecialMesh") |
382 | - | w.C1 = CFrame.new() |
382 | + | m.MeshType = "Wedge" |
383 | - | w.Parent = p |
383 | + | m.Scale = Vector3.new(0.3, 0.06, 0.8) |
384 | - | local p = Instance.new("Part") |
384 | + | m.Parent = p |
385 | - | p.Name = "ForeBarrel" |
385 | + | local w = Instance.new("Weld") |
386 | - | p.CanCollide = false |
386 | + | w.Part0 = p |
387 | - | p.formFactor = "Symmetric" |
387 | + | w.Part1 = pm |
388 | - | p.Size = Vector3.new(1, 1, 1) |
388 | + | w.C0 = CFrame.new(0, -0.34, 0.8) * CFrame.fromEulerAnglesXYZ(math.rad(270), 0, math.rad(180)) |
389 | - | p.BrickColor = GC |
389 | + | w.C1 = CFrame.new() |
390 | - | p.Reflectance = GR |
390 | + | w.Parent = p |
391 | - | p.Locked = true |
391 | + | local p = Instance.new("Part") |
392 | - | p.TopSurface = 0 |
392 | + | p.Name = "GripTrigHous" |
393 | - | p.BottomSurface = 0 |
393 | + | p.formFactor = "Symmetric" |
394 | - | p.Parent = model |
394 | + | p.Size = Vector3.new(1, 1, 1) |
395 | - | local m = Instance.new("CylinderMesh") |
395 | + | p.BrickColor = GC |
396 | - | m.Scale = Vector3.new(0.36, 1.2, 0.36) |
396 | + | p.Reflectance = GR |
397 | - | m.Parent = p |
397 | + | p.CanCollide = false |
398 | - | local w = Instance.new("Weld") |
398 | + | p.Locked = true |
399 | - | w.Part0 = p |
399 | + | p.TopSurface = 0 |
400 | - | w.Part1 = pm |
400 | + | p.BottomSurface = 0 |
401 | - | w.C0 = CFrame.new(0, 1.285, -0.04) |
401 | + | p.Parent = model |
402 | - | w.C1 = CFrame.new() |
402 | + | local m = Instance.new("BlockMesh") |
403 | - | w.Parent = p |
403 | + | m.Scale = Vector3.new(0.3, 0.4, 0.1) |
404 | - | local p = Instance.new("Part") |
404 | + | m.Parent = p |
405 | - | p.Name = "Rail" |
405 | + | local w = Instance.new("Weld") |
406 | - | p.CanCollide = false |
406 | + | w.Part0 = p |
407 | - | p.formFactor = "Symmetric" |
407 | + | w.Part1 = pm |
408 | - | p.Size = Vector3.new(1, 1, 1) |
408 | + | w.C0 = CFrame.new(0, 0, -0.4) |
409 | - | p.BrickColor = DC |
409 | + | w.C1 = CFrame.new() |
410 | - | p.Locked = true |
410 | + | w.Parent = p |
411 | - | p.TopSurface = 0 |
411 | + | local p = Instance.new("Part") |
412 | - | p.BottomSurface = 0 |
412 | + | p.Name = "GripCover" |
413 | - | p.Parent = model |
413 | + | p.formFactor = "Symmetric" |
414 | - | local m = Instance.new("BlockMesh") |
414 | + | p.Size = Vector3.new(1, 1, 1) |
415 | - | m.Scale = Vector3.new(0.36, 1, 0.16) |
415 | + | p.BrickColor = GC |
416 | - | m.Parent = p |
416 | + | p.Reflectance = GR |
417 | - | local w = Instance.new("Weld") |
417 | + | p.CanCollide = false |
418 | - | w.Part0 = p |
418 | + | p.Locked = true |
419 | - | w.Part1 = pm |
419 | + | p.TopSurface = 0 |
420 | - | w.C0 = CFrame.new(0, 1.19, -0.04) |
420 | + | p.BottomSurface = 0 |
421 | - | w.C1 = CFrame.new() |
421 | + | p.Parent = model |
422 | - | w.Parent = p |
422 | + | local m = Instance.new("BlockMesh") |
423 | - | local p = Instance.new("Part") |
423 | + | m.Scale = Vector3.new(0.3, 1, 0.3) |
424 | - | p.Name = "Rail" |
424 | + | m.Parent = p |
425 | - | p.CanCollide = false |
425 | + | local w = Instance.new("Weld") |
426 | - | p.formFactor = "Symmetric" |
426 | + | w.Part0 = p |
427 | - | p.Size = Vector3.new(1, 1, 1) |
427 | + | w.Part1 = pm |
428 | - | p.BrickColor = GC |
428 | + | w.C0 = CFrame.new(0, 0.1, -0.08) |
429 | - | p.Reflectance = MR |
429 | + | w.C1 = CFrame.new() |
430 | - | p.Locked = true |
430 | + | w.Parent = p |
431 | - | p.TopSurface = 0 |
431 | + | local p = Instance.new("Part") |
432 | - | p.BottomSurface = 0 |
432 | + | p.Name = "BoltBlock" -------------- |
433 | - | p.Parent = model |
433 | + | p.CanCollide = false |
434 | - | local m = Instance.new("BlockMesh") |
434 | + | p.formFactor = "Symmetric" |
435 | - | m.Scale = Vector3.new(0.38, 0.5, 0.18) |
435 | + | p.Size = Vector3.new(1, 1, 1) |
436 | - | m.Parent = p |
436 | + | p.BrickColor = DC |
437 | - | local w = Instance.new("Weld") |
437 | + | p.Reflectance = MR |
438 | - | w.Part0 = p |
438 | + | p.Locked = true |
439 | - | w.Part1 = pm |
439 | + | p.TopSurface = 0 |
440 | - | w.C0 = CFrame.new(0, 0.938, -0.04) |
440 | + | p.BottomSurface = 0 |
441 | - | w.C1 = CFrame.new() |
441 | + | p.Parent = model |
442 | - | w.Parent = p |
442 | + | local m = Instance.new("SpecialMesh") |
443 | - | local p = Instance.new("Part") |
443 | + | m.MeshType = "Brick" |
444 | - | p.Name = "Rail" |
444 | + | m.Scale = Vector3.new(0.28, 1, 0.3) |
445 | - | p.CanCollide = false |
445 | + | m.Parent = p |
446 | - | p.formFactor = "Symmetric" |
446 | + | local w = Instance.new("Weld") |
447 | - | p.Size = Vector3.new(1, 1, 1) |
447 | + | w.Part0 = p |
448 | - | p.BrickColor = GC |
448 | + | w.Part1 = pm |
449 | - | p.Reflectance = MR |
449 | + | w.C0 = CFrame.new(0, 0.3, 0.06) |
450 | - | p.Locked = true |
450 | + | w.C1 = CFrame.new() |
451 | - | p.TopSurface = 0 |
451 | + | w.Parent = p |
452 | - | p.BottomSurface = 0 |
452 | + | local p = Instance.new("Part") |
453 | - | p.Parent = model |
453 | + | p.Name = "BoltShaftI" |
454 | - | local m = Instance.new("BlockMesh") |
454 | + | p.formFactor = "Symmetric" |
455 | - | m.Scale = Vector3.new(0.18, 2.08, 0.38) |
455 | + | p.Size = Vector3.new(1, 1, 1) |
456 | - | m.Parent = p |
456 | + | p.BrickColor = BC |
457 | - | local w = Instance.new("Weld") |
457 | + | p.Reflectance = MR |
458 | - | w.Part0 = p |
458 | + | p.Transparency = 0 |
459 | - | w.Part1 = pm |
459 | + | p.CanCollide = false |
460 | - | w.C0 = CFrame.new(0, 0.65, -0.04) |
460 | + | p.Locked = true |
461 | - | w.C1 = CFrame.new() |
461 | + | p.TopSurface = 0 |
462 | - | w.Parent = p |
462 | + | p.BottomSurface = 0 |
463 | - | local p = Instance.new("Part") |
463 | + | p.Parent = model |
464 | - | p.Name = "Center" -------------- |
464 | + | local m = Instance.new("SpecialMesh") |
465 | - | p.CanCollide = false |
465 | + | m.MeshType = "Brick" |
466 | - | p.formFactor = "Symmetric" |
466 | + | m.Scale = Vector3.new(0.26, 1, 0.26) |
467 | - | p.Size = Vector3.new(1, 1, 1) |
467 | + | m.Parent = p |
468 | - | p.BrickColor = MC |
468 | + | local w = Instance.new("Weld") |
469 | - | p.Reflectance = MR |
469 | + | w.Part0 = p |
470 | - | p.Locked = true |
470 | + | w.Part1 = pm |
471 | - | p.TopSurface = 0 |
471 | + | w.C0 = CFrame.new(0, 0.06, 0.06) |
472 | - | p.BottomSurface = 0 |
472 | + | w.C1 = CFrame.new() |
473 | - | p.Parent = model |
473 | + | w.Parent = p |
474 | - | local m = Instance.new("CylinderMesh") |
474 | + | local p = Instance.new("Part") |
475 | - | m.Scale = Vector3.new(0.32, 1.1, 0.32) |
475 | + | p.Name = "BoltKnobI" |
476 | - | m.Parent = p |
476 | + | p.CanCollide = false |
477 | - | local w = Instance.new("Weld") |
477 | + | p.formFactor = "Symmetric" |
478 | - | w.Part0 = p |
478 | + | p.Size = Vector3.new(1, 1, 1) |
479 | - | w.Part1 = pm |
479 | + | p.BrickColor = BC |
480 | - | w.C0 = CFrame.new(0, 0.14, -0.04) |
480 | + | p.Reflectance = MR |
481 | - | w.C1 = CFrame.new() |
481 | + | p.Transparency = 0 |
482 | - | w.Parent = p |
482 | + | p.Locked = true |
483 | - | local p = Instance.new("Part") |
483 | + | p.TopSurface = 0 |
484 | - | p.Name = "CHandleC" -------------- |
484 | + | p.BottomSurface = 0 |
485 | - | p.CanCollide = false |
485 | + | p.Parent = model |
486 | - | p.formFactor = "Symmetric" |
486 | + | local m = Instance.new("SpecialMesh") |
487 | - | p.Size = Vector3.new(1, 1, 1) |
487 | + | m.MeshType = "Brick" |
488 | - | p.BrickColor = DC |
488 | + | m.Scale = Vector3.new(0.3, 0.14, 0.14) |
489 | - | p.Locked = true |
489 | + | m.Parent = p |
490 | - | p.TopSurface = 0 |
490 | + | local w = Instance.new("Weld") |
491 | - | p.BottomSurface = 0 |
491 | + | w.Part0 = p |
492 | - | p.Parent = model |
492 | + | w.Part1 = pm |
493 | - | local m = Instance.new("CylinderMesh") |
493 | + | w.C0 = CFrame.new(0.2, -0.3, 0.06) |
494 | - | m.Scale = Vector3.new(0.32, 0.1, 0.32) |
494 | + | w.C1 = CFrame.new() |
495 | - | m.Parent = p |
495 | + | w.Parent = p |
496 | - | local w = Instance.new("Weld") |
496 | + | local p = Instance.new("Part") |
497 | - | w.Part0 = p |
497 | + | p.Name = "BoltShaftO" |
498 | - | w.Part1 = pm |
498 | + | p.formFactor = "Symmetric" |
499 | - | w.C0 = CFrame.new(0, -0.08, -0.38) * CFrame.fromEulerAnglesXYZ(math.rad(90), 0, 0) |
499 | + | p.Size = Vector3.new(1, 1, 1) |
500 | - | w.C1 = CFrame.new() |
500 | + | p.BrickColor = BC |
501 | - | w.Parent = p |
501 | + | p.Reflectance = MR |
502 | - | local p = Instance.new("Part") |
502 | + | p.Transparency = 1 |
503 | - | p.Name = "CHandleB" -------------- |
503 | + | p.CanCollide = false |
504 | - | p.CanCollide = false |
504 | + | p.Locked = true |
505 | - | p.formFactor = "Symmetric" |
505 | + | p.TopSurface = 0 |
506 | - | p.Size = Vector3.new(1, 1, 1) |
506 | + | p.BottomSurface = 0 |
507 | - | p.BrickColor = DC |
507 | + | p.Parent = model |
508 | - | p.Transparency = 1 |
508 | + | local m = Instance.new("SpecialMesh") |
509 | - | p.Locked = true |
509 | + | m.MeshType = "Brick" |
510 | - | p.TopSurface = 0 |
510 | + | m.Scale = Vector3.new(0.26, 1, 0.26) |
511 | - | p.BottomSurface = 0 |
511 | + | m.Parent = p |
512 | - | p.Parent = model |
512 | + | local w = Instance.new("Weld") |
513 | - | local m = Instance.new("CylinderMesh") |
513 | + | w.Part0 = p |
514 | - | m.Scale = Vector3.new(0.32, 0.1, 0.32) |
514 | + | w.Part1 = pm |
515 | - | m.Parent = p |
515 | + | w.C0 = CFrame.new(0, -0.06, 0.06) |
516 | - | local w = Instance.new("Weld") |
516 | + | w.C1 = CFrame.new() |
517 | - | w.Part0 = p |
517 | + | w.Parent = p |
518 | - | w.Part1 = pm |
518 | + | local p = Instance.new("Part") |
519 | - | w.C0 = CFrame.new(0, -0.08, -0.72) * CFrame.fromEulerAnglesXYZ(math.rad(90), 0, 0) |
519 | + | p.Name = "BoltKnobO" |
520 | - | w.C1 = CFrame.new() |
520 | + | p.CanCollide = false |
521 | - | w.Parent = p |
521 | + | p.formFactor = "Symmetric" |
522 | - | local p = Instance.new("Part") |
522 | + | p.Size = Vector3.new(1, 1, 1) |
523 | - | p.Name = "CHandleB1" -------------- |
523 | + | p.BrickColor = BC |
524 | - | p.CanCollide = false |
524 | + | p.Reflectance = MR |
525 | - | p.formFactor = "Symmetric" |
525 | + | p.Transparency = 1 |
526 | - | p.Size = Vector3.new(1, 1, 1) |
526 | + | p.Locked = true |
527 | - | p.BrickColor = DC |
527 | + | p.TopSurface = 0 |
528 | - | p.Transparency = 1 |
528 | + | p.BottomSurface = 0 |
529 | - | p.Locked = true |
529 | + | p.Parent = model |
530 | - | p.TopSurface = 0 |
530 | + | local m = Instance.new("SpecialMesh") |
531 | - | p.BottomSurface = 0 |
531 | + | m.MeshType = "Brick" |
532 | - | p.Parent = model |
532 | + | m.Scale = Vector3.new(0.3, 0.14, 0.14) |
533 | - | local m = Instance.new("BlockMesh") |
533 | + | m.Parent = p |
534 | - | m.Scale = Vector3.new(0.15, 0.8, 0.1) |
534 | + | local w = Instance.new("Weld") |
535 | - | m.Parent = p |
535 | + | w.Part0 = p |
536 | - | local w = Instance.new("Weld") |
536 | + | w.Part1 = pm |
537 | - | w.Part0 = p |
537 | + | w.C0 = CFrame.new(0.2, -0.4, 0.06) |
538 | - | w.Part1 = pm |
538 | + | w.C1 = CFrame.new() |
539 | - | w.C0 = CFrame.new(0, -0.3, 0.08) |
539 | + | w.Parent = p |
540 | - | w.C1 = CFrame.new() |
540 | + | local p = Instance.new("Part") |
541 | - | w.Parent = p |
541 | + | p.Name = "Barrel 1" |
542 | - | local p = Instance.new("Part") |
542 | + | p.formFactor = "Symmetric" |
543 | - | p.Name = "Bolt" -------------- |
543 | + | p.Size = Vector3.new(1, 1, 1) |
544 | - | p.CanCollide = false |
544 | + | p.BrickColor = DC |
545 | - | p.formFactor = "Symmetric" |
545 | + | p.Reflectance = MR |
546 | - | p.Size = Vector3.new(1, 1, 1) |
546 | + | p.CanCollide = false |
547 | - | p.BrickColor = BrickColor.new("Dark stone grey") |
547 | + | p.Locked = true |
548 | - | p.Locked = true |
548 | + | p.TopSurface = 0 |
549 | - | p.TopSurface = 0 |
549 | + | p.BottomSurface = 0 |
550 | - | p.BottomSurface = 0 |
550 | + | p.Parent = model |
551 | - | p.Parent = model |
551 | + | local m = Instance.new("CylinderMesh") |
552 | - | local m = Instance.new("CylinderMesh") |
552 | + | m.Scale = Vector3.new(0.2, 4, 0.2) |
553 | - | m.Name = "Mesh" |
553 | + | m.Parent = p |
554 | - | m.Scale = Vector3.new(0.14, 0.3, 0.14) |
554 | + | local w = Instance.new("Weld") |
555 | - | m.Offset = Vector3.new(0, 0, 0) |
555 | + | w.Part0 = p |
556 | - | m.Parent = p |
556 | + | w.Part1 = pm |
557 | - | local w = Instance.new("Weld") |
557 | + | w.C0 = CFrame.new(0, 2.6, 0.06) |
558 | - | w.Part0 = p |
558 | + | w.C1 = CFrame.new() |
559 | - | w.Part1 = pm |
559 | + | w.Parent = p |
560 | - | w.C0 = CFrame.new(-0.1, 0.4, -0.04) |
560 | + | local p = Instance.new("Part") |
561 | - | w.C1 = CFrame.new() |
561 | + | p.Name = "Muzzle" |
562 | - | w.Parent = p |
562 | + | p.formFactor = "Symmetric" |
563 | - | local p = Instance.new("Part") |
563 | + | p.Size = Vector3.new(1, 1, 1) |
564 | - | p.Name = "DustCover" -------------- |
564 | + | p.BrickColor = DC |
565 | - | p.CanCollide = false |
565 | + | p.Reflectance = MR |
566 | - | p.formFactor = "Symmetric" |
566 | + | p.CanCollide = false |
567 | - | p.Size = Vector3.new(1, 1, 1) |
567 | + | p.Locked = true |
568 | - | p.BrickColor = DC |
568 | + | p.TopSurface = 0 |
569 | - | p.Locked = true |
569 | + | p.BottomSurface = 0 |
570 | - | p.TopSurface = 0 |
570 | + | p.Parent = model |
571 | - | p.BottomSurface = 0 |
571 | + | local m = Instance.new("CylinderMesh") |
572 | - | p.Parent = model |
572 | + | m.Scale = Vector3.new(0.24, 0.8, 0.24) |
573 | - | local m = Instance.new("BlockMesh") |
573 | + | m.Parent = p |
574 | - | m.Name = "Mesh" |
574 | + | local w = Instance.new("Weld") |
575 | - | m.Scale = Vector3.new(0.14, 0.34, 0.14) |
575 | + | w.Part0 = p |
576 | - | m.Offset = Vector3.new(0, 0, 0) |
576 | + | w.Part1 = pm |
577 | - | m.Parent = p |
577 | + | w.C0 = CFrame.new(0, 4.2, 0.06) |
578 | - | local w = Instance.new("Weld") |
578 | + | w.C1 = CFrame.new() |
579 | - | w.Part0 = p |
579 | + | w.Parent = p |
580 | - | w.Part1 = pm |
580 | + | local s = Instance.new("Smoke") |
581 | - | w.C0 = CFrame.new(-0.105, 0.4, -0.06) * CFrame.fromEulerAnglesXYZ(0, math.rad(-6), 0) |
581 | + | s.Enabled = false |
582 | - | w.C1 = CFrame.new() |
582 | + | s.Name = "Smoke" |
583 | - | w.Parent = p |
583 | + | s.RiseVelocity = -5 |
584 | - | local p = Instance.new("Part") |
584 | + | s.Opacity = 0.5 |
585 | - | p.Name = "Barrel Support" |
585 | + | s.Color = Color3.new(75 / 225, 75 / 225, 75 / 225) |
586 | - | p.formFactor = "Symmetric" |
586 | + | s.Size = 2.4 |
587 | - | p.Size = Vector3.new(1, 1, 1) |
587 | + | s.Parent = p |
588 | - | p.BrickColor = DC |
588 | + | local f = Instance.new("Fire") |
589 | - | p.Reflectance = MR |
589 | + | f.Enabled = false |
590 | - | p.CanCollide = false |
590 | + | f.Name = "Fire" |
591 | - | p.Locked = true |
591 | + | f.Heat = -20 |
592 | - | p.TopSurface = 0 |
592 | + | f.Size = 3.6 |
593 | - | p.BottomSurface = 0 |
593 | + | f.Parent = p |
594 | - | p.Parent = model |
594 | + | local p = Instance.new("Part") |
595 | - | local m = Instance.new("SpecialMesh") |
595 | + | p.Name = "MuzzleHole" |
596 | - | m.MeshType = "Sphere" |
596 | + | p.formFactor = "Symmetric" |
597 | - | m.Scale = Vector3.new(0.24, 0.24, 0.24) |
597 | + | p.Size = Vector3.new(1, 1, 1) |
598 | - | m.Parent = p |
598 | + | p.BrickColor = BrickColor.new("Really black") |
599 | - | local w = Instance.new("Weld") |
599 | + | p.Reflectance = MR |
600 | - | w.Part0 = p |
600 | + | p.CanCollide = false |
601 | - | w.Part1 = pm |
601 | + | p.Locked = true |
602 | - | w.C0 = CFrame.new(0, 1.88, -0.04) |
602 | + | p.TopSurface = 0 |
603 | - | w.C1 = CFrame.new() |
603 | + | p.BottomSurface = 0 |
604 | - | w.Parent = p |
604 | + | p.Parent = model |
605 | - | local p = Instance.new("Part") |
605 | + | local m = Instance.new("CylinderMesh") |
606 | - | p.Name = "Barrel 1" |
606 | + | m.Scale = Vector3.new(0.18, 0.8, 0.18) |
607 | - | p.formFactor = "Symmetric" |
607 | + | m.Parent = p |
608 | - | p.Size = Vector3.new(1, 1, 1) |
608 | + | local w = Instance.new("Weld") |
609 | - | p.BrickColor = DC |
609 | + | w.Part0 = p |
610 | - | p.Reflectance = MR |
610 | + | w.Part1 = pm |
611 | - | p.CanCollide = false |
611 | + | w.C0 = CFrame.new(0, 4.203, 0.06) |
612 | - | p.Locked = true |
612 | + | w.C1 = CFrame.new() |
613 | - | p.TopSurface = 0 |
613 | + | w.Parent = p |
614 | - | p.BottomSurface = 0 |
614 | + | local p = Instance.new("Part") |
615 | - | p.Parent = model |
615 | + | p.Name = "Silencer" |
616 | - | local m = Instance.new("CylinderMesh") |
616 | + | p.formFactor = "Symmetric" |
617 | - | m.Scale = Vector3.new(0.15, 0.8, 0.15) |
617 | + | p.Size = Vector3.new(1, 1, 1) |
618 | - | m.Parent = p |
618 | + | p.BrickColor = BrickColor.new("Black") |
619 | - | local w = Instance.new("Weld") |
619 | + | p.CanCollide = false |
620 | - | w.Part0 = p |
620 | + | p.Transparency = 1 |
621 | - | w.Part1 = pm |
621 | + | p.Locked = true |
622 | - | w.C0 = CFrame.new(0, 2.2, -0.04) |
622 | + | p.TopSurface = 0 |
623 | - | w.C1 = CFrame.new() |
623 | + | p.BottomSurface = 0 |
624 | - | w.Parent = p |
624 | + | p.Parent = model |
625 | - | local p = Instance.new("Part") |
625 | + | local m = Instance.new("CylinderMesh") |
626 | - | p.Name = "Hole" |
626 | + | m.Scale = Vector3.new(0.28, 3, 0.28) |
627 | - | p.formFactor = "Symmetric" |
627 | + | m.Parent = p |
628 | - | p.Size = Vector3.new(1, 1, 1) |
628 | + | local w = Instance.new("Weld") |
629 | - | p.BrickColor = BrickColor.new("Really black") |
629 | + | w.Part0 = p |
630 | - | p.CanCollide = false |
630 | + | w.Part1 = pm |
631 | - | p.Locked = true |
631 | + | w.C0 = CFrame.new(0, 4, 0.06) |
632 | - | p.TopSurface = 0 |
632 | + | w.C1 = CFrame.new() |
633 | - | p.BottomSurface = 0 |
633 | + | w.Parent = p |
634 | - | p.Parent = model |
634 | + | local p = Instance.new("Part") |
635 | - | local m = Instance.new("CylinderMesh") |
635 | + | p.Name = "GripStock" |
636 | - | m.Scale = Vector3.new(0.12, 0.4, 0.12) |
636 | + | p.formFactor = "Symmetric" |
637 | - | m.Parent = p |
637 | + | p.Size = Vector3.new(1, 1, 1) |
638 | - | local w = Instance.new("Weld") |
638 | + | p.BrickColor = GC |
639 | - | w.Part0 = p |
639 | + | p.Reflectance = GR |
640 | - | w.Part1 = pm |
640 | + | p.CanCollide = false |
641 | - | w.C0 = CFrame.new(0, 2.504, -0.04) |
641 | + | p.Locked = true |
642 | - | w.C1 = CFrame.new() |
642 | + | p.TopSurface = 0 |
643 | - | w.Parent = p |
643 | + | p.BottomSurface = 0 |
644 | - | local p = Instance.new("Part") |
644 | + | p.Parent = model |
645 | - | if silenced == false then |
645 | + | local m = Instance.new("BlockMesh") |
646 | - | p.Name = "Muzzle" |
646 | + | m.Scale = Vector3.new(0.3, 0.8, 0.3) |
647 | - | else |
647 | + | m.Parent = p |
648 | - | p.Name = "Muzzle 2" |
648 | + | local w = Instance.new("Weld") |
649 | - | end |
649 | + | w.Part0 = p |
650 | - | p.formFactor = "Symmetric" |
650 | + | w.Part1 = pm |
651 | - | p.Size = Vector3.new(1, 1, 1) |
651 | + | w.C0 = CFrame.new(0, -0.6, -0.75) * CFrame.fromEulerAnglesXYZ(math.rad(20), 0, 0) |
652 | - | p.BrickColor = DC |
652 | + | w.C1 = CFrame.new() |
653 | - | p.Reflectance = MR |
653 | + | w.Parent = p |
654 | - | p.CanCollide = false |
654 | + | local p = Instance.new("Part") -- Standard Stock |
655 | - | p.Locked = true |
655 | + | p.Name = "StockT" |
656 | - | p.TopSurface = 0 |
656 | + | p.CanCollide = false |
657 | - | p.BottomSurface = 0 |
657 | + | p.formFactor = "Symmetric" |
658 | - | p.Parent = model |
658 | + | p.Size = Vector3.new(1, 1, 1) |
659 | - | local m = Instance.new("CylinderMesh") |
659 | + | p.BrickColor = GC |
660 | - | m.Scale = Vector3.new(0.18, 0.4, 0.18) |
660 | + | p.Reflectance = GR |
661 | - | m.Parent = p |
661 | + | p.Locked = true |
662 | - | local w = Instance.new("Weld") |
662 | + | p.TopSurface = 0 |
663 | - | w.Part0 = p |
663 | + | p.BottomSurface = 0 |
664 | - | w.Part1 = pm |
664 | + | p.Parent = model |
665 | - | w.C0 = CFrame.new(0, 2.5, -0.04) |
665 | + | local m = Instance.new("BlockMesh") |
666 | - | w.C1 = CFrame.new() |
666 | + | m.Scale = Vector3.new(0.3, 1.4, 0.25) |
667 | - | w.Parent = p |
667 | + | m.Parent = p |
668 | - | local s = Instance.new("Smoke") |
668 | + | local w = Instance.new("Weld") |
669 | - | s.Enabled = false |
669 | + | w.Part0 = p |
670 | - | s.Name = "Smoke" |
670 | + | w.Part1 = pm |
671 | - | s.RiseVelocity = -5 |
671 | + | w.C0 = CFrame.new(0, -0.6, -0.1) |
672 | - | s.Opacity = 0.3 |
672 | + | w.C1 = CFrame.new() |
673 | - | s.Color = Color3.new(75 / 225, 75 / 225, 75 / 225) |
673 | + | w.Parent = p |
674 | - | s.Size = 1 |
674 | + | local p = Instance.new("Part") |
675 | - | s.Parent = p |
675 | + | p.Name = "CheekRest" -------------- |
676 | - | local f = Instance.new("Fire") |
676 | + | p.CanCollide = false |
677 | - | f.Enabled = false |
677 | + | p.formFactor = "Symmetric" |
678 | - | f.Name = "Fire" |
678 | + | p.Size = Vector3.new(1, 1, 1) |
679 | - | f.Heat = -35 |
679 | + | p.BrickColor = DC |
680 | - | f.Size = 1 |
680 | + | p.Reflectance = MR |
681 | - | f.Parent = p |
681 | + | p.Locked = true |
682 | - | local p = Instance.new("Part") |
682 | + | p.TopSurface = 0 |
683 | - | if silenced == false then |
683 | + | p.BottomSurface = 0 |
684 | - | p.Name = "Silencer" |
684 | + | p.Parent = model |
685 | - | else |
685 | + | local m = Instance.new("SpecialMesh") |
686 | - | p.Name = "Muzzle" |
686 | + | m.MeshType = "Brick" |
687 | - | end |
687 | + | m.Scale = Vector3.new(0.26, 0.6, 0.3) |
688 | - | p.formFactor = "Symmetric" |
688 | + | m.Parent = p |
689 | - | p.Size = Vector3.new(1, 1, 1) |
689 | + | local w = Instance.new("Weld") |
690 | - | p.BrickColor = BrickColor.new("Black") |
690 | + | w.Part0 = p |
691 | - | p.CanCollide = false |
691 | + | w.Part1 = pm |
692 | - | if silenced == false then |
692 | + | w.C0 = CFrame.new(0, -0.84, -0.04) |
693 | - | p.Transparency = 1 |
693 | + | w.C1 = CFrame.new() |
694 | - | else |
694 | + | w.Parent = p |
695 | - | p.Transparency = 0 |
695 | + | local p = Instance.new("Part") |
696 | - | end |
696 | + | p.Name = "Stock1" |
697 | - | p.Locked = true |
697 | + | p.CanCollide = false |
698 | - | p.TopSurface = 0 |
698 | + | p.formFactor = "Symmetric" |
699 | - | p.BottomSurface = 0 |
699 | + | p.Size = Vector3.new(1, 1, 1) |
700 | - | p.Parent = model |
700 | + | p.BrickColor = DC |
701 | - | local m = Instance.new("CylinderMesh") |
701 | + | p.Reflectance = MR |
702 | - | m.Scale = Vector3.new(0.2, 1.4, 0.2) |
702 | + | p.Locked = true |
703 | - | m.Parent = p |
703 | + | p.TopSurface = 0 |
704 | - | local w = Instance.new("Weld") |
704 | + | p.BottomSurface = 0 |
705 | - | w.Part0 = p |
705 | + | p.Parent = model |
706 | - | w.Part1 = pm |
706 | + | local m = Instance.new("BlockMesh") |
707 | - | w.C0 = CFrame.new(0, 2.4, -0.04) |
707 | + | m.Scale = Vector3.new(0.34, 0.4, 0.7) |
708 | - | w.C1 = CFrame.new() |
708 | + | m.Parent = p |
709 | - | w.Parent = p |
709 | + | local w = Instance.new("Weld") |
710 | - | local p = Instance.new("Part") |
710 | + | w.Part0 = p |
711 | - | p.Name = "Silencer1" |
711 | + | w.Part1 = pm |
712 | - | p.formFactor = "Symmetric" |
712 | + | w.C0 = CFrame.new(0, -1.38, -0.3) --* CFrame.fromEulerAnglesXYZ(math.rad(270), 0, math.rad(180)) |
713 | - | p.Size = Vector3.new(1, 1, 1) |
713 | + | w.C1 = CFrame.new() |
714 | - | p.BrickColor = BrickColor.new("Really black") |
714 | + | w.Parent = p |
715 | - | p.CanCollide = false |
715 | + | local p = Instance.new("Part") |
716 | - | if silenced == false then |
716 | + | p.Name = "Stock2" |
717 | - | p.Transparency = 1 |
717 | + | p.CanCollide = false |
718 | - | else |
718 | + | p.formFactor = "Symmetric" |
719 | - | p.Transparency = 0 |
719 | + | p.Size = Vector3.new(1, 1, 1) |
720 | - | end |
720 | + | p.BrickColor = GC |
721 | - | p.Locked = true |
721 | + | p.Reflectance = GR |
722 | - | p.TopSurface = 0 |
722 | + | p.Locked = true |
723 | - | p.BottomSurface = 0 |
723 | + | p.TopSurface = 0 |
724 | - | p.Parent = model |
724 | + | p.BottomSurface = 0 |
725 | - | local m = Instance.new("CylinderMesh") |
725 | + | p.Parent = model |
726 | - | m.Scale = Vector3.new(0.12, 1.403, 0.12) |
726 | + | local m = Instance.new("BlockMesh") |
727 | - | m.Parent = p |
727 | + | m.Scale = Vector3.new(0.3, 0.4, 0.5) |
728 | - | local w = Instance.new("Weld") |
728 | + | m.Parent = p |
729 | - | w.Part0 = p |
729 | + | local w = Instance.new("Weld") |
730 | - | w.Part1 = pm |
730 | + | w.Part0 = p |
731 | - | w.C0 = CFrame.new(0, 2.4, -0.04) |
731 | + | w.Part1 = pm |
732 | - | w.C1 = CFrame.new() |
732 | + | w.C0 = CFrame.new(0, -0.38, -1) * CFrame.fromEulerAnglesXYZ(math.rad(270), 0, math.rad(180)) |
733 | - | w.Parent = p |
733 | + | w.C1 = CFrame.new() |
734 | - | local p = Instance.new("Part") -- Standard Stock |
734 | + | w.Parent = p--]] |
735 | - | p.Name = "StockC" |
735 | + | local p = Instance.new("Part") -------------- SCOPE |
736 | - | p.CanCollide = false |
736 | + | p.Name = "Scope Base" |
737 | - | p.formFactor = "Symmetric" |
737 | + | p.formFactor = "Symmetric" |
738 | - | p.Size = Vector3.new(1, 1, 1) |
738 | + | p.CanCollide = false |
739 | - | p.BrickColor = DC |
739 | + | p.Size = Vector3.new(1, 1, 1) |
740 | - | p.Reflectance = GR |
740 | + | p.BrickColor = DC |
741 | - | p.Locked = true |
741 | + | p.Reflectance = MR |
742 | - | p.TopSurface = 0 |
742 | + | p.Locked = true |
743 | - | p.BottomSurface = 0 |
743 | + | p.TopSurface = 0 |
744 | - | p.Parent = model |
744 | + | p.BottomSurface = 0 |
745 | - | local m = Instance.new("CylinderMesh") |
745 | + | p.Parent = model |
746 | - | m.Scale = Vector3.new(0.2, 1, 0.2) |
746 | + | local m = Instance.new("BlockMesh") |
747 | - | m.Parent = p |
747 | + | m.Scale = Vector3.new(0.1, 0.14, 0.4) |
748 | - | local w = Instance.new("Weld") |
748 | + | m.Parent = p |
749 | - | w.Part0 = p |
749 | + | local w = Instance.new("Weld") |
750 | - | w.Part1 = pm |
750 | + | w.Part0 = p |
751 | - | w.C0 = CFrame.new(0, -0.6, -0.1) |
751 | + | w.Part1 = pm |
752 | - | w.C1 = CFrame.new() |
752 | + | w.C0 = CFrame.new(0, 0.1, 0.18) |
753 | - | w.Parent = p |
753 | + | w.C1 = CFrame.new() |
754 | - | local pt = Instance.new("Part") |
754 | + | w.Parent = p |
755 | - | pt.Name = "StockT" |
755 | + | local p = Instance.new("Part") |
756 | - | pt.CanCollide = false |
756 | + | p.Name = "Scope Base" |
757 | - | pt.formFactor = "Symmetric" |
757 | + | p.formFactor = "Symmetric" |
758 | - | pt.Size = Vector3.new(1, 1, 1) |
758 | + | p.CanCollide = false |
759 | - | pt.BrickColor = GC |
759 | + | p.Size = Vector3.new(1, 1, 1) |
760 | - | pt.Reflectance = GR |
760 | + | p.BrickColor = DC |
761 | - | pt.Locked = true |
761 | + | p.Reflectance = MR |
762 | - | pt.TopSurface = 0 |
762 | + | p.Locked = true |
763 | - | pt.BottomSurface = 0 |
763 | + | p.TopSurface = 0 |
764 | - | pt.Parent = model |
764 | + | p.BottomSurface = 0 |
765 | - | local m = Instance.new("CylinderMesh") |
765 | + | p.Parent = model |
766 | - | m.Scale = Vector3.new(0.25, 0.8, 0.25) |
766 | + | local m = Instance.new("BlockMesh") |
767 | - | m.Offset = Vector3.new(0, 0.4, 0) |
767 | + | m.Scale = Vector3.new(0.1, 0.14, 0.4) |
768 | - | m.Parent = pt |
768 | + | m.Parent = p |
769 | - | local w = Instance.new("Weld") |
769 | + | local w = Instance.new("Weld") |
770 | - | w.Part0 = pt |
770 | + | w.Part0 = p |
771 | - | w.Part1 = pm |
771 | + | w.Part1 = pm |
772 | - | if selected == true then |
772 | + | w.C0 = CFrame.new(0, 0.48, 0.18) |
773 | - | w.C0 = CFrame.new(0, -0.9, -0.1) |
773 | + | w.C1 = CFrame.new() |
774 | - | else |
774 | + | w.Parent = p |
775 | - | w.C0 = CFrame.new(0, -0.4, -0.1) |
775 | + | local p = Instance.new("Part") |
776 | - | end |
776 | + | p.Name = "Scope End 1" --End = Back |
777 | - | w.C1 = CFrame.new() |
777 | + | p.CanCollide = false |
778 | - | w.Parent = pt |
778 | + | p.formFactor = "Symmetric" |
779 | - | local p = Instance.new("Part") |
779 | + | p.Size = Vector3.new(1, 1, 1) |
780 | - | p.Name = "StockAngle1" |
780 | + | p.BrickColor = DC |
781 | - | p.CanCollide = false |
781 | + | p.Reflectance = MR |
782 | - | p.formFactor = "Symmetric" |
782 | + | p.Locked = true |
783 | - | p.Size = Vector3.new(1, 1, 1) |
783 | + | p.TopSurface = 0 |
784 | - | p.BrickColor = GC |
784 | + | p.BottomSurface = 0 |
785 | - | p.Reflectance = GR |
785 | + | p.Parent = model |
786 | - | p.Locked = true |
786 | + | local m = Instance.new("CylinderMesh") |
787 | - | p.TopSurface = 0 |
787 | + | m.Scale = Vector3.new(0.24, 0.375, 0.24) |
788 | - | p.BottomSurface = 0 |
788 | + | m.Parent = p |
789 | - | p.Parent = model |
789 | + | local w = Instance.new("Weld") |
790 | - | local m = Instance.new("SpecialMesh") |
790 | + | w.Part0 = p |
791 | - | m.MeshType = "Wedge" |
791 | + | w.Part1 = pm |
792 | - | m.Scale = Vector3.new(0.2, 0.5, 0.5) |
792 | + | w.C0 = CFrame.new(0, -0.2, 0.38) |
793 | - | m.Parent = p |
793 | + | w.C1 = CFrame.new() |
794 | - | local w = Instance.new("Weld") |
794 | + | w.Parent = p |
795 | - | w.Part0 = p |
795 | + | local p = Instance.new("Part") |
796 | - | w.Part1 = pt |
796 | + | p.Name = "Scope Center 1" |
797 | - | w.C0 = CFrame.new(0, -0.3, -0.55) * CFrame.fromEulerAnglesXYZ(math.rad(270), 0, math.rad(180)) |
797 | + | p.CanCollide = false |
798 | - | w.C1 = CFrame.new() |
798 | + | p.formFactor = "Symmetric" |
799 | - | w.Parent = p |
799 | + | p.Size = Vector3.new(1, 1, 1) |
800 | - | local p = Instance.new("Part") |
800 | + | p.BrickColor = DC |
801 | - | p.Name = "StockAngle2" |
801 | + | p.Reflectance = MR |
802 | - | p.CanCollide = false |
802 | + | p.Locked = true |
803 | - | p.formFactor = "Symmetric" |
803 | + | p.TopSurface = 0 |
804 | - | p.Size = Vector3.new(1, 1, 1) |
804 | + | p.BottomSurface = 0 |
805 | - | p.BrickColor = GC |
805 | + | p.Parent = model |
806 | - | p.Reflectance = GR |
806 | + | local m = Instance.new("CylinderMesh") |
807 | - | p.Locked = true |
807 | + | m.Scale = Vector3.new(0.2, 0.8, 0.2) |
808 | - | p.TopSurface = 0 |
808 | + | m.Parent = p |
809 | - | p.BottomSurface = 0 |
809 | + | local w = Instance.new("Weld") |
810 | - | p.Parent = model |
810 | + | w.Part0 = p |
811 | - | local m = Instance.new("SpecialMesh") |
811 | + | w.Part1 = pm |
812 | - | m.MeshType = "Wedge" |
812 | + | w.C0 = CFrame.new(0, 0.3, 0.38) |
813 | - | m.Scale = Vector3.new(0.2, 0.4, 0.6) |
813 | + | w.C1 = CFrame.new() |
814 | - | m.Parent = p |
814 | + | w.Parent = p |
815 | - | local w = Instance.new("Weld") |
815 | + | local p = Instance.new("Part") |
816 | - | w.Part0 = p |
816 | + | p.Name = "Scope Front 1" |
817 | - | w.Part1 = pt |
817 | + | p.CanCollide = false |
818 | - | w.C0 = CFrame.new(0, -0.24, -0.3) * CFrame.fromEulerAnglesXYZ(math.rad(270), 0, math.rad(180)) |
818 | + | p.formFactor = "Symmetric" |
819 | - | w.C1 = CFrame.new() |
819 | + | p.Size = Vector3.new(1, 1, 1) |
820 | - | w.Parent = p--]] |
820 | + | p.BrickColor = DC |
821 | - | local p = Instance.new("Part") |
821 | + | p.Reflectance = MR |
822 | - | p.Name = "BoltHole" -------------- |
822 | + | p.Locked = true |
823 | - | p.CanCollide = false |
823 | + | p.TopSurface = 0 |
824 | - | p.formFactor = "Symmetric" |
824 | + | p.BottomSurface = 0 |
825 | - | p.Size = Vector3.new(1, 1, 1) |
825 | + | p.Parent = model |
826 | - | p.BrickColor = BrickColor.new("Really black") |
826 | + | local m = Instance.new("CylinderMesh") |
827 | - | p.Locked = true |
827 | + | m.Scale = Vector3.new(0.28, 0.7, 0.28) |
828 | - | p.TopSurface = 0 |
828 | + | m.Parent = p |
829 | - | p.BottomSurface = 0 |
829 | + | local w = Instance.new("Weld") |
830 | - | p.Parent = model |
830 | + | w.Part0 = p |
831 | - | local m = Instance.new("CylinderMesh") |
831 | + | w.Part1 = pm |
832 | - | m.Scale = Vector3.new(0.13, 0.29, 0.13) |
832 | + | w.C0 = CFrame.new(0, 0.94, 0.38) |
833 | - | m.Parent = p |
833 | + | w.C1 = CFrame.new() |
834 | - | local w = Instance.new("Weld") |
834 | + | w.Parent = p |
835 | - | w.Part0 = p |
835 | + | local p = Instance.new("Part") |
836 | - | w.Part1 = pm |
836 | + | p.Name = "Scope Window F" |
837 | - | w.C0 = CFrame.new(-0.1, 0.4, -0.04) |
837 | + | p.CanCollide = false |
838 | - | w.C1 = CFrame.new() |
838 | + | p.formFactor = "Symmetric" |
839 | - | w.Parent = p |
839 | + | p.Size = Vector3.new(1, 1, 1) |
840 | - | if Sight == 0 then |
840 | + | p.BrickColor = BrickColor.new("White") |
841 | - | local p = Instance.new("Part") |
841 | + | p.Reflectance = 0.3 |
842 | - | p.Name = "Frontsight" |
842 | + | p.Locked = true |
843 | - | p.formFactor = "Symmetric" |
843 | + | p.TopSurface = 0 |
844 | - | p.Size = Vector3.new(1, 1, 1) |
844 | + | p.BottomSurface = 0 |
845 | - | p.BrickColor = DC |
845 | + | p.Parent = model |
846 | - | p.Reflectance = MR |
846 | + | local m = Instance.new("CylinderMesh") |
847 | - | p.CanCollide = false |
847 | + | m.Scale = Vector3.new(0.27, 0.7, 0.27) |
848 | - | p.Locked = true |
848 | + | m.Offset = Vector3.new(0, -0.003 ,0) |
849 | - | p.TopSurface = 0 |
849 | + | m.Parent = p |
850 | - | p.BottomSurface = 0 |
850 | + | local w = Instance.new("Weld") |
851 | - | p.Parent = model |
851 | + | w.Part0 = p |
852 | - | local m = Instance.new("BlockMesh") |
852 | + | w.Part1 = pm |
853 | - | m.Scale = Vector3.new(0.08, 0.1, 0.3) |
853 | + | w.C0 = CFrame.new(0, 0.94, 0.38) |
854 | - | m.Parent = p |
854 | + | w.C1 = CFrame.new() |
855 | - | local w = Instance.new("Weld") |
855 | + | w.Parent = p |
856 | - | w.Part0 = p |
856 | + | local p = Instance.new("Part") |
857 | - | w.Part1 = pm |
857 | + | p.Name = "Scope Window B" |
858 | - | w.C0 = CFrame.new(0, 2.1, 0.1) |
858 | + | p.CanCollide = false |
859 | - | w.C1 = CFrame.new() |
859 | + | p.formFactor = "Symmetric" |
860 | - | w.Parent = p |
860 | + | p.Size = Vector3.new(1, 1, 1) |
861 | - | local p = Instance.new("Part") |
861 | + | p.BrickColor = BrickColor.new("White") |
862 | - | p.Name = "Frontsight" |
862 | + | p.Reflectance = 0.3 |
863 | - | p.formFactor = "Symmetric" |
863 | + | p.Locked = true |
864 | - | p.Size = Vector3.new(1, 1, 1) |
864 | + | p.TopSurface = 0 |
865 | - | p.BrickColor = DC |
865 | + | p.BottomSurface = 0 |
866 | - | p.Reflectance = MR |
866 | + | p.Parent = model |
867 | - | p.CanCollide = false |
867 | + | local m = Instance.new("CylinderMesh") |
868 | - | p.Locked = true |
868 | + | m.Scale = Vector3.new(0.23, 0.375, 0.23) |
869 | - | p.TopSurface = 0 |
869 | + | m.Offset = Vector3.new(0, 0.003 ,0) |
870 | - | p.BottomSurface = 0 |
870 | + | m.Parent = p |
871 | - | p.Parent = model |
871 | + | local w = Instance.new("Weld") |
872 | - | local m = Instance.new("CylinderMesh") |
872 | + | w.Part0 = p |
873 | - | m.Scale = Vector3.new(0.1, 0.1, 0.1) |
873 | + | w.Part1 = pm |
874 | - | m.Parent = p |
874 | + | w.C0 = CFrame.new(0, -0.2, 0.38) |
875 | - | local w = Instance.new("Weld") |
875 | + | w.C1 = CFrame.new() |
876 | - | w.Part0 = p |
876 | + | w.Parent = p--]] |
877 | - | w.Part1 = pm |
877 | + | local p = Instance.new("Part") ---Bipod |
878 | - | w.C0 = CFrame.new(0, 2.1, 0.26) |
878 | + | p.Name = "BipodM" -------------- |
879 | - | w.C1 = CFrame.new() |
879 | + | p.CanCollide = false |
880 | - | w.Parent = p |
880 | + | p.formFactor = "Symmetric" |
881 | - | local p = Instance.new("Part") |
881 | + | p.Size = Vector3.new(1, 1, 1) |
882 | - | p.Name = "Rearsight" |
882 | + | p.BrickColor = DC |
883 | - | p.CanCollide = false |
883 | + | p.Reflectance = MR |
884 | - | p.formFactor = "Symmetric" |
884 | + | p.Locked = true |
885 | - | p.Size = Vector3.new(1, 1, 1) |
885 | + | p.TopSurface = 0 |
886 | - | p.BrickColor = DC |
886 | + | p.BottomSurface = 0 |
887 | - | p.Reflectance = MR |
887 | + | p.Parent = model |
888 | - | p.Locked = true |
888 | + | local m = Instance.new("BlockMesh") |
889 | - | p.TopSurface = 0 |
889 | + | m.Scale = Vector3.new(0.17, 0.25, 0.2) |
890 | - | p.BottomSurface = 0 |
890 | + | m.Parent = p |
891 | - | p.Parent = model |
891 | + | local w = Instance.new("Weld") |
892 | - | local m = Instance.new("BlockMesh") |
892 | + | w.Part0 = p |
893 | - | m.Scale = Vector3.new(0.22, 0.25, 0.2) |
893 | + | w.Part1 = pm |
894 | - | m.Parent = p |
894 | + | w.C0 = CFrame.new(0, 2, -0.35) |
895 | - | local w = Instance.new("Weld") |
895 | + | w.C1 = CFrame.new() |
896 | - | w.Part0 = p |
896 | + | w.Parent = p |
897 | - | w.Part1 = pm |
897 | + | local p = Instance.new("Part") |
898 | - | w.C0 = CFrame.new(0, -0.2, 0.1) |
898 | + | p.Name = "BipodArm" |
899 | - | w.C1 = CFrame.new() |
899 | + | p.formFactor = "Symmetric" |
900 | - | w.Parent = p |
900 | + | p.Size = Vector3.new(1, 1, 1) |
901 | - | local p = Instance.new("Part") |
901 | + | p.CanCollide = false |
902 | - | p.Name = "Rearsight" |
902 | + | p.BrickColor = DC |
903 | - | p.CanCollide = false |
903 | + | p.Reflectance = MR |
904 | - | p.formFactor = "Symmetric" |
904 | + | p.Locked = true |
905 | - | p.Size = Vector3.new(1, 1, 1) |
905 | + | p.TopSurface = 0 |
906 | - | p.BrickColor = DC |
906 | + | p.BottomSurface = 0 |
907 | - | p.Reflectance = MR |
907 | + | p.Parent = model |
908 | - | p.Locked = true |
908 | + | local m = Instance.new("CylinderMesh") |
909 | - | p.TopSurface = 0 |
909 | + | m.Scale = Vector3.new(0.15, 1, 0.15) |
910 | - | p.BottomSurface = 0 |
910 | + | m.Offset = Vector3.new(0, -0.44 ,0) |
911 | - | p.Parent = model |
911 | + | m.Parent = p |
912 | - | local m = Instance.new("BlockMesh") |
912 | + | local w = Instance.new("Weld") |
913 | - | m.Scale = Vector3.new(0.08, 0.08, 0.2) |
913 | + | w.Part0 = p |
914 | - | m.Offset = Vector3.new(0.07, 0, 0) |
914 | + | w.Part1 = pm |
915 | - | m.Parent = p |
915 | + | w.C0 = CFrame.new(-0.09, 2, -0.4) |
916 | - | local w = Instance.new("Weld") |
916 | + | w.C1 = CFrame.new() |
917 | - | w.Part0 = p |
917 | + | w.Parent = p |
918 | - | w.Part1 = pm |
918 | + | local p = Instance.new("Part") |
919 | - | w.C0 = CFrame.new(0, -0.2, 0.16) |
919 | + | p.Name = "BipodArm" |
920 | - | w.C1 = CFrame.new() |
920 | + | p.formFactor = "Symmetric" |
921 | - | w.Parent = p |
921 | + | p.Size = Vector3.new(1, 1, 1) |
922 | - | local p = Instance.new("Part") |
922 | + | p.CanCollide = false |
923 | - | p.Name = "Rearsight" |
923 | + | p.BrickColor = DC |
924 | - | p.CanCollide = false |
924 | + | p.Reflectance = MR |
925 | - | p.formFactor = "Symmetric" |
925 | + | p.Locked = true |
926 | - | p.Size = Vector3.new(1, 1, 1) |
926 | + | p.TopSurface = 0 |
927 | - | p.BrickColor = DC |
927 | + | p.BottomSurface = 0 |
928 | - | p.Reflectance = MR |
928 | + | p.Parent = model |
929 | - | p.Locked = true |
929 | + | local m = Instance.new("CylinderMesh") |
930 | - | p.TopSurface = 0 |
930 | + | m.Scale = Vector3.new(0.15, 1, 0.15) |
931 | - | p.BottomSurface = 0 |
931 | + | m.Offset = Vector3.new(0, -0.44 ,0) |
932 | - | p.Parent = model |
932 | + | m.Parent = p |
933 | - | local m = Instance.new("BlockMesh") |
933 | + | local w = Instance.new("Weld") |
934 | - | m.Scale = Vector3.new(0.08, 0.08, 0.2) |
934 | + | w.Part0 = p |
935 | - | m.Offset = Vector3.new(-0.07, 0, 0) |
935 | + | w.Part1 = pm |
936 | - | m.Parent = p |
936 | + | w.C0 = CFrame.new(0.09, 2, -0.4) |
937 | - | local w = Instance.new("Weld") |
937 | + | w.C1 = CFrame.new() |
938 | - | w.Part0 = p |
938 | + | w.Parent = p--]] |
939 | - | w.Part1 = pm |
939 | + | return model |
940 | - | w.C0 = CFrame.new(0, -0.2, 0.16) |
940 | + | |
941 | - | w.C1 = CFrame.new() |
941 | + | |
942 | - | w.Parent = p |
942 | + | |
943 | - | elseif Sight == 1 then |
943 | + | if format == "RightHand" then |
944 | - | canZoom = true |
944 | + | pcall(function() Player.Character[Name]:Remove() end) |
945 | - | local p = Instance.new("Part") -------------- SCOPE |
945 | + | elseif format == "LeftHand" then |
946 | - | p.Name = "Scope Base" |
946 | + | pcall(function() Player.Character[Name.. " (Left)"]:Remove() end) |
947 | - | p.formFactor = "Symmetric" |
947 | + | elseif format == "RightHolster" then |
948 | - | p.CanCollide = false |
948 | + | pcall(function() Player.Character[Name.. " (Holstered)"]:Remove() end) |
949 | - | p.Size = Vector3.new(1, 1, 1) |
949 | + | elseif format == "LeftHolster" then |
950 | - | p.BrickColor = DC |
950 | + | pcall(function() Player.Character[Name.. " (Holstered, Left)"]:Remove() end) |
951 | - | p.Reflectance = MR |
951 | + | end |
952 | - | p.Locked = true |
952 | + | |
953 | - | p.TopSurface = 0 |
953 | + | |
954 | - | p.BottomSurface = 0 |
954 | + | |
955 | - | p.Parent = model |
955 | + | if Character == nil then return false end |
956 | - | local m = Instance.new("BlockMesh") |
956 | + | local Joints = { |
957 | - | m.Scale = Vector3.new(0.1, 0.14, 0.4) |
957 | + | Character.Torso:FindFirstChild("Right Shoulder 2"), |
958 | - | m.Parent = p |
958 | + | Character.Torso:FindFirstChild("Left Shoulder 2"), |
959 | - | local w = Instance.new("Weld") |
959 | + | Character.Torso:FindFirstChild("Right Hip 2"), |
960 | - | w.Part0 = p |
960 | + | Character.Torso:FindFirstChild("Left Hip 2") |
961 | - | w.Part1 = pm |
961 | + | } |
962 | - | w.C0 = CFrame.new(0, 0.1, 0.1) |
962 | + | if Joints[Joint] == nil then return false end |
963 | - | w.C1 = CFrame.new() |
963 | + | if Joint == 1 or Joint == 3 then |
964 | - | w.Parent = p |
964 | + | Joints[Joint].DesiredAngle = Angle |
965 | - | local p = Instance.new("Part") |
965 | + | end |
966 | - | p.Name = "Scope Base" |
966 | + | if Joint == 2 or Joint == 4 then |
967 | - | p.formFactor = "Symmetric" |
967 | + | Joints[Joint].DesiredAngle = -Angle |
968 | - | p.CanCollide = false |
968 | + | end |
969 | - | p.Size = Vector3.new(1, 1, 1) |
969 | + | |
970 | - | p.BrickColor = DC |
970 | + | |
971 | - | p.Reflectance = MR |
971 | + | |
972 | - | p.Locked = true |
972 | + | if Character == nil then return false end |
973 | - | p.TopSurface = 0 |
973 | + | local Joints = { |
974 | - | p.BottomSurface = 0 |
974 | + | Character.Torso:FindFirstChild("Right Shoulder 2"), |
975 | - | p.Parent = model |
975 | + | Character.Torso:FindFirstChild("Left Shoulder 2"), |
976 | - | local m = Instance.new("BlockMesh") |
976 | + | Character.Torso:FindFirstChild("Right Hip 2"), |
977 | - | m.Scale = Vector3.new(0.1, 0.14, 0.4) |
977 | + | Character.Torso:FindFirstChild("Left Hip 2") |
978 | - | m.Parent = p |
978 | + | } |
979 | - | local w = Instance.new("Weld") |
979 | + | if Joints[Joint] == nil then return false end |
980 | - | w.Part0 = p |
980 | + | if Joint == 1 or Joint == 3 then |
981 | - | w.Part1 = pm |
981 | + | Joints[Joint].DesiredAngle = Angle |
982 | - | w.C0 = CFrame.new(0, 0.48, 0.1) |
982 | + | Joints[Joint].CurrentAngle = Angle |
983 | - | w.C1 = CFrame.new() |
983 | + | end |
984 | - | w.Parent = p |
984 | + | if Joint == 2 or Joint == 4 then |
985 | - | local p = Instance.new("Part") |
985 | + | Joints[Joint].DesiredAngle = -Angle |
986 | - | p.Name = "Scope End 1" --End = Back |
986 | + | Joints[Joint].CurrentAngle = -Angle |
987 | - | p.CanCollide = false |
987 | + | end |
988 | - | p.formFactor = "Symmetric" |
988 | + | |
989 | - | p.Size = Vector3.new(1, 1, 1) |
989 | + | |
990 | - | p.BrickColor = DC |
990 | + | |
991 | - | p.Reflectance = MR |
991 | + | if Character == nil then return false end |
992 | - | p.Locked = true |
992 | + | local Joints = { |
993 | - | p.TopSurface = 0 |
993 | + | Character.Torso:FindFirstChild("Right Shoulder 2"), |
994 | - | p.BottomSurface = 0 |
994 | + | Character.Torso:FindFirstChild("Left Shoulder 2"), |
995 | - | p.Parent = model |
995 | + | Character.Torso:FindFirstChild("Right Hip 2"), |
996 | - | local m = Instance.new("CylinderMesh") |
996 | + | Character.Torso:FindFirstChild("Left Hip 2") |
997 | - | m.Scale = Vector3.new(0.24, 0.375, 0.24) |
997 | + | } |
998 | - | m.Parent = p |
998 | + | if Joints[Joint] == nil then return false end |
999 | - | local w = Instance.new("Weld") |
999 | + | Joints[Joint].MaxVelocity = Speed |
1000 | - | w.Part0 = p |
1000 | + | |
1001 | - | w.Part1 = pm |
1001 | + | |
1002 | - | w.C0 = CFrame.new(0, -0.2, 0.3) |
1002 | + | |
1003 | - | w.C1 = CFrame.new() |
1003 | + | if Character == nil then return false end |
1004 | - | w.Parent = p |
1004 | + | if Character:FindFirstChild("Torso") == nil then return false end |
1005 | - | local p = Instance.new("Part") |
1005 | + | local Joints = { |
1006 | - | p.Name = "Scope Center 1" |
1006 | + | Character.Torso:FindFirstChild("Right Shoulder"), |
1007 | - | p.CanCollide = false |
1007 | + | Character.Torso:FindFirstChild("Left Shoulder"), |
1008 | - | p.formFactor = "Symmetric" |
1008 | + | Character.Torso:FindFirstChild("Right Hip"), |
1009 | - | p.Size = Vector3.new(1, 1, 1) |
1009 | + | Character.Torso:FindFirstChild("Left Hip") |
1010 | - | p.BrickColor = DC |
1010 | + | } |
1011 | - | p.Reflectance = MR |
1011 | + | local Limbs = { |
1012 | - | p.Locked = true |
1012 | + | Character:FindFirstChild("Right Arm"), |
1013 | - | p.TopSurface = 0 |
1013 | + | Character:FindFirstChild("Left Arm"), |
1014 | - | p.BottomSurface = 0 |
1014 | + | Character:FindFirstChild("Right Leg"), |
1015 | - | p.Parent = model |
1015 | + | Character:FindFirstChild("Left Leg") |
1016 | - | local m = Instance.new("CylinderMesh") |
1016 | + | } |
1017 | - | m.Scale = Vector3.new(0.2, 0.8, 0.2) |
1017 | + | if Joints[Limb] == nil then return false end |
1018 | - | m.Parent = p |
1018 | + | if Limbs[Limb] == nil then return false end |
1019 | - | local w = Instance.new("Weld") |
1019 | + | local Joint = Instance.new("Motor") |
1020 | - | w.Part0 = p |
1020 | + | Joint.Parent = Character.Torso |
1021 | - | w.Part1 = pm |
1021 | + | Joint.Part0 = Character.Torso |
1022 | - | w.C0 = CFrame.new(0, 0.3, 0.3) |
1022 | + | Joint.Part1 = Limbs[Limb] |
1023 | - | w.C1 = CFrame.new() |
1023 | + | if Limb == 1 then |
1024 | - | w.Parent = p |
1024 | + | Joint.C0 = CFrame.new(1.5, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0) |
1025 | - | local p = Instance.new("Part") |
1025 | + | Joint.C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0) |
1026 | - | p.Name = "Scope Front 1" |
1026 | + | Joint.Name = "Right Shoulder 2" |
1027 | - | p.CanCollide = false |
1027 | + | elseif Limb == 2 then |
1028 | - | p.formFactor = "Symmetric" |
1028 | + | Joint.C0 = CFrame.new(-1.5, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0) |
1029 | - | p.Size = Vector3.new(1, 1, 1) |
1029 | + | Joint.C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0) |
1030 | - | p.BrickColor = DC |
1030 | + | Joint.Name = "Left Shoulder 2" |
1031 | - | p.Reflectance = MR |
1031 | + | elseif Limb == 3 then |
1032 | - | p.Locked = true |
1032 | + | Joint.C0 = CFrame.new(0.5, -1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0) |
1033 | - | p.TopSurface = 0 |
1033 | + | Joint.C1 = CFrame.new(0, 1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0) |
1034 | - | p.BottomSurface = 0 |
1034 | + | Joint.Name = "Right Hip 2" |
1035 | - | p.Parent = model |
1035 | + | elseif Limb == 4 then |
1036 | - | local m = Instance.new("CylinderMesh") |
1036 | + | Joint.C0 = CFrame.new(-0.5, -1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0) |
1037 | - | m.Scale = Vector3.new(0.28, 0.7, 0.28) |
1037 | + | Joint.C1 = CFrame.new(0, 1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0) |
1038 | - | m.Parent = p |
1038 | + | Joint.Name = "Left Hip 2" |
1039 | - | local w = Instance.new("Weld") |
1039 | + | end |
1040 | - | w.Part0 = p |
1040 | + | Joint.MaxVelocity = Joints[Limb].MaxVelocity |
1041 | - | w.Part1 = pm |
1041 | + | Joint.CurrentAngle = Joints[Limb].CurrentAngle |
1042 | - | w.C0 = CFrame.new(0, 0.94, 0.3) |
1042 | + | Joint.DesiredAngle = Joints[Limb].DesiredAngle |
1043 | - | w.C1 = CFrame.new() |
1043 | + | Joints[Limb]:Remove() |
1044 | - | w.Parent = p |
1044 | + | |
1045 | - | local p = Instance.new("Part") |
1045 | + | |
1046 | - | p.Name = "Scope Window F" |
1046 | + | |
1047 | - | p.CanCollide = false |
1047 | + | if Character == nil then return false end |
1048 | - | p.formFactor = "Symmetric" |
1048 | + | if Character.Parent == nil then return false end |
1049 | - | p.Size = Vector3.new(1, 1, 1) |
1049 | + | if Character:FindFirstChild("Torso") == nil then return false end |
1050 | - | p.BrickColor = BrickColor.new("White") |
1050 | + | local Joints = { |
1051 | - | p.Reflectance = 0.3 |
1051 | + | Character.Torso:FindFirstChild("Right Shoulder 2"), |
1052 | - | p.Locked = true |
1052 | + | Character.Torso:FindFirstChild("Left Shoulder 2"), |
1053 | - | p.TopSurface = 0 |
1053 | + | Character.Torso:FindFirstChild("Right Hip 2"), |
1054 | - | p.BottomSurface = 0 |
1054 | + | Character.Torso:FindFirstChild("Left Hip 2") |
1055 | - | p.Parent = model |
1055 | + | } |
1056 | - | local m = Instance.new("CylinderMesh") |
1056 | + | local Limbs = { |
1057 | - | m.Scale = Vector3.new(0.27, 0.7, 0.27) |
1057 | + | Character:FindFirstChild("Right Arm"), |
1058 | - | m.Offset = Vector3.new(0, -0.003 ,0) |
1058 | + | Character:FindFirstChild("Left Arm"), |
1059 | - | m.Parent = p |
1059 | + | Character:FindFirstChild("Right Leg"), |
1060 | - | local w = Instance.new("Weld") |
1060 | + | Character:FindFirstChild("Left Leg") |
1061 | - | w.Part0 = p |
1061 | + | } |
1062 | - | w.Part1 = pm |
1062 | + | if Joints[Limb] == nil then return false end |
1063 | - | w.C0 = CFrame.new(0, 0.94, 0.3) |
1063 | + | if Limbs[Limb] == nil then return false end |
1064 | - | w.C1 = CFrame.new() |
1064 | + | if Limb == 1 then |
1065 | - | w.Parent = p |
1065 | + | Joints[Limb].C0 = CFrame.new(1.5, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0) |
1066 | - | local p = Instance.new("Part") |
1066 | + | Joints[Limb].C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0) |
1067 | - | p.Name = "Scope Window B" |
1067 | + | elseif Limb == 2 then |
1068 | - | p.CanCollide = false |
1068 | + | Joints[Limb].C0 = CFrame.new(-1.5, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0) |
1069 | - | p.formFactor = "Symmetric" |
1069 | + | Joints[Limb].C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0) |
1070 | - | p.Size = Vector3.new(1, 1, 1) |
1070 | + | elseif Limb == 3 then |
1071 | - | p.BrickColor = BrickColor.new("White") |
1071 | + | Joints[Limb].C0 = CFrame.new(0.5, -1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0) |
1072 | - | p.Reflectance = 0.3 |
1072 | + | Joints[Limb].C1 = CFrame.new(0, 1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0) |
1073 | - | p.Locked = true |
1073 | + | elseif Limb == 4 then |
1074 | - | p.TopSurface = 0 |
1074 | + | Joints[Limb].C0 = CFrame.new(-0.5, -1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0) |
1075 | - | p.BottomSurface = 0 |
1075 | + | Joints[Limb].C1 = CFrame.new(0, 1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0) |
1076 | - | p.Parent = model |
1076 | + | end |
1077 | - | local m = Instance.new("CylinderMesh") |
1077 | + | |
1078 | - | m.Scale = Vector3.new(0.23, 0.375, 0.23) |
1078 | + | |
1079 | - | m.Offset = Vector3.new(0, 0.003 ,0) |
1079 | + | |
1080 | - | m.Parent = p |
1080 | + | if Character == nil then return false end |
1081 | - | local w = Instance.new("Weld") |
1081 | + | if Character:FindFirstChild("Torso") == nil then return false end |
1082 | - | w.Part0 = p |
1082 | + | local Joints = { |
1083 | - | w.Part1 = pm |
1083 | + | Character.Torso:FindFirstChild("Right Shoulder 2"), |
1084 | - | w.C0 = CFrame.new(0, -0.2, 0.3) |
1084 | + | Character.Torso:FindFirstChild("Left Shoulder 2"), |
1085 | - | w.C1 = CFrame.new() |
1085 | + | Character.Torso:FindFirstChild("Right Hip 2"), |
1086 | - | w.Parent = p |
1086 | + | Character.Torso:FindFirstChild("Left Hip 2") |
1087 | - | elseif Sight == 2 then |
1087 | + | } |
1088 | - | local p = Instance.new("Part") |
1088 | + | local Limbs = { |
1089 | - | p.Name = "SightBottom" |
1089 | + | Character:FindFirstChild("Right Arm"), |
1090 | - | p.CanCollide = false |
1090 | + | Character:FindFirstChild("Left Arm"), |
1091 | - | p.formFactor = "Symmetric" |
1091 | + | Character:FindFirstChild("Right Leg"), |
1092 | - | p.Size = Vector3.new(1, 1, 1) |
1092 | + | Character:FindFirstChild("Left Leg") |
1093 | - | p.BrickColor = DC |
1093 | + | } |
1094 | - | p.Reflectance = MR |
1094 | + | if Joints[Limb] == nil then return false end |
1095 | - | p.Locked = true |
1095 | + | if Limbs[Limb] == nil then return false end |
1096 | - | p.TopSurface = 0 |
1096 | + | if Limb == 1 then |
1097 | - | p.BottomSurface = 0 |
1097 | + | Joints[Limb].Name = "Right Shoulder" |
1098 | - | p.Parent = model |
1098 | + | elseif Limb == 2 then |
1099 | - | local m = Instance.new("BlockMesh") |
1099 | + | Joints[Limb].Name = "Left Shoulder" |
1100 | - | m.Scale = Vector3.new(0.2, 0.5, 0.18) |
1100 | + | elseif Limb == 3 then |
1101 | - | m.Parent = p |
1101 | + | Joints[Limb].Name = "Right Hip" |
1102 | - | local w = Instance.new("Weld") |
1102 | + | elseif Limb == 4 then |
1103 | - | w.Part0 = p |
1103 | + | Joints[Limb].Name = "Left Hip" |
1104 | - | w.Part1 = pm |
1104 | + | end |
1105 | - | w.C0 = CFrame.new(0, 0.25, 0.12) |
1105 | + | Animate = Character:FindFirstChild("Animate") |
1106 | - | w.C1 = CFrame.new() |
1106 | + | if Animate == nil then return false end |
1107 | - | w.Parent = p |
1107 | + | Animate = Animate:Clone() |
1108 | - | local p = Instance.new("Part") |
1108 | + | Character.Animate:Remove() |
1109 | - | p.Name = "Image" |
1109 | + | Animate.Parent = Character |
1110 | - | p.CanCollide = false |
1110 | + | |
1111 | - | p.formFactor = "Symmetric" |
1111 | + | |
1112 | - | p.Size = Vector3.new(1, 1, 1) |
1112 | + | |
1113 | - | p.BrickColor = MC |
1113 | + | if format == "equip" then |
1114 | - | p.Transparency = 1 |
1114 | + | EnableLimb(1, Player.Character) |
1115 | - | p.Locked = true |
1115 | + | EnableLimb(2, Player.Character) |
1116 | - | p.TopSurface = 0 |
1116 | + | DisableLimb(2, Player.Character) |
1117 | - | p.BottomSurface = 0 |
1117 | + | SetSpeed(2, 0.1, Player.Character) |
1118 | - | p.Parent = model |
1118 | + | ForceAngle(2, 0, Player.Character) |
1119 | - | local d = Instance.new("Decal") |
1119 | + | SetAngle(2, math.rad(-50), Player.Character) |
1120 | - | d.Face = "Top" |
1120 | + | wait(0.25) |
1121 | - | d.Texture = "http://www.roblox.com/asset/?id=29712167" |
1121 | + | if Player.Character:FindFirstChild(Name.. " (Holstered)") == nil then makeParts("RightHolster") end |
1122 | - | d.Parent = p |
1122 | + | Player.Character[Name.. " (Holstered)"].Handle.Weld:Remove() |
1123 | - | local m = Instance.new("BlockMesh") |
1123 | + | local w = Instance.new("Weld") |
1124 | - | m.Scale = Vector3.new(0.1, 0.001, 0.1) |
1124 | + | w.Part0 = Player.Character[Name.. " (Holstered)"].Handle |
1125 | - | m.Parent = p |
1125 | + | w.Part1 = Player.Character:FindFirstChild("Left Arm") |
1126 | - | local w = Instance.new("Weld") |
1126 | + | w.C0 = CFrame.new(0.5, -0.25, -0.75) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0) |
1127 | - | w.Part0 = p |
1127 | + | w.C1 = CFrame.new() * CFrame.fromEulerAnglesXYZ(math.rad(50), 0, 0) |
1128 | - | w.Part1 = pm |
1128 | + | w.Parent = Player.Character[Name.. " (Holstered)"].Handle |
1129 | - | w.C0 = CFrame.new(0, 0.1, 0.25) |
1129 | + | SetAngle(2, 0, Player.Character) |
1130 | - | w.C1 = CFrame.new() |
1130 | + | wait(0.25) |
1131 | - | w.Parent = p |
1131 | + | DisableLimb(1, Player.Character) |
1132 | - | local p = Instance.new("Part") |
1132 | + | ForceAngle(1, 0, Player.Character) |
1133 | - | p.Name = "SightCube" |
1133 | + | delay(0.3, function() Player.Character[Name.. " (Holstered)"].Handle.Equip:Play() end) |
1134 | - | p.CanCollide = false |
1134 | + | for i = 0, 1, 0.05 do |
1135 | - | p.formFactor = "Symmetric" |
1135 | + | if Player.Character:FindFirstChild("Torso") ~= nil then |
1136 | - | p.Size = Vector3.new(1, 1, 1) |
1136 | + | if Player.Character.Torso:FindFirstChild("Left Shoulder 2") ~= nil and Player.Character.Torso:FindFirstChild("Right Shoulder 2") ~= nil then |
1137 | - | p.BrickColor = DC |
1137 | + | Player.Character.Torso["Left Shoulder 2"].C0 = CFrame.new() |
1138 | - | p.Reflectance = MR |
1138 | + | Player.Character.Torso["Left Shoulder 2"].C1 = CFrame.new((-0.5 * i) + (1.5 * (1 - i)), 1.2 * i, 0.8 * i) * CFrame.fromEulerAnglesXYZ(math.rad(300 + ((1 - i) * 50)), math.rad(10), math.rad(-90) * i) |
1139 | - | p.Transparency = 0.8 |
1139 | + | Player.Character.Torso["Right Shoulder 2"].C0 = CFrame.new() |
1140 | - | p.Locked = true |
1140 | + | Player.Character.Torso["Right Shoulder 2"].C1 = CFrame.new((-0.9 * i) + (-1.5 * (1 - i)), -0.35 * i, 0.51 * i) * CFrame.fromEulerAnglesXYZ(math.rad(-90 * i), math.rad(-5 * i), 0) |
1141 | - | p.TopSurface = 0 |
1141 | + | w.C0 = CFrame.new(0.5 - (i * (0.5 * 2)), -0.25 - (i * (-0.25 * 2)), -0.75 - (i * (-0.75 * 2))) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90 + (i * 180)), 0) |
1142 | - | p.BottomSurface = 0 |
1142 | + | w.C1 = CFrame.new() * CFrame.fromEulerAnglesXYZ(math.rad(50 - i * 25), 0, -math.rad(i * 15)) |
1143 | - | p.Parent = model |
1143 | + | wait() |
1144 | - | local m = Instance.new("BlockMesh") |
1144 | + | else return false end |
1145 | - | m.Scale = Vector3.new(0.25, 0.25, 0.25) |
1145 | + | else return false end |
1146 | - | m.Parent = p |
1146 | + | end |
1147 | - | local w = Instance.new("Weld") |
1147 | + | return playAnimation("hold") |
1148 | - | w.Part0 = p |
1148 | + | end |
1149 | - | w.Part1 = pm |
1149 | + | if format == "unequip" then |
1150 | - | w.C0 = CFrame.new(0, 0.1, 0.25) |
1150 | + | Player.Character[Name].Handle.Weld:Remove() |
1151 | - | w.C1 = CFrame.new() |
1151 | + | local w = Instance.new("Weld") |
1152 | - | w.Parent = p |
1152 | + | w.Part0 = Player.Character[Name].Handle |
1153 | - | local p = Instance.new("Part") |
1153 | + | w.Part1 = Player.Character:FindFirstChild("Left Arm") |
1154 | - | p.Name = "SightBox" |
1154 | + | w.C0 = CFrame.new(0.5, -0.25, -0.75) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0) |
1155 | - | p.CanCollide = false |
1155 | + | w.C1 = CFrame.new() * CFrame.fromEulerAnglesXYZ(math.rad(50), 0, 0) |
1156 | - | p.formFactor = "Symmetric" |
1156 | + | w.Parent = Player.Character[Name].Handle |
1157 | - | p.Size = Vector3.new(1, 1, 1) |
1157 | + | for i = 1, 0, -0.05 do |
1158 | - | p.BrickColor = DC |
1158 | + | if Player.Character:FindFirstChild("Torso") ~= nil then |
1159 | - | p.Reflectance = MR |
1159 | + | if Player.Character.Torso:FindFirstChild("Left Shoulder 2") ~= nil and Player.Character.Torso:FindFirstChild("Right Shoulder 2") ~= nil then |
1160 | - | p.Locked = true |
1160 | + | Player.Character.Torso["Left Shoulder 2"].C0 = CFrame.new() |
1161 | - | p.TopSurface = 0 |
1161 | + | Player.Character.Torso["Left Shoulder 2"].C1 = CFrame.new((-0.5 * i) + (1.5 * (1 - i)), 1.2 * i, 0.8 * i) * CFrame.fromEulerAnglesXYZ(math.rad(300 + ((1 - i) * 50)), math.rad(10), math.rad(-90) * i) |
1162 | - | p.BottomSurface = 0 |
1162 | + | Player.Character.Torso["Right Shoulder 2"].C0 = CFrame.new() |
1163 | - | p.Parent = model |
1163 | + | Player.Character.Torso["Right Shoulder 2"].C1 = CFrame.new((-0.9 * i) + (-1.5 * (1 - i)), -0.35 * i, 0.51 * i) * CFrame.fromEulerAnglesXYZ(math.rad(-90 * i), math.rad(-5 * i), 0) |
1164 | - | local m = Instance.new("BlockMesh") |
1164 | + | w.C0 = CFrame.new(0.5 - (i * (0.5 * 2)), -0.25 - (i * (-0.25 * 2)), -0.75 - (i * (-0.75 * 2))) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90 + (i * 180)), 0) |
1165 | - | m.Scale = Vector3.new(0.05, 0.25, 0.25) |
1165 | + | w.C1 = CFrame.new() * CFrame.fromEulerAnglesXYZ(math.rad(50 - i * 25), 0, -math.rad(i * 15)) |
1166 | - | m.Offset = Vector3.new(0.1, 0, 0) |
1166 | + | wait() |
1167 | - | m.Parent = p |
1167 | + | else return false end |
1168 | - | local w = Instance.new("Weld") |
1168 | + | else return false end |
1169 | - | w.Part0 = p |
1169 | + | end |
1170 | - | w.Part1 = pm |
1170 | + | w.C0 = CFrame.new(0.5, -0.25, -0.75) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0) |
1171 | - | w.C0 = CFrame.new(0, 0.1, 0.25) |
1171 | + | w.C1 = CFrame.new() * CFrame.fromEulerAnglesXYZ(math.rad(50), 0, 0) |
1172 | - | w.C1 = CFrame.new() |
1172 | + | ResetLimbCFrame(1, Player.Character) |
1173 | - | w.Parent = p |
1173 | + | ResetLimbCFrame(2, Player.Character) |
1174 | - | local p = Instance.new("Part") |
1174 | + | EnableLimb(1, Player.Character) |
1175 | - | p.Name = "SightBox" |
1175 | + | EnableLimb(2, Player.Character) |
1176 | - | p.CanCollide = false |
1176 | + | DisableLimb(2, Player.Character) |
1177 | - | p.formFactor = "Symmetric" |
1177 | + | SetSpeed(2, 0.1, Player.Character) |
1178 | - | p.Size = Vector3.new(1, 1, 1) |
1178 | + | ForceAngle(2, 0, Player.Character) |
1179 | - | p.BrickColor = DC |
1179 | + | SetAngle(2, math.rad(-50), Player.Character) |
1180 | - | p.Reflectance = MR |
1180 | + | wait(0.25) |
1181 | - | p.Locked = true |
1181 | + | SetAngle(2, 0, Player.Character) |
1182 | - | p.TopSurface = 0 |
1182 | + | removeParts("RightHand") |
1183 | - | p.BottomSurface = 0 |
1183 | + | makeParts("RightHolster") |
1184 | - | p.Parent = model |
1184 | + | wait(0.25) |
1185 | - | local m = Instance.new("BlockMesh") |
1185 | + | makeParts("RightHand") |
1186 | - | m.Scale = Vector3.new(0.05, 0.25, 0.25) |
1186 | + | removeParts("RightHolster") |
1187 | - | m.Offset = Vector3.new(-0.1, 0, 0) |
1187 | + | return true |
1188 | - | m.Parent = p |
1188 | + | end |
1189 | - | local w = Instance.new("Weld") |
1189 | + | if format == "hold" then |
1190 | - | w.Part0 = p |
1190 | + | if Player.Character:FindFirstChild("Torso") ~= nil then |
1191 | - | w.Part1 = pm |
1191 | + | if Player.Character.Torso:FindFirstChild("Left Shoulder 2") ~= nil and Player.Character.Torso:FindFirstChild("Right Shoulder 2") ~= nil then |
1192 | - | w.C0 = CFrame.new(0, 0.1, 0.25) |
1192 | + | Player.Character.Torso["Left Shoulder 2"].C0 = CFrame.new() |
1193 | - | w.C1 = CFrame.new() |
1193 | + | Player.Character.Torso["Left Shoulder 2"].C1 = CFrame.new(-0.5, 1.2, 0.8) * CFrame.fromEulerAnglesXYZ(math.rad(300), math.rad(10), math.rad(-90)) |
1194 | - | w.Parent = p |
1194 | + | Player.Character.Torso["Right Shoulder 2"].C0 = CFrame.new() |
1195 | - | local p = Instance.new("Part") |
1195 | + | Player.Character.Torso["Right Shoulder 2"].C1 = CFrame.new(-0.9, -0.35, 0.51) * CFrame.fromEulerAnglesXYZ(math.rad(-90), math.rad(-5), 0) |
1196 | - | p.Name = "SightBox" |
1196 | + | else return false end |
1197 | - | p.CanCollide = false |
1197 | + | else return false end |
1198 | - | p.formFactor = "Symmetric" |
1198 | + | end |
1199 | - | p.Size = Vector3.new(1, 1, 1) |
1199 | + | if format == "reload" then |
1200 | - | p.BrickColor = DC |
1200 | + | Player.Character[Name].Handle.Equip:Play() |
1201 | - | p.Reflectance = MR |
1201 | + | for i = 0, 10, 5 do |
1202 | - | p.Locked = true |
1202 | + | if Player.Character:FindFirstChild("Torso") ~= nil then |
1203 | - | p.TopSurface = 0 |
1203 | + | if Player.Character.Torso:FindFirstChild("Left Shoulder 2") ~= nil then |
1204 | - | p.BottomSurface = 0 |
1204 | + | Player.Character.Torso["Left Shoulder 2"].C0 = CFrame.new() |
1205 | - | p.Parent = model |
1205 | + | Player.Character.Torso["Left Shoulder 2"].C1 = CFrame.new(-0.5 - (i / 25), 0.2, 0.2) * CFrame.fromEulerAnglesXYZ(math.rad(300 - i), math.rad(10 - i), math.rad(-90)) |
1206 | - | local m = Instance.new("BlockMesh") |
1206 | + | wait() |
1207 | - | m.Scale = Vector3.new(0.25, 0.25, 0.05) |
1207 | + | else return false end |
1208 | - | m.Offset = Vector3.new(0, 0, -0.1) |
1208 | + | else return false end |
1209 | - | m.Parent = p |
1209 | + | end |
1210 | - | local w = Instance.new("Weld") |
1210 | + | wait(0.1) |
1211 | - | w.Part0 = p |
1211 | + | Player.Character[Name].BoltKnobI.Transparency = 1 |
1212 | - | w.Part1 = pm |
1212 | + | Player.Character[Name].BoltShaftI.Transparency = 1 |
1213 | - | w.C0 = CFrame.new(0, 0.1, 0.25) |
1213 | + | Player.Character[Name].BoltShaftO.Transparency = 0 |
1214 | - | w.C1 = CFrame.new() |
1214 | + | Player.Character[Name].BoltKnobO.Transparency = 0 |
1215 | - | w.Parent = p |
1215 | + | for i = 0, 10, 1.5 do |
1216 | - | local p = Instance.new("Part") |
1216 | + | if Player.Character:FindFirstChild("Torso") ~= nil then |
1217 | - | p.Name = "SightBox" |
1217 | + | if Player.Character.Torso:FindFirstChild("Left Shoulder 2") ~= nil then |
1218 | - | p.CanCollide = false |
1218 | + | Player.Character.Torso["Left Shoulder 2"].C0 = CFrame.new() |
1219 | - | p.formFactor = "Symmetric" |
1219 | + | Player.Character.Torso["Left Shoulder 2"].C1 = CFrame.new(-0.9, 0.2 - (i / 25), 0.2) * CFrame.fromEulerAnglesXYZ(math.rad(290), 0, math.rad(-90)) |
1220 | - | p.Size = Vector3.new(1, 1, 1) |
1220 | + | wait() |
1221 | - | p.BrickColor = DC |
1221 | + | else return false end |
1222 | - | p.Reflectance = MR |
1222 | + | else return false end |
1223 | - | p.Locked = true |
1223 | + | end |
1224 | - | p.TopSurface = 0 |
1224 | + | Player.Character[Name].Handle.Equip:Stop() |
1225 | - | p.BottomSurface = 0 |
1225 | + | Player.Character[Name].Handle.Reload:Play() |
1226 | - | p.Parent = model |
1226 | + | Player.Character[Name].Magazine.Transparency = 1 |
1227 | - | local m = Instance.new("BlockMesh") |
1227 | + | magazineDrop = Player.Character[Name].Magazine:Clone() |
1228 | - | m.Scale = Vector3.new(0.25, 0.25, 0.05) |
1228 | + | magazineDrop.Transparency = 0 |
1229 | - | m.Offset = Vector3.new(0, 0, 0.1) |
1229 | + | magazineDrop.CanCollide = true |
1230 | - | m.Parent = p |
1230 | + | magazineDrop.Parent = game.Workspace |
1231 | - | local w = Instance.new("Weld") |
1231 | + | coroutine.resume(coroutine.create(function(part) wait(4.5) for i = 0, 1, 0.1 do part.Transparency = i wait() end part:Remove() end), magazineDrop) |
1232 | - | w.Part0 = p |
1232 | + | delay(0.1, function() magazineDrop.CanCollide = true end) |
1233 | - | w.Part1 = pm |
1233 | + | for i = 0, 25, 5 do |
1234 | - | w.C0 = CFrame.new(0, 0.1, 0.25) |
1234 | + | if Player.Character:FindFirstChild("Torso") ~= nil then |
1235 | - | w.C1 = CFrame.new() |
1235 | + | if Player.Character.Torso:FindFirstChild("Left Shoulder 2") ~= nil and Player.Character.Torso:FindFirstChild("Right Shoulder 2") ~= nil then |
1236 | - | w.Parent = p |
1236 | + | Player.Character.Torso["Left Shoulder 2"].C0 = CFrame.new() |
1237 | - | else end |
1237 | + | Player.Character.Torso["Left Shoulder 2"].C1 = CFrame.new(-0.5 + (i / 60), 1.2 - (i / 20), 0.8 + (i / 35)) * CFrame.fromEulerAnglesXYZ(math.rad(300 - i), math.rad(10 + -i * 3.5), math.rad(-90)) |
1238 | - | if Grip == 1 then |
1238 | + | Player.Character.Torso["Right Shoulder 2"].C0 = CFrame.new() |
1239 | - | local p = Instance.new("Part") --------------- ForeGrip Attachment |
1239 | + | Player.Character.Torso["Right Shoulder 2"].C1 = CFrame.new(-0.9, -0.35, 0.51) * CFrame.fromEulerAnglesXYZ(math.rad(-90 + i), math.rad(-5), 0) |
1240 | - | p.Name = "ForeGrip" |
1240 | + | wait() |
1241 | - | p.formFactor = "Symmetric" |
1241 | + | else return false end |
1242 | - | p.Size = Vector3.new(1, 1, 1) |
1242 | + | else return false end |
1243 | - | p.BrickColor = BrickColor.new("Black") |
1243 | + | end |
1244 | - | p.CanCollide = false |
1244 | + | magazineNew = Player.Character[Name].Magazine:Clone() |
1245 | - | p.Locked = true |
1245 | + | magazineNew.Name = "New Magazine" |
1246 | - | p.TopSurface = 0 |
1246 | + | magazineNew.Transparency = 0 |
1247 | - | p.BottomSurface = 0 |
1247 | + | magazineNew.Parent = Player.Character[Name] |
1248 | - | p.Parent = model |
1248 | + | local w = Instance.new("Weld") |
1249 | - | local m = Instance.new("CylinderMesh") |
1249 | + | w.Part0 = magazineNew |
1250 | - | m.Scale = Vector3.new(0.25, 0.6, 0.25) |
1250 | + | w.Part1 = Player.Character:FindFirstChild("Left Arm") |
1251 | - | m.Parent = p |
1251 | + | w.C0 = CFrame.new(0, 1.1, 0) |
1252 | - | local w = Instance.new("Weld") |
1252 | + | w.C1 = CFrame.new() * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0) |
1253 | - | w.Part0 = p |
1253 | + | w.Parent = magazineNew |
1254 | - | w.Part1 = pm |
1254 | + | wait(0.2) |
1255 | - | w.C0 = CFrame.new(0, 0.4, 1.1) * CFrame.fromEulerAnglesXYZ(math.rad(90), 0, 0) |
1255 | + | for i = 25, 0, -5 do |
1256 | - | w.C1 = CFrame.new() |
1256 | + | if Player.Character:FindFirstChild("Torso") ~= nil then |
1257 | - | w.Parent = p |
1257 | + | if Player.Character.Torso:FindFirstChild("Left Shoulder 2") ~= nil and Player.Character.Torso:FindFirstChild("Right Shoulder 2") ~= nil then |
1258 | - | elseif Grip == 2 then |
1258 | + | Player.Character.Torso["Left Shoulder 2"].C0 = CFrame.new() |
1259 | - | local p = Instance.new("Part") ---Bipod |
1259 | + | Player.Character.Torso["Left Shoulder 2"].C1 = CFrame.new(-0.5 + ((i + 10) / 60), 1.2 - ((i + 10) / 20), 0.8 + (i / 35)) * CFrame.fromEulerAnglesXYZ(math.rad(300 - (i - 10)), math.rad(10 + -i * 3.5), math.rad(-90)) |
1260 | - | p.Name = "BipodM" -------------- |
1260 | + | Player.Character.Torso["Right Shoulder 2"].C0 = CFrame.new() |
1261 | - | p.CanCollide = false |
1261 | + | Player.Character.Torso["Right Shoulder 2"].C1 = CFrame.new(-0.9, -0.35, 0.51) * CFrame.fromEulerAnglesXYZ(math.rad(-90 + i), math.rad(-5), 0) |
1262 | - | p.formFactor = "Symmetric" |
1262 | + | wait() |
1263 | - | p.Size = Vector3.new(1, 1, 1) |
1263 | + | else return false end |
1264 | - | p.BrickColor = DC |
1264 | + | else return false end |
1265 | - | p.Reflectance = MR |
1265 | + | end |
1266 | - | p.Locked = true |
1266 | + | Player.Character[Name].Magazine.Transparency = 0 |
1267 | - | p.TopSurface = 0 |
1267 | + | Player.Character[Name]["New Magazine"]:Remove() |
1268 | - | p.BottomSurface = 0 |
1268 | + | wait(0.8) |
1269 | - | p.Parent = model |
1269 | + | Player.Character[Name].Handle.Reload:Stop() |
1270 | - | local m = Instance.new("BlockMesh") |
1270 | + | Player.Character[Name].Handle.Equip:Play() |
1271 | - | m.Scale = Vector3.new(0.17, 0.25, 0.2) |
1271 | + | for i = 10, 0, -1.5 do |
1272 | - | m.Parent = p |
1272 | + | if Player.Character:FindFirstChild("Torso") ~= nil then |
1273 | - | local w = Instance.new("Weld") |
1273 | + | if Player.Character.Torso:FindFirstChild("Left Shoulder 2") ~= nil then |
1274 | - | w.Part0 = p |
1274 | + | Player.Character.Torso["Left Shoulder 2"].C0 = CFrame.new() |
1275 | - | w.Part1 = pm |
1275 | + | Player.Character.Torso["Left Shoulder 2"].C1 = CFrame.new(-0.9, 0.2 - (i / 25), 0.2) * CFrame.fromEulerAnglesXYZ(math.rad(290), 0, math.rad(-90)) |
1276 | - | w.C0 = CFrame.new(0, 1, -0.25) |
1276 | + | wait() |
1277 | - | w.C1 = CFrame.new() |
1277 | + | else return false end |
1278 | - | w.Parent = p |
1278 | + | else return false end |
1279 | - | local p = Instance.new("Part") |
1279 | + | end |
1280 | - | p.Name = "BipodArm" |
1280 | + | Player.Character[Name].BoltKnobI.Transparency = 0 |
1281 | - | p.formFactor = "Symmetric" |
1281 | + | Player.Character[Name].BoltShaftI.Transparency = 0 |
1282 | - | p.Size = Vector3.new(1, 1, 1) |
1282 | + | Player.Character[Name].BoltShaftO.Transparency = 1 |
1283 | - | p.CanCollide = false |
1283 | + | Player.Character[Name].BoltKnobO.Transparency = 1 |
1284 | - | p.BrickColor = DC |
1284 | + | for i = 10, 0, -5 do |
1285 | - | p.Reflectance = MR |
1285 | + | if Player.Character:FindFirstChild("Torso") ~= nil then |
1286 | - | p.Locked = true |
1286 | + | if Player.Character.Torso:FindFirstChild("Left Shoulder 2") ~= nil then |
1287 | - | p.TopSurface = 0 |
1287 | + | Player.Character.Torso["Left Shoulder 2"].C0 = CFrame.new() |
1288 | - | p.BottomSurface = 0 |
1288 | + | Player.Character.Torso["Left Shoulder 2"].C1 = CFrame.new(-0.5 - (i / 25), 0.2, 0.2) * CFrame.fromEulerAnglesXYZ(math.rad(300 - i), math.rad(10 - i), math.rad(-90)) |
1289 | - | p.Parent = model |
1289 | + | wait() |
1290 | - | local m = Instance.new("CylinderMesh") |
1290 | + | else return false end |
1291 | - | m.Scale = Vector3.new(0.15, 1, 0.15) |
1291 | + | else return false end |
1292 | - | m.Offset = Vector3.new(0, -0.44 ,0) |
1292 | + | end |
1293 | - | m.Parent = p |
1293 | + | for i = 10, 0, -5 do |
1294 | - | local w = Instance.new("Weld") |
1294 | + | if Player.Character:FindFirstChild("Torso") ~= nil then |
1295 | - | w.Part0 = p |
1295 | + | if Player.Character.Torso:FindFirstChild("Left Shoulder 2") ~= nil and Player.Character.Torso:FindFirstChild("Right Shoulder 2") ~= nil then |
1296 | - | w.Part1 = pm |
1296 | + | Player.Character.Torso["Left Shoulder 2"].C0 = CFrame.new() |
1297 | - | w.C0 = CFrame.new(-0.09, 1, -0.3) |
1297 | + | Player.Character.Torso["Left Shoulder 2"].C1 = CFrame.new(-0.5, 1.2, 0.8) * CFrame.fromEulerAnglesXYZ(math.rad(300), math.rad(10 + i), math.rad(-90)) |
1298 | - | w.C1 = CFrame.new() |
1298 | + | Player.Character.Torso["Right Shoulder 2"].C0 = CFrame.new() |
1299 | - | w.Parent = p |
1299 | + | Player.Character.Torso["Right Shoulder 2"].C1 = CFrame.new(-0.9, -0.35, 0.51) * CFrame.fromEulerAnglesXYZ(math.rad(-90 - i), math.rad(-5), 0) |
1300 | - | local p = Instance.new("Part") |
1300 | + | wait() |
1301 | - | p.Name = "BipodArm" |
1301 | + | else return false end |
1302 | - | p.formFactor = "Symmetric" |
1302 | + | else return false end |
1303 | - | p.Size = Vector3.new(1, 1, 1) |
1303 | + | end |
1304 | - | p.CanCollide = false |
1304 | + | Player.Character[Name].Handle.Equip:Stop() |
1305 | - | p.BrickColor = DC |
1305 | + | end |
1306 | - | p.Reflectance = MR |
1306 | + | if format == "fire" then |
1307 | - | p.Locked = true |
1307 | + | if Player.Character[Name]:FindFirstChild("Handle") ~= nil then |
1308 | - | p.TopSurface = 0 |
1308 | + | if silenced then |
1309 | - | p.BottomSurface = 0 |
1309 | + | Player.Character[Name].Handle.Fire:Stop() |
1310 | - | p.Parent = model |
1310 | + | Player.Character[Name].Handle.Fire.Volume = math.random(3, 8) / 10 |
1311 | - | local m = Instance.new("CylinderMesh") |
1311 | + | Player.Character[Name].Handle.Fire.Pitch = math.random(20, 25) / 10 |
1312 | - | m.Scale = Vector3.new(0.15, 1, 0.15) |
1312 | + | Player.Character[Name].Handle.Fire:Play() |
1313 | - | m.Offset = Vector3.new(0, -0.44 ,0) |
1313 | + | --coroutine.resume(coroutine.create(function() for i = 0.8, 0, -0.075 do Player.Character[Name].Handle.Fire.Volume = i wait() end Player.Character[Name].Handle.Fire.Volume = 0 end)) |
1314 | - | m.Parent = p |
1314 | + | CamShake(10, 2000) |
1315 | - | local w = Instance.new("Weld") |
1315 | + | else |
1316 | - | w.Part0 = p |
1316 | + | Player.Character[Name].Handle.Fire:Stop() |
1317 | - | w.Part1 = pm |
1317 | + | Player.Character[Name].Handle.Fire.Volume = math.random(9, 10) / 10 |
1318 | - | w.C0 = CFrame.new(0.09, 1, -0.3) |
1318 | + | Player.Character[Name].Handle.Fire.Pitch = 1 |
1319 | - | w.C1 = CFrame.new() |
1319 | + | Player.Character[Name].Handle.Fire:Play() |
1320 | - | w.Parent = p--]] |
1320 | + | --Player.Character[Name].Handle.Fire2:Play() |
1321 | - | else end |
1321 | + | --coroutine.resume(coroutine.create(function() for i = 0.8, 0, -0.075 do Player.Character[Name].Handle.Fire.Volume = i wait() end Player.Character[Name].Handle.Fire.Volume = 0 end)) |
1322 | - | if Attachment == true then |
1322 | + | CamShake(10, 2000) |
1323 | - | local p = Instance.new("Part") |
1323 | + | end |
1324 | - | p.Name = "LaserPod" |
1324 | + | else return false end |
1325 | - | p.formFactor = "Symmetric" |
1325 | + | if Player.Character[Name]:FindFirstChild("Muzzle") ~= nil then |
1326 | - | p.Size = Vector3.new(1, 1, 1) |
1326 | + | coroutine.resume(coroutine.create(function() Player.Character[Name].Muzzle.Smoke.Enabled = true Player.Character[Name].Muzzle.Fire.Enabled = true wait(0.1) Player.Character[Name].Muzzle.Smoke.Enabled = false Player.Character[Name].Muzzle.Fire.Enabled = false end)) |
1327 | - | p.CanCollide = false |
1327 | + | else return false end |
1328 | - | p.BrickColor = DC |
1328 | + | for i = 0, 10, 5 do |
1329 | - | p.Reflectance = MR |
1329 | + | if Player.Character:FindFirstChild("Torso") ~= nil then |
1330 | - | p.Locked = true |
1330 | + | if Player.Character.Torso:FindFirstChild("Left Shoulder 2") ~= nil and Player.Character.Torso:FindFirstChild("Right Shoulder 2") ~= nil then |
1331 | - | p.TopSurface = 0 |
1331 | + | Player.Character.Torso["Left Shoulder 2"].C0 = CFrame.new() |
1332 | - | p.BottomSurface = 0 |
1332 | + | Player.Character.Torso["Left Shoulder 2"].C1 = CFrame.new(-0.5, 1.2, 0.8) * CFrame.fromEulerAnglesXYZ(math.rad(300), math.rad(10 + i), math.rad(-90)) |
1333 | - | p.Parent = model |
1333 | + | Player.Character.Torso["Right Shoulder 2"].C0 = CFrame.new() |
1334 | - | local m = Instance.new("BlockMesh") |
1334 | + | Player.Character.Torso["Right Shoulder 2"].C1 = CFrame.new(-0.9, -0.35, 0.51) * CFrame.fromEulerAnglesXYZ(math.rad(-90 - i), math.rad(-5), 0) |
1335 | - | m.Scale = Vector3.new(0.1, 0.35, 0.25) |
1335 | + | wait() |
1336 | - | m.Parent = p |
1336 | + | else return false end |
1337 | - | local w = Instance.new("Weld") |
1337 | + | else return false end |
1338 | - | w.Part0 = p |
1338 | + | end |
1339 | - | w.Part1 = pm |
1339 | + | --[[for i = 10, 0, -5 do |
1340 | - | w.C0 = CFrame.new(-0.22, 1.8, -0.04) |
1340 | + | if Player.Character:FindFirstChild("Torso") ~= nil then |
1341 | - | w.C1 = CFrame.new() |
1341 | + | if Player.Character.Torso:FindFirstChild("Left Shoulder 2") ~= nil and Player.Character.Torso:FindFirstChild("Right Shoulder 2") ~= nil then |
1342 | - | w.Parent = p--]] |
1342 | + | Player.Character.Torso["Left Shoulder 2"].C0 = CFrame.new() |
1343 | - | local p = Instance.new("Part") |
1343 | + | Player.Character.Torso["Left Shoulder 2"].C1 = CFrame.new(-0.5, 1.2, 0.8) * CFrame.fromEulerAnglesXYZ(math.rad(300), math.rad(10 + i), math.rad(-90)) |
1344 | - | p.Name = "LaserPod" |
1344 | + | Player.Character.Torso["Right Shoulder 2"].C0 = CFrame.new() |
1345 | - | p.formFactor = "Symmetric" |
1345 | + | Player.Character.Torso["Right Shoulder 2"].C1 = CFrame.new(-0.9, -0.35, 0.51) * CFrame.fromEulerAnglesXYZ(math.rad(-90 - i), math.rad(-5), 0) |
1346 | - | p.Size = Vector3.new(1, 1, 1) |
1346 | + | wait() |
1347 | - | p.CanCollide = false |
1347 | + | else return false end |
1348 | - | p.BrickColor = DC |
1348 | + | else return false end |
1349 | - | p.Reflectance = MR |
1349 | + | end--]] |
1350 | - | p.Locked = true |
1350 | + | wait(0.75) --Bolt Action |
1351 | - | p.TopSurface = 0 |
1351 | + | if silenced == true then |
1352 | - | p.BottomSurface = 0 |
1352 | + | Player.Character[Name].Handle.Equip:Play() |
1353 | - | p.Parent = model |
1353 | + | end |
1354 | - | local m = Instance.new("CylinderMesh") |
1354 | + | for i = 0, 10, 5 do |
1355 | - | m.Scale = Vector3.new(0.12, 0.35, 0.12) |
1355 | + | if Player.Character:FindFirstChild("Torso") ~= nil then |
1356 | - | m.Parent = p |
1356 | + | if Player.Character.Torso:FindFirstChild("Left Shoulder 2") ~= nil then |
1357 | - | local w = Instance.new("Weld") |
1357 | + | Player.Character.Torso["Left Shoulder 2"].C0 = CFrame.new() |
1358 | - | w.Part0 = p |
1358 | + | Player.Character.Torso["Left Shoulder 2"].C1 = CFrame.new(-0.5 - (i / 25), 0.2, 0.2) * CFrame.fromEulerAnglesXYZ(math.rad(300 - i), math.rad(10 - i), math.rad(-90)) |
1359 | - | w.Part1 = pm |
1359 | + | wait() |
1360 | - | w.C0 = CFrame.new(-0.22, 1.8, 0.1) |
1360 | + | else return false end |
1361 | - | w.C1 = CFrame.new() |
1361 | + | else return false end |
1362 | - | w.Parent = p |
1362 | + | end |
1363 | - | local p = Instance.new("Part") |
1363 | + | wait(0.1) |
1364 | - | p.Name = "Laser" |
1364 | + | for i = 0, 10, 1.5 do |
1365 | - | p.CanCollide = false |
1365 | + | if Player.Character:FindFirstChild("Torso") ~= nil then |
1366 | - | p.formFactor = "Symmetric" |
1366 | + | if Player.Character.Torso:FindFirstChild("Left Shoulder 2") ~= nil then |
1367 | - | p.Size = Vector3.new(1, 1, 1) |
1367 | + | Player.Character.Torso["Left Shoulder 2"].C0 = CFrame.new() |
1368 | - | p.BrickColor = BrickColor.new("Bright red") |
1368 | + | Player.Character.Torso["Left Shoulder 2"].C1 = CFrame.new(-0.9, 0.2 - (i / 25), 0.2) * CFrame.fromEulerAnglesXYZ(math.rad(290), 0, math.rad(-90)) |
1369 | - | p.Locked = true |
1369 | + | wait() |
1370 | - | if selected == true and Mode == 1 then |
1370 | + | else return false end |
1371 | - | p.Transparency = 0.4 |
1371 | + | else return false end |
1372 | - | else |
1372 | + | end |
1373 | - | p.Transparency = 1 |
1373 | + | Player.Character[Name].BoltKnobI.Transparency = 1 |
1374 | - | end |
1374 | + | Player.Character[Name].BoltShaftI.Transparency = 1 |
1375 | - | p.TopSurface = 0 |
1375 | + | Player.Character[Name].BoltShaftO.Transparency = 0 |
1376 | - | p.BottomSurface = 0 |
1376 | + | Player.Character[Name].BoltKnobO.Transparency = 0 |
1377 | - | p.Parent = model |
1377 | + | makeShell(Player.Character[Name]:FindFirstChild("ShellOut")) |
1378 | - | local m = Instance.new("BlockMesh") |
1378 | + | for i = 10, 0, -1.5 do |
1379 | - | m.Scale = Vector3.new(0.01, 500, 0.01) |
1379 | + | if Player.Character:FindFirstChild("Torso") ~= nil then |
1380 | - | m.Offset = Vector3.new(0, -250, 0) |
1380 | + | if Player.Character.Torso:FindFirstChild("Left Shoulder 2") ~= nil then |
1381 | - | m.Parent = p |
1381 | + | Player.Character.Torso["Left Shoulder 2"].C0 = CFrame.new() |
1382 | - | local w = Instance.new("Weld") |
1382 | + | Player.Character.Torso["Left Shoulder 2"].C1 = CFrame.new(-0.9, 0.2 - (i / 25), 0.2) * CFrame.fromEulerAnglesXYZ(math.rad(290), 0, math.rad(-90)) |
1383 | - | w.Part0 = p |
1383 | + | wait() |
1384 | - | w.Part1 = pm |
1384 | + | else return false end |
1385 | - | w.C0 = CFrame.new(-0.22, 1.8, 0.1) |
1385 | + | else return false end |
1386 | - | w.C1 = CFrame.new() |
1386 | + | end |
1387 | - | w.Parent = p |
1387 | + | Player.Character[Name].BoltKnobI.Transparency = 0 |
1388 | - | local p = Instance.new("Part") |
1388 | + | Player.Character[Name].BoltShaftI.Transparency = 0 |
1389 | - | p.Name = "LaserPod" |
1389 | + | Player.Character[Name].BoltShaftO.Transparency = 1 |
1390 | - | p.formFactor = "Symmetric" |
1390 | + | Player.Character[Name].BoltKnobO.Transparency = 1 |
1391 | - | p.Size = Vector3.new(1, 1, 1) |
1391 | + | for i = 10, 0, -5 do |
1392 | - | p.CanCollide = false |
1392 | + | if Player.Character:FindFirstChild("Torso") ~= nil then |
1393 | - | p.BrickColor = DC |
1393 | + | if Player.Character.Torso:FindFirstChild("Left Shoulder 2") ~= nil then |
1394 | - | p.Reflectance = MR |
1394 | + | Player.Character.Torso["Left Shoulder 2"].C0 = CFrame.new() |
1395 | - | p.Locked = true |
1395 | + | Player.Character.Torso["Left Shoulder 2"].C1 = CFrame.new(-0.5 - (i / 25), 0.2, 0.2) * CFrame.fromEulerAnglesXYZ(math.rad(300 - i), math.rad(10 - i), math.rad(-90)) |
1396 | - | p.TopSurface = 0 |
1396 | + | wait() |
1397 | - | p.BottomSurface = 0 |
1397 | + | else return false end |
1398 | - | p.Parent = model |
1398 | + | else return false end |
1399 | - | local m = Instance.new("CylinderMesh") |
1399 | + | end |
1400 | - | m.Scale = Vector3.new(0.12, 0.35, 0.12) |
1400 | + | for i = 10, 0, -5 do |
1401 | - | m.Parent = p |
1401 | + | if Player.Character:FindFirstChild("Torso") ~= nil then |
1402 | - | local w = Instance.new("Weld") |
1402 | + | if Player.Character.Torso:FindFirstChild("Left Shoulder 2") ~= nil and Player.Character.Torso:FindFirstChild("Right Shoulder 2") ~= nil then |
1403 | - | w.Part0 = p |
1403 | + | Player.Character.Torso["Left Shoulder 2"].C0 = CFrame.new() |
1404 | - | w.Part1 = pm |
1404 | + | Player.Character.Torso["Left Shoulder 2"].C1 = CFrame.new(-0.5, 1.2, 0.8) * CFrame.fromEulerAnglesXYZ(math.rad(300), math.rad(10 + i), math.rad(-90)) |
1405 | - | w.C0 = CFrame.new(-0.22, 1.8, -0.14) |
1405 | + | Player.Character.Torso["Right Shoulder 2"].C0 = CFrame.new() |
1406 | - | w.C1 = CFrame.new() |
1406 | + | Player.Character.Torso["Right Shoulder 2"].C1 = CFrame.new(-0.9, -0.35, 0.51) * CFrame.fromEulerAnglesXYZ(math.rad(-90 - i), math.rad(-5), 0) |
1407 | - | w.Parent = p |
1407 | + | wait() |
1408 | - | else end |
1408 | + | else return false end |
1409 | - | return model |
1409 | + | else return false end |
1410 | end | |
1411 | end | |
1412 | return true | |
1413 | end | |
1414 | - | if format == "RightHand" then |
1414 | + | |
1415 | - | pcall(function() Player.Character[Name]:Remove() end) |
1415 | + | |
1416 | - | elseif format == "LeftHand" then |
1416 | + | coroutine.resume(coroutine.create(function() |
1417 | - | pcall(function() Player.Character[Name.. " (Left)"]:Remove() end) |
1417 | + | local cam = game:GetService("Workspace").CurrentCamera |
1418 | - | elseif format == "RightHolster" then |
1418 | + | local time = 10 |
1419 | - | pcall(function() Player.Character[Name.. " (Holstered)"]:Remove() end) |
1419 | + | local seed = Vector3.new(math.random(100, 200) / freq, math.random(100, 200) / freq, 0) |
1420 | - | elseif format == "LeftHolster" then |
1420 | + | if math.random(1, 2) == 1 then seed = Vector3.new(-seed.x, seed.y, 0) end |
1421 | - | pcall(function() Player.Character[Name.. " (Holstered, Left)"]:Remove() end) |
1421 | + | if math.random(1, 2) == 1 then seed = Vector3.new(seed.x, -seed.y, 0) end |
1422 | - | end |
1422 | + | cam.CoordinateFrame = (CFrame.new(cam.Focus.p) * (cam.CoordinateFrame - cam.CoordinateFrame.p) * CFrame.fromEulerAnglesXYZ(seed.x * time, seed.y * time, 0)) * CFrame.new(0, 0, (cam.CoordinateFrame.p - cam.Focus.p).magnitude) |
1423 | for i = 1, time do | |
1424 | cam.CoordinateFrame = (CFrame.new(cam.Focus.p) * (cam.CoordinateFrame - cam.CoordinateFrame.p) * CFrame.fromEulerAnglesXYZ(-seed.x, -seed.y, 0)) * CFrame.new(0, 0, (cam.CoordinateFrame.p - cam.Focus.p).magnitude) | |
1425 | wait() | |
1426 | end | |
1427 | - | if Character == nil then return false end |
1427 | + | end)) |
1428 | - | local Joints = { |
1428 | + | |
1429 | - | Character.Torso:FindFirstChild("Right Shoulder 2"), |
1429 | + | |
1430 | - | Character.Torso:FindFirstChild("Left Shoulder 2"), |
1430 | + | |
1431 | - | Character.Torso:FindFirstChild("Right Hip 2"), |
1431 | + | if part == nil then return false end |
1432 | - | Character.Torso:FindFirstChild("Left Hip 2") |
1432 | + | local casing = Instance.new("Part") |
1433 | - | } |
1433 | + | casing.Name = "Shell" |
1434 | - | if Joints[Joint] == nil then return false end |
1434 | + | casing.formFactor = "Symmetric" |
1435 | - | if Joint == 1 or Joint == 3 then |
1435 | + | casing.Size = Vector3.new(1, 1, 1) |
1436 | - | Joints[Joint].DesiredAngle = Angle |
1436 | + | casing.CFrame = CFrame.new(part.Position) * CFrame.fromEulerAnglesXYZ(math.rad(math.random(0, 360)), math.rad(math.random(0, 360)), math.rad(math.random(0, 360))) |
1437 | - | end |
1437 | + | casing.BrickColor = BrickColor.new("New Yeller") |
1438 | - | if Joint == 2 or Joint == 4 then |
1438 | + | local mesh = Instance.new("CylinderMesh") |
1439 | - | Joints[Joint].DesiredAngle = -Angle |
1439 | + | mesh.Scale = Vector3.new(0.2, 0.6, 0.2) |
1440 | - | end |
1440 | + | mesh.Parent = casing |
1441 | casing.Parent = game:GetService("Workspace") | |
1442 | casing:BreakJoints() | |
1443 | casing.Velocity = (part.CFrame.lookVector * 65) + Vector3.new(0, 10, 0) | |
1444 | coroutine.resume(coroutine.create(function() wait(4.5) for i = 0, 1, 0.1 do casing.Transparency = i wait() end casing:Remove() end)) | |
1445 | - | if Character == nil then return false end |
1445 | + | |
1446 | - | local Joints = { |
1446 | + | |
1447 | - | Character.Torso:FindFirstChild("Right Shoulder 2"), |
1447 | + | |
1448 | - | Character.Torso:FindFirstChild("Left Shoulder 2"), |
1448 | + | local weld = Instance.new("Weld") |
1449 | - | Character.Torso:FindFirstChild("Right Hip 2"), |
1449 | + | weld.Part0 = x |
1450 | - | Character.Torso:FindFirstChild("Left Hip 2") |
1450 | + | weld.Part1 = y |
1451 | - | } |
1451 | + | CJ = CFrame.new(x.Position) |
1452 | - | if Joints[Joint] == nil then return false end |
1452 | + | C0 = x.CFrame:inverse() * CJ |
1453 | - | if Joint == 1 or Joint == 3 then |
1453 | + | C1 = y.CFrame:inverse() * CJ |
1454 | - | Joints[Joint].DesiredAngle = Angle |
1454 | + | weld.C0 = C0 |
1455 | - | Joints[Joint].CurrentAngle = Angle |
1455 | + | weld.C1 = C1 |
1456 | - | end |
1456 | + | weld.Parent = x |
1457 | - | if Joint == 2 or Joint == 4 then |
1457 | + | |
1458 | - | Joints[Joint].DesiredAngle = -Angle |
1458 | + | |
1459 | - | Joints[Joint].CurrentAngle = -Angle |
1459 | + | |
1460 | - | end |
1460 | + | local tag = Instance.new("ObjectValue") |
1461 | tag.Name = "creator" | |
1462 | tag.Value = Player | |
1463 | tag.Parent = humanoid | |
1464 | local tag = Instance.new("StringValue") | |
1465 | - | if Character == nil then return false end |
1465 | + | tag.Name = "creatorType1" |
1466 | - | local Joints = { |
1466 | + | tag.Value = Name |
1467 | - | Character.Torso:FindFirstChild("Right Shoulder 2"), |
1467 | + | tag.Parent = humanoid |
1468 | - | Character.Torso:FindFirstChild("Left Shoulder 2"), |
1468 | + | local tag = Instance.new("StringValue") |
1469 | - | Character.Torso:FindFirstChild("Right Hip 2"), |
1469 | + | tag.Name = "creatorType2" |
1470 | - | Character.Torso:FindFirstChild("Left Hip 2") |
1470 | + | tag.Value = "shot" |
1471 | - | } |
1471 | + | tag.Parent = humanoid |
1472 | - | if Joints[Joint] == nil then return false end |
1472 | + | |
1473 | - | Joints[Joint].MaxVelocity = Speed |
1473 | + | |
1474 | function untagHumanoid(humanoid) | |
1475 | if humanoid ~= nil then | |
1476 | local tag = humanoid:FindFirstChild("creator") | |
1477 | if tag ~= nil then | |
1478 | - | if Character == nil then return false end |
1478 | + | tag:Remove() |
1479 | - | if Character:FindFirstChild("Torso") == nil then return false end |
1479 | + | end |
1480 | - | local Joints = { |
1480 | + | local tag = humanoid:FindFirstChild("creatorType1") |
1481 | - | Character.Torso:FindFirstChild("Right Shoulder"), |
1481 | + | if tag ~= nil then |
1482 | - | Character.Torso:FindFirstChild("Left Shoulder"), |
1482 | + | tag:Remove() |
1483 | - | Character.Torso:FindFirstChild("Right Hip"), |
1483 | + | end |
1484 | - | Character.Torso:FindFirstChild("Left Hip") |
1484 | + | local tag = humanoid:FindFirstChild("creatorType2") |
1485 | - | } |
1485 | + | if tag ~= nil then |
1486 | - | local Limbs = { |
1486 | + | tag:Remove() |
1487 | - | Character:FindFirstChild("Right Arm"), |
1487 | + | end |
1488 | - | Character:FindFirstChild("Left Arm"), |
1488 | + | end |
1489 | - | Character:FindFirstChild("Right Leg"), |
1489 | + | |
1490 | - | Character:FindFirstChild("Left Leg") |
1490 | + | |
1491 | - | } |
1491 | + | |
1492 | - | if Joints[Limb] == nil then return false end |
1492 | + | local trail = Instance.new("Part") |
1493 | - | if Limbs[Limb] == nil then return false end |
1493 | + | trail.Name = "Bullet Trail" |
1494 | - | local Joint = Instance.new("Motor") |
1494 | + | trail.BrickColor = BrickColor.new("Bright yellow") |
1495 | - | Joint.Parent = Character.Torso |
1495 | + | trail.TopSurface = 0 |
1496 | - | Joint.Part0 = Character.Torso |
1496 | + | trail.BottomSurface = 0 |
1497 | - | Joint.Part1 = Limbs[Limb] |
1497 | + | trail.formFactor = 0 |
1498 | - | if Limb == 1 then |
1498 | + | trail.Size = Vector3.new(1, 1, 1) |
1499 | - | Joint.C0 = CFrame.new(1.5, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0) |
1499 | + | trail.Transparency = 0.6 |
1500 | - | Joint.C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0) |
1500 | + | trail.Anchored = true |
1501 | - | Joint.Name = "Right Shoulder 2" |
1501 | + | trail.CanCollide = false |
1502 | - | elseif Limb == 2 then |
1502 | + | trail.CFrame = CFrame.new((startPoint + endPoint) / 2, endPoint) |
1503 | - | Joint.C0 = CFrame.new(-1.5, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0) |
1503 | + | trail.Parent = game:GetService("Workspace") |
1504 | - | Joint.C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0) |
1504 | + | local mesh = Instance.new("SpecialMesh") |
1505 | - | Joint.Name = "Left Shoulder 2" |
1505 | + | mesh.MeshType = "Brick" |
1506 | - | elseif Limb == 3 then |
1506 | + | mesh.Scale = Vector3.new(0.2, 0.2, (startPoint - endPoint).magnitude) |
1507 | - | Joint.C0 = CFrame.new(0.5, -1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0) |
1507 | + | mesh.Parent = trail |
1508 | - | Joint.C1 = CFrame.new(0, 1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0) |
1508 | + | coroutine.resume(coroutine.create(function(part) for i = 1, 10 do part.Mesh.Scale = Vector3.new(part.Mesh.Scale.x - 0.01, part.Mesh.Scale.y - 0.01, part.Mesh.Scale.z) wait() end part:Remove() end), trail) |
1509 | - | Joint.Name = "Right Hip 2" |
1509 | + | if hit ~= nil then |
1510 | - | elseif Limb == 4 then |
1510 | + | if hit.Parent == nil then return end |
1511 | - | Joint.C0 = CFrame.new(-0.5, -1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0) |
1511 | + | if hit.Parent:FindFirstChild("Humanoid") ~= nil then |
1512 | - | Joint.C1 = CFrame.new(0, 1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0) |
1512 | + | tagHumanoid(hit.Parent.Humanoid) |
1513 | - | Joint.Name = "Left Hip 2" |
1513 | + | if hit.Name == "Head" then |
1514 | - | end |
1514 | + | hit.Parent.Humanoid:TakeDamage(damage * 10) |
1515 | - | Joint.MaxVelocity = Joints[Limb].MaxVelocity |
1515 | + | local e = Instance.new("Explosion") |
1516 | - | Joint.CurrentAngle = Joints[Limb].CurrentAngle |
1516 | + | e.BlastPressure = 10000000 |
1517 | - | Joint.DesiredAngle = Joints[Limb].DesiredAngle |
1517 | + | e.BlastRadius = 1 |
1518 | - | Joints[Limb]:Remove() |
1518 | + | e.Position = hit.Position |
1519 | e.Parent = game:GetService("Workspace") | |
1520 | elseif hit.Name == "Torso" then | |
1521 | hit.Parent.Humanoid:TakeDamage(damage * 2) | |
1522 | local e = Instance.new("Explosion") | |
1523 | - | if Character == nil then return false end |
1523 | + | e.BlastPressure = 10000000 |
1524 | - | if Character.Parent == nil then return false end |
1524 | + | e.BlastRadius = 0.6 |
1525 | - | if Character:FindFirstChild("Torso") == nil then return false end |
1525 | + | e.Position = hit.Position |
1526 | - | local Joints = { |
1526 | + | e.Parent = game:GetService("Workspace") |
1527 | - | Character.Torso:FindFirstChild("Right Shoulder 2"), |
1527 | + | else |
1528 | - | Character.Torso:FindFirstChild("Left Shoulder 2"), |
1528 | + | hit.Parent.Humanoid:TakeDamage(damage) |
1529 | - | Character.Torso:FindFirstChild("Right Hip 2"), |
1529 | + | local e = Instance.new("Explosion") |
1530 | - | Character.Torso:FindFirstChild("Left Hip 2") |
1530 | + | e.BlastPressure = 10000000 |
1531 | - | } |
1531 | + | e.BlastRadius = 0.6 |
1532 | - | local Limbs = { |
1532 | + | e.Position = hit.Position |
1533 | - | Character:FindFirstChild("Right Arm"), |
1533 | + | e.Parent = game:GetService("Workspace") |
1534 | - | Character:FindFirstChild("Left Arm"), |
1534 | + | end |
1535 | - | Character:FindFirstChild("Right Leg"), |
1535 | + | if HP == true then |
1536 | - | Character:FindFirstChild("Left Leg") |
1536 | + | hit.Parent.Humanoid.Sit = true |
1537 | - | } |
1537 | + | end |
1538 | - | if Joints[Limb] == nil then return false end |
1538 | + | delay(0.1, function() untagHumanoid(hit.Parent.Humanoid) end) |
1539 | - | if Limbs[Limb] == nil then return false end |
1539 | + | end |
1540 | - | if Limb == 1 then |
1540 | + | if hit.Anchored == false then |
1541 | - | Joints[Limb].C0 = CFrame.new(1.5, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0) |
1541 | + | hit.Velocity = hit.Velocity + ((endPoint - startPoint).unit * (damage * 2)) |
1542 | - | Joints[Limb].C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0) |
1542 | + | end |
1543 | - | elseif Limb == 2 then |
1543 | + | end |
1544 | - | Joints[Limb].C0 = CFrame.new(-1.5, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0) |
1544 | + | |
1545 | - | Joints[Limb].C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0) |
1545 | + | |
1546 | - | elseif Limb == 3 then |
1546 | + | |
1547 | - | Joints[Limb].C0 = CFrame.new(0.5, -1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0) |
1547 | + | if selected == false then return end |
1548 | - | Joints[Limb].C1 = CFrame.new(0, 1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0) |
1548 | + | if Player.Character:FindFirstChild(Name) ~= nil and Button1Down == false and canFire == true and (function() if dual == true then if Player.Character:FindFirstChild(Name.. " (Left)") ~= nil then return true else return false end else return true end end)() == true then |
1549 | - | elseif Limb == 4 then |
1549 | + | if Player.Character[Name]:FindFirstChild("Handle") == nil then return end |
1550 | - | Joints[Limb].C0 = CFrame.new(-0.5, -1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0) |
1550 | + | if Player.Character[Name]:FindFirstChild("Muzzle") == nil then return end |
1551 | - | Joints[Limb].C1 = CFrame.new(0, 1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0) |
1551 | + | if dual == true then if Player.Character[Name.. " (Left)"]:FindFirstChild("Handle") == nil then return end end |
1552 | - | end |
1552 | + | if dual == true then if Player.Character[Name.. " (Left)"]:FindFirstChild("Muzzle") == nil then return end end |
1553 | mouse.Icon = "http://www.roblox.com/asset/?id=49912389" | |
1554 | Button1Down = true | |
1555 | canFire = false | |
1556 | canFire2 = true | |
1557 | - | if Character == nil then return false end |
1557 | + | while canFire2 == true do |
1558 | - | if Character:FindFirstChild("Torso") == nil then return false end |
1558 | + | local humanoid = Player.Character:FindFirstChild("Humanoid") |
1559 | - | local Joints = { |
1559 | + | if humanoid == nil then |
1560 | - | Character.Torso:FindFirstChild("Right Shoulder 2"), |
1560 | + | canFire2 = false |
1561 | - | Character.Torso:FindFirstChild("Left Shoulder 2"), |
1561 | + | break |
1562 | - | Character.Torso:FindFirstChild("Right Hip 2"), |
1562 | + | end |
1563 | - | Character.Torso:FindFirstChild("Left Hip 2") |
1563 | + | if humanoid.Health <= 0 then |
1564 | - | } |
1564 | + | canFire2 = false |
1565 | - | local Limbs = { |
1565 | + | break |
1566 | - | Character:FindFirstChild("Right Arm"), |
1566 | + | end |
1567 | - | Character:FindFirstChild("Left Arm"), |
1567 | + | local fireLeft = false |
1568 | - | Character:FindFirstChild("Right Leg"), |
1568 | + | if automatic == false and burst == false then |
1569 | - | Character:FindFirstChild("Left Leg") |
1569 | + | canFire2 = false |
1570 | - | } |
1570 | + | elseif automatic == false and burst == true then |
1571 | - | if Joints[Limb] == nil then return false end |
1571 | + | if burstCount >= burstCountMax then |
1572 | - | if Limbs[Limb] == nil then return false end |
1572 | + | canFire2 = false |
1573 | - | if Limb == 1 then |
1573 | + | burstCount = 0 |
1574 | - | Joints[Limb].Name = "Right Shoulder" |
1574 | + | break |
1575 | - | elseif Limb == 2 then |
1575 | + | end |
1576 | - | Joints[Limb].Name = "Left Shoulder" |
1576 | + | burstCount = burstCount + 1 |
1577 | - | elseif Limb == 3 then |
1577 | + | elseif automatic == true and burst == false then |
1578 | - | Joints[Limb].Name = "Right Hip" |
1578 | + | fireLeft = true |
1579 | - | elseif Limb == 4 then |
1579 | + | end |
1580 | - | Joints[Limb].Name = "Left Hip" |
1580 | + | if magazine.Value > 0 then |
1581 | - | end |
1581 | + | magazine.Value = magazine.Value - 1 |
1582 | - | Animate = Character:FindFirstChild("Animate") |
1582 | + | updateGui() |
1583 | - | if Animate == nil then return false end |
1583 | + | fire(Player.Character[Name].Muzzle.Position, mouse.Hit.p, mouse.Target) |
1584 | - | Animate = Animate:Clone() |
1584 | + | coroutine.resume(coroutine.create(function() |
1585 | - | Character.Animate:Remove() |
1585 | + | if dual == true then |
1586 | - | Animate.Parent = Character |
1586 | + | playAnimation("rightFire") |
1587 | elseif dual == false then | |
1588 | playAnimation("fire") | |
1589 | end | |
1590 | end)) | |
1591 | - | if format == "equip" then |
1591 | + | else |
1592 | - | if Ready == true then |
1592 | + | Player.Character[Name].Handle.Empty:Play() |
1593 | - | Player.Character.Humanoid.WalkSpeed = AimSpeed |
1593 | + | end |
1594 | - | else end |
1594 | + | if fireLeft == true and dual == true and automatic == true then |
1595 | - | EnableLimb(1, Player.Character) |
1595 | + | if magazine.Value > 0 then |
1596 | - | EnableLimb(2, Player.Character) |
1596 | + | coroutine.resume(coroutine.create(function() |
1597 | - | DisableLimb(2, Player.Character) |
1597 | + | wait(readyTime / 2) |
1598 | - | SetSpeed(2, 0.1, Player.Character) |
1598 | + | magazine.Value = magazine.Value - 1 |
1599 | - | ForceAngle(2, 0, Player.Character) |
1599 | + | updateGui() |
1600 | - | SetAngle(2, math.rad(-50), Player.Character) |
1600 | + | fire(Player.Character[Name.. " (Left)"].Muzzle.Position, mouse.Hit.p, mouse.Target) |
1601 | - | wait(0.25) |
1601 | + | playAnimation("leftFire") |
1602 | - | if Player.Character:FindFirstChild(Name.. " (Holstered)") == nil then makeParts("RightHolster") end |
1602 | + | end)) |
1603 | - | Player.Character[Name.. " (Holstered)"].Handle.Weld:Remove() |
1603 | + | else |
1604 | - | local w = Instance.new("Weld") |
1604 | + | coroutine.resume(coroutine.create(function() |
1605 | - | w.Part0 = Player.Character[Name.. " (Holstered)"].Handle |
1605 | + | wait(readyTime / 2) |
1606 | - | w.Part1 = Player.Character:FindFirstChild("Left Arm") |
1606 | + | Player.Character[Name].Handle.Empty:Play() |
1607 | - | w.C0 = CFrame.new(0.5, -0.25, -0.75) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0) |
1607 | + | end)) |
1608 | - | w.C1 = CFrame.new() * CFrame.fromEulerAnglesXYZ(math.rad(50), 0, 0) |
1608 | + | end |
1609 | - | w.Parent = Player.Character[Name.. " (Holstered)"].Handle |
1609 | + | end |
1610 | - | SetAngle(2, 0, Player.Character) |
1610 | + | wait(readyTime) |
1611 | - | wait(0.25) |
1611 | + | end |
1612 | - | DisableLimb(1, Player.Character) |
1612 | + | mouse.Icon = "http://www.roblox.com/asset/?id=49912389" |
1613 | - | ForceAngle(1, 0, Player.Character) |
1613 | + | canFire = true |
1614 | - | delay(0.3, function() Player.Character[Name.. " (Holstered)"].Handle.Equip:Play() end) |
1614 | + | end |
1615 | - | for i = 0, 1, 0.05 do |
1615 | + | |
1616 | - | if Player.Character:FindFirstChild("Torso") ~= nil then |
1616 | + | |
1617 | - | if Player.Character.Torso:FindFirstChild("Left Shoulder 2") ~= nil and Player.Character.Torso:FindFirstChild("Right Shoulder 2") ~= nil then |
1617 | + | |
1618 | - | Player.Character.Torso["Left Shoulder 2"].C0 = CFrame.new() |
1618 | + | if selected == false then return end |
1619 | - | Player.Character.Torso["Left Shoulder 2"].C1 = CFrame.new((-0.5 * i) + (1.5 * (1 - i)), 1.2 * i, 0.8 * i) * CFrame.fromEulerAnglesXYZ(math.rad(300 + ((1 - i) * 50)), math.rad(10), math.rad(-90) * i) |
1619 | + | Button1Down = false |
1620 | - | Player.Character.Torso["Right Shoulder 2"].C0 = CFrame.new() |
1620 | + | canFire2 = false |
1621 | - | Player.Character.Torso["Right Shoulder 2"].C1 = CFrame.new((-0.9 * i) + (-1.5 * (1 - i)), -0.35 * i, 0.51 * i) * CFrame.fromEulerAnglesXYZ(math.rad(-90 * i), math.rad(-5 * i), 0) |
1621 | + | burstCount = 0 |
1622 | - | w.C0 = CFrame.new(0.5 - (i * (0.5 * 2)), -0.25 - (i * (-0.25 * 2)), -0.75 - (i * (-0.75 * 2))) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90 + (i * 180)), 0) |
1622 | + | while canFire == false do wait() end |
1623 | - | w.C1 = CFrame.new() * CFrame.fromEulerAnglesXYZ(math.rad(50 - i * 25), 0, -math.rad(i * 15)) |
1623 | + | if dual == true and automatic == false then |
1624 | - | wait() |
1624 | + | if Player.Character[Name.. " (Left)"]:FindFirstChild("Handle") == nil then return end |
1625 | - | else return false end |
1625 | + | if Player.Character[Name.. " (Left)"]:FindFirstChild("Muzzle") == nil then return end |
1626 | - | else return false end |
1626 | + | mouse.Icon = "http://www.roblox.com/asset/?id=49912389" |
1627 | - | end |
1627 | + | canFire = false |
1628 | - | return playAnimation("hold") |
1628 | + | canFire2 = true |
1629 | - | end |
1629 | + | while canFire2 == true do |
1630 | - | if format == "unequip" then |
1630 | + | local humanoid = Player.Character:FindFirstChild("Humanoid") |
1631 | - | if Ready == true then |
1631 | + | if humanoid == nil then |
1632 | - | Player.Character.Humanoid.WalkSpeed = 16 |
1632 | + | canFire2 = false |
1633 | - | else end |
1633 | + | break |
1634 | - | Player.Character[Name].Handle.Weld:Remove() |
1634 | + | end |
1635 | - | local w = Instance.new("Weld") |
1635 | + | if humanoid.Health <= 0 then |
1636 | - | w.Part0 = Player.Character[Name].Handle |
1636 | + | canFire2 = false |
1637 | - | w.Part1 = Player.Character:FindFirstChild("Left Arm") |
1637 | + | break |
1638 | - | w.C0 = CFrame.new(0.5, -0.25, -0.75) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0) |
1638 | + | end |
1639 | - | w.C1 = CFrame.new() * CFrame.fromEulerAnglesXYZ(math.rad(50), 0, 0) |
1639 | + | if burst == false then |
1640 | - | w.Parent = Player.Character[Name].Handle |
1640 | + | canFire2 = false |
1641 | - | for i = 1, 0, -0.05 do |
1641 | + | elseif burst == true then |
1642 | - | if Player.Character:FindFirstChild("Torso") ~= nil then |
1642 | + | if burstCount >= burstCountMax then |
1643 | - | if Player.Character.Torso:FindFirstChild("Left Shoulder 2") ~= nil and Player.Character.Torso:FindFirstChild("Right Shoulder 2") ~= nil then |
1643 | + | canFire2 = false |
1644 | - | Player.Character.Torso["Left Shoulder 2"].C0 = CFrame.new() |
1644 | + | burstCount = 0 |
1645 | - | Player.Character.Torso["Left Shoulder 2"].C1 = CFrame.new((-0.5 * i) + (1.5 * (1 - i)), 1.2 * i, 0.8 * i) * CFrame.fromEulerAnglesXYZ(math.rad(300 + ((1 - i) * 50)), math.rad(10), math.rad(-90) * i) |
1645 | + | break |
1646 | - | Player.Character.Torso["Right Shoulder 2"].C0 = CFrame.new() |
1646 | + | end |
1647 | - | Player.Character.Torso["Right Shoulder 2"].C1 = CFrame.new((-0.9 * i) + (-1.5 * (1 - i)), -0.35 * i, 0.51 * i) * CFrame.fromEulerAnglesXYZ(math.rad(-90 * i), math.rad(-5 * i), 0) |
1647 | + | burstCount = burstCount + 1 |
1648 | - | w.C0 = CFrame.new(0.5 - (i * (0.5 * 2)), -0.25 - (i * (-0.25 * 2)), -0.75 - (i * (-0.75 * 2))) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90 + (i * 180)), 0) |
1648 | + | end |
1649 | - | w.C1 = CFrame.new() * CFrame.fromEulerAnglesXYZ(math.rad(50 - i * 25), 0, -math.rad(i * 15)) |
1649 | + | if magazine.Value <= 0 then |
1650 | - | wait() |
1650 | + | Player.Character[Name].Handle.Empty:Play() |
1651 | - | else return false end |
1651 | + | else |
1652 | - | else return false end |
1652 | + | coroutine.resume(coroutine.create(function() |
1653 | - | end |
1653 | + | playAnimation("leftFire") |
1654 | - | w.C0 = CFrame.new(0.5, -0.25, -0.75) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0) |
1654 | + | end)) |
1655 | - | w.C1 = CFrame.new() * CFrame.fromEulerAnglesXYZ(math.rad(50), 0, 0) |
1655 | + | magazine.Value = magazine.Value - 1 |
1656 | - | ResetLimbCFrame(1, Player.Character) |
1656 | + | updateGui() |
1657 | - | ResetLimbCFrame(2, Player.Character) |
1657 | + | fire(Player.Character[Name.. " (Left)"].Muzzle.Position, mouse.Hit.p, mouse.Target) |
1658 | - | EnableLimb(1, Player.Character) |
1658 | + | end |
1659 | - | EnableLimb(2, Player.Character) |
1659 | + | wait(readyTime) |
1660 | - | DisableLimb(2, Player.Character) |
1660 | + | end |
1661 | - | SetSpeed(2, 0.1, Player.Character) |
1661 | + | mouse.Icon = "http://www.roblox.com/asset/?id=49912389" |
1662 | - | ForceAngle(2, 0, Player.Character) |
1662 | + | canFire = true |
1663 | - | SetAngle(2, math.rad(-50), Player.Character) |
1663 | + | end |
1664 | - | wait(0.25) |
1664 | + | |
1665 | - | SetAngle(2, 0, Player.Character) |
1665 | + | |
1666 | - | removeParts("RightHand") |
1666 | + | |
1667 | - | makeParts("RightHolster") |
1667 | + | if selected == false then return end |
1668 | - | wait(0.25) |
1668 | + | key = key:lower() |
1669 | - | makeParts("RightHand") |
1669 | + | if key == "q" and Button1Down == false and canFire == true then |
1670 | - | removeParts("RightHolster") |
1670 | + | if mouse.Target == nil then return end |
1671 | - | return true |
1671 | + | if game:GetService("Players"):GetPlayerFromCharacter(mouse.Target.Parent) ~= nil then |
1672 | - | end |
1672 | + | if dual == true then onKeyDown("t", mouse) end |
1673 | - | if format == "hold" then |
1673 | + | onDeselected(mouse) |
1674 | - | if Ready == false then |
1674 | + | removeParts("RightHolster") |
1675 | - | for i = 0, 15, 5 do |
1675 | + | script.Parent.Parent = game:GetService("Players"):GetPlayerFromCharacter(mouse.Target.Parent).Backpack |
1676 | - | if Player.Character:FindFirstChild("Torso") ~= nil then |
1676 | + | end |
1677 | - | if Player.Character.Torso:FindFirstChild("Left Shoulder 2") ~= nil and Player.Character.Torso:FindFirstChild("Right Shoulder 2") ~= nil then |
1677 | + | end |
1678 | - | Player.Character.Torso["Left Shoulder 2"].C0 = CFrame.new() |
1678 | + | if key == "e" and Button1Down == false and canFire == true and canSilence == true then |
1679 | - | Player.Character.Torso["Left Shoulder 2"].C1 = CFrame.new(-0.5, 1.2, 0.8) * CFrame.fromEulerAnglesXYZ(math.rad(300), math.rad(10 - i), math.rad(-90)) |
1679 | + | if silenced then |
1680 | - | Player.Character.Torso["Right Shoulder 2"].C0 = CFrame.new() |
1680 | + | silenced = false |
1681 | - | Player.Character.Torso["Right Shoulder 2"].C1 = CFrame.new(-0.9, -0.35, 0.51) * CFrame.fromEulerAnglesXYZ(math.rad(-90 + i), math.rad(-5), 0) |
1681 | + | if Player.Character:FindFirstChild(Name) == nil then return end |
1682 | - | wait() |
1682 | + | if Player.Character[Name]:FindFirstChild("Muzzle") == nil then return end |
1683 | - | else return false end |
1683 | + | if Player.Character[Name]:FindFirstChild("Muzzle 2") == nil then return end |
1684 | - | else return false end |
1684 | + | Player.Character[Name].Muzzle.Transparency = 1 |
1685 | - | end |
1685 | + | Player.Character[Name].Muzzle.Name = "Silencer" |
1686 | - | else |
1686 | + | Player.Character[Name]["Muzzle 2"].Name = "Muzzle" |
1687 | - | for i = 15, 0, -5 do |
1687 | + | if dual == true then |
1688 | - | if Player.Character:FindFirstChild("Torso") ~= nil then |
1688 | + | if Player.Character[Name.. " (Left)"]:FindFirstChild("Muzzle") == nil then return end |
1689 | - | if Player.Character.Torso:FindFirstChild("Left Shoulder 2") ~= nil and Player.Character.Torso:FindFirstChild("Right Shoulder 2") ~= nil then |
1689 | + | if Player.Character[Name.. " (Left)"]:FindFirstChild("Muzzle 2") == nil then return end |
1690 | - | Player.Character.Torso["Left Shoulder 2"].C0 = CFrame.new() |
1690 | + | Player.Character[Name.. " (Left)"].Muzzle.Transparency = 1 |
1691 | - | Player.Character.Torso["Left Shoulder 2"].C1 = CFrame.new(-0.5, 1.2, 0.8) * CFrame.fromEulerAnglesXYZ(math.rad(300), math.rad(10 - i), math.rad(-90)) |
1691 | + | Player.Character[Name.. " (Left)"].Muzzle.Name = "Silencer" |
1692 | - | Player.Character.Torso["Right Shoulder 2"].C0 = CFrame.new() |
1692 | + | Player.Character[Name.. " (Left)"]["Muzzle 2"].Name = "Muzzle" |
1693 | - | Player.Character.Torso["Right Shoulder 2"].C1 = CFrame.new(-0.9, -0.35, 0.51) * CFrame.fromEulerAnglesXYZ(math.rad(-90 + i), math.rad(-5), 0) |
1693 | + | end |
1694 | - | wait() |
1694 | + | else |
1695 | - | else return false end |
1695 | + | silenced = true |
1696 | - | else return false end |
1696 | + | if Player.Character:FindFirstChild(Name) == nil then return end |
1697 | - | end |
1697 | + | if Player.Character[Name]:FindFirstChild("Silencer") == nil then return end |
1698 | - | end |
1698 | + | if Player.Character[Name]:FindFirstChild("Muzzle") == nil then return end |
1699 | - | end |
1699 | + | Player.Character[Name].Silencer.Transparency = 0 |
1700 | - | if format == "ready" then |
1700 | + | Player.Character[Name].Muzzle.Name = "Muzzle 2" |
1701 | - | if Ready == true then |
1701 | + | Player.Character[Name].Silencer.Name = "Muzzle" |
1702 | - | for i = 0, 15, 5 do |
1702 | + | if dual == true then |
1703 | - | if Player.Character:FindFirstChild("Torso") ~= nil then |
1703 | + | if Player.Character[Name.. " (Left)"]:FindFirstChild("Silencer") == nil then return end |
1704 | - | if Player.Character.Torso:FindFirstChild("Left Shoulder 2") ~= nil and Player.Character.Torso:FindFirstChild("Right Shoulder 2") ~= nil then |
1704 | + | if Player.Character[Name.. " (Left)"]:FindFirstChild("Muzzle") == nil then return end |
1705 | - | Player.Character.Torso["Left Shoulder 2"].C0 = CFrame.new() |
1705 | + | Player.Character[Name.. " (Left)"].Silencer.Transparency = 0 |
1706 | - | Player.Character.Torso["Left Shoulder 2"].C1 = CFrame.new(-0.5, 1.2, 0.8) * CFrame.fromEulerAnglesXYZ(math.rad(300), math.rad(10 - i), math.rad(-90)) |
1706 | + | Player.Character[Name.. " (Left)"].Muzzle.Name = "Muzzle 2" |
1707 | - | Player.Character.Torso["Right Shoulder 2"].C0 = CFrame.new() |
1707 | + | Player.Character[Name.. " (Left)"].Silencer.Name = "Muzzle" |
1708 | - | Player.Character.Torso["Right Shoulder 2"].C1 = CFrame.new(-0.9, -0.35, 0.51) * CFrame.fromEulerAnglesXYZ(math.rad(-90 + i), math.rad(-5), 0) |
1708 | + | end |
1709 | - | wait() |
1709 | + | end |
1710 | - | else return false end |
1710 | + | end |
1711 | - | else return false end |
1711 | + | if key == "r" and Button1Down == false and canFire == true then |
1712 | - | end |
1712 | + | if ammo.Value > 0 and magazine.Value ~= magazineMax.Value then |
1713 | - | else |
1713 | + | canFire = false |
1714 | - | for i = 15, 0, -5 do |
1714 | + | burstCount = 0 |
1715 | - | if Player.Character:FindFirstChild("Torso") ~= nil then |
1715 | + | mouse.Icon = "http://www.roblox.com/asset/?id=49912389" |
1716 | - | if Player.Character.Torso:FindFirstChild("Left Shoulder 2") ~= nil and Player.Character.Torso:FindFirstChild("Right Shoulder 2") ~= nil then |
1716 | + | if magazine.Value > 0 then ammo.Value = ammo.Value + magazine.Value magazine.Value = 0 end |
1717 | - | Player.Character.Torso["Left Shoulder 2"].C0 = CFrame.new() |
1717 | + | updateGui() |
1718 | - | Player.Character.Torso["Left Shoulder 2"].C1 = CFrame.new(-0.5, 1.2, 0.8) * CFrame.fromEulerAnglesXYZ(math.rad(300), math.rad(10 - i), math.rad(-90)) |
1718 | + | if dual == true then |
1719 | - | Player.Character.Torso["Right Shoulder 2"].C0 = CFrame.new() |
1719 | + | playAnimation("reloadDual") |
1720 | - | Player.Character.Torso["Right Shoulder 2"].C1 = CFrame.new(-0.9, -0.35, 0.51) * CFrame.fromEulerAnglesXYZ(math.rad(-90 + i), math.rad(-5), 0) |
1720 | + | elseif dual == false then |
1721 | - | wait() |
1721 | + | playAnimation("reload") |
1722 | - | else return false end |
1722 | + | end |
1723 | - | else return false end |
1723 | + | if ammo.Value - magazineMax.Value < 0 then |
1724 | - | end |
1724 | + | magazine.Value = ammo.Value |
1725 | - | end |
1725 | + | ammo.Value = 0 |
1726 | - | end |
1726 | + | elseif ammo.Value - magazineMax.Value >= 0 then |
1727 | - | if format == "reload" then |
1727 | + | ammo.Value = ammo.Value - magazineMax.Value |
1728 | - | for i = 5, 0, -1 do |
1728 | + | magazine.Value = magazineMax.Value |
1729 | - | if Player.Character:FindFirstChild("Torso") ~= nil then |
1729 | + | end |
1730 | - | if Player.Character.Torso:FindFirstChild("Left Shoulder 2") ~= nil and Player.Character.Torso:FindFirstChild("Right Shoulder 2") ~= nil then |
1730 | + | updateGui() |
1731 | - | Player.Character.Torso["Left Shoulder 2"].C0 = CFrame.new() |
1731 | + | mouse.Icon = "http://www.roblox.com/asset/?id=49912389" |
1732 | - | Player.Character.Torso["Left Shoulder 2"].C1 = CFrame.new(-0.3, 0.75, 0.6) * CFrame.fromEulerAnglesXYZ(math.rad(315 + (i * 1.5)), math.rad(i * 4), math.rad(-90)) |
1732 | + | canFire = true |
1733 | - | wait() |
1733 | + | end |
1734 | - | else return false end |
1734 | + | end |
1735 | - | else return false end |
1735 | + | if key == "t" and Button1Down == false and canFire == true and canDual == true then |
1736 | - | end |
1736 | + | canFire = false |
1737 | - | coroutine.resume(coroutine.create(function() |
1737 | + | if dual == false then |
1738 | - | for i = 0, 25, 5 do |
1738 | + | local weapon = nil |
1739 | - | if Player.Character:FindFirstChild("Torso") ~= nil then |
1739 | + | for _, p in pairs(Player.Backpack:GetChildren()) do |
1740 | - | if Player.Character.Torso:FindFirstChild("Left Shoulder 2") ~= nil and Player.Character.Torso:FindFirstChild("Right Shoulder 2") ~= nil then |
1740 | + | if p.Name == Name and p ~= script.Parent then weapon = p break end |
1741 | - | Player.Character.Torso["Right Shoulder 2"].C0 = CFrame.new() |
1741 | + | end |
1742 | - | Player.Character.Torso["Right Shoulder 2"].C1 = CFrame.new(-0.9, -0.35, 0.51) * CFrame.fromEulerAnglesXYZ(math.rad(-90 + i), math.rad(-5), 0) |
1742 | + | if weapon ~= nil then |
1743 | - | wait() |
1743 | + | dual = true |
1744 | - | else return false end |
1744 | + | weapon.Name = "Dual" |
1745 | - | else return false end |
1745 | + | weapon.Parent = script |
1746 | - | end |
1746 | + | silenced = false |
1747 | - | end)) |
1747 | + | removeParts("RightHand") |
1748 | - | Player.Character[Name].Handle.Release:Play() |
1748 | + | makeParts("RightHand") |
1749 | - | Player.Character[Name].Magazine.Transparency = 1 |
1749 | + | removeParts("RightHolster") |
1750 | - | Player.Character[Name].MagPull.Transparency = 1 |
1750 | + | makeParts("LeftHolster") |
1751 | - | local Mag = Instance.new("Model") |
1751 | + | playAnimation("leftEquip") |
1752 | - | Mag.Name = "Spent Magazine" |
1752 | + | removeParts("LeftHolster") |
1753 | - | local source = Player.Character[Name]:FindFirstChild("Magazine") |
1753 | + | makeParts("LeftHand") |
1754 | - | if source == nil then return end |
1754 | + | magazineMax.Value = math.ceil(magazineMax.Value * 2) |
1755 | - | source = source:Clone() |
1755 | + | ammoMax.Value = math.ceil(ammoMax.Value * 2) |
1756 | - | source.CanCollide = true |
1756 | + | magazine.Value = magazine.Value + weapon.Magazine.Value |
1757 | - | source.Transparency = 0 |
1757 | + | ammo.Value = ammo.Value + weapon.Ammo.Value |
1758 | - | source.Parent = Mag |
1758 | + | updateGui() |
1759 | - | coroutine.resume(coroutine.create(function() wait(4.5) for i = 0, 1, 0.1 do source.Transparency = i wait() end source:Remove() end)) |
1759 | + | end |
1760 | - | for _, Part in pairs(Player.Character[Name]:GetChildren()) do |
1760 | + | elseif dual == true then |
1761 | - | if Part.Name == "MagPull" then |
1761 | + | local weapon = script:FindFirstChild("Dual") |
1762 | - | local new = Part:Clone() |
1762 | + | if weapon ~= nil then |
1763 | - | new.Parent = Mag |
1763 | + | dual = false |
1764 | - | new.Transparency = 0 |
1764 | + | weapon.Name = Name |
1765 | - | new.CanCollide = true |
1765 | + | weapon.Parent = Player.Backpack |
1766 | - | local w = Instance.new("Weld", new) |
1766 | + | silenced = false |
1767 | - | w.Part0 = w.Parent |
1767 | + | removeParts("RightHand") |
1768 | - | w.Part1 = source |
1768 | + | makeParts("RightHand") |
1769 | - | w.C0 = Part.Weld.C0 |
1769 | + | playAnimation("leftUnequip") |
1770 | - | w.C1 = Part.Weld.C1 |
1770 | + | removeParts("LeftHand") |
1771 | - | coroutine.resume(coroutine.create(function() wait(4.5) for i = 0, 1, 0.1 do new.Transparency = i wait() end new:Remove() end)) |
1771 | + | makeParts("RightHolster") |
1772 | - | else end |
1772 | + | playAnimation("hold") |
1773 | - | end |
1773 | + | weapon.Magazine.Value = math.floor(magazine.Value / 2) |
1774 | - | Mag.Parent = game.Workspace |
1774 | + | weapon.Ammo.Value = math.floor(ammo.Value / 2) |
1775 | - | for i = 0, 25, 5 do |
1775 | + | magazineMax.Value = math.ceil(magazineMax.Value / 2) |
1776 | - | if Player.Character:FindFirstChild("Torso") ~= nil then |
1776 | + | ammoMax.Value = math.ceil(ammoMax.Value / 2) |
1777 | - | if Player.Character.Torso:FindFirstChild("Left Shoulder 2") ~= nil and Player.Character.Torso:FindFirstChild("Right Shoulder 2") ~= nil then |
1777 | + | magazine.Value = math.ceil(magazine.Value / 2) |
1778 | - | Player.Character.Torso["Left Shoulder 2"].C0 = CFrame.new() |
1778 | + | ammo.Value = math.ceil(ammo.Value / 2) |
1779 | - | Player.Character.Torso["Left Shoulder 2"].C1 = CFrame.new(-0.5 + (i / 60), 1.2 - (i / 20), 0.8 + (i / 35)) * CFrame.fromEulerAnglesXYZ(math.rad(300 - i), math.rad(10 + -i * 3.5), math.rad(-90)) |
1779 | + | updateGui() |
1780 | - | wait() |
1780 | + | end |
1781 | - | else return false end |
1781 | + | end |
1782 | - | else return false end |
1782 | + | canFire = true |
1783 | - | end |
1783 | + | end |
1784 | - | magazineNew = Player.Character[Name].Magazine:Clone() |
1784 | + | if key == "y" and canZoom == true then |
1785 | - | magazineNew.Name = "New Magazine" |
1785 | + | if zoom == false then |
1786 | - | magazineNew.Transparency = 0 |
1786 | + | zoom = true |
1787 | - | magazineNew.Parent = Player.Character[Name] |
1787 | + | local pos = mouse.Hit.p |
1788 | - | local w = Instance.new("Weld") |
1788 | + | local target = mouse.Target |
1789 | - | w.Part0 = magazineNew |
1789 | + | local cam = game:GetService("Workspace").CurrentCamera |
1790 | - | w.Part1 = Player.Character:FindFirstChild("Left Arm") |
1790 | + | focus = Instance.new("Part", workspace) |
1791 | - | w.C0 = CFrame.new(0, 1.1, 0) |
1791 | + | focus.Anchored = true |
1792 | - | w.C1 = CFrame.new() * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0) |
1792 | + | focus.CanCollide = false |
1793 | - | w.Parent = magazineNew |
1793 | + | focus.Transparency = 1 |
1794 | - | wait(0.2) |
1794 | + | focus.TopSurface = 0 |
1795 | - | for i = 25, 0, -5 do |
1795 | + | focus.BottomSurface = 0 |
1796 | - | if Player.Character:FindFirstChild("Torso") ~= nil then |
1796 | + | focus.formFactor = "Plate" |
1797 | - | if Player.Character.Torso:FindFirstChild("Left Shoulder 2") ~= nil and Player.Character.Torso:FindFirstChild("Right Shoulder 2") ~= nil then |
1797 | + | focus.Size = Vector3.new(0, 0, 0) |
1798 | - | Player.Character.Torso["Left Shoulder 2"].C0 = CFrame.new() |
1798 | + | focus.CFrame = CFrame.new(pos) * (CFrame.new(Player.Character.Torso.CFrame.p, pos) - CFrame.new(Player.Character.Torso.CFrame.p, pos).p) |
1799 | - | Player.Character.Torso["Left Shoulder 2"].C1 = CFrame.new(-0.3 + ((i + 10) / 60), 1.2 - ((i + 10) / 20), 0.8 + (i / 35)) * CFrame.fromEulerAnglesXYZ(math.rad(300 - (i - 10)), math.rad(10 + -i * 3.5), math.rad(-90)) |
1799 | + | cam.CameraSubject = focus |
1800 | - | Player.Character.Torso["Right Shoulder 2"].C0 = CFrame.new() |
1800 | + | cam.CameraType = "Attach" |
1801 | - | Player.Character.Torso["Right Shoulder 2"].C1 = CFrame.new(-0.9 + ((25 - i) / 30), -0.35, 0.51 + ((25 - i) / 25)) * CFrame.fromEulerAnglesXYZ(math.rad(-90 + i), math.rad(-5), math.rad((25 * 2) - (i * 2))) |
1801 | + | while zoom == true and selected == true do |
1802 | - | wait() |
1802 | + | local set = false |
1803 | - | else return false end |
1803 | + | if target ~= nil then |
1804 | - | else return false end |
1804 | + | if target.Parent ~= nil then |
1805 | - | end |
1805 | + | if target.Anchored == false then |
1806 | - | Player.Character[Name].Magazine.Transparency = 0 |
1806 | + | focus.CFrame = CFrame.new(target.CFrame.p) * (CFrame.new(Player.Character.Torso.CFrame.p, target.CFrame.p) - CFrame.new(Player.Character.Torso.CFrame.p, target.CFrame.p).p) |
1807 | - | Player.Character[Name].MagPull.Transparency = 0 |
1807 | + | set = true |
1808 | - | CamShake(1, 30000) |
1808 | + | end |
1809 | - | CamShake(1, -30000) |
1809 | + | end |
1810 | - | Player.Character[Name]["New Magazine"]:Remove() |
1810 | + | end |
1811 | - | wait(0.1) |
1811 | + | if set == false then |
1812 | - | if Player.Character:FindFirstChild("Torso") ~= nil then |
1812 | + | focus.CFrame = CFrame.new(pos) * (CFrame.new(Player.Character.Torso.CFrame.p, pos) - CFrame.new(Player.Character.Torso.CFrame.p, pos).p) |
1813 | - | if Player.Character.Torso:FindFirstChild("Left Shoulder 2") ~= nil and Player.Character.Torso:FindFirstChild("Right Shoulder 2") ~= nil then |
1813 | + | end |
1814 | - | Player.Character.Torso["Left Shoulder 2"].C0 = CFrame.new() |
1814 | + | wait() |
1815 | - | Player.Character.Torso["Left Shoulder 2"].C1 = CFrame.new(-0.3, 1.2, 0.8) * CFrame.fromEulerAnglesXYZ(math.rad(300), math.rad(10), math.rad(-90)) |
1815 | + | end |
1816 | - | Player.Character.Torso["Right Shoulder 2"].C0 = CFrame.new() |
1816 | + | if focus ~= nil then focus:Remove() focus = nil end |
1817 | - | Player.Character.Torso["Right Shoulder 2"].C1 = CFrame.new(-0.9, -0.35, 0.51) * CFrame.fromEulerAnglesXYZ(math.rad(-90), math.rad(-5), 0) |
1817 | + | local cam = game:GetService("Workspace").CurrentCamera |
1818 | - | else return false end |
1818 | + | cam.CameraSubject = Player.Character:FindFirstChild("Humanoid") |
1819 | - | else return false end |
1819 | + | cam.CameraType = "Custom" |
1820 | - | Player.Character[Name].Handle.Reload:Play() |
1820 | + | else |
1821 | - | Player.Character[Name].Handle.Jam:Play() |
1821 | + | zoom = false |
1822 | - | wait(0.2) |
1822 | + | end |
1823 | - | if magazine.Value == 0 or Jammed == true then |
1823 | + | end |
1824 | - | playAnimation("charge") |
1824 | + | if key == "u" and Button1Down == false and canFire == true then |
1825 | - | else |
1825 | + | if automatic == false and burst == false then |
1826 | - | playAnimation("hold") |
1826 | + | if switchToBurst == true then |
1827 | - | end |
1827 | + | burst = true |
1828 | - | end |
1828 | + | local m = Instance.new("Message", Player) |
1829 | - | if format == "charge" then |
1829 | + | m.Text = "Burst" |
1830 | - | Player.Character[Name].Handle.Weld:Remove() |
1830 | + | pcall(function() Player.Character[Name].Handle.Switch:Play() end) |
1831 | - | local w = Instance.new("Weld") |
1831 | + | delay(2.5, function() m:Remove() end) |
1832 | - | w.Part0 = Player.Character[Name].Handle |
1832 | + | elseif switchToAutomatic == true then |
1833 | - | w.Part1 = Player.Character:FindFirstChild("Left Arm") |
1833 | + | automatic = true |
1834 | - | w.C0 = CFrame.new(-0.85, -0.3, 0.5) * CFrame.fromEulerAnglesXYZ(math.rad(15), math.rad(90), 0) |
1834 | + | local m = Instance.new("Message", Player) |
1835 | - | w.C1 = CFrame.new(0, 0.4, 0.6) * CFrame.fromEulerAnglesXYZ(math.rad(40), 0, 0) |
1835 | + | m.Text = "Automatic" |
1836 | - | w.Parent = Player.Character[Name].Handle |
1836 | + | pcall(function() Player.Character[Name].Handle.Switch:Play() end) |
1837 | - | if Player.Character:FindFirstChild("Torso") ~= nil then |
1837 | + | delay(2.5, function() m:Remove() end) |
1838 | - | if Player.Character.Torso:FindFirstChild("Left Shoulder 2") ~= nil and Player.Character.Torso:FindFirstChild("Right Shoulder 2") ~= nil then |
1838 | + | end |
1839 | - | Player.Character.Torso["Left Shoulder 2"].C0 = CFrame.new() |
1839 | + | elseif automatic == false and burst == true then |
1840 | - | Player.Character.Torso["Left Shoulder 2"].C1 = CFrame.new(-0.4, 0.9, 0.6) * CFrame.fromEulerAnglesXYZ(math.rad(280), math.rad(-10), math.rad(-90)) |
1840 | + | if switchToAutomatic == true then |
1841 | - | else return false end |
1841 | + | automatic = true |
1842 | - | else return false end |
1842 | + | burst = false |
1843 | - | wait(0.2) |
1843 | + | local m = Instance.new("Message", Player) |
1844 | - | Player.Character[Name].Handle.Equip:Play() |
1844 | + | m.Text = "Automatic" |
1845 | - | Player.Character[Name].CHandleC.Transparency = 1 |
1845 | + | pcall(function() Player.Character[Name].Handle.Switch:Play() end) |
1846 | - | Player.Character[Name].CHandleB.Transparency = 0 |
1846 | + | delay(2.5, function() m:Remove() end) |
1847 | - | Player.Character[Name].CHandleB1.Transparency = 0 |
1847 | + | elseif switchToSingle == true then |
1848 | - | Player.Character[Name].Bolt.Mesh.Offset = Vector3.new(0, 0.115, 0) |
1848 | + | burst = false |
1849 | - | Player.Character[Name].Bolt.Mesh.Scale = Vector3.new(0.14, 0.1, 0.14) |
1849 | + | local m = Instance.new("Message", Player) |
1850 | - | Player.Character[Name].DustCover.Mesh.Offset = Vector3.new(0, 0, 0.115) |
1850 | + | m.Text = "Single" |
1851 | - | Jammed = false |
1851 | + | pcall(function() Player.Character[Name].Handle.Switch:Play() end) |
1852 | - | if magazine.Value ~= 0 then |
1852 | + | delay(2.5, function() m:Remove() end) |
1853 | - | makeShell(Player.Character[Name]:FindFirstChild("ShellOut")) |
1853 | + | end |
1854 | - | else end |
1854 | + | elseif automatic == true and burst == false then |
1855 | - | for i = 0, 1, 0.25 do |
1855 | + | if switchToSingle == true then |
1856 | - | if Player.Character:FindFirstChild("Torso") ~= nil then |
1856 | + | automatic = false |
1857 | - | if Player.Character.Torso:FindFirstChild("Right Shoulder 2") ~= nil then |
1857 | + | local m = Instance.new("Message", Player) |
1858 | - | Player.Character.Torso["Right Shoulder 2"].C0 = CFrame.new() |
1858 | + | m.Text = "Single" |
1859 | - | Player.Character.Torso["Right Shoulder 2"].C1 = CFrame.new(-1.2, 0 - (i / 1.5), 0.9) * CFrame.fromEulerAnglesXYZ(math.rad(-90), math.rad(-5), 0) |
1859 | + | pcall(function() Player.Character[Name].Handle.Switch:Play() end) |
1860 | - | wait() |
1860 | + | delay(2.5, function() m:Remove() end) |
1861 | - | else return false end |
1861 | + | elseif switchToBurst == true then |
1862 | - | else return false end |
1862 | + | automatic = false |
1863 | - | end |
1863 | + | burst = true |
1864 | - | wait(0.08) |
1864 | + | local m = Instance.new("Message", Player) |
1865 | - | Player.Character[Name].CHandleC.Transparency = 0 |
1865 | + | m.Text = "Burst" |
1866 | - | Player.Character[Name].CHandleB.Transparency = 1 |
1866 | + | pcall(function() Player.Character[Name].Handle.Switch:Play() end) |
1867 | - | Player.Character[Name].CHandleB1.Transparency = 1 |
1867 | + | delay(2.5, function() m:Remove() end) |
1868 | - | Player.Character[Name].Bolt.Mesh.Offset = Vector3.new(0, 0, 0) |
1868 | + | end |
1869 | - | Player.Character[Name].Bolt.Mesh.Scale = Vector3.new(0.14, 0.3, 0.14) |
1869 | + | end |
1870 | - | wait(0.02) |
1870 | + | end |
1871 | - | removeParts("RightHand") |
1871 | + | |
1872 | - | makeParts("RightHand") |
1872 | + | |
1873 | - | Player.Character[Name].DustCover.Mesh.Offset = Vector3.new(0, 0, 0.115) |
1873 | + | |
1874 | - | playAnimation("hold") |
1874 | + | if selected == true then return end |
1875 | - | return true |
1875 | + | selected = true |
1876 | - | end |
1876 | + | canFire = false |
1877 | - | if format == "fire" then |
1877 | + | mouse.Icon = "http://www.roblox.com/asset/?id=49912389" |
1878 | - | Player.Character[Name].Bolt.Mesh.Offset = Vector3.new(0, 0.115, 0) |
1878 | + | while Player.Character:FindFirstChild("WeaponActivated") ~= nil do |
1879 | - | Player.Character[Name].Bolt.Mesh.Scale = Vector3.new(0.14, 0.1, 0.14) |
1879 | + | if Player.Character.WeaponActivated.Value == nil then break end |
1880 | - | Player.Character[Name].DustCover.Mesh.Offset = Vector3.new(0, 0, 0.115) |
1880 | + | if Player.Character.WeaponActivated.Value.Parent == nil then break end |
1881 | - | makeShell(Player.Character[Name]:FindFirstChild("ShellOut")) |
1881 | + | wait() |
1882 | - | if Player.Character[Name]:FindFirstChild("Handle") ~= nil then |
1882 | + | end |
1883 | - | if silenced then |
1883 | + | updateGui() |
1884 | - | Player.Character[Name].Handle.Fire2.Volume = math.random(3, 8) / 10 |
1884 | + | local weapon = Instance.new("ObjectValue") |
1885 | - | Player.Character[Name].Handle.Fire2.Pitch = math.random(1.8, 2) |
1885 | + | weapon.Name = "WeaponActivated" |
1886 | - | Player.Character[Name].Handle.Fire2:Play() |
1886 | + | weapon.Value = script.Parent |
1887 | - | CamShake(10, 3000) |
1887 | + | weapon.Parent = Player.Character |
1888 | - | else |
1888 | + | DisableLimb(1, Player.Character) |
1889 | - | Player.Character[Name].Handle.Fire.Volume = math.random(9, 10) / 10 |
1889 | + | DisableLimb(2, Player.Character) |
1890 | - | Player.Character[Name].Handle.Fire:Play() |
1890 | + | ForceAngle(1, 0, Player.Character) |
1891 | - | CamShake(10, 3000) |
1891 | + | ForceAngle(2, 0, Player.Character) |
1892 | - | end |
1892 | + | if dual == true then |
1893 | - | else return false end |
1893 | + | coroutine.resume(coroutine.create(function() playAnimation("leftEquip") end)) |
1894 | - | if Player.Character[Name]:FindFirstChild("Muzzle") ~= nil then |
1894 | + | playAnimation("rightEquip") |
1895 | - | if silenced == false then |
1895 | + | removeParts("LeftHolster") |
1896 | - | coroutine.resume(coroutine.create(function() Player.Character[Name].Muzzle.Smoke.Enabled = true Player.Character[Name].Muzzle.Fire.Enabled = true wait(0.1) Player.Character[Name].Muzzle.Smoke.Enabled = false Player.Character[Name].Muzzle.Fire.Enabled = false end)) |
1896 | + | makeParts("LeftHand") |
1897 | - | else end |
1897 | + | else |
1898 | - | else return false end |
1898 | + | playAnimation("equip") |
1899 | - | for i = 0, 6, 3 do |
1899 | + | end |
1900 | - | if Player.Character:FindFirstChild("Torso") ~= nil then |
1900 | + | removeParts("RightHolster") |
1901 | - | if Player.Character.Torso:FindFirstChild("Left Shoulder 2") ~= nil and Player.Character.Torso:FindFirstChild("Right Shoulder 2") ~= nil then |
1901 | + | makeParts("RightHand") |
1902 | - | Player.Character.Torso["Left Shoulder 2"].C0 = CFrame.new() |
1902 | + | mouse.Button1Down:connect(function() onButton1Down(mouse) end) |
1903 | - | Player.Character.Torso["Left Shoulder 2"].C1 = CFrame.new(-0.3, 1.2, 0.8) * CFrame.fromEulerAnglesXYZ(math.rad(300), math.rad(10 + i), math.rad(-90)) |
1903 | + | mouse.Button1Up:connect(function() onButton1Up(mouse) end) |
1904 | - | Player.Character.Torso["Right Shoulder 2"].C0 = CFrame.new() |
1904 | + | mouse.KeyDown:connect(function(key) onKeyDown(key, mouse) end) |
1905 | - | Player.Character.Torso["Right Shoulder 2"].C1 = CFrame.new(-0.9, -0.35, 0.51) * CFrame.fromEulerAnglesXYZ(math.rad(-90 - i), math.rad(-5), 0) |
1905 | + | mouse.Icon = "http://www.roblox.com/asset/?id=49912389" |
1906 | - | wait() |
1906 | + | canFire = true |
1907 | - | else return false end |
1907 | + | |
1908 | - | else return false end |
1908 | + | |
1909 | - | end |
1909 | + | |
1910 | - | if magazine.Value ~= 0 then |
1910 | + | if selected == false then return end |
1911 | - | Player.Character[Name].Bolt.Mesh.Offset = Vector3.new(0, 0, 0) |
1911 | + | Button1Down = false |
1912 | - | Player.Character[Name].Bolt.Mesh.Scale = Vector3.new(0.14, 0.3, 0.14) |
1912 | + | while canFire == false do |
1913 | - | elseif magazine.Value == 0 then |
1913 | + | wait() |
1914 | - | Player.Character[Name].Handle.Lock:Play() |
1914 | + | end |
1915 | - | end |
1915 | + | selected = false |
1916 | - | if math.random(1, Reliability) == 1 then |
1916 | + | if dual == true then |
1917 | - | Jammed = true |
1917 | + | if math.random(1, 2) == 1 then |
1918 | - | Player.Character[Name].Handle.Jam:Play() |
1918 | + | coroutine.resume(coroutine.create(function() playAnimation("leftUnequip") end)) |
1919 | - | end |
1919 | + | wait(math.random(1, 10) / 10) |
1920 | - | for i = 6, 0, -3 do |
1920 | + | playAnimation("rightUnequip") |
1921 | - | if Player.Character:FindFirstChild("Torso") ~= nil then |
1921 | + | else |
1922 | - | if Player.Character.Torso:FindFirstChild("Left Shoulder 2") ~= nil and Player.Character.Torso:FindFirstChild("Right Shoulder 2") ~= nil then |
1922 | + | coroutine.resume(coroutine.create(function() playAnimation("rightUnequip") end)) |
1923 | - | Player.Character.Torso["Left Shoulder 2"].C0 = CFrame.new() |
1923 | + | wait(math.random(1, 10) / 10) |
1924 | - | Player.Character.Torso["Left Shoulder 2"].C1 = CFrame.new(-0.3, 1.2, 0.8) * CFrame.fromEulerAnglesXYZ(math.rad(300), math.rad(10 + i), math.rad(-90)) |
1924 | + | playAnimation("leftUnequip") |
1925 | - | Player.Character.Torso["Right Shoulder 2"].C0 = CFrame.new() |
1925 | + | end |
1926 | - | Player.Character.Torso["Right Shoulder 2"].C1 = CFrame.new(-0.9, -0.35, 0.51) * CFrame.fromEulerAnglesXYZ(math.rad(-90 - i), math.rad(-5), 0) |
1926 | + | removeParts("LeftHand") |
1927 | - | wait() |
1927 | + | makeParts("LeftHolster") |
1928 | - | else return false end |
1928 | + | else |
1929 | - | else return false end |
1929 | + | playAnimation("unequip") |
1930 | - | end |
1930 | + | end |
1931 | - | end |
1931 | + | removeParts("RightHand") |
1932 | - | return true |
1932 | + | makeParts("RightHolster") |
1933 | ForceAngle(1, 0, Player.Character) | |
1934 | ForceAngle(2, 0, Player.Character) | |
1935 | ResetLimbCFrame(1, Player.Character) | |
1936 | ResetLimbCFrame(2, Player.Character) | |
1937 | - | coroutine.resume(coroutine.create(function() |
1937 | + | EnableLimb(1, Player.Character) |
1938 | - | local cam = game:GetService("Workspace").CurrentCamera |
1938 | + | EnableLimb(2, Player.Character) |
1939 | - | local time = 10 |
1939 | + | silenced = false |
1940 | - | local seed = Vector3.new(math.random(100, 200) / freq, math.random(100, 200) / freq, 0) |
1940 | + | if Player.PlayerGui:FindFirstChild(Name) ~= nil then Player.PlayerGui[Name]:Remove() end |
1941 | - | if math.random(1, 2) == 1 then seed = Vector3.new(-seed.x, seed.y, 0) end |
1941 | + | if Player.Character:FindFirstChild("WeaponActivated") ~= nil then |
1942 | - | if math.random(1, 2) == 1 then seed = Vector3.new(seed.x, -seed.y, 0) end |
1942 | + | if Player.Character.WeaponActivated.Value == script.Parent then |
1943 | - | cam.CoordinateFrame = (CFrame.new(cam.Focus.p) * (cam.CoordinateFrame - cam.CoordinateFrame.p) * CFrame.fromEulerAnglesXYZ(seed.x * time, seed.y * time, 0)) * CFrame.new(0, 0, (cam.CoordinateFrame.p - cam.Focus.p).magnitude) |
1943 | + | Player.Character.WeaponActivated:Remove() |
1944 | - | for i = 1, time do |
1944 | + | end |
1945 | - | cam.CoordinateFrame = (CFrame.new(cam.Focus.p) * (cam.CoordinateFrame - cam.CoordinateFrame.p) * CFrame.fromEulerAnglesXYZ(-seed.x, -seed.y, 0)) * CFrame.new(0, 0, (cam.CoordinateFrame.p - cam.Focus.p).magnitude) |
1945 | + | end |
1946 | - | wait() |
1946 | + | while Player.Character:FindFirstChild("WeaponActivated") ~= nil do |
1947 | - | end |
1947 | + | if Player.Character.WeaponActivated.Value == nil then break end |
1948 | - | end)) |
1948 | + | if Player.Character.WeaponActivated.Value.Parent == nil then break end |
1949 | wait() | |
1950 | end | |
1951 | end | |
1952 | ||
1953 | - | if part == nil then return false end |
1953 | + | |
1954 | - | local casing = Instance.new("Part") |
1954 | + | if Player == nil then print("Error: Player not found!") return end |
1955 | - | casing.Name = "Shell" |
1955 | + | Tool = Instance.new("HopperBin") |
1956 | - | casing.formFactor = "Custom" |
1956 | + | Tool.Name = Name |
1957 | - | casing.Size = Vector3.new(0.2, 0.25, 0.2) |
1957 | + | Tool.Parent = Player.Backpack |
1958 | - | casing.CFrame = CFrame.new(part.Position) * CFrame.fromEulerAnglesXYZ(math.rad(math.random(0, 360)), math.rad(math.random(0, 360)), math.rad(math.random(0, 360))) |
1958 | + | script.Name = "Main" |
1959 | - | casing.BrickColor = BrickColor.new("New Yeller") |
1959 | + | script.Parent = Tool |
1960 | - | local mesh = Instance.new("CylinderMesh") |
1960 | + | |
1961 | - | mesh.Scale = Vector3.new(0.4, 1, 0.4) |
1961 | + | while script.Parent.Parent.className ~= "Backpack" do |
1962 | - | mesh.Parent = casing |
1962 | + | wait() |
1963 | - | casing.Parent = game:GetService("Workspace") |
1963 | + | end |
1964 | - | casing:BreakJoints() |
1964 | + | if script.Parent:FindFirstChild("MagazineMax") == nil then |
1965 | - | casing.Velocity = (part.CFrame.lookVector * 50) + Vector3.new(0, 10, 0) |
1965 | + | magazineMax = Instance.new("NumberValue") |
1966 | - | coroutine.resume(coroutine.create(function() wait(4.5) for i = 0, 1, 0.1 do casing.Transparency = i wait() end casing:Remove() end)) |
1966 | + | magazineMax.Name = "MagazineMax" |
1967 | magazineMax.Value = 5 | |
1968 | magazineMax.Parent = script.Parent | |
1969 | else | |
1970 | magazineMax = script.Parent.MagazineMax | |
1971 | - | local weld = Instance.new("Weld") |
1971 | + | end |
1972 | - | weld.Part0 = x |
1972 | + | if script.Parent:FindFirstChild("Magazine") == nil then |
1973 | - | weld.Part1 = y |
1973 | + | magazine = Instance.new("NumberValue") |
1974 | - | CJ = CFrame.new(x.Position) |
1974 | + | magazine.Name = "Magazine" |
1975 | - | C0 = x.CFrame:inverse() * CJ |
1975 | + | magazine.Value = 0 |
1976 | - | C1 = y.CFrame:inverse() * CJ |
1976 | + | magazine.Parent = script.Parent |
1977 | - | weld.C0 = C0 |
1977 | + | else |
1978 | - | weld.C1 = C1 |
1978 | + | magazine = script.Parent.Magazine |
1979 | - | weld.Parent = x |
1979 | + | end |
1980 | if script.Parent:FindFirstChild("AmmoMax") == nil then | |
1981 | ammoMax = Instance.new("NumberValue") | |
1982 | ammoMax.Name = "AmmoMax" | |
1983 | ammoMax.Value = 999999999999999999999999999999999999999999999999999999999999 | |
1984 | - | local tag = Instance.new("ObjectValue") |
1984 | + | ammoMax.Parent = script.Parent |
1985 | - | tag.Name = "creator" |
1985 | + | else |
1986 | - | tag.Value = Player |
1986 | + | ammoMax = script.Parent.AmmoMax |
1987 | - | tag.Parent = humanoid |
1987 | + | end |
1988 | - | local tag = Instance.new("StringValue") |
1988 | + | if script.Parent:FindFirstChild("Ammo") == nil then |
1989 | - | tag.Name = "creatorType1" |
1989 | + | ammo = Instance.new("NumberValue") |
1990 | - | tag.Value = Name |
1990 | + | ammo.Name = "Ammo" |
1991 | - | tag.Parent = humanoid |
1991 | + | ammo.Value = script.Parent.AmmoMax.Value |
1992 | - | local tag = Instance.new("StringValue") |
1992 | + | ammo.Parent = script.Parent |
1993 | - | tag.Name = "creatorType2" |
1993 | + | else |
1994 | - | tag.Value = "shot" |
1994 | + | ammo = script.Parent.Ammo |
1995 | - | tag.Parent = humanoid |
1995 | + | end |
1996 | Player = script.Parent.Parent.Parent | |
1997 | makeParts("RightHolster") | |
1998 | script.Parent.Selected:connect(onSelected) | |
1999 | script.Parent.Deselected:connect(onDeselected) | |
2000 | - | if humanoid ~= nil then |
2000 | + |