deezfai

Untitled

Jul 30th, 2016
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 24.28 KB | None | 0 0
  1. -- mediafire ---------------------------------------------------------------------------------------------------------run first---------------------------------------------------------
  2. script.Parent = nil
  3. it = Instance.new
  4. v3=Vector3.new
  5. bc=BrickColor.new
  6. c3=Color3.new
  7. cn=CFrame.new
  8. ca=CFrame.Angles
  9. ca2=function(a,b,c)
  10. return ca(math.rad(a),math.rad(b),math.rad(c))
  11. end
  12. ti=table.insert
  13. tr=table.remove
  14. rn=math.random
  15. rd=math.rad
  16. mf=math.floor
  17. ud = UDim2.new
  18. inf=math.huge
  19. dg=math.deg
  20. mdeg=math.deg
  21. v310=v3(1/0,1/0,1/0)
  22. pi=math.pi
  23. w=wait
  24. cf=cn
  25. bn=bc
  26. ts=tostring
  27. Workspace=game:GetService("Workspace")
  28. Players=game:GetService("Players")
  29. Player=Players.LocalPlayer
  30. Lighting=game:GetService("Lighting")
  31. Debris=game:GetService("Debris")
  32. work=Workspace
  33. server=Players
  34. tb=Player
  35. lighting=Lighting
  36. deb=Debris
  37. asset = "http://www.roblox.com/asset/?id="
  38. Asset=asset
  39. ids = {}
  40. ids.Shoot = 10209633
  41. ids.Reload = 10209636
  42. ids.Crown = 20329976
  43. ids.Crown2 = 1323306
  44. ids.Icon = 52611635
  45. ids.Explode = 2697431
  46. ids.Ring = 3270017
  47. for i,v in pairs(ids) do
  48. if type(v)=='number' then
  49. ids[i]='http://www.roblox.com/asset/?id='..v
  50. end
  51. game:GetService("ContentProvider"):Preload(ids[i])
  52. end
  53. qi = function(ttz)
  54. local qii = it(ttz[1]) table.foreach(ttz,function(oi,oi2)
  55. if oi ~= 1 and oi ~= 2 then qii[oi] = oi2 end end) qii.Parent=ttz[2] return qii end
  56. q = function(f)
  57. coroutine.resume(coroutine.create(function() f() end)) end
  58.  
  59. ft = function(tablez,item)
  60. for i=1,#tablez do if tablez[i] == item then return i end end return nil end
  61. ft2 = function(tablez,item)
  62. for i=1,#tablez do if tablez[i][1] == item then return i end end return nil end
  63. pa = function(pa,pn,sh,x,y,z,c,a,tr,re,bc2)
  64. local fp=nil
  65. if sh ~= "Wedge" and sh ~= "CornerWedge" and sh ~= "VehicleSeat" and sh ~= "Seat" then
  66. fp=it("Part",pa)
  67. fp.Shape=sh or "Block"
  68. fp.formFactor="Custom"
  69. elseif sh == "Wedge" then
  70. fp=it("WedgePart",pa)
  71. fp.formFactor="Custom"
  72. elseif sh == "CornerWedge" then
  73. fp=it("CornerWedgePart",pa)
  74. elseif sh == "VehicleSeat" then
  75. fp=it("VehicleSeat",pa)
  76. elseif sh == "Seat" then
  77. fp=it("Seat",pa)
  78. end
  79. fp.Size=v3(x or 4,y or 2,z or 2)
  80. fp.Friction = 2
  81. fp.CanCollide=c or true
  82. fp.Anchored=a or false
  83. fp.BrickColor=bc(bc2 or "")
  84. fp.Transparency=tr or 0
  85. fp.Reflectance=re or 0
  86. fp.BottomSurface=0
  87. fp.Name=pn or "TBLib Part"
  88. fp.Locked = true
  89. fp.TopSurface=0
  90. fp.CFrame=cn(0,0,0)
  91. fp:BreakJoints()
  92. fp.Anchored = a
  93. return fp
  94. end
  95. function ClearClass(Object,Class)
  96. for _,v in pairs(Object:GetChildren()) do
  97. if v:IsA(Class) then
  98. v:Destroy()
  99. end
  100. end
  101. end
  102. function GetClass(Object,Class)
  103. for _,v in pairs(Object:GetChildren()) do
  104. if v:IsA(Class) then
  105. return v
  106. end
  107. end
  108. end
  109. function re(par,obj)
  110. if par:findFirstChild(obj) then
  111. par[obj]:Remove''
  112. end
  113. end
  114. function invis(o)
  115. for i,v in pairs(o:children()) do
  116. if v:IsA("BasePart") then
  117. v.Transparency=1
  118. end
  119. invis(v)
  120. end
  121. end
  122. function newhats(p,o,o2)
  123. for i,v in pairs(p:children()) do
  124. if v:IsA("Hat") then
  125. local np=v.Handle:Clone''
  126. np.Transparency=0
  127. np.Mesh.Scale=np.Mesh.Scale*1.04
  128. np.Parent=o
  129. np.CFrame=v.Handle.CFrame
  130. np.Name="Hat"
  131. stick2(np,o2,o)
  132. end
  133. end
  134. end
  135. fade = function(prt,incr)
  136. q(function()
  137. for i=prt.Transparency,1,incr do
  138. prt.Transparency=i
  139. wait()
  140. end
  141. prt:Remove''
  142. end)
  143. end
  144.  
  145. function weld(pa,p0,p1,x,y,z,a,b,c)
  146. local fw=it("Weld",pa)
  147. fw.Part0=p0
  148. fw.Part1=p1
  149. fw.C0=cn(x,y,z)*ca(a,b,c)
  150. return fw
  151. end
  152. stick = function(hit2,hit)
  153. return qi({"Weld",hit2,Part0=hit2,Part1=hit,C0=hit2.CFrame:inverse()*cn(hit2.Position),C1=hit.CFrame:inverse()*cn(hit2.Position)})
  154. end
  155. function stick2(hit2,hit,tostick)
  156. local weld=it("Weld")
  157. weld.Part0=tostick
  158. weld.Part1=hit2
  159. local HitPos=hit.Position
  160. local CJ=cn(HitPos)
  161. local C0=hit2.CFrame:inverse() *CJ
  162. local C1=hit.CFrame:inverse() * CJ weld.C0=C1
  163. weld.C1=C0
  164. weld.Parent=hit2
  165. end
  166. ray = function(Pos, Dir,tab)
  167. return workspace:FindPartOnRay(Ray.new(Pos, Dir.unit *999),tab)
  168. end
  169.  
  170. function rtab(tabz,obj)
  171. for i=1,#tabz do
  172. if tabz[i] == obj then
  173. tr(tabz,i)
  174. break
  175. end
  176. end
  177. end
  178. sTrail={}
  179. function Trail2(lopz,ob,waitz,col,thickz,ofz) cw(function() ti(sTrail,ob)
  180. local oldpos=(ob.CFrame *ofz).p local lopz2=0
  181. local function loltr() local obp=(ob.CFrame *ofz).p lopz2=lopz2 + 1
  182. local mag=(oldpos - obp).magnitude
  183. local tr=pa(ob,"trail","Block",0,0,0,false,false,0.5,0.15,col) tr.Anchored=true
  184. tr.CFrame=cn(oldpos,obp)
  185. tr.CFrame=tr.CFrame + tr.CFrame.lookVector* (mag/2)
  186. local trm=it("CylinderMesh",tr) trm.Scale=v3(5*thickz,mag*5,5*thickz)
  187. cw(function() for i=5*thickz,0,-5*thickz/10 do trm.Scale=v3(i,mag*5,i) w() end tr:Remove'' end)
  188. tr.CFrame=tr.CFrame *ca(rd(90),0,0) oldpos=obp end
  189. repeat loltr()
  190. wait(waitz) until ft(sTrail,ob) == nil or lopz2 == lopz loltr() end) end
  191. Trail = function(ob,times,waitz,col,thickz,ofz) -- Brick Trail
  192. q(function()
  193. local oldpos=(ob.CFrame *ofz).p
  194. for i=1,times do
  195. if effon==true then
  196. local obp=(ob.CFrame *ofz).p
  197. local mag=(oldpos - obp).magnitude
  198. local tr=pa(ob,"trail","Block",0,0,0,false,false,0.5,0.15,col)
  199. tr.Anchored=true
  200. tr.CFrame=cn(oldpos,obp)
  201. tr.CFrame=tr.CFrame + tr.CFrame.lookVector* (mag/2)
  202. trm=it("CylinderMesh",tr)
  203. trm.Scale=v3(thickz,mag*5,thickz)
  204. q(function()
  205. for i=thickz,0,thickz/10 do
  206. trm.Scale=v3(i,mag*5,i)
  207. wait()
  208. end
  209. tr:Remove''
  210. end)
  211. tr.CFrame=tr.CFrame *ca(rd(90),0,0)
  212. oldpos=obp wait(waitz)
  213. end
  214. end
  215. end)
  216. end
  217. de = function(it,ti) game:service'Debris':AddItem(it,ti) end -- Debris
  218. GlowMesh = function(anch,meshid2,rootz,mv3,colzz,adjus,l1,l2,l3) q(function() -- Glowmesh
  219. local spi=pa(rootz,"glowmesh","Block",mv3.X,mv3.Y,mv3.Z,false,false,l1,0,colzz) local spim=it("SpecialMesh",spi) spi.CanCollide=false if meshid2:lower()=="sphere" then spim.MeshType="Sphere" elseif meshid2:lower()=="block" then spim=it("BlockMesh",spi) else spim.MeshType="FileMesh" spim.MeshId=meshid2 end
  220. if anch then local spiw=qi({"Weld",spi,Part0=rootz,Part1=spi}) spiw.C0 =spiw.C0 *adjus else spi.Anchored=true spi.CFrame=adjus end
  221. for i=l1,l2,l3 do spi.Transparency=i spim.Scale=mv3*(i+0.3) wait() end spi:Remove'' end)
  222. end
  223. DetectSurface = function(pos, part) -- Surface Detector
  224. local surface = nil local pospos = part.CFrame
  225. local pos2 = pospos:pointToObjectSpace(pos) local siz = part.Size local shaep = part.Shape
  226. if shaep == Enum.PartType.Ball or shaep == Enum.PartType.Cylinder then
  227. surface = {"Anything", cn(pospos.p, pos)*cn(0, 0, -(pospos.p - pos).magnitude+0.12)*ca(rd(-90), 0, 0)}
  228. else if pos2.Y > ((siz.Y/2)-0.01) then surface = {"Top", ca(0, 0, 0)}
  229. elseif pos2.Y < -((siz.Y/2)-0.01) then surface = {"Bottom", ca(-math.pi, 0, 0)} elseif pos2.X > ((siz.X/2)-0.01) then surface = {"Right", ca(0, 0, rd(-90))}
  230. elseif pos2.X < -((siz.X/2)-0.01) then surface = {"Left", ca(0, 0, rd(90))} elseif pos2.Z > ((siz.Z/2)-0.01) then surface = {"Back", ca(rd(90), 0, 0)} elseif pos2.Z < -((siz.Z/2)-0.01) then surface = {"Front", ca(rd(-90), 0, 0)} end end return surface end
  231. BulletHole = function(HitPos,HitObj,sc,img,par) -- Bullethole function
  232. local Surface = DetectSurface(HitPos, HitObj)
  233. local C = cn(HitPos) * ca(HitObj.CFrame:toEulerAnglesXYZ()) * Surface[2]
  234. if Surface[1] == "Anything" then C = Surface[2] end local theimg = img or ds.BulletHole
  235. local bl = pa(workspace or par,"bullethole","Block",sc,0,sc,false,true,1,0,"") qi({"Decal",bl,Face="Top",Texture=theimg})
  236. bl.CFrame = C*cn(0,-0.1,0) if not HitObj.Anchored then bl.Anchored = false stick(bl,HitObj) bl.ChildRemoved:connect(function() bl:Remove() end) end q(function() wait(5) for i=0,1,0.05 do bl.Size=v3(-i*sc,0,-i*sc) wait() end de(bl,0) end)
  237. end
  238. so = function(id,par,vol,pit) q(function() -- Sound maker
  239. local sou = qi({"Sound",par or workspace,Volume=vol,Pitch=pit or 1,SoundId=id})
  240. wait() sou:play() wait(6) sou:Remove() end) end
  241. -- local/so(asset..ds.GothicMusic,workspace,1,2.6)
  242. function GetRegion(p0,p1,f,f2) q(function()
  243. for i,v in pairs(workspace:FindPartsInRegion3(Region3.new(p0,p1),c,100) ) do if v.Parent:findFirstChild("Humanoid") and v.Parent.Humanoid.Health > 0 and v.Parent:findFirstChild("Torso") then q(function() f(v.Parent) end) elseif f2 and v.Parent.Parent:findFirstChild("Humanoid") == nil then f2(v) end end
  244. end) end
  245.  
  246. FindGround = function(pos) -- ground finder
  247. local ax,ay,az = pos:toEulerAnglesXYZ()
  248. local bhit,bpos=ray(pos.p,pos.p - (pos.p + v3(0,200,0)))
  249. if bhit and bpos then
  250. return cn(bpos)*ca(ax,ay,az)
  251. end
  252. return nil
  253. end
  254. function NPC(Name, Position) -- npc maker
  255. local Character = Instance.new("Model")
  256. Character.Name = Name
  257. local Humanoid = Instance.new("Humanoid")
  258. Humanoid.Parent = Character
  259. local Template = Instance.new("Part")
  260. Template.FormFactor = "Custom"
  261. Template.Size = Vector3.new(1, 2, 1)
  262. Template.Locked = true
  263. local Head = Template:Clone()
  264. Head.Name = "Head"
  265. Head.TopSurface = "Smooth"
  266. Head.BottomSurface = "Smooth"
  267. Head.Size = Vector3.new(2, 1, 1)
  268. Head.Parent = Character
  269. local Mesh = Instance.new("SpecialMesh")
  270. Mesh.MeshType = "Head"
  271. Mesh.Scale = Vector3.new(1.25, 1.25, 1.25)
  272. Mesh.Parent = Head
  273. local Face = Instance.new("Decal")
  274. Face.Name = "face"
  275. Face.Texture = "rbxasset://textures/face.png"
  276. Face.Parent = Head
  277. local Torso = Template:Clone()
  278. Torso.Name = "Torso"
  279. Torso.LeftSurface = "Weld"
  280. Torso.RightSurface = "Weld"
  281. Torso.CFrame = CFrame.new(0, 10000, 0)
  282. Torso.Size = Vector3.new(2, 2, 1)
  283. Torso.Parent = Character
  284. local TShirt = Instance.new("Decal")
  285. TShirt.Name = "roblox"
  286. TShirt.Parent = Torso
  287. local LeftArm = Template:Clone()
  288. LeftArm.Name = "Left Arm"
  289. LeftArm.Parent = Character
  290. local RightArm = Template:Clone()
  291. RightArm.Name = "Right Arm"
  292. RightArm.Parent = Character
  293. local LeftLeg = Template:Clone()
  294. LeftLeg.Name = "Left Leg"
  295. LeftLeg.Parent = Character
  296. local RightLeg = Template:Clone()
  297. RightLeg.Name = "Right Leg"
  298. RightLeg.Parent = Character
  299. Character:BreakJoints()
  300. local Neck = Instance.new("Weld")
  301. Neck.Name = "Neck"
  302. Neck.Part0 = Torso
  303. Neck.Part1 = Head
  304. Neck.C0 = CFrame.new(0, 1.5, 0)
  305. Neck.Parent = Torso
  306. local LeftShoulder = Instance.new("Motor")
  307. LeftShoulder.Name = "Left Shoulder"
  308. LeftShoulder.Part0 = Torso
  309. LeftShoulder.Part1 = LeftArm
  310. LeftShoulder.MaxVelocity = 0.1
  311. LeftShoulder.C0 = CFrame.new(-Torso.Size.x / 2 - RightArm.Size.x / 2, LeftArm.Size.y / 4, 0) * CFrame.fromEulerAnglesXYZ(0, -math.pi / 2, 0)
  312. LeftShoulder.C1 = CFrame.new(0, LeftArm.Size.y / 4, 0) * CFrame.fromEulerAnglesXYZ(0, -math.pi / 2, 0)
  313. LeftShoulder.Parent = Torso
  314. local RightShoulder = Instance.new("Motor")
  315. RightShoulder.Name = "Right Shoulder"
  316. RightShoulder.Part0 = Torso
  317. RightShoulder.Part1 = RightArm
  318. RightShoulder.MaxVelocity = 0.1
  319. RightShoulder.C0 = CFrame.new(Torso.Size.x / 2 + RightArm.Size.x / 2, RightArm.Size.y / 4, 0) * CFrame.fromEulerAnglesXYZ(0, math.pi / 2, 0)
  320. RightShoulder.C1 = CFrame.new(0, RightArm.Size.y / 4, 0) * CFrame.fromEulerAnglesXYZ(0, math.pi / 2, 0)
  321. RightShoulder.Parent = Torso
  322. local LeftHip = Instance.new("Motor")
  323. LeftHip.Name = "Left Hip"
  324. LeftHip.Part0 = Torso
  325. LeftHip.Part1 = LeftLeg
  326. LeftHip.MaxVelocity = 0.1
  327. LeftHip.C0 = CFrame.new(-LeftLeg.Size.x / 2, -LeftLeg.Size.y / 2, 0) * CFrame.fromEulerAnglesXYZ(0, -math.pi / 2, 0)
  328. LeftHip.C1 = CFrame.new(0, LeftLeg.Size.y / 2, 0) * CFrame.fromEulerAnglesXYZ(0, -math.pi / 2, 0)
  329. LeftHip.Parent = Torso
  330. local RightHip = Instance.new("Motor")
  331. RightHip.Name = "Right Hip"
  332. RightHip.Part0 = Torso
  333. RightHip.Part1 = RightLeg
  334. RightHip.MaxVelocity = 0.1
  335. RightHip.C0 = CFrame.new(RightLeg.Size.x / 2, -RightLeg.Size.y / 2, 0) * CFrame.fromEulerAnglesXYZ(0, math.pi / 2, 0)
  336. RightHip.C1 = CFrame.new(0, RightLeg.Size.y / 2, 0) * CFrame.fromEulerAnglesXYZ(0, math.pi / 2, 0)
  337. RightHip.Parent = Torso
  338. local BodyColors = Instance.new("BodyColors")
  339. BodyColors.LeftArmColor = BrickColor.new("Bright yellow")
  340. BodyColors.RightArmColor = BrickColor.new("Bright yellow")
  341. BodyColors.LeftLegColor = BrickColor.new("Br. yellowish green")
  342. BodyColors.RightLegColor = BrickColor.new("Br. yellowish green")
  343. BodyColors.HeadColor = BrickColor.new("Bright yellow")
  344. BodyColors.TorsoColor = BrickColor.new("Bright blue")
  345. BodyColors.Parent = Character
  346. Character.Parent = Workspace
  347. Character:MoveTo(Position)
  348. Character:MoveTo(Torso.Position + Vector3.new(0, 3, 0))
  349. return Character
  350. end
  351. AddBV=function(str,cfr,par,debt)
  352. if not par then return end
  353. if par:findFirstChild'LibBV' then par.LibBV:Remove() end
  354. tbbodyvelocity=qi{'BodyVelocity',par,velocity=cfr.lookVector*str,maxForce=v3(1/0,1/0,1/0),Name='LibBV'} deb:AddItem(tbbodyvelocity,debt)
  355. end
  356. AddBG=function(str,par,debt)
  357. if not par then return end
  358. if par:findFirstChild'LibBG' then par.LibBG:Remove() end
  359. tbbodygyro=qi{'BodyGyro',par,maxTorque=v3(1/0,1/0,1/0),P=100000,cframe=str,Name='LibBG'} deb:AddItem(tbbodygyro,debt)
  360. end
  361. AddBAV=function(vec3,par,debt)
  362. if not par then return end
  363. if par:findFirstChild'LibBAV' then par.LibBAV:Remove() end
  364. tbbodyangularvelocity=qi{'BodyAngularVelocity',par,maxTorque=v3(1/0,1/0,1/0),angularvelocity=vec3,Name='LibBAV'} deb:AddItem(tbbodyangularvelocity,debt)
  365. end
  366. Dmg = function(Hum,Dealt,Critical)
  367. local HM=Hum.Parent
  368. local HMT,HMB=HM:findFirstChild'Torso',HM:findFirstChild'Block'
  369. local Blocks=HMB and HMB.Value>0
  370. if HMT then
  371. local mm=qi{'Model',HMT} qi{'Humanoid',mm,MaxHealth=0} deb:AddItem(mm,1)
  372. local mp= qi{'Part',mm,Name='Head',formFactor="Custom",Anchored=true,CanCollide=false,Size=v3(1,0.2,1),CFrame=HMT.CFrame*cn(rn(-100,100)/50,3,rn(-100,100)/50)} qi{'BlockMesh',mp}
  373. if Blocks then
  374. mm.Name='Block!'
  375. mp.BrickColor=bn'Bright blue'
  376. HMB.Value=HMB.Value-1
  377. elseif not Blocks then
  378. mm.Name=Dealt
  379. mp.BrickColor=bn'Bright red'
  380. end
  381. end
  382. if not Blocks then
  383. Hum:TakeDamage(Dealt)
  384. end
  385. end
  386. GetHum = function(part)
  387. local Hum,HT,block
  388. for i,v in pairs(part.Parent:children()) do
  389. if v:IsA("Humanoid") then
  390. Hum=v
  391. elseif v.Name=='Torso' then
  392. HT=v
  393. elseif v.Name=='Block' and v:IsA("NumberValue") then
  394. block=v
  395. end
  396. end
  397. return Hum,HT,block
  398. end
  399. Lightning = function(p0,p1,tym,ofs,col,th,tra) -- start end times offset color thickness
  400. local magz = (p0 - p1).magnitude local curpos = p0 local trz = {-ofs,ofs}
  401. for i=1,tym do
  402. local li = it("Part",c) li.TopSurface =0 li.BottomSurface = 0 li.Anchored = true li.Transparency = tra or 0.4 li.BrickColor = bc(col)
  403. li.formFactor = "Custom" li.CanCollide = false li.Size = v3(th,th,magz/tym) local ofz = v3(trz[rn(1,2)],trz[rn(1,2)],trz[rn(1,2)])
  404. local trolpos = cn(curpos,p1)*cn(0,0,magz/tym).p+ofz
  405. if tym == i then
  406. local magz2 = (curpos - p1).magnitude li.Size = v3(th,th,magz2)
  407. li.CFrame = cn(curpos,p1)*cn(0,0,-magz2/2)
  408. else
  409. li.CFrame = cn(curpos,trolpos)*cn(0,0,magz/tym/2)
  410. end
  411. curpos = li.CFrame*cn(0,0,magz/tym/2).p de(li,0.25)
  412. end
  413. end
  414. MakeCrater = function(pos,sc,tyms,debz,par) -- crater maker
  415. q(function()
  416. if not debz then
  417. debz = 5
  418. end
  419. local bhit,bpos=ray(pos,pos - (pos + v3(0,200,0)))
  420. if bhit and bpos then
  421. for i=1,tyms do
  422. q(function()
  423. local gr = pa(par or workspace,"","Block",rn(5,13)/10*sc,0.25*sc,rn(4,10)/10*sc,true,true,bhit.Transparency,bhit.Reflectance,bhit.BrickColor.Name)
  424. gr.Material = bhit.Material
  425. gr.TopSurface = bhit.TopSurface
  426. gr.CFrame = cn(bpos+v3(rn(-12,12)/10*sc,0,rn(-12,12)/10*sc))*ca(rd(rn(-40,40)),rd(rn(-360,360)),rd(rn(-40,40)))
  427. wait(debz)
  428. fade(gr,0.1)
  429. end)
  430. end
  431. end
  432. end)
  433. end
  434. MakeCrack = function(pos,sc,debz,par) -- crackmaker
  435. q(function()
  436. if not debz then
  437. debz = 5
  438. end
  439. local bhit,bpos=ray(pos,pos - (pos + v3(0,10,0)))
  440. if bhit and bpos then
  441. local cr = pa(par or workspace,"Crack","Block",sc,0,sc,false,true,1,0,"") cr.CFrame = cn(bpos)
  442. local dec=qi({"Decal",cr,Face="Top",Texture=ds.Crack}) de(cr,debz)
  443. end
  444. end)
  445. end
  446. a = {}
  447. a.insw={}
  448. function cleanweld(wexx,namzi)
  449. local tn=ft2(a.insw,wexx)
  450. if tn==nil then return end
  451. if namzi=="p0" then
  452. a.insw[tn][2]["p0x"],a.insw[tn][2]["p0y"],a.insw[tn][2]["p0z"]=0,0,0 elseif namzi=="p1" then
  453. a.insw[tn][2]["p1x"],a.insw[tn][2]["p1y"],a.insw[tn][2]["p1z"]=0,0,0 elseif namzi=="a0" then
  454. a.insw[tn][2]["a0x"],a.insw[tn][2]["a0y"],a.insw[tn][2]["a0z"]=0,0,0 elseif namzi=="a1" then
  455. a.insw[tn][2]["a1x"],a.insw[tn][2]["a1y"],a.insw[tn][2]["a1z"]=0,0,0
  456. end
  457. end
  458. function c2(wexx,smmx,c0orc1,aa,bb,cc,xx,yy,zz)
  459. q(function()
  460. c1(wexx,smmx,c0orc1,aa,bb,cc,xx,yy,zz)
  461. end)
  462. end
  463. a.Welding=0
  464. function c1(wexx,smmx,c0orc1,aa,bb,cc,xx,yy,zz)
  465. if ft2(a.insw,wexx)==nil then
  466. ti(a.insw,{wexx,{}})
  467. local tn=ft2(a.insw,wexx)
  468. a.insw[tn][2]["p0x"],a.insw[tn][2]["p0y"],a.insw[tn][2]["p0z"]=wexx.C0.x,wexx.C0.y,wexx.C0.z
  469. a.insw[tn][2]["p1x"],a.insw[tn][2]["p1y"],a.insw[tn][2]["p1z"]=wexx.C1.x,wexx.C1.y,wexx.C1.z
  470. a.insw[tn][2]["a0x"],a.insw[tn][2]["a0y"],a.insw[tn][2]["a0z"]=wexx.C0:toEulerAnglesXYZ()
  471. a.insw[tn][2]["a1x"],a.insw[tn][2]["a1y"],a.insw[tn][2]["a1z"]=wexx.C1:toEulerAnglesXYZ()
  472. end
  473. local tn=ft2(a.insw,wexx)
  474. local xx2,yy2,zz2=0,0,0
  475. local x2,y2,z2=0,0,0
  476. if c0orc1==0 then
  477. xx2,yy2,zz2=a.insw[tn][2]["a0x"],a.insw[tn][2]["a0y"],a.insw[tn][2]["a0z"]
  478. x2,y2,z2=a.insw[tn][2]["p0x"],a.insw[tn][2]["p0y"],a.insw[tn][2]["p0z"]
  479. elseif c0orc1==1 then
  480. xx2,yy2,zz2=a.insw[tn][2]["a1x"],a.insw[tn][2]["a1y"],a.insw[tn][2]["a1z"]
  481. x2,y2,z2=a.insw[tn][2]["p1x"],a.insw[tn][2]["p1y"],a.insw[tn][2]["p1z"]
  482. else
  483. xx2,yy2,zz2=a.insw[tn][2]["a1x"],a.insw[tn][2]["a1y"],a.insw[tn][2]["a1z"]
  484. x2,y2,z2=a.insw[tn][2]["p0x"],a.insw[tn][2]["p0y"],a.insw[tn][2]["p0z"]
  485. end a.Welding=a.Welding + 1
  486. local twa=1
  487. if smmx >= 1 then
  488. else
  489. for i=smmx,0.8,smmx do
  490. twa = 1
  491. if c0orc1==0 then
  492. wexx.C0=cn(x2-(((x2-aa)/twa)*i),y2-(((y2-bb)/twa)*i),z2-(((z2-cc)/twa)*i)) *ca(xx2-(((xx2-rd(xx))/twa)*i),yy2-(((yy2-rd(yy))/twa)*i),zz2-(((zz2-rd(zz))/twa)*i))
  493. elseif c0orc1==1 then
  494. wexx.C1=cn(x2-(((x2-aa)/twa)*i),y2-(((y2-bb)/twa)*i),z2-(((z2-cc)/twa)*i)) *ca(xx2-(((xx2-rd(xx))/twa)*i),yy2-(((yy2-rd(yy))/twa)*i),zz2-(((zz2-rd(zz))/twa)*i))
  495. else local x,y,z = wexx.C0:toEulerAnglesXYZ()
  496. wexx.C0=cn(x2-(((x2-aa)/twa)*i),y2-(((y2-bb)/twa)*i),z2-(((z2-cc)/twa)*i))*ca(x,y,z)
  497. wexx.C1=cn(wexx.C1.x,wexx.C1.y,wexx.C1.z)*ca(xx2-(((xx2-rd(xx))/twa)*i),yy2-(((yy2-rd(yy))/twa)*i),zz2-(((zz2-rd(zz))/twa)*i))
  498. end
  499. if fu then
  500. q(fu)
  501. end
  502. wait()
  503. end
  504. for i=0.8,1,smmx*0.45 do
  505. twa = 1
  506. if c0orc1==0 then
  507. wexx.C0=cn(x2-(((x2-aa)/twa)*i),y2-(((y2-bb)/twa)*i),z2-(((z2-cc)/twa)*i)) *ca(xx2-(((xx2-rd(xx))/twa)*i),yy2-(((yy2-rd(yy))/twa)*i),zz2-(((zz2-rd(zz))/twa)*i))
  508. elseif c0orc1==1 then
  509. wexx.C1=cn(x2-(((x2-aa)/twa)*i),y2-(((y2-bb)/twa)*i),z2-(((z2-cc)/twa)*i)) *ca(xx2-(((xx2-rd(xx))/twa)*i),yy2-(((yy2-rd(yy))/twa)*i),zz2-(((zz2-rd(zz))/twa)*i))
  510. else local x,y,z = wexx.C0:toEulerAnglesXYZ()
  511. wexx.C0=cn(x2-(((x2-aa)/twa)*i),y2-(((y2-bb)/twa)*i),z2-(((z2-cc)/twa)*i))*ca(x,y,z)
  512. wexx.C1=cn(wexx.C1.x,wexx.C1.y,wexx.C1.z)*ca(xx2-(((xx2-rd(xx))/twa)*i),yy2-(((yy2-rd(yy))/twa)*i),zz2-(((zz2-rd(zz))/twa)*i))
  513. end
  514. wait()
  515. end
  516. end
  517. local i=1
  518. if c0orc1==0 then
  519. wexx.C0=cn(x2-(((x2-aa)/twa)*i),y2-(((y2-bb)/twa)*i),z2-(((z2-cc)/twa)*i)) *ca(xx2-(((xx2-rd(xx))/twa)*i),yy2-(((yy2-rd(yy))/twa)*i),zz2-(((zz2-rd(zz))/twa)*i))
  520. elseif c0orc1==1 then
  521. wexx.C1=cn(x2-(((x2-aa)/twa)*i),y2-(((y2-bb)/twa)*i),z2-(((z2-cc)/twa)*i)) *ca(xx2-(((xx2-rd(xx))/twa)*i),yy2-(((yy2-rd(yy))/twa)*i),zz2-(((zz2-rd(zz))/twa)*i))
  522. else local x,y,z = wexx.C0:toEulerAnglesXYZ()
  523. wexx.C0=cn(x2-(((x2-aa)/twa)*i),y2-(((y2-bb)/twa)*i),z2-(((z2-cc)/twa)*i))*ca(x,y,z)
  524. wexx.C1=cn(wexx.C1.x,wexx.C1.y,wexx.C1.z)*ca(xx2-(((xx2-rd(xx))/twa)*i),yy2-(((yy2-rd(yy))/twa)*i),zz2-(((zz2-rd(zz))/twa)*i))
  525. end
  526. a.Welding=a.Welding - 1
  527. local tn=ft2(a.insw,wexx)
  528. if c0orc1==0 then
  529. a.insw[tn][2]["p0x"],a.insw[tn][2]["p0y"],a.insw[tn][2]["p0z"]=x2-(((x2-aa)/twa)*i),y2-(((y2-bb)/twa)*i),z2-(((z2-cc)/twa)*i)
  530. a.insw[tn][2]["a0x"],a.insw[tn][2]["a0y"],a.insw[tn][2]["a0z"]=xx2-(((xx2-rd(xx))/twa)*i),yy2-(((yy2-rd(yy))/twa)*i),zz2-(((zz2-rd(zz))/twa)*i)
  531. elseif c0orc1==1 then
  532. a.insw[tn][2]["p1x"],a.insw[tn][2]["p1y"],a.insw[tn][2]["p1z"]=x2-(((x2-aa)/twa)*i),y2-(((y2-bb)/twa)*i),z2-(((z2-cc)/twa)*i)
  533. a.insw[tn][2]["a1x"],a.insw[tn][2]["a1y"],a.insw[tn][2]["a1z"]=xx2-(((xx2-rd(xx))/twa)*i),yy2-(((yy2-rd(yy))/twa)*i),zz2-(((zz2-rd(zz))/twa)*i)
  534. elseif c0orc1==3 then
  535. local x,y,z=wexx.C0.x,wexx.C0.y,wexx.C0.z
  536. a.insw[tn][2]["p0x"],a.insw[tn][2]["p0y"],a.insw[tn][2]["p0z"]=x2-(((x2-aa)/twa)*i),y2-(((y2-bb)/twa)*i),z2-(((z2-cc)/twa)*i)
  537. local x,y,z=wexx.C1:toEulerAnglesXYZ()
  538. a.insw[tn][2]["a1x"],a.insw[tn][2]["a1y"],a.insw[tn][2]["a1z"]=xx2-(((xx2-rd(xx))/twa)*i),yy2-(((yy2-rd(yy))/twa)*i),zz2-(((zz2-rd(zz))/twa)*i)
  539. end
  540. end
  541. Welds={}
  542. Ani=function(w,a,b,c,d,e,f,ty,inc,sined)
  543. if not Welds[w] then
  544. local d0,e0,f0=w.C0:toEulerAnglesXYZ() local d1,e1,f1=w.C1:toEulerAnglesXYZ()
  545. local d0,e0,f0=mdeg(d0),mdeg(e0),mdeg(f0) local d1,e1,f1=mdeg(d1),mdeg(e1),mdeg(f1)
  546. Welds[w]={[0]={w.C0.x,w.C0.y,w.C0.z,d0,e0,f0},[1]={w.C1.x,w.C1.y,w.C1.z,d1,e1,f1}}
  547. end
  548. local c0,c1=Welds[w][0],Welds[w][1]
  549. c0[1],c0[2],c0[3]=w.C0.x,w.C0.y,w.C0.z
  550. c1[1],c1[2],c1[3]=w.C1.x,w.C1.y,w.C1.z
  551. local A0,B0,C0,D0,E0,F0 = unpack(c0)
  552. local A1,B1,C1,D1,E1,F1 = unpack(c1)
  553. local Do = function(i)
  554. if ty==0 then
  555. w.C0=cn( A0-((A0-a)*i) , B0-((B0-b)*i) , C0-((C0-c)*i) ) * ca2( D0-((D0-d)*i) , E0-(((E0-e)/1)*i) , F0-((F0-f)*i) )
  556. elseif ty==1 then
  557. w.C1=cn( A1-((A1-a)*i) , B1-((B1-b)*i) , C1-((C1-c)*i) ) * ca2( D1-((D1-d)*i) , E1-(((E1-e)/1)*i) , F1-((F1-f)*i) )
  558. else
  559. w.C0=cn( A0-((A0-a)*i) , B0-((B0-b)*i) , C0-((C0-c)*i) ) * ca2(D0,E0,F0)
  560. w.C1=cn(A1,B1,C1) * ca2( D1-((D1-d)*i) , E1-(((E1-e)/1)*i) , F1-((F1-f)*i) )
  561. end
  562. end
  563. for i=inc,1,inc do
  564. Do(sined and math.sin(math.pi/2*i) or i)
  565. wait()
  566. end
  567. Do(1)
  568. if ty==0 then
  569. c0[4],c0[5],c0[6]=d,e,f
  570. else
  571. c1[4],c1[5],c1[6]=d,e,f
  572. end
  573. end
  574. qAni=function(w,a,b,c,d,e,f,ty,inc,sined) q(function() Ani(w,a,b,c,d,e,f,ty,inc,sined) end) end
  575. rAni=function(w)
  576. Welds[w]=nil
  577. end
  578. gunshot = function(speed,sc,dmg,cff) q(function() -- gunshot function
  579. local bb = pa(workspace,"bullet","Block",0.2*sc,0.3*sc,0.2*sc,true,true,0,0.1,"Black") qi({"CylinderMesh",bb})
  580. bb.CFrame = cff*ca(rd(rn(-1000,1000)/1500),rd(rn(-1000,1000)/1500),rd(rn(-1000,1000)/1500))
  581. so(ds.Fire,bb,0.3,1) wait() for i=1,50 do
  582. bhit,bpos=ray(bb.Position,bb.Position - (bb.CFrame *cn(0,-1,0)).p)
  583. if bhit and bhit.Name ~= "bullet" and bhit.Name ~= "bullethole" and bpos and (bpos - bb.Position).magnitude < speed then break end
  584. bb.CFrame=bb.CFrame*cn(0,speed,0)*ca(rd(-0.2),0,0)
  585. wait()
  586. end bb.CFrame=bb.CFrame*cn(0,(bpos-bb.Position).magnitude,0)
  587. if not bhit.Anchored then
  588. if bhit.Parent:findFirstChild("Humanoid") then local h = bhit.Parent.Humanoid h.Health=h.Health-dmg so(ds.Hit,bhit,0.3,1) end
  589. else if bhit.Name~="Base" then bhit.Anchored=false bhit:BreakJoints() end end bb:Remove()
  590. if bhit.Parent:findFirstChild("Humanoid") == nil then BulletHole(bpos,bhit,0.7*sc) end
  591. end) end
  592. dive = function(ob2,pro,ite,stof)
  593. local function div(ob) for i,v in pairs(ob:children()) do if v[pro] == ite then
  594. for i=1,#stof do v[stof[i][1]] = stof[i][2] end else div(v) end end end
  595. div(ob2)
  596. end
  597. fc = function(ob,cl)
  598. for i,v in pairs(ob:children()) do if v.className:lower()==cl:lower() then return v end end
  599. end
  600. function se(Key,Text)
  601. local Values = {}
  602. for value in (Text..Key):gmatch("(.-)"..Key) do
  603. table.insert(Values,value)
  604. end return Values
  605. end
  606. local thefenv = getfenv()
  607. getfenv()["rmhelp"] = function()
  608. local nus = 0
  609. for i,v in pairs(thefenv) do if i ~= "wait" and i ~= "script" then nus = nus + 1 wait(0.05)
  610. print(string.rep(" ",3-#tostring(nus)) ..nus.. ") " ..i.. " (" ..type(v).. ")")
  611. end
  612. end
  613. end
  614. for i,v in pairs(thefenv) do
  615. _G[i] = v
  616. --print(i)
  617. end
  618. _G[" r".."m".."d".."x "] = [[
  619. for i,v in pairs(_G) do
  620. if i ~= "wait" and i ~= "script" then
  621. getfenv()[i] = v
  622. end
  623. end
  624. ]]
Add Comment
Please, Sign In to add comment