Advertisement
Demonlord27

brockMASTER

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