Advertisement
ItzInfern

tail

Jan 26th, 2019
129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 30.41 KB | None | 0 0
  1. --https://github.com/Mokiros/roblox-FE-compatibility
  2. if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
  3. local Player,Mouse,mouse,UserInputService,ContextActionService = owner
  4. local RealPlayer = Player
  5. do print("FE Compatibility code by Mokiros")local a=RealPlayer;script.Parent=a.Character;local b=Instance.new("RemoteEvent")b.Name="UserInput_Event"local function c()local d={_fakeEvent=true,Functions={},Connect=function(self,e)table.insert(self.Functions,e)end}d.connect=d.Connect;return d end;local f={Target=nil,Hit=CFrame.new(),KeyUp=c(),KeyDown=c(),Button1Up=c(),Button1Down=c(),Button2Up=c(),Button2Down=c()}local g={InputBegan=c(),InputEnded=c()}local CAS={Actions={},BindAction=function(self,h,i,j,...)CAS.Actions[h]=i and{Name=h,Function=i,Keys={...}}or nil end}CAS.UnbindAction=CAS.BindAction;local function k(self,l,...)local d=f[l]if d and d._fakeEvent then for m,e in pairs(d.Functions)do e(...)end end end;f.TrigEvent=k;g.TrigEvent=k;b.OnServerEvent:Connect(function(n,o)if n~=a then return end;f.Target=o.Target;f.Hit=o.Hit;if not o.isMouse then local p=o.UserInputState==Enum.UserInputState.Begin;if o.UserInputType==Enum.UserInputType.MouseButton1 then return f:TrigEvent(p and"Button1Down"or"Button1Up")end;if o.UserInputType==Enum.UserInputType.MouseButton2 then return f:TrigEvent(p and"Button2Down"or"Button2Up")end;for m,d in pairs(CAS.Actions)do for m,q in pairs(d.Keys)do if q==o.KeyCode then d.Function(d.Name,o.UserInputState,o)end end end;f:TrigEvent(p and"KeyDown"or"KeyUp",o.KeyCode.Name:lower())g:TrigEvent(p and"InputBegan"or"InputEnded",o,false)end end)b.Parent=NLS([==[local a=game:GetService("Players").LocalPlayer;local b=script:WaitForChild("UserInput_Event")local c=a:GetMouse()local d=game:GetService("UserInputService")local e=function(f,g)if g then return end;b:FireServer({KeyCode=f.KeyCode,UserInputType=f.UserInputType,UserInputState=f.UserInputState,Hit=c.Hit,Target=c.Target})end;d.InputBegan:Connect(e)d.InputEnded:Connect(e)local h,i;while wait(1/30)do if h~=c.Hit or i~=c.Target then h,i=c.Hit,c.Target;b:FireServer({isMouse=true,Target=i,Hit=h})end end]==],Player.Character)local r=game;local s={__index=function(self,q)local t=rawget(self,"_RealService")if t then return typeof(t[q])=="function"and function(m,...)return t[q](t,...)end or t[q]end end,__newindex=function(self,q,u)local t=rawget(self,"_RealService")if t then t[q]=u end end}local function v(d,w)d._RealService=typeof(w)=="string"and r:GetService(w)or w;return setmetatable(d,s)end;local x={GetService=function(self,t)return rawget(self,t)or r:GetService(t)end,Players=v({LocalPlayer=v({GetMouse=function(self)return f end},Player)},"Players"),UserInputService=v(g,"UserInputService"),ContextActionService=v(CAS,"ContextActionService"),RunService=v({_btrs={},RenderStepped=r:GetService("RunService").Heartbeat,BindToRenderStep=function(self,h,m,i)self._btrs[h]=self.Heartbeat:Connect(i)end,UnbindFromRenderStep=function(self,h)self._btrs[h]:Disconnect()end},"RunService")}rawset(x.Players,"localPlayer",x.Players.LocalPlayer)x.service=x.GetService;v(x,game)game,owner=x,x.Players.LocalPlayer end
  6.  
  7. function clear_t(t)
  8.  
  9. local i=next(t);
  10.  
  11. while(i)do
  12.  
  13. rawset(t,i,nil);
  14.  
  15. i=next(t);
  16.  
  17. end;
  18.  
  19. end;
  20.  
  21.  
  22. function _rem(o,i)
  23.  
  24. i=i or 0;
  25.  
  26. debris:addItem(o,i);
  27.  
  28. end;
  29.  
  30.  
  31. function _gtime()
  32.  
  33. return workspace.DistributedGameTime;
  34.  
  35. end;
  36.  
  37.  
  38. function _wait(n)
  39.  
  40. return select(1,wait(n));
  41.  
  42. end;
  43.  
  44.  
  45. function RGB(r,g,b)
  46.  
  47. return Color3.new(r/255,g/255,b/255);
  48.  
  49. end;
  50.  
  51.  
  52. function GBC(vobject,vclass,vfirst)
  53.  
  54. local t=vobject:children();
  55.  
  56. local res;
  57.  
  58. if(not vfirst)then
  59.  
  60. res={};
  61.  
  62. for i,v in ipairs(t)do
  63.  
  64. if(v.className==vclass)then
  65.  
  66. table.insert(res,v);
  67.  
  68. end;
  69.  
  70. end;
  71.  
  72. else
  73.  
  74. for i,v in ipairs(t)do
  75.  
  76. if(v.className==vclass)then
  77.  
  78. res=v;
  79.  
  80. break;
  81.  
  82. end;
  83.  
  84. end;
  85.  
  86. end;
  87.  
  88. clear_t(t);
  89.  
  90. return res;
  91.  
  92. end;
  93.  
  94.  
  95. function cam()
  96.  
  97. return workspace.CurrentCamera;
  98.  
  99. end;
  100.  
  101.  
  102. function camCoord()
  103.  
  104. return cam().CoordinateFrame;
  105.  
  106. end;
  107.  
  108.  
  109. function GBN(vobject,vname,vfirst)
  110.  
  111. local t=vobject:children();
  112.  
  113. local res;
  114.  
  115. if(not vfirst)then
  116.  
  117. res={};
  118.  
  119. for i,v in ipairs(t)do
  120.  
  121. if(v.Name==vname)then
  122.  
  123. table.insert(res,v);
  124.  
  125. end;
  126.  
  127. end;
  128.  
  129. else
  130.  
  131. for i,v in ipairs(t)do
  132.  
  133. if(v.Name==vname)then
  134.  
  135. res=v;
  136.  
  137. break;
  138.  
  139. end;
  140.  
  141. end;
  142.  
  143. end;
  144.  
  145. clear_t(t);
  146.  
  147. return res;
  148.  
  149. end;
  150.  
  151.  
  152. function tagHum(vhum)
  153.  
  154. NEW(GBN(vhum,'creator',true)or'ObjectValue'){
  155.  
  156. name='creator';
  157.  
  158. parent=vhum;
  159.  
  160. value=user;
  161.  
  162. };
  163.  
  164. end;
  165.  
  166.  
  167. function demHum(vhum,vvalue)
  168.  
  169. if(vhum.Health>0)then
  170.  
  171. vhum.Health=vhum.Health-vvalue;
  172.  
  173. if(vhum.Health<=0)then
  174.  
  175. tagHum(vhum);
  176.  
  177. end;
  178.  
  179. end;
  180.  
  181. end;
  182.  
  183.  
  184. function NEW(vclass)
  185.  
  186. return function(vprops)
  187.  
  188. local object=type(vclass)=='string'and Instance.new(vclass:sub(1,1):upper()..vclass:sub(2))or vclass;
  189.  
  190. local parent;
  191.  
  192. if(baseProps)then
  193.  
  194. for i,v in next,baseProps do
  195.  
  196. if(rawget(vprops,i)==nil)then
  197.  
  198. rawset(vprops,i,v);
  199.  
  200. end;
  201.  
  202. end;
  203.  
  204. end;
  205.  
  206. for i,v in next,vprops do
  207.  
  208. if(i:lower()=='parent')then
  209.  
  210. parent=v;
  211.  
  212. else
  213.  
  214. pcall(function()
  215.  
  216. local d;
  217.  
  218. local oldi=i;
  219.  
  220. i=i:sub(1,1):upper()..i:sub(2);
  221.  
  222. if(not pcall(function()
  223.  
  224. return object[i];
  225.  
  226. end))then
  227.  
  228. i=oldi;
  229.  
  230. end;
  231.  
  232. d=object[i];
  233.  
  234. if(tostring(d)=='Signal '..i)then
  235.  
  236. d:connect(v);
  237.  
  238. else
  239.  
  240. object[i]=v;
  241.  
  242. end;
  243.  
  244. end);
  245.  
  246. end;
  247.  
  248. end;
  249.  
  250. clear_t(vprops);
  251.  
  252. if(type(parent)=='userdata')then
  253.  
  254. object.Parent=parent;
  255.  
  256. end;
  257.  
  258. return object;
  259.  
  260. end;
  261.  
  262. end;
  263.  
  264.  
  265. function tobyte(vfoo)
  266.  
  267. return tonumber(vfoo)or string.byte(vfoo);
  268.  
  269. end;
  270.  
  271.  
  272. function rpcall(vfun,...)
  273.  
  274. local l,r=ypcall(vfun,...);
  275.  
  276. if(not l)then
  277.  
  278. print('['..name..']','ERROR:',r);
  279.  
  280. end;
  281.  
  282. end;
  283.  
  284.  
  285. function key(vkey)
  286.  
  287. return rawget(keys,tobyte(vkey));
  288.  
  289. end;
  290.  
  291.  
  292. function setkey(vkey,vbool)
  293.  
  294. rawset(keys,tobyte(vkey),vbool);
  295.  
  296. end;
  297.  
  298.  
  299. function keyf(vkey)
  300.  
  301. local fun=rawget(keysf,tobyte(vkey));
  302.  
  303.  
  304. if(fun)then
  305.  
  306. rpcall(fun);
  307.  
  308. end;
  309.  
  310. end;
  311.  
  312.  
  313. function setkeyf(vkey,vfun)
  314.  
  315. rawset(keysf,tobyte(vkey),vfun);
  316.  
  317. end;
  318.  
  319.  
  320. function _beginthread(vfun,...)
  321.  
  322. coroutine.wrap(rpcall)(vfun,...);
  323.  
  324. end;
  325.  
  326.  
  327. function moveOut(n)
  328.  
  329. local t,pos=0;
  330.  
  331. while(t<0.2)do
  332.  
  333. t=t+_wait(0.01);
  334.  
  335. pos=torso.CFrame;
  336.  
  337. torso.CFrame=pos*CFrame.new((t>0.2 and 0.2 or t)*66*n,0,0);
  338.  
  339. _beginthread(function()
  340.  
  341. local b=NEW'part'{
  342.  
  343. size=Vector3.new(1,1,1);
  344.  
  345. color=RGB(0,0,0);
  346.  
  347. canCollide=false;
  348.  
  349. bottomSurface=0;
  350.  
  351. name='bubble';
  352.  
  353. anchored=true;
  354.  
  355. topSurface=0;
  356.  
  357. formFactor=0;
  358.  
  359. cFrame=pos;
  360.  
  361. };
  362.  
  363. local mesh=NEW'specialMesh'{
  364.  
  365. scale=Vector3.new(1,1,1)*torso.Size.magnitude;
  366.  
  367. meshType=3;
  368.  
  369. parent=b;
  370.  
  371. };
  372.  
  373.  
  374. _rem(b,1.1);
  375.  
  376.  
  377. b.Parent=inv;
  378.  
  379.  
  380. local i=0;
  381.  
  382.  
  383. while(i<1)do
  384.  
  385. i=i+_wait(0.01);
  386.  
  387. mesh.Scale=mesh.Scale+Vector3.new(i,i,i);
  388.  
  389. b.Transparency=i;
  390.  
  391. end;
  392.  
  393. end);
  394.  
  395. end;
  396.  
  397. end;
  398.  
  399.  
  400. function START_cylinderStream(vtarget,vwidth,vcolor,v_time,vfun)
  401.  
  402. if(not vtarget:isA'BasePart')then
  403.  
  404. return nil;
  405.  
  406. end;
  407.  
  408.  
  409. if(not LIST_cylinderStream)then
  410.  
  411. LIST_cylinderStream={
  412.  
  413. types={};
  414.  
  415. items={};
  416.  
  417. };
  418.  
  419. end;
  420.  
  421.  
  422. table.insert(LIST_cylinderStream.types,{
  423.  
  424. color=vcolor or Color3.new(0,0,0);
  425.  
  426. _time=v_time or 0.2;
  427.  
  428. width=vwidth or 1;
  429.  
  430. target=vtarget;
  431.  
  432. fun=vfun;
  433.  
  434. });
  435.  
  436.  
  437. if(not LOOP_cylinderStream)then
  438.  
  439. LOOP_cylinderStream=true;
  440.  
  441.  
  442. coroutine.wrap(function()
  443.  
  444. local step=game:service'RunService'.Stepped;
  445.  
  446. local debris=game:service'Debris';
  447.  
  448. local list=LIST_cylinderStream;
  449.  
  450. local items=list.items;
  451.  
  452. local types=list.types;
  453.  
  454. local pos,mag;
  455.  
  456.  
  457. repeat
  458.  
  459. if(#types>0)then
  460.  
  461. for i,v in ipairs(types)do
  462.  
  463. v.first=v.target.Position;
  464.  
  465. if(v.last and v.last~=v.first)then
  466.  
  467. local part=Instance.new'Part';
  468.  
  469. part.formFactor=0;
  470.  
  471. part.TopSurface=0;
  472.  
  473. part.Anchored=true;
  474.  
  475. part.Color=v.color;
  476.  
  477. part.BottomSurface=0;
  478.  
  479. part.CanCollide=false;
  480.  
  481. part.Size=Vector3.new(1,1,1);
  482.  
  483. local b=part:clone();
  484.  
  485. b.Parent=part;
  486.  
  487. local bmesh=Instance.new('SpecialMesh',b);
  488.  
  489. bmesh.MeshType=3;
  490.  
  491. local mesh=Instance.new('CylinderMesh',part);
  492.  
  493.  
  494. table.insert(list.items,{
  495.  
  496. first=v.target.Position;
  497.  
  498. target=v.target;
  499.  
  500. _timeb=v._time;
  501.  
  502. _time=v._time;
  503.  
  504. width=v.width;
  505.  
  506. bmesh=bmesh;
  507.  
  508. part=part;
  509.  
  510. mesh=mesh;
  511.  
  512. bpart=b;
  513.  
  514. });
  515.  
  516. end;
  517.  
  518. v.last=v.first;
  519.  
  520. end;
  521.  
  522. end;
  523.  
  524.  
  525. local fps=select(2,step:wait());
  526.  
  527. local count=#items;
  528.  
  529.  
  530. if(count>0)then
  531.  
  532. for i=-count,-1 do
  533.  
  534. i=math.abs(i);
  535.  
  536. v=rawget(items,i);
  537.  
  538.  
  539. if(v._time<=0)then
  540.  
  541. v.part.Parent=nil;
  542.  
  543. while(next(v))do
  544.  
  545. local i=next(v);
  546.  
  547. rawset(v,i,nil);
  548.  
  549. end;
  550.  
  551. table.remove(items,i);
  552.  
  553. else
  554.  
  555. v._time=v._time-fps;
  556.  
  557.  
  558. if(not v.changed)then
  559.  
  560. v.changed=true;
  561.  
  562.  
  563. pos=CFrame.new(v.first,v.target.Position);
  564.  
  565. mag=(v.first-v.target.Position).magnitude;
  566.  
  567.  
  568. v.part.CFrame=pos*CFrame.Angles(math.pi*0.5,0,0);
  569.  
  570. v.mesh.Scale=Vector3.new(v.width,mag,v.width);
  571.  
  572. v.mesh.Offset=Vector3.new(0,-mag/2,0);
  573.  
  574. v.bpart.CFrame=v.part.CFrame;
  575.  
  576. v.bmesh.Scale=Vector3.new(v.width,v.width,v.width);
  577.  
  578.  
  579. v.part.Parent=v.target;
  580.  
  581. end;
  582.  
  583.  
  584. if(v.fun)then
  585.  
  586. pcall(v.fun,v);
  587.  
  588. end;
  589.  
  590. end;
  591.  
  592. end;
  593.  
  594. end;
  595.  
  596. until not LOOP_cylinderStream;
  597.  
  598. end)();
  599.  
  600. end;
  601.  
  602. end;
  603.  
  604.  
  605. function END_cylinderStream()
  606.  
  607. if(LIST_cylinderStream)then
  608.  
  609. local types=LIST_cylinderStream.types;
  610.  
  611. local item=rawget(types,1);
  612.  
  613. local i;
  614.  
  615. if(item)then
  616.  
  617. repeat
  618.  
  619. while(next(item))do
  620.  
  621. i=next(item);
  622.  
  623. rawset(item,i,nil);
  624.  
  625. end;
  626.  
  627. table.remove(types,1);
  628.  
  629. item=rawget(types,1);
  630.  
  631. until not item;
  632.  
  633. end;
  634.  
  635. end;
  636.  
  637. end;
  638.  
  639.  
  640. function region3(vstart,vend,vi,vlimit)
  641.  
  642. local reg=Region3.new(
  643.  
  644. Vector3.new(math.min(vstart.X,vend.X),math.min(vstart.Y,vend.Y),math.min(vstart.Z,vend.Z)),
  645.  
  646. Vector3.new(math.max(vstart.X,vend.X),math.max(vstart.Y,vend.Y),math.max(vstart.Z,vend.Z))
  647.  
  648. );
  649.  
  650. if(type(vi)=='table')then
  651.  
  652. return workspace:findPartsInRegion3WithIgnoreList(reg,vi or nil,vlimit or nil);
  653.  
  654. else
  655.  
  656. return workspace:findPartsInRegion3(reg,vi or nil,vlimit or nil);
  657.  
  658. end;
  659.  
  660. end;
  661.  
  662.  
  663. function region3p(vpart,vi,vlimit)
  664.  
  665. local vend=(vpart.CFrame*CFrame.new(vpart.Size/2)).p;
  666.  
  667. local vstart=(vpart.CFrame*CFrame.new(-vpart.Size/2)).p;
  668.  
  669. local reg=Region3.new(
  670.  
  671. Vector3.new(math.min(vstart.X,vend.X),math.min(vstart.Y,vend.Y),math.min(vstart.Z,vend.Z)),
  672.  
  673. Vector3.new(math.max(vstart.X,vend.X),math.max(vstart.Y,vend.Y),math.max(vstart.Z,vend.Z))
  674.  
  675. );
  676.  
  677. if(type(vi)=='table')then
  678.  
  679. return workspace:findPartsInRegion3WithIgnoreList(reg,vi or nil,vlimit or nil);
  680.  
  681. else
  682.  
  683. return workspace:findPartsInRegion3(reg,vi or nil,vlimit or nil);
  684.  
  685. end;
  686.  
  687. end;
  688.  
  689.  
  690. function region3sop(vstart,vsize,vi,vlimit)
  691.  
  692. local vend=(vstart*CFrame.new(vsize/2)).p;
  693.  
  694. local vstart=(vstart*CFrame.new(-vsize/2)).p;
  695.  
  696. local reg=Region3.new(
  697.  
  698. Vector3.new(math.min(vstart.X,vend.X),math.min(vstart.Y,vend.Y),math.min(vstart.Z,vend.Z)),
  699.  
  700. Vector3.new(math.max(vstart.X,vend.X),math.max(vstart.Y,vend.Y),math.max(vstart.Z,vend.Z))
  701.  
  702. );
  703.  
  704. if(type(vi)=='table')then
  705.  
  706. return workspace:findPartsInRegion3WithIgnoreList(reg,vi or nil,vlimit or nil);
  707.  
  708. else
  709.  
  710. return workspace:findPartsInRegion3(reg,vi or nil,vlimit or nil);
  711.  
  712. end;
  713.  
  714. end;
  715.  
  716.  
  717. function bigHeal(char)
  718.  
  719. local torso=char:findFirstChild'Torso';
  720.  
  721. local hum;
  722.  
  723.  
  724. local c=char:children();
  725.  
  726. for i,v in ipairs(c)do
  727.  
  728. if(v.className=='Humanoid')then
  729.  
  730. hum=v;
  731.  
  732. end;
  733.  
  734. end;
  735.  
  736. while(c[1])do
  737.  
  738. table.remove(c,1);
  739.  
  740. end;
  741.  
  742.  
  743. if(not torso or not hum)then
  744.  
  745. return false;
  746.  
  747. end;
  748.  
  749.  
  750. hum.Health=hum.MaxHealth;
  751.  
  752.  
  753. if(not limbsData)then
  754.  
  755. limbsData={
  756.  
  757. {
  758.  
  759. weld={name='Right Shoulder';C0=CFrame.new(1,0.5,0,0,0,1,0,1,0,-1,-0,-0);C1=CFrame.new(-0.5,0.5,0,0,0,1,0,1,0,-1,-0,-0);};
  760.  
  761. part={name='Right Arm';size=Vector3.new(1,2,1);};
  762.  
  763. };
  764.  
  765. {
  766.  
  767. weld={name='Left Shoulder';C0=CFrame.new(-1,0.5,0,-0,-0,-1,0,1,0,1,0,0);C1=CFrame.new(0.5,0.5,0,-0,-0,-1,0,1,0,1,0,0);};
  768.  
  769. part={name='Left Arm';size=Vector3.new(1,2,1);};
  770.  
  771. };
  772.  
  773. {
  774.  
  775. weld={name='Right Hip';C0=CFrame.new(1,-1,0,0,0,1,0,1,0,-1,-0,-0);C1=CFrame.new(-0.5,1,0,-0,-0,-1,0,1,0,1,0,0);};
  776.  
  777. part={name='Right Leg';size=Vector3.new(1,2,1);};
  778.  
  779. };
  780.  
  781. {
  782.  
  783. weld={name='Left Hip';C0=CFrame.new(-1,-1,0,-0,-0,-1,0,1,0,1,0,0);C1=CFrame.new(-0.5,1,0,-0,-0,-1,0,1,0,1,0,0);};
  784.  
  785. part={name='Left Leg';size=Vector3.new(1,2,1);};
  786.  
  787. };
  788.  
  789. };
  790.  
  791. end;
  792.  
  793.  
  794. local limbRefresh=false;
  795.  
  796.  
  797. for i,v in next,limbsData do
  798.  
  799. if(not torso:findFirstChild(v.weld.name)or not char:findFirstChild(v.part.name))then
  800.  
  801. local part=Instance.new'Part';
  802.  
  803. part.formFactor=0;
  804.  
  805. part.Size=v.part.Size;
  806.  
  807. part.Name=v.part.name;
  808.  
  809. part.CFrame=torso.CFrame;
  810.  
  811. part.Parent=char;
  812.  
  813. part:breakJoints();
  814.  
  815. local weld=Instance.new'Motor6D';
  816.  
  817. weld.Name=v.weld.name;
  818.  
  819. weld.MaxVelocity=0.1;
  820.  
  821. weld.C0=v.weld.C0;
  822.  
  823. weld.C1=v.weld.C1;
  824.  
  825. weld.Parent=torso;
  826.  
  827. weld.Part0=torso;
  828.  
  829. weld.Part1=part;
  830.  
  831. limbRefresh=true;
  832.  
  833. end;
  834.  
  835. end;
  836.  
  837.  
  838. if(limbRefresh)then
  839.  
  840. pcall(function()
  841.  
  842. local c=char.Animate:clone();
  843.  
  844. char.Animate.Parent=nil;
  845.  
  846. c.Parent=char;
  847.  
  848. end);
  849.  
  850.  
  851. pcall(function()
  852.  
  853. local c=char['Body Colors']:clone();
  854.  
  855. char['Body Colors'].Parent=nil;
  856.  
  857. c.Parent=char;
  858.  
  859. end);
  860.  
  861. end;
  862.  
  863.  
  864. return true;
  865.  
  866. end;
  867.  
  868.  
  869. ---------------------------------------------------------------------------------------------------------------------
  870.  
  871.  
  872. do
  873.  
  874. local t=game:children();
  875.  
  876. for i,v in ipairs(t)do
  877.  
  878. pcall(function()
  879.  
  880. rawset(getfenv(),v.className:sub(1,1):lower()..v.className:sub(2),v);
  881.  
  882. end);
  883.  
  884. end;
  885.  
  886. clear_t(t);
  887.  
  888. end;
  889.  
  890.  
  891. ---------------------------------------------------------------------------------------------------------------------
  892.  
  893.  
  894. user=players.localPlayer;
  895.  
  896. char=user.Character;
  897.  
  898. torso=char.Torso;
  899.  
  900. head=char.Head;
  901.  
  902.  
  903. playerGui=GBC(user,'PlayerGui',true);
  904.  
  905. backpack=GBC(user,'Backpack',true);
  906.  
  907. hum=GBC(char,'Humanoid',true);
  908.  
  909.  
  910. assert(hum,'Humanoid is not found!');
  911.  
  912.  
  913. name='Dresmor - Vanvidd';
  914.  
  915. url='rbxassetid://%d';
  916.  
  917.  
  918. logo=url:format(104753195);
  919.  
  920. bathimg=url:format(101372613);
  921.  
  922.  
  923. _done=true;
  924.  
  925.  
  926. keys={};
  927.  
  928. keysf={};
  929.  
  930.  
  931. baseProps={
  932.  
  933. size=Vector3.new(1,1,1);
  934.  
  935. canCollide=false;
  936.  
  937. color=RGB(0,0,0);
  938.  
  939. bottomSurface=0;
  940.  
  941. topSurface=0;
  942.  
  943. formFactor=0;
  944.  
  945. };
  946.  
  947.  
  948. ---------------------------------------------------------------------------------------------------------------------
  949.  
  950.  
  951. do
  952.  
  953. local t={playerGui;backpack;char;};
  954.  
  955. for i,v in ipairs(t)do
  956.  
  957. local t=GBN(v,name);
  958.  
  959. for i,v in ipairs(t)do
  960.  
  961. v.Parent=nil;
  962.  
  963. end;
  964.  
  965. clear_t(t);
  966.  
  967. end;
  968.  
  969. clear_t(t);
  970.  
  971. end;
  972.  
  973.  
  974. ---------------------------------------------------------------------------------------------------------------------
  975.  
  976.  
  977. function keyDown(vkey)
  978.  
  979. setkey(vkey,true);
  980.  
  981. repeat
  982.  
  983. if(_done)then
  984.  
  985. _done=false;
  986.  
  987. keyf(vkey);
  988.  
  989. _done=true;
  990.  
  991. end;
  992.  
  993. until not _wait(0.01)or not key(vkey);
  994.  
  995. end;
  996.  
  997.  
  998. function keyUp(vkey)
  999.  
  1000. setkey(vkey,false);
  1001.  
  1002. end;
  1003.  
  1004.  
  1005. function selected(vmouse)
  1006.  
  1007. mouse=vmouse;
  1008.  
  1009.  
  1010. mouse.KeyDown:connect(keyDown);
  1011.  
  1012. mouse.KeyUp:connect(keyUp);
  1013.  
  1014. end;
  1015.  
  1016.  
  1017. function deselected()
  1018.  
  1019. mouse=nil;
  1020.  
  1021. clear_t(keys);
  1022.  
  1023. end;
  1024.  
  1025.  
  1026. ---------------------------------------------------------------------------------------------------------------------
  1027.  
  1028.  
  1029. _beginthread(function()
  1030.  
  1031. repeat _wait(0.1);until bin.Parent~=backpack or hum.Health<=0;
  1032.  
  1033. debris:addItem(script,0);
  1034.  
  1035. local script=script;
  1036.  
  1037. clear_t(getfenv(0));
  1038.  
  1039. clear_t(getfenv(1));
  1040.  
  1041. script.Disabled=true;
  1042.  
  1043. end);
  1044.  
  1045.  
  1046. ---------------------------------------------------------------------------------------------------------------------
  1047.  
  1048.  
  1049. setkeyf('b',function()
  1050.  
  1051. repeat until not pcall(function()
  1052.  
  1053. char.bath.Parent=nil;
  1054.  
  1055. end);
  1056.  
  1057.  
  1058. local mdl=NEW'model'{
  1059.  
  1060. parent=char;
  1061.  
  1062. name='bath';
  1063.  
  1064. };
  1065.  
  1066. local btm=NEW'part'{
  1067.  
  1068. cFrame=torso.CFrame*CFrame.new(0,-torso.Size.Y*1.45,0);
  1069.  
  1070. size=Vector3.new(8,1,8);
  1071.  
  1072. canCollide=true;
  1073.  
  1074. transparency=1;
  1075.  
  1076. parent=mdl;
  1077.  
  1078. };
  1079.  
  1080. btm:breakJoints();
  1081.  
  1082. for i=0,5 do
  1083.  
  1084. NEW'decal'{
  1085.  
  1086. texture=bathimg;
  1087.  
  1088. parent=btm;
  1089.  
  1090. face=i;
  1091.  
  1092. };
  1093.  
  1094. end;
  1095.  
  1096. for i=0,3 do
  1097.  
  1098. local p=btm:clone();
  1099.  
  1100. p.Parent=mdl;
  1101.  
  1102. p.Size=Vector3.new(1,6,8);
  1103.  
  1104. p.CFrame=torso.CFrame*CFrame.new(0,torso.Size.Y*1.45,0);
  1105.  
  1106. p:breakJoints();
  1107.  
  1108. local w=Instance.new('Weld',p);
  1109.  
  1110. w.Part0=btm;
  1111.  
  1112. w.Part1=p;
  1113.  
  1114. w.C1=CFrame.new(3.5,-3,0)*CFrame.Angles(0,math.rad(90)*i,0);
  1115.  
  1116. end;
  1117.  
  1118.  
  1119. _wait(0.25);
  1120.  
  1121. end);
  1122.  
  1123.  
  1124. setkeyf(' ',function()
  1125.  
  1126. _beginthread(function()
  1127.  
  1128. local b=NEW'part'{
  1129.  
  1130. size=Vector3.new(1,1,1);
  1131.  
  1132. color=RGB(0,0,0);
  1133.  
  1134. canCollide=false;
  1135.  
  1136. bottomSurface=0;
  1137.  
  1138. name='bubble';
  1139.  
  1140. anchored=true;
  1141.  
  1142. topSurface=0;
  1143.  
  1144. formFactor=0;
  1145.  
  1146. cFrame=torso.CFrame;
  1147.  
  1148. };
  1149.  
  1150. local mesh=NEW'specialMesh'{
  1151.  
  1152. scale=Vector3.new(1,1,1)*torso.Size.magnitude;
  1153.  
  1154. meshType=3;
  1155.  
  1156. parent=b;
  1157.  
  1158. };
  1159.  
  1160.  
  1161. _rem(b,1.1);
  1162.  
  1163.  
  1164. b.Parent=inv;
  1165.  
  1166.  
  1167. local i=0;
  1168.  
  1169.  
  1170. while(i<1)do
  1171.  
  1172. i=i+_wait(0.01);
  1173.  
  1174. mesh.Scale=mesh.Scale+Vector3.new(i,i,i);
  1175.  
  1176. b.Transparency=i;
  1177.  
  1178. end;
  1179.  
  1180. end);
  1181.  
  1182. torso.RotVelocity=Vector3.new();
  1183.  
  1184. torso.CFrame=torso.CFrame*CFrame.new(0,1,0);
  1185.  
  1186. torso.Velocity=Vector3.new(0,80,0);
  1187.  
  1188. _wait(0.03);
  1189.  
  1190. end);
  1191.  
  1192.  
  1193. setkeyf('r',function()
  1194.  
  1195. local r='r';
  1196.  
  1197. local speed=40;
  1198.  
  1199. END_cylinderStream();
  1200.  
  1201. START_cylinderStream(torso,2,nil,1);
  1202.  
  1203. repeat
  1204.  
  1205. if(speed<100)then
  1206.  
  1207. speed=speed+2.25;
  1208.  
  1209. end;
  1210.  
  1211. hum.WalkSpeed=speed;
  1212.  
  1213. until not runService.Stepped:wait()or not key(r);
  1214.  
  1215. END_cylinderStream();
  1216.  
  1217. hum.WalkSpeed=16;
  1218.  
  1219. end);
  1220.  
  1221.  
  1222. setkeyf('e',function()
  1223.  
  1224. moveOut(1);
  1225.  
  1226. end);
  1227.  
  1228.  
  1229. setkeyf('q',function()
  1230.  
  1231. moveOut(-1);
  1232.  
  1233. end);
  1234.  
  1235.  
  1236. setkeyf('h',function()
  1237.  
  1238. bigHeal(char);
  1239.  
  1240.  
  1241. _beginthread(function()
  1242.  
  1243. local b=NEW'part'{
  1244.  
  1245. size=Vector3.new(1,1,1);
  1246.  
  1247. color=RGB(255,255,255);
  1248.  
  1249. canCollide=false;
  1250.  
  1251. bottomSurface=0;
  1252.  
  1253. name='bubble';
  1254.  
  1255. anchored=true;
  1256.  
  1257. topSurface=0;
  1258.  
  1259. formFactor=0;
  1260.  
  1261. };
  1262.  
  1263. local mesh=NEW'specialMesh'{
  1264.  
  1265. scale=Vector3.new(4,4,4)*torso.Size.magnitude;
  1266.  
  1267. meshType=3;
  1268.  
  1269. parent=b;
  1270.  
  1271. };
  1272.  
  1273.  
  1274. _rem(b,1.1);
  1275.  
  1276.  
  1277. b.Parent=inv;
  1278.  
  1279.  
  1280. local i=0;
  1281.  
  1282.  
  1283. while(i<1)do
  1284.  
  1285. mesh.Scale=mesh.Scale-Vector3.new(i,i,i);
  1286.  
  1287. b.CFrame=torso.CFrame;
  1288.  
  1289. b.Transparency=i;
  1290.  
  1291. i=i+_wait(0.01);
  1292.  
  1293. end;
  1294.  
  1295. end);
  1296.  
  1297.  
  1298. local b=NEW'part'{
  1299.  
  1300. size=Vector3.new(1,1,1);
  1301.  
  1302. color=RGB(0,0,0);
  1303.  
  1304. canCollide=false;
  1305.  
  1306. bottomSurface=0;
  1307.  
  1308. name='bubble';
  1309.  
  1310. anchored=true;
  1311.  
  1312. topSurface=0;
  1313.  
  1314. formFactor=0;
  1315.  
  1316. };
  1317.  
  1318. local mesh=NEW'specialMesh'{
  1319.  
  1320. scale=Vector3.new(4,4,4)*torso.Size.magnitude;
  1321.  
  1322. meshType=3;
  1323.  
  1324. parent=b;
  1325.  
  1326. };
  1327.  
  1328.  
  1329. _rem(b,1.1);
  1330.  
  1331.  
  1332. b.Parent=inv;
  1333.  
  1334.  
  1335. local i=0;
  1336.  
  1337.  
  1338. while(i<1)do
  1339.  
  1340. mesh.Scale=mesh.Scale+Vector3.new(i,i,i);
  1341.  
  1342. b.CFrame=torso.CFrame;
  1343.  
  1344. b.Transparency=i;
  1345.  
  1346. local t=region3sop(b.CFrame,mesh.Scale,char,20);
  1347.  
  1348. for i,v in ipairs(t)do
  1349.  
  1350. if(v.Parent~=workspace)then
  1351.  
  1352. v=v.Parent;
  1353.  
  1354. if(v.className=='Model')then
  1355.  
  1356. local hum=GBC(v,'Humanoid',true);
  1357.  
  1358. if(hum)then
  1359.  
  1360. demHum(hum,math.random(1,10)/10);
  1361.  
  1362. end;
  1363.  
  1364. end;
  1365.  
  1366. end;
  1367.  
  1368. end;
  1369.  
  1370. clear_t(t);
  1371.  
  1372. i=i+_wait(0.01);
  1373.  
  1374. end;
  1375.  
  1376. end);
  1377.  
  1378.  
  1379. inv=NEW'model'{
  1380.  
  1381. parent=char;
  1382.  
  1383. name=name;
  1384.  
  1385. };
  1386.  
  1387.  
  1388. bin=NEW'hopperBin'{
  1389.  
  1390. parent=backpack;
  1391.  
  1392. textureId=logo;
  1393.  
  1394. name=name;
  1395.  
  1396. selected=selected;
  1397.  
  1398. deselected=deselected;
  1399.  
  1400. };
  1401.  
  1402.  
  1403. if(game.PlaceId~=0)then
  1404.  
  1405. script.Parent=bin;
  1406.  
  1407. end;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement