Advertisement
Xenias

Brock Script

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