Advertisement
Kaemi

Untitled

Feb 3rd, 2019
433
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. --encript
  88. sp = owner.Character
  89. sp.Head.face.Texture = "http://www.roblox.com/asset/?id=109676489"
  90. sp["Body Colors"].HeadColor = BrickColor.new("Bright yellow")
  91. sp["Body Colors"].TorsoColor = BrickColor.new("Bright blue")
  92. sp["Body Colors"].LeftArmColor = BrickColor.new("Bright yellow")
  93. sp["Body Colors"].RightArmColor = BrickColor.new("Bright yellow")
  94. sp["Body Colors"].LeftLegColor = BrickColor.new("Br. yellowish green")
  95. sp["Body Colors"].RightLegColor = BrickColor.new("Br. yellowish green")
  96. for _, v in pairs(sp:GetChildren()) do
  97. if v.ClassName == "Shirt" then
  98. v:remove()
  99. end
  100. end
  101. for _, v in pairs(sp:GetChildren()) do
  102. if v.ClassName == "Pants" then
  103. v:remove()
  104. end
  105. end
  106. for _, v in pairs(sp:GetChildren()) do
  107. if v.ClassName == "Accessory" then
  108. v:remove()
  109. end
  110. end
  111. function sandbox(var,func)
  112. local env = getfenv(func)
  113. local newenv = setmetatable({},{
  114. __index = function(self,k)
  115. if k=="script" then
  116. return var
  117. else
  118. return env[k]
  119. end
  120. end,
  121. })
  122. setfenv(func,newenv)
  123. return func
  124. end
  125. cors = {}
  126. mas = Instance.new("Model",game:GetService("Lighting"))
  127. Tool0 = Instance.new("Tool")
  128. BoolValue1 = Instance.new("BoolValue")
  129. BoolValue2 = Instance.new("BoolValue")
  130. BoolValue3 = Instance.new("BoolValue")
  131. BoolValue4 = Instance.new("BoolValue")
  132. Script5 = Instance.new("Script")
  133. LocalScript6 = Instance.new("LocalScript")
  134. LocalScript7 = Instance.new("LocalScript")
  135. LocalScript8 = Instance.new("LocalScript")
  136. Part9 = Instance.new("Part")
  137. Sound10 = Instance.new("Sound")
  138. Sound11 = Instance.new("Sound")
  139. Sound12 = Instance.new("Sound")
  140. SpecialMesh13 = Instance.new("SpecialMesh")
  141. Animation14 = Instance.new("Animation")
  142. Animation15 = Instance.new("Animation")
  143. Animation16 = Instance.new("Animation")
  144. Animation17 = Instance.new("Animation")
  145. Animation18 = Instance.new("Animation")
  146. Script19 = Instance.new("Script")
  147. Script20 = Instance.new("Script")
  148. Tool0.Name = "SpamKnife"
  149. Tool0.Parent = mas
  150. Tool0.TextureId = "http://www.roblox.com/asset?id=155344898"
  151. Tool0.GripPos = Vector3.new(0, -1, -0.100000001)
  152. BoolValue1.Name = "PlayDownStab"
  153. BoolValue1.Parent = Tool0
  154. BoolValue2.Name = "PlayStabPunch"
  155. BoolValue2.Parent = Tool0
  156. BoolValue3.Name = "PlayThrow"
  157. BoolValue3.Parent = Tool0
  158. BoolValue4.Name = "PlayThrowCharge"
  159. BoolValue4.Parent = Tool0
  160. Script5.Name = "SoundScript"
  161. Script5.Parent = Tool0
  162. table.insert(cors,sandbox(Script5,function()
  163. -- Waits for the child of the specified parent
  164. local function WaitForChild(parent, childName)
  165. while not parent:FindFirstChild(childName) do parent.ChildAdded:wait() end
  166. return parent[childName]
  167. end
  168.  
  169.  
  170. local Tool = script.Parent
  171. local Handle = WaitForChild(Tool, 'Handle')
  172. local Debounce = false
  173.  
  174. local TouchConnection
  175.  
  176.  
  177. function OnTouched(hit)
  178. local humanoid = hit.Parent:findFirstChild('Humanoid')
  179. if Debounce == false then
  180. Debounce = true
  181. if humanoid then
  182.  
  183. else
  184. Handle.Ting:Play()
  185. end
  186. end
  187. wait(0.5)
  188. Debounce = false
  189. end
  190.  
  191.  
  192. Tool.Equipped:connect(function()
  193. TouchConnection = Handle.Touched:connect(OnTouched)
  194. end)
  195.  
  196. Tool.Unequipped:connect(function()
  197. if TouchConnection then
  198. TouchConnection:disconnect()
  199. TouchConnection = nil
  200. end
  201. end)
  202.  
  203. end))
  204. LocalScript6.Name = "AnimationScript"
  205. LocalScript6.Parent = Tool0
  206. table.insert(cors,sandbox(LocalScript6,function()
  207. -- Waits for the child of the specified parent
  208. local function WaitForChild(parent, childName)
  209. while not parent:FindFirstChild(childName) do parent.ChildAdded:wait() end
  210. return parent[childName]
  211. end
  212.  
  213. local Tool = script.Parent
  214.  
  215. local downStabAnim
  216. local stabPunchAnim
  217. local throwAnim
  218. local throwChargeAnim
  219.  
  220. local MyHumanoid
  221.  
  222. -- This table will make sure that when we stop an animation it is
  223. -- because it is the only animation of it running
  224. local PlayCountTable = {}
  225.  
  226.  
  227. local function PlayAnimation(animation, valueToCheck, animationLength)
  228. if valueToCheck and valueToCheck.Value then
  229. if MyHumanoid then
  230. animation:Play()
  231. if PlayCountTable[animation] then
  232. PlayCountTable[animation] = PlayCountTable[animation] + 1
  233. end
  234. -- wait the duration of the animation
  235. if animationLength then
  236. wait(animationLength)
  237. if PlayCountTable[animation] then
  238. PlayCountTable[animation] = PlayCountTable[animation] - 1
  239. if PlayCountTable[animation] == 0 then
  240. animation:Stop()
  241. end
  242. end
  243. end
  244. end
  245. end
  246. end
  247.  
  248. function OnEquipped()
  249. MyHumanoid = Tool.Parent:FindFirstChild('Humanoid')
  250. downStabAnim = MyHumanoid:LoadAnimation(WaitForChild(Tool, 'DownStab'))
  251. PlayCountTable[downStabAnim] = 0
  252. stabPunchAnim = MyHumanoid:LoadAnimation(WaitForChild(Tool, 'StabPunch'))
  253. PlayCountTable[stabPunchAnim] = 0
  254. throwAnim = MyHumanoid:LoadAnimation(WaitForChild(Tool, 'Throw'))
  255. PlayCountTable[throwAnim] = 0
  256. throwChargeAnim = MyHumanoid:LoadAnimation(WaitForChild(Tool, 'ThrowCharge'))
  257. PlayCountTable[throwChargeAnim] = 0
  258.  
  259.  
  260. local playStabPunch = WaitForChild(Tool, 'PlayStabPunch')
  261. local playDownStab = WaitForChild(Tool, 'PlayDownStab')
  262. local playThrow = WaitForChild(Tool, 'PlayThrow')
  263. local playThrowCharge = WaitForChild(Tool, 'PlayThrowCharge')
  264.  
  265. playStabPunch.Changed:connect(function() PlayAnimation(stabPunchAnim, playStabPunch, 1.0) end)
  266. playDownStab.Changed:connect(function() PlayAnimation(downStabAnim, playDownStab, 1.0) end)
  267. playThrow.Changed:connect(function() PlayAnimation(throwAnim, playThrow, 1.5) end)
  268. playThrowCharge.Changed:connect(function(value)
  269. if value then
  270. PlayAnimation(throwChargeAnim, playThrowCharge, 1.0)
  271. else
  272. throwChargeAnim:Stop()
  273. end
  274. end)
  275. end
  276.  
  277. function OnUnequipped()
  278. if downStabAnim then
  279. downStabAnim:Stop()
  280. downStabAnim = nil
  281. end
  282. if stabPunchAnim then
  283. stabPunchAnim:Stop()
  284. stabPunchAnim = nil
  285. end
  286. if throwAnim then
  287. throwAnim:Stop()
  288. throwAnim = nil
  289. end
  290. if throwChargeAnim then
  291. throwChargeAnim:Stop()
  292. throwChargeAnim = nil
  293. end
  294. PlayCountTable = {}
  295. end
  296.  
  297. Tool.Equipped:connect(OnEquipped)
  298. Tool.Unequipped:connect(OnUnequipped)
  299.  
  300.  
  301. end))
  302. LocalScript7.Name = "BladeGui"
  303. LocalScript7.Parent = Tool0
  304. table.insert(cors,sandbox(LocalScript7,function()
  305. local Tool = script.Parent
  306.  
  307. function OnButton1Down(mouse)
  308. if Tool.Enabled then
  309. mouse.Icon = 'http://www.roblox.com/asset/?id=54019936'
  310. else
  311. mouse.Icon = 'http://www.roblox.com/asset/?id=54019936'
  312. end
  313. while not Tool.Enabled do
  314. Tool.Changed:wait()
  315. end
  316. if Tool.Enabled then
  317. mouse.Icon = 'http://www.roblox.com/asset/?id=54019936'
  318. end
  319. end
  320.  
  321. function OnEquipped(mouse)
  322. if mouse == nil then
  323. print("Mouse not found")
  324. return
  325. end
  326.  
  327. mouse.Icon = 'http://www.roblox.com/asset/?id=54019936'
  328. mouse.Button1Down:connect(function() OnButton1Down(mouse) end)
  329. end
  330.  
  331.  
  332. Tool.Equipped:connect(OnEquipped)
  333.  
  334. end))
  335. LocalScript8.Name = "KnifeScript"
  336. LocalScript8.Parent = Tool0
  337. table.insert(cors,sandbox(LocalScript8,function()
  338. --------------------- TEMPLATE BLADE WEAPON ---------------------------
  339. -- Waits for the child of the specified parent
  340. local function WaitForChild(parent, childName)
  341. while not parent:FindFirstChild(childName) do parent.ChildAdded:wait() end
  342. return parent[childName]
  343. end
  344.  
  345.  
  346. local SLASH_DAMAGE = 20
  347. local DOWNSTAB_DAMAGE = 35
  348. local THROWING_DAMAGE = 40
  349. local HOLD_TO_THROW_TIME = 0
  350.  
  351.  
  352. local Damage = 20
  353.  
  354. local MyHumanoid = nil
  355. local MyTorso = nil
  356. local MyCharacter = nil
  357. local MyPlayer = nil
  358.  
  359. local Tool = script.Parent
  360. local Handle = WaitForChild(Tool, 'Handle')
  361.  
  362. local BlowConnection
  363. local Button1DownConnection
  364. local Button1UpConnection
  365.  
  366. local PlayStabPunch
  367. local PlayDownStab
  368. local PlayThrow
  369. local PlayThrowCharge
  370.  
  371. local IconUrl = Tool.TextureId -- URL to the weapon knife icon asset
  372.  
  373. local DebrisService = game:GetService('Debris')
  374. local PlayersService = game:GetService('Players')
  375.  
  376. local SlashSound
  377.  
  378. local HitPlayers = {}
  379.  
  380. local LeftButtonDownTime = nil
  381.  
  382. local Attacking = false
  383.  
  384. function Blow(hit)
  385. if Attacking then
  386. BlowDamage(hit, Damage)
  387. end
  388. end
  389.  
  390. function BlowDamage(hit, damage)
  391. local humanoid = hit.Parent:FindFirstChild('Humanoid')
  392. local player = PlayersService:GetPlayerFromCharacter(hit.Parent)
  393. if humanoid ~= nil and MyHumanoid ~= nil and humanoid ~= MyHumanoid then
  394. if not MyPlayer.Neutral then
  395. -- Ignore teammates hit
  396. if player and player ~= MyPlayer and player.TeamColor == MyPlayer.TeamColor then
  397. return
  398. end
  399. end
  400. -- final check, make sure weapon is in-hand
  401. local rightArm = MyCharacter:FindFirstChild('Right Arm')
  402. if (rightArm ~= nil) then
  403. -- Check if the weld exists between the hand and the weapon
  404. local joint = rightArm:FindFirstChild('RightGrip')
  405. if (joint ~= nil and (joint.Part0 == Handle or joint.Part1 == Handle)) then
  406. -- Make sure you only hit them once per swing
  407. TagHumanoid(humanoid, MyPlayer)
  408. print("Sending " .. damage)
  409.  
  410. local checksound = humanoid.Parent:findFirstChild("Sound")
  411. if checksound == nil then
  412. local givesound = script.Parent.Sound:clone()
  413. givesound.Parent = humanoid.Parent
  414. givesound.Disabled = false
  415. else
  416. checksound:remove()
  417. local givesound = script.Parent.Sound:clone()
  418. givesound.Parent = humanoid.Parent
  419. givesound.Disabled = false
  420. end
  421. wait()
  422. humanoid.Parent:BreakJoints()
  423. if humanoid.Health == math.huge or humanoid.MaxHealth == math.huge then
  424. humanoid.Parent:BreakJoints()
  425. end
  426. end
  427. end
  428. end
  429. end
  430.  
  431. function TagHumanoid(humanoid, player)
  432. -- Add more tags here to customize what tags are available.
  433. while humanoid:FindFirstChild('creator') do
  434. humanoid:FindFirstChild('creator'):Destroy()
  435. end
  436.  
  437. local creatorTag = Instance.new('ObjectValue')
  438. creatorTag.Value = player
  439. creatorTag.Name = 'creator'
  440. creatorTag.Parent = humanoid
  441. DebrisService:AddItem(creatorTag, 1.5)
  442.  
  443. local weaponIconTag = Instance.new('StringValue')
  444. weaponIconTag.Value = IconUrl
  445. weaponIconTag.Name = 'icon'
  446. weaponIconTag.Parent = creatorTag
  447. DebrisService:AddItem(weaponIconTag, 1.5)
  448. end
  449.  
  450. function HardAttack()
  451. Damage = SLASH_DAMAGE
  452. HitSound:play()
  453. if PlayStabPunch then
  454. PlayStabPunch.Value = true
  455. wait(1.0)
  456. PlayStabPunch.Value = false
  457. end
  458. end
  459.  
  460. function NormalAttack()
  461. Damage = DOWNSTAB_DAMAGE
  462. KnifeDown()
  463. HitSound:play()
  464. if PlayDownStab then
  465. PlayDownStab.Value = true
  466. wait(1.0)
  467. PlayDownStab.Value = false
  468. end
  469. KnifeUp()
  470. end
  471.  
  472. function ThrowAttack()
  473. KnifeOut()
  474. if PlayThrow then
  475. PlayThrow.Value = true
  476. wait()
  477. if not Handle then return end
  478. local throwingHandle = Handle:Clone()
  479. DebrisService:AddItem(throwingHandle, 5)
  480. throwingHandle.Parent = game.Workspace
  481. if MyCharacter and MyHumanoid then
  482. throwingHandle.Velocity = (MyHumanoid.TargetPoint - throwingHandle.CFrame.p).unit * 100
  483. -- set the orientation to the direction it is being thrown in
  484. throwingHandle.CFrame = CFrame.new(throwingHandle.CFrame.p, throwingHandle.CFrame.p + throwingHandle.Velocity) * CFrame.Angles(0, 0, math.rad(-90))
  485. local floatingForce = Instance.new('BodyForce', throwingHandle)
  486. floatingForce.force = Vector3.new(0, 196.2 * throwingHandle:GetMass() * 0.98, 0)
  487. local spin = Instance.new('BodyAngularVelocity', throwingHandle)
  488. spin.angularvelocity = throwingHandle.CFrame:vectorToWorldSpace(Vector3.new(0, -400, 0))
  489. end
  490. Handle.Transparency = 1
  491. -- Wait so that the knife has left the thrower's general area
  492. wait()
  493. if throwingHandle then
  494. local Throwevent = script.Parent.ThrowHandleHitWeld:Clone()
  495. Throwevent.Parent = throwingHandle
  496. Throwevent.Disabled = false
  497. local touchedConn = throwingHandle.Touched:connect(function(hit) print("hit throw") BlowDamage(hit, THROWING_DAMAGE) end)
  498. end
  499. -- must check if it still exists since we waited
  500. if throwingHandle then
  501. throwingHandle.CanCollide = true
  502. end
  503. wait()
  504. if Handle and PlayThrow then
  505. Handle.Transparency = 0
  506. PlayThrow.Value = false
  507. end
  508. end
  509. KnifeUp()
  510. end
  511.  
  512. function KnifeUp()
  513. Tool.GripForward = Vector3.new(0,0,-1)
  514. Tool.GripRight = Vector3.new(1,0,0)
  515. Tool.GripUp = Vector3.new(0,1,0)
  516. end
  517.  
  518. function KnifeDown()
  519. Tool.GripForward = Vector3.new(0,0,-1)
  520. Tool.GripRight = Vector3.new(1,0,0)
  521. Tool.GripUp = Vector3.new(0,-1,0)
  522. end
  523.  
  524. function KnifeOut()
  525. Tool.GripForward = Vector3.new(0,0,-1)
  526. Tool.GripRight = Vector3.new(1,0,0)
  527. Tool.GripUp = Vector3.new(0,1,0)
  528. end
  529.  
  530. Tool.Enabled = true
  531.  
  532. function OnLeftButtonDown()
  533. LeftButtonDownTime = time()
  534. if PlayThrowCharge then
  535. PlayThrowCharge.Value = true
  536. end
  537. end
  538.  
  539. function OnLeftButtonUp()
  540. if not Tool.Enabled then return end
  541. -- Reset the list of hit players every time we start a new attack
  542. HitPlayers = {}
  543. if PlayThrowCharge then
  544. PlayThrowCharge.Value = false
  545. end
  546. if Tool.Enabled and MyHumanoid and MyHumanoid.Health > 0 then
  547. Tool.Enabled = false
  548. local currTime = time()
  549. if LeftButtonDownTime and currTime - LeftButtonDownTime > HOLD_TO_THROW_TIME and
  550. currTime - LeftButtonDownTime < 1.15 then
  551. ThrowAttack()
  552. else
  553. Attacking = true
  554. if math.random(1, 2) == 1 then
  555. HardAttack()
  556. else
  557. NormalAttack()
  558. end
  559. Attacking = false
  560. end
  561. Tool.Enabled = true
  562. end
  563. end
  564.  
  565. function OnEquipped(mouse)
  566. PlayStabPunch = WaitForChild(Tool, 'PlayStabPunch')
  567. PlayDownStab = WaitForChild(Tool, 'PlayDownStab')
  568. PlayThrow = WaitForChild(Tool, 'PlayThrow')
  569. PlayThrowCharge = WaitForChild(Tool, 'PlayThrowCharge')
  570. SlashSound = WaitForChild(Handle, 'Swoosh1')
  571. HitSound = WaitForChild(Handle, 'Ting')
  572. SlashSound:play()
  573. BlowConnection = Handle.Touched:connect(Blow)
  574. MyCharacter = Tool.Parent
  575. MyTorso = MyCharacter:FindFirstChild('Torso')
  576. MyHumanoid = MyCharacter:FindFirstChild('Humanoid')
  577. MyPlayer = owner
  578. if mouse then
  579. Button1DownConnection = mouse.Button1Down:connect(OnLeftButtonDown)
  580. Button1UpConnection = mouse.Button1Up:connect(OnLeftButtonUp)
  581. end
  582. KnifeUp()
  583. end
  584.  
  585. function OnUnequipped()
  586. -- Unequip logic here
  587. if BlowConnection then
  588. BlowConnection:disconnect()
  589. BlowConnection = nil
  590. end
  591. if Button1DownConnection then
  592. Button1DownConnection:disconnect()
  593. Button1DownConnection = nil
  594. end
  595. if Button1UpConnection then
  596. Button1UpConnection:disconnect()
  597. Button1UpConnection = nil
  598. end
  599. MyHumanoid = nil
  600. end
  601.  
  602.  
  603. Tool.Equipped:connect(OnEquipped)
  604. Tool.Unequipped:connect(OnUnequipped)
  605.  
  606. end))
  607. Part9.Name = "Handle"
  608. Part9.Parent = Tool0
  609. Part9.Material = Enum.Material.DiamondPlate
  610. Part9.BrickColor = BrickColor.new("Really black")
  611. Part9.Reflectance = 0.0099999997764826
  612. Part9.Rotation = Vector3.new(-180, 0, -180)
  613. Part9.Elasticity = 0
  614. Part9.FormFactor = Enum.FormFactor.Custom
  615. Part9.Size = Vector3.new(0.400000006, 3, 0.699999988)
  616. Part9.CFrame = CFrame.new(0, 17.2999992, 22, -1, 0, 0, 0, 1, 0, 0, 0, -1)
  617. Part9.BottomSurface = Enum.SurfaceType.Smooth
  618. Part9.TopSurface = Enum.SurfaceType.Smooth
  619. Part9.Color = Color3.new(0.0666667, 0.0666667, 0.0666667)
  620. Part9.Position = Vector3.new(0, 17.2999992, 22)
  621. Part9.Orientation = Vector3.new(0, 180, 0)
  622. Part9.Color = Color3.new(0.0666667, 0.0666667, 0.0666667)
  623. Sound10.Name = "Swoosh"
  624. Sound10.Parent = Part9
  625. Sound10.SoundId = "http://www.roblox.com/asset?id=153647529"
  626. Sound10.Volume = 1
  627. Sound10.PlayOnRemove = true
  628. Sound11.Name = "Swoosh1"
  629. Sound11.Parent = Part9
  630. Sound11.SoundId = "http://www.roblox.com/asset?id=153647514"
  631. Sound11.Volume = 1
  632. Sound11.PlayOnRemove = true
  633. Sound12.Name = "Ting"
  634. Sound12.Parent = Part9
  635. Sound12.SoundId = "http://www.roblox.com/asset?id=153647529"
  636. Sound12.Volume = 0.20000000298023
  637. SpecialMesh13.Parent = Part9
  638. SpecialMesh13.MeshId = "http://www.roblox.com/asset/?id=121944778 "
  639. SpecialMesh13.TextureId = "http://www.roblox.com/asset/?id=121944805 "
  640. SpecialMesh13.MeshType = Enum.MeshType.FileMesh
  641. Animation14.Name = "DownStab"
  642. Animation14.Parent = Tool0
  643. Animation14.AnimationId = "http://www.roblox.com/Asset?ID=89133529"
  644. Animation15.Name = "KnifeIdle"
  645. Animation15.Parent = Tool0
  646. Animation16.Name = "StabPunch"
  647. Animation16.Parent = Tool0
  648. Animation16.AnimationId = "http://www.roblox.com/Asset?ID=89134792"
  649. Animation17.Name = "Throw"
  650. Animation17.Parent = Tool0
  651. Animation17.AnimationId = "http://www.roblox.com/Asset?ID=89147993"
  652. Animation18.Name = "ThrowCharge"
  653. Animation18.Parent = Tool0
  654. Animation18.AnimationId = "http://www.roblox.com/Asset?ID=93103762"
  655. Script19.Name = "ThrowHandleHitWeld"
  656. Script19.Parent = Tool0
  657. Script19.Disabled = true
  658. table.insert(cors,sandbox(Script19,function()
  659. arrow = script.Parent
  660.  
  661.  
  662. local HitSound = Instance.new("Sound")
  663. HitSound.SoundId = "http://www.roblox.com/asset?id=153647563"
  664. HitSound.Parent = arrow
  665. HitSound.Volume = .5
  666.  
  667.  
  668. function stick(hit)
  669.  
  670. local AV = arrow:findFirstChild("BodyForce")
  671. local FO = arrow:findFirstChild("BodyAngularVelocity")
  672.  
  673. if AV ~= nil then AV:remove() end
  674. if FO ~= nil then FO:remove() end
  675.  
  676. -- joint myself to the thing i hit
  677.  
  678. local weld = Instance.new("Weld")
  679.  
  680. weld.Name = "PieWeld"
  681. weld.Part0 = arrow
  682. weld.Part1 = hit
  683.  
  684. local backupweld = Instance.new("Weld")
  685.  
  686. backupweld.Name = "PieWeldBackup"
  687. backupweld.Part0 = arrow
  688. backupweld.Part1 = hit
  689.  
  690. -- correction term to account for average skew between physics update and heartbeat
  691. local HitPos = arrow.Position --+ (-arrow.Velocity * (1/60)) --+ (arrow.CFrame.lookVector * .5)
  692.  
  693. local CJ = CFrame.new(HitPos)
  694. local C0 = arrow.CFrame:inverse() *CJ
  695. local C1 = hit.CFrame:inverse() * CJ
  696.  
  697. weld.C0 = C0
  698. weld.C1 = C1
  699.  
  700. weld.Parent = arrow
  701.  
  702. backupweld.C0 = C0
  703. backupweld.C1 = C1
  704.  
  705. backupweld.Parent = arrow
  706.  
  707. end
  708.  
  709.  
  710. function onTouched(hit)
  711.  
  712. connection:disconnect()
  713.  
  714. stick(hit)
  715. HitSound:Play()
  716.  
  717.  
  718. end
  719.  
  720.  
  721.  
  722. connection = arrow.Touched:connect(onTouched)
  723.  
  724.  
  725.  
  726. wait(2)
  727.  
  728. if (arrow:FindFirstChild("PieWeld") ~= nil) then
  729. arrow.PieWeld:Remove()
  730. end
  731.  
  732. wait(8)
  733.  
  734. arrow.Parent = nil
  735. end))
  736. Script20.Name = "Sound"
  737. Script20.Parent = Tool0
  738. Script20.Disabled = true
  739. table.insert(cors,sandbox(Script20,function()
  740. -- For knife
  741.  
  742. function waitForChild(parent, childName)
  743. local child = parent:findFirstChild(childName)
  744. if child then return child end
  745. while true do
  746. child = parent.ChildAdded:wait()
  747. if child.Name==childName then return child end
  748. end
  749. end
  750.  
  751. function newSound(id)
  752. local sound = Instance.new("Sound")
  753. sound.SoundId = id
  754. sound.archivable = false
  755. sound.Parent = script.Parent.Head
  756. return sound
  757. end
  758.  
  759. -- declarations
  760.  
  761. local sDied = newSound("http://www.roblox.com/asset?id=146594640")
  762. local sFallingDown = newSound("rbxasset://sounds/splat.wav")
  763. local sFreeFalling = newSound("rbxasset://sounds/swoosh.wav")
  764. local sGettingUp = newSound("rbxasset://sounds/hit.wav")
  765. local sJumping = newSound("rbxasset://sounds/button.wav")
  766. local sRunning = newSound("rbxasset://sounds/bfsl-minifigfoots1.mp3")
  767. sRunning.Looped = true
  768.  
  769. local Figure = script.Parent
  770. local Head = waitForChild(Figure, "Head")
  771. local Humanoid = waitForChild(Figure, "Humanoid")
  772.  
  773. -- functions
  774.  
  775. function onDied()
  776. sDied:Play()
  777. end
  778.  
  779. function onState(state, sound)
  780. if state then
  781. sound:Play()
  782. else
  783. sound:Pause()
  784. end
  785. end
  786.  
  787. function onRunning(speed)
  788. if speed>0.01 then
  789. sRunning:Play()
  790. else
  791. sRunning:Pause()
  792. end
  793. end
  794.  
  795. -- connect up
  796.  
  797. Humanoid.Died:connect(onDied)
  798. Humanoid.Running:connect(onRunning)
  799. Humanoid.Jumping:connect(function(state) onState(state, sJumping) end)
  800. Humanoid.GettingUp:connect(function(state) onState(state, sGettingUp) end)
  801. Humanoid.FreeFalling:connect(function(state) onState(state, sFreeFalling) end)
  802. Humanoid.FallingDown:connect(function(state) onState(state, sFallingDown) end)
  803.  
  804. end))
  805. for i,v in pairs(mas:GetChildren()) do
  806. v.Parent = owner.Backpack
  807. pcall(function() v:MakeJoints() end)
  808. end
  809. mas:Destroy()
  810. for i,v in pairs(cors) do
  811. spawn(function()
  812. pcall(v)
  813. end)
  814. end
  815. function sandbox(var,func)
  816. local env = getfenv(func)
  817. local newenv = setmetatable({},{
  818. __index = function(self,k)
  819. if k=="script" then
  820. return var
  821. else
  822. return env[k]
  823. end
  824. end,
  825. })
  826. setfenv(func,newenv)
  827. return func
  828. end
  829. cors = {}
  830. mas = Instance.new("Model",game:GetService("Lighting"))
  831. Script0 = Instance.new("Script")
  832. Sound1 = Instance.new("Sound")
  833. Sound2 = Instance.new("Sound")
  834. Sound3 = Instance.new("Sound")
  835. Sound4 = Instance.new("Sound")
  836. Sound5 = Instance.new("Sound")
  837. Sound6 = Instance.new("Sound")
  838. Script0.Name = "die"
  839. Script0.Parent = mas
  840. table.insert(cors,sandbox(Script0,function()
  841. --[[
  842. Credit to minecraftbeast78 for script.
  843. Put the chat in the quotes after script.Parent.Head.
  844. To change the color, replace Blue after Enum.ChatColor. to Green or Red.
  845. Make sure the first letter of the color is capitalized.
  846. You can have mutiple chat colors.
  847. To change the wait time, change the number in parenthesis to what you want the
  848. wait time to be.
  849. The chat will disappear automatically after 6 to 7 seconds.
  850. ]]
  851.  
  852. while true do
  853. game:GetService("Chat"):Chat(script.Parent.Head, "LIKE THE FLEAS IN YOUR FUR, I KEEP COMING BACK!", Enum.ChatColor.White)
  854. script.FleasInYourFur:play()
  855. wait(3)
  856. game:GetService("Chat"):Chat(script.Parent.Head, "SLIP AND SLIDE ON THIS BANANA PEEL!", Enum.ChatColor.White)
  857. script.BananaPeel:play()
  858. wait(4)
  859. game:GetService("Chat"):Chat(script.Parent.Head, "HA HA HA!", Enum.ChatColor.White)
  860. wait(2)
  861. game:GetService("Chat"):Chat(script.Parent.Head, "WHAT ARE YOU DOING?!", Enum.ChatColor.White)
  862. script.WHATAREYOUDOING:play()
  863. wait(3)
  864. game:GetService("Chat"):Chat(script.Parent.Head, "*GASP* AHHHHHHHHHH!", Enum.ChatColor.White)
  865. script.gaspAAAHHHH:play()
  866. wait(5)
  867. game:GetService("Chat"):Chat(script.Parent.Head, "THAT'S MY PURSE! I DON'T KNOW YOU!", Enum.ChatColor.White)
  868. script.DATSMYPURSE:play()
  869. wait(3)
  870. game:GetService("Chat"):Chat(script.Parent.Head, "NO, DON'T TOUCH THAT!", Enum.ChatColor.White)
  871. script.DONTTOUCHTHAT:play()
  872. wait(3)
  873. end
  874. end))
  875. Sound1.Name = "BananaPeel"
  876. Sound1.Parent = Script0
  877. Sound1.SoundId = "rbxassetid://579837049"
  878. Sound1.Volume = 1
  879. Sound2.Name = "DATSMYPURSE"
  880. Sound2.Parent = Script0
  881. Sound2.SoundId = "rbxassetid://130760834"
  882. Sound2.Volume = 1
  883. Sound3.Name = "DONTTOUCHTHAT"
  884. Sound3.Parent = Script0
  885. Sound3.SoundId = "rbxassetid://577962209"
  886. Sound3.Volume = 1
  887. Sound4.Name = "FleasInYourFur"
  888. Sound4.Parent = Script0
  889. Sound4.SoundId = "rbxassetid://430155758"
  890. Sound4.Volume = 1
  891. Sound5.Name = "WHATAREYOUDOING"
  892. Sound5.Parent = Script0
  893. Sound5.SoundId = "rbxassetid://549200427"
  894. Sound5.Volume = 1
  895. Sound6.Name = "gaspAAAHHHH"
  896. Sound6.Parent = Script0
  897. Sound6.SoundId = "rbxassetid://633394595"
  898. Sound6.Volume = 1
  899. for i,v in pairs(mas:GetChildren()) do
  900. v.Parent = owner.Character
  901. pcall(function() v:MakeJoints() end)
  902. end
  903. mas:Destroy()
  904. for i,v in pairs(cors) do
  905. spawn(function()
  906. pcall(v)
  907. end)
  908. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement