View difference between Paste ID: bfhsZpHp and WWNV9DUL
SHOW: | | - or go back to the newest paste.
1-
-Script Made By LOSTDATA_01001001  -Dont Put This In The Script-
1+
2
v3 = Vector3.new
3
cn = CFrame.new
4
ca2 = CFrame.Angles
5
mf = math.floor
6
mran = math.random
7
mrad = math.rad
8
mdeg = math.deg
9
ca = function(x,y,z) return ca2(mrad(x),mrad(y),mrad(z)) end 
10
v32=function(x,y,z) return v3(mdeg(x),mdeg(y),mdeg(z)) end
11
mran2 = function(a,b) return mran(a*1000,b*1000)/1000 end 
12
ud=UDim2.new
13
bn = BrickColor.new
14
c3 = Color3.new
15
nov3=v3(0,0,0)
16
maxv3=v3(1,1,1)/0
17
-----
18
Player = game:service'Players'.LocalPlayer
19
Char = Player.Character
20
Torso = Char.Torso
21
Head = Char.Head
22
Humanoid = Char.Humanoid
23
Root=Char.HumanoidRootPart.RootJoint
24
 
25
LA=Char['Left Arm']
26
RA=Char['Right Arm']
27
LL=Char['Left Leg']
28
RL=Char['Right Leg']
29
LAM=Torso:findFirstChild'Left Shoulder' or _G.LAM
30
RAM=Torso:findFirstChild'Right Shoulder' or _G.RAM
31
LLM=Torso:findFirstChild'Left Hip' or _G.LLM
32
RLM=Torso:findFirstChild'Right Hip' or _G.RLM
33
Neck=Torso.Neck
34
Neck.C0=cn(0,1.5,0)
35
Neck.C1=cn(0,0,0)
36
_G.LAM=LAM _G.RAM=RAM _G.LLM=LLM _G.RLM=RLM 
37
 
38
 
39
as,so={},{'metal','Block','Slash','Slash2','Hit','Kick'}
40
as.corner='11294911'
41
as.cone='1033714'
42
as.ring="3270017"
43
as.Chakram='47260990'
44
as.ring2='18430887'
45
as.blast='20329976'
46
as.missile='10207677'
47
as.fire='2693346'
48
as.boom='3264793'
49
as.slash='10209645'
50
as.abscond='2767090'
51
as.firelaser='13775494'
52
as.diamond='9756362'
53
as.metal='rbxasset://sounds\\unsheath.wav'
54
as.Block = 'rbxasset://sounds\\metal.ogg'
55
as.Slash = '10209645'
56
as.Slash2 = '46760716'
57
as.Hit='10209583'
58
as.Kick='46153268'
59
as.cast='2101137'
60
 
61
 
62
for i,v in pairs(as) do 
63
if type(tonumber(v:sub(1,3)))=="number" then
64
as[i]="http://www.roblox.com/asset/?id="..v
65
end
66
end
67
 
68
game:service"ControllerService":ClearAllChildren()
69
Controls=Instance.new("HumanoidController",game:service"ControllerService")
70
 
71
 
72
LastMade=nil
73
iNew=function(tab)
74
local v=Instance.new(tab[1])
75
for Ind,Val in pairs(tab) do
76
if Ind~=1 and Ind~=2 then 
77
v[Ind] = Val
78
end
79
end
80
v.Parent=tab[2]==0 and LastMade or tab[2]
81
LastMade=v
82
return v
83
end
84
iPart=function(tab)
85
local v=Instance.new(tab.type or 'Part')
86
if tab.type~='CornerWedgePart' then v.formFactor='Custom' end
87
v.TopSurface=0 v.BottomSurface=0
88
if tab.sc then
89
v.Size=v3(tab[2]*tab.sc,tab[3]*tab.sc,tab[4]*tab.sc)
90
else
91
v.Size=v3(tab[2],tab[3],tab[4])
92
end
93
if tab.co then v.BrickColor=bn(tab.co) end
94
if tab.tr then v.Transparency=tab.tr end
95
if tab.rf then v.Reflectance=tab.rf end
96
v.CanCollide=false --if tab.can then v.CanCollide=tab.can end
97
if tab.cf then v.CFrame=tab.cf end
98
if tab.an then v.Anchored=tab.an end
99
if tab.na then v.Name=tab.na end
100
if tab.ma then v.Material=tab.ma end
101
v.Parent=tab[1]
102
v:BreakJoints()
103
LastMade=v
104
return v
105
end
106
ray = function(Pos, Dir,tab,length) -- ray cast
107
return workspace:FindPartOnRay(Ray.new(Pos, Dir.unit *(length or 999)),tab) 
108
end 
109
function getoutline(x,z,i)
110
 return math.sqrt(x^2+z^2)+(i or 0.05),mdeg(math.atan2(x,z))
