View difference between Paste ID: CNcbCLVh and DDSRqzSU
SHOW: | | - or go back to the newest paste.
1
Plrs = game:GetService("Players")
2
me = Plrs.LocalPlayer
3
char = me.Character
4
Modelname = "xBananaz"
5
Toolname = "Banana"
6
Surfaces = {"FrontSurface", "BackSurface", "TopSurface", "BottomSurface", "LeftSurface", "RightSurface"}
7
necko = CFrame.new(0, 1, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0) 
8
selected = false
9
Able = true
10
Prop = {Damage = 30}
11
12
ToolIcon = ""
13
MouseIc = ""
14
MouseDo = ""
15
16
function Notime(func, tim)
17
	coroutine.resume(coroutine.create(function()
18
		if tim then
19
			wait(tim)
20
		end
21
		func()
22
	end))
23
end
24
25
Add = {
26
	Sphere = function(P)
27
		local m = Instance.new("SpecialMesh",P)
28
		m.MeshType = "Sphere"
29
		return m
30
	end,
31
	BF = function(P)
32
		local bf = Instance.new("BodyForce",P)
33
		bf.force = Vector3.new(0, P:GetMass()*187, 0)
34
		return bf
35
	end,
36
	BP = function(P)
37
		local bp = Instance.new("BodyPosition",P)
38
		bp.maxForce = Vector3.new(math.huge, 0, math.huge)
39
		bp.P = 14000
40
		return bp
41
	end,
42
	BG = function(P)
43
		local bg = Instance.new("BodyGyro",P)
44
		bg.maxTorque = Vector3.new(math.huge, math.huge, math.huge)
45
		bg.P = 14000
46
		return bg
47
	end,
48
	Mesh = function(P, ID, x, y, z)
49
		local m = Instance.new("SpecialMesh")
50
		m.MeshId = ID
51
		m.Scale = Vector3.new(x, y, z)
52
		m.Parent = P
53
		return m
54
	end,
55
	Sound = function(P, ID, vol, pitch)
56
		local s = Instance.new("Sound")
57
		s.SoundId = ID
58
		s.Volume = vol
59
		s.Pitch = pitch
60
		s.Parent = P
61
		return s
62
	end
63
}
64
65
function find(tab, arg)
66
	local ah = nil
67
	for i,v in pairs(tab) do
68
		if v == arg then
69
			ah = v
70
		end
71
	end
72
	return ah
73
end
74
75
function getAllParts(from)
76
	local t = {}
77
	function getParts(where)
78
		for i, v in pairs(where:children()) do
79
			if v:IsA("BasePart") then
80
				if v.Parent ~= char and v.Parent.Parent ~= char then
81
					table.insert(t, v)
82
				end
83
			end
84
			getParts(v)
85
		end
86
	end
87
	getParts(workspace)
88
	return t
89
end
90
91
function RayCast(pos1, pos2, maxDist, forward)
92
	local list = getAllParts(workspace)
93
	local pos0 = pos1
94
	for dist = 1, maxDist, forward do
95
		pos0 = (CFrame.new(pos1, pos2) * CFrame.new(0, 0, -dist)).p
96
		for _, v in pairs(list) do
97
			local pos3 = v.CFrame:pointToObjectSpace(pos0)
98
			local s = v.Size
99
			if pos3.x > -(s.x/2) and pos3.x < (s.x/2) and pos3.y > -(s.y/2) and pos3.y < (s.y/2) and pos3.z > -(s.z/2) and pos3.x < (s.z/2) and v.CanCollide == true then
100
				return pos0, v
101
			end
102
		end
103
	end
104
	return pos0, nil
105
end
106
107
function Part(Parent, Anchor, Collide, Tran, Ref, Color, X, Y, Z, Break)
108
	local p = Instance.new("Part")
109
	p.formFactor = "Custom"
110
	p.Anchored = Anchor
111
	p.CanCollide = Collide
112
	p.Transparency = Tran
113
	p.Reflectance = Ref
114
	p.BrickColor = BrickColor.new(Color)
115
	for _, Surf in pairs(Surfaces) do
116
		p[Surf] = "Smooth"
117
	end
118
	p.Size = Vector3.new(X, Y, Z)
119
	if Break then
120
		p:BreakJoints()
121
	else p:MakeJoints() end
122
	p.Parent = Parent
123
	return p
