SHOW:
|
|
- or go back to the newest paste.
1 | ||
2 | --Converted with ttyyuu12345's model to script plugin v4 | |
3 | function sandbox(var,func) | |
4 | local env = getfenv(func) | |
5 | local newenv = setmetatable({},{ | |
6 | __index = function(self,k) | |
7 | if k=="script" then | |
8 | return var | |
9 | else | |
10 | return env[k] | |
11 | end | |
12 | end, | |
13 | }) | |
14 | setfenv(func,newenv) | |
15 | return func | |
16 | end | |
17 | cors = {} | |
18 | mas = Instance.new("Model",game:GetService("Lighting")) | |
19 | Tool0 = Instance.new("Tool") | |
20 | - | Part1 = Instance.new("Part") |
20 | + | Script1 = Instance.new("Script") |
21 | - | SpecialMesh2 = Instance.new("SpecialMesh") |
21 | + | Fire2 = Instance.new("Fire") |
22 | - | ManualWeld3 = Instance.new("ManualWeld") |
22 | + | Script3 = Instance.new("Script") |
23 | - | Animation4 = Instance.new("Animation") |
23 | + | IntValue4 = Instance.new("IntValue") |
24 | - | Animation5 = Instance.new("Animation") |
24 | + | LocalScript5 = Instance.new("LocalScript") |
25 | - | Part6 = Instance.new("Part") |
25 | + | Script6 = Instance.new("Script") |
26 | - | Sound7 = Instance.new("Sound") |
26 | + | Fire7 = Instance.new("Fire") |
27 | - | SpecialMesh8 = Instance.new("SpecialMesh") |
27 | + | PointLight8 = Instance.new("PointLight") |
28 | - | Script9 = Instance.new("Script") |
28 | + | Smoke9 = Instance.new("Smoke") |
29 | - | NumberValue10 = Instance.new("NumberValue") |
29 | + | Part10 = Instance.new("Part") |
30 | - | LocalScript11 = Instance.new("LocalScript") |
30 | + | Sound11 = Instance.new("Sound") |
31 | - | LocalScript12 = Instance.new("LocalScript") |
31 | + | SpecialMesh12 = Instance.new("SpecialMesh") |
32 | - | LocalScript13 = Instance.new("LocalScript") |
32 | + | Tool0.Name = "Flare Gun" |
33 | - | Script14 = Instance.new("Script") |
33 | + | |
34 | - | Tool0.Name = "StickyJumper" |
34 | + | Tool0.TextureId = "rbxassetid://444145395" |
35 | Tool0.CanBeDropped = false | |
36 | - | Tool0.TextureId = "http://www.roblox.com/asset?id=123880862" |
36 | + | Tool0.Grip = CFrame.new(0, -0.400000006, 0.0500000007, 1, 0, 0, 0, 1, 0, 0, 0, 1) |
37 | - | Tool0.Grip = CFrame.new(0, -0.349999994, 0.75, 1, 0, 0, 0, 1, 0, 0, 0, 1) |
37 | + | Tool0.GripPos = Vector3.new(0, -0.400000006, 0.0500000007) |
38 | - | Tool0.GripPos = Vector3.new(0, -0.349999994, 0.75) |
38 | + | Tool0.ToolTip = "Flare Gun" |
39 | - | Tool0.ToolTip = "jump far away from here" |
39 | + | Script1.Name = "Paintball" |
40 | - | Part1.Name = "part" |
40 | + | Script1.Parent = Tool0 |
41 | - | Part1.Parent = Tool0 |
41 | + | table.insert(cors,sandbox(Script1,function() |
42 | - | Part1.CFrame = CFrame.new(15.4799957, 0.600000024, 1.59500206, 1, 0, 0, 0, 1, 0, 0, 0, 1) |
42 | + | --rbxsig%leIitay5G0xoc8QCL8LmFwhHlFf0gaAxhRmYajmRNYlypcjE9UWOAafcMqsgQJluLLp7bYlhQuW0emM+jY9aaT3p9IzaMnvGt32VUo6nPwB75YmXE7Lhb3U9VVlti1RSAtjqVlW8El5KbJ+0aruJll3DbbiU8RTnVR7dv/TQycY=% |
43 | - | Part1.Position = Vector3.new(15.4799957, 0.600000024, 1.59500206) |
43 | + | --rbxassetid%1014541% |
44 | - | Part1.Size = Vector3.new(0.820002317, 1.20000005, 2.24999952) |
44 | + | |
45 | - | Part1.FormFactor = Enum.FormFactor.Custom |
45 | + | ball = script.Parent |
46 | - | Part1.formFactor = Enum.FormFactor.Custom |
46 | + | damage = 10 |
47 | - | SpecialMesh2.Parent = Part1 |
47 | + | |
48 | - | SpecialMesh2.MeshId = "http://www.roblox.com/asset?id=123881008" |
48 | + | |
49 | - | SpecialMesh2.TextureId = "http://www.roblox.com/asset?id=124226363" |
49 | + | |
50 | - | SpecialMesh2.MeshType = Enum.MeshType.FileMesh |
50 | + | |
51 | - | ManualWeld3.Name = "BulletWeld" |
51 | + | script.Parent.Velocity = script.Parent.Velocity*0.7 |
52 | - | ManualWeld3.Parent = Part1 |
52 | + | local humanoid = hit.Parent:findFirstChild("Humanoid") |
53 | - | ManualWeld3.C1 = CFrame.new(-0.0199432373, -0.12487793, 0.885015488, 1, 0, 0, 0, 1, 0, 0, 0, 1) |
53 | + | |
54 | - | ManualWeld3.Part0 = Part1 |
54 | + | |
55 | - | ManualWeld3.Part1 = Part6 |
55 | + | tagHumanoid(humanoid) |
56 | - | ManualWeld3.part1 = Part6 |
56 | + | humanoid:TakeDamage(damage) |
57 | - | Animation4.Name = "EquipAnim" |
57 | + | if humanoid.Parent.Torso:FindFirstChild("FlareFire") then |
58 | - | Animation4.Parent = Tool0 |
58 | + | humanoid.Parent.Torso.FlareFire.Burner.Timer.Value = 6 |
59 | - | Animation4.AnimationId = "http://www.roblox.com/asset?id=123895982" |
59 | + | else |
60 | - | Animation5.Name = "FireAnim" |
60 | + | local fiery = script.FlareFire:clone() |
61 | - | Animation5.Parent = Tool0 |
61 | + | fiery.Parent = humanoid.Parent.Torso |
62 | - | Animation5.AnimationId = "http://www.roblox.com/asset?id=123896085" |
62 | + | fiery.Enabled = true |
63 | - | Part6.Name = "Handle" |
63 | + | fiery.Burner.Disabled = false |
64 | - | Part6.Parent = Tool0 |
64 | + | |
65 | - | Part6.CFrame = CFrame.new(15.499939, 0.724877954, 0.709986567, 1, 0, 0, 0, 1, 0, 0, 0, 1) |
65 | + | |
66 | - | Part6.Position = Vector3.new(15.499939, 0.724877954, 0.709986567) |
66 | + | wait(2) |
67 | - | Part6.Size = Vector3.new(0.319999993, 0.319999993, 0.319999993) |
67 | + | untagHumanoid(humanoid) |
68 | - | Part6.BottomSurface = Enum.SurfaceType.Smooth |
68 | + | |
69 | - | Part6.CanCollide = false |
69 | + | |
70 | - | Part6.TopSurface = Enum.SurfaceType.Smooth |
70 | + | |
71 | - | Part6.FormFactor = Enum.FormFactor.Custom |
71 | + | function tagHumanoid(humanoid) |
72 | - | Part6.formFactor = Enum.FormFactor.Custom |
72 | + | -- todo: make tag expire |
73 | - | Sound7.Name = "SlingshotSound" |
73 | + | local tag = ball:findFirstChild("creator") |
74 | - | Sound7.Parent = Part6 |
74 | + | if tag ~= nil then |
75 | - | Sound7.SoundId = "http://roblox.com/asset/?id=10209888" |
75 | + | local new_tag = tag:clone() |
76 | - | Sound7.Volume = 1 |
76 | + | |
77 | - | SpecialMesh8.Parent = Part6 |
77 | + | |
78 | - | SpecialMesh8.MeshType = Enum.MeshType.Sphere |
78 | + | |
79 | - | Script9.Name = "Bomb" |
79 | + | |
80 | - | Script9.Parent = Tool0 |
80 | + | |
81 | - | table.insert(cors,sandbox(Script9,function() |
81 | + | |
82 | - | updateInterval = 0.4 |
82 | + | |
83 | local tag = humanoid:findFirstChild("creator") | |
84 | - | currentColor = 1 |
84 | + | |
85 | - | colors = {26, 21} |
85 | + | |
86 | end | |
87 | end | |
88 | - | local weld = Instance.new("Weld") |
88 | + | |
89 | - | weld.Part0 = script.Parent |
89 | + | |
90 | - | weld.Part1 = hit |
90 | + | connection = ball.Touched:connect(onTouched) |
91 | - | local temp = CFrame.new((script.Parent.Position + hit.Position) * 0.5) |
91 | + | |
92 | - | weld.C0 = script.Parent.CFrame:inverse() * temp |
92 | + | Script1.Disabled = true |
93 | - | weld.C1 = hit.CFrame:inverse() * temp |
93 | + | Fire2.Name = "FlareFire" |
94 | - | weld.Parent = script.Parent |
94 | + | Fire2.Parent = Script1 |
95 | - | script.Parent.Velocity = Vector3.new(0,0,0) |
95 | + | Fire2.Color = Color3.new(1, 0.333333, 0) |
96 | - | script.Parent.RotVelocity = Vector3.new(0,0,0) |
96 | + | Fire2.Enabled = false |
97 | - | connection:disconnect() |
97 | + | Fire2.Size = 7 |
98 | Fire2.Heat = 5 | |
99 | Fire2.SecondaryColor = Color3.new(1, 0.666667, 0) | |
100 | - | connection = script.Parent.Touched:connect(onTouched) |
100 | + | Fire2.size = 7 |
101 | Script3.Name = "Burner" | |
102 | Script3.Parent = Fire2 | |
103 | table.insert(cors,sandbox(Script3,function() | |
104 | local looping = true | |
105 | - | Script9.Disabled = true |
105 | + | while looping do |
106 | - | NumberValue10.Name = "Tutorialized" |
106 | + | if script.Timer.Value >= 1 then |
107 | - | NumberValue10.Parent = Tool0 |
107 | + | script.Parent.Parent.Parent.Humanoid:TakeDamage(4) |
108 | - | NumberValue10.Value = 14 |
108 | + | script.Timer.Value = script.Timer.Value - 1 |
109 | - | LocalScript11.Parent = Tool0 |
109 | + | else |
110 | - | table.insert(cors,sandbox(LocalScript11,function() |
110 | + | looping = false |
111 | - | local Tool = script.Parent; |
111 | + | |
112 | - | local db = script.Parent.Tutorialized |
112 | + | wait(1.5) |
113 | end | |
114 | - | --Editable Section |
114 | + | |
115 | - | local maxBombs = 4 -- Change this to be able to add more bombs. |
115 | + | script.Parent:Destroy() |
116 | end)) | |
117 | - | local explosionRadius = 10 -- Radius of 12 currently |
117 | + | Script3.Disabled = true |
118 | - | local explosionPressure = 1000000 -- Really high pressure that packs a punch! |
118 | + | IntValue4.Name = "Timer" |
119 | - | local DestroyJointRadiusPercent = 0 |
119 | + | IntValue4.Parent = Script3 |
120 | - | --End of editable section |
120 | + | IntValue4.Value = 6 |
121 | LocalScript5.Name = "Local Gui" | |
122 | - | --I don't recommend that you edit anything beyond this point. |
122 | + | LocalScript5.Parent = Tool0 |
123 | LocalScript5.LinkedSource = "http://www.roblox.com/asset/?id=1014540" | |
124 | - | function onKeyDown(key) |
124 | + | Script6.Name = "PaintballShooter" |
125 | - | if (key~=nil) then |
125 | + | Script6.Parent = Tool0 |
126 | - | key = key:lower() |
126 | + | table.insert(cors,sandbox(Script6,function() |
127 | - | local bomb = getBombs() |
127 | + | |
128 | - | if (key=="q") then |
128 | + | |
129 | - | for i=1, #bomb do |
129 | + | colors = {21} |
130 | - | blowUp(bomb[i]) |
130 | + | |
131 | - | end |
131 | + | function fire(v) |
132 | ||
133 | - | if (key=="r") then |
133 | + | Tool.Handle.Fire:play() |
134 | - | for i=1, #bomb do |
134 | + | |
135 | - | bomb[i]:remove() |
135 | + | |
136 | - | end |
136 | + | |
137 | local vPlayer = game.Players:playerFromCharacter(vCharacter) | |
138 | ||
139 | local missile = Instance.new("Part") | |
140 | ||
141 | - | function getBombs() |
141 | + | |
142 | - | local bombs = {} |
142 | + | |
143 | - | for i,child in pairs(workspace:getChildren()) do |
143 | + | local spawnPos = vCharacter.PrimaryPart.Position |
144 | - | if child.Name == ""..script.Parent.Parent.Name.." Bomb" then |
144 | + | |
145 | - | table.insert(bombs, child) |
145 | + | |
146 | ||
147 | spawnPos = spawnPos + (v * 8) | |
148 | - | return bombs |
148 | + | |
149 | missile.Position = spawnPos | |
150 | missile.Size = Vector3.new(1,1,1) | |
151 | - | enabled = true |
151 | + | missile.Velocity = v * 200 |
152 | - | function onButton1Down(mouse) |
152 | + | missile.BrickColor = BrickColor.new(colors[math.random(1, #colors)]) |
153 | - | if not enabled then |
153 | + | missile.Shape = 0 |
154 | missile.BottomSurface = 0 | |
155 | missile.TopSurface = 0 | |
156 | missile.Name = "Paintball" | |
157 | - | enabled = false |
157 | + | missile.Elasticity = 0 |
158 | - | mouse.Icon = "http://www.roblox.com/asset/?id=19086766" |
158 | + | missile.Reflectance = 0 |
159 | missile.Friction = .9 | |
160 | - | wait(3) |
160 | + | missile.Material = "Neon" |
161 | - | mouse.Icon = "http://www.roblox.com/asset/?id=19086766" |
161 | + | |
162 | - | enabled = true |
162 | + | local trailparticle = script.Fire:clone() |
163 | trailparticle.Parent = missile | |
164 | trailparticle.Enabled = true | |
165 | ||
166 | - | function onEquippedLocal(mouse) |
166 | + | local glowy = script.Light:clone() |
167 | glowy.Parent = missile | |
168 | - | if mouse == nil then |
168 | + | glowy.Enabled = true |
169 | - | print("Mouse not found") |
169 | + | |
170 | local emergency = script.Smoke:clone() | |
171 | emergency.Parent = missile | |
172 | emergency.Enabled = true | |
173 | - | mouse.Icon = "http://www.roblox.com/asset/?id=19086766" |
173 | + | |
174 | - | mouse.Button1Down:connect(function() onButton1Down(mouse) end) |
174 | + | local force = Instance.new("BodyForce") |
175 | - | mouse.KeyDown:connect(onKeyDown) |
175 | + | force.force = Vector3.new(0,65,0) |
176 | force.Parent = missile | |
177 | - | if db.Value == 0 then |
177 | + | |
178 | - | db.Value = 14 |
178 | + | game.Debris:AddItem(missile, 5) |
179 | - | local message = Instance.new("Hint") |
179 | + | |
180 | - | message.Parent = game.Players:findFirstChild(script.Parent.Parent.Name) |
180 | + | local new_script = script.Parent.Paintball:clone() |
181 | - | message.Text = "Thanks for using C4 by Malvaviscos" |
181 | + | new_script.Disabled = false |
182 | - | wait(3) |
182 | + | new_script.Parent = missile |
183 | - | message.Text = "Click to drop C4 (Fires like a slingshot)" |
183 | + | |
184 | - | wait(3) |
184 | + | |
185 | - | message.Text = "Press 'q' to detonate the C4, and 'r' to remove it." |
185 | + | |
186 | - | wait(3) |
186 | + | |
187 | - | message.Text = "You are allowed to have up to "..maxBombs.." bomb(s) out at a time" |
187 | + | |
188 | - | wait(4) |
188 | + | |
189 | - | message:remove() |
189 | + | |
190 | ||
191 | missile.Parent = game.Workspace | |
192 | ||
193 | - | function blowUp(obj) |
193 | + | |
194 | - | local sound = Instance.new("Sound") |
194 | + | |
195 | - | sound.SoundId = "http://roblox.com/asset/?id=10209886" |
195 | + | |
196 | - | sound.Parent = obj |
196 | + | |
197 | - | sound.Volume = 1 |
197 | + | |
198 | - | sound.Pitch = 1 |
198 | + | |
199 | - | sound:play() |
199 | + | |
200 | - | explosion = Instance.new("Explosion") |
200 | + | if not Tool.Enabled then |
201 | - | explosion.BlastRadius = explosionRadius |
201 | + | |
202 | - | explosion.BlastPressure = explosionPressure -- these are really wussy units |
202 | + | |
203 | - | explosion.DestroyJointRadiusPercent = DestroyJointRadiusPercent |
203 | + | |
204 | Tool.Enabled = false | |
205 | - | -- find instigator tag |
205 | + | |
206 | - | local creator = Instance.new("ObjectValue") |
206 | + | |
207 | - | creator.Name = "creator" |
207 | + | |
208 | - | creator.Value = game.Players.LocalPlayer |
208 | + | |
209 | - | if creator ~= nil then |
209 | + | |
210 | - | explosion.Hit:connect(function(part, distance) onPlayerBlownUp(part, distance, creator) end) |
210 | + | |
211 | end | |
212 | ||
213 | - | explosion.Position = obj.Position |
213 | + | |
214 | - | explosion.Parent = game.Workspace |
214 | + | local lookAt = (targetPos - character.Head.Position).unit |
215 | ||
216 | - | obj:remove() |
216 | + | fire(lookAt) |
217 | ||
218 | wait(4) | |
219 | - | function onPlayerBlownUp(part, distance, creator) |
219 | + | |
220 | - | if part.Name == "Head" then |
220 | + | |
221 | - | local humanoid = part.Parent:findFirstChild("Humanoid") |
221 | + | |
222 | - | tagHumanoid(humanoid, creator) |
222 | + | |
223 | ||
224 | script.Parent.Activated:connect(onActivated) | |
225 | end)) | |
226 | - | function tagHumanoid(humanoid, creator) |
226 | + | Fire7.Parent = Script6 |
227 | - | -- tag does not need to expire iff all explosions lethal |
227 | + | Fire7.Color = Color3.new(1, 0, 0) |
228 | Fire7.Enabled = false | |
229 | - | if creator ~= nil and humanoid ~= nil then |
229 | + | Fire7.Size = 10 |
230 | - | local new_tag = creator:clone() |
230 | + | Fire7.Heat = 0 |
231 | Fire7.SecondaryColor = Color3.new(1, 0, 0) | |
232 | Fire7.size = 10 | |
233 | PointLight8.Name = "Light" | |
234 | PointLight8.Parent = Script6 | |
235 | PointLight8.Color = Color3.new(1, 0, 0) | |
236 | PointLight8.Enabled = false | |
237 | PointLight8.Range = 30 | |
238 | PointLight8.Shadows = true | |
239 | Smoke9.Parent = Script6 | |
240 | Smoke9.Color = Color3.new(1, 0, 0) | |
241 | Smoke9.Enabled = false | |
242 | Smoke9.Size = 2 | |
243 | Smoke9.Opacity = 1 | |
244 | - | Tool.Equipped:connect(onEquippedLocal) |
244 | + | Smoke9.RiseVelocity = 0 |
245 | Part10.Name = "Handle" | |
246 | Part10.Parent = Tool0 | |
247 | - | VELOCITY = 85 -- constant |
247 | + | Part10.CFrame = CFrame.new(-1.9000001, 0.49999997, 3.70000005, -1.00000024, -3.19019335e-08, 2.60770321e-07, -3.18550661e-08, 0.99999994, 1.30739863e-12, -2.60770321e-07, 2.14413376e-10, -1.00000024) |
248 | Part10.Orientation = Vector3.new(0, 180, 0) | |
249 | - | local Pellet = script.Parent.Handle:clone() |
249 | + | Part10.Position = Vector3.new(-1.9000001, 0.49999997, 3.70000005) |
250 | - | Pellet.Locked = true |
250 | + | Part10.Rotation = Vector3.new(-180, 0, 180) |
251 | - | Pellet.BackSurface = 0 |
251 | + | Part10.Size = Vector3.new(0.200000033, 1, 1.39999986) |
252 | - | Pellet.BottomSurface = 0 |
252 | + | Part10.BottomSurface = Enum.SurfaceType.Smooth |
253 | - | Pellet.FrontSurface = 0 |
253 | + | Part10.Locked = true |
254 | - | Pellet.LeftSurface = 0 |
254 | + | Part10.TopSurface = Enum.SurfaceType.Smooth |
255 | - | Pellet.RightSurface = 0 |
255 | + | Part10.FormFactor = Enum.FormFactor.Custom |
256 | - | Pellet.TopSurface = 0 |
256 | + | Part10.formFactor = Enum.FormFactor.Custom |
257 | - | Pellet.SlingshotSound:remove() |
257 | + | Sound11.Name = "Fire" |
258 | - | script.Parent.Bomb:clone().Parent = Pellet |
258 | + | Sound11.Parent = Part10 |
259 | Sound11.SoundId = "http://www.roblox.com/asset/?id=142241347" | |
260 | - | function fire(mouse_pos) |
260 | + | Sound11.Volume = 1 |
261 | SpecialMesh12.Parent = Part10 | |
262 | SpecialMesh12.MeshId = "rbxassetid://443983595" | |
263 | - | Tool.Handle.SlingshotSound:play() |
263 | + | SpecialMesh12.Scale = Vector3.new(0.0140000004, 0.0140000004, 0.0140000004) |
264 | SpecialMesh12.TextureId = "rbxassetid://443983604" | |
265 | - | -- find player's head pos |
265 | + | SpecialMesh12.MeshType = Enum.MeshType.FileMesh |
266 | for i,v in pairs(mas:GetChildren()) do | |
267 | v.Parent = game:GetService("Players").LocalPlayer.Backpack | |
268 | pcall(function() v:MakeJoints() end) | |
269 | end | |
270 | - | local head = vCharacter:findFirstChild("Head") |
270 | + | |
271 | - | if head == nil then return end |
271 | + | |
272 | spawn(function() | |
273 | - | local dir = mouse_pos - head.Position |
273 | + | |
274 | - | dir = computeDirection(dir) |
274 | + | |
275 | end |