111
end
112
function v3a(cf)
113
local x,y,z=cf:toEulerAnglesXYZ()
114
return v3(mdeg(x),mdeg(y),mdeg(z))
115
end
116
function TweenV3(i, loops,origpos,nextpos,smooth) 
117
    loops=math.floor(loops)
118
    smooth = smooth or 1   
119
    local tox2,toy2,toz2 = 0,0,0 
120
    local perc =smooth==1 and math.sin((math.pi/2)/loops*i) or i/loops 
121
    tox2= origpos.x > nextpos.x  and -math.abs(origpos.x - nextpos.x) *perc or math.abs(origpos.x - nextpos.x) *perc 
122
    toy2= origpos.y > nextpos.y  and -math.abs(origpos.y - nextpos.y) *perc or math.abs(origpos.y - nextpos.y) *perc
123
    toz2= origpos.z > nextpos.z  and -math.abs(origpos.z - nextpos.z) *perc or math.abs(origpos.z - nextpos.z) *perc 
124
    return v3(origpos.x + tox2,origpos.y + toy2,origpos.z + toz2)
125
end 
126
function TweenCF(i, loops,origpos,nextpos,smooth) 
127
    loops=math.floor(loops)
128
    smooth = smooth or 1   
129
        local x0,y0,z0=origpos:toEulerAnglesXYZ() 
130
        local x1,y1,z1=nextpos:toEulerAnglesXYZ()
131
    origangle=v32(x0,y0,z0) 
132
    nextangle=v32(x1,y1,z1)
133
    local perc =smooth==1 and math.sin((math.pi/2)/loops*i) or i/loops 
134
    local tox,toy,toz = 0,0,0 
135
    tox = origangle.x > nextangle.x and -math.abs(origangle.x - nextangle.x) *perc or math.abs(origangle.x - nextangle.x) *perc 
136
    toy = origangle.y > nextangle.y and -math.abs(origangle.y - nextangle.y) *perc or math.abs(origangle.y - nextangle.y) *perc 
137
    toz = origangle.z > nextangle.z and -math.abs(origangle.z - nextangle.z) *perc or math.abs(origangle.z - nextangle.z) *perc 
138
    local tox2,toy2,toz2 = 0,0,0 
139
    tox2= origpos.x > nextpos.x  and -math.abs(origpos.x - nextpos.x) *perc or math.abs(origpos.x - nextpos.x) *perc 
140
    toy2= origpos.y > nextpos.y  and -math.abs(origpos.y - nextpos.y) *perc or math.abs(origpos.y - nextpos.y) *perc
141
    toz2= origpos.z > nextpos.z  and -math.abs(origpos.z - nextpos.z) *perc or math.abs(origpos.z - nextpos.z) *perc 
142
    return cn(origpos.x + tox2,origpos.y + toy2,origpos.z + toz2)*ca(origangle.x + tox,origangle.y + toy,origangle.z + toz) 
143
end 
144
WeldLib={}
145
function GetWeld(weld,CO) 
146
    if not WeldLib[weld] then 
147
        local x0,y0,z0=weld.C0:toEulerAnglesXYZ()
148
        local x1,y1,z1=weld.C1:toEulerAnglesXYZ()
149
        WeldLib[weld]={[0]=v3(mdeg(x0),mdeg(y0),mdeg(z0)),[1]=v3(mdeg(x1),mdeg(y1),mdeg(z1))}
150
    end  
151
    return weld['C'..CO].p,WeldLib[weld][CO]
152
end 
153
function ClearWeld(weld)
154
if WeldLib[weld] then WeldLib[weld]=nil end 
155
end
156
function SetWeld(weld,CO,i, loops, origpos,origangle, nextpos,nextangle,smooth) 
157
    loops=math.floor(loops)
158
    smooth = smooth or 1 
159
    if not WeldLib[weld] then 
160
        local x0,y0,z0=weld.C0:toEulerAnglesXYZ()
161
        local x1,y1,z1=weld.C1:toEulerAnglesXYZ()
162
        WeldLib[weld]={[0]=v3(mdeg(x0),mdeg(y0),mdeg(z0)),[1]=v3(mdeg(x1),mdeg(y1),mdeg(z1))}
163
    end  
164
    local perc =smooth==1 and math.sin((math.pi/2)/loops*i) or i/loops 
165
    --print(weld.Part1)
166
    local tox,toy,toz = 0,0,0 
167
    tox = origangle.x > nextangle.x and -math.abs(origangle.x - nextangle.x) *perc or math.abs(origangle.x - nextangle.x) *perc 
168
    toy = origangle.y > nextangle.y and -math.abs(origangle.y - nextangle.y) *perc or math.abs(origangle.y - nextangle.y) *perc 
169
    toz = origangle.z > nextangle.z and -math.abs(origangle.z - nextangle.z) *perc or math.abs(origangle.z - nextangle.z) *perc 
170
    local tox2,toy2,toz2 = 0,0,0 
171
    tox2= origpos.x > nextpos.x  and -math.abs(origpos.x - nextpos.x) *perc or math.abs(origpos.x - nextpos.x) *perc 
