Advertisement
sneakydodge123

rock

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