124
end
125
126
function Weld(p0, p1, x, y, z, a, b, c)
127
	local w = Instance.new("Weld")
128
	w.Parent = p0
129
	w.Part0 = p0
130
	w.Part1 = p1
131
	w.C1 = CFrame.new(x,y,z) * CFrame.Angles(a,b,c)
132
	return w
133
end
134
135
function ComputePos(pos1, pos2)
136
	local pos3 = Vector3.new(pos2.x, pos1.y, pos2.z)
137
	return CFrame.new(pos1, pos3)
138
end
139
140
function getHumanoid(c)
141
	local h = nil
142
	for i,v in pairs(c:children()) do
143
		if v:IsA("Humanoid") then
144
			if v.Health > 0 then
145
				h = v
146
			end
147
		end
148
	end
149
	return h
150
end
151
152
for i,v in pairs(char:children()) do
153
	if v.Name == Modelname then
154
		v:remove()
155
	end
156
end
157
158
torso = char.Torso
159
neck = torso.Neck
160
hum = char.Humanoid
161
Rarm = char["Right Arm"]
162
Larm = char["Left Arm"]
163
Rleg = char["Right Leg"]
164
Lleg = char["Left Leg"]
165
166
hc = Instance.new("Humanoid")
167
hc.Health = 0
168
hc.MaxHealth = 0
169
170
slash = Add.Sound(nil, "rbxasset://sounds//swordslash.wav", 0.9, 0.8)
171
hitsound = Add.Sound(nil, "http://www.roblox.com/asset/?id=2801263", 0.7, 0.6)
172
charge = Add.Sound(nil, "http://www.roblox.com/asset/?id=2101137", 0.8, 0.65)
173
boom = Add.Sound(nil, "http://www.roblox.com/asset/?id=2691586", 0.8, 0.3)
174
smashsound = Add.Sound(nil, "http://www.roblox.com/asset/?id=2692806", 0.8, 0.35)
175
boomboom = Add.Sound(nil, "http://www.roblox.com/asset/?id=2760979", 1, 0.18)
176
177
function PlaySound(sound, pitch, vol)
178
	local s = sound:clone()
179
	if pitch ~= nil then
180
		if tonumber(pitch) then
181
			s.Pitch = tonumber(pitch)
182
		end
183
	end
184
	if vol ~= nil then
185
		if tonumber(vol) then
186
			s.Volume = tonumber(vol)
187
		end
188
	end
189
	s.Parent = torso
190
	s.PlayOnRemove = true
191
	coroutine.resume(coroutine.create(function()
192
		wait()
193
		s:remove()
194
	end))
195
end
196
197
Mo = Instance.new("Model")
198
Mo.Name = Modelname
199
200
RABrick = Part(Mo, false, false, 1, 0, "White", 0.1, 0.1, 0.1, true)
201
LABrick = Part(Mo, false, false, 1, 0, "White", 0.1, 0.1, 0.1, true)
202
RLBrick = Part(Mo, false, false, 1, 0, "White", 0.1, 0.1, 0.1, true)
203
LLBrick = Part(Mo, false, false, 1, 0, "White", 0.1, 0.1, 0.1, true)
204
205
RABW = Weld(torso, RABrick, -1.5, -0.5, 0, 0, 0, 0)
206
LABW = Weld(torso, LABrick, 1.5, -0.5, 0, 0, 0, 0)
207
RLBW = Weld(torso, RLBrick, -0.5, 1.2, 0, 0, 0, 0)
208
LLBW = Weld(torso, LLBrick, 0.5, 1.2, 0, 0, 0, 0)
209
210
RAW = Weld(RABrick, nil, 0, 0.5, 0, 0, 0, 0)
211
LAW = Weld(LABrick, nil, 0, 0.5, 0, 0, 0, 0)
212
RLW = Weld(RLBrick, nil, 0, 0.8, 0, 0, 0, 0)
213
LLW = Weld(LLBrick, nil, 0, 0.8, 0, 0, 0, 0)
214
215
HB = Part(Mo, false, false, 1, 0, "White", 0.1, 0.1, 0.1, true)
216
HBW = Weld(Rarm, HB, 0, 1, 0, 0, 0, 0)
217
HW = Weld(HB, nil, 0, 0.3, 0, math.pi/2, math.pi, 0)
218
219
Mo.Parent = char
220
221
function MakeBanana()
222
	local Banana = Part(workspace, false, true, 0, 0, "Bright yellow", 0.9, 0.95, 0.9, true)
