SHOW:
|
|
- or go back to the newest paste.
1 | --fireman23332333 | |
2 | ||
3 | local plr=game.Players.LocalPlayer;ch=plr.Character; | |
4 | local tor=ch.Torso;local head=ch.Head;local ra=ch['Right Arm'];local la=ch['Left Arm'];local rl=ch['Right Leg'];local ll=ch['Left Leg']; | |
5 | local rj=ch.HumanoidRootPart.RootJoint;local neck=tor.Neck; | |
6 | local rm=Instance.new("Weld",tor);rm.C1=CFrame.new(0,0.5,0);rm.C0=CFrame.new(1.5,0.5,0);rm.Part0=tor;rm.Part1=ra; | |
7 | local lm=Instance.new("Weld",tor);lm.C1=CFrame.new(0,0.5,0);lm.C0=CFrame.new(-1.5,0.5,0);lm.Part0=tor;lm.Part1=la; | |
8 | local rlm=Instance.new("Weld",tor);rlm.C1=CFrame.new(0,1,0);rlm.C0=CFrame.new(0.5,-1,0);rlm.Part0=tor;rlm.Part1=rl; | |
9 | local llm=Instance.new("Weld",tor);llm.C1=CFrame.new(0,1,0);llm.C0=CFrame.new(-0.5,-1,0);llm.Part0=tor;llm.Part1=ll; | |
10 | local hum=ch.Humanoid | |
11 | for i,v in pairs(head:GetChildren()) do if v.ClassName=="Sound" then v:Destroy() end end | |
12 | rj.C0=CFrame.new() | |
13 | rj.C1=CFrame.new() | |
14 | tor['Right Shoulder']:Destroy();tor['Left Shoulder']:Destroy();tor['Right Hip']:Destroy();tor['Left Hip']:Destroy(); | |
15 | neck.C0=CFrame.new(0,1,0);neck.C1=CFrame.new(0,-0.5,0); | |
16 | rmC0=rm.C0;rmC1=rm.C1;lmC0=lm.C0;lmC1=lm.C1;nC0=neck.C0;nC1=neck.C1;rjC0=rj.C0;rjC1=rj.C1;rlmC0=rlm.C0;rlmC1=rlm.C1;llmC0=llm.C0;llmC1=llm.C1; | |
17 | local defWS=9.5 | |
18 | local defJP=50 | |
19 | hum.WalkSpeed=defWS | |
20 | ch:WaitForChild("Animate"):Destroy() | |
21 | hum:WaitForChild("Animator"):Destroy() | |
22 | local mouse=plr:GetMouse();local cam=workspace.CurrentCamera; | |
23 | ||
24 | for i,v in pairs(ch:GetChildren()) do | |
25 | if v:IsA("Part") then | |
26 | v.CanCollide=false | |
27 | end | |
28 | end | |
29 | ||
30 | local bodyColor=BrickColor.new("Really black") | |
31 | ||
32 | local bc=ch:WaitForChild("Body Colors") | |
33 | bc.HeadColor=bodyColor;bc.LeftArmColor=bodyColor;bc.LeftLegColor=bodyColor;bc.RightArmColor=bodyColor;bc.RightLegColor=bodyColor;bc.TorsoColor=bodyColor; | |
34 | head:WaitForChild("face"):Destroy() | |
35 | ||
36 | for i,v in pairs(head:GetChildren()) do if v.ClassName=="Sound" then v:Destroy() end end | |
37 | ||
38 | function swait(num) | |
39 | if num==0 or num==nil then | |
40 | game:service'RunService'.RenderStepped:wait() | |
41 | else | |
42 | for i=0,num do | |
43 | game:service'RunService'.RenderStepped:wait() | |
44 | end | |
45 | end | |
46 | end | |
47 | ||
48 | function doBrick(parent,pos,cf,size,colour,material,transparency,a,cc,bs,bts,fs,ls,rs,ts) | |
49 | local p=Instance.new('Part',parent);p.BrickColor=colour;p.Material=material;p.Transparency=transparency;p.Anchored=a;p.CanCollide=cc;p.FormFactor="Custom";p.Size=size;p.BackSurface=bs;p.BottomSurface=bts;p.FrontSurface=fs;p.LeftSurface=ls;p.RightSurface=rs;p.TopSurface=ts;p.Position=pos;p.CFrame=p.CFrame*cf; | |
50 | return p | |
51 | end | |
52 | ||
53 | function doMesh(parent,meshType,meshId,scale) | |
54 | local m=Instance.new('SpecialMesh',parent);m.MeshType=meshType;m.MeshId=meshId;m.Scale=scale | |
55 | return m | |
56 | end | |
57 | ||
58 | local hm=Instance.new("Model",ch);hm.Name="HelmetModel" | |
59 | ||
60 | local hat=doBrick(hm,Vector3.new(0,0,0),head.CFrame*CFrame.new(0,0.1,0)*CFrame.Angles(math.rad(0),math.rad(0),math.rad(0)),Vector3.new(1,1,1),BrickColor.new("Cool yellow"),"SmoothPlastic",0,true,false,10,10,10,10,10,10) | |
61 | local hoodMesh=doMesh(hat,"FileMesh","http://www.roblox.com/asset/?id=6552202",Vector3.new(3,3,3)) | |
62 | ||
63 | local grabPart=Instance.new("Part",ch);grabPart.Anchored=false;grabPart.CanCollide=false;grabPart.Size=Vector3.new(1,1,1);grabPart.Transparency=1;grabPart.Name="GrabPart"; | |
64 | --local gpw=Instance.new("Weld",ch);gpw.Part0=grabPart;gpw.Part1=ra;gpw.C1=CFrame.new(0,-1.25,0.6) | |
65 | ||
66 | local mainGui=nil | |
67 | ||
68 | function displayGrabOptions() | |
69 | local mainGui=Instance.new("ScreenGui",plr.PlayerGui) | |
70 | mainGui.Name="OptionsGui" | |
71 | local grabOption1=Instance.new("TextLabel",mainGui) | |
72 | grabOption1.BackgroundTransparency=0.25 | |
73 | grabOption1.BackgroundColor3=Color3.new(2.55,1.50,0.50) | |
74 | grabOption1.BorderSizePixel=0 | |
75 | grabOption1.Size=UDim2.new(0,125,0,40) | |
76 | grabOption1.Position=UDim2.new(0,-125+1,0.5,40) | |
77 | grabOption1.Text="F - Release" | |
78 | grabOption1.Font=Enum.Font.SourceSansLight | |
79 | grabOption1.FontSize=Enum.FontSize.Size24 | |
80 | grabOption1.TextColor3=Color3.new(1,1,1) | |
81 | grabOption1.TextStrokeTransparency=0 | |
82 | ||
83 | grabOption1:TweenPosition(UDim2.new(0,0,0.5,40),"Out","Bounce",0.5,false,nil) | |
84 | ||
85 | local grabOption2=Instance.new("TextLabel",mainGui) | |
86 | grabOption2.BackgroundTransparency=0.25 | |
87 | grabOption2.BackgroundColor3=Color3.new(2.55,1.50,0.50) | |
88 | grabOption2.BorderSizePixel=0 | |
89 | grabOption2.Size=UDim2.new(0,125,0,40) | |
90 | grabOption2.Position=UDim2.new(0,-125+1,0.5,(40*2)+1) | |
91 | grabOption2.Text="E - Soul Punch" | |
92 | grabOption2.Font=Enum.Font.SourceSansLight | |
93 | grabOption2.FontSize=Enum.FontSize.Size24 | |
94 | grabOption2.TextColor3=Color3.new(1,1,1) | |
95 | grabOption2.TextStrokeTransparency=0 | |
96 | ||
97 | grabOption2:TweenPosition(UDim2.new(0,0,0.5,(40*2)+1),"Out","Bounce",0.6,false,nil) | |
98 | end | |
99 | ||
100 | function hideGrabOptions() | |
101 | if plr.PlayerGui:findFirstChild("OptionsGui",true)~=nil then | |
102 | plr.PlayerGui.OptionsGui:Destroy() | |
103 | end | |
104 | end | |
105 | ||
106 | for i,v in pairs(hm:GetChildren()) do | |
107 | if v:IsA("BasePart") then | |
108 | local w=Instance.new("Weld",hm) | |
109 | w.Part0=head | |
110 | w.Part1=v | |
111 | w.C0=head.CFrame:inverse() | |
112 | w.C1=v.CFrame:inverse() | |
113 | v.Anchored=false | |
114 | end | |
115 | end | |
116 | ||
117 | function poseJointC0(joint,JB,cf,speed) | |
118 | joint.C0=joint.C0:lerp(JB*cf,speed) | |
119 | end | |
120 | function poseJointC1(joint,JB,cf,speed) | |
121 | joint.C1=joint.C1:lerp(JB*cf,speed) | |
122 | end | |
123 | ||
124 | local RLattacking=false | |
125 | local grabbing=false | |
126 | local grabbingMode=false | |
127 | local grabbedCharacter=nil | |
128 | local grabWeld=nil | |
129 | ||
130 | local dmgDebounce=false | |
131 | ||
132 | local speed=1 | |
133 | ||
134 | --[[temp | |
135 | ||
136 | poseJointC0(rm,rmC0,CFrame.Angles(math.rad(0),math.rad(0),math.rad(0)),i*speed) | |
137 | poseJointC0(lm,lmC0,CFrame.Angles(math.rad(0),math.rad(0),math.rad(0)),i*speed) | |
138 | poseJointC0(rlm,rlmC0,CFrame.Angles(math.rad(0),math.rad(0),math.rad(0)),i*speed) | |
139 | poseJointC0(llm,llmC0,CFrame.Angles(math.rad(0),math.rad(0),math.rad(0)),i*speed) | |
140 | poseJointC0(neck,nC0,CFrame.Angles(math.rad(13),math.rad(0),math.rad(0)),i*speed) | |
141 | poseJointC0(rj,rjC0,CFrame.Angles(math.rad(0),math.rad(0),math.rad(0)),i*speed) | |
142 | ||
143 | poseJointC1(rm,rmC1,CFrame.new(0,0,0),i*speed) | |
144 | poseJointC1(lm,lmC1,CFrame.new(0,0,0),i*speed) | |
145 | poseJointC1(rlm,rlmC1,CFrame.new(0,0,0),i*speed) | |
146 | poseJointC1(llm,llmC1,CFrame.new(0,0,0),i*speed) | |
147 | poseJointC1(neck,nC1,CFrame.new(0,0,0),i*speed) | |
148 | poseJointC1(rj,rjC1,CFrame.new(0,0,0),i*speed) | |
149 | ||
150 | swait() | |
151 | ]] | |
152 | ||
153 | function sound(id,vol,pitch,parent) | |
154 | local s=Instance.new("Sound",parent) | |
155 | s.SoundId="http://www.roblox.com/asset/?id="..id.."" | |
156 | s.Volume=vol | |
157 | s.Pitch=pitch | |
158 | game.Debris:AddItem(s,5) | |
159 | s:play() | |
160 | end | |
161 | ||
162 | local EP=Instance.new("Model",ch);EP.Name="ExtraParts"; | |
163 | ||
164 | function magicBrick(pos,cf,size,colour,material,transparency,a,cc,bs,bts,fs,ls,rs,ts,meshType,meshId,scale,scaleAdd,loop,loopTransparency,repeatloop,repeatLoopWait,loopCFrame) | |
165 | local cw1=coroutine.wrap(function() | |
166 | for i=1,repeatloop do | |
167 | local x=doBrick(EP,pos,cf,size,colour,material,transparency,a,cc,bs,bts,fs,ls,rs,ts) | |
168 | local z=doMesh(x,meshType,meshId,scale) | |
169 | ||
170 | local cw2=coroutine.wrap(function() | |
171 | for i=1,loop do | |
172 | if loopTransparency then | |
173 | x.Transparency=i/loop | |
174 | z.Scale=z.Scale+scaleAdd | |
175 | x.CFrame=x.CFrame*loopCFrame | |
176 | wait() | |
177 | else | |
178 | z.Scale=z.Scale+scaleAdd | |
179 | x.CFrame=x.CFrame*loopCFrame | |
180 | end | |
181 | end | |
182 | x:Destroy() | |
183 | end) | |
184 | cw2() | |
185 | swait(repeatLoopWait) | |
186 | end | |
187 | end) | |
188 | cw1() | |
189 | end | |
190 | ||
191 | local currentAnim="" | |
192 | local speed=0 | |
193 | local doingMove=false | |
194 | local attacking=false | |
195 | ||
196 | function anim(x) | |
197 | if not doingMove then | |
198 | if x=="jump" then | |
199 | if currentAnim==x then return end | |
200 | currentAnim=x | |
201 | speed=0.45 | |
202 | print(x) | |
203 | for i=0,0.8,0.1*speed do | |
204 | if currentAnim~=x then break end | |
205 | poseJointC0(rm,rmC0,CFrame.Angles(math.rad(-13),math.rad(0),math.rad(0)),i*speed) | |
206 | poseJointC0(lm,lmC0,CFrame.Angles(math.rad(-13),math.rad(0),math.rad(0)),i*speed) | |
207 | poseJointC0(rlm,rlmC0,CFrame.Angles(math.rad(0),math.rad(0),math.rad(0)),i*speed) | |
208 | poseJointC0(llm,llmC0,CFrame.Angles(math.rad(0),math.rad(0),math.rad(0)),i*speed) | |
209 | poseJointC0(neck,nC0,CFrame.Angles(math.rad(8),math.rad(0),math.rad(0)),i*speed) | |
210 | poseJointC0(rj,rjC0,CFrame.Angles(math.rad(0),math.rad(0),math.rad(0)),i*speed) | |
211 | ||
212 | poseJointC1(rm,rmC1,CFrame.new(0,0,0),i*speed) | |
213 | poseJointC1(lm,lmC1,CFrame.new(0,0,0),i*speed) | |
214 | poseJointC1(rlm,rlmC1,CFrame.new(0.05,-0.35,0.35),i*speed) | |
215 | poseJointC1(llm,llmC1,CFrame.new(0,0,0),i*speed) | |
216 | poseJointC1(neck,nC1,CFrame.new(0,0,0),i*speed) | |
217 | poseJointC1(rj,rjC1,CFrame.new(0,0,0),i*speed) | |
218 | swait() | |
219 | end | |
220 | currentAnim=nil | |
221 | end | |
222 | if x=="descend" then | |
223 | if currentAnim==x then return end | |
224 | currentAnim=x | |
225 | speed=0.45 | |
226 | print(x) | |
227 | for i=0,0.67,0.1*speed do | |
228 | if currentAnim~=x then break end | |
229 | if grabbingMode then | |
230 | poseJointC0(rm,rmC0,CFrame.Angles(math.rad(110),math.rad(0),math.rad(87)),i*speed) | |
231 | end | |
232 | if not grabbingMode then | |
233 | poseJointC0(rm,rmC0,CFrame.Angles(math.rad(-13),math.rad(0),math.rad(0)),i*speed) | |
234 | end | |
235 | poseJointC0(lm,lmC0,CFrame.Angles(math.rad(-13),math.rad(0),math.rad(0)),i*speed) | |
236 | poseJointC0(rlm,rlmC0,CFrame.Angles(math.rad(0),math.rad(0),math.rad(0)),i*speed) | |
237 | poseJointC0(llm,llmC0,CFrame.Angles(math.rad(0),math.rad(0),math.rad(0)),i*speed) | |
238 | poseJointC0(neck,nC0,CFrame.Angles(math.rad(-24),math.rad(0),math.rad(0)),i*speed) | |
239 | poseJointC0(rj,rjC0,CFrame.Angles(math.rad(24),math.rad(0),math.rad(0)),i*speed) | |
240 | ||
241 | poseJointC1(rm,rmC1,CFrame.new(0,0,0),i*speed) | |
242 | poseJointC1(lm,lmC1,CFrame.new(0,0,0),i*speed) | |
243 | poseJointC1(rlm,rlmC1,CFrame.new(0,0,0),i*speed) | |
244 | poseJointC1(llm,llmC1,CFrame.new(0,0,0),i*speed) | |
245 | poseJointC1(neck,nC1,CFrame.new(0,0,0),i*speed) | |
246 | poseJointC1(rj,rjC1,CFrame.new(0,0,0),i*speed) | |
247 | swait() | |
248 | end | |
249 | currentAnim=nil | |
250 | end | |
251 | if x=="walk" then | |
252 | if currentAnim==x then return end | |
253 | currentAnim=x | |
254 | speed=0.35 | |
255 | print(x) | |
256 | while true do | |
257 | if currentAnim~=x then break end | |
258 | for i=0,0.8,0.1*speed do | |
259 | if currentAnim~=x then break end | |
260 | if grabbingMode then | |
261 | poseJointC0(rm,rmC0,CFrame.Angles(math.rad(135),math.rad(0),math.rad(25)),i*speed) | |
262 | poseJointC0(lm,lmC0,CFrame.Angles(math.rad(-25),math.rad(0),math.rad(-5)),i*speed) | |
263 | end | |
264 | if not grabbingMode then | |
265 | poseJointC0(rm,rmC0,CFrame.Angles(math.rad(110),math.rad(0),math.rad(-25)),i*speed) | |
266 | poseJointC0(lm,lmC0,CFrame.Angles(math.rad(99),math.rad(0),math.rad(25)),i*speed) | |
267 | end | |
268 | poseJointC0(rlm,rlmC0,CFrame.Angles(math.rad(-45),math.rad(0),math.rad(0)),i*speed) | |
269 | poseJointC0(llm,llmC0,CFrame.Angles(math.rad(55),math.rad(0),math.rad(0)),i*speed) | |
270 | poseJointC0(neck,nC0,CFrame.Angles(math.rad(5),math.rad(12),math.rad(0)),i*speed) | |
271 | poseJointC0(rj,rjC0,CFrame.Angles(math.rad(-14),math.rad(-12),math.rad(-10)),i*speed) | |
272 | ||
273 | if grabbingMode then | |
274 | poseJointC1(rm,rmC1,CFrame.new(0,0,0),i*speed) | |
275 | poseJointC1(lm,lmC1,CFrame.new(0,0,0),i*speed) | |
276 | end | |
277 | if not grabbingMode then | |
278 | poseJointC1(rm,rmC1,CFrame.new(0,0.45,0),i*speed) | |
279 | poseJointC1(lm,lmC1,CFrame.new(0,0.45,0),i*speed) | |
280 | end | |
281 | poseJointC1(rlm,rlmC1,CFrame.new(0.05,0,0),i*speed) | |
282 | poseJointC1(llm,llmC1,CFrame.new(-0.05,0,0),i*speed) | |
283 | poseJointC1(neck,nC1,CFrame.new(0,0,0),i*speed) | |
284 | poseJointC1(rj,rjC1,CFrame.new(0,0,0),i*speed) | |
285 | swait() | |
286 | end | |
287 | for i=0,0.34,0.1*speed do | |
288 | if currentAnim~=x then break end | |
289 | if grabbingMode then | |
290 | poseJointC0(rm,rmC0,CFrame.Angles(math.rad(135),math.rad(0),math.rad(25)),i*speed) | |
291 | poseJointC0(lm,lmC0,CFrame.Angles(math.rad(-25),math.rad(0),math.rad(-5)),i*speed) | |
292 | end | |
293 | if not grabbingMode then | |
294 | poseJointC0(rm,rmC0,CFrame.Angles(math.rad(110),math.rad(0),math.rad(-25)),i*speed) | |
295 | poseJointC0(lm,lmC0,CFrame.Angles(math.rad(99),math.rad(0),math.rad(25)),i*speed) | |
296 | end | |
297 | poseJointC0(rlm,rlmC0,CFrame.Angles(math.rad(-25),math.rad(0),math.rad(0)),i*speed) | |
298 | poseJointC0(llm,llmC0,CFrame.Angles(math.rad(-30),math.rad(0),math.rad(0)),i*speed) | |
299 | poseJointC0(neck,nC0,CFrame.Angles(math.rad(5),math.rad(0),math.rad(0)),i*speed) | |
300 | poseJointC0(rj,rjC0,CFrame.Angles(math.rad(-15),math.rad(0),math.rad(0)),i*speed) | |
301 | ||
302 | if grabbingMode then | |
303 | poseJointC1(rm,rmC1,CFrame.new(0,0,0),i*speed) | |
304 | poseJointC1(lm,lmC1,CFrame.new(0,0,0),i*speed) | |
305 | end | |
306 | if not grabbingMode then | |
307 | poseJointC1(rm,rmC1,CFrame.new(0,0.45,0),i*speed) | |
308 | poseJointC1(lm,lmC1,CFrame.new(0,0.45,0),i*speed) | |
309 | end | |
310 | poseJointC1(rlm,rlmC1,CFrame.new(0.05,-0.75,0.7),i*speed) | |
311 | poseJointC1(llm,llmC1,CFrame.new(-0.05,0,0),i*speed) | |
312 | poseJointC1(neck,nC1,CFrame.new(0,0,0),i*speed) | |
313 | poseJointC1(rj,rjC1,CFrame.new(0,0.3,0),i*speed) | |
314 | swait() | |
315 | end | |
316 | for i=0,0.8,0.1*speed do | |
317 | if currentAnim~=x then break end | |
318 | if grabbingMode then | |
319 | poseJointC0(rm,rmC0,CFrame.Angles(math.rad(135),math.rad(0),math.rad(25)),i*speed) | |
320 | poseJointC0(lm,lmC0,CFrame.Angles(math.rad(-25),math.rad(0),math.rad(-5)),i*speed) | |
321 | end | |
322 | if not grabbingMode then | |
323 | poseJointC0(rm,rmC0,CFrame.Angles(math.rad(110),math.rad(0),math.rad(-25)),i*speed) | |
324 | poseJointC0(lm,lmC0,CFrame.Angles(math.rad(99),math.rad(0),math.rad(25)),i*speed) | |
325 | end | |
326 | poseJointC0(rlm,rlmC0,CFrame.Angles(math.rad(55),math.rad(0),math.rad(0)),i*speed) | |
327 | poseJointC0(llm,llmC0,CFrame.Angles(math.rad(-45),math.rad(0),math.rad(0)),i*speed) | |
328 | poseJointC0(neck,nC0,CFrame.Angles(math.rad(5),math.rad(-12),math.rad(0)),i*speed) | |
329 | poseJointC0(rj,rjC0,CFrame.Angles(math.rad(-14),math.rad(12),math.rad(10)),i*speed) | |
330 | ||
331 | if grabbingMode then | |
332 | poseJointC1(rm,rmC1,CFrame.new(0,0,0),i*speed) | |
333 | poseJointC1(lm,lmC1,CFrame.new(0,0,0),i*speed) | |
334 | end | |
335 | if not grabbingMode then | |
336 | poseJointC1(rm,rmC1,CFrame.new(0,0.45,0),i*speed) | |
337 | poseJointC1(lm,lmC1,CFrame.new(0,0.45,0),i*speed) | |
338 | end | |
339 | poseJointC1(rlm,rlmC1,CFrame.new(0.05,0,0),i*speed) | |
340 | poseJointC1(llm,llmC1,CFrame.new(-0.05,0,0),i*speed) | |
341 | poseJointC1(neck,nC1,CFrame.new(0,0,0),i*speed) | |
342 | poseJointC1(rj,rjC1,CFrame.new(0,0,0),i*speed) | |
343 | swait() | |
344 | end | |
345 | for i=0,0.34,0.1*speed do | |
346 | if currentAnim~=x then break end | |
347 | if grabbingMode then | |
348 | poseJointC0(rm,rmC0,CFrame.Angles(math.rad(135),math.rad(0),math.rad(25)),i*speed) | |
349 | poseJointC0(lm,lmC0,CFrame.Angles(math.rad(-25),math.rad(0),math.rad(-5)),i*speed) | |
350 | end | |
351 | if not grabbingMode then | |
352 | poseJointC0(rm,rmC0,CFrame.Angles(math.rad(110),math.rad(0),math.rad(-25)),i*speed) | |
353 | poseJointC0(lm,lmC0,CFrame.Angles(math.rad(99),math.rad(0),math.rad(25)),i*speed) | |
354 | end | |
355 | poseJointC0(rlm,rlmC0,CFrame.Angles(math.rad(-30),math.rad(0),math.rad(0)),i*speed) | |
356 | poseJointC0(llm,llmC0,CFrame.Angles(math.rad(-25),math.rad(0),math.rad(0)),i*speed) | |
357 | poseJointC0(neck,nC0,CFrame.Angles(math.rad(5),math.rad(0),math.rad(0)),i*speed) | |
358 | poseJointC0(rj,rjC0,CFrame.Angles(math.rad(-14),math.rad(0),math.rad(0)),i*speed) | |
359 | ||
360 | if grabbingMode then | |
361 | poseJointC1(rm,rmC1,CFrame.new(0,0,0),i*speed) | |
362 | poseJointC1(lm,lmC1,CFrame.new(0,0,0),i*speed) | |
363 | end | |
364 | if not grabbingMode then | |
365 | poseJointC1(rm,rmC1,CFrame.new(0,0.45,0),i*speed) | |
366 | poseJointC1(lm,lmC1,CFrame.new(0,0.45,0),i*speed) | |
367 | end | |
368 | poseJointC1(rlm,rlmC1,CFrame.new(0.05,0,0),i*speed) | |
369 | poseJointC1(llm,llmC1,CFrame.new(-0.05,-0.75,0.7),i*speed) | |
370 | poseJointC1(neck,nC1,CFrame.new(0,0,0),i*speed) | |
371 | poseJointC1(rj,rjC1,CFrame.new(0,0.3,0),i*speed) | |
372 | swait() | |
373 | end | |
374 | end | |
375 | end | |
376 | if x=="idle" then | |
377 | if currentAnim==x then return end | |
378 | currentAnim=x | |
379 | speed=0.24 | |
380 | print(x) | |
381 | for i=0,0.45,0.1*speed do | |
382 | if currentAnim~=x then break end | |
383 | if grabbingMode then | |
384 | poseJointC0(rm,rmC0,CFrame.Angles(math.rad(145),math.rad(0),math.rad(45)),speed) | |
385 | poseJointC0(lm,lmC0,CFrame.Angles(math.rad(12),math.rad(0),math.rad(-12)),speed) | |
386 | end | |
387 | if not grabbingMode then | |
388 | poseJointC0(rm,rmC0,CFrame.Angles(math.rad(100),math.rad(0),math.rad(45)),speed) | |
389 | poseJointC0(lm,lmC0,CFrame.Angles(math.rad(99),math.rad(0),math.rad(45)),speed) | |
390 | end | |
391 | poseJointC0(rlm,rlmC0,CFrame.Angles(math.rad(12),math.rad(0),math.rad(12)),speed) | |
392 | poseJointC0(llm,llmC0,CFrame.Angles(math.rad(-23),math.rad(0),math.rad(-6)),speed) | |
393 | poseJointC0(neck,nC0,CFrame.Angles(math.rad(-4),math.rad(-45),math.rad(0)),speed) | |
394 | poseJointC0(rj,rjC0,CFrame.Angles(math.rad(-12),math.rad(45),math.rad(0)),speed) | |
395 | ||
396 | poseJointC1(rm,rmC1,CFrame.new(0,0,0),speed) | |
397 | if grabbingMode then | |
398 | poseJointC1(lm,lmC1,CFrame.new(0,0,0),speed) | |
399 | end | |
400 | if not grabbingMode then | |
401 | poseJointC1(lm,lmC1,CFrame.new(0,0.75,0),speed) | |
402 | end | |
403 | poseJointC1(rlm,rlmC1,CFrame.new(0.05,-0.45,0.45),speed) | |
404 | poseJointC1(llm,llmC1,CFrame.new(-0.05,-0.45,0.35),speed) | |
405 | poseJointC1(neck,nC1,CFrame.new(0,0,0),speed) | |
406 | poseJointC1(rj,rjC1,CFrame.new(0,0.45,0),speed) | |
407 | swait() | |
408 | end | |
409 | while true do | |
410 | if currentAnim~=x then break end | |
411 | for i=0,0.75,0.1*speed do | |
412 | if currentAnim~=x then break end | |
413 | if grabbingMode then | |
414 | poseJointC0(rm,rmC0,CFrame.Angles(math.rad(145),math.rad(0),math.rad(45)),i*speed) | |
415 | poseJointC0(lm,lmC0,CFrame.Angles(math.rad(12),math.rad(0),math.rad(-12)),i*speed) | |
416 | end | |
417 | if not grabbingMode then | |
418 | poseJointC0(rm,rmC0,CFrame.Angles(math.rad(112),math.rad(0),math.rad(45)),i*speed) | |
419 | poseJointC0(lm,lmC0,CFrame.Angles(math.rad(110),math.rad(0),math.rad(45)),i*speed) | |
420 | end | |
421 | poseJointC0(rlm,rlmC0,CFrame.Angles(math.rad(12),math.rad(0),math.rad(12)),i*speed) | |
422 | poseJointC0(llm,llmC0,CFrame.Angles(math.rad(-24),math.rad(0),math.rad(-6)),i*speed) | |
423 | poseJointC0(neck,nC0,CFrame.Angles(math.rad(-4),math.rad(-45),math.rad(0)),i*speed) | |
424 | poseJointC0(rj,rjC0,CFrame.Angles(math.rad(-12),math.rad(45),math.rad(0)),i*speed) | |
425 | ||
426 | poseJointC1(rm,rmC1,CFrame.new(0,0,0),i*speed) | |
427 | if grabbingMode then | |
428 | poseJointC1(lm,lmC1,CFrame.new(0,0,0),i*speed) | |
429 | end | |
430 | if not grabbingMode then | |
431 | poseJointC1(lm,lmC1,CFrame.new(0,0.75,0),i*speed) | |
432 | end | |
433 | poseJointC1(rlm,rlmC1,CFrame.new(0.05,-0.45,0.45),i*speed) | |
434 | poseJointC1(llm,llmC1,CFrame.new(-0.05,-0.55,0.35),i*speed) | |
435 | poseJointC1(neck,nC1,CFrame.new(0,0,0),i*speed) | |
436 | poseJointC1(rj,rjC1,CFrame.new(0,0.55,0),i*speed) | |
437 | swait() | |
438 | end | |
439 | for i=0,0.75,0.1*speed do | |
440 | if currentAnim~=x then break end | |
441 | if grabbingMode then | |
442 | poseJointC0(rm,rmC0,CFrame.Angles(math.rad(145),math.rad(0),math.rad(45)),i*speed) | |
443 | poseJointC0(lm,lmC0,CFrame.Angles(math.rad(12),math.rad(0),math.rad(-12)),i*speed) | |
444 | end | |
445 | if not grabbingMode then | |
446 | poseJointC0(rm,rmC0,CFrame.Angles(math.rad(100),math.rad(0),math.rad(45)),i*speed) | |
447 | poseJointC0(lm,lmC0,CFrame.Angles(math.rad(99),math.rad(0),math.rad(45)),i*speed) | |
448 | end | |
449 | poseJointC0(rlm,rlmC0,CFrame.Angles(math.rad(12),math.rad(0),math.rad(12)),i*speed) | |
450 | poseJointC0(llm,llmC0,CFrame.Angles(math.rad(-23),math.rad(0),math.rad(-6)),i*speed) | |
451 | poseJointC0(neck,nC0,CFrame.Angles(math.rad(-4),math.rad(-45),math.rad(0)),i*speed) | |
452 | poseJointC0(rj,rjC0,CFrame.Angles(math.rad(-12),math.rad(45),math.rad(0)),i*speed) | |
453 | ||
454 | poseJointC1(rm,rmC1,CFrame.new(0,0,0),i*speed) | |
455 | if grabbingMode then | |
456 | poseJointC1(lm,lmC1,CFrame.new(0,0,0),i*speed) | |
457 | end | |
458 | if not grabbingMode then | |
459 | poseJointC1(lm,lmC1,CFrame.new(0,0.75,0),i*speed) | |
460 | end | |
461 | poseJointC1(rlm,rlmC1,CFrame.new(0.05,-0.45,0.45),i*speed) | |
462 | poseJointC1(llm,llmC1,CFrame.new(-0.05,-0.45,0.35),i*speed) | |
463 | poseJointC1(neck,nC1,CFrame.new(0,0,0),i*speed) | |
464 | poseJointC1(rj,rjC1,CFrame.new(0,0.45,0),i*speed) | |
465 | swait() | |
466 | end | |
467 | end | |
468 | end | |
469 | end | |
470 | if doingMove then | |
471 | if x=="spar1" then | |
472 | if currentAnim==x then return end | |
473 | currentAnim=x | |
474 | speed=0.75 | |
475 | print(x) | |
476 | for i=0,0.5,0.1*speed do | |
477 | poseJointC0(rm,rmC0,CFrame.Angles(math.rad(75),math.rad(0),math.rad(-45)),i*speed) | |
478 | poseJointC0(lm,lmC0,CFrame.Angles(math.rad(90),math.rad(0),math.rad(-45)),i*speed) | |
479 | poseJointC0(rlm,rlmC0,CFrame.Angles(math.rad(-45),math.rad(0),math.rad(45)),i*speed) | |
480 | poseJointC0(llm,llmC0,CFrame.Angles(math.rad(0),math.rad(0),math.rad(-12)),i*speed) | |
481 | poseJointC0(neck,nC0,CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0)),i*speed) | |
482 | poseJointC0(rj,rjC0,CFrame.Angles(math.rad(0),math.rad(90),math.rad(12)),i*speed) | |
483 | ||
484 | poseJointC1(rm,rmC1,CFrame.new(0,0,0),i*speed) | |
485 | poseJointC1(lm,lmC1,CFrame.new(0,0,0),i*speed) | |
486 | poseJointC1(rlm,rlmC1,CFrame.new(0,-0.2,0),i*speed) | |
487 | poseJointC1(llm,llmC1,CFrame.new(0,0,0),i*speed) | |
488 | poseJointC1(neck,nC1,CFrame.new(0,0,0),i*speed) | |
489 | poseJointC1(rj,rjC1,CFrame.new(0,0,0),i*speed) | |
490 | swait() | |
491 | end | |
492 | attacking=true | |
493 | RLattacking=true | |
494 | sound(233856146,1,1,rl) | |
495 | for i=0,1,0.1*speed do | |
496 | poseJointC0(rm,rmC0,CFrame.Angles(math.rad(80),math.rad(0),math.rad(-45)),i*speed) | |
497 | poseJointC0(lm,lmC0,CFrame.Angles(math.rad(90),math.rad(0),math.rad(-45)),i*speed) | |
498 | poseJointC0(rlm,rlmC0,CFrame.Angles(math.rad(-45),math.rad(0),math.rad(106.5)),i*speed) | |
499 | poseJointC0(llm,llmC0,CFrame.Angles(math.rad(0),math.rad(0),math.rad(-45)),i*speed) | |
500 | poseJointC0(neck,nC0,CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0)),i*speed) | |
501 | poseJointC0(rj,rjC0,CFrame.Angles(math.rad(0),math.rad(90),math.rad(45)),i*speed) | |
502 | ||
503 | poseJointC1(rm,rmC1,CFrame.new(0,0.5,0),i*speed) | |
504 | poseJointC1(lm,lmC1,CFrame.new(0,0,0),i*speed) | |
505 | poseJointC1(rlm,rlmC1,CFrame.new(0,0.2,0),i*speed) | |
506 | poseJointC1(llm,llmC1,CFrame.new(0,0,0),i*speed) | |
507 | poseJointC1(neck,nC1,CFrame.new(0,0,0),i*speed) | |
508 | poseJointC1(rj,rjC1,CFrame.new(0,0,0),i*speed) | |
509 | swait() | |
510 | end | |
511 | attacking=false | |
512 | RLattacking=false | |
513 | currentAnim=nil | |
514 | end | |
515 | if x=="spar2" then | |
516 | if currentAnim==x then return end | |
517 | currentAnim=x | |
518 | speed=0.75 | |
519 | print(x) | |
520 | for i=0,0.5,0.1*speed do | |
521 | poseJointC0(rm,rmC0,CFrame.Angles(math.rad(45),math.rad(0),math.rad(-45)),i*speed) | |
522 | poseJointC0(lm,lmC0,CFrame.Angles(math.rad(45),math.rad(0),math.rad(45)),i*speed) | |
523 | poseJointC0(rlm,rlmC0,CFrame.Angles(math.rad(-45),math.rad(0),math.rad(45)),i*speed) | |
524 | poseJointC0(llm,llmC0,CFrame.Angles(math.rad(-10),math.rad(0),math.rad(0)),i*speed) | |
525 | poseJointC0(neck,nC0,CFrame.Angles(math.rad(0),math.rad(25),math.rad(0)),i*speed) | |
526 | poseJointC0(rj,rjC0,CFrame.Angles(math.rad(5),math.rad(-25),math.rad(0)),i*speed) | |
527 | ||
528 | poseJointC1(rm,rmC1,CFrame.new(0,0,0),i*speed) | |
529 | poseJointC1(lm,lmC1,CFrame.new(0,0,0),i*speed) | |
530 | poseJointC1(rlm,rlmC1,CFrame.new(0,0,0),i*speed) | |
531 | poseJointC1(llm,llmC1,CFrame.new(0,0,0),i*speed) | |
532 | poseJointC1(neck,nC1,CFrame.new(0,0,0),i*speed) | |
533 | poseJointC1(rj,rjC1,CFrame.new(0,0,0),i*speed) | |
534 | swait() | |
535 | end | |
536 | attacking=true | |
537 | RLattacking=true | |
538 | sound(233856146,1,0.85,rl) | |
539 | for i=0,1,0.1*speed do | |
540 | poseJointC0(rm,rmC0,CFrame.Angles(math.rad(-45),math.rad(0),math.rad(45)),i*speed) | |
541 | poseJointC0(lm,lmC0,CFrame.Angles(math.rad(-45),math.rad(0),math.rad(-45)),i*speed) | |
542 | poseJointC0(rlm,rlmC0,CFrame.Angles(math.rad(110),math.rad(0),math.rad(0)),i*speed) | |
543 | poseJointC0(llm,llmC0,CFrame.Angles(math.rad(-10),math.rad(0),math.rad(0)),i*speed) | |
544 | poseJointC0(neck,nC0,CFrame.Angles(math.rad(-23),math.rad(0),math.rad(0)),i*speed) | |
545 | poseJointC0(rj,rjC0,CFrame.Angles(math.rad(23),math.rad(0),math.rad(0)),i*speed) | |
546 | ||
547 | poseJointC1(rm,rmC1,CFrame.new(0,0,0),i*speed) | |
548 | poseJointC1(lm,lmC1,CFrame.new(0,0,0),i*speed) | |
549 | poseJointC1(rlm,rlmC1,CFrame.new(0,0,0),i*speed) | |
550 | poseJointC1(llm,llmC1,CFrame.new(0,0,0),i*speed) | |
551 | poseJointC1(neck,nC1,CFrame.new(0,0,0),i*speed) | |
552 | poseJointC1(rj,rjC1,CFrame.new(0,0,0),i*speed) | |
553 | swait() | |
554 | end | |
555 | attacking=false | |
556 | RLattacking=false | |
557 | currentAnim=nil | |
558 | end | |
559 | if x=="grab" then | |
560 | if currentAnim==x then return end | |
561 | currentAnim=x | |
562 | speed=0.75 | |
563 | print(x) | |
564 | for i=0,0.5,0.1*speed do | |
565 | poseJointC0(rm,rmC0,CFrame.Angles(math.rad(45),math.rad(0),math.rad(5)),i*speed) | |
566 | poseJointC0(lm,lmC0,CFrame.Angles(math.rad(0),math.rad(0),math.rad(-5)),i*speed) | |
567 | poseJointC0(rlm,rlmC0,CFrame.Angles(math.rad(0),math.rad(0),math.rad(5)),i*speed) | |
568 | poseJointC0(llm,llmC0,CFrame.Angles(math.rad(0),math.rad(0),math.rad(-5)),i*speed) | |
569 | poseJointC0(neck,nC0,CFrame.Angles(math.rad(0),math.rad(45),math.rad(0)),i*speed) | |
570 | poseJointC0(rj,rjC0,CFrame.Angles(math.rad(0),math.rad(-45),math.rad(0)),i*speed) | |
571 | ||
572 | poseJointC1(rm,rmC1,CFrame.new(0,0,0),i*speed) | |
573 | poseJointC1(lm,lmC1,CFrame.new(0,0,0),i*speed) | |
574 | poseJointC1(rlm,rlmC1,CFrame.new(0,0,0),i*speed) | |
575 | poseJointC1(llm,llmC1,CFrame.new(0,0,0),i*speed) | |
576 | poseJointC1(neck,nC1,CFrame.new(0,0,0),i*speed) | |
577 | poseJointC1(rj,rjC1,CFrame.new(0,0,0),i*speed) | |
578 | swait() | |
579 | end | |
580 | attacking=true | |
581 | grabbing=true | |
582 | sound(233856146,1,0.95,rl) | |
583 | for i=0,1,0.1*speed do | |
584 | poseJointC0(rm,rmC0,CFrame.Angles(math.rad(125),math.rad(0),math.rad(-25)),i*speed) | |
585 | poseJointC0(lm,lmC0,CFrame.Angles(math.rad(0),math.rad(0),math.rad(-15)),i*speed) | |
586 | poseJointC0(rlm,rlmC0,CFrame.Angles(math.rad(0),math.rad(0),math.rad(5)),i*speed) | |
587 | poseJointC0(llm,llmC0,CFrame.Angles(math.rad(0),math.rad(0),math.rad(-5)),i*speed) | |
588 | poseJointC0(neck,nC0,CFrame.Angles(math.rad(13),math.rad(-35),math.rad(0)),i*speed) | |
589 | poseJointC0(rj,rjC0,CFrame.Angles(math.rad(0),math.rad(45),math.rad(0)),i*speed) | |
590 | ||
591 | poseJointC1(rm,rmC1,CFrame.new(0,1,0),i*speed) | |
592 | poseJointC1(lm,lmC1,CFrame.new(0,0,0),i*speed) | |
593 | poseJointC1(rlm,rlmC1,CFrame.new(0,0,0),i*speed) | |
594 | poseJointC1(llm,llmC1,CFrame.new(0,0,0),i*speed) | |
595 | poseJointC1(neck,nC1,CFrame.new(0,0,0),i*speed) | |
596 | poseJointC1(rj,rjC1,CFrame.new(0,0,0),i*speed) | |
597 | swait() | |
598 | end | |
599 | attacking=false | |
600 | grabbing=false | |
601 | currentAnim=nil | |
602 | end | |
603 | if x=="release" then | |
604 | if currentAnim==x then return end | |
605 | currentAnim=x | |
606 | speed=0.75 | |
607 | print(x) | |
608 | for i=0,0.5,0.1*speed do | |
609 | poseJointC0(rm,rmC0,CFrame.Angles(math.rad(45),math.rad(0),math.rad(5)),i*speed) | |
610 | poseJointC0(lm,lmC0,CFrame.Angles(math.rad(0),math.rad(0),math.rad(-5)),i*speed) | |
611 | poseJointC0(rlm,rlmC0,CFrame.Angles(math.rad(0),math.rad(0),math.rad(5)),i*speed) | |
612 | poseJointC0(llm,llmC0,CFrame.Angles(math.rad(0),math.rad(0),math.rad(-5)),i*speed) | |
613 | poseJointC0(neck,nC0,CFrame.Angles(math.rad(0),math.rad(45),math.rad(0)),i*speed) | |
614 | poseJointC0(rj,rjC0,CFrame.Angles(math.rad(0),math.rad(-45),math.rad(0)),i*speed) | |
615 | ||
616 | poseJointC1(rm,rmC1,CFrame.new(0,0,0),i*speed) | |
617 | poseJointC1(lm,lmC1,CFrame.new(0,0,0),i*speed) | |
618 | poseJointC1(rlm,rlmC1,CFrame.new(0,0,0),i*speed) | |
619 | poseJointC1(llm,llmC1,CFrame.new(0,0,0),i*speed) | |
620 | poseJointC1(neck,nC1,CFrame.new(0,0,0),i*speed) | |
621 | poseJointC1(rj,rjC1,CFrame.new(0,0,0),i*speed) | |
622 | swait() | |
623 | end | |
624 | sound(233856146,1,0.95,rl) | |
625 | grabWeld:Destroy() | |
626 | local bv=Instance.new("BodyVelocity",grabbedCharacter:WaitForChild("Torso")) | |
627 | bv.maxForce=Vector3.new(math.huge,math.huge,math.huge) | |
628 | bv.velocity=head.CFrame.lookVector*50+Vector3.new(0,15,0) | |
629 | game.Debris:AddItem(bv,0.05) | |
630 | grabbedCharacter.Humanoid.WalkSpeed=16 | |
631 | grabbedCharacter.Humanoid.JumpPower=50 | |
632 | for i=0,1,0.1*speed do | |
633 | poseJointC0(rm,rmC0,CFrame.Angles(math.rad(125),math.rad(0),math.rad(-25)),i*speed) | |
634 | poseJointC0(lm,lmC0,CFrame.Angles(math.rad(0),math.rad(0),math.rad(-15)),i*speed) | |
635 | poseJointC0(rlm,rlmC0,CFrame.Angles(math.rad(0),math.rad(0),math.rad(5)),i*speed) | |
636 | poseJointC0(llm,llmC0,CFrame.Angles(math.rad(0),math.rad(0),math.rad(-5)),i*speed) | |
637 | poseJointC0(neck,nC0,CFrame.Angles(math.rad(13),math.rad(-35),math.rad(0)),i*speed) | |
638 | poseJointC0(rj,rjC0,CFrame.Angles(math.rad(0),math.rad(45),math.rad(0)),i*speed) | |
639 | ||
640 | poseJointC1(rm,rmC1,CFrame.new(0,1,0),i*speed) | |
641 | poseJointC1(lm,lmC1,CFrame.new(0,0,0),i*speed) | |
642 | poseJointC1(rlm,rlmC1,CFrame.new(0,0,0),i*speed) | |
643 | poseJointC1(llm,llmC1,CFrame.new(0,0,0),i*speed) | |
644 | poseJointC1(neck,nC1,CFrame.new(0,0,0),i*speed) | |
645 | poseJointC1(rj,rjC1,CFrame.new(0,0,0),i*speed) | |
646 | swait() | |
647 | end | |
648 | currentAnim=nil | |
649 | end | |
650 | if x=="grabPose" then | |
651 | if currentAnim==x then return end | |
652 | currentAnim=x | |
653 | speed=0.75 | |
654 | print(x) | |
655 | for i=0,1,0.1*speed do | |
656 | poseJointC0(rm,rmC0,CFrame.Angles(math.rad(125),math.rad(0),math.rad(-25)),i*speed) | |
657 | poseJointC0(lm,lmC0,CFrame.Angles(math.rad(0),math.rad(0),math.rad(-15)),i*speed) | |
658 | poseJointC0(rlm,rlmC0,CFrame.Angles(math.rad(0),math.rad(0),math.rad(5)),i*speed) | |
659 | poseJointC0(llm,llmC0,CFrame.Angles(math.rad(0),math.rad(0),math.rad(-5)),i*speed) | |
660 | poseJointC0(neck,nC0,CFrame.Angles(math.rad(13),math.rad(-35),math.rad(0)),i*speed) | |
661 | poseJointC0(rj,rjC0,CFrame.Angles(math.rad(0),math.rad(45),math.rad(0)),i*speed) | |
662 | ||
663 | poseJointC1(rm,rmC1,CFrame.new(0,1,0),i*speed) | |
664 | poseJointC1(lm,lmC1,CFrame.new(0,0,0),i*speed) | |
665 | poseJointC1(rlm,rlmC1,CFrame.new(0,0,0),i*speed) | |
666 | poseJointC1(llm,llmC1,CFrame.new(0,0,0),i*speed) | |
667 | poseJointC1(neck,nC1,CFrame.new(0,0,0),i*speed) | |
668 | poseJointC1(rj,rjC1,CFrame.new(0,0,0),i*speed) | |
669 | swait() | |
670 | end | |
671 | end | |
672 | if x=="airAttack" then | |
673 | if currentAnim==x then return end | |
674 | currentAnim=x | |
675 | speed=0.75 | |
676 | print(x) | |
677 | for i=0,0.5,0.1*speed do | |
678 | poseJointC0(rm,rmC0,CFrame.Angles(math.rad(45),math.rad(0),math.rad(5)),i*speed) | |
679 | poseJointC0(lm,lmC0,CFrame.Angles(math.rad(0),math.rad(0),math.rad(-5)),i*speed) | |
680 | poseJointC0(rlm,rlmC0,CFrame.Angles(math.rad(0),math.rad(0),math.rad(5)),i*speed) | |
681 | poseJointC0(llm,llmC0,CFrame.Angles(math.rad(0),math.rad(0),math.rad(-5)),i*speed) | |
682 | poseJointC0(neck,nC0,CFrame.Angles(math.rad(0),math.rad(45),math.rad(0)),i*speed) | |
683 | poseJointC0(rj,rjC0,CFrame.Angles(math.rad(0),math.rad(-45),math.rad(0)),i*speed) | |
684 | ||
685 | poseJointC1(rm,rmC1,CFrame.new(0,0,0),i*speed) | |
686 | poseJointC1(lm,lmC1,CFrame.new(0,0,0),i*speed) | |
687 | poseJointC1(rlm,rlmC1,CFrame.new(0,0,0),i*speed) | |
688 | poseJointC1(llm,llmC1,CFrame.new(0,0,0),i*speed) | |
689 | poseJointC1(neck,nC1,CFrame.new(0,0,0),i*speed) | |
690 | poseJointC1(rj,rjC1,CFrame.new(0,0,0),i*speed) | |
691 | swait() | |
692 | end | |
693 | sound(233856146,1,0.95,rl) | |
694 | grabWeld:Destroy() | |
695 | local bv=Instance.new("BodyVelocity",grabbedCharacter:WaitForChild("Torso")) | |
696 | bv.maxForce=Vector3.new(math.huge,math.huge,math.huge) | |
697 | bv.velocity=head.CFrame.lookVector*10+Vector3.new(0,30,0) | |
698 | game.Debris:AddItem(bv,0.05) | |
699 | local bf=Instance.new("BodyForce",grabbedCharacter:WaitForChild("Torso")) | |
700 | bf.force=Vector3.new(0,750,0)*grabbedCharacter:WaitForChild("Torso"):GetMass() | |
701 | game.Debris:AddItem(bf,2.5) | |
702 | grabbedCharacter.Humanoid.WalkSpeed=16 | |
703 | grabbedCharacter.Humanoid.JumpPower=50 | |
704 | for i=0,1,0.1*speed do | |
705 | poseJointC0(rm,rmC0,CFrame.Angles(math.rad(150),math.rad(0),math.rad(-25)),i*speed) | |
706 | poseJointC0(lm,lmC0,CFrame.Angles(math.rad(0),math.rad(0),math.rad(-15)),i*speed) | |
707 | poseJointC0(rlm,rlmC0,CFrame.Angles(math.rad(0),math.rad(0),math.rad(5)),i*speed) | |
708 | poseJointC0(llm,llmC0,CFrame.Angles(math.rad(0),math.rad(0),math.rad(-5)),i*speed) | |
709 | poseJointC0(neck,nC0,CFrame.Angles(math.rad(17.5),math.rad(-35),math.rad(0)),i*speed) | |
710 | poseJointC0(rj,rjC0,CFrame.Angles(math.rad(0),math.rad(45),math.rad(0)),i*speed) | |
711 | ||
712 | poseJointC1(rm,rmC1,CFrame.new(0,1,0),i*speed) | |
713 | poseJointC1(lm,lmC1,CFrame.new(0,0,0),i*speed) | |
714 | poseJointC1(rlm,rlmC1,CFrame.new(0,0,0),i*speed) | |
715 | poseJointC1(llm,llmC1,CFrame.new(0,0,0),i*speed) | |
716 | poseJointC1(neck,nC1,CFrame.new(0,0,0),i*speed) | |
717 | poseJointC1(rj,rjC1,CFrame.new(0,0,0),i*speed) | |
718 | swait() | |
719 | end | |
720 | speed=0.2 | |
721 | hum.WalkSpeed=0 | |
722 | hum.JumpPower=0 | |
723 | magicBrick(Vector3.new(0,0,0),tor.CFrame*CFrame.new(0,0,0),Vector3.new(1,1,1),BrickColor.new("Deep orange"),"Neon",0,true,false,10,10,10,10,10,10,"FileMesh","http://www.roblox.com/asset/?id=6552202",Vector3.new(1,1,1),Vector3.new(10,10,10),5,true,1,0,CFrame.new(0,0,0)*CFrame.Angles(0,0,0)) | |
724 | coroutine.resume(coroutine.create(function() | |
725 | for i=1,100 do | |
726 | magicBrick(Vector3.new(0,0,0),ra.CFrame*CFrame.new(0,0,0)*CFrame.new(math.random(1,5),math.random(1,5),math.random(1,5))*CFrame.new(-5/2,-5/2,-5/2),Vector3.new(1,1,1),BrickColor.new("Deep orange"),"Neon",0,true,false,10,10,10,10,10,10,"Brick","",Vector3.new(1,1,1),Vector3.new(-0.2,-0.2,-0.2),15,true,1,0,CFrame.new(0,-1,0)*CFrame.Angles(math.random(),math.random(),math.random())) | |
727 | magicBrick(Vector3.new(0,0,0),ra.CFrame*CFrame.new(0,0,0)*CFrame.new(math.random(1,5),math.random(1,5),math.random(1,5))*CFrame.new(-5/2,-5/2,-5/2),Vector3.new(1,1,1),BrickColor.new("Really black"),"Neon",0,true,false,10,10,10,10,10,10,"Brick","",Vector3.new(1,1,1),Vector3.new(-0.2,-0.2,-0.2),15,true,1,0,CFrame.new(0,-1,0)*CFrame.Angles(math.random(),math.random(),math.random())) | |
728 | swait(.1) | |
729 | end | |
730 | end)) | |
731 | for i,v in pairs(grabbedCharacter:GetChildren()) do | |
732 | if v:IsA("Part") then | |
733 | v.CanCollide=false | |
734 | end | |
735 | if v.ClassName=="Hat" then | |
736 | for i,v in pairs(v:GetChildren()) do | |
737 | if v:IsA("BasePart") then | |
738 | v.CanCollide=false | |
739 | end | |
740 | end | |
741 | end | |
742 | end | |
743 | sound(215395388,1,0.87,head) | |
744 | for i=0,1.25,0.1*speed do | |
745 | poseJointC0(rm,rmC0,CFrame.Angles(math.rad(90),math.rad(0),math.rad(12)),i*speed) | |
746 | poseJointC0(lm,lmC0,CFrame.Angles(math.rad(90),math.rad(0),math.rad(-12)),i*speed) | |
747 | poseJointC0(rlm,rlmC0,CFrame.Angles(math.rad(-45),math.rad(0),math.rad(0)),i*speed) | |
748 | poseJointC0(llm,llmC0,CFrame.Angles(math.rad(-23.5),math.rad(0),math.rad(0)),i*speed) | |
749 | poseJointC0(neck,nC0,CFrame.Angles(math.rad(0),math.rad(85),math.rad(0)),i*speed) | |
750 | poseJointC0(rj,rjC0,CFrame.Angles(math.rad(0),math.rad(-85),math.rad(0)),i*speed) | |
751 | ||
752 | poseJointC1(rm,rmC1,CFrame.new(0,-0.65,0),i*speed) | |
753 | poseJointC1(lm,lmC1,CFrame.new(0,0,0),i*speed) | |
754 | poseJointC1(rlm,rlmC1,CFrame.new(0,-0.45,0.3),i*speed) | |
755 | poseJointC1(llm,llmC1,CFrame.new(0,-0.45,0.3),i*speed) | |
756 | poseJointC1(neck,nC1,CFrame.new(0,0,0),i*speed) | |
757 | poseJointC1(rj,rjC1,CFrame.new(0,0.45,0),i*speed) | |
758 | swait() | |
759 | end | |
760 | local bv=Instance.new("BodyVelocity",tor) | |
761 | bv.maxForce=Vector3.new(math.huge,math.huge,math.huge) | |
762 | bv.velocity=head.CFrame.lookVector*55+Vector3.new(0,60,0) | |
763 | game.Debris:AddItem(bv,0.1) | |
764 | for i=0,0.25,0.1*speed do | |
765 | poseJointC0(rm,rmC0,CFrame.Angles(math.rad(110),math.rad(0),math.rad(24)),speed) | |
766 | poseJointC0(lm,lmC0,CFrame.Angles(math.rad(-45),math.rad(0),math.rad(-24)),speed) | |
767 | poseJointC0(rlm,rlmC0,CFrame.Angles(math.rad(-45),math.rad(0),math.rad(0)),speed) | |
768 | poseJointC0(llm,llmC0,CFrame.Angles(math.rad(-23.5),math.rad(0),math.rad(0)),speed) | |
769 | poseJointC0(neck,nC0,CFrame.Angles(math.rad(-12),math.rad(75),math.rad(0)),speed) | |
770 | poseJointC0(rj,rjC0,CFrame.Angles(math.rad(-75),math.rad(-75),math.rad(0)),speed) | |
771 | ||
772 | poseJointC1(rm,rmC1,CFrame.new(0,-0.45,0),speed) | |
773 | poseJointC1(lm,lmC1,CFrame.new(0,0,0),speed) | |
774 | poseJointC1(rlm,rlmC1,CFrame.new(0,0,0),speed) | |
775 | poseJointC1(llm,llmC1,CFrame.new(0,0,0),speed) | |
776 | poseJointC1(neck,nC1,CFrame.new(0,0,0),speed) | |
777 | poseJointC1(rj,rjC1,CFrame.new(0,0,0),speed) | |
778 | swait() | |
779 | end | |
780 | local didHit=false | |
781 | coroutine.resume(coroutine.create(function() | |
782 | if (grabbedCharacter:WaitForChild("Torso").Position-tor.Position).magnitude<=10 then | |
783 | if not dmgDebounce then | |
784 | dmgDebounce=true | |
785 | sound(227194094,1,0.8,ra) | |
786 | sound(215395468,2.5,0.9,head) | |
787 | coroutine.resume(coroutine.create(function() | |
788 | for i=1,3 do | |
789 | magicBrick(Vector3.new(0,0,0),head.CFrame*CFrame.Angles(math.rad(24),0,0)*CFrame.new(0,0,-8+i*2),Vector3.new(1,1,1),BrickColor.new("Institutional white"),"SmoothPlastic",0,true,false,10,10,10,10,10,10,"FileMesh","http://www.roblox.com/asset/?id=3270017",Vector3.new(3,3,3),Vector3.new(2+i,2+i,0.5),6,true,1,0,CFrame.new(0,0,0)*CFrame.Angles(0,0,0)) | |
790 | end | |
791 | end)) | |
792 | sound(206082327,2.5,1,grabbedCharacter:WaitForChild("Torso")) | |
793 | grabbedCharacter.Humanoid:TakeDamage(grabbedCharacter.Humanoid.MaxHealth/5) | |
794 | grabbedCharacter.Humanoid.PlatformStand=false | |
795 | local bv=Instance.new("BodyVelocity",grabbedCharacter:WaitForChild("Torso")) | |
796 | bv.maxForce=Vector3.new(math.huge,math.huge,math.huge) | |
797 | bv.velocity=head.CFrame.lookVector*100+Vector3.new(0,0,0) | |
798 | game.Debris:AddItem(bv,0.05) | |
799 | didHit=true | |
800 | wait(0.5) | |
801 | dmgDebounce=false | |
802 | end | |
803 | end | |
804 | end)) | |
805 | for i=0,0.25,0.1*speed do | |
806 | poseJointC0(rm,rmC0,CFrame.Angles(math.rad(120),math.rad(0),math.rad(-24)),speed) | |
807 | poseJointC0(lm,lmC0,CFrame.Angles(math.rad(-45),math.rad(0),math.rad(-24)),speed) | |
808 | poseJointC0(rlm,rlmC0,CFrame.Angles(math.rad(-45),math.rad(0),math.rad(0)),speed) | |
809 | poseJointC0(llm,llmC0,CFrame.Angles(math.rad(-23.5),math.rad(0),math.rad(0)),speed) | |
810 | poseJointC0(neck,nC0,CFrame.Angles(math.rad(0),math.rad(-45),math.rad(0)),speed) | |
811 | poseJointC0(rj,rjC0,CFrame.Angles(math.rad(-35),math.rad(45),math.rad(0)),speed) | |
812 | ||
813 | poseJointC1(rm,rmC1,CFrame.new(0,0.35,0),speed) | |
814 | poseJointC1(lm,lmC1,CFrame.new(0,0,0),speed) | |
815 | poseJointC1(rlm,rlmC1,CFrame.new(0,0,0),speed) | |
816 | poseJointC1(llm,llmC1,CFrame.new(0,0,0),speed) | |
817 | poseJointC1(neck,nC1,CFrame.new(0,0,0),speed) | |
818 | poseJointC1(rj,rjC1,CFrame.new(0,0,0),speed) | |
819 | swait() | |
820 | end | |
821 | currentAnim=nil | |
822 | end | |
823 | end | |
824 | end | |
825 | ||
826 | function spar1() | |
827 | if not doingMove then | |
828 | doingMove=true | |
829 | anim("spar1") | |
830 | doingMove=false | |
831 | end | |
832 | end | |
833 | ||
834 | function spar2() | |
835 | if not doingMove then | |
836 | doingMove=true | |
837 | anim("spar2") | |
838 | doingMove=false | |
839 | end | |
840 | end | |
841 | ||
842 | function grab() | |
843 | if not doingMove then | |
844 | doingMove=true | |
845 | hum.WalkSpeed=0 | |
846 | anim("grab") | |
847 | doingMove=false | |
848 | end | |
849 | end | |
850 | ||
851 | function release() | |
852 | if not doingMove then | |
853 | doingMove=true | |
854 | anim("release") | |
855 | doingMove=false | |
856 | end | |
857 | end | |
858 | ||
859 | function airAttack() | |
860 | if not doingMove then | |
861 | doingMove=true | |
862 | anim("airAttack") | |
863 | doingMove=false | |
864 | end | |
865 | end | |
866 | ||
867 | local currentSparAttack=1 | |
868 | ||
869 | mouse.Button1Down:connect(function() | |
870 | if grabbingMode then return end | |
871 | if currentSparAttack==1 then | |
872 | currentSparAttack=2 | |
873 | spar1() | |
874 | elseif currentSparAttack==2 then | |
875 | currentSparAttack=1 | |
876 | spar2() | |
877 | end | |
878 | end) | |
879 | ||
880 | mouse.KeyDown:connect(function(k) | |
881 | if k=="f" then | |
882 | if not grabbingMode then | |
883 | grab() | |
884 | elseif grabbingMode then | |
885 | grabbingMode=false | |
886 | release() | |
887 | hideGrabOptions() | |
888 | end | |
889 | end | |
890 | if k=="e" then | |
891 | if grabbingMode then | |
892 | grabbingMode=false | |
893 | airAttack() | |
894 | hideGrabOptions() | |
895 | end | |
896 | end | |
897 | if k=="v" then | |
898 | sound(221920694,1,0.87,workspace) | |
899 | coroutine.resume(coroutine.create(function() | |
900 | for i=1,50 do | |
901 | magicBrick(Vector3.new(0,0,0),tor.CFrame*CFrame.new(0,0,0)*CFrame.new(math.random(1,50),math.random(1,50),math.random(1,50))*CFrame.new(-50/2,-50/2,-50/2),Vector3.new(1,1,1),BrickColor.new("Deep orange"),"Neon",0,true,false,10,10,10,10,10,10,"Sphere","",Vector3.new(3.5,3.5,3.5),Vector3.new(5,5,5),16,true,1,0,CFrame.new(0,-1,0)*CFrame.Angles(math.random(),math.random(),math.random())) | |
902 | magicBrick(Vector3.new(0,0,0),tor.CFrame*CFrame.new(0,0,0)*CFrame.new(math.random(1,50),math.random(1,50),math.random(1,50))*CFrame.new(-50/2,-50/2,-50/2),Vector3.new(1,1,1),BrickColor.new("Really black"),"Neon",0,true,false,10,10,10,10,10,10,"Sphere","",Vector3.new(3.5,3.5,3.5),Vector3.new(1,1,1),35,true,1,0,CFrame.new(0,2,0)*CFrame.Angles(math.random(),math.random(),math.random())) | |
903 | swait(.1) | |
904 | end | |
905 | end)) | |
906 | end | |
907 | end) | |
908 | ||
909 | game:GetService("RunService").RenderStepped:connect(function() | |
910 | if grabbingMode then | |
911 | hum.WalkSpeed=defWS/1.1 | |
912 | hum.JumpPower=0 | |
913 | end | |
914 | if not grabbingMode then | |
915 | hum.WalkSpeed=defWS | |
916 | hum.JumpPower=defJP | |
917 | end | |
918 | if attacking then | |
919 | if RLattacking then | |
920 | for i,v in pairs(workspace:GetChildren()) do | |
921 | if v:findFirstChild("Humanoid",true)~=nil and v~=ch then | |
922 | local vTorso=v:WaitForChild("Torso"); | |
923 | if (vTorso.Position-rl.Position).magnitude<=2.5 then | |
924 | if not dmgDebounce then | |
925 | dmgDebounce=true | |
926 | sound(694048922,5,1,vTorso) | |
927 | v.Humanoid:TakeDamage(7.5) | |
928 | local bv=Instance.new("BodyVelocity",v:WaitForChild("Torso")) | |
929 | bv.maxForce=Vector3.new(math.huge,math.huge,math.huge) | |
930 | bv.velocity=head.CFrame.lookVector*25+Vector3.new(0,10,0) | |
931 | game.Debris:AddItem(bv,0.05) | |
932 | wait(0.5) | |
933 | dmgDebounce=false | |
934 | end | |
935 | end | |
936 | end | |
937 | end | |
938 | end | |
939 | if grabbing then | |
940 | for i,v in pairs(workspace:GetChildren()) do | |
941 | if v:findFirstChild("Humanoid",true)~=nil and v~=ch then | |
942 | local vTorso=v:WaitForChild("Torso"); | |
943 | if (vTorso.Position-ra.Position).magnitude<=3 then | |
944 | if not dmgDebounce then | |
945 | dmgDebounce=true | |
946 | sound(200632821,5,1,vTorso) | |
947 | v.Humanoid:TakeDamage(2) | |
948 | ||
949 | grabbingMode=true | |
950 | grabbedCharacter=vTorso.Parent | |
951 | grabbedCharacter.Humanoid.PlatformStand=false | |
952 | grabbedCharacter.Humanoid.WalkSpeed=0 | |
953 | grabbedCharacter.Humanoid.JumpPower=0 | |
954 | for i,v in pairs(grabbedCharacter:GetChildren()) do | |
955 | if v:IsA("Part") then | |
956 | v.CanCollide=false | |
957 | end | |
958 | if v.ClassName=="Hat" then | |
959 | for i,v in pairs(v:GetChildren()) do | |
960 | if v:IsA("BasePart") then | |
961 | v.CanCollide=false | |
962 | end | |
963 | end | |
964 | end | |
965 | end | |
966 | grabWeld=Instance.new("Weld",grabPart) | |
967 | grabWeld.Part0=vTorso | |
968 | grabWeld.Part1=grabPart | |
969 | grabWeld.C0=CFrame.Angles(math.rad(90),0,0) | |
970 | ||
971 | displayGrabOptions() | |
972 | ||
973 | wait(0.5) | |
974 | dmgDebounce=false | |
975 | end | |
976 | end | |
977 | end | |
978 | end | |
979 | end | |
980 | end | |
981 | if hum.Jump and not grabbingMode then | |
982 | anim("jump") | |
983 | swait(1/4) | |
984 | hum.Jump=false | |
985 | end | |
986 | if Vector3.new(0,tor.Velocity.y,0).magnitude>=10 and currentAnim~="jump" and currentAnim~="land" and hum:GetState()==Enum.HumanoidStateType.Freefall and not hum.Jump then | |
987 | anim("descend") | |
988 | end | |
989 | if Vector3.new(tor.Velocity.x,0,tor.Velocity.z).magnitude<5 and currentAnim~="land" and currentAnim~="jump" and currentAnim~="descend" and hum:GetState()~=Enum.HumanoidStateType.Jumping and hum:GetState()~=Enum.HumanoidStateType.Freefall then | |
990 | anim("idle") | |
991 | elseif Vector3.new(tor.Velocity.x,0,tor.Velocity.z).magnitude>=5 and currentAnim~="land" and currentAnim~="jump" and currentAnim~="descend" and hum:GetState()~=Enum.HumanoidStateType.Jumping and hum:GetState()~=Enum.HumanoidStateType.Freefall then | |
992 | anim("walk") | |
993 | end | |
994 | if grabbingMode then | |
995 | grabbedCharacter.Humanoid.PlatformStand=false | |
996 | anim("grabPose") | |
997 | end | |
998 | grabPart.CFrame=ra:GetRenderCFrame()*CFrame.new(0,-1.25,-0.6)*CFrame.Angles(math.rad(-90),0,0) | |
999 | end) |