AndrewTheMaster

Brock

Jun 30th, 2017
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 43.12 KB | None | 0 0
  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. mran2 = function(a,b) return mran(a*1000,b*1000)/1000 end
  11. ud=UDim2.new
  12. bn = BrickColor.new
  13. c3 = Color3.new
  14. -----
  15. --Player='Raveled'
  16. Players=game:service'Players'
  17. Player=Players.LocalPlayer --[Player]
  18. PChar=Player.Character
  19.  
  20. as,so={},{'metal','Block','Slash','Slash2','Hit','Kick'}
  21. as.corner='11294911'
  22. as.cone='1033714'
  23. as.ring="3270017"
  24. as.Chakram='47260990'
  25. as.ring2='18430887'
  26. as.blast='20329976'
  27. as.missile='10207677'
  28. as.fire='2693346'
  29. as.boom='3264793'
  30. as.slash='10209645'
  31. as.abscond='2767090'
  32. as.firelaser='13775494'
  33. as.diamond='9756362'
  34. as.metal='rbxasset://sounds\\unsheath.wav'
  35. as.Block = 'rbxasset://sounds\\metal.ogg'
  36. as.Slash = '10209645'
  37. as.Slash2 = '46760716'
  38. as.Hit='10209583'
  39. as.Kick='46153268'
  40. as.cast='2101137'
  41. as.rockhead= '21629626'
  42. as.rockheadt='21629620'
  43.  
  44.  
  45. for i,v in pairs(as) do
  46. if type(tonumber(v:sub(1,3)))=="number" then
  47. as[i]="http://www.roblox.com/asset/?id="..v
  48. end
  49. end
  50.  
  51. LastMade=nil
  52. iNew=function(tab)
  53. local v=Instance.new(tab[1])
  54. for Ind,Val in pairs(tab) do
  55. if Ind~=1 and Ind~=2 then
  56. v[Ind] = Val
  57. end
  58. end
  59. v.Parent=tab[2]==0 and LastMade or tab[2]
  60. LastMade=v
  61. return v
  62. end
  63. iPart=function(tab)
  64. local v=Instance.new(tab.type or 'Part')
  65. if tab.type~='CornerWedgePart' then v.formFactor='Custom' end
  66. v.TopSurface=0 v.BottomSurface=0
  67. if tab.sc then
  68. v.Size=v3(tab[2]*tab.sc,tab[3]*tab.sc,tab[4]*tab.sc)
  69. else
  70. v.Size=v3(tab[2],tab[3],tab[4])
  71. end
  72. if tab.co then v.BrickColor=bn(tab.co) end
  73. if tab.tr then v.Transparency=tab.tr end
  74. if tab.rf then v.Reflectance=tab.rf end
  75. if tab.can then v.CanCollide=tab.can end
  76. if tab.cf then v.CFrame=tab.cf end
  77. if tab.an then v.Anchored=tab.an end
  78. if tab.na then v.Name=tab.na end
  79. if tab.ma then v.Material=tab.ma end
  80. v.Parent=tab[1]
  81. v:BreakJoints()
  82. LastMade=v
  83. return v
  84. end
  85. function getoutline(x,z,i)
  86. return math.sqrt(x^2+z^2)+(i or 0.05),mdeg(math.atan2(x,z))
  87. end
  88. function v32(cf)
  89. local x,y,z=cf:toEulerAnglesXYZ()
  90. return v3(mdeg(x),mdeg(y),mdeg(z))
  91. end
  92. WeldLib={}
  93. function GetWeld(weld,CO)
  94. if not WeldLib[weld] then
  95. local x0,y0,z0=weld.C0:toEulerAnglesXYZ()
  96. local x1,y1,z1=weld.C1:toEulerAnglesXYZ()
  97. WeldLib[weld]={[0]=v3(mdeg(x0),mdeg(y0),mdeg(z0)),[1]=v3(mdeg(x1),mdeg(y1),mdeg(z1))}
  98. end
  99. return weld['C'..CO].p,WeldLib[weld][CO]
  100. end
  101. function ClearWeld(weld)
  102. if WeldLib[weld] then WeldLib[weld]=nil end
  103. end
  104. function TweenNum(i,loops,i1,i2,smooth)
  105. smooth = smooth or 1
  106. local perc
  107. if smooth == 1 then perc = math.sin((math.pi/2)/loops*i) else perc = i/loops end
  108. local ton
  109. if i1 > i2 then
  110. ton = -math.abs(i1 - i2) *perc
  111. else
  112. ton = math.abs(i1 - i2) *perc
  113. end
  114. return i1+ton
  115. end
  116. function TweenV3(i,loops,v1,v2,smooth)
  117. smooth = smooth or 1
  118. local perc
  119. if smooth == 1 then perc = math.sin((math.pi/2)/loops*i) else perc = i/loops end
  120. local tox2,toy2,toz2 = 0,0,0
  121. if v1.x > v2.x then
  122. tox2 = -math.abs(v1.x - v2.x) *perc
  123. else
  124. tox2 = math.abs(v1.x - v2.x) *perc
  125. end
  126. if v1.y > v2.y then
  127. toy2 = -math.abs(v1.y - v2.y) *perc
  128. else
  129. toy2 = math.abs(v1.y - v2.y) *perc
  130. end
  131. if v1.z > v2.z then
  132. toz2 = -math.abs(v1.z - v2.z) *perc
  133. else
  134. toz2 = math.abs(v1.z - v2.z) *perc
  135. end
  136. return v3(v1.x + tox2,v1.y + toy2,v1.z + toz2)
  137. end
  138. function TweenCF(i,loops,origpos,origangle,nextpos,nextangle,smooth)
  139. smooth = smooth or 1
  140. local perc
  141. if smooth == 1 then perc = math.sin((math.pi/2)/loops*i) else perc = i/loops end
  142. local tox,toy,toz = 0,0,0
  143. if origangle.x > nextangle.x then tox = -math.abs(origangle.x - nextangle.x) *perc
  144. else tox = math.abs(origangle.x - nextangle.x) *perc end
  145. if origangle.y > nextangle.y then toy = -math.abs(origangle.y - nextangle.y) *perc
  146. else toy = math.abs(origangle.y - nextangle.y) *perc end
  147. if origangle.z > nextangle.z then toz = -math.abs(origangle.z - nextangle.z) *perc
  148. else toz = math.abs(origangle.z - nextangle.z) *perc end
  149. local tox2,toy2,toz2 = 0,0,0
  150. if origpos.x > nextpos.x then
  151. tox2 = -math.abs(origpos.x - nextpos.x) *perc
  152. else tox2 = math.abs(origpos.x - nextpos.x) *perc end
  153. if origpos.y > nextpos.y then
  154. toy2 = -math.abs(origpos.y - nextpos.y) *perc
  155. else toy2 = math.abs(origpos.y - nextpos.y) *perc end
  156. if origpos.z > nextpos.z then
  157. toz2 = -math.abs(origpos.z - nextpos.z) *perc
  158. else toz2 = math.abs(origpos.z - nextpos.z) *perc end
  159. return cn(origpos.x + tox2,origpos.y + toy2,origpos.z + toz2)*ca(origangle.x + tox,origangle.y + toy,origangle.z + toz)
  160. end
  161. function SetWeld(weld,CO,i, loops, origpos,origangle, nextpos,nextangle,smooth)
  162. loops=math.floor(loops)
  163. smooth = smooth or 1
  164. if not WeldLib[weld] then
  165. local x0,y0,z0=weld.C0:toEulerAnglesXYZ()
  166. local x1,y1,z1=weld.C1:toEulerAnglesXYZ()
  167. WeldLib[weld]={[0]=v3(mdeg(x0),mdeg(y0),mdeg(z0)),[1]=v3(mdeg(x1),mdeg(y1),mdeg(z1))}
  168. end
  169. local perc =smooth==1 and math.sin((math.pi/2)/loops*i) or i/loops
  170. --print(weld.Part1)
  171. local tox,toy,toz = 0,0,0
  172. tox = origangle.x > nextangle.x and -math.abs(origangle.x - nextangle.x) *perc or math.abs(origangle.x - nextangle.x) *perc
  173. toy = origangle.y > nextangle.y and -math.abs(origangle.y - nextangle.y) *perc or math.abs(origangle.y - nextangle.y) *perc
  174. toz = origangle.z > nextangle.z and -math.abs(origangle.z - nextangle.z) *perc or math.abs(origangle.z - nextangle.z) *perc
  175. local tox2,toy2,toz2 = 0,0,0
  176. tox2= origpos.x > nextpos.x and -math.abs(origpos.x - nextpos.x) *perc or math.abs(origpos.x - nextpos.x) *perc
  177. toy2= origpos.y > nextpos.y and -math.abs(origpos.y - nextpos.y) *perc or math.abs(origpos.y - nextpos.y) *perc
  178. toz2= origpos.z > nextpos.z and -math.abs(origpos.z - nextpos.z) *perc or math.abs(origpos.z - nextpos.z) *perc
  179. WeldLib[weld][CO] = v3(origangle.x + tox,origangle.y + toy,origangle.z + toz)
  180. weld['C'..CO] = cn(origpos.x + tox2,origpos.y + toy2,origpos.z + toz2)*ca(origangle.x + tox,origangle.y + toy,origangle.z + toz)
  181. end
  182. function se(Key,Text)
  183. local Values = {}
  184. for value in (Text..Key):gmatch("(.-)"..Key) do
  185. table.insert(Values,value)
  186. end
  187. local Values2={}
  188. for i,v in pairs(Values) do Values2[i]=Values[i]:lower() end
  189. return Values,Values2
  190. end
  191. findplayer=function(nn)
  192. if not nn then return nil end
  193. local found
  194. for i,v in pairs(Players:GetPlayers()) do
  195. if string.find(v.Name:lower(),nn:lower()) and not found then found=v end
  196. end
  197. return found
  198. end
  199. LoopFunctions={}
  200. iLoopFunctions=-9000
  201. function DoLoop(times,func)
  202. iLoopFunctions=iLoopFunctions+1
  203. LoopFunctions[tonumber(iLoopFunctions)]={times,0,func}
  204. end
  205. function MeshEffect(times,cf1,cf2,scale1,scale2,tr1,tr2,col,type)
  206. local cf2=cf2 or cf1
  207. local v=iPart{Char,0.2,0.2,0.2,co=col,cf=cf1,na='Mesh',an=true,ca=false,tr=tr1}
  208. local mesh=iNew{'SpecialMesh',v,Scale=scale1}
  209. if type=='Brick' or type=='Sphere' then
  210. mesh.MeshType=type
  211. else
  212. mesh.MeshId=type
  213. end
  214. local x1,y1,z1 = cf1:toEulerAnglesXYZ()
  215. local x2,y2,z2 = cf2:toEulerAnglesXYZ()
  216. local count=0
  217. DoLoop(times,function(i) count=count+1
  218. mesh.Scale=TweenV3(count,times,scale1,scale2,1)*((type=='Brick' or type=='Sphere') and 5 or 1)
  219. v.Transparency=TweenNum(count,times,tr1,tr2,1)
  220. v.CFrame=TweenCF(count,times,cf1.p,v3(mdeg(x1),mdeg(y1),mdeg(z1)),cf2.p,v3(mdeg(x2),mdeg(y2),mdeg(z2)),1)
  221. if i==1 then v:Remove() end end)
  222. end
  223. Dmgv={8,16}
  224. HitDebounce={}
  225. Damage=function(Hum,Mult,Sound)
  226. if not Hum or Hum.Parent==Char then return end
  227. if not Hum.Parent:findFirstChild'Torso' then return end
  228. local HName=Hum.Parent.Name
  229. if HitDebounce[HName] and HitDebounce[HName]>tick() then return end
  230. HitDebounce[HName]=tick()+0.2
  231. local Mult=Mult or 1
  232. local Dealt=mran(Dmgv[1],Dmgv[2])*Mult
  233. local col=''
  234. if Hum.Parent:findFirstChild'Block' and Hum.Parent.Block.Value>0 then
  235. Hum.Parent.Block.Value=Hum.Parent.Block.Value-1
  236. col='Bright blue'
  237. else
  238. Hum.Health=Hum.Health-Dealt
  239. col='Bright red'
  240. end
  241. if Sound then so[col=='Bright blue' and 'Block' or 'Hit']:Play() end
  242. local DoH=iNew{'Model',Char,Name=col=='Bright blue' and 'Block' or Dealt}
  243. iNew{'Humanoid',DoH,MaxHealth=1/0,Health=1/0,Name=''}
  244. local Doh=iPart{DoH,0.6,0.2,0.6,co=col,an=true} Doh.Name='Head' iNew{'CylinderMesh',Doh}
  245. local dofs=Hum.Parent.Torso.CFrame*cn(mran2(-1.5,1.5),2.5,mran2(-1,1)) Doh.CFrame=dofs
  246. DoLoop(40,function(i) Doh.CFrame=dofs*cn(0,i*2,0) Doh.Transparency=i-0.5 if i==1 then DoH:Remove() end end)
  247. end
  248. AOEFind = function(pos,ra,f,f2) -- range get
  249. local p0,p1=pos-v3(ra/2,ra/2,ra/2),pos+v3(ra/2,ra/2,ra/2)
  250. pcall(function()
  251. for i,v in pairs(workspace:FindPartsInRegion3(Region3.new(p0,p1),nil,100)) do
  252. local Hum=v.Parent:findFirstChild'Humanoid'
  253. if v.Name=='Torso' and Hum and Hum.Health>0 and v.Parent~=Char then
  254. pcall(function() f(Hum,v) end)
  255. elseif f2 and not Hum then
  256. pcall(function() f2(v) end)
  257. end
  258. end
  259. end)
  260. end
  261. function FindSurface(part, position)
  262. local obj = part.CFrame:pointToObjectSpace(position)
  263. local siz = part.Size/2
  264. for i,v in pairs(Enum.NormalId:GetEnumItems()) do
  265. local vec = Vector3.FromNormalId(v)
  266. local wvec = part.CFrame:vectorToWorldSpace(vec)
  267. local vz = (obj)/(siz*vec)
  268. 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
  269. return wvec,vec
  270. end
  271. end
  272. if part.className == "WedgePart" then
  273. return part.CFrame:vectorToWorldSpace(Vector3.new(0,0.707,-0.707)), Vector3.new(0,0.707,-0.707)
  274. end
  275. end
  276. function FaceBG(pos)
  277. BG.maxTorque=v3(1,1,1)/0
  278. BG.cframe=cn(Torso.Position,v3(pos.x,Torso.Position.y,pos.z))*cn(0,0,-1)
  279. end
  280. ray = function(Pos, Dir,tab,length) -- ray cast
  281. return workspace:FindPartOnRay(Ray.new(Pos, Dir.unit *(length or 999)),tab)
  282. end
  283. function Projectile(ofs,speed,part,adj,fhit,fnohit)
  284. part.CFrame=ofs*adj
  285. local stop=false
  286. DoLoop(50,function(x)
  287. local i=x
  288. if not stop then
  289. local hit,pos=ray(ofs.p,ofs.p-ofs*cn(0,0,-1).p,Char,speed+1)
  290. if hit then
  291. --Hit
  292. if fhit then i=1 stop=true
  293. ----
  294. local cof=FindSurface(hit,pos)
  295. --iPart{workspace,2,2,0.2,cf=cn(pos,pos+cof),an=true,co='Black'}
  296. ----
  297. local x,y,z=ofs:toEulerAnglesXYZ()
  298. ofs=cn(pos)*ca(mdeg(x),mdeg(y),mdeg(z))*cn(0,0,-part.Size.y/2)
  299. part.CFrame=ofs*adj
  300. fhit(hit,pos) end
  301. else
  302. ofs=ofs*cn(0,0,speed)
  303. part.CFrame=ofs*adj
  304. end
  305. if i==1 then
  306. if fnohit then fnohit(ofs.p) else part:Remove() end
  307. end
  308. end
  309. end)
  310. end
  311.  
  312. CC={'','Bright yellow','Flame reddish orange'}
  313. Scale=5
  314. Mat='Marble'
  315.  
  316. SpawnPoint=PChar.Torso.CFrame*cn(0,1+Scale*3,-20-Scale*1.5)
  317. name='Brock'
  318. pcall(function() _G.OldMod00:Remove() end)
  319.  
  320. ---------------
  321. UNDYING=function()
  322. pcall(function() fUNDYING:disconnect() end)
  323. pcall(function() local hum=Grabbing.Part1.Parent.Humanoid Grabbing:Remove() Grabbing=nil hum.PlatformStand=false end)
  324. Torso.Anchored=true Torso.Transparency=1 Torso.CanCollide=false
  325. Stand:Remove() Head:Remove()
  326. local RespawnPos=cn(Torso.CFrame.p+v3(0,Scale*5,0))*ca(0,mran(-360,360),0)
  327. wait(4)
  328. Anim='Reviving'
  329. local oldChar=Char
  330. local oldRootLimbs=RootLimbs
  331. for i,v in pairs(oldRootLimbs) do v.Anchored=true end
  332. fMarble(Char,function(v) v.Anchored=true end)
  333. MakeAI(RespawnPos) Anim='Reviving'
  334. fMarble(Char,function(v) v.Transparency=1 end)
  335. for i,v in pairs(RootLimbs) do v.Transparency=1 end
  336. wait(0.1) Torso.Anchored=true
  337. local Reconstruct={}
  338. fMarble(oldChar,function(v)
  339. local x1,y1,z1=v.CFrame:toEulerAnglesXYZ()
  340. local x2,y2,z2=Char[v.Parent.Name][v.Name].CFrame:toEulerAnglesXYZ()
  341. Reconstruct[#Reconstruct+1]={v,Char[v.Parent.Name][v.Name],v.Position,v3(mdeg(x1),mdeg(y1),mdeg(z1)),v3(mdeg(x2),mdeg(y2),mdeg(z2))} end)
  342. for i,v in pairs(oldRootLimbs) do
  343. local x1,y1,z1=v.CFrame:toEulerAnglesXYZ()
  344. local x2,y2,z2=Char[v.Name].CFrame:toEulerAnglesXYZ()
  345. Reconstruct[#Reconstruct+1]={v,Char[v.Name],v.Position,v3(mdeg(x1),mdeg(y1),mdeg(z1)),v3(mdeg(x2),mdeg(y2),mdeg(z2))} end
  346. local tweens=100
  347. for tween=1,tweens do
  348. for i,v in pairs(Reconstruct) do v[1].CFrame=TweenCF(tween,tweens,v[3],v[4],v[2].Position,v[5],1)*ca(360*(tween/tweens),720*(tween/tweens),0) end
  349. wait()
  350. end
  351. oldChar:Remove()
  352. fMarble(Char,function(v) v.Transparency=0 end)
  353. for i,v in pairs(RootLimbs) do v.Transparency=0 end
  354. Torso.Anchored=false wait()
  355. BG.maxTorque=v3(1,1,1)/0 BG.cframe=Torso.CFrame
  356. ReturnAnim()
  357. wait(2)
  358. BG.maxTorque=nov3
  359. Anim,ArmAnim,LegAnim='None','None','None'
  360. end
  361. ------
  362.  
  363. function MakeAI(SpawnPoint2)
  364. Char=iNew{'Model',workspace,Name=name,archivable=false} _G.OldMod00=Char
  365. Torso=iPart{Char,2,2,1,sc=Scale,co=CC[1],cf=SpawnPoint2,na='Torso'}
  366. pTorso=iPart{Char,2,2,1,sc=Scale,co=CC[1],cf=SpawnPoint2,na='pTorso'}
  367. Head=iPart{Char,1,1,1,sc=Scale,co=CC[1],na='Head'}
  368. pHead=iPart{Char,1,1,1,sc=Scale,co=CC[1],na='pHead'} iNew{'SpecialMesh',pHead,Scale=v3(1,1,1)*Scale/1.4,VertexColor=v3(1,1,1)/1.65,MeshId=as.rockhead,TextureId=as.rockheadt}
  369. Stand=iPart{Char,1.5,2.9,1.1,sc=Scale,co=CC[1],na='Stand'}
  370.  
  371. for i,n in pairs(so) do
  372. local v=iNew{'Sound',Torso,Volume=1,Pitch=1,Looped=false,Name=v,SoundId=as[n]}
  373. so[n]=v
  374. end
  375.  
  376.  
  377. LSho=iPart{Char,1,1.5,1,sc=Scale,co=CC[1],na='LSho'}
  378. LArm=iPart{Char,1,1.5,1,sc=Scale,co=CC[1],na='LArm'}
  379.  
  380. RSho=iPart{Char,1,1.5,1,sc=Scale,co=CC[1],na='RSho'}
  381. RArm=iPart{Char,1,1.5,1,sc=Scale,co=CC[1],na='RArm'}
  382.  
  383. LThi=iPart{Char,1,1.5,1,sc=Scale,co=CC[1],na='LThi'}
  384. LLeg=iPart{Char,1,1.5,1,sc=Scale,co=CC[1],na='LLeg'}
  385.  
  386. RThi=iPart{Char,1,1.5,1,sc=Scale,co=CC[1],na='RThi'}
  387. RLeg=iPart{Char,1,1.5,1,sc=Scale,co=CC[1],na='RLeg'}
  388.  
  389.  
  390.  
  391. nov3=v3(0,0,0)
  392. Marble={}
  393. MarbleSpeed=0.2
  394. MarbleMax=12
  395. for i,v in pairs({pTorso,LSho,RSho,LArm,RArm,LThi,RThi,LLeg,RLeg}) do
  396. v.Material=Mat
  397. local VS=v.Size
  398. local va=1.2
  399. --v.Size=v.Size/1.5
  400. local vv=v:Clone()
  401. for x=-1,1,2 do
  402. for y=-1,1,2 do
  403. for z=-1,1,2 do
  404. local marb=vv:Clone() marb.Size=VS/mran2(1.8,2.2) marb.Parent=v marb.Name=x..y..z
  405. local wmarb=iNew{'Weld',marb,Part0=v,Part1=marb,C0=cn(VS.x/4*x/va,VS.y/4*y,VS.z/4*z/va)*ca(mran(-MarbleMax,MarbleMax),mran(-MarbleMax,MarbleMax),mran(-MarbleMax,MarbleMax))}
  406. Marble[#Marble+1]={wmarb,mran(-1,1),mran(-1,1),mran(-1,1)}
  407. end end end
  408. iNew{'BlockMesh',v,Scale=v3(1,1,1)/1.5}
  409. v.Transparency=0 --.995
  410. end
  411.  
  412. for i,v in pairs(Char:children()) do if v:IsA'BasePart' and v.Name~='Torso' then v.CFrame=Torso.CFrame end end
  413.  
  414. Head.Transparency=0.99
  415. Head.CanCollide=false
  416. Neck=iNew{'Weld',Torso,Part0=Torso,Part1=Head,C0=cn(0,0,0)}
  417. pNeck=iNew{'Weld',Torso,Part0=pTorso,Part1=pHead,C0=cn(0,1.5*Scale,0)}
  418. Hum=iNew{'Humanoid',Char}
  419.  
  420.  
  421. Torso.Transparency=1
  422. wTorso=iNew{'Weld',Torso,Part0=Torso,Part1=pTorso,C0=cn(0,-2.5*Scale,0)*ca(0,0,0)}
  423. oTorso=cn(0,0,0)
  424.  
  425. Stand.Transparency=1
  426. wStand=iNew{'Weld',Torso,Part0=Torso,Part1=Stand,C0=cn(0,-2.5*Scale,0)}
  427.  
  428. wLSho=iNew{'Weld',LSho,Part0=pTorso,Part1=LSho,C0=cn(-1.5*Scale,0.75*Scale,0),C1=cn(0,0.25*Scale,0)}
  429. wLArm=iNew{'Weld',LArm,Part0=LSho,Part1=LArm,C0=cn(0,-0.75*Scale,0),C1=cn(0,0.75*Scale,0)}
  430.  
  431. wRSho=iNew{'Weld',RSho,Part0=pTorso,Part1=RSho,C0=cn(1.5*Scale,0.75*Scale,0),C1=cn(0,0.25*Scale,0)}
  432. wRArm=iNew{'Weld',RArm,Part0=RSho,Part1=RArm,C0=cn(0,-0.75*Scale,0),C1=cn(0,0.75*Scale,0)}
  433.  
  434. wLThi=iNew{'Weld',LThi,Part0=pTorso,Part1=LThi,C0=cn(-0.5*Scale,-1*Scale,0),C1=cn(0,0.75*Scale,0)}
  435. wLLeg=iNew{'Weld',LLeg,Part0=LThi,Part1=LLeg,C0=cn(1,-0.75*Scale,0),C1=cn(0,0.75*Scale,0)}
  436.  
  437. wRThi=iNew{'Weld',RThi,Part0=pTorso,Part1=RThi,C0=cn(0.5*Scale,-1*Scale,0),C1=cn(0,0.75*Scale,0)}
  438. wRLeg=iNew{'Weld',RLeg,Part0=RThi,Part1=RLeg,C0=cn(0,-0.75*Scale,0),C1=cn(0,0.75*Scale,0)}
  439.  
  440. wLSho.C0=cn(-1.5*Scale,0.75*Scale,0)*ca(0,0,-135) --a,b
  441. wLArm.C0=cn(0,-0.75*Scale,0)*ca(0,0,0) --c,d
  442. wRSho.C0=cn(1.5*Scale,0.75*Scale,0)*ca(0,0,135) --e,f
  443. wRArm.C0=cn(0,-0.75*Scale,0)*ca(0,0,0) --g,h
  444. ----
  445. wLThi.C0=cn(-0.5*Scale,-1*Scale,0)*ca(0,0,-45) --i,j
  446. wLLeg.C0=cn(0,-0.75*Scale,0)*ca(0,0,0) --k,l
  447. wRThi.C0=cn(0.5*Scale,-1*Scale,0)*ca(0,0,45) --m,n
  448. wRLeg.C0=cn(0,-0.75*Scale,0)*ca(0,0,0) --o,p
  449.  
  450. BG=iNew{'BodyGyro',Torso,maxTorque=nov3}
  451. BP=iNew{'BodyPosition',Torso,maxForce=nov3}
  452. fUNDYING=Hum.Died:connect(UNDYING)
  453. LimbNames={'LSho','RSho','LArm','RArm','RThi','LThi','RLeg','LLeg'}
  454. for i=1,8 do local v=LimbNames[i] LimbNames[v]=getfenv()["w"..v] end
  455. RootLimbs={pHead,pTorso,LSho,RSho,LArm,RArm,RThi,LThi,RLeg,LLeg}
  456. Anim,LegAnim,ArmAnim='Sit','Sit','Sit'
  457. local a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p=GetPose()
  458. SetWeld(wLSho,0,1,1,a,b,v3(-1.5*Scale,0.5*Scale,0),v3(0,0,-10),1)
  459. SetWeld(wLArm,0,1,1,c,d,v3(0,-0.75*Scale,0),v3(10,0,10),1)
  460. SetWeld(wRSho,0,1,1,e,f,v3(1.5*Scale,0.5*Scale,0),v3(0,0,10),1)
  461. SetWeld(wRArm,0,1,1,g,h,v3(0,-0.75*Scale,0),v3(10,0,-10),1)
  462. SetWeld(wLThi,0,1,1,i,j,v3(-0.5*Scale,-1*Scale,0),v3(15,0,-5),1)
  463. SetWeld(wLLeg,0,1,1,k,l,v3(0,-0.75*Scale,0),v3(-15,0,5),1)
  464. SetWeld(wRThi,0,1,1,m,n,v3(0.5*Scale,-1*Scale,0),v3(15,0,5),1)
  465. SetWeld(wRLeg,0,1,1,o,p,v3(0,-0.75*Scale,0),v3(-15,0,-5),1)
  466. Oa,Ob,Oc,Od,Oe,Of,Og,Oh,Oi,Oj,Ok,Ol,Om,On,Oo,Op=GetPose()
  467. SetWeld(wLSho,0,1,1,nov3,nov3,a,b,1)
  468. SetWeld(wLArm,0,1,1,nov3,nov3,c,d,1)
  469. SetWeld(wRSho,0,1,1,nov3,nov3,e,f,1)
  470. SetWeld(wRArm,0,1,1,nov3,nov3,g,h,1)
  471. SetWeld(wLThi,0,1,1,nov3,nov3,i,j,1)
  472. SetWeld(wLLeg,0,1,1,nov3,nov3,k,l,1)
  473. SetWeld(wRThi,0,1,1,nov3,nov3,m,n,1)
  474. SetWeld(wRLeg,0,1,1,nov3,nov3,o,p,1)
  475. end
  476.  
  477. function GetPose()
  478. local a,b=GetWeld(wLSho,0)
  479. local c,d=GetWeld(wLArm,0)
  480. local e,f=GetWeld(wRSho,0)
  481. local g,h=GetWeld(wRArm,0)
  482. local i,j=GetWeld(wLThi,0)
  483. local k,l=GetWeld(wLLeg,0)
  484. local m,n=GetWeld(wRThi,0)
  485. local o,p=GetWeld(wRLeg,0)
  486. local q,r=GetWeld(wTorso,0)
  487. return a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r
  488. end
  489.  
  490. MakeAI(SpawnPoint)
  491.  
  492. ASpeed=28
  493. coroutine.resume(coroutine.create(function()
  494. SetWeld(wLSho,0,1,1,nov3,nov3,wLSho.C0.p,v3(45,0,-10),1)
  495. SetWeld(wLArm,0,1,1,nov3,nov3,wLArm.C0.p,v3(45,0,10),1)
  496. SetWeld(wRSho,0,1,1,nov3,nov3,wRSho.C0.p,v3(45,0,10),1)
  497. SetWeld(wRArm,0,1,1,nov3,nov3,wRArm.C0.p,v3(45,0,-10),1)
  498. SetWeld(wLThi,0,1,1,nov3,nov3,v3(-0.5*Scale,-0.6*Scale,-0.5*Scale),v3(125,0,-12),1)
  499. SetWeld(wLLeg,0,1,1,nov3,nov3,wLLeg.C0.p,v3(-70,0,12),1)
  500. SetWeld(wRThi,0,1,1,nov3,nov3,v3( 0.5*Scale,-0.6*Scale,-0.5*Scale),v3(125,0,12),1)
  501. SetWeld(wRLeg,0,1,1,nov3,nov3,wRLeg.C0.p,v3(-70,0,-12),1)
  502. SetWeld(wTorso,0,1,1,oTorso,nov3,v3(0,-3*Scale,0),nov3,1)
  503. wait(1)
  504. Anim='Standing'
  505. local a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p=GetPose()
  506. for x=1,ASpeed do
  507. SetWeld(wTorso,0,x,ASpeed,wTorso.C0.p,nov3,oTorso,nov3,1)
  508. SetWeld(wLSho,0,x,ASpeed,a,b,v3(-1.5*Scale,0.5*Scale,0),v3(0,0,-10),1)
  509. SetWeld(wLArm,0,x,ASpeed,c,d,v3(0,-0.75*Scale,0),v3(10,0,10),1)
  510. SetWeld(wRSho,0,x,ASpeed,e,f,v3(1.5*Scale,0.5*Scale,0),v3(0,0,10),1)
  511. SetWeld(wRArm,0,x,ASpeed,g,h,v3(0,-0.75*Scale,0),v3(10,0,-10),1)
  512. SetWeld(wLThi,0,x,ASpeed,i,j,v3(-0.5*Scale,-1*Scale,0),v3(15,0,-5),1)
  513. SetWeld(wLLeg,0,x,ASpeed,k,l,v3(0,-0.75*Scale,0),v3(-15,0,5),1)
  514. SetWeld(wRThi,0,x,ASpeed,m,n,v3(0.5*Scale,-1*Scale,0),v3(15,0,5),1)
  515. SetWeld(wRLeg,0,x,ASpeed,o,p,v3(0,-0.75*Scale,0),v3(-15,0,-5),1)
  516. wait()
  517. end
  518. ArmAnim='None'
  519. LegAnim='None'
  520. Anim='None'
  521. end))
  522. --Target=PChar
  523. function Stay(bool,cff)
  524. BG.maxTorque=bool and v3(1,1,1)/0 or nov3 BG.cframe=cff or Torso.CFrame
  525. BP.maxForce=BG.maxTorque BP.position=Torso.Position
  526. end
  527. function fMarble(Ch,func)
  528. for i,v in pairs(Ch:children()) do
  529. for x=-1,1,2 do
  530. for y=-1,1,2 do
  531. for z=-1,1,2 do
  532. if v:findFirstChild(x..y..z) then func(v[x..y..z]) end
  533. end end end
  534. end
  535. end
  536. function ReturnAnim()
  537. local ne1,ne2=GetWeld(pNeck,0)
  538. local wt1,wt2=GetWeld(wTorso,0)
  539. local a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p=GetPose()
  540. for x=1,ASpeed do
  541. SetWeld(wLSho,0,x,ASpeed,a,b,Oa,Ob,1)
  542. SetWeld(wLArm,0,x,ASpeed,c,d,Oc,Od,1)
  543. SetWeld(wRSho,0,x,ASpeed,e,f,Oe,Of,1)
  544. SetWeld(wRArm,0,x,ASpeed,g,h,Og,Oh,1)
  545. SetWeld(wLThi,0,x,ASpeed,i,j,Oi,Oj,1)
  546. SetWeld(wLLeg,0,x,ASpeed,k,l,Ok,Ol,1)
  547. SetWeld(wRThi,0,x,ASpeed,m,n,Om,On,1)
  548. SetWeld(wRLeg,0,x,ASpeed,o,p,Oo,Op,1)
  549. SetWeld(wTorso,0,x,ASpeed,wt1,wt2,oTorso,nov3,1)
  550. SetWeld(pNeck,0,x,ASpeed,ne1,ne2,v3(0,1.5,0)*Scale,nov3,1)
  551. wait()
  552. end
  553. end
  554.  
  555. ChatConnection=Player.Chatted:connect(function(msg)
  556. coroutine.resume(coroutine.create(function()
  557. if not Char.Parent then return end
  558. local Sep,sep=se(';',msg)
  559. local p1,p2=findplayer(Sep[2]),findplayer(Sep[3])
  560. local cmd=sep[1]
  561. --print(Sep[1])
  562. --print(LimbNames[Sep[1]])
  563. Tt=(p1 and p1.Character and p1.Character:findFirstChild'Torso') and p1.Character.Torso or nil
  564. if cmd=='sit' and (Anim=='None' or Anim=='Follow') then
  565. Anim='Sitting'
  566. Hum:MoveTo(Torso.Position,Torso)
  567. LegAnim,ArmAnim='Sit','Sit'
  568. for x=1,ASpeed do
  569. SetWeld(wLSho,0,x,ASpeed,Oa,Ob,Oa,v3(45,0,-10),1)
  570. SetWeld(wLArm,0,x,ASpeed,Oc,Od,Oc,v3(45,0,10),1)
  571. SetWeld(wRSho,0,x,ASpeed,Oe,Of,Oe,v3(45,0,10),1)
  572. SetWeld(wRArm,0,x,ASpeed,Og,Oh,Og,v3(45,0,-10),1)
  573. SetWeld(wLThi,0,x,ASpeed,Oi,Oj,v3(-0.5*Scale,-0.6*Scale,-0.5*Scale),v3(125,0,-12),1)
  574. SetWeld(wLLeg,0,x,ASpeed,Ok,Ol,Ok,v3(-70,0,12),1)
  575. SetWeld(wRThi,0,x,ASpeed,Om,On,v3( 0.5*Scale,-0.6*Scale,-0.5*Scale),v3(125,0,12),1)
  576. SetWeld(wRLeg,0,x,ASpeed,Oo,Op,Oo,v3(-70,0,-12),1)
  577. SetWeld(wTorso,0,x,ASpeed,oTorso,nov3,v3(0,-3*Scale,0),nov3,1)
  578. wait()
  579. end
  580. Anim='Sit'
  581. elseif (cmd=='stand' or cmd=='stop') and (Anim=='Roll' or Anim=='Sit' or Anim=='Follow' or Anim=='Form' or Anim=='Dance' or Anim=='Grab') then
  582. if Anim=='Sit' or Anim=='Form' or Anim=='Dance' or Anim=='Roll' then
  583. Anim='Returning'
  584. ReturnAnim()
  585. else
  586. Target=nil
  587. wait(0.2)
  588. Hum:MoveTo(Torso.Position,Torso)
  589. end
  590. LegAnim,ArmAnim,Anim='None','None','None'
  591. elseif cmd=='follow' and Tt and Anim=='None' then
  592. Anim='Follow'
  593. Target=p1.Character
  594. elseif cmd=='shoot' and Tt and RArm['1-11'].Transparency~=1 and ArmAnim=='None' then
  595. Target=p1.Character
  596. ArmAnim='Shoot'
  597. FaceBG(Tt.Position)
  598. wait(0.1)
  599. local cff=cn(pTorso.CFrame.p,v3(Tt.Position.x,pTorso.Position.y,Tt.Position.z))
  600. local ofs=cff:toObjectSpace(cn(cff*cn(1.5*Scale,0.5*Scale,0).p,Tt.CFrame*cn(0,2,0).p)*ca(90,0,0)*cn(0,-0.25*Scale,0))
  601. local x,y,z=ofs:toEulerAnglesXYZ()
  602. local rot=v3(mdeg(x),mdeg(y),mdeg(z))
  603. for q=1,ASpeed do
  604. SetWeld(wRArm,0,q,ASpeed,Og,Oh,Og,nov3,1)
  605. SetWeld(wRSho,0,q,ASpeed,Oe,Of,ofs.p,rot,1)
  606. SetWeld(wRSho,1,q,ASpeed,v3(0,0.25*Scale,0),nov3,nov3,nov3,1)
  607. wait()
  608. end
  609. for y=-1,1,2 do for x=-1,1,2 do for z=-1,1,2 do
  610. local new=RArm[x..y..z]:Clone() new.Parent=RArm game.Debris:AddItem(new,8) new.Touched:connect(function(hit) Damage(hit.Parent:findFirstChild'Humanoid') end)
  611. new.CFrame=RArm[x..y..z].CFrame*cn(0,-Scale*1.5,0) new.CanCollide=true new.Velocity=cn(new.Position,Target.Torso.Position).lookVector*((new.Position-Target.Torso.Position).magnitude*20+900)
  612. RArm[x..y..z].Transparency=1 so.Block:Play() wait(0.06)
  613. end end end
  614. RArm.Transparency=1
  615. delay(1,function()
  616. for x=-1,1,2 do for y=-1,1,2 do for z=-1,1,2 do local new=RArm[x..y..z]:Clone() new.Transparency=0 new.CanCollide=false new.Name='f'..new.Name new.Parent=RArm new.CFrame=RArm.CFrame*cn(Scale*x*2,Scale*-3,Scale*z*2)
  617. iNew{'BodyPosition',new,maxForce=v3(1,1,1)/0,position=RArm[x..y..z].Position} wait(0.14) end end end
  618. DoLoop(35,function(i) for x=-1,1,2 do for y=-1,1,2 do for z=-1,1,2 do RArm['f'..x..y..z].BodyPosition.position=RArm[x..y..z].Position if i==1 then RArm['f'..x..y..z]:Remove() RArm[x..y..z].Transparency=0 RArm.Transparency=0 end end end end end)
  619. end)
  620. for q=1,ASpeed do
  621. SetWeld(wRArm,0,q,ASpeed,Og,nov3,Og,Oh,1)
  622. SetWeld(wRSho,0,q,ASpeed,ofs.p,rot,Oe,Of,1)
  623. SetWeld(wRSho,1,q,ASpeed,nov3,nov3,v3(0,0.25*Scale,0),nov3,1)
  624. wait()
  625. end
  626. BG.maxTorque=nov3
  627. ArmAnim='None'
  628. elseif cmd=='slam' and (Anim=='None' or Anim=='Follow') and Tt then
  629. Target=p1
  630. local lTt=Tt
  631. Anim='Follow'
  632. repeat Hum:MoveTo(Tt.Position+v3(0.5,0.5,0.5),Tt) wait(0.2) until lTt~=Tt or (Tt.Position-pTorso.Position).magnitude<10+Scale*5.5 or Anim~='Follow'
  633. if Anim~='Follow' then BG.maxTorque=nov3 return end
  634. if lTt~=Tt then return end
  635. Anim,LegAnim,ArmAnim='Slam','',''
  636. Hum:MoveTo(Torso.Position,Torso)
  637. FaceBG(Tt.Position)
  638. Stay(true,BG.cframe)
  639. local a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p=GetPose()
  640. ASpeed2=15
  641. for x=1,ASpeed2 do
  642. SetWeld(wLSho,0,x,ASpeed2,a,b,Oa,v3(180,0,0),1)
  643. SetWeld(wRSho,0,x,ASpeed2,e,f,Oe,v3(180,0,0),1)
  644. SetWeld(wTorso,0,x,ASpeed2,nov3,nov3,v3(0,3,0)*Scale,nov3,1)
  645. wait()
  646. end
  647. for x=1,ASpeed2 do
  648. SetWeld(wTorso,0,x,ASpeed2,v3(0,3,0)*Scale,nov3,v3(0,-3*Scale+2.5,-6*Scale),v3(-89,0,0),1)
  649. wait()
  650. end
  651. AOEFind(pTorso.Position,6.5*Scale,function(Hum) Damage(Hum,3,true) Hum.Sit=true end)
  652. MeshEffect(35,Torso.CFrame*cn(0,-3.5*Scale,-6*Scale)*ca(90,0,0),nil,v3(2,2,1)*Scale,v3(12,12,5)*Scale,0.2,1,'Light stone grey',as.ring)
  653. wait(0.5)
  654. for x=1,ASpeed do
  655. SetWeld(wTorso,0,x,ASpeed,v3(0,-3*Scale+2.5,-6*Scale),v3(-90,0,0),nov3,nov3,1)
  656. SetWeld(wLSho,0,x,ASpeed,Oa,v3(180,0,0),Oa,Ob,1)
  657. SetWeld(wRSho,0,x,ASpeed,Oe,v3(180,0,0),Oe,Of,1)
  658. wait()
  659. end
  660. Stay(false)
  661. Anim,LegAnim,ArmAnim='None','None','None'
  662. elseif cmd=='boulder' and Anim=='None' then
  663. Target=p1.Character
  664. Anim,LegAnim,ArmAnim='','',''
  665. Stay(true)
  666. FaceBG(Tt.Position)
  667. for x=1,ASpeed do
  668. SetWeld(wLSho,0,x,ASpeed,Oa,Ob,Oa,v3(135,0,0),1)
  669. SetWeld(wLArm,0,x,ASpeed,Oc,Od,Oc,v3(0,0,0),1)
  670. SetWeld(wRSho,0,x,ASpeed,Oe,Of,Oe,v3(135,0,0),1)
  671. SetWeld(wRArm,0,x,ASpeed,Og,Oh,Og,v3(0,0,-10),1)
  672. SetWeld(wLThi,0,x,ASpeed,Oi,Oj,v3(-0.5,-0.5,0.25)*Scale,v3(45,0,-15),1)
  673. SetWeld(wLLeg,0,x,ASpeed,Ok,Ol,Ok,v3(0,0,0),1)
  674. SetWeld(wRThi,0,x,ASpeed,Om,On,v3( 0.5,-0.5,0.25)*Scale,v3(45,0,15),1)
  675. SetWeld(wRLeg,0,x,ASpeed,Oo,Op,Oo,v3(0,0,0),1)
  676. SetWeld(wTorso,0,x,ASpeed,oTorso,nov3,v3(0,-1.5,-1.5)*Scale,v3(-90,0,0),1)
  677. wait()
  678. end
  679. wait(0.2)
  680. local boulder=iPart{Char,1,1,1,type='WedgePart'} boulder.Material=Mat
  681. local wm=iNew{'SpecialMesh',boulder,Scale=v3(4,3,4)*Scale,MeshType='Wedge'}
  682. local wb=iNew{'Weld',boulder,Part0=RArm,Part1=boulder,C0=cn(-1.5*Scale,-2.3*Scale,0)*ca(180,180,0)}
  683. local a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r=GetPose()
  684. for x=1,ASpeed*2 do
  685. SetWeld(wLSho,0,x,ASpeed*2,a,b,a,v3(225,0,0),1)
  686. SetWeld(wLArm,0,x,ASpeed*2,c,d,c,v3(45,0,0),1)
  687. SetWeld(wRSho,0,x,ASpeed*2,e,f,e,v3(225,0,0),1)
  688. SetWeld(wRArm,0,x,ASpeed*2,g,h,g,v3(45,0,0),1)
  689. SetWeld(wLThi,0,x,ASpeed*2,i,j,Oi,v3(0,0,-15),1)
  690. SetWeld(wLLeg,0,x,ASpeed*2,k,l,k,v3(0,0,0),1)
  691. SetWeld(wRThi,0,x,ASpeed*2,m,n,Om,v3(0,0,15),1)
  692. SetWeld(wRLeg,0,x,ASpeed*2,o,p,o,v3(0,0,0),1)
  693. SetWeld(wTorso,0,x,ASpeed*2,q,r,nov3,nov3,1)
  694. wait()
  695. end
  696. FaceBG(Tt.Position)
  697. for x=1,ASpeed/2 do
  698. SetWeld(wLSho,0,x,math.floor(ASpeed/2),a,v3(225,0,0),a,v3(90,0,0),1)
  699. SetWeld(wLArm,0,x,math.floor(ASpeed/2),c,v3(45,0,0),c,v3(45,0,0),1)
  700. SetWeld(wRSho,0,x,math.floor(ASpeed/2),e,v3(225,0,0),e,v3(90,0,0),1)
  701. SetWeld(wRArm,0,x,math.floor(ASpeed/2),g,v3(45,0,0),g,v3(45,0,0),1)
  702. wait()
  703. end
  704. local bcf=boulder.CFrame
  705. wb:Remove()
  706. wm:Remove()
  707. boulder.Size=wm.Scale
  708. boulder.CFrame=cn(boulder.Position,Target.Torso.Position)*cn(0,3,-1)*ca(0,180,0)
  709. --boulder.Friction=0.1
  710. boulder.Elasticity=0
  711. boulder.Velocity=(boulder.CFrame*ca(0,180,0)).lookVector*((boulder.Position-Target.Torso.Position).magnitude*1+90)
  712. boulder.RotVelocity=nov3
  713. game.Debris:AddItem(boulder,8)
  714. Stay(false)
  715. ReturnAnim()
  716. Anim,LegAnim,ArmAnim='None','None','None'
  717. elseif cmd=='grab' and Tt and not Grabbing then
  718. Target=p1
  719. local lTt=Tt
  720. Anim='Follow'
  721. repeat Hum:MoveTo(Tt.Position+v3(0.5,0.5,0.5),Tt) wait(0.2) until lTt~=Tt or (Tt.Position-Stand.CFrame*cn(0,-Stand.Size.y/2+1,-2.8*Scale).p).magnitude<10 or Anim~='Follow'
  722. if Anim~='Follow' then BG.maxTorque=nov3 return end
  723. if lTt~=Tt then return end
  724. pcall(function() Tt.Parent.Humanoid.PlatformStand=true end)
  725. Hum:MoveTo(Torso.Position,Torso)
  726. Anim,LegAnim,ArmAnim='Grab','',''
  727. FaceBG(Tt.Position)
  728. for x=1,ASpeed do
  729. SetWeld(wLSho,0,x,ASpeed,Oa,Ob,Oa,v3(-30,0,-30),1)
  730. SetWeld(wLArm,0,x,ASpeed,Oc,Od,Oc,v3(0,0,0),1)
  731. SetWeld(wRSho,0,x,ASpeed,Oe,Of,Oe,v3(145,0,-30),1)
  732. SetWeld(wRArm,0,x,ASpeed,Og,Oh,Og,v3(0,0,0),1)
  733. SetWeld(wLThi,0,x,ASpeed,Oi,Oj,v3(-0.5,-0.4,0.3)*Scale,v3(70,0,0),1)
  734. SetWeld(wLLeg,0,x,ASpeed,Ok,Ol,Ok,v3(-20,0,0),1)
  735. SetWeld(wRThi,0,x,ASpeed,Om,On,v3(0.5,-0.5,-0.3)*Scale,v3(135,0,0),1)
  736. SetWeld(wRLeg,0,x,ASpeed,Oo,Op,Oo,v3(-90,0,0),1)
  737. SetWeld(wTorso,0,x,ASpeed,oTorso,nov3,v3(0,-2,-1.5)*Scale,v3(-90,0,0),1)
  738. wait()
  739. end
  740. local ofs=RArm.CFrame:toObjectSpace(Tt.CFrame)
  741. Tt.Parent.Humanoid.PlatformStand=true
  742. Grabbing=iNew{'Weld',RArm,Part0=RArm,Part1=Tt,C0=ofs}
  743. local a,b=GetWeld(Grabbing,0)
  744. for x=1,ASpeed do
  745. SetWeld(Grabbing,0,x,ASpeed,a,b,v3(0,-0.75*Scale-1,0),v3(-90,0,0),1)
  746. wait()
  747. end
  748. Stay(false)
  749. ReturnAnim()
  750. Anim,LegAnim,ArmAnim='None','None','None'
  751. elseif cmd=='dance' and (Anim=='None' or Anim=='Follow') then
  752. Hum:MoveTo(pTorso.Position,pTorso)
  753. Anim,ArmAnim,LegAnim='Dance','Dance','Dance'
  754. local ASpeed=math.floor(ASpeed/2)
  755. repeat
  756. local a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r=GetPose()
  757. for x=1,ASpeed do
  758. if Anim~='Dance' then break end
  759. SetWeld(wLSho,0,x,ASpeed,a,b,v3(-1.2,0.5,-0.25)*Scale,v3(35,0,30),1)
  760. SetWeld(wLArm,0,x,ASpeed,c,d,c,v3(25,0,0),1)
  761. SetWeld(wRSho,0,x,ASpeed,e,f,v3( 1.2,0.5,-0.25)*Scale,v3(45,0,-30),1)
  762. SetWeld(wRArm,0,x,ASpeed,g,h,g,v3(25,0,0),1)
  763. SetWeld(wLThi,0,x,ASpeed,i,j,i,v3(0,0,0),1)
  764. SetWeld(wLLeg,0,x,ASpeed,k,l,k,v3(0,0,0),1)
  765. SetWeld(wRThi,0,x,ASpeed,m,n,m,v3(45,0,20),1)
  766. SetWeld(wRLeg,0,x,ASpeed,o,p,o,v3(-45,0,-20),1)
  767. wait()
  768. end
  769. local a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r=GetPose()
  770. for x=1,ASpeed do
  771. if Anim~='Dance' then break end
  772. SetWeld(wLSho,0,x,ASpeed,a,b,v3(-1.2,0.5,-0.25)*Scale,v3(95,0,30),1)
  773. SetWeld(wLArm,0,x,ASpeed,c,d,c,v3(-10,0,0),1)
  774. SetWeld(wRSho,0,x,ASpeed,e,f,v3( 1.2,0.5,-0.25)*Scale,v3(105,0,-30),1)
  775. SetWeld(wRArm,0,x,ASpeed,g,h,g,v3(-10,0,0),1)
  776. SetWeld(wLThi,0,x,ASpeed,i,j,i,v3(45,0,-20),1)
  777. SetWeld(wLLeg,0,x,ASpeed,k,l,k,v3(-45,0,20),1)
  778. SetWeld(wRThi,0,x,ASpeed,m,n,m,v3(0,0,0),1)
  779. SetWeld(wRLeg,0,x,ASpeed,o,p,o,v3(0,0,0),1)
  780. wait()
  781. end
  782. until Anim~='Dance'
  783. elseif cmd=='roll' and (Anim=='None' or Anim=='Follow') then
  784. Target=p1
  785. local lTt=Tt
  786. Anim,ArmAnim,LegAnim='Roll','',''
  787. local a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r=GetPose()
  788. local n1,n2=GetWeld(pNeck,0)
  789. for x=1,ASpeed do
  790. SetWeld(wLSho,0,x,ASpeed,a,b,v3(-1.5,0.5,0)*Scale,v3(0,0,-45),1)
  791. SetWeld(wLArm,0,x,ASpeed,c,d,c,v3(0,0,90),1)
  792. SetWeld(wRSho,0,x,ASpeed,e,f,v3( 1.5,0.5,0)*Scale,v3(0,0,45),1)
  793. SetWeld(wRArm,0,x,ASpeed,g,h,g,v3(0,0,-90),1)
  794. SetWeld(wLThi,0,x,ASpeed,i,j,v3(0,1, 0.5)*Scale,v3(-30,0,0),1)
  795. SetWeld(wLLeg,0,x,ASpeed,k,l,k,v3(60,0,0),1)
  796. SetWeld(wRThi,0,x,ASpeed,m,n,v3(0,1,-0.5)*Scale,v3(30,0,0),1)
  797. SetWeld(wRLeg,0,x,ASpeed,o,p,o,v3(-60,0,0),1)
  798. SetWeld(pNeck,0,x,ASpeed,n1,n2,v3(0,0,0),n2,1)
  799. SetWeld(wTorso,0,x,ASpeed,oTorso,nov3,v3(0,-2,0)*Scale,nov3,1)
  800. wait()
  801. end
  802. tWS[2]=3
  803. repeat
  804. local cf=Torso.CFrame*cn(mran2(-1,1)*Scale,-4*Scale,0.5*Scale)*ca(90+mran(-20,20),mran(-30,30),0)
  805. MeshEffect(24,cf,cf*cn(0,4*Scale,0),v3(0.5,0.5,0.5)*Scale,v3(mran2(1,4),mran2(3,5),mran2(1,3))*Scale,0.1,1,'Dark stone grey','Brick')
  806. Hum:MoveTo(Tt.CFrame*cn(0,0,Scale).p,Tt) wTorso.C0=wTorso.C0*ca(-20,0,0) wait(0.035) until lTt~=Tt or (Tt.Position-Stand.CFrame*cn(0,-Stand.Size.y/2+1,-2.8*Scale).p).magnitude<6 or Anim~='Roll'
  807. tWS[2]=1
  808. ClearWeld(wTorso)
  809. if Anim~='Roll' then return end
  810. Hum:MoveTo(Torso.Position+v3(0,1,0),Torso)
  811. Torso.Anchored=true Torso.Velocity=nov3
  812. local cf=Stand.CFrame*cn(0,0,-1.5*Scale)*ca(-45,0,0) --iPart{Char,1,1,1,co='Black',cf=cf,an=true}
  813. MeshEffect(50,cf,nil,v3(3.5,3.5,2)*Scale,v3(11,11,6)*Scale,0.1,1,'White',as.ring)
  814. for i=1,16 do
  815. local cf=cf*ca(90,360*(i/16),0)*ca(45,0,0)
  816. MeshEffect(40,cf,cf*cn(0,10*Scale,0),v3(0.2,2,0.2)*Scale,v3(1,5,1)*Scale,0.1,1,'','Sphere')
  817. end
  818. AOEFind(cf.p,6.5*Scale,function(Hum,v) Damage(Hum,2,true) Hum.Sit=true v.Velocity=cn(pTorso.Position,v.Position).lookVector*50 end)
  819. wait(0.2)
  820. Torso.Anchored=false
  821. ReturnAnim()
  822. Hum:MoveTo(Torso.Position,Torso)
  823. Anim,LegAnim,ArmAnim='None','None','None'
  824. elseif cmd=='beam' and (Anim=='None' or Anim=='Follow') then
  825. Anim='beam'
  826. local che =iPart{Char,1,1,1,sc=Scale,co=CC[1],ma=Mat} local chew=iNew{'Weld',che ,Part0=pTorso,Part1=che}
  827. local che2=iPart{che ,0.8*Scale,0.2,0.8*Scale,co='Really black'} local che2w=iNew{'Weld',che2,Part0=che,Part1=che2}
  828. local chem=iNew{'CylinderMesh',che} iNew{'CylinderMesh',che2}
  829. local chest,chex,i={},0,0
  830. for x=-1,1,2 do for y=-1,1,2 do i=i+1 chest[i]={pTorso[x..y..'-1']} chest[i][2]=chest[i][1].Weld chest[i][3]=chest[i][2].C0
  831. local xx,yy,zz=chest[i][2].C0:toEulerAnglesXYZ() chest[i][4]=v3(mdeg(xx),mdeg(yy),mdeg(zz))
  832. chest[i][5]=cn(0.45*x*Scale,0,-0.5*Scale)*chest[i][3] chest[i][6]=chest[i][4]+v3(0,-105*x,0) end end
  833. local len=1.75
  834. local dochest=function(v,chexx,adj)
  835. local p=v/ASpeed
  836. chex=adj*p
  837. chem.Scale=v3(1,len*p,1)
  838. chew.C0=ca(chexx+chex,0,0)*cn(0,len/2*p*Scale,0)
  839. che2w.C0=cn(0,len/2*p*Scale,0)
  840. for i=1,4 do SetWeld(chest[i][2],0,v,ASpeed,chest[i][3],chest[i][4],chest[i][5],chest[i][6],1) end
  841. end
  842. for v=1,ASpeed do if Tt then FaceBG(Tt.Position) end dochest(v,-90,-45) wait() end
  843. local beam=iPart{Char,0.7*Scale,1,0.7*Scale,co='New Yeller',an=true,tr=0.3} beamm=iNew{'CylinderMesh',beam}
  844. for i=1,ASpeed*3 do
  845. local p=i/ASpeed*3
  846. chex=90*math.sin((math.pi/2)/(ASpeed*3)*i)
  847. chew.C0=ca(-135+chex,0,0)*cn(0,len/2*Scale,0)
  848. local hit,pos=ray(che2.Position,che2.Position-che2.CFrame*cn(0,-1,0).p,Char)
  849. local mag=(che2.Position-pos).magnitude local p1,p2=che2.Position+v3(mran2(-1,1),mran2(-1,1),mran2(-1,1))/3,pos+v3(mran2(-1,1),mran2(-1,1),mran2(-1,1))/3
  850. beam.CFrame=cn(p1,p2)*cn(0,0,-mag/2)*ca(90,0,0) beamm.Scale=v3(1,mag+(Scale/3),1)
  851. AOEFind(pos,Scale*2,function(Hum) Damage(Hum,2.5) end)
  852. if i%2==0 then for i=1,5 do local cf=cn(pos)*ca(0,mran(-180,180),mran(-95,95)) MeshEffect(8,cf,cf*cn(0,Scale*2.2,0),v3(0.1,0.4,0.1)*Scale,v3(0.4,3,0.4)*Scale,0.2,1,CC[mran(2,3)],as.cone) end
  853. MeshEffect(8,cn(pos),nil,v3(0.8,0.8,0.8)*Scale,v3(4,4,4)*Scale,0.2,1,CC[mran(2,3)],'Sphere') end
  854. if Tt then FaceBG(Tt.Position) end
  855. wait()
  856. end
  857. DoLoop(12,function(i) beam.Transparency=0.3+i*0.7 if i==1 then beam:Remove() end end)
  858. for v=ASpeed,0,-1 do dochest(v,-90,45) wait() end
  859. Stay(false)
  860. che:Remove()
  861. Anim='None'
  862. ---------------------------------------------------------------------------=---WWWWWWWWWWWWWWWWWW
  863. elseif cmd=='box' and (Anim=='None' or Anim=='Follow') then
  864. Anim,ArmAnim='cart','cart'
  865. for x=1,ASpeed do
  866. SetWeld(wLSho,0,x,ASpeed,Oa,Ob,Oa,v3(90,0,10),1)
  867. SetWeld(wLArm,0,x,ASpeed,Oc,Od,Oc,v3(0,0,25),1)
  868. SetWeld(wRSho,0,x,ASpeed,Oe,Of,Oe,v3(90,0,-10),1)
  869. SetWeld(wRArm,0,x,ASpeed,Og,Oh,Og,v3(0,0,-25),1)
  870. wait()
  871. end
  872. Stay(true)
  873. local spawn=RArm.CFrame*cn(0,-0.75*Scale-2,0)*ca(-90,0,0)
  874. local des=iPart{Char,1,1,1,an=true,ma=Mat,cf=spawn,ca=false}
  875. for i=1,6,0.2 do des.Size=v3(i,i,i) des.CFrame=spawn*cn(0,0,-i/2) wait() end
  876. local cart=iNew{'Model',workspace,Name='Cart'}
  877. local base=iPart{cart,4,1,5,ma=Mat,cf=des.CFrame} iNew{'BodyGyro',base}
  878. for x=-1,1,2 do
  879. local new=iPart{cart,0.5,4,5,ma=Mat,cf=base.CFrame} iNew{'Weld',new,Part0=base,Part1=new,C0=cn(1.75*x,2.5,0)}
  880. local new=iPart{cart,3.5,4,0.5,ma=Mat,cf=base.CFrame} iNew{'Weld',new,Part0=base,Part1=new,C0=cn(0,2.5,2.25*x)}
  881. end
  882. for i=6,0.8,-0.2 do des.Size=v3(i,i,i) des.CFrame=spawn*cn(0,0,-i/2) wait() end des:Remove()
  883. Stay(false)
  884. ReturnAnim()
  885. Anim,ArmAnim='None','None'
  886. elseif cmd=='crush' and Grabbing and (Anim=='None' or Anim=='Follow') then
  887. Anim,ArmAnim='crush','crush'
  888. for x=1,ASpeed do
  889. SetWeld(wLSho,0,x,ASpeed,Oa,Ob,Oa,v3(80,0,-160),1)
  890. SetWeld(wLArm,0,x,ASpeed,Oc,Od,Oc,v3(0,0,80),1)
  891. SetWeld(wRSho,0,x,ASpeed,Oe,Of,Oe,v3(80,0,160),1)
  892. SetWeld(wRArm,0,x,ASpeed,Og,Oh,Og,v3(0,0,-80),1)
  893. wait()
  894. end
  895. local a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r=GetPose()
  896. wait(0.2)
  897. for x=1,ASpeed/2 do
  898. SetWeld(wLSho,0,x,ASpeed/2,a,b,Oa,v3(80,0,-14),1)
  899. SetWeld(wLArm,0,x,ASpeed/2,c,d,Oc,v3(0,0,80),1)
  900. SetWeld(wRSho,0,x,ASpeed/2,e,f,Oe,v3(80,0,14),1)
  901. SetWeld(wRArm,0,x,ASpeed/2,g,h,Og,v3(0,0,-80),1)
  902. wait()
  903. end
  904. MeshEffect(35,Grabbing.Part1.CFrame,nil,v3(2,2,1)*Scale,v3(7,7,3)*Scale,0.3,1,'Light stone grey',as.ring)
  905. local crushjo=60
  906. pcall(function() for i,v in pairs({'Neck','Left Shoulder','Right Shoulder','Left Hip','Right Hip'}) do local w=Grabbing.Part1.Parent.Torso[v] w.C1=w.C1*ca(mran(-crushjo,crushjo),mran(-crushjo,crushjo),mran(-crushjo,crushjo)) end end)
  907. local hit=Grabbing.Part1
  908. Grabbing:Remove() Grabbing=nil
  909. wait(2)
  910. pcall(function() hit.Parent.Humanoid.PlatformStand=false end)
  911. ReturnAnim()
  912. Anim,ArmAnim='None','None'
  913. elseif cmd=='eat' and Grabbing and (Anim=='None' or Anim=='Follow') then
  914. Anim,ArmAnim='Eat','Eat'
  915. for x=1,ASpeed*2 do
  916. SetWeld(wRSho,0,x,ASpeed*2,Oe,Of,Oe,v3(135,0,15),1)
  917. SetWeld(wRArm,0,x,ASpeed*2,Og,Oh,Og,v3(45,-10,-100),1)
  918. wait()
  919. end
  920. wait(1)
  921. for x=1,40 do
  922. SetWeld(wRSho,0,1,1,Oe,Of,Oe,v3(135+mran(-3,3),0,15+mran(-3,3)),1)
  923. SetWeld(wRArm,0,1,1,Og,Oh,Og,v3(45,-10+mran(-12,12),-100+mran(-3,3)),1)
  924. wait(0.05)
  925. if x%2==0 then
  926. local cf=Grabbing.Part1.CFrame*ca(180,mran(-180,180),mran(-40,40))*cn(0,1.5,0)
  927. MeshEffect(24,cf,cf*cn(0,10,0),v3(0.2,2,0.2),v3(0.4,5,0.4),0.1,1,'Really red','Sphere')
  928. end
  929. end
  930. Grabbing.Part1:BreakJoints()
  931. pcall(function() Grabbing.Part1.Parent.Head:Remove() end)
  932. Grabbing:Remove() Grabbing=nil
  933. wait(2)
  934. ReturnAnim()
  935. Anim,ArmAnim='None','None'
  936. elseif cmd=='drop' and Grabbing then
  937. local hum=Grabbing.Part1.Parent.Humanoid Grabbing:Remove() Grabbing=nil hum.PlatformStand=false
  938. elseif LimbNames[Sep[1]] and (Anim=='None' or Anim=='Form') then
  939. Anim,ArmAnim,LegAnim='Form','Form','Form'
  940. local v1,v2=GetWeld(LimbNames[Sep[1]],0)
  941. local sepx=se(',',Sep[2])
  942. for x=1,ASpeed*2 do
  943. SetWeld(LimbNames[Sep[1]],0,x,ASpeed*2,v1,v2,v1,v3(tonumber(sepx[1]),tonumber(sepx[2]),tonumber(sepx[3])),1)
  944. wait()
  945. end
  946. elseif cmd=='plode' then
  947. Char:BreakJoints() wait()
  948. local Pressure=tonumber(sep[2]) or 50
  949. fMarble(Char,function(v) v.Velocity=cn(Torso.Position,v.Position).lookVector*Pressure end)
  950. for i,v in pairs(RootLimbs) do v.Velocity=cn(Torso.Position,v.Position).lookVector*Pressure end
  951. elseif cmd=='explode' then
  952. iNew{'Explosion',pTorso,Position=pTorso.Position,BlastRadius=Scale*20}
  953. elseif cmd=='goto' then
  954. pcall(function()
  955. Hum:MoveTo(Player:GetMouse().Hit.p,Player:GetMouse().Target) end)
  956. elseif cmd=='newscale' and tonumber(sep[2]) then
  957. Char:BreakJoints()
  958. Scale=tonumber(sep[2])
  959. if Scale<0.5 then Scale=0.5 end
  960. if Scale>=100 then Scale=100 end
  961. elseif cmd=='nobox' then
  962. for i,v in pairs(workspace:children()) do if v.Name=='Cart' then v:Remove() end end
  963. elseif cmd=='die' then
  964. Char:BreakJoints()
  965. elseif cmd=='brick' then
  966. iPart{workspace,12,30,30,cf=Player.Character.Torso.CFrame*cn(0,10,-20),tr=0.5,an=true}
  967. elseif cmd=='test' then
  968. local pt=Player.Character.Torso.CFrame
  969. MeshEffect(35,pt*cn(0,5,0)*ca(90,0,0),nil,v3(2,2,1)*Scale,v3(7,7,3)*Scale,0.2,1,'Light stone grey',as.ring)
  970. else
  971. end
  972. end))
  973. end)
  974. keys={}
  975. NewAnim={}
  976. Player:GetMouse().KeyDown:connect(function(k)
  977. coroutine.resume(coroutine.create(function() keys[k]=true
  978. if (k=='q' or k=='e') and (Anim=='None' or Anim=='Laser') and (ArmAnim=='None' or ArmAnim=='Laser') and not NewAnim[k] then
  979. NewAnim[k]=true
  980. local w1,w2=k=='q' and wLSho or wRSho,k=='q' and wLArm or wRArm
  981. local x=k=='q' and -1 or 1
  982. local aa,bb=GetWeld(w1,0)
  983. local cc,dd=GetWeld(w2,0)
  984. local targ=w1.Part1.CFrame*cn(0,-333,0)
  985. local tips={}
  986. local co=0
  987. local sho1=iPart{Char,0.35,RArm.Size.y/Scale+0.15 ,0.35,sc=Scale,co=CC[1]} iNew{'Weld',sho1,Part0=k=='q' and LArm or RArm,Part1=sho1} iNew{'CylinderMesh',sho1}
  988. local sho2=iPart{Char,0.3,RArm.Size.y/Scale+0.16,0.3,sc=Scale,co='Really black'} iNew{'Weld',sho2,Part0=sho1,Part1=sho2} iNew{'CylinderMesh',sho2}
  989. for x=-1,1,2 do for z=-1,1,2 do tips[#tips+1]={(k=='q' and LArm or RArm)[x..'-1'..z].Weld}
  990. co=co+0.25
  991. local asd=tips[#tips]
  992. asd[2],asd[3]=GetWeld(asd[1],0)
  993. local cf=ca(0,360*co,0)*cn(0,asd[2].y*1.8,-0.75*Scale)*ca(-20,0,0)
  994. asd[4]=cf.p
  995. local a,b,c=cf:toEulerAnglesXYZ()
  996. asd[5]=v3(mdeg(a),mdeg(b),mdeg(c))
  997. end end
  998. for u=1,ASpeed/2 do
  999. for i=1,4 do local asd=tips[i]
  1000. SetWeld(asd[1],0,u,ASpeed/2,asd[2],asd[3],asd[4],asd[5],1)
  1001. end wait()
  1002. end
  1003. repeat Anim,ArmAnim,LaserOn='Laser','Laser',true wait()
  1004. for i=1,4 do tips[i][1].C0=ca(0,15*x,0)*tips[i][1].C0 end
  1005. targ=TweenV3(1,12,targ,Player:GetMouse().Hit.p)
  1006. w1.C0=pTorso.CFrame:toObjectSpace(cn(pTorso.CFrame*cn(1.5*Scale*x,0.5*Scale,0).p,targ))*ca(90,0,0)
  1007. w2.C0=cn(0,-0.75*Scale,0)
  1008. until not keys[k]
  1009. ClearWeld(w1) ClearWeld(w2) for i=1,4 do ClearWeld(tips[i][1]) tips[i][6],tips[i][7]=GetWeld(tips[i][1],0) end
  1010. local a,b=GetWeld(w1,0)
  1011. local c,d=GetWeld(w2,0)
  1012. for z=1,ASpeed/2 do
  1013. for i=1,4 do SetWeld(tips[i][1],0,z,ASpeed/2,tips[i][6],tips[i][7],tips[i][2],tips[i][3],1) end
  1014. SetWeld(w1,0,z,ASpeed/2,a,b,aa,bb,1)
  1015. SetWeld(w2,0,z,ASpeed/2,c,d,cc,dd,1)
  1016. wait()
  1017. end
  1018. sho1:Remove() sho2:Remove()
  1019. NewAnim[k]=false
  1020. Anim,ArmAnim,LaserOn='None','None',false
  1021. end
  1022. end)) end)
  1023. Player:GetMouse().KeyUp:connect(function(k) keys[k]=false end)
  1024. Player:GetMouse().Button1Down:connect(function()
  1025. Button=true
  1026. if keys.f and Player:GetMouse().Target and Anim=='None' then
  1027. Hum:MoveTo(Player:GetMouse().Hit.p,Player:GetMouse().Target)
  1028. elseif (keys.q or keys.e) and LaserOn then
  1029. local pick=keys.q and 'q' or 'e'
  1030. repeat
  1031. local ofs=(pick=='q' and LArm or RArm).CFrame*ca(90,0,0)
  1032. if pick=='q' and keys.e then pick='e'
  1033. elseif pick=='e' and keys.q then pick='q' end
  1034. local part=iPart{Char,0.2,0.5,0.2,sc=Scale,co=CC[mran(2,3)],an=true,ma=Mat} iNew{'CylinderMesh',part}
  1035. Projectile(ofs,2*Scale,part,ca(-90,0,0),function(hit,pos)
  1036. AOEFind(pos,Scale*2,function(Hum,v) Damage(Hum) end)
  1037. end,
  1038. function(pos)
  1039. for i=1,5 do local cf=cn(pos)*ca(0,mran(-180,180),mran(-95,95)) MeshEffect(8,cf,cf*cn(0,Scale*2.2,0),v3(0.07,0.3,0.07)*Scale,v3(0.4,3,0.4)*Scale,0.2,1,CC[mran(2,3)],as.cone) end
  1040. MeshEffect(8,cn(pos),nil,v3(0.1,0.1,0.1)*Scale,v3(3,3,3)*Scale,0.2,1,CC[mran(2,3)],'Sphere') part:Remove() end)
  1041. wait((keys.q and keys.e) and 0.2 or 0.4)
  1042. until not Button or (not keys.q and not keys.e)
  1043. elseif 'swag'=='sweg' then
  1044. end
  1045. end)
  1046. Player:GetMouse().Button1Up:connect(function()
  1047. Button=false
  1048. end)
  1049.  
  1050. WalkAnim=0
  1051. Walking=false
  1052. WalkMulp=1
  1053. WalkMax=16
  1054. Hum.WalkSpeed=18
  1055. tWS={1,1,1,1,1,1,1}
  1056.  
  1057. Marbler=0
  1058. local cou=0
  1059. while Char.Parent do
  1060. cou=cou+1
  1061. --if cou%2==0 then print(cou) end
  1062. if Hum.Health>0 then
  1063. if Torso.Velocity.y>5 then Torso.Velocity=v3(Torso.Velocity.x,5,Torso.Velocity.z) end
  1064. Walking=v3(Torso.Velocity.x,0,Torso.Velocity.z).magnitude>Hum.WalkSpeed-2 and true or false
  1065. if Walking and LegAnim=='None' then
  1066. WalkAnim=WalkAnim+WalkMulp
  1067. end
  1068. if WalkAnim>0 and not Walking then
  1069. WalkAnim=WalkAnim-1
  1070. elseif WalkAnim<0 and not Walking then
  1071. WalkAnim=WalkAnim+1
  1072. end
  1073. if math.abs(WalkAnim)>=WalkMax then WalkMulp=WalkMulp*-1 end
  1074. local WalkAdj=26
  1075. Neck.C0=Torso.CFrame:toObjectSpace(pHead.CFrame)
  1076. if ArmAnim=='None' then
  1077. SetWeld(wLSho,0,WalkAnim,WalkMax,Oa,Ob,Oa,v3(-WalkAdj*1.5,0,-10),1)
  1078. SetWeld(wLArm,0,WalkAnim,WalkMax,Oc,Od,Oc,v3(10+(WalkAnim>0 and WalkAdj or 0),0,10),1)
  1079. SetWeld(wRSho,0,WalkAnim,WalkMax,Oe,Of,Oe,v3(WalkAdj*1.5,0,10),1)
  1080. SetWeld(wRArm,0,WalkAnim,WalkMax,Og,Oh,Og,v3(10+(WalkAnim>0 and WalkAdj or 0),0,-10),1)
  1081. end
  1082. if LegAnim=='None' then
  1083. SetWeld(wLThi,0,WalkAnim,WalkMax,Oi,Oj,Oi,v3(15+WalkAdj,0,-5),1)
  1084. SetWeld(wLLeg,0,WalkAnim,WalkMax,Ok,Ol,Ok,v3(-15+(WalkAnim>0 and -WalkAdj or 0),0,5),1)
  1085. SetWeld(wRThi,0,WalkAnim,WalkMax,Om,On,Om,v3(15-WalkAdj,0,5),1)
  1086. SetWeld(wRLeg,0,WalkAnim,WalkMax,Oo,Op,Oo,v3(-15+(WalkAnim<0 and WalkAdj or 0),0,-5),1)
  1087. end
  1088.  
  1089. if Anim=='Follow' and Target and Target:findFirstChild'Torso' and not BG.maxTorque~=v3(1,1,1)/0 then
  1090. Hum:MoveTo(Target.Torso.CFrame*cn(2.5*Scale,0,5*Scale).p,Target.Torso)
  1091. end
  1092. if Grabbing and (not Grabbing.Part1 or not Grabbing.Part1.Parent or Grabbing.Part1.Parent:findFirstChild'Humanoid'==nil or Grabbing.Part1.Parent.Humanoid.Health<1) then
  1093. Grabbing:Remove() Grabbing=nil
  1094. end
  1095. end--hleat
  1096. --DoLoop Package
  1097. for i,v in pairs(LoopFunctions) do
  1098. v[2]=v[2]+1
  1099. v[3](v[2]/v[1])
  1100. if v[1]<=v[2] then LoopFunctions[i]=nil end
  1101. end
  1102. local ws=18
  1103. for i=1,#tWS do ws=ws*tWS[i] end
  1104. Hum.WalkSpeed=ws
  1105. if Hum.MaxHealth~=8000 then Hum.MaxHealth=8000 Hum.Health=8000 end
  1106. Hum.Health=Hum.Health+0.1
  1107. wait(0.03)
  1108. end
  1109. ChatConnection:disconnect()
  1110. game:service'Debris':AddItem(script,0.5)
  1111. script.Disabled=true
Add Comment
Please, Sign In to add comment