172
    toy2= origpos.y > nextpos.y  and -math.abs(origpos.y - nextpos.y) *perc or math.abs(origpos.y - nextpos.y) *perc
173
    toz2= origpos.z > nextpos.z  and -math.abs(origpos.z - nextpos.z) *perc or math.abs(origpos.z - nextpos.z) *perc 
174
    WeldLib[weld][CO] = v3(origangle.x + tox,origangle.y + toy,origangle.z + toz)
175
    weld['C'..CO] = cn(origpos.x + tox2,origpos.y + toy2,origpos.z + toz2)*ca(origangle.x + tox,origangle.y + toy,origangle.z + toz) 
176
end 
177
function FindSurface(part, position) 
178
local obj = part.CFrame:pointToObjectSpace(position) 
179
local siz = part.Size/2 
180
for i,v in pairs(Enum.NormalId:GetEnumItems()) do 
181
local vec = Vector3.FromNormalId(v) 
182
local wvec = part.CFrame:vectorToWorldSpace(vec) 
183
local vz = (obj)/(siz*vec) 
184
if (math.abs(vz.X-1) < 0.01 or math.abs(vz.Y-1) < 0.01 or math.abs(vz.Z-1) < 0.01) then
185
return wvec,vec 
186
end 
187
end 
188
if part.className == "WedgePart" then 
189
return part.CFrame:vectorToWorldSpace(Vector3.new(0,0.707,-0.707)), Vector3.new(0,0.707,-0.707) 
190
end 
191
end
192
LoopFunctions={}
193
function DoLoop(times,func)
194
LoopFunctions[#LoopFunctions+1]={times,0,func}
195
end
196
pcall(function() Torso.LAW:Remove() Torso.RAW:Remove() Torso.LLW:Remove() Torso.RLW:Remove() end)
197
LAW=iNew{'Weld',Torso,Name='LAW',Part0=Torso,C0=cn(-1.5,0.5,0),C1=cn(0,0.5,0)}
198
RAW=iNew{'Weld',Torso,Name='RAW',Part0=Torso,C0=cn( 1.5,0.5,0),C1=cn(0,0.5,0)}
199
LLW=iNew{'Weld',Torso,Name='LLW',Part0=Torso,C0=cn(-0.5, -1,0),C1=cn(0,  1,0)}
200
RLW=iNew{'Weld',Torso,Name='RLW',Part0=Torso,C0=cn( 0.5, -1,0),C1=cn(0,  1,0)}
201
function Arms(on)
202
 LAM.Parent=Torso LAM.Part0=Torso
203
 RAM.Parent=Torso RAM.Part0=Torso
204
 LAM.Part1=on and nil or LA
205
 RAM.Part1=on and nil or RA
206
 LAW.Part1=on and LA  or nil
207
 RAW.Part1=on and RA  or nil
208
end
209
function Legs(on)
210
 LLM.Part1=on and nil or LL
211
 RLM.Part1=on and nil or RL
212
 LLW.Part1=on and LL  or nil
213
 RLW.Part1=on and RL  or nil
214
end
215
 
216
_G.MGear=getfenv()
217
pcall(function() _G.MGearS.Disabled=true end)
218
_G.MGearS=script
219
 
220
pcall(function() Char.Gear:Remove() end)
221
Gear=iNew{'Model',Char,Name='Gear'}
222
Gt={[-1]={},[1]={}}
223
for x=-1,1,2 do 
224
local base=iPart{Gear,0.6,3,0.8} iNew{'Weld',LastMade,Part0=x==-1 and LL or RL,Part1=LastMade,C0=cn(0.8*x,0.05,0.45)*ca(-80,0,6*x)}
225
local v=iPart{Gear,0.5,2.5,0.5,co='Light stone grey'} iNew{'Weld',v,Part0=base,Part1=v,C0=cn(0,-0.24,0.6)} iNew{'CylinderMesh',v}
226
local v=iPart{Gear,0.5,0.5,0.5,co='Light stone grey'} iNew{'Weld',v,Part0=base,Part1=v,C0=cn(0,1.01,0.6)} iNew{'SpecialMesh',v,MeshType='Sphere'}
227
for z=-1.2,0.81,1 do 
228
local v=iPart{Gear,0.65,0.22,1.35,co='Dark stone grey'} iNew{'Weld',v,Part0=base,Part1=v,C0=cn(0,z,0.22)}
229
end
230
local v=iPart{Gear,0.25,0.5,0.25,co='Dark stone grey'} iNew{'Weld',v,Part0=base,Part1=v,C0=cn(0,1.25,0.6)*ca(0,0,90)} iNew{'CylinderMesh',v}
231
local v=iPart{Gear,0.3,0.3,0.3,co='Black'} iNew{'Weld',v,Part0=base,Part1=v,C0=cn(0,1.25,0.6)*ca(0,0,90)} iNew{'CylinderMesh',v}
232
local st,en=-0.3,0.3 local co=(st*-1+en)/4
233
for xx=st,en,co do --sheath holes
234
local v=iPart{Gear,0.2,0.2,0.7,co='Really black'} iNew{'Weld',v,Part0=base,Part1=v,C0=cn(xx+co/2,1.5,0)} iNew{'BlockMesh',v,Scale=v3(0.4,0.1,1)}
235
end
236
local v=iPart{Gear,0.75,0.2,0.75} iNew{'Weld',v,Part0=Torso,Part1=v,C0=cn(0.6*x,-0.65,1.1)*ca(45,0,-45*x)} iNew{'CylinderMesh',v}
237
local v=iPart{Gear,0.6,0.22,0.6,co='Dark stone grey'} iNew{'Weld',v,Part0=Torso,Part1=v,C0=cn(0.6*x,-0.65,1.1)*ca(45,0,-45*x)} iNew{'CylinderMesh',v}
238
local v2=iPart{Gear,0.2,0.2,0.2} iNew{'Weld',v2,Part0=v,Part1=v2,C0=cn(0,-0.35,0)*ca(180,0,0)} iNew{'SpecialMesh',v2,Scale=v3(0.3,0.65,0.3),MeshId=as.cone}
239
local v2=iPart{Gear,0.2,0.2,0.3} iNew{'Weld',v2,Part0=v,Part1=v2,C0=ca(0,200*x,0)*cn(0,0,-0.5)} 
240
--sword handle
241
local h=iPart{Gear,0.3,1.05,0.3} local hw=iNew{'Weld',h,Part0=x==-1 and LA or RA,Part1=h,C0=cn(0,-1,0)*ca(-90,0,0)} iNew{'CylinderMesh',h}
242
Gt[x].h=hw
243
local v=iPart{Gear,0.32,0.2,0.32,co='Black'} iNew{'Weld',v,Part0=h,Part1=v,C0=cn(0,-0.35,0)} iNew{'CylinderMesh',v}
244
local v=iPart{Gear,0.2,0.5,0.25} iNew{'Weld',v,Part0=h,Part1=v,C0=cn(0,0.25,-0.15)} 
245
local v=iPart{Gear,0.21,0.2,0.25,co='Black'} iNew{'Weld',v,Part0=h,Part1=v,C0=cn(0,0.25+0.12,-0.125)} 
246
local v=iPart{Gear,0.21,0.2,0.25,co='Black'} iNew{'Weld',v,Part0=h,Part1=v,C0=cn(0,0.25-0.12,-0.125)} 
247
local v=iPart{Gear,0.3,0.2,0.3} iNew{'Weld',v,Part0=h,Part1=v,C0=cn(0,0.6,0)} 
248
local v=iPart{Gear,0.3,0.2,0.3,type='WedgePart'} iNew{'Weld',v,Part0=h,Part1=v,C0=cn(0,0.6,-0.3)} 
249
local v=iPart{Gear,0.3,0.2,0.3,type='WedgePart'} iNew{'Weld',v,Part0=h,Part1=v,C0=cn(0,0.6, 0.3)*ca(180,0,0)} 
250
local v=iPart{Gear,0.2,0.5,0.2} iNew{'Weld',v,Part0=h,Part1=v,C0=cn(0, 0.3,-0.4)*ca( 14,0,0)} iNew{'CylinderMesh',v,Scale=v3(0.6,1,0.6)}
251
local v=iPart{Gear,0.2,0.2,0.2} iNew{'Weld',v,Part0=h,Part1=v,C0=cn(0,-0.25,-0.35)*ca(-20+180,0,0)} iNew{'SpecialMesh',v,MeshId=as.cone,Scale=v3(0.06,1,0.06)}
252
--sword blade
253
local bladelength=4
254
local blade=iPart{Gear,0.2,bladelength,0.4} iNew{'Weld',v,Part0=h,Part1=blade,C0=cn(0,0.7+bladelength/2,0.05)} iNew{'BlockMesh',blade,Scale=v3(0.4,1,1)}
255
local tip=iPart{Gear,0.2,0.5,0.4,type='WedgePart'} iNew{'Weld',v,Part0=blade,Part1=tip,C0=cn(0,bladelength/2+0.25,0)*ca(0,180,0)} iNew{'SpecialMesh',tip,MeshType='Wedge',Scale=v3(0.4,1,1)}
256
for i=-1.6,1.4,0.6 do 
257
local v=iPart{Gear,0.2,0,0.52,co='White'} iNew{'Weld',v,Part0=blade,Part1=v,C0=cn(0,i+0.1,0)*ca(40,0,0)} iNew{'BlockMesh',v,Scale=v3(0.42,0.3,1)}
258
end
259
 
260
 blade.Touched:connect(function(hit) 
261
    if debounce == false then
262
    debounce = true
263
    isPlayer = hit.Parent:FindFirstChild("Humanoid")
264
    if isPlayer then
265
        isPlayer:TakeDamage(10)
266
        wait(0.5)
267
    end
268
    debounce = false
269
    end
270
end)
271
end
272
--Middle
273
local v=iPart{Gear,0.2,0.2,0.2} iNew{'Weld',v,Part0=Torso,Part1=v,C0=cn(0,-1,1.1)*ca(90,0,0)} iNew{'SpecialMesh',v,Scale=v3(0.4,1.6,0.16),MeshId=as.cone}
274
Gas=iNew{'Smoke',v,Opacity=0.4,RiseVelocity=25,Size=3,Enabled=false}
275
local v=iPart{Gear,0.6,0.3,0.6} iNew{'Weld',v,Part0=Torso,Part1=v,C0=cn(0,-0.85,0.8)} iNew{'CylinderMesh',v}
276
local v=iPart{Gear,0.3,0.3,0.35,co='Dark stone grey',type='WedgePart'} iNew{'Weld',v,Part0=Torso,Part1=v,C0=cn(0,-0.9,1.2)*ca(0,180,0)} 
277
local belt=iPart{Gear,2.01,0.3,1.01,co='Black'} iNew{'Weld',belt,Part0=Torso,Part1=belt,C0=cn(0,-0.7,0)} 
278
for x=-1,1,2 do --continuesides
279
local of=iPart{Gear,0.3,1.2,0.3} iNew{'Weld',belt,Part0=belt,Part1=of,C0=cn(1.15*x,-0.1,0)*ca(-80,0,0)}
280
local v=iPart{Gear,0.3,1.2,0.3} iNew{'Weld',v,Part0=of,Part1=v,C0=cn(0,0,0.15)} iNew{'CylinderMesh',v}
281
local v=iPart{Gear,0.2,0.2,0.2,co='Really black'} iNew{'Weld',v,Part0=of,Part1=v,C0=cn(0,0.51,0.15)} iNew{'CylinderMesh',v}
282
Gt[x].grap=v
283
 
284
end
285
 
286
for i,v in pairs(Torso:children()) do 
287
if v:IsA'Sound' then v:Remove() end
288
end
289
for i,n in pairs(so) do  
290
if as[n] then 
291
local v=iNew{'Sound',Torso,Volume=0.5,Pitch=1,Looped=false,Name=n,SoundId=as[n]}
292
so[n]=v 
293
end
294
end
295
 
296
 
297
key={}
298
 
299
print(#Gear:children())
300
Root.C0=cn(0,0,0)*ca(0,0,0)
301
Root.C1=cn(0,0,0)*ca(0,0,0)
302
 
303
WalkAnim=0
304
Walking=false
305
WalkM=8
306
Humanoid.Running:connect(function(Walk)
307
Walking=Walk>20 and true or false
308
end)
309
 
310
--LL.Touched:connect(function() if Torso.Velocity.magnitude>30 then Torso.Velocity=nov3 end end)
311
--RL.Touched:connect(function() if Torso.Velocity.magnitude>30 then Torso.Velocity=nov3 end end)
312
_G.Torso=Torso
313
 
314
wait()
315
Arms(true)
316
Legs()
317
GetCurrent=function()
318
cLA,cLA2=GetWeld(LAW,0)
319
cRA,cRA2=GetWeld(RAW,0)
320
cLL,cLL2=GetWeld(LLW,0)
321
cRL,cRL2=GetWeld(RLW,0)
322
cRO,cRO2=GetWeld(Root,0)
323
cNE,cNE2=GetWeld(Neck,0)
324
end
325
ReturnAnim=function()
326
GetCurrent()
327
local ogt={[-1]={},[1]={}}
328
for x=-1,1,2 do ogt[x][1],ogt[x][2]=GetWeld(Gt[x].h,0) end
329
local walk=WalkAnim~=0
330
for x=1,ASpeed do 
331
    SetWeld(LAW,0,x,ASpeed,cLA,cLA2,OrigLA,walk and Walk1*WAPerc or OrigLA2,1) 
332
    SetWeld(RAW,0,x,ASpeed,cRA,cRA2,OrigRA,walk and Walk2*WAPerc or OrigRA2,1)
333
    if Hooks[-1] or Hooks[1] then else
334
    SetWeld(LLW,0,x,ASpeed,cLL,cLL2,OrigLL,OrigLL2,1) 
335
    SetWeld(RLW,0,x,ASpeed,cRL,cRL2,OrigRL,OrigRL2,1) end
336
    SetWeld(Root,0,x,ASpeed,cRO,cRO2,OrigRO,walk and Walk3*WAPerc or OrigRO2,1) 
337
    SetWeld(Neck,0,x,ASpeed,cNE,cNE2,OrigNE,walk and Walk4*WAPerc or OrigNE2,1) 
338
    for h=-1,1,2 do SetWeld(Gt[h].h,0,x,ASpeed,ogt[h][1],ogt[h][2],v3(0,-1,0),v3(-90,0,0),1)   end
339
wait()
340
end
341
end
342
 
343
SpecialAttack=function(TYPE)
344
if TYPE==1 then 
345
GetCurrent()
346
if Controls.Parent then Humanoid.Jump=true end
347
local legwas=LLW.Part1==LL and true or false
348
Legs(true)
349
for x=1,ASpeed/2 do 
350
    SetWeld(LAW,0,x,ASpeed/2,cLA,cLA2,OrigLA+v3(0,0.8,-0.2),v3(190,0, 10,1),1)
351
    SetWeld(RAW,0,x,ASpeed/2,cRA,cRA2,OrigRA+v3(0,0.8,-0.2),v3(190,0,-10,1),1)
352
    for h=-1,1,2 do SetWeld(Gt[h].h,0,x,ASpeed/2,v3(0,-1,0),v3(-90,0,0),v3(0,-1.25,0),v3(-135,0,0),1)   end
353
    SetWeld(LLW,0,x,ASpeed/2,cLL,cLL2,OrigLL+v3(0,0.6,-0.7),v3(-30,0,-10,1),1)
354
    SetWeld(RLW,0,x,ASpeed/2,cRL,cRL2,OrigRL+v3(0,0.6,-0.7),v3(-30,0,10,1),1)
355
    SetWeld(Root,0,x,ASpeed/2,cRO,cRO2,OrigRO,v3(90,0,0,1),1)
356
wait()
357
end
358
local spin,ii=360,3
359
for i=0,spin,spin/12 do 
360
ii=ii+1 if ii%4==0 then so.Slash:Play() end 
361
Root.C0=ca(90-i,0,0)
362
wait()
363
end
364
ClearWeld(Root)
365
ReturnAnim() Legs(legwas)
366
elseif TYPE==2 then 
367
end
368
end
369
 
370
pcall(function() Torso.BG:Remove() Torso.RP:Remove() end)
371
BG=iNew{'BodyGyro',Torso,Name='BG',maxTorque=nov3}
372
BP=iNew{'RocketPropulsion',Torso,Name='RP'}
373
local rocketprop=iPart{Gear,1,1,1,an=true,cf=cn(0,-100,0),tr=1}
374
rocketprop.CanCollide=false
375
BP.Target=rocketprop
376
BP.ThrustP=5
377
BP.MaxTorque=nov3 --v3(400000,400000,0)
378
BP.MaxThrust=4000
379
BP.MaxSpeed=30
380
--BP.CartoonFactor=1
381
BP.TurnP,BP.TurnD=0,0
382
BP.ThrustD=0.03 --BP.ThrustD*30
383
BP.ThrustP=BP.ThrustP/1.5
384
BP.TargetRadius=0
385
 
386
pcall(function() workspace.Camera.Inv:Remove() end)
387
Inv=iNew{'Model',workspace.Camera,Name='Inv'}
388
 
389
Hooks={}
390
HookP={[-1]={},[1]={}}
391
Hit=nil
392
Grapple={}
393
key={}
394
mouse=Player:GetMouse()
395
mouse.KeyDown:connect(function(k)
396
coroutine.resume(coroutine.create(function()
397
key[k]=true 
398
local gp={['q']=-1,['e']=1}
399
if k=='2' then 
400
elseif (k==' ') and Controls.Parent==nil then
401
if WallWalk then WallWalk=false return end 
402
WallWalk=false
403
Controls.Parent=game:service'ControllerService'
404
Humanoid.Sit=false
405
Legs(false)
406
OrigRO=v3(0,0,0)
407
Root.C0=cn(OrigRO)
408
---
409
elseif k=='0' and Controls.Parent==nil and not Gas.Enabled and not WallWalking then
410
local bv=iNew{'BodyVelocity',Torso}
411
Gas.Enabled=true
412
repeat
413
local ss=(Hooks[1] or Hooks[-1]) and 5000 or 2000
414
bv.maxForce=v3(ss,2000,ss)
415
bv.velocity=Torso.CFrame.lookVector*125
416
wait()
417
until not key[k] or Controls.Parent
418
Gas.Enabled=false
419
bv:Remove()
420
elseif (k=='q' or k=='e') and not Grapple[k] then
421
so.Slash:Play()
422
Grapple[k]=true
423
local x=gp[k]
424
local ob1=Gt[x].grap
425
local speed=26
426
local hook=iPart{Gear,1,1,1,co='Black',an=true,cf=cn(ob1.Position,mouse.Hit.p)*ca(-90,0,0)} iNew{'SpecialMesh',hook,Scale=v3(0.4,2,0.4),MeshId=as.cone}
427
local rope=iPart{Gear,1,1,1,co='Black',an=true,cf=cf} local ropem=iNew{'CylinderMesh',rope}
428
hook.CanCollide=false
429
rope.CanCollide=false
430
local con=game:GetService'RunService'.RenderStepped:connect(function()
431
local mag=(ob1.Position-hook.Position).magnitude
432
ropem.Scale=v3(0.2,mag,0.2)
433
rope.CFrame=cn(ob1.Position,hook.Position)*cn(0,0,-mag/2)*ca(90,0,0)
434
if not rope or not rope.Parent then con:disconnect() end
435
end)
436
for i=1,200 do 
437
if not key[k] then break end
438
local hit,pos=ray(hook.Position,hook.Position-hook.CFrame*cn(0,-speed,0).p,Char,speed+1)
439
if not hit then 
440
hook.CFrame=hook.CFrame*cn(0,speed,0)*ca(-0.1,0,0)
441
else
442
hook.CFrame=hook.CFrame*cn(0,(hook.Position-pos).magnitude,0)
443
end
444
local mag=(ob1.Position-hook.Position).magnitude
445
if hit and hit.Transparency<1 and hit.CanCollide then 
446
Hit=hit
447
HookP[x]={Hit,Hit.CFrame:toObjectSpace(hook.CFrame),pos}
448
so.Block:Play()
449
Hooks[x]=hook
450
Humanoid.Sit=true
451
Legs(true)
452
OrigRO=v3(0,1,0)
453
Root.C0=cn(OrigRO)
454
Controls.Parent=nil 
455
break
456
end
457
wait()
458
end
459
---
460
if Hit then 
461
--hook.Reflectance=0.1
462
end
463
repeat wait()
464
until not key[k] or Controls.Parent --relase
465
Hooks[x]=nil
466
hook:Remove()
467
rope:Remove()
468
Grapple[k]=false
469
elseif k=='f' and LegAnim=='None' and TorsoAnim=='None' and LegAnim=='None' then 
470
ArmAnim,LegAnim,TorsoAnim='','',''
471
SpecialAttack(1)
472
ArmAnim,LegAnim,TorsoAnim='None','None','None'
473
elseif k=='p' then 
474
local mpos=mouse.Hit.p
475
local wall=iPart{Char,1,1,1,an=true}
476
repeat 
477
local mag=(mpos-mouse.Hit.p).magnitude
478
wall.Size=v3(not key.l and 4 or 0.5,200,mag)
479
wall.CFrame=cn(mpos,mouse.Hit.p)*cn(0,100,-mag/2)
480
wait() until not key.p
481
local cf=wall.CFrame wall.Parent=workspace wall.CFrame=cf wall.CanCollide=true
482
elseif k=='l' then 
483
wotm8=wotm8 and wotm8+150 or 75
484
iPart{workspace,120,30,120,an=true,cf=cn(0,180,wotm8+100)*ca(0,mran(-40,40),0)}.CanCollide=true
485
iPart{workspace,146,4,120,an=true,cf=cn(0,1,wotm8+100)}.CanCollide=true
486
--elseif k=='w' and (not Hooks[-1] and not Hooks[1]) then 
487
--Humanoid.PlatformStand=false
488
end
489
end)) end)
490
mouse.KeyUp:connect(function(k)
491
coroutine.resume(coroutine.create(function()
492
key[k]=false
493
 
494
end)) end)
495
mouse.Button1Down:connect(function()
496
Button1=true
497
if ArmAnim=='None' then 
498
ArmAnim,TorsoAnim='Attack','Attack'
499
thesteerclick=thesteerclick==1 and -1 or 1
500
local y=thesteerclick
501
GetCurrent()
502
local ASpeed=ASpeed/1.5
503
for x=1,ASpeed do 
504
    SetWeld(LAW,0,x,ASpeed,cLA,cLA2,OrigLA,v3(0,-135*y,(-90-LookAngle/2)*y),1) 
505
    SetWeld(RAW,0,x,ASpeed,cRA,cRA2,OrigRA,v3(0,-135*y,(-90-LookAngle/2)*y),1)
506
    SetWeld(Root,0,x,ASpeed,cRO,cRO2,OrigRO,v3(0,-90*y,0),1) 
507
    SetWeld(Neck,0,x,ASpeed,cNE,cNE2,OrigNE,v3(0,90*y/3,0),1) 
508
    for h=-1,1,2 do SetWeld(Gt[h].h,0,x,ASpeed,v3(0,-1,0),v3(-90,0,0),v3(0,-1.25,0),v3(-180,0,0),1)   end
509
wait()
510
end
511
GetCurrent() 
512
so.Slash:Play()
513
for x=1,ASpeed do 
514
    SetWeld(LAW,0,x,ASpeed,cLA,cLA2,OrigLA+v3(0,0,-0.8),v3(0,-30*y,(-90-LookAngle/2)*y),1) 
515
    SetWeld(RAW,0,x,ASpeed,cRA,cRA2,OrigRA+v3(0,0,-0.8),v3(0,-30*y,(-90-LookAngle/2)*y),1)
516
    SetWeld(Root,0,x,ASpeed,cRO,cRO2,OrigRO,v3(0,80*y,0),1) 
517
    SetWeld(Neck,0,x,ASpeed,cNE,cNE2,OrigNE,v3(0,-80*y/3,0),1) 
518
wait()
519
end
520
ReturnAnim()
521
ArmAnim,TorsoAnim='None','None'
522
end
523
end)
524
mouse.Button1Up:connect(function()
525
Button1=false
526
 
527
end)
528
 
529
 
530
LegAnim='None'
531
ArmAnim='None'
532
TorsoAnim='None'
533
WalkSpeed={1,1,1,1,1,1,1,1}
534
ASpeed=8
535
OrigLA=v3(-1.5,0.5,0) OrigLA2=v3(5,0,-30)
536
OrigRA=v3( 1.5,0.5,0) OrigRA2=v3(5,0,30)
537
OrigLL=v3(-0.5,-1,0) OrigLL2=v3(0,0,0)
538
OrigRL=v3( 0.5,-1,0) OrigRL2=v3(0,0,0)
539
OrigRO=v3(0,0,0) OrigRO2=v3(0,0,0)
540
OrigNE=v3(0,1.5,0) OrigNE2=v3(0,0,0)
541
-----
542
--c/local x,y,z=workspace.RobroxMasterDX.Torso["Left Hip"].C0:toEulerAnglesXYZ() print(math.deg(y))
543
rocketfired=false
544
local spi,spix,span=0,0.5,1
545
while Gear.Parent do
546
local headpos,mousepos=Head.Position,mouse.Hit.p
547
XAngle=math.floor(cn(headpos,mousepos).lookVector.y*180)
548
LookAngle=XAngle<-20 and -20 or (XAngle>45 and 45 or XAngle)
549
WalkAnim=WalkAnim+(ArmAnim=='None' and (Walking and 1 or -1) or 0)
550
if WalkAnim<0 then WalkAnim=0 elseif WalkAnim>WalkM then WalkAnim=WalkM end 
551
WAPerc=WalkAnim/WalkM
552
    spi=spi+spix
553
    local adj=spi*8
554
    if math.abs(spi)>=span then spix=spix*-1 end 
555
    Walk1,Walk2,Walk3,Walk4=v3(0,90,-90+25+adj),v3(0,-90,90-25-adj),v3(-18-adj,0,spi*1.5),v3(18+adj,0,-spi*1.5)
556
    if ArmAnim=='None' then 
557
    SetWeld(LAW,0,WalkAnim,WalkM,OrigLA,OrigLA2,OrigLA,Walk1,1) 
558
    SetWeld(RAW,0,WalkAnim,WalkM,OrigRA,OrigRA2,OrigRA,Walk2,1)
559
    end
560
    if TorsoAnim=='None' then 
561
    SetWeld(Root,0,WalkAnim,WalkM,OrigRO,OrigRO2,OrigRO,Walk3,1) 
562
    SetWeld(Neck,0,WalkAnim,WalkM,OrigNE,OrigNE2,OrigNE,Walk4,1) 
563
    end
564
local ws=28 for i=1,#WalkSpeed do ws=ws*WalkSpeed[i] end Humanoid.WalkSpeed=ws
565
    --DoLoop Package
566
    for i,v in pairs(LoopFunctions) do 
567
    v[2]=v[2]+1
568
    v[3](v[2]/v[1])
569
    if v[1]<=v[2] then LoopFunctions[i]=nil end 
570
    end
571
    for x=-1,1,2 do 
572
    if Hooks[x] then Hooks[x].CFrame=HookP[x][1].CFrame*HookP[x][2] end 
573
    end
574
    if Hooks[-1] or Hooks[1] then 
575
    local hook=(Hooks[1] and Hooks[-1]) and 0 or Hooks[1] or Hooks[-1]
576
    HookPos=hook==0 and Hooks[1].Position+(Hooks[-1].Position-Hooks[1].Position)/2 or hook.CFrame.p 
577
    BP.MaxTorque=v3(0,0,0) BP.MaxSpeed=200 BP.MaxThrust=10*10000
578
    rocketprop.CFrame=cn(HookPos+v3(0,4,0)) 
579
    if not rocketfired then BP:Fire() rocketfired=true end
580
    else BP.MaxTorque=nov3
581
    if rocketfired then BP:Abort() rocketfired=false end
582
    end 
583
    if Humanoid.Sit and not WallWalking then 
584
    SetWeld(LLW,0,1,1,OrigLL,OrigLL2,OrigLL+v3(0,0.6,-0.7),v3(-30,0,-14,1),1)
585
    SetWeld(RLW,0,1,1,OrigRL,OrigRL2,OrigRL+v3(0,0.6,-0.7),v3(-30,0, 14,1),1)
586
    if not WallWalking then BG.cframe=cn(Torso.Position,mouse.Hit.p)*cn(0,0,-1) end
587
    BG.maxTorque=maxv3
588
    else
589
    if not WallWalking then BG.maxTorque=nov3 end
590
    end
591
wait()
592
end