View difference between Paste ID: gQbEqmFY and YqCczDRx
SHOW: | | - or go back to the newest paste.
1
--Goto line 1 and change YOURNAMEHERE or it will not work. Enjoy skiddies.
2-
game.Chat:Chat(YOURNAMEHERE.Head,"http://pastebin.com/u/c00lkidd")
2+
game.Chat:Chat(Godofadmin1337.Head,"http://pastebin.com/u/c00lkidd")
3
function weld(p0,p1,c0,c1,par)
4
local w = Instance.new("Weld",p0 or par)
5
w.Part0 = p0
6
w.Part1 = p1
7
w.C0 = c0 or CFrame.new()
8
w.C1 = c1 or CFrame.new()
9
return w
10
end
11
do
12
local function QuaternionFromCFrame(cf) local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components() local trace = m00 + m11 + m22 if trace > 0 then local s = math.sqrt(1 + trace) local recip = 0.5/s return (m21-m12)*recip, (m02-m20)*recip, (m10-m01)*recip, s*0.5 else local i = 0 if m11 > m00 then i = 1 end if m22 > (i == 0 and m00 or m11) then i = 2 end if i == 0 then local s = math.sqrt(m00-m11-m22+1) local recip = 0.5/s return 0.5*s, (m10+m01)*recip, (m20+m02)*recip, (m21-m12)*recip elseif i == 1 then local s = math.sqrt(m11-m22-m00+1) local recip = 0.5/s return (m01+m10)*recip, 0.5*s, (m21+m12)*recip, (m02-m20)*recip elseif i == 2 then local s = math.sqrt(m22-m00-m11+1) local recip = 0.5/s return (m02+m20)*recip, (m12+m21)*recip, 0.5*s, (m10-m01)*recip end end end
13
14
local function QuaternionToCFrame(px, py, pz, x, y, z, w) local xs, ys, zs = x + x, y + y, z + z local wx, wy, wz = w*xs, w*ys, w*zs local xx = x*xs local xy = x*ys local xz = x*zs local yy = y*ys local yz = y*zs local zz = z*zs return CFrame.new(px, py, pz,1-(yy+zz), xy - wz, xz + wy,xy + wz, 1-(xx+zz), yz - wx, xz - wy, yz + wx, 1-(xx+yy)) end
15
16
local function QuaternionSlerp(a, b, t) local cosTheta = a[1]*b[1] + a[2]*b[2] + a[3]*b[3] + a[4]*b[4] local startInterp, finishInterp; if cosTheta >= 0.0001 then if (1 - cosTheta) > 0.0001 then local theta = math.acos(cosTheta) local invSinTheta = 1/math.sin(theta) startInterp = math.sin((1-t)*theta)*invSinTheta finishInterp = math.sin(t*theta)*invSinTheta else startInterp = 1-t finishInterp = t end else if (1+cosTheta) > 0.0001 then local theta = math.acos(-cosTheta) local invSinTheta = 1/math.sin(theta) startInterp = math.sin((t-1)*theta)*invSinTheta finishInterp = math.sin(t*theta)*invSinTheta else startInterp = t-1 finishInterp = t end end return a[1]*startInterp + b[1]*finishInterp, a[2]*startInterp + b[2]*finishInterp, a[3]*startInterp + b[3]*finishInterp, a[4]*startInterp + b[4]*finishInterp end
17
function clerp(a,b,t)
18
if not a or not b then print(a,b,"is missing") return end
19
local qa = {QuaternionFromCFrame(a)}
20
local qb = {QuaternionFromCFrame(b)}
21
local ax, ay, az = a.x, a.y, a.z
22
local bx, by, bz = b.x, b.y, b.z
23
local _t = 1-t
24
return QuaternionToCFrame(_t*ax + t*bx, _t*ay + t*by, _t*az + t*bz,QuaternionSlerp(qa, qb, t))
25
end
26
end
27
local oc = oc or function(...) return ... end
28
pcall(function() script.Parent.bScript:Destroy() end)
29
script.Name = "bScript"
30
local plr = game:service'Players'.LocalPlayer
31
local mouse = plr:GetMouse()
32
local char = plr.Character
33
animate = char:findFirstChild("Animate")
34
animate:Destroy()
35
local tor,ra,la,rl,ll,hd,hum = char.Torso,char["Right Arm"],char["Left Arm"],char["Right Leg"],char["Left Leg"],char.Head,char.Humanoid
36
local rrs,rls,nk = tor["Right Shoulder"],tor["Left Shoulder"],tor.Neck
37
local nk0 = nk.C0
38
local rc0,rc1 = rrs.C0,rrs.C1
39
local lc0,lc1 = rls.C0,rls.C0
40
local rs,ls = rrs:Clone(),rls:Clone()
41
rs.Name,ls.Name = "rs","ls"
42
rs.DesiredAngle,rs.CurrentAngle = 0,0
43
ls.DesiredAngle,ls.CurrentAngle = 0,0
44
local model = Instance.new("Model",char)
45
pcall(function() char.bModel:Destroy() end)
46
model.Name = "bModel"
47
local part = Instance.new("Part")
48
part.Material = "SmoothPlastic"
49
part.BrickColor = BrickColor.new("Really black")
50
part.Reflectance = 0.15
51
part.FormFactor = "Custom"
52
part.TopSurface = "SmoothNoOutlines"
53
part.BottomSurface = "SmoothNoOutlines"
54
part.RightSurface = "SmoothNoOutlines"
55
part.LeftSurface = "SmoothNoOutlines"
56
part.TopSurface,part.BottomSurface = 0,0
57
part.Size = Vector3.new(.2,.2,.2)
58
part:BreakJoints()
59
part.CanCollide = false
60
function clone(t)
61
local p = t:Clone()
62
p.Parent = t.Parent or model
63
return p
64
end
65
local han = clone(part)
66
han.Size = Vector3.new(.3,.5,.3)
67
han.Transparency = 1
68
local hold = weld(la,han,CFrame.new(0,-1,0) * CFrame.Angles(math.rad(-90),math.rad(23),0),CFrame.new())
69
for i=1,14 do
70
local gr = clone(part)
71
gr.BrickColor = BrickColor.new("Silver")
72
gr.Size = Vector3.new(.3,.2,.3)
73
local m = Instance.new("SpecialMesh",gr)
74
m.MeshType = "Sphere"
75
m.Scale = Vector3.new(1,.75,1) * math.max(.85,math.abs(i-7)/5)
76
weld(han,gr,CFrame.new(0,-.6+i*.085,0) * CFrame.Angles(math.rad(15),math.rad(0),math.rad(23)),CFrame.new())
77
end
78
local p = clone(part)
79
p.Size = Vector3.new(.45,.2,.32)
80
local m = Instance.new("BlockMesh",p)
81
m.Scale = Vector3.new(1,.5,1)
82
weld(han,p,CFrame.new(0,-.62,.125) * CFrame.Angles(math.rad(10),0,0))
83
local p = clone(part)
84
p.Size = Vector3.new(.45,.2,.3)
85
local m = Instance.new("BlockMesh",p)
86
m.Scale = Vector3.new(1,.5,1)
87
weld(han,p,CFrame.new(0,-.62,-.125) * CFrame.Angles(math.rad(-10),0,0))
88
local b1 = clone(part)
89
b1.Size = Vector3.new(.2,1,.3)
90
local m = Instance.new("BlockMesh",b1)
91
m.Scale = Vector3.new(1,1,1)
92
local bw1 = weld(han,b1,CFrame.new(0,-.6,0) * CFrame.Angles(math.rad(-10),0,0),CFrame.new(0,.5,0))
93
local b2 = clone(part)
94
b2.Size = Vector3.new(.2,1,.25)
95
local m = Instance.new("BlockMesh",b2)
96
m.Scale = Vector3.new(.9,1,1)
97
local bw2 = weld(b1,b2,CFrame.new(0,-.5,-.15) * CFrame.Angles(math.rad(-25),0,0),CFrame.new(0,.5,-.125))
98
local b3 = clone(part)
99
b3.Size = Vector3.new(.2,1,.2)
100
local m = Instance.new("BlockMesh",b3)
101
m.Scale = Vector3.new(.75,1,1)
102
local bw3 = weld(b2,b3,CFrame.new(0,-.5,-.125) * CFrame.Angles(math.rad(-25),0,0),CFrame.new(0,.5,-.1))
103
local bt = clone(part)
104
bt.BrickColor = BrickColor.new("Black")
105
bt.Size = Vector3.new(.2,.3,.2)
106
local m = Instance.new("BlockMesh",bt)
107
m.Scale = Vector3.new(.5,1,1) * .5
108
local btw = weld(b3,bt,CFrame.new(0,-.5,.1) * CFrame.Angles(math.rad(-25),0,0),CFrame.new(0,0,.05))
109
local p = clone(part)
110
p.Size = Vector3.new(.45,.2,.32)
111
local m = Instance.new("BlockMesh",p)
112
m.Scale = Vector3.new(1,.5,1)
113
weld(han,p,CFrame.new(0,.67,.125) * CFrame.Angles(math.rad(15),0,0))
114
local p = clone(part)
115
p.Size = Vector3.new(.45,.2,.3)
116
local m = Instance.new("BlockMesh",p)
117
m.Scale = Vector3.new(1,.5,1)
118
weld(han,p,CFrame.new(0,.67,-.125) * CFrame.Angles(math.rad(-15),0,0))
119
local p = clone(part)
120
p.Size = Vector3.new(.4,.2,.3)
121
local m = Instance.new("BlockMesh",p)
122
m.Scale = Vector3.new(1,.5,1)
123
weld(han,p,CFrame.new(0,.75,0) * CFrame.Angles(math.rad(0),0,0))
124
local p = clone(part)
125
p.Size = Vector3.new(.2,.3,.35)
126
local m = Instance.new("BlockMesh",p)
127
m.Scale = Vector3.new(1,1,1)
128
weld(han,p,CFrame.new(-.1,.8,0) * CFrame.Angles(math.rad(0),0,0))
129
local p = clone(part)
130
p.Size = Vector3.new(.45,.2,.32)
131
local m = Instance.new("BlockMesh",p)
132
m.Scale = Vector3.new(1,.5,1)
133
weld(han,p,CFrame.new(0,1,.125) * CFrame.Angles(math.rad(-5),0,0))
134
local p = clone(part)
135
p.Size = Vector3.new(.45,.2,.25)
136
local m = Instance.new("BlockMesh",p)
137
m.Scale = Vector3.new(1,.5,1)
138
weld(han,p,CFrame.new(0,1,-.125) * CFrame.Angles(math.rad(5),0,0))
139
local t1 = clone(part)
140
t1.Size = Vector3.new(.2,1,.3)
141
local m = Instance.new("BlockMesh",t1)
142
m.Scale = Vector3.new(1,1,1)
143
local tw1 = weld(han,t1,CFrame.new(0,.975,0) * CFrame.Angles(math.rad(10),0,0),CFrame.new(0,-.5,0))
144
local t2 = clone(part)
145
t2.Size = Vector3.new(.2,1,.25)
146
local m = Instance.new("BlockMesh",t2)
147
m.Scale = Vector3.new(.9,1,1)
148
local tw2 = weld(t1,t2,CFrame.new(0,.5,-.15) * CFrame.Angles(math.rad(25),0,0),CFrame.new(0,-.5,-.125))
149
local t3 = clone(part)
150
t3.Size = Vector3.new(.2,1,.2)
151
local m = Instance.new("BlockMesh",t3)
152
m.Scale = Vector3.new(.75,1,1)
153
local tw3 = weld(t2,t3,CFrame.new(0,.5,-.125) * CFrame.Angles(math.rad(25),0,0),CFrame.new(0,-.5,-.1))
154
local tt = clone(part)
155
tt.BrickColor = BrickColor.new("Black")
156
tt.Size = Vector3.new(.2,.3,.2)
157
local m = Instance.new("BlockMesh",tt)
158
m.Scale = Vector3.new(.5,1,1) * .5
159
local ttw = weld(t3,tt,CFrame.new(0,.5,.1) * CFrame.Angles(math.rad(25),0,0),CFrame.new(0,0,.05))
160
local W = {bw1,bw2,bw3,tw1,tw2,tw3}
161
local W0 = {bw1.C0,bw2.C0,bw3.C0,tw1.C0,tw2.C0,tw3.C0}
162
local l1 = clone(part)
163
l1.BrickColor = BrickColor.new("Light reddish violet")
164
l1.Size = Vector3.new(.2,.2,.2)
165
local m = Instance.new("CylinderMesh",l1)
166
local l1w = weld(bt,l1)
167
local l2 = clone(l1)
168
local l2w = weld(tt,l2)
169
local amodel = Instance.new("Model")
170
local arrow = clone(part)
171
arrow.Parent = amodel
172
arrow.BrickColor = BrickColor.new("Brown")
173
arrow.Size = Vector3.new(.2,3,.2)
174
arrow.Name = "main"
175
local m = Instance.new("CylinderMesh",arrow)
176
m.Scale = Vector3.new(.5,1,.5)
177
local arrw = weld(han,arrow)
178
local tip = clone(part)
179
tip.Parent = amodel
180
tip.BrickColor = BrickColor.new("Cool yellow")
181
tip.Size = Vector3.new(.2,.4,.2)
182
tip.Name = "tip"
183
local m = Instance.new("SpecialMesh",tip)
184
m.MeshId = "rbxassetid://1033714"
185
m.Scale = Vector3.new(.1,.45,.1)
186
weld(arrow,tip,CFrame.new(0,1.6,0))
187
local walkspeed = 16
188
local hpos_i = CFrame.new(0,.8,1.3)
189
local hpos_l = CFrame.new(0,.8,1.55)
190
local hpos = hpos_i
191
local keeper = Vector3.new(0.07,0.82,0)
192
mouse.Button1Up:connect(function()
193
mup = true
194
end)
195
function ragJoint(hit,r,d)
196
Spawn(oc(function()
197
d = d or 0
198
local rpar,r0,r1 = r.Parent,r.Part0,r.Part1
199
if d > 0 then wait(d) end
200
local p = hit:Clone()
201
p:BreakJoints()
202
p:ClearAllChildren()
203
p.FormFactor = "Custom"
204
p.Size = p.Size/2
205
p.Transparency = 1
206
p.CanCollide = true
207
p.Name = "Colliduh"
208
p.Parent = hit
209
local w = Instance.new("Weld",p)
210
w.Part0 = hit
211
w.Part1 = p
212
w.C0 = CFrame.new(0,-p.Size.Y/2,0)
213
local rot = Instance.new("Rotate",rpar)
214
rot.Name = r.Name
215
rot.Part0 = r0
216
rot.Part1 = r1
217
rot.C0 = r.C0
218
rot.C1 = r.C1
219
r0.Velocity = Vector3.new()
220
r1.Velocity = Vector3.new()
221
r:Destroy()
222
end))
223
end
224
function playSound(id,parent,volume,pitch)
225
local sound = Instance.new("Sound",parent or workspace)
226
sound.SoundId = "http://www.roblox.com/asset?id="..id
227
sound.Volume = volume or 1
228
sound.Pitch = pitch or 1
229
coroutine.wrap(function()
230
wait()
231
sound:Play()
232
wait(10)
233
sound:Stop()
234
sound:Destroy()
235
end)()
236
return sound
237
end
238
function ShootArrow(a,to,spd)
239
playSound(154961548,x,1,1)
240
Spawn(oc(function()
241
local from = a.main.CFrame
242
a:Destroy()
243
local a = amodel:Clone()
244
for i,v in pairs(a:GetChildren()) do
245
if v:IsA("BasePart") then
246
v.Anchored = true
247
end
248
end
249
a:MakeJoints()
250
a.Parent = workspace
251
local m = a.main
252
--local from = m.CFrame
253
local t = {}
254
local function move(cf)
255
for i,v in pairs(a:GetChildren()) do
256
if v ~= m and v:IsA("BasePart") then
257
t[v] = t[v] or m.CFrame:toObjectSpace(v.CFrame)
258
v.CFrame = cf * t[v]
259
end
260
end
261
m.CFrame = cf
262
end
263
move(from)
264
local velocity = (to.p-from.p).unit * spd * 500
265
local con
266
local t = tick()
267
con = game:GetService("RunService").Stepped:connect(function()
268
if tick()-t > 25 then
269
con:disconnect()
270
a:Destroy()
271
return
272
end
273
velocity = velocity - Vector3.new(0,196.2/30,0)
274
local newcf = clerp(m.CFrame,CFrame.new(m.Position,m.Position+velocity) * CFrame.Angles(-math.pi/2,0,0),.5) + velocity / 30
275
local hit,ray
276
local rayo = Ray.new(m.Position,newcf.p-m.Position)
277
local ign = {a,char}
278
repeat
279
hit,ray = workspace:FindPartOnRayWithIgnoreList(rayo,ign)
280
if not hit then break end
281
if hit.CanCollide or game:GetService("Players"):GetPlayerFromCharacter(hit.Parent) then
282
playSound(154961566,x,1,1)
283
break
284
else
285
table.insert(ign,hit)
286
hit = nil
287
end
288
until false
289
if hit then
290
move(newcf-newcf.p+ray)
291
con:disconnect()
292
game:GetService("Debris"):AddItem(a,300)
293
local char = hit.Parent
294
if not hit.Anchored then
295
local b = hit.CFrame:toObjectSpace(m.CFrame)
296
for i,v in pairs(a:GetChildren()) do
297
pcall(function() v.Anchored = false v.CanCollide = true end)
298
end
299
weld(hit,m,b)
300
end
301
if game:service'Players':GetPlayerFromCharacter(char) and char:FindFirstChild("Torso") then
302
if hit.Name:match("Arm") then
303
local r = char.Torso:FindFirstChild(hit.Name:gsub("Arm","Shoulder"):gsub("Leg","Hip"))
304
if r then
305
ragJoint(hit,r)
306
end
307
elseif hit.Name:match("Head") then
308
for i,v in pairs(char:GetChildren()) do
309
local r = char.Torso:FindFirstChild(v.Name:gsub("Arm","Shoulder"):gsub("Leg","Hip"))
310
if v:IsA("BasePart") and r then
311
ragJoint(v,r,.1)
312
elseif v:IsA("Humanoid") then
313
v.PlatformStand = true
314
v.Changed:connect(function()
315
v.PlatformStand = true
316
end)
317
end
318
end
319
Delay(8,function()
320
char:BreakJoints()
321
end)
322
end
323
end
324
return
325
else
326
move(newcf)
327
end
328
end)
329
end))
330
end
331
mouse.Button1Down:connect(oc(function()
332
playSound(154961529,x,1,1)
333
if mb then return end
334
mb = true
335
mup = false
336
rls.Part0,rls.Part1 = nil,nil
337
ls.Part0,ls.Part1 = tor,la
338
ls.Parent = tor
339
ls.C0 = ls.C0 * CFrame.Angles(0,0,rls.CurrentAngle)
340
rrs.Part0,rrs.Part1 = nil,nil
341
rs.Part0,rs.Part1 = tor,ra
342
rs.Parent = tor
343
rs.C0 = rs.C0 * CFrame.Angles(0,0,rrs.CurrentAngle)
344
local hc0 = hold.C0
345
local bg = Instance.new("BodyGyro",tor)
346
bg.maxTorque = Vector3.new(1,1,1)*9e7
347
local ltar = 0
348
local rtar = rrs.C0 * CFrame.Angles(0,0,math.rad(90)) * CFrame.Angles(math.rad(70),0,0) + Vector3.new(-.65,.25,-.25)
349
local ntar = nk0 * CFrame.Angles(0,0,math.rad(70))
350
local htar = hc0 * CFrame.Angles(0,math.rad(10),0)
351
local t = tick()
352
local iam = 0
353
local ham = .3
354
local lend = false
355
local ended
356
local arr = amodel:Clone()
357
arr.Parent = model
358
arr:MakeJoints()
359
hum.WalkSpeed = walkspeed/1.5
360
local aw = weld(ra,arr.main,CFrame.new(0,-1,0)*CFrame.Angles(-math.pi/2,0,0),CFrame.new(0,-1.5,0))
361
func = function()
362
local a = (mouse.Hit.p-tor.CFrame:toWorldSpace(ls.C0).p).unit
363
bg.cframe = CFrame.new(tor.Position,mouse.Hit.p*Vector3.new(1,0,1)+tor.Position*Vector3.new(0,1,0)) * CFrame.Angles(0,math.rad(-75),0)
364
local b = math.min(.7,math.max(-.7,a.Y))
365
ls.C0 = clerp(ls.C0,rls.C0 * CFrame.Angles(math.rad(-90),math.rad(90),math.rad(b*-90)) * CFrame.Angles(math.rad(40),math.rad(0),0) + Vector3.new(math.abs(b)*0,-.25,-.6),.3)
366
local c = tor.CFrame:toObjectSpace(han.CFrame*hpos) * CFrame.new(0,0,0)
367
local d = Vector3.new(1,.6,0)
368
rs.C1 = CFrame.new()
369
rs.C0 = clerp(rs.C0,CFrame.new(d,c.p) * CFrame.new(0,0,-(c.p-d).magnitude+.95) * CFrame.Angles(math.pi/2,math.pi/2,0),.3)
370
nk.C0 = clerp(nk.C0,ntar * CFrame.Angles(math.rad(math.floor(b*-90)),0,0),.3)
371
hold.C0 = clerp(hold.C0,htar,.3)
372
for i,v in pairs(W) do
373
-- v.C0 = clerp(v.C0,W0[i] * CFrame.Angles((not mup and (i>3 and 1 or -1)*iam or 0)*.1,0,0),.6)
374
v.C0 = clerp(v.C0,W0[i] * CFrame.Angles((not mup and (i>3 and 1 or -1)*iam or 0)*.1,0,0),.6)
375
end
376
if not mup then
377
hpos = clerp(hpos,hpos_l * CFrame.new(0,0,iam),.2)
378
if aw then aw.C0 = CFrame.new(Vector3.new(0,-1,0),ra.CFrame:toObjectSpace(han.CFrame*CFrame.new(keeper)).p) * CFrame.Angles(-math.pi/2,0,0) end
379
if tick()-t > .5 and iam < 1 then
380
iam = iam + math.max(0.003,.03-(tick()-t-.5)/70)
381
ham = iam
382
if aw then
383
aw:Destroy()
384
arrw.Parent = han
385
arrw.Part0 = han
386
arrw.Part1 = arr.main
387
aw = nil
388
end
389
end
390
else
391
hpos = clerp(hpos,hpos_l,ham/math.max(0.01,(hpos.p-hpos_l.p).magnitude))
392
ham = ham * .7
393
if not ended then
394
ended = true
395
if iam > 0 then
396
arrw.Part1 = nil
397
ShootArrow(arr,mouse.Hit,iam)
398
iam = iam + .2 
399
wait(.5)
400
lend = true
401
else
402
wait(.1)
403
arr:Destroy()
404
lend = true
405
end
406
end
407
end
408
end
409
repeat wait() until lend or tick()-t > 45
410
mup = nil
411
func = nil
412
hum.WalkSpeed = walkspeed
413
ls.Part0,ls.Part1 = nil,nil
414
ls.Parent = nil
415
rls.Part0,rls.Part1 = tor,la
416
ls.C0 = rls.C0
417
rs.Part0,rs.Part1 = nil,nil
418
rs.Parent = nil
419
rrs.Part0,rrs.Part1 = tor,ra
420
rs.C0 = rrs.C0
421
nk.C0 = nk0
422
bg:Destroy()
423
hold.C0 = hc0
424
hpos = hpos_i
425
mb = false
426
end))
427
rcon = game:GetService("RunService").Stepped:connect(oc(function()
428
if not model:IsDescendantOf(workspace) then rcon:disconnect() error() return end
429
--local tc = bt.CFrame:toObjectSpace(tt.CFrame)
430
--local bc = tt.CFrame:toObjectSpace(bt.CFrame)
431
local bm = bt.CFrame:toObjectSpace(han.CFrame*hpos)
432
local tm = tt.CFrame:toObjectSpace(han.CFrame*hpos)
433
l1w.C0 = CFrame.new(bm.p/2,bm.p) * CFrame.Angles(math.pi/2,0,0)
434
l1.Mesh.Scale = Vector3.new(.2,bm.p.magnitude*5,.2)
435
l2w.C0 = CFrame.new(tm.p/2,tm.p) * CFrame.Angles(math.pi/2,0,0)
436
l2.Mesh.Scale = Vector3.new(.2,tm.p.magnitude*5,.2)
437
arrw.C0 = CFrame.new(hpos.p,keeper)*CFrame.new(0,0,-arrow.Size.Y/2) * CFrame.Angles(-math.pi/2,0,0)
438
if func then
439
func()
440
end
441
end))