223
	Banana.Friction = 0.8
224
	Banana.Elasticity = 0
225
	local mes = Add.Mesh(Banana, "http://www.roblox.com/asset/?id=28937301", 1.3, 0.8, 1.3)
226
	mes.TextureId = "http://www.roblox.com/asset/?id=28937670"
227
	HW.Part1 = Banana
228
	return Banana
229
end
230
231
if script.Parent.className ~= "HopperBin" then
232
	h = Instance.new("HopperBin",me.Backpack)
233
	h.Name = Toolname
234
	h.TextureId = ToolIcon
235
	script.Parent = h
236
end
237
238
bin = script.Parent
239
240
function detach(bool)
241
	LLW.C0 = CFrame.new(0, 0, 0)
242
	RLW.C0 = CFrame.new(0, 0, 0)
243
	LAW.C0 = CFrame.new(0,0,0)
244
	RAW.C0 = CFrame.new(0, 0, 0)
245
	if bool then
246
		LLW.Part1 = nil
247
		RLW.Part1 = nil
248
		RAW.Part1 = nil
249
		LAW.Part1 = nil
250
	end
251
end
252
253
function attach()
254
	RAW.Part1 = Rarm
255
	LAW.Part1 = Larm
256
	RLW.Part1 = Rleg
257
	LLW.Part1 = Lleg
258
end
259
260
function normal()
261
	neck.C0 = NeckStand
262
	RAW.C0 = RAWStand
263
	LAW.C0 = LAWStand
264
	RLW.C0 = RLWStand
265
	LLW.C0 = LLWStand
266
	RAW.C1 = CFrame.new(0, 0.5, 0)
267
	LAW.C1 = CFrame.new(0, 0.5, 0)
268
	RLW.C1 = CFrame.new(0, 0.8, 0)
269
	LLW.C1 = CFrame.new(0, 0.8, 0)
270
	HW.C0 = HWStand
271
end
272
273
function throw(mousepos)
274
	RAW.Part1 = Rarm
275
--[[	for i = 0, 1, 1 do
276
		RAW.C0 = CFrame.Angles(math.rad(-5*i), 0, math.rad(-15*i)) * CFrame.new(0, -0.2*i, -0.5*i)
277
		wait()
278
	end]]
279
	local banana = MakeBanana()
280
	for i = 0, 1, 1 do
281
		RAW.C0 = CFrame.Angles(math.rad(-5+185*i), 0, math.rad(-15+35*i)) * CFrame.new(0, -0.2+0.1*i, -0.5+0.8*i)
282
		wait()
283
	end
284
--[[	for i = 0, 1, 1 do
285
		RAW.C0 = CFrame.Angles(math.rad(-5+185-90*i), 0, math.rad(-15+35-45*i)) * CFrame.new(0, -0.2+0.1-0.4*i, -0.5+0.8-0.3*i)
286
		wait()
287
	end]]
288
	local pos = CFrame.new(banana.Position, mousepos) * CFrame.Angles(math.rad(25),0,0)
289
	local mag = (torso.Position - mousepos).magnitude
290
	mag = mag - (mag/5)
291
	if mag > 25 then mag = 25 end
292
	local kert = (40+(mag*2))
293
	Notime(function()
294
		HW.Part1 = nil
295
		wait()
296
		banana.Velocity = pos.lookVector * kert
297
		local bg = Add.BG(banana)
298
		bg.P = 4500
299
		bg.maxTorque = Vector3.new(math.huge, 0, math.huge)
300
		wait(0.5)
301
		repeat wait() until banana.Velocity.magnitude < 13
302
		local ablez = true
303
		local con = banana.Touched:connect(function(hit)
304
			local hu = getHumanoid(hit.Parent)
305
			if hu then
306
				local to = hu.Parent:findFirstChild("Torso")
307
				local s = Instance.new("Sound")
308
				s.SoundId = "http://www.roblox.com/asset/?id=28976727"
309
				s.Volume = 1
310
				s.Pitch = 1
311
				s.Parent = to
312
				s:Play()
313
				game:GetService("Debris"):AddItem(s,1)
314
				if to and ablez then
315
					ablez = false
316
					local bg = Add.BG(to)
317
					hu.PlatformStand = true
318
					local cf1 = to.CFrame
319
					local cf2 = CFrame.new(cf1.p, (cf1 * CFrame.new(0, 0, -2).p))
320
					to.Velocity = to.Velocity + (cf1.lookVector * -15) + Vector3.new(0, 100, 0)
321
					local ah = math.random(260,280)
322
					local mm = math.random(5,8)/100
323
					Notime(function()
324
						wait(0.25)
325
						ablez = true
326
					end)
327
					banana.Velocity = cf1.lookVector * 35
328
					for i = 0, 1, mm do
329
						bg.cframe = cf2 * CFrame.Angles(math.rad(ah*i), 0, 0)
330
						wait()
331
					end
332
					wait()
333
					bg:remove()
334
					wait(0.4)
335
					hu.PlatformStand = false
336
				end
337
			end
338
		end)
339
		wait(math.random(18,22))
340
		con:disconnect()
341
		for i = 0, 1, 0.033 do
342
			banana.Transparency = i
343
			wait()
344
		end
345
		banana:remove()
346
	end)
