1nubloku

uzi2

Sep 28th, 2019
52
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. -- This script has been converted to FE by iPxter
  2.  
  3.  
  4. if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
  5. local Player,Mouse,mouse,UserInputService,ContextActionService = owner
  6. do
  7. print("FE Compatibility code by Mokiros | Translated to FE by iPxter")
  8. script.Parent = Player.Character
  9.  
  10. --RemoteEvent for communicating
  11. local Event = Instance.new("RemoteEvent")
  12. Event.Name = "UserInput_Event"
  13.  
  14. --Fake event to make stuff like Mouse.KeyDown work
  15. local function fakeEvent()
  16. local t = {_fakeEvent=true,Connect=function(self,f)self.Function=f end}
  17. t.connect = t.Connect
  18. return t
  19. end
  20.  
  21. --Creating fake input objects with fake variables
  22. local m = {Target=nil,Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent()}
  23. local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
  24. local CAS = {Actions={},BindAction=function(self,name,fun,touch,...)
  25. CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil
  26. end}
  27. --Merged 2 functions into one by checking amount of arguments
  28. CAS.UnbindAction = CAS.BindAction
  29.  
  30. --This function will trigger the events that have been :Connect()'ed
  31. local function te(self,ev,...)
  32. local t = m[ev]
  33. if t and t._fakeEvent and t.Function then
  34. t.Function(...)
  35. end
  36. end
  37. m.TrigEvent = te
  38. UIS.TrigEvent = te
  39.  
  40. Event.OnServerEvent:Connect(function(plr,io)
  41. if plr~=Player then return end
  42. if io.isMouse then
  43. m.Target = io.Target
  44. m.Hit = io.Hit
  45. else
  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 UIS = game:GetService("UserInputService")
  66. local input = function(io,a)
  67. if a then return end
  68. --Since InputObject is a client-side instance, we create and pass table instead
  69. Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState})
  70. end
  71. UIS.InputBegan:Connect(input)
  72. UIS.InputEnded:Connect(input)
  73.  
  74. local Mouse = Player:GetMouse()
  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. Mouse,mouse,UserInputService,ContextActionService = m,m,UIS,CAS
  85. end
  86.  
  87. wait(0.001);
  88.  
  89. --------------------------------------------------------------------------------------
  90.  
  91. _clear=function()
  92. local c={char;bag;gui;};
  93. for i=1,#c do
  94. local c=c[i]:children();
  95. for i=1,#c do
  96. if(c[i].Name==name)then
  97. c[i].Parent=nil;
  98. end;
  99. end;
  100. end;
  101. local n=name..user.Name;
  102. local c=workspace:children();
  103. for i=1,#c do
  104. if(c[i].Name==n)then
  105. c[i].Parent=nil;
  106. end;
  107. end;
  108. end;
  109.  
  110. _valid_key=function(object,key)
  111. return object[key],key;
  112. end;
  113.  
  114. _new=function(class)
  115. return function(props)
  116. if(type(list_base_props)=='table')then
  117. for i,v in next,list_base_props do
  118. if(props[i]==nil)then
  119. props[i]=v;
  120. end;
  121. end;
  122. end;
  123.  
  124. local object=class;
  125.  
  126. if(type(class)=='string')then
  127. object=Instance.new(class:sub(1,1):upper()..class:sub(2));
  128. end;
  129.  
  130. local parent=props[1];
  131. props[1]=nil;
  132.  
  133. for i,v in next,props do
  134. local load,res,key=pcall(_valid_key,object,i:sub(1,1):upper()..i:sub(2));
  135. if(not load)then
  136. load,res,key=pcall(_valid_key,object,i);
  137. end;
  138.  
  139. if(key)then
  140. t=type(res);
  141. s=tostring(res);
  142. if(t=='userdata'and s=='Signal '..key)then
  143. if(type(v)=='table')then
  144. for i=1,#v do
  145. res:connect(v[i]);
  146. end;
  147. else
  148. res:connect(v);
  149. end;
  150. else
  151. object[key]=v;
  152. end;
  153. end;
  154. end;
  155.  
  156. if(parent)then
  157. object.Parent=parent;
  158. end;
  159.  
  160. return object;
  161. end;
  162. end;
  163.  
  164. _RGB=function(r,g,b)
  165. return Color3.new(r/255,g/255,b/255);
  166. end;
  167.  
  168. _copy=function(o)
  169. local def=o.archivable;
  170. o.archivable=true;
  171. local c=o:clone();
  172. o.archivable=def;
  173. return c;
  174. end;
  175.  
  176. _hum=function(char)
  177. local hum=char:findFirstChild'Humanoid';
  178. if(not hum or hum.className~='Humanoid')then
  179. local c=char:children();
  180. for i=1,#c do
  181. if(c[i].className=='Humanoid')then
  182. return c[i];
  183. end;
  184. end;
  185. else
  186. return hum;
  187. end;
  188. end;
  189.  
  190. _hum_tag=function(hum)
  191. local c=hum:findFirstChild'creator'or Instance.new('ObjectValue',hum);
  192. c.Name='creator';
  193. c.Value=user;
  194. if(hum.Health==0 and not hum:findFirstChild'killed')then
  195. Instance.new('BoolValue',hum).Name='killed';
  196. bullets.clip=bullets.clip+10;
  197. end;
  198. end;
  199.  
  200. _hum_dam=function(hum,dam,percent)
  201. hum.Health=hum.Health-(percent and hum.MaxHealth*(dam*0.01)or dam);
  202. if(hum.Health<=hum.MaxHealth*0.1)then
  203. _hum_tag(hum);
  204. end;
  205. end;
  206.  
  207. _ray=function(v0,v1,i)
  208. local mag=(v0-v1).magnitude;
  209. local ray=Ray.new(v0,(v1-v0).unit*(mag>999 and 999 or mag));
  210.  
  211. return(type(i)=='table'and workspace.FindPartOnRayWithIgnoreList or workspace.FindPartOnRay)(workspace,ray,i);
  212. end;
  213.  
  214. _must=function(v0,v1,i)
  215. local hit,pos=_ray(v0,v1,i);
  216. return not hit and mouse.target or hit,pos;
  217. end;
  218.  
  219. _cframe=function(x,y,z,r0,r1,r2)
  220. return CFrame.Angles(
  221. math.rad(r0 or 0),
  222. math.rad(r1 or 0),
  223. math.rad(r2 or 0)
  224. )*CFrame.new(x,y,z);
  225. end;
  226.  
  227. _update=function()
  228. if(bool_active and not screen.Parent)then
  229. screen.Parent=gui;
  230. elseif(not bool_active and screen.Parent)then
  231. screen.Parent=nil;
  232. end;
  233. end;
  234.  
  235. _light=function(v0,v1)
  236. local mag=(v0-v1).magnitude;
  237. local len=math.random(2,7);
  238. len=len>mag/2 and mag/2 or len;
  239.  
  240. local light=_new'part'{
  241. cFrame=CFrame.new(v0,v1);
  242. size=Vector3.new(1,1,1);
  243. color=_RGB(255,255,0);
  244. anchored=true;
  245. inv;
  246. };
  247. _new'blockMesh'{
  248. scale=Vector3.new(0.2,0.2,len);
  249. offset=Vector3.new(0,0,-len/2);
  250. light;
  251. };
  252.  
  253. local bb=_new'billboardGui'{
  254. size=UDim2.new(2,0,2,0);
  255. adornee=light;
  256. light;
  257. };
  258. _new'imageLabel'{
  259. image=url:format(109101526);
  260. backgroundTransparency=1;
  261. size=UDim2.new(1,0,1,0);
  262. bb;
  263. };
  264.  
  265. _rem(light,0.15);
  266. end;
  267.  
  268. _rem=function(object,del)
  269. if(del)then
  270. delay(del,function()
  271. if(object.Parent)then
  272. object.Parent=nil;
  273. end;
  274. end);
  275. else
  276. pcall(function()
  277. if(object.Parent)then
  278. object.Parent=nil;
  279. end;
  280. end);
  281. end;
  282. end;
  283.  
  284. _blood=function(pos,count)
  285. for i=1,count do
  286. local p=_new'part'{
  287. rotVelocity=Vector3.new(math.random(),math.random(),math.random())*50;
  288. position=pos+Vector3.new(math.random(),math.random(),math.random());
  289. velocity=Vector3.new(math.random(),math.random(),math.random())*50;
  290. size=Vector3.new(math.random(),math.random(),math.random())/3;
  291. color=_RGB(255,0,0);
  292. transparency=0.5;
  293. canCollide=true;
  294. bottomSurface=0;
  295. topSurface=0;
  296. formFactor=3;
  297. locked=true;
  298. inv;
  299. };
  300. delay(5,function()
  301. p.Parent=nil;
  302. end);
  303. end;
  304. end;
  305.  
  306. _make_hue=function()
  307. h_hue=_new'part'{
  308. size=Vector3.new(0.25,1.8,0.35);
  309. color=_RGB(100,100,100);
  310. formFactor=3;
  311. name='hue';
  312. handle;
  313. };
  314. hh_weld=_new'weld'{
  315. c1=_cframe(0,0.5,0);
  316. part0=handle;
  317. part1=h_hue;
  318. handle;
  319. };
  320. end;
  321.  
  322. _shot=function(v0,v1)
  323. if(not time_left)then
  324. time_left=0;
  325. end;
  326. if(time_left>time())then
  327. return nil;
  328. else
  329. time_left=time()+math.random(1,10)/100;
  330. end;
  331.  
  332. if(bullets.current<1)then
  333. local tick_sound=head:findFirstChild'tick_sound'or _new'sound'{
  334. soundId='rbxasset://sounds/SWITCH3.wav';
  335. name='tick_sound';
  336. volume=0.2;
  337. pitch=2;
  338. head;
  339. };
  340. tick_sound:play();
  341. if(bullets.clip>0)then
  342. time_left=time()+2;
  343. h_hue:breakJoints();
  344. h_hue.CanCollide=true;
  345. h_hue.Velocity=(h_hue.CFrame*CFrame.new(0,5,0)).lookVector*10;
  346. _rem(h_hue,10);
  347. delay(1.9,function()
  348. _make_hue();
  349. local got=(bullets.clip>bullets.maximum and
  350. bullets.maximum or
  351. bullets.clip)-bullets.current;
  352.  
  353. bullets.clip=bullets.clip-got;
  354. bullets.current=bullets.current+got;
  355. end);
  356. end;
  357. return nil;
  358. else
  359. bullets.current=bullets.current-1;
  360.  
  361. h_weld.C1=_cframe(0,0.75,0,
  362. -math.random(1000,1100)/10,180,0);
  363. d_weld.C1=_cframe(0,-0.25,0.3);
  364.  
  365. lightstuff.Visible=true;
  366. delay(0.1,function()
  367. lightstuff.Visible=false;
  368. end);
  369.  
  370. _rem(_new'part'{
  371. velocity=CFrame.new(drag.Position,(drag.CFrame*CFrame.new(-4,-5,0)).p).lookVector*10;
  372. cFrame=drag.CFrame*CFrame.new(-0.5,0,0);
  373. size=Vector3.new(0.1,0.1,0.4);
  374. color=_RGB(200,200,0);
  375. material='Slate';
  376. canCollide=true;
  377. formFactor=3;
  378. inv;
  379. },5);
  380. delay(0.1,function()
  381. d_weld.C1=_cframe(0,-0.25,0);
  382. if(bool_active)then
  383. h_weld.C1=h_weld_cf_active;
  384. end;
  385. end)
  386. end;
  387.  
  388. local hit,pos=_must(v0,v1,char);
  389.  
  390. shot_sound:play();
  391.  
  392. _light(v0,v1);
  393.  
  394. if(not hit)then return nil;end;
  395.  
  396. if(hit.Parent.className=='Hat')then
  397. hit:breakJoints();
  398. hit.CanCollide=true;
  399. hit.Velocity=CFrame.new(v0,pos).lookVector*math.random(30,50);
  400. hit.RotVelocity=Vector3.new(math.random(1,90),math.random(1,90),math.random(1,90));
  401. else
  402. local hum=_hum(hit.Parent);
  403. if(not hum)then
  404. if(hit.Anchored==false and hit.Size.magnitude<4)then
  405. hit:breakJoints();
  406. hit.CanCollide=true;
  407. end;
  408. else
  409. _hum_dam(hum,math.random(4,6));
  410. _blood(pos,math.random(3,6));
  411. hit.RotVelocity=Vector3.new(math.random(1,90),math.random(1,90),math.random(1,90))/6;
  412. if(hit.Name=='Head')then
  413. hum.Health=0;
  414. _blood(pos,math.random(3,6));
  415. delay(0.001,function()
  416. _new(workspace:FindFirstChild'head_shot'or'sound'){
  417. pitch=math.random(70,100)*0.01;
  418. soundId=url:format(1876552);
  419. name='head_shot';
  420. workspace;
  421. }:play();
  422. end);
  423. _hum_tag(hum);
  424. _rem(_new'part'{
  425. cFrame=CFrame.new(v0,pos)*CFrame.new(0,0,-(v0-pos).magnitude*0.5);
  426. size=Vector3.new(0.1,0.1,(v0-pos).magnitude);
  427. color=torso.Color;
  428. transparency=0.5;
  429. canCollide=false;
  430. bottomSurface=0;
  431. anchored=true;
  432. formFactor=3;
  433. topSurface=0;
  434. inv;
  435. },30);
  436. hit.Parent=nil;
  437. for b=0,1 do
  438. for a=0,1 do
  439. for i=0,1 do
  440. _rem(_new'part'{
  441. velocity=CFrame.new(v0,pos).lookVector*20;
  442. cFrame=hit.CFrame*CFrame.new(i,-b,a);
  443. size=Vector3.new(0.5,0.5,0.5);
  444. color=_RGB(255,255,255);
  445. bottomSurface=0;
  446. canCollide=true;
  447. transparency=0;
  448. formFactor=3;
  449. topSurface=0;
  450. hum;
  451. },30);
  452. end;
  453. end;
  454. end;
  455. end;
  456. end;
  457. end;
  458. end;
  459.  
  460. ----------------------------------------------------------------------------------------
  461.  
  462. _cf_select=function(mouse)
  463. mouse.Icon=url:format(109111387);--108999296
  464. bool_active=true;
  465.  
  466. local arm=char:findFirstChild'Right Arm';
  467. local weld=torso:findFirstChild'Right Shoulder';
  468. if(arm and weld)then
  469. h_weld.Part0=arm;
  470. h_weld.C1=h_weld_cf_active;
  471.  
  472. weld.Part1=nil;
  473. weld.Part0=nil;
  474.  
  475. weld=_new(torso:findFirstChild'right_arml'or'weld'){
  476. name='right_arml';
  477. part0=torso;
  478. part1=arm;
  479. torso;
  480. };
  481.  
  482. arml=(arml or 0)+1;
  483. local alv=arml;
  484. local gyro=torso:findFirstChild'p_gyro'or Instance.new('BodyGyro',torso);
  485. gyro.maxTorque=Vector3.new(5e5,5e5,5e5);
  486. gyro.P=30000;
  487. gyro.D=1000;
  488. gyro.Name='p_gyro';
  489. repeat
  490. local pos=mouse.hit.p;
  491. local val,valp,p0,p1,p2,hitpos,cj,c0,c1;
  492.  
  493. val=-math.pi*0.5;
  494. valp=val*-1;
  495. p0=torso.CFrame;
  496. p0=p0+((p0*CFrame.Angles(valp,0,0)).lookVector*0.5)+(p0*CFrame.Angles(0,val,0)).lookVector;
  497. p1=p0+((p0.p-pos).unit*-2);
  498. p2=CFrame.new((p0.p+p1.p)/2,p0.p)*CFrame.Angles(val,val,0);
  499. hitpos=torso.Position;
  500. cj=CFrame.new(hitpos);
  501. c0=torso.CFrame:inverse()*cj;
  502. c1=p2:inverse()*cj;
  503. weld.C0=c0;
  504. weld.C1=c1;
  505.  
  506. gyro.cframe=CFrame.new(torso.Position,Vector3.new(pos.X,torso.Position.Y,pos.Z));
  507.  
  508. wait(0.001);
  509. until arml~=alv;
  510. gyro.Parent=nil;
  511. end;
  512. end;
  513.  
  514. _cf_deselect=function()
  515. bool_active=false;
  516. arml=(arml or 0)+1;
  517. loop_shot=(loop_shot or 0)+1;
  518.  
  519. h_weld.Part0=torso;
  520. h_weld.C1=h_weld_cf_inactive;
  521.  
  522. local weld=torso:findFirstChild'right_arml';
  523. if(weld)then
  524. weld.Part1=nil;
  525. weld.Part0=nil;
  526. end;
  527. local arm=char:findFirstChild'Right Arm';
  528. local weld=torso:findFirstChild'Right Shoulder';
  529. if(arm and weld)then
  530. weld.Part0=torso;
  531. weld.Part1=arm;
  532. end;
  533. end;
  534.  
  535. _cf_mouse=function(event,fun)
  536. mouse[event:sub(1,1):upper()..event:sub(2)]:connect(function(...)
  537. if(bool_active)then
  538. fun(...);
  539. end;
  540. end);
  541. end;
  542.  
  543. ----------------------------------------------------------------------------------------
  544.  
  545. do
  546. local main=getfenv(0);
  547. local c=game:children();
  548. local check=function(v)
  549. if(v.className~=''and v.className~='Instance'and game:service(v.className))then
  550. main[v.className:sub(1,1):lower()..v.className:sub(2)]=v;
  551. end;
  552. end;
  553. for i=1,#c do
  554. pcall(check,c[i]);
  555. end;
  556. end;
  557.  
  558. ----------------------------------------------------------------------------------------
  559.  
  560. bullets={
  561. maximum=51111111111111111111111111110;
  562. current=511111111111111111111111111111110;
  563. clip=501111111111111111111111111111111*4;
  564. };
  565.  
  566. list_base_props={
  567. backgroundColor3=_RGB(0,0,0);
  568. textColor3=_RGB(200,200,200);
  569. borderSizePixel=0;
  570. color=_RGB(0,0,0);
  571. archivable=false;
  572. canCollide=false;
  573. bottomSurface=0;
  574. topSurface=0;
  575. formFactor=0;
  576. locked=true;
  577. };
  578.  
  579. ----------------------------------------------------------------------------------------
  580.  
  581. user=owner
  582. char=user.Character;
  583. gui=user.PlayerGui;
  584. bag=user.Backpack;
  585. torso=char.Torso;
  586. head=char.Head;
  587. hum=_hum(char);
  588.  
  589. url='rbxassetid://%d';
  590. name='dev-uzi';
  591.  
  592. h_weld_cf_inactive=_cframe(0.35,0.5,0.5,
  593. 0,90,-70);
  594. h_weld_cf_active=_cframe(0,0.75,0,
  595. -110,180,0);
  596.  
  597. assert(hum,'humanoid is not found');
  598.  
  599. ----------------------------------------------------------------------------------------
  600.  
  601. _clear();
  602.  
  603. ----------------------------------------------------------------------------------------
  604.  
  605. _cf_mouse('button1Down',function()
  606. loop_shot=(loop_shot or 0)+1;
  607. local vers=loop_shot;
  608. local step=runService.Stepped;
  609. repeat
  610. _shot((tube.CFrame*CFrame.new(0,0,tube.Size.Z*0.5)).p,mouse.hit.p);
  611. step:wait();--wait(0.001);
  612. until vers~=loop_shot;
  613. end);
  614.  
  615. _cf_mouse('button1Up',function()
  616. loop_shot=(loop_shot or 0)+1;
  617. end);
  618.  
  619. _cf_mouse('move',function()
  620. cross_f.Position=UDim2.new(0,mouse.X-11,0,mouse.Y-11);
  621. end);
  622.  
  623. _cf_mouse('keyDown',function(k)
  624. if(k=='r')then
  625. if(bullets.clip>0 and time_left<=time())then
  626. local got=(bullets.clip>bullets.maximum and
  627. bullets.maximum or
  628. bullets.clip)-bullets.current;
  629.  
  630. bullets.clip=bullets.clip-got;
  631. bullets.current=bullets.current+got;
  632. if(got~=0)then
  633. time_left=time()+2;
  634. end;
  635. end;
  636. end;
  637. end);
  638.  
  639. ----------------------------------------------------------------------------------------
  640.  
  641. screen=_new'screenGui'{
  642. name=name;
  643. };
  644.  
  645. cross_f=_new'frame'{
  646. size=UDim2.new(0,21,0,21);
  647. backgroundTransparency=1;
  648. screen;
  649. };
  650.  
  651. for i=0,1 do
  652. _new'frame'{
  653. position=UDim2.new(0,13*i,0,11);
  654. size=UDim2.new(0,10,0,1);
  655. cross_f;
  656. };
  657. end;
  658.  
  659. for i=0,1 do
  660. _new'frame'{
  661. position=UDim2.new(0,11,0,13*i);
  662. size=UDim2.new(0,1,0,10);
  663. cross_f;
  664. };
  665. end;
  666.  
  667. ----------------------------------------------------------------------------------------
  668.  
  669. shot_sound=_new(head:findFirstChild'2920959'or'sound'){
  670. soundId=url:format(2920959);
  671. pitch=1.4;
  672. head;
  673. };
  674. if(shot_sound.Name~='2920959')then
  675. shot_sound.Name='2920959';
  676. shot_sound:play();
  677. end;
  678.  
  679. bin=_new'hopperBin'{
  680. deselected=_cf_deselect;
  681. selected=_cf_select;
  682. name=name;
  683. bag;
  684. };
  685.  
  686. inv=_new'model'{
  687. name=name;
  688. char;
  689. };
  690.  
  691. handle=_new'part'{
  692. size=Vector3.new(0.3,1.3,0.4);
  693. color=_RGB(140,140,140);
  694. name='handle';
  695. formFactor=3;
  696. inv;
  697. touched=function(hit)
  698. if(hit.Parent.className=='Model')then
  699. local hum=_hum(hit.Parent);
  700. if(hum~=nil)then
  701. _hum_dam(hum,handle.Velocity.magnitude);
  702. end;
  703. end;
  704. end;
  705. };
  706. h_weld=_new'weld'{
  707. c1=h_weld_cf_inactive;
  708. part1=handle;
  709. part0=torso;
  710. handle;
  711. };
  712. _make_hue();
  713.  
  714. h_part=_new'part'{
  715. size=Vector3.new(0.4,0.4,1.4);
  716. color=_RGB(140,140,140);
  717. name='handle';
  718. formFactor=3;
  719. handle;
  720. };
  721. hp_weld=_new'weld'{
  722. c1=_cframe(0,-1.3/2,-0.3,
  723. 20,0,0);
  724. part0=handle;
  725. part1=h_part;
  726. handle;
  727. };
  728.  
  729. drag=_new'part'{
  730. size=Vector3.new(0.5,0.45,1.5);
  731. color=_RGB(100,100,100);
  732. name='handle';
  733. formFactor=3;
  734. handle;
  735. };
  736. d_weld=_new'weld'{
  737. c1=_cframe(0,-0.25,0);
  738. part0=h_part;
  739. part1=drag;
  740. handle;
  741. };
  742.  
  743. tube=_new'part'{
  744. size=Vector3.new(0.2,0.2,1.5);
  745. color=_RGB(0,0,0);
  746. name='handle';
  747. formFactor=3;
  748. handle;
  749. };
  750. t_weld=_new'weld'{
  751. c1=_cframe(0,-0.3,-0.1);
  752. part0=h_part;
  753. part1=tube;
  754. handle;
  755. };
  756.  
  757. bullets_label=_new'textLabel'{
  758. textStrokeColor3=_RGB(0,0,0);
  759. textColor3=_RGB(200,200,200);
  760. textStrokeTransparency=0;
  761. backgroundTransparency=1;
  762. fontSize=5;
  763. screen;
  764. };
  765.  
  766. lightstuff=_new'frame'{
  767. backgroundColor3=_RGB(255,255,255);
  768. position=UDim2.new(0,0,0,-1);
  769. backgroundTransparency=0.5;
  770. size=UDim2.new(1,0,1,1);
  771. borderSizePixel=0;
  772. visible=false;
  773. screen;
  774. };
  775.  
  776. coroutine.wrap(function()
  777. local red,white,green;
  778. repeat
  779. if(screen.Parent)then
  780. if(not green and bullets.current==bullets.maximum)then
  781. green=true;
  782. bullets_label.TextColor3=_RGB(0,200,0);
  783. elseif(not red and bullets.current==0)then
  784. red=true;
  785. bullets_label.TextColor3=_RGB(200,0,0);
  786. elseif((red or green)and bullets.current~=0 and bullets.current~=bullets.maximum)then
  787. bullets_label.TextColor3=_RGB(200,200,200);
  788. green=false;
  789. red=false;
  790. end;
  791. bullets_label.Text=('Bullets: %d/%d'):format(bullets.current,bullets.clip);
  792. bullets_label.Size=UDim2.new(0,bullets_label.TextBounds.X,0,bullets_label.TextBounds.Y);
  793. bullets_label.Position=UDim2.new(1,-bullets_label.TextBounds.X-6,1,-bullets_label.TextBounds.Y-6);
  794. end;
  795. wait(0.001);
  796. until nil;
  797. end)();
  798.  
  799. ----------------------------------------------------------------------------------------
  800.  
  801. _G.dev_pistol_version=(_G.dev_pistol_version or 0)+1;
  802. local vers=_G.dev_pistol_version;
  803. repeat _update();wait(0.001);until _G.dev_pistol_version~=vers or hum.Health==0;
  804. if(hum.Health==0)then
  805. _clear();
  806. end;
  807. script.Disabled=true;
  808.  
  809. --mediafire-----------------------------------------------------------------------------
Add Comment
Please, Sign In to add comment