--https://github.com/Mokiros/roblox-FE-compatibility
if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
local Player,game,owner = owner,game
local RealPlayer = Player
do
print("FE Compatibility code V2 by Mokiros")
local RealPlayer = RealPlayer
script.Parent = RealPlayer.Character
--Fake event to make stuff like Mouse.KeyDown work
local Disconnect_Function = function(this)
this[1].Functions[this[2]] = nil
end
local Disconnect_Metatable = {__index={disconnect=Disconnect_Function,Disconnect=Disconnect_Function}}
local FakeEvent_Metatable = {__index={
Connect = function(this,f)
local i = tostring(math.random(0,10000))
while this.Functions[i] do
i = tostring(math.random(0,10000))
end
this.Functions[i] = f
return setmetatable({this,i},Disconnect_Metatable)
end
}}
FakeEvent_Metatable.__index.connect = FakeEvent_Metatable.__index.Connect
local function fakeEvent()
return setmetatable({Functions={}},FakeEvent_Metatable)
end
--Creating fake input objects with fake variables
local FakeMouse = {Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent(),Button2Up=fakeEvent(),Button2Down=fakeEvent()}
FakeMouse.keyUp = FakeMouse.KeyUp
FakeMouse.keyDown = FakeMouse.KeyDown
local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
local CAS = {Actions={},BindAction=function(self,name,fun,touch,...)
CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil
end}
--Merged 2 functions into one by checking amount of arguments
CAS.UnbindAction = CAS.BindAction
--This function will trigger the events that have been :Connect()'ed
local function TriggerEvent(self,ev,...)
for _,f in pairs(self[ev].Functions) do
f(...)
end
end
FakeMouse.TriggerEvent = TriggerEvent
UIS.TriggerEvent = TriggerEvent
--Client communication
local Event = Instance.new("RemoteEvent")
Event.Name = "UserInput_Event"
Event.OnServerEvent:Connect(function(plr,io)
if plr~=RealPlayer then return end
FakeMouse.Target = io.Target
FakeMouse.Hit = io.Hit
if not io.isMouse then
local b = io.UserInputState == Enum.UserInputState.Begin
if io.UserInputType == Enum.UserInputType.MouseButton1 then
return FakeMouse:TriggerEvent(b and "Button1Down" or "Button1Up")
end
if io.UserInputType == Enum.UserInputType.MouseButton2 then
return FakeMouse:TriggerEvent(b and "Button2Down" or "Button2Up")
end
for _,t in pairs(CAS.Actions) do
for _,k in pairs(t.Keys) do
if k==io.KeyCode then
t.Function(t.Name,io.UserInputState,io)
end
end
end
FakeMouse:TriggerEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower())
UIS:TriggerEvent(b and "InputBegan" or "InputEnded",io,false)
end
end)
Event.Parent = NLS([==[local Event = script:WaitForChild("UserInput_Event")
local Mouse = owner:GetMouse()
local UIS = game:GetService("UserInputService")
local input = function(io,RobloxHandled)
if RobloxHandled then return end
--Since InputObject is a client-side instance, we create and pass table instead
Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState,Hit=Mouse.Hit,Target=Mouse.Target})
end
UIS.InputBegan:Connect(input)
UIS.InputEnded:Connect(input)
local h,t
--Give the server mouse data every second frame, but only if the values changed
--If player is not moving their mouse, client won't fire events
local HB = game:GetService("RunService").Heartbeat
while true do
if h~=Mouse.Hit or t~=Mouse.Target then
h,t=Mouse.Hit,Mouse.Target
Event:FireServer({isMouse=true,Target=t,Hit=h})
end
--Wait 2 frames
for i=1,2 do
HB:Wait()
end
end]==],script)
----Sandboxed game object that allows the usage of client-side methods and services
--Real game object
local RealGame = game
--Metatable for fake service
local FakeService_Metatable = {
__index = function(self,k)
local s = rawget(self,"_RealService")
if s then
return typeof(s[k])=="function"
and function(_,...)return s[k](s,...)end or s[k]
end
end,
__newindex = function(self,k,v)
local s = rawget(self,"_RealService")
if s then s[k]=v end
end
}
local function FakeService(t,RealService)
t._RealService = typeof(RealService)=="string" and RealGame:GetService(RealService) or RealService
return setmetatable(t,FakeService_Metatable)
end
--Fake game object
local FakeGame = {
GetService = function(self,s)
return rawget(self,s) or RealGame:GetService(s)
end,
Players = FakeService({
LocalPlayer = FakeService({GetMouse=function(self)return FakeMouse end},Player)
},"Players"),
UserInputService = FakeService(UIS,"UserInputService"),
ContextActionService = FakeService(CAS,"ContextActionService"),
RunService = FakeService({
_btrs = {},
RenderStepped = RealGame:GetService("RunService").Heartbeat,
BindToRenderStep = function(self,name,_,fun)
self._btrs[name] = self.Heartbeat:Connect(fun)
end,
UnbindFromRenderStep = function(self,name)
self._btrs[name]:Disconnect()
end,
},"RunService")
}
rawset(FakeGame.Players,"localPlayer",FakeGame.Players.LocalPlayer)
FakeGame.service = FakeGame.GetService
FakeService(FakeGame,game)
--Changing owner to fake player object to support owner:GetMouse()
game,owner = FakeGame,FakeGame.Players.LocalPlayer
end
--[[ C o n t r o l s : Made by Tollonis
E - Draw arrow (press E again to put it back)
Left Click - Fire
Z - Equip/Unequip
As always, feel free to DM me with suggestions or bugs. ]]--
wait()
player = game.Players.LocalPlayer
char = player.Character
mouse = player:GetMouse()
print("WHAT UP")
armed = false
canfire = false
enabled = true
equipped = false
mouse.Icon = "rbxassetid://311756275"
rightshoulder = char.Torso["Right Shoulder"]:Clone()
leftshoulder = char.Torso["Left Shoulder"]:Clone()
hed = Instance.new("Weld", char.Torso)
hed.Part0 = char.Torso
hed.Part1 = char.Head
hed.C0 = CFrame.new(0, 1.55, 0) * CFrame.Angles(0, 0, 0)
tors = Instance.new("Weld", char.HumanoidRootPart)
tors.Part0 = char.HumanoidRootPart
tors.Part1 = char.Torso
tors.C0 = CFrame.new(0, 0, 0) * CFrame.new(0, 0, 0)
-- the bow stuff
bow = Instance.new("Model")
bow.Parent = game.Workspace
bow.Name = "bow"
handle = Instance.new("Part")
handle.CFrame = CFrame.new(Vector3.new(-48.1999893, 2.79998732, -58.2000122)) * CFrame.Angles(-3.1415927410126, 0, -0)
handle.Size = Vector3.new(0.200000003, 1.20000005, 0.200000003)
handle.BrickColor = BrickColor.new("Pine Cone")
handle.Friction = 0.30000001192093
handle.Shape = Enum.PartType.Block
handle.Name = "Handle"
handle.Parent = bow
handle.CanCollide = false
leg2 = Instance.new("Part")
leg2.CFrame = CFrame.new(Vector3.new(-48.1999931, 1.25002313, -58.2000008)) * CFrame.Angles(-3.1415927410126, 0, -0)
leg2.Size = Vector3.new(0.200000003, 1.90000021, 0.200000003)
leg2.BrickColor = BrickColor.new("Pine Cone")
leg2.Friction = 0.30000001192093
leg2.Shape = Enum.PartType.Block
leg2.Name = "Leg2"
leg2.Parent = bow
leg2.CanCollide = false
cap2 = Instance.new("Part")
cap2.CFrame = CFrame.new(Vector3.new(-48.2000046, 0.300019979, -58.2000008)) * CFrame.Angles(1.5707963705063, 0, -0)
cap2.TopSurface = Enum.SurfaceType.Smooth
cap2.BottomSurface = Enum.SurfaceType.Smooth
cap2.Size = Vector3.new(0.200000003, 0.200000003, 0.200000003)
cap2.BrickColor = BrickColor.new("Pine Cone")
cap2.Friction = 0.30000001192093
cap2.Shape = Enum.PartType.Cylinder
cap2.Name = "Cap2"
cap2.Parent = bow
cap2.CanCollide = false
joint2 = Instance.new("Part")
joint2.CFrame = CFrame.new(Vector3.new(-48.1999893, 2.19999003, -58.2000237)) * CFrame.Angles(1.5707963705063, 0, -0)
joint2.TopSurface = Enum.SurfaceType.Smooth
joint2.BottomSurface = Enum.SurfaceType.Smooth
joint2.Size = Vector3.new(0.200000003, 0.200000003, 0.200000003)
joint2.BrickColor = BrickColor.new("Pine Cone")
joint2.Friction = 0.30000001192093
joint2.Shape = Enum.PartType.Cylinder
joint2.Name = "Joint2"
joint2.Parent = bow
joint2.CanCollide = false
joint1 = Instance.new("Part")
joint1.CFrame = CFrame.new(Vector3.new(-48.2000008, 3.39998126, -58.2000275)) * CFrame.Angles(1.5707963705063, 0, -0)
joint1.TopSurface = Enum.SurfaceType.Smooth
joint1.BottomSurface = Enum.SurfaceType.Smooth
joint1.Size = Vector3.new(0.200000003, 0.200000003, 0.200000003)
joint1.BrickColor = BrickColor.new("Pine Cone")
joint1.Friction = 0.30000001192093
joint1.Shape = Enum.PartType.Cylinder
joint1.Name = "Joint1"
joint1.Parent = bow
joint1.CanCollide = false
leg1 = Instance.new("Part")
leg1.CFrame = CFrame.new(Vector3.new(-48.1999931, 4.35000753, -58.2000122)) * CFrame.Angles(-3.1415927410126, 0, -0)
leg1.Size = Vector3.new(0.200000003, 1.90000021, 0.200000003)
leg1.BrickColor = BrickColor.new("Pine Cone")
leg1.Friction = 0.30000001192093
leg1.Shape = Enum.PartType.Block
leg1.Name = "Leg1"
leg1.Parent = bow
leg1.CanCollide = false
cap1 = Instance.new("Part")
cap1.CFrame = CFrame.new(Vector3.new(-48.2000046, 5.29999113, -58.2000122)) * CFrame.Angles(1.5707963705063, 0, -0)
cap1.TopSurface = Enum.SurfaceType.Smooth
cap1.BottomSurface = Enum.SurfaceType.Smooth
cap1.Size = Vector3.new(0.200000003, 0.200000003, 0.200000003)
cap1.BrickColor = BrickColor.new("Pine Cone")
cap1.Friction = 0.30000001192093
cap1.Shape = Enum.PartType.Cylinder
cap1.Name = "Cap1"
cap1.Parent = bow
cap1.CanCollide = false
stringpart = Instance.new("Part")
stringpart.CFrame = CFrame.new(Vector3.new(-48.2000046, 5.29999113, -58.2000122)) * CFrame.Angles(1.5707963705063, 0, -0)
stringpart.TopSurface = Enum.SurfaceType.Smooth
stringpart.BottomSurface = Enum.SurfaceType.Smooth
stringpart.Size = Vector3.new(0.1, 0.1, 0.1)
stringpart.Transparency = 1
stringpart.BrickColor = BrickColor.new("Mid grey")
stringpart.Friction = 0.30000001192093
stringpart.Shape = Enum.PartType.Cylinder
stringpart.Name = "StringAttachment"
stringpart.Parent = bow
stringpart.CanCollide = false
arrow = Instance.new("Model")
arrow.Parent = game.Workspace
arrow.Name = "arrow"
feather1 = Instance.new("WedgePart")
feather1.CFrame = CFrame.new(Vector3.new(-48.3000031, 2.90000844, -56.1500168)) * CFrame.Angles(-0, 0, -0)
feather1.TopSurface = Enum.SurfaceType.Smooth
feather1.Size = Vector3.new(0.200000003, 0.200000003, 0.299999952)
feather1.BrickColor = BrickColor.new("Crimson")
feather1.Friction = 0.30000001192093
feather1.Name = "Feather"
feather1.Parent = arrow
feather1.CanCollide = false
feather1.Transparency = 1
feather2 = Instance.new("WedgePart")
feather2.CFrame = CFrame.new(Vector3.new(-48.3000031, 2.50003171, -56.1500168)) * CFrame.Angles(-0, 0, -3.1415927410126)
feather2.TopSurface = Enum.SurfaceType.Smooth
feather2.Size = Vector3.new(0.200000003, 0.200000003, 0.299999952)
feather2.BrickColor = BrickColor.new("Crimson")
feather2.Friction = 0.30000001192093
feather2.Name = "Feather"
feather2.Parent = arrow
feather2.CanCollide = false
feather2.Transparency = 1
arrowhead = Instance.new("WedgePart")
arrowhead.CFrame = CFrame.new(Vector3.new(-48.2999992, 2.80002427, -59.4500008)) * CFrame.Angles(-0, 0, -0)
arrowhead.TopSurface = Enum.SurfaceType.Smooth
arrowhead.Size = Vector3.new(0.200000003, 0.200000003, 0.299999952)
arrowhead.Friction = 0.30000001192093
arrowhead.Name = "Arrowhead"
arrowhead.Parent = arrow
arrowhead.CanCollide = false
arrowhead.Transparency = 1
arrowcap = Instance.new("Part")
arrowcap.CFrame = CFrame.new(Vector3.new(-48.2000046, 5.29999113, -58.2000122)) * CFrame.Angles(1.5707963705063, 0, -0)
arrowcap.TopSurface = Enum.SurfaceType.Smooth
arrowcap.BottomSurface = Enum.SurfaceType.Smooth
arrowcap.Size = Vector3.new(0.200000003, 0.200000003, 0.200000003)
arrowcap.BrickColor = BrickColor.new("Dirt brown")
arrowcap.Friction = 0.30000001192093
arrowcap.Shape = Enum.PartType.Cylinder
arrowcap.Name = "ArrowCap"
arrowcap.Parent = arrow
arrowcap.CanCollide = false
arrowcap.Transparency = 1
arrowbody = Instance.new("Part")
arrowbody.CFrame = CFrame.new(Vector3.new(0, 3, 0)) * CFrame.Angles(-0, 0, -0)
arrowbody.Size = Vector3.new(0.200000003, 0.200000003, 3.60000014)
arrowbody.BrickColor = BrickColor.new("Dirt brown")
arrowbody.Friction = 0.30000001192093
arrowbody.Shape = Enum.PartType.Block
arrowbody.Name = "ArrowBody"
arrowbody.Parent = arrow
arrowbody.CanCollide = false
arrowbody.Transparency = 1
feather3 = Instance.new("WedgePart")
feather3.CFrame = CFrame.new(Vector3.new(-48.3000031, 2.50004983, -55.9500198)) * CFrame.Angles(-0, 0, -3.1415927410126)
feather3.TopSurface = Enum.SurfaceType.Smooth
feather3.Size = Vector3.new(0.200000003, 0.200000003, 0.299999952)
feather3.BrickColor = BrickColor.new("Crimson")
feather3.Friction = 0.30000001192093
feather3.Name = "Feather"
feather3.Parent = arrow
feather3.CanCollide = false
feather3.Transparency = 1
feather4 = Instance.new("WedgePart")
feather4.CFrame = CFrame.new(Vector3.new(-48.3000031, 2.90003037, -55.9500198)) * CFrame.Angles(-0, 0, -0)
feather4.TopSurface = Enum.SurfaceType.Smooth
feather4.Size = Vector3.new(0.200000003, 0.200000003, 0.299999952)
feather4.BrickColor = BrickColor.new("Crimson")
feather4.Friction = 0.30000001192093
feather4.Name = "Feather"
feather4.Parent = arrow
feather4.CanCollide = false
feather4.Transparency = 1
-- the welds
whandle = Instance.new("Weld", char["Left Arm"])
whandle.Part0 = char.Torso
whandle.Part1 = handle
whandle.C0 = CFrame.new(0, 0, 0.6) * CFrame.Angles(0, 0, math.rad(45))
wstringpart = Instance.new("Weld", handle)
wstringpart.Part0 = handle
wstringpart.Part1 = stringpart
wstringpart.C0 = CFrame.new(0, -0.3, -0.3) * CFrame.new(0, 0, 0)
wjoint1 = Instance.new("Weld", handle)
wjoint1.Part0 = handle
wjoint1.Part1 = joint1
wjoint1.C0 = CFrame.new(0, 0.6, 0) * CFrame.Angles(-0.1, 0, 0)
wjoint2 = Instance.new("Weld", handle)
wjoint2.Part0 = handle
wjoint2.Part1 = joint2
wjoint2.C0 = CFrame.new(0, -0.6, 0) * CFrame.Angles(0.1, 0, 0)
wleg1 = Instance.new("Weld", joint1)
wleg1.Part0 = joint1
wleg1.Part1 = leg1
wleg1.C0 = CFrame.new(0, 0.95, 0) * CFrame.Angles(0, 0, 0)
wleg2 = Instance.new("Weld", joint2)
wleg2.Part0 = joint2
wleg2.Part1 = leg2
wleg2.C0 = CFrame.new(0, -0.95, 0) * CFrame.Angles(0, 0, 0)
wcap1 = Instance.new("Weld", leg1)
wcap1.Part0 = leg1
wcap1.Part1 = cap1
wcap1.C0 = CFrame.new(0, 0.95, 0) * CFrame.Angles(0, 0, 0)
wcap2 = Instance.new("Weld", leg2)
wcap2.Part0 = leg2
wcap2.Part1 = cap2
wcap2.C0 = CFrame.new(0, -0.95, 0) * CFrame.Angles(0, 0, 0)
cap1att = Instance.new("Attachment", cap1)
cap1att.Position = Vector3.new(0, 0, -0.05)
cap2att = Instance.new("Attachment", cap2)
cap2att.Position = Vector3.new(0, 0, -0.05)
stringatt = Instance.new("Attachment", stringpart)
stringp1 = Instance.new("RodConstraint", stringpart)
stringp1.Color = BrickColor.new("Mid grey")
stringp1.Visible = true
stringp1.Attachment0 = stringatt
stringp1.Attachment1 = cap1att
stringp2 = Instance.new("RodConstraint", stringpart)
stringp2.Color = BrickColor.new("Mid grey")
stringp2.Visible = true
stringp2.Attachment0 = stringatt
stringp2.Attachment1 = cap2att
warrowhead1 = Instance.new("Weld", arrowbody)
warrowhead1.Part0 = arrowbody
warrowhead1.Part1 = arrowhead
warrowhead1.C0 = CFrame.new(0, 0, -1.95)
wfeather1 = Instance.new("Weld", arrowbody)
wfeather1.Part0 = arrowbody
wfeather1.Part1 = feather1
wfeather1.C0 = CFrame.new(0, 0.2, 1.45)
wfeather2 = Instance.new("Weld", arrowbody)
wfeather2.Part0 = arrowbody
wfeather2.Part1 = feather2
wfeather2.C0 = CFrame.new(0, 0.2, 1.4)
wfeather3 = Instance.new("Weld", arrowbody)
wfeather3.Part0 = arrowbody
wfeather3.Part1 = feather3
wfeather3.C0 = CFrame.new(0, -0.2, 1.45) * CFrame.Angles(0, 0, 3.15)
wfeather4 = Instance.new("Weld", arrowbody)
wfeather4.Part0 = arrowbody
wfeather4.Part1 = feather4
wfeather4.C0 = CFrame.new(0, -0.2, 1.4) * CFrame.Angles(0, 0, 3.15)
warrow = Instance.new("Weld", char.Torso)
warrow.Part0 = char.Torso
warrow.Part1 = arrowbody
warrow.C0 = CFrame.new(0, 0, 0.5) * CFrame.Angles(-1.575, 0, 1.575)
warrowcap = Instance.new("Weld", arrowbody)
warrowcap.Part0 = arrowbody
warrowcap.Part1 = arrowcap
warrowcap.C0 = CFrame.new(0, 0, 1.8)
-- sounds
pullbacksound = Instance.new("Sound", handle)
pullbacksound.SoundId = "rbxassetid://609348868"
firesound = Instance.new("Sound", handle)
firesound.SoundId = "rbxassetid://609348009"
firesound.PlaybackSpeed = 1.05
function velocity(v)
print("killvel")
vel = coroutine.wrap(function()
wait(0.05)
v:Remove()
end)
vel()
end
function killz(playa,hitz,kneef)
local heyy = hitz
if hitz == "Right Arm" then
local Limb = playa:FindFirstChild("Right Arm")
local ters = playa:FindFirstChild('Torso')
if Limb and ters then
if ters:FindFirstChild('Right Shoulder') then ters["Right Shoulder"]:Destroy() end
for i,v in pairs(Limb:GetChildren()) do
if v:IsA('Weld') or v:IsA('Motor6D') or v:IsA('Glue') then
v:Destroy()
end
end
Limb.CFrame = ters.CFrame * CFrame.new(1.5, 0, 0)
local Joint = Instance.new("Glue")
Joint.Name = "RightShoulder"
Joint.Part0 = ters
Joint.Part1 = Limb
Joint.C0 = CFrame.new(1.5, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
Joint.C1 = CFrame.new(-0, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
Joint.Parent = ters
local B = Instance.new("Part")
B.TopSurface = 0
B.BottomSurface = 0
B.formFactor = "Symmetric"
B.Size = Vector3.new(1, 1, 1)
B.Transparency = 1
B.CFrame = Limb.CFrame * CFrame.new(0, -0.5, 0)
B.Parent = playa
local W = Instance.new("Weld")
W.Part0 = Limb
W.Part1 = B
W.C0 = CFrame.new(0, -0.5, 0)
W.Parent = Limb
local coru = coroutine.wrap(function()
local uno = Instance.new('Part',workspace)
local dos = Instance.new('Part',workspace)
uno.CFrame = playa:FindFirstChild(hitz).CFrame
dos.CFrame = kneef.CFrame
local weld = Instance.new('Weld',kneef)
weld.Part0 = playa:FindFirstChild(hitz)
weld.Part1 = kneef
weld.C0 = uno.CFrame:toObjectSpace(dos.CFrame)
uno:Destroy()
dos:Destroy()
end)
coru()
end
elseif hitz == "Left Arm" then
local Limb = playa:FindFirstChild("Left Arm")
local ters = playa:FindFirstChild('Torso')
if Limb and ters then
if ters:FindFirstChild('Left Shoulder') then ters["Left Shoulder"]:Destroy() end
for i,v in pairs(Limb:GetChildren()) do
if v:IsA('Weld') or v:IsA('Motor6D') or v:IsA('Glue') then
v:Destroy()
end
end
Limb.CFrame = ters.CFrame * CFrame.new(-1.5, 0, 0)
local Joint = Instance.new("Glue")
Joint.Name = "LeftShoulder"
Joint.Part0 = ters
Joint.Part1 = Limb
Joint.C0 = CFrame.new(-1.5, 0.5, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
Joint.C1 = CFrame.new(0, 0.5, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
Joint.Parent = ters
local B = Instance.new("Part")
B.TopSurface = 0
B.BottomSurface = 0
B.formFactor = "Symmetric"
B.Size = Vector3.new(1, 1, 1)
B.Transparency = 1
B.CFrame = Limb.CFrame * CFrame.new(0, -0.5, 0)
B.Parent = playa
local W = Instance.new("Weld")
W.Part0 = ters
W.Part1 = B
W.C0 = CFrame.new(0, -0.5, 0)
W.Parent = Limb
local coru = coroutine.wrap(function()
local uno = Instance.new('Part',workspace)
local dos = Instance.new('Part',workspace)
uno.CFrame = playa:FindFirstChild(hitz).CFrame
dos.CFrame = kneef.CFrame
local weld = Instance.new('Weld',kneef)
weld.Part0 = playa:FindFirstChild(hitz)
weld.Part1 = kneef
weld.C0 = uno.CFrame:toObjectSpace(dos.CFrame)
uno:Destroy()
dos:Destroy()
end)
coru()
end
elseif hitz == "Right Leg" then
local Limb = playa:FindFirstChild("Right Leg")
local ters = playa:FindFirstChild('Torso')
if Limb and ters then
if ters:FindFirstChild('Right Hip') then ters["Right Hip"]:Destroy() end
for i,v in pairs(Limb:GetChildren()) do
if v:IsA('Weld') or v:IsA('Motor6D') or v:IsA('Glue') then
v:Destroy()
end
end
Limb.CFrame = ters.CFrame * CFrame.new(0.5, -2, 0)
local Joint = Instance.new("Glue")
Joint.Name = "Right Hip"
Joint.Part0 = ters
Joint.Part1 = Limb
Joint.C0 = CFrame.new(0.5, -1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
Joint.C1 = CFrame.new(0, 1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
Joint.Parent = ters
local B = Instance.new("Part")
B.TopSurface = 0
B.BottomSurface = 0
B.formFactor = "Symmetric"
B.Size = Vector3.new(1, 1, 1)
B.Transparency = 1
B.CFrame = Limb.CFrame * CFrame.new(0, -0.5, 0)
B.Parent = playa
local W = Instance.new("Weld")
W.Part0 = Limb
W.Part1 = B
W.C0 = CFrame.new(0, -0.5, 0)
W.Parent = Limb
local coru = coroutine.wrap(function()
local uno = Instance.new('Part',workspace)
local dos = Instance.new('Part',workspace)
uno.CFrame = playa:FindFirstChild(hitz).CFrame
dos.CFrame = kneef.CFrame
local weld = Instance.new('Weld',kneef)
weld.Part0 = playa:FindFirstChild(hitz)
weld.Part1 = kneef
weld.C0 = uno.CFrame:toObjectSpace(dos.CFrame)
uno:Destroy()
dos:Destroy()
if playa:FindFirstChild('HumanoidRootPart') then
if playa.HumanoidRootPart:FindFirstChild('RootJoint') then
playa.HumanoidRootPart:FindFirstChild('RootJoint'):Destroy()
wait()
end
while playa.HumanoidRootPart:FindFirstChild('RootJoint') do
wait()
end
playa:FindFirstChild('HumanoidRootPart'):Destroy()
end
end)
coru()
end
elseif hitz == "Left Leg" then
local Limb = playa:FindFirstChild("Left Leg")
local ters = playa:FindFirstChild('Torso')
if Limb and ters then
if ters:FindFirstChild('Left Hip') then ters["Left Hip"]:Destroy() end
for i,v in pairs(Limb:GetChildren()) do
if v:IsA('Weld') or v:IsA('Motor6D') or v:IsA('Glue') then
v:Destroy()
end
end
Limb.CFrame = ters.CFrame * CFrame.new(0.5, -2, 0)
Limb.CFrame = ters.CFrame * CFrame.new(-0.5, -2, 0)
local Joint = Instance.new("Glue")
Joint.Name = "LeftHip"
Joint.Part0 = ters
Joint.Part1 = Limb
Joint.C0 = CFrame.new(-0.5, -1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
Joint.C1 = CFrame.new(-0, 1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
Joint.Parent = ters
local B = Instance.new("Part")
B.TopSurface = 0
B.BottomSurface = 0
B.formFactor = "Symmetric"
B.Size = Vector3.new(1, 1, 1)
B.Transparency = 1
B.CFrame = Limb.CFrame * CFrame.new(0, -0.5, 0)
B.Parent = playa
local W = Instance.new("Weld")
W.Part0 = Limb
W.Part1 = B
W.C0 = CFrame.new(0, -0.5, 0)
W.Parent = Limb
Limb.CanCollide = false
local coru = coroutine.wrap(function()
local uno = Instance.new('Part',workspace)
local dos = Instance.new('Part',workspace)
uno.CFrame = playa:FindFirstChild(hitz).CFrame
dos.CFrame = kneef.CFrame
local weld = Instance.new('Weld',kneef)
weld.Part0 = playa:FindFirstChild(hitz)
weld.Part1 = kneef
weld.C0 = uno.CFrame:toObjectSpace(dos.CFrame)
uno:Destroy()
dos:Destroy()
if playa:FindFirstChild('HumanoidRootPart') then
if playa.HumanoidRootPart:FindFirstChild('RootJoint') then
playa.HumanoidRootPart:FindFirstChild('RootJoint'):Destroy()
end
while playa.HumanoidRootPart:FindFirstChild('RootJoint') do
wait()
end
playa:FindFirstChild('HumanoidRootPart'):Destroy()
end
end)
coru()
end
else
local playa2 = playa
playa.Archivable = true
local playa = playa:Clone()
playa.Archivable = false
playa2:Destroy()
playa.Parent = workspace
local Gibs = game.Workspace
local Torso = playa.Torso
local Head = playa:FindFirstChild("Head")
local function Scan(ch)
local e
for e = 1,#ch do
Scan(ch[e]:GetChildren())
if (ch[e].ClassName == "Weld" and ch[e].Part1.Name ~= 'Projectile') or ch[e].ClassName == "Motor6D" then
ch[e]:remove()
end
end
end
Scan(playa:GetChildren())
if playa:FindFirstChild('HumanoidRootPart') then
playa:FindFirstChild('HumanoidRootPart'):Destroy()
end
local hum2 = playa:FindFirstChildOfClass("Humanoid")
if hum2 ~= nil then
hum2.Name = "Humanoid2"
hum2.PlatformStand = true
hum2.Health = 0
end
local ch = playa:GetChildren()
local i
for i = 1,#ch do
if ch[i].Name == "THandle1" or ch[i].Name == "THandle2" then
ch[i]:remove()
end
end
if Head then
local Neck = Instance.new("Weld")
Neck.Name = "Neck"
Neck.Part0 = Torso
Neck.Part1 = Head
Neck.C0 = CFrame.new(0, 1.5, 0)
Neck.C1 = CFrame.new()
Neck.Parent = Torso
end
local Limb = playa:FindFirstChild("Right Arm")
if Limb then
Limb.CFrame = Torso.CFrame * CFrame.new(1.5, 0, 0)
local Joint = Instance.new("Glue")
Joint.Name = "RightShoulder"
Joint.Part0 = Torso
Joint.Part1 = Limb
Joint.C0 = CFrame.new(1.5, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
Joint.C1 = CFrame.new(-0, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
Joint.Parent = Torso
local B = Instance.new("Part")
B.TopSurface = 0
B.BottomSurface = 0
B.formFactor = "Symmetric"
B.Size = Vector3.new(1, 1, 1)
B.Transparency = 1
B.CFrame = Limb.CFrame * CFrame.new(0, -0.5, 0)
B.Parent = playa
local W = Instance.new("Weld")
W.Part0 = Limb
W.Part1 = B
W.C0 = CFrame.new(0, -0.5, 0)
W.Parent = Limb
end
local Limb = playa:FindFirstChild("Left Arm")
if Limb then
Limb.CFrame = Torso.CFrame * CFrame.new(-1.5, 0, 0)
local Joint = Instance.new("Glue")
Joint.Name = "LeftShoulder"
Joint.Part0 = Torso
Joint.Part1 = Limb
Joint.C0 = CFrame.new(-1.5, 0.5, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
Joint.C1 = CFrame.new(0, 0.5, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
Joint.Parent = Torso
local B = Instance.new("Part")
B.TopSurface = 0
B.BottomSurface = 0
B.formFactor = "Symmetric"
B.Size = Vector3.new(1, 1, 1)
B.Transparency = 1
B.CFrame = Limb.CFrame * CFrame.new(0, -0.5, 0)
B.Parent = playa
local W = Instance.new("Weld")
W.Part0 = Limb
W.Part1 = B
W.C0 = CFrame.new(0, -0.5, 0)
W.Parent = Limb
end
local Limb = playa:FindFirstChild("Right Leg")
if Limb then
Limb.CFrame = Torso.CFrame * CFrame.new(0.5, -2, 0)
local Joint = Instance.new("Glue")
Joint.Name = "RightHip"
Joint.Part0 = Torso
Joint.Part1 = Limb
Joint.C0 = CFrame.new(0.5, -1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
Joint.C1 = CFrame.new(0, 1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
Joint.Parent = Torso
local B = Instance.new("Part")
B.TopSurface = 0
B.BottomSurface = 0
B.formFactor = "Symmetric"
B.Size = Vector3.new(1, 1, 1)
B.Transparency = 1
B.CFrame = Limb.CFrame * CFrame.new(0, -0.5, 0)
B.Parent = playa
local W = Instance.new("Weld")
W.Part0 = Limb
W.Part1 = B
W.C0 = CFrame.new(0, -0.5, 0)
W.Parent = Limb
end
local Limb = playa:FindFirstChild("Left Leg")
if Limb then
Limb.CFrame = Torso.CFrame * CFrame.new(-0.5, -2, 0)
local Joint = Instance.new("Glue")
Joint.Name = "LeftHip"
Joint.Part0 = Torso
Joint.Part1 = Limb
Joint.C0 = CFrame.new(-0.5, -1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
Joint.C1 = CFrame.new(-0, 1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
Joint.Parent = Torso
local B = Instance.new("Part")
B.TopSurface = 0
B.BottomSurface = 0
B.formFactor = "Symmetric"
B.Size = Vector3.new(1, 1, 1)
B.Transparency = 1
B.CFrame = Limb.CFrame * CFrame.new(0, -0.5, 0)
B.Parent = playa
local W = Instance.new("Weld")
W.Part0 = Limb
W.Part1 = B
W.C0 = CFrame.new(0, -0.5, 0)
W.Parent = Limb
end
--[
local Bar = Instance.new("Part")
Bar.TopSurface = 0
Bar.BottomSurface = 0
Bar.formFactor = "Symmetric"
Bar.Size = Vector3.new(1, 1, 1)
Bar.Transparency = 1
Bar.CFrame = Torso.CFrame * CFrame.new(0, 0.5, 0)
Bar.Parent = playa
local Weld = Instance.new("Weld")
Weld.Part0 = Torso
Weld.Part1 = Bar
Weld.C0 = CFrame.new(0, 0.5, 0)
Weld.Parent = Torso
--]]
playa.Parent = Gibs
local coru = coroutine.wrap(function()
print(hitz.Name)
local uno = Instance.new('Part',workspace)
local dos = Instance.new('Part',workspace)
uno.CFrame = playa:FindFirstChild(heyy).CFrame
dos.CFrame = kneef.CFrame
local weld = Instance.new('Weld',kneef)
weld.Part0 = playa:FindFirstChild(heyy)
weld.Part1 = kneef
weld.C0 = uno.CFrame:toObjectSpace(dos.CFrame)
uno:Destroy()
dos:Destroy()
end)
coru()
game.Debris:AddItem(playa, 15)
end
end
function checkarms()
check = coroutine.wrap(function()
rshould = char.Torso:FindFirstChild("Right Shoulder")
lshould = char.Torso:FindFirstChild("Left Shoulder")
if rshould == nil then
rightshoulder:Clone().Parent = char.Torso
end
if lshould == nil then
rightshoulder:Clone().Parent = char.Torso
end
end)
check()
end
mouse.KeyDown:connect(function(k)
key = k:lower()
if key == "e" and enabled == true and equipped == true then
if armed == false then
crarm = Instance.new("Weld", char.Torso)
crarm.Part0 = char.Torso
crarm.Part1 = char["Right Arm"]
crarm.C0 = CFrame.Angles(0, 0, 0) * CFrame.new(1.5, 0, 0)
clarm = Instance.new("Weld", char.Torso)
clarm.Part0 = char.Torso
clarm.Part1 = char["Left Arm"]
clarm.C0 = CFrame.Angles(0, 0, 0) * CFrame.new(-1.5, 0, 0)
enabled = false
for i = 0, 1, 0.1 do
crarm.C0 = crarm.C0:lerp(CFrame.new(1.5, 1.5, 0) * CFrame.Angles(3.14, 0, 0), i)
wait()
end
for i, v in pairs(arrow:GetChildren()) do
v.Transparency = 0
end
feather1.Transparency = 0.25
feather2.Transparency = 0.25
feather3.Transparency = 0.25
feather4.Transparency = 0.25
warrow.Part0 = char["Right Arm"]
warrow.C0 = CFrame.new(-0.5, -2.7, -0.2) * CFrame.Angles(-1.575, 0.075, -0.5)
for i = 0, 1, 0.05 do
tors.C0 = tors.C0:lerp(CFrame.new(0, 0, 0) * CFrame.Angles(0, -1.5, 0), i)
whandle.C0 = whandle.C0:lerp(CFrame.new(0.4, -1, 0) * CFrame.Angles(1.575, -0.05, 0), i)
clarm.C0 = clarm.C0:lerp(CFrame.new(-1.6, 0.45, -0.10) * CFrame.Angles(1.2, 0, -1.575), i)
crarm.C0 = crarm.C0:lerp(CFrame.new(-1.35, 0.6, -1) * CFrame.Angles(1.575, 0, -1.575), i)
wjoint1.C0 = wjoint1.C0:lerp(CFrame.new(0, 0.6, 0) * CFrame.Angles(-0.1, 0, 0), i)
wjoint2.C0 = wjoint2.C0:lerp(CFrame.new(0, -0.6, 0) * CFrame.Angles(0.1, 0, 0), i)
wstringpart.C0 = wstringpart.C0:lerp(CFrame.new(0, -0.5, -0.3) * CFrame.new(0, 0, 0), i)
hed.C0 = hed.C0:lerp(CFrame.new(0, 1.55, 0) * CFrame.Angles(0, 1.5, 0), i)
wait()
end
pullbacksound:Play()
warrow.Part0 = stringpart
warrow.C0 = CFrame.new(-0.1, 0, 1.9) * CFrame.Angles(3.15, 0.04, 0)
for i = 0, 1, 0.025 do
tors.C0 = tors.C0:lerp(CFrame.new(0, 0, 0) * CFrame.Angles(0, -1.5, 0), i)
whandle.C0 = whandle.C0:lerp(CFrame.new(0.4, -1, 0) * CFrame.Angles(1.575, -0.05, 0), i)
clarm.C0 = clarm.C0:lerp(CFrame.new(-1.95, 0.45, -0.10) * CFrame.Angles(1.2, 0, -1.575), i)
crarm.C0 = crarm.C0:lerp(CFrame.new(1, 0.6, -1) * CFrame.Angles(1.575, 0, -1.575), i)
wjoint1.C0 = wjoint1.C0:lerp(CFrame.new(0, 0.6, 0) * CFrame.Angles(-0.4, 0, 0), i)
wjoint2.C0 = wjoint2.C0:lerp(CFrame.new(0, -0.6, 0) * CFrame.Angles(0.4, 0, 0), i)
wstringpart.C0 = wstringpart.C0:lerp(CFrame.new(0, -0.5, -3) * CFrame.new(0, 0, 0), i)
hed.C0 = hed.C0:lerp(CFrame.new(0, 1.55, -0.1) * CFrame.Angles(0, 1.5, -0.25), i)
wait()
end
armed = true
enabled = true
elseif armed == true and equipped == true then
enabled = false
for i = 0,1,0.05 do
clarm.C0 = clarm.C0:lerp(CFrame.new(-1.6, 0.45, -0.10) * CFrame.Angles(1.2, 0, -1.575), i)
crarm.C0 = crarm.C0:lerp(CFrame.new(-1.3, 0.4, -1) * CFrame.Angles(1.575, 0.1, -1.575), i)
wjoint1.C0 = wjoint1.C0:lerp(CFrame.new(0, 0.6, 0) * CFrame.Angles(-0.1, 0, 0), i)
wjoint2.C0 = wjoint2.C0:lerp(CFrame.new(0, -0.6, 0) * CFrame.Angles(0.1, 0, 0), i)
wstringpart.C0 = wstringpart.C0:lerp(CFrame.new(0, -0.5, -0.3) * CFrame.new(0, 0, 0), i)
wait()
end
warrow.Part0 = char["Right Arm"]
warrow.C0 = CFrame.new(-0.5, -2.65, -0.2) * CFrame.Angles(-1.575, 0.075, -0.4)
for i = 0,1,0.05 do
crarm.C0 = crarm.C0:lerp(CFrame.new(1.5, 1.5, 0) * CFrame.Angles(3.14, 0, 0), i)
tors.C0 = tors.C0:lerp(CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), i)
whandle.C0 = whandle.C0:lerp(CFrame.new(0.4, -1, 0) * CFrame.Angles(1.575, 0, 0), i)
clarm.C0 = clarm.C0:lerp(CFrame.new(-1.5, 0, 0) * CFrame.Angles(0, 0, 0), i)
crarm.C0 = crarm.C0:lerp(CFrame.new(1.5, 0, 0) * CFrame.Angles(0, 0, 0), i)
hed.C0 = hed.C0:lerp(CFrame.new(0, 1.55, 0) * CFrame.Angles(0, 0, 0), i)
wait()
end
for i, v in pairs(arrow:GetChildren()) do
v.Transparency = 1
end
warrow.Part0 = char.Torso
warrow.C0 = CFrame.new(0, 0, 0.5) * CFrame.Angles(-1.575, 0, 1.575)
for i = 0, 1, 0.1 do
crarm.C0 = crarm.C0:lerp(CFrame.new(1.5, 0, 0) * CFrame.Angles(0, 0, 0), i)
wait()
end
armed = false
enabled = true
clarm:Remove()
crarm:Remove()
rightshoulder:Clone().Parent = char.Torso
leftshoulder:Clone().Parent = char.Torso
checkarms()
end
elseif key == "z" then
if armed == true or enabled == false then return end
clarm = Instance.new("Weld", char.Torso)
clarm.Part0 = char.Torso
clarm.Part1 = char["Left Arm"]
clarm.C0 = CFrame.Angles(0, 0, 0) * CFrame.new(-1.5, 0, 0)
if equipped == false then
enabled = false
for i = 0, 1, 0.05 do
clarm.C0 = clarm.C0:lerp(CFrame.new(-0.5, 0, 0.25) * CFrame.Angles(math.rad(-90), 0, math.rad(75)), i)
wait()
end
whandle.C0 = CFrame.new(0.4, -1, 0) * CFrame.Angles(1.575, 0, 0)
whandle.Part0 = char["Left Arm"]
for i = 0, 1, 0.05 do
clarm.C0 = clarm.C0:lerp(CFrame.new(-2, 0.6, 0) * CFrame.Angles(0, 0, math.rad(-90)), i)
wait()
end
for i = 0, 1, 0.05 do
clarm.C0 = clarm.C0:lerp(CFrame.Angles(0, 0, 0) * CFrame.new(-1.5, 0, 0), i)
wait()
end
enabled = true
equipped = true
elseif equipped == true then
if armed == true or enabled == false then return end
enabled = false
for i = 0, 1, 0.05 do
clarm.C0 = clarm.C0:lerp(CFrame.new(-2, 0.6, 0) * CFrame.Angles(0, 0, math.rad(-90)), i)
wait()
end
for i = 0, 1, 0.05 do
clarm.C0 = clarm.C0:lerp(CFrame.new(-0.5, 0, 0.25) * CFrame.Angles(math.rad(-90), 0, math.rad(75)), i)
whandle.C0 = whandle.C0:lerp(CFrame.new(0.4, -1, 0) * CFrame.Angles(1.575, 0, 0), i)
wait()
end
whandle.C0 = CFrame.new(0, 0, 0.6) * CFrame.Angles(0, 0, math.rad(45))
whandle.Part0 = char.Torso
for i = 0, 1, 0.05 do
clarm.C0 = clarm.C0:lerp(CFrame.Angles(0, 0, 0) * CFrame.new(-1.5, 0, 0), i)
wait()
end
equipped = false
enabled = true
end
clarm:Remove()
leftshoulder:Clone().Parent = char.Torso
end
end)
mouse.Button1Down:connect(function()
if armed == false or enabled == false or equipped == false then return end
firesound:Play()
enabled = false
armed = false
wjoint1.C0 = CFrame.new(0, 0.6, 0) * CFrame.Angles(-0.1, 0, 0)
wjoint2.C0 = CFrame.new(0, -0.6, 0) * CFrame.Angles(0.1, 0, 0)
wstringpart.C0 = CFrame.new(0, -0.5, -0.3) * CFrame.new(0, 0, 0)
crarm.C0 = CFrame.new(1.2, 0.6, -1) * CFrame.Angles(1.575, 0, -1.575)
newarrow = arrow:Clone()
newarrow.Parent = game.Workspace
newarrow.Name = "flyingarrow"
newarrow.ArrowBody.CFrame = CFrame.new(newarrow.ArrowBody.CFrame.p, mouse.Hit.p)*CFrame.Angles(0,0,math.pi/1.15)
char.HumanoidRootPart.CFrame = CFrame.new(char.HumanoidRootPart.CFrame.p, mouse.Hit.p)*CFrame.Angles(0,math.pi/100,0)
char.Humanoid.JumpPower = 1
char.Humanoid.Jump = true
local fly = Instance.new('BodyVelocity',newarrow.ArrowBody)
fly.Velocity = (newarrow.ArrowBody.CFrame*CFrame.Angles(0,0,math.pi/2)).lookVector*200
newarrow.Arrowhead.Touched:connect(function(hit)
if hit.Parent and hit.Parent:FindFirstChildOfClass('Humanoid') and hit.Transparency < 1 and newarrow.Arrowhead.CanCollide == false and hit.Parent:FindFirstChildOfClass('Humanoid').Health > 0 and hit.Parent ~= char then
velocity(fly)
newarrow.Arrowhead.CanCollide = true
game:GetService('Debris'):AddItem(newarrow.Arrowhead,15)
tone = math.random(1, 3)
local sound = Instance.new('Sound',newarrow.Arrowhead)
if tone == 1 then sound.SoundId = "rbxassetid://220833967" end
if tone == 2 then sound.SoundId = "rbxassetid://220833976" end
if tone == 3 then sound.SoundId = "rbxassetid://220834000" end
sound.PlaybackSpeed = 1
sound:Play()
newarrow.Arrowhead.Anchored = true
hit.Anchored = true
if hit.Parent:FindFirstChildOfClass('Humanoid') and hit.Name == "Torso" or hit.Name == "Head" then
hit.Parent:FindFirstChildOfClass('Humanoid').Health = 0
end
wait()
hit.Anchored = false
newarrow.Arrowhead.Anchored = false
killz(hit.Parent,hit.Name,newarrow.Arrowhead)
elseif hit.Parent and hit.Parent.Parent:FindFirstChildOfClass('Humanoid') and hit.Transparency < 1 and newarrow.Arrowhead.CanCollide == false and hit.Parent.Parent:FindFirstChildOfClass('Humanoid').Health > 0 and hit.Parent.Parent ~= char and hit.Parent.Parent:FindFirstChild('Head') then
velocity(fly)
game:GetService('Debris'):AddItem(newarrow.Arrowhead,15)
newarrow.Arrowhead.CanCollide = true
tone = math.random(1, 3)
local sound = Instance.new('Sound',newarrow.Arrowhead)
if tone == 1 then sound.SoundId = "rbxassetid://220833967" end
if tone == 2 then sound.SoundId = "rbxassetid://220833976" end
if tone == 3 then sound.SoundId = "rbxassetid://220834000" end
sound.PlaybackSpeed = 1
sound:Play()
newarrow.Arrowhead.Anchored = true
hit.Anchored = true
if hit.Parent.Parent:FindFirstChildOfClass('Humanoid') then
hit.Parent.Parent:FindFirstChildOfClass('Humanoid').Health = 0
end
wait()
newarrow.Arrowhead.Anchored = false
hit.Anchored = false
killz(hit.Parent.Parent,hit.Name,newarrow.Arrowhead)
elseif hit.Parent and hit.Parent ~= char and hit.Parent.Parent ~= char and hit.Transparency < 1 and newarrow.Arrowhead.CanCollide == false then
velocity(fly)
game:GetService('Debris'):AddItem(newarrow.Arrowhead,15)
newarrow.Arrowhead.CanCollide = true
local sound = Instance.new('Sound',newarrow.Arrowhead)
sound.SoundId = 'rbxassetid://267585646'
sound:Play()
end
end)
for i, v in pairs(arrow:GetChildren()) do
v.Transparency = 1
end
warrow.Part0 = char.Torso
warrow.C0 = CFrame.new(0, 0, 0.5) * CFrame.Angles(-1.575, 0, 1.575)
wait(0.5)
for i = 0, 1, 0.05 do
tors.C0 = tors.C0:lerp(CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), i)
whandle.C0 = whandle.C0:lerp(CFrame.new(0.4, -1, 0) * CFrame.Angles(1.575, 0, 0), i)
clarm.C0 = clarm.C0:lerp(CFrame.new(-1.5, 0, 0) * CFrame.Angles(0, 0, 0), i)
crarm.C0 = crarm.C0:lerp(CFrame.new(1.5, 0, 0) * CFrame.Angles(0, 0, 0), i)
hed.C0 = hed.C0:lerp(CFrame.new(0, 1.55, 0) * CFrame.Angles(0, 0, 0), i)
wait()
end
clarm:Remove()
crarm:Remove()
rightshoulder:Clone().Parent = char.Torso
leftshoulder:Clone().Parent = char.Torso
checkarms()
char.Humanoid.JumpPower = 50
enabled = true
end)
--Converted with ttyyuu12345's model to script plugin v4
function sandbox(var,func)
local env = getfenv(func)
local newenv = setmetatable({},{
__index = function(self,k)
if k=="script" then
return var
else
return env[k]
end
end,
})
setfenv(func,newenv)
return func
end
cors = {}
mas = Instance.new("Model",game:GetService("Lighting"))
Tool0 = Instance.new("Tool")
Part1 = Instance.new("Part")
SpecialMesh2 = Instance.new("SpecialMesh")
Sound3 = Instance.new("Sound")
Sound4 = Instance.new("Sound")
Sound5 = Instance.new("Sound")
Script6 = Instance.new("Script")
LocalScript7 = Instance.new("LocalScript")
Camera8 = Instance.new("Camera")
Tool0.Name = "ClassicSword"
Tool0.Parent = owner.Backpack
Tool0.TextureId = "rbxasset://Textures/Sword128.png"
Tool0.Grip = CFrame.new(0, 0, -1.5, 0, 0, 1, 1, 0, 0, 0, 1, 0)
Tool0.GripForward = Vector3.new(-1, -0, -0)
Tool0.GripPos = Vector3.new(0, 0, -1.5)
Tool0.GripRight = Vector3.new(0, 1, 0)
Tool0.GripUp = Vector3.new(0, 0, 1)
Part1.Name = "Handle"
Part1.Parent = Tool0
Part1.CFrame = CFrame.new(2.60000062, 2.00000072, -24.5000019, 1.45286322e-07, -0.999999881, 2.77318378e-07, 3.85828599e-07, 2.98453244e-08, 1.00000048, -1.0000006, -4.84287597e-08, -7.44502131e-07)
Part1.Orientation = Vector3.new(-90, 90, 0)
Part1.Position = Vector3.new(2.60000062, 2.00000072, -24.5000019)
Part1.Rotation = Vector3.new(-90, 0, 90)
Part1.Color = Color3.new(0.388235, 0.372549, 0.384314)
Part1.Size = Vector3.new(1, 0.800000012, 4)
Part1.BottomSurface = Enum.SurfaceType.Smooth
Part1.BrickColor = BrickColor.new("Dark stone grey")
Part1.Locked = true
Part1.Reflectance = 0.40000000596046
Part1.TopSurface = Enum.SurfaceType.Smooth
Part1.brickColor = BrickColor.new("Dark stone grey")
Part1.FormFactor = Enum.FormFactor.Plate
Part1.formFactor = Enum.FormFactor.Plate
SpecialMesh2.Parent = Part1
SpecialMesh2.MeshId = "rbxasset://fonts/sword.mesh"
SpecialMesh2.TextureId = "rbxasset://textures/SwordTexture.png"
SpecialMesh2.MeshType = Enum.MeshType.FileMesh
Sound3.Name = "SwordSlash"
Sound3.Parent = Part1
Sound3.SoundId = "http://www.roblox.com/asset/?id=12222216"
Sound3.Volume = 0.69999998807907
Sound4.Name = "SwordLunge"
Sound4.Parent = Part1
Sound4.SoundId = "http://www.roblox.com/asset/?id=12222208"
Sound4.Volume = 0.60000002384186
Sound5.Name = "Unsheath"
Sound5.Parent = Part1
Sound5.SoundId = "http://www.roblox.com/asset/?id=12222225"
Sound5.Volume = 1
Script6.Name = "SwordScript"
Script6.Parent = Tool0
table.insert(cors,sandbox(Script6,function()
--Rescripted by Luckymaxer
--EUROCOW WAS HERE BECAUSE I MADE THE PARTICLES AND THEREFORE THIS ENTIRE SWORD PRETTY AND LOOK PRETTY WORDS AND I'D LIKE TO DEDICATE THIS TO MY FRIENDS AND HI LUCKYMAXER PLS FIX SFOTH SWORDS TY LOVE Y'ALl
--Updated for R15 avatars by StarWars
--Re-updated by TakeoHonorable
Tool = script.Parent
Handle = Tool:WaitForChild("Handle")
function Create(ty)
return function(data)
local obj = Instance.new(ty)
for k, v in pairs(data) do
if type(k) == 'number' then
v.Parent = obj
else
obj[k] = v
end
end
return obj
end
end
local BaseUrl = "rbxassetid://"
Players = game:GetService("Players")
Debris = game:GetService("Debris")
RunService = game:GetService("RunService")
DamageValues = {
BaseDamage = 5,
SlashDamage = 10,
LungeDamage = 30
}
--For R15 avatars
Animations = {
R15Slash = 522635514,
R15Lunge = 522638767
}
Damage = DamageValues.BaseDamage
Grips = {
Up = CFrame.new(0, 0, -1.70000005, 0, 0, 1, 1, 0, 0, 0, 1, 0),
Out = CFrame.new(0, 0, -1.70000005, 0, 1, 0, 1, -0, 0, 0, 0, -1)
}
Sounds = {
Slash = Handle:WaitForChild("SwordSlash"),
Lunge = Handle:WaitForChild("SwordLunge"),
Unsheath = Handle:WaitForChild("Unsheath")
}
ToolEquipped = false
--For Omega Rainbow Katana thumbnail to display a lot of particles.
for i, v in pairs(Handle:GetChildren()) do
if v:IsA("ParticleEmitter") then
v.Rate = 20
end
end
Tool.Grip = Grips.Up
Tool.Enabled = true
function IsTeamMate(Player1, Player2)
return (Player1 and Player2 and not Player1.Neutral and not Player2.Neutral and Player1.TeamColor == Player2.TeamColor)
end
function TagHumanoid(humanoid, player)
local Creator_Tag = Instance.new("ObjectValue")
Creator_Tag.Name = "creator"
Creator_Tag.Value = player
Debris:AddItem(Creator_Tag, 2)
Creator_Tag.Parent = humanoid
end
function UntagHumanoid(humanoid)
for i, v in pairs(humanoid:GetChildren()) do
if v:IsA("ObjectValue") and v.Name == "creator" then
v:Destroy()
end
end
end
function Blow(Hit)
if not Hit or not Hit.Parent or not CheckIfAlive() or not ToolEquipped then
return
end
local RightArm = Character:FindFirstChild("Right Arm") or Character:FindFirstChild("RightHand")
if not RightArm then
return
end
local RightGrip = RightArm:FindFirstChild("RightGrip")
if not RightGrip or (RightGrip.Part0 ~= Handle and RightGrip.Part1 ~= Handle) then
return
end
local character = Hit.Parent
if character == Character then
return
end
local humanoid = character:FindFirstChildOfClass("Humanoid")
if not humanoid or humanoid.Health == 0 then
return
end
local player = Players:GetPlayerFromCharacter(character)
if player and (player == Player or IsTeamMate(Player, player)) then
return
end
UntagHumanoid(humanoid)
TagHumanoid(humanoid, Player)
humanoid:TakeDamage(Damage)
end
function Attack()
Damage = DamageValues.SlashDamage
Sounds.Slash:Play()
if Humanoid then
if Humanoid.RigType == Enum.HumanoidRigType.R6 then
local Anim = Instance.new("StringValue")
Anim.Name = "toolanim"
Anim.Value = "Slash"
Anim.Parent = Tool
elseif Humanoid.RigType == Enum.HumanoidRigType.R15 then
local Anim = Tool:FindFirstChild("R15Slash")
if Anim then
local Track = Humanoid:LoadAnimation(Anim)
Track:Play(0)
end
end
end
end
function Lunge()
Damage = DamageValues.LungeDamage
Sounds.Lunge:Play()
if Humanoid then
if Humanoid.RigType == Enum.HumanoidRigType.R6 then
local Anim = Instance.new("StringValue")
Anim.Name = "toolanim"
Anim.Value = "Lunge"
Anim.Parent = Tool
elseif Humanoid.RigType == Enum.HumanoidRigType.R15 then
local Anim = Tool:FindFirstChild("R15Lunge")
if Anim then
local Track = Humanoid:LoadAnimation(Anim)
Track:Play(0)
end
end
end
--[[
if CheckIfAlive() then
local Force = Instance.new("BodyVelocity")
Force.velocity = Vector3.new(0, 10, 0)
Force.maxForce = Vector3.new(0, 4000, 0)
Debris:AddItem(Force, 0.4)
Force.Parent = Torso
end
]]
wait(0.2)
Tool.Grip = Grips.Out
wait(0.6)
Tool.Grip = Grips.Up
Damage = DamageValues.SlashDamage
end
Tool.Enabled = true
LastAttack = 0
function Activated()
if not Tool.Enabled or not ToolEquipped or not CheckIfAlive() then
return
end
Tool.Enabled = false
local Tick = RunService.Stepped:wait()
if (Tick - LastAttack < 0.2) then
Lunge()
else
Attack()
end
LastAttack = Tick
--wait(0.5)
Damage = DamageValues.BaseDamage
local SlashAnim = (Tool:FindFirstChild("R15Slash") or Create("Animation"){
Name = "R15Slash",
AnimationId = BaseUrl .. Animations.R15Slash,
Parent = Tool
})
local LungeAnim = (Tool:FindFirstChild("R15Lunge") or Create("Animation"){
Name = "R15Lunge",
AnimationId = BaseUrl .. Animations.R15Lunge,
Parent = Tool
})
Tool.Enabled = true
end
function CheckIfAlive()
return (((Player and Player.Parent and Character and Character.Parent and Humanoid and Humanoid.Parent and Humanoid.Health > 0 and Torso and Torso.Parent) and true) or false)
end
function Equipped()
Character = Tool.Parent
Player = Players:GetPlayerFromCharacter(Character)
Humanoid = Character:FindFirstChildOfClass("Humanoid")
Torso = Character:FindFirstChild("Torso") or Character:FindFirstChild("HumanoidRootPart")
if not CheckIfAlive() then
return
end
ToolEquipped = true
Sounds.Unsheath:Play()
end
function Unequipped()
Tool.Grip = Grips.Up
ToolEquipped = false
end
Tool.Activated:Connect(Activated)
Tool.Equipped:Connect(Equipped)
Tool.Unequipped:Connect(Unequipped)
Connection = Handle.Touched:Connect(Blow)
end))
LocalScript7.Name = "MouseIcon"
LocalScript7.Parent = Tool0
table.insert(cors,sandbox(LocalScript7,function()
--Made by Luckymaxer
Mouse_Icon = "rbxasset://textures/GunCursor.png"
Reloading_Icon = "rbxasset://textures/GunWaitCursor.png"
Tool = script.Parent
Mouse = nil
function UpdateIcon()
if Mouse then
Mouse.Icon = Tool.Enabled and Mouse_Icon or Reloading_Icon
end
end
function OnEquipped(ToolMouse)
Mouse = ToolMouse
UpdateIcon()
end
function OnChanged(Property)
if Property == "Enabled" then
UpdateIcon()
end
end
Tool.Equipped:Connect(OnEquipped)
Tool.Changed:Connect(OnChanged)
end))
Camera8.Name = "ThumbnailCamera"
Camera8.Parent = Tool0
Camera8.CFrame = CFrame.new(-5.67428207, 2.83736515, 3.79184556, 0.289030313, 0.416664183, -0.861888885, -0, 0.900314331, 0.435240269, 0.957319915, -0.125797629, 0.260218143)
Camera8.CoordinateFrame = CFrame.new(-5.67428207, 2.83736515, 3.79184556, 0.289030313, 0.416664183, -0.861888885, -0, 0.900314331, 0.435240269, 0.957319915, -0.125797629, 0.260218143)
Camera8.Focus = CFrame.new(-3.9505043, 1.96688461, 3.27140927, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Camera8.focus = CFrame.new(-3.9505043, 1.96688461, 3.27140927, 1, 0, 0, 0, 1, 0, 0, 0, 1)
for i,v in pairs(mas:GetChildren()) do
v.Parent = script
pcall(function() v:MakeJoints() end)
end
mas:Destroy()
for i,v in pairs(cors) do
spawn(function()
pcall(v)
end)
end