347
	for i=1,10 do
348
wait(0)
349
for i=1,10 do
350
	local banana = MakeBanana()
351
	local pos = CFrame.new(banana.Position, mousepos) * CFrame.Angles(math.rad(25),0,0)
352
	local mag = (torso.Position - mousepos).magnitude
353
	mag = mag - (mag/5)
354
	if mag > 25 then mag = 25 end
355
	local kert = (40+(mag*2))
356
	Notime(function()
357
		HW.Part1 = nil
358
		wait()
359
		banana.Velocity = pos.lookVector * kert
360
		local bg = Add.BG(banana)
361
		bg.P = 4500
362
		bg.maxTorque = Vector3.new(math.huge, 0, math.huge)
363
		wait(0.5)
364
		repeat wait() until banana.Velocity.magnitude < 13
365
		local ablez = true
366
		local con = banana.Touched:connect(function(hit)
367
			local hu = getHumanoid(hit.Parent)
368
			if hu then
369
				local to = hu.Parent:findFirstChild("Torso")
370
				local s = Instance.new("Sound")
371
				s.SoundId = "http://www.roblox.com/asset/?id=28976727"
372
				s.Volume = 1
373
				s.Pitch = math.random(50,150)/100
374
				s.Parent = to
375
				s:Play()
376
				game:GetService("Debris"):AddItem(s,1)
377
				if to and ablez then
378
					ablez = false
379
					local bg = Add.BG(to)
380
					hu.PlatformStand = true
381
					local cf1 = to.CFrame
382
					local cf2 = CFrame.new(cf1.p, (cf1 * CFrame.new(0, 0, -2).p))
383
					to.Velocity = to.Velocity + (cf1.lookVector * -15) + Vector3.new(0, 100, 0)
384
					local ah = math.random(260,280)
385
					local mm = math.random(5,8)/100
386
					Notime(function()
387
						wait(0.25)
388
						ablez = true
389
					end)
390
					banana.Velocity = cf1.lookVector * 35
391
					for i = 0, 1, mm do
392
						bg.cframe = cf2 * CFrame.Angles(math.rad(ah*i), 0, 0)
393
						wait()
394
					end
395
					wait()
396
					bg:remove()
397
					wait(0.4)
398
					hu.PlatformStand = false
399
				end
400
			end
401
		end)
402
		wait(math.random(18,22))
403
		con:disconnect()
404
		for i = 0, 1, 0.033 do
405
						wait()
406
		end
407
		
408
	end)
409
	end
410
	end
411
	for i = 0, 1, 1 do
412
		RAW.C0 = CFrame.Angles(math.rad(-5+185-90-90*i), 0, math.rad(-15+35-45+25*i)) * CFrame.new(0, -0.2+0.1-0.4+0.5*i, 0)
413
		wait()
414
	end
415
	detach(true)
416
end
417
418
function select(mouse)
419
	selected = true
420
	mouse.Button1Down:connect(function()
421
		if Able then
422
			Able = true
423
			char.Torso.Anchored=true
424
			throw(mouse.Hit.p)
425
			char.Torso.Anchored=false
426
			wait(0)
427
			Able = true
428
		end
429
	end)
430
end
431
432
function deselect(mouse)
433
	selected = false
434
end
435
436
bin.Selected:connect(select)
437
bin.Deselected:connect(deselect)
438
-- mediafire