Quick actions

cmd+k|ctrl+k

Navigation

Languages

Obito Uchiha

Snippet info

Language

Lua

Visibility

public

Author

andfixwastaken

Created

2020-08-18T14:30:00Z

Updated

2025-11-24T20:27:35.606089Z

local Player = owner
--Player = game:GetService("Players"):GetPlayerFromCharacter(script.Parent)
local Mouse,mouse,UserInputService,ContextActionService
do
	local GUID = {}
	do
	    GUID.IDs = {};
	    function GUID:new(len)
	        local id;
	        if(not len)then
	            id = (tostring(function() end))
	            id = id:gsub("function: ","")
	        else
	            local function genID(len)
	                local newID = ""
	                for i = 1,len do
	                    newID = newID..string.char(math.random(48,90))
	                end
	                return newID
	            end
	            repeat id = genID(len) until not GUID.IDs[id]
				local oid = id;
				id = {Trash=function() GUID.IDs[oid]=nil; end;Get=function() return oid; end}
	            GUID.IDs[oid]=true;
	        end
	        return id
	    end
	end
    local FPS = 60
function swait(num)
if num == 0 or num == nil then
		game:GetService("RunService").Heartbeat:Wait()
	else
		for i = 1, num do
			game:GetService("RunService").Heartbeat:Wait()
		end
	end
end
	
	
	local loudnesses={}
	script.Parent = Player.PlayerGui
	local CoAS = {Actions={}}
	local Event = Instance.new("RemoteEvent")
	Event.Name = "UserInputEvent"
	Event.Parent = Player.PlayerGui
	local Func = Instance.new("RemoteFunction")
	Func.Name = "GetClientProperty"
	Func.Parent = Player.PlayerGui
	local fakeEvent = function()
		local t = {_fakeEvent=true,Waited={}}
		t.Connect = function(self,f)
			local ft={Disconnected=false;disconnect=function(s) s.Disconnected=true end}
			ft.Disconnect=ft.disconnect
				
			ft.Func=function(...)
				for id,_ in next, t.Waited do 
					t.Waited[id] = true 
				end 
				return f(...)
			end; 
			self.Function=ft;
			return ft;
		end
		t.connect = t.Connect
		t.Wait = function() 
			local guid = GUID:new(25)
			local waitingId = guid:Get()
			t.Waited[waitingId]=false
			repeat swait() until t.Waited[waitingId]==true  
			t.Waited[waitingId]=nil;
			guid:Trash()
		end
		t.wait = t.Wait
		return t
	end
    local m = {Target=nil,Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent()}
	local UsIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
	
	function CoAS:BindAction(name,fun,touch,...)
		CoAS.Actions[name] = {Name=name,Function=fun,Keys={...}}
	end
	function CoAS:UnbindAction(name)
		CoAS.Actions[name] = nil
	end
	local function te(self,ev,...)
		local t = self[ev]
		if t and t._fakeEvent and t.Function and t.Function.Func and not t.Function.Disconnected then
			t.Function.Func(...)
		elseif t and t._fakeEvent and t.Function and t.Function.Func and t.Function.Disconnected then
			self[ev].Function=nil
		end
	end
	m.TrigEvent = te
	UsIS.TrigEvent = te
	Event.OnServerEvent:Connect(function(plr,io)
	    if plr~=Player then return end
		if io.Mouse then
			m.Target = io.Target
			m.Hit = io.Hit
		elseif io.KeyEvent then
			m:TrigEvent('Key'..io.KeyEvent,io.Key)
		elseif io.UserInputType == Enum.UserInputType.MouseButton1 then
	        if io.UserInputState == Enum.UserInputState.Begin then
				m:TrigEvent("Button1Down")
			else
				m:TrigEvent("Button1Up")
			end
		end
		if(not io.KeyEvent and not io.Mouse)then
			for n,t in pairs(CoAS.Actions) do
				for _,k in pairs(t.Keys) do
					if k==io.KeyCode then
						t.Function(t.Name,io.UserInputState,io)
					end
				end
			end
	        if io.UserInputState == Enum.UserInputState.Begin then
				UsIS:TrigEvent("InputBegan",io,false)
			else
				UsIS:TrigEvent("InputEnded",io,false)
	        end
	    end
	end)
		
	Func.OnServerInvoke = function(plr,inst,play)
		if plr~=Player then return end
		if(inst and typeof(inst) == 'Instance' and inst:IsA'Sound')then
			loudnesses[inst]=play	
		end
	end
	
	function GetClientProperty(prop,inst)
		if(prop == 'PlaybackLoudness' and loudnesses[inst])then 
			return loudnesses[inst]
		elseif(prop == 'PlaybackLoudness')then
			return Func:InvokeClient(Player,'RegSound',inst)
		end
		return Func:InvokeClient(Player,inst,prop)
	end
	Mouse, mouse, UserInputService, ContextActionService = m, m, UsIS, CoAS
end
NLS([==[local me = game:service'Players'.localPlayer;
local mouse = me:GetMouse();
local UIS = game:service'UserInputService'
local ch = me.Character;

local UserEvent = me.PlayerGui:WaitForChild('UserInputEvent',30)

UIS.InputChanged:connect(function(io,gpe)
	if(io.UserInputType == Enum.UserInputType.MouseMovement)then
		UserEvent:FireServer{Mouse=true,Target=mouse.Target,Hit=mouse.Hit}
	end
end)

mouse.Changed:connect(function(o)
	if(o == 'Target' or o == 'Hit')then
		UserEvent:FireServer{Mouse=true,Target=mouse.Target,Hit=mouse.Hit}
	end
end)

UIS.InputBegan:connect(function(io,gpe)
	if(gpe)then return end
	UserEvent:FireServer{InputObject=true,KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState}
end)

UIS.InputEnded:connect(function(io,gpe)
	if(gpe)then return end
	UserEvent:FireServer{InputObject=true,KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState}
end)

mouse.KeyDown:connect(function(k)
	UserEvent:FireServer{KeyEvent='Down',Key=k}
end)

mouse.KeyUp:connect(function(k)
	UserEvent:FireServer{KeyEvent='Up',Key=k}
end)

local ClientProp = me.PlayerGui:WaitForChild('GetClientProperty',30)

local sounds = {}


function regSound(o)
	if(o:IsA'Sound')then
		
		local lastLoudness = o.PlaybackLoudness
		ClientProp:InvokeServer(o,lastLoudness)
		table.insert(sounds,{o,lastLoudness})
		--ClientProp:InvokeServer(o,o.PlaybackLoudness)
	end
end

ClientProp.OnClientInvoke = function(inst,prop)
	if(inst == 'RegSound')then
		regSound(prop)
		for i = 1, #sounds do
			 if(sounds[i][1] == prop)then 
				return sounds[i][2]
			end 
		end 
	else
		return inst[prop]
	end
end

for _,v in pairs(workspace:GetDescendants()) do regSound(v) end
workspace.DescendantAdded:connect(regSound)
me.Character.DescendantAdded:connect(regSound)

game:service'RunService'.RenderStepped:connect(function()
	for i = 1, #sounds do
		local tab = sounds[i]
		local object,last=unpack(tab)
		if(object.PlaybackLoudness ~= last)then
			sounds[i][2]=object.PlaybackLoudness
			ClientProp:InvokeServer(object,sounds[i][2])
		end
	end
end)]==],owner.PlayerGui)
function swait(NUMBER)
	if NUMBER == 0 or NUMBER == nil then
    game:GetService("RunService").Stepped:Wait()
	else
		for i = 1, NUMBER do
		game:GetService("RunService").Stepped:Wait()
		end
	end
end
		
wait(0.2)

char = Player.Character

local RenderStepped=game:service'RunService'.Heartbeat
local oldpos

local bg = Instance.new("BodyGyro", script)
bg.maxTorque = Vector3.new(math.huge,math.huge,math.huge)
bg.P = 10000
bg.D = 100

--// Gunbai

m = Instance.new('Model', char)
m.Name = "Gumbai"

Bar = Instance.new("Part",m)
Bar.TopSurface = "Smooth"
Bar.BottomSurface = "Smooth"
Bar.FormFactor = "Custom"
Bar.Size = Vector3.new(1,1,1)
Bar.CanCollide = false
Bar.BrickColor = BrickColor.new("Really black")
BarMesh = Instance.new("SpecialMesh", Bar)
BarMesh.MeshType = "Cylinder"
BarMesh.Scale = Vector3.new(1, 1, 0.4)
BarWeld = Instance.new("Weld",m)
BarWeld.Part0 = char.Torso
BarWeld.Part1 = Bar
BarWeld.C1 = CFrame.new(-3, 0, -0.7)*CFrame.fromEulerAnglesXYZ(0, 0, -1)
oldpos = BarWeld.C1

Bar2 = Instance.new("Part",m)
Bar2.TopSurface = "Smooth"
Bar2.BottomSurface = "Smooth"
Bar2.FormFactor = "Custom"
Bar2.Size = Vector3.new(3,1,1)
Bar2.CanCollide = false
Bar2.BrickColor = BrickColor.new("Institutional white")
Bar2Mesh = Instance.new("SpecialMesh", Bar2)
Bar2Mesh.MeshType = "Cylinder"
Bar2Mesh.Scale = Vector3.new(3, 1, 0.3)
Bar2Weld = Instance.new("Weld",m)
Bar2Weld.Part0 = Bar
Bar2Weld.Part1 = Bar2
Bar2Weld.C1 = CFrame.new(2.2, 0, 0)*CFrame.fromEulerAnglesXYZ(0, 0, 0)

Bar3 = Instance.new("Part",m)
Bar3.TopSurface = "Smooth"
Bar3.BottomSurface = "Smooth"
Bar3.FormFactor = "Custom"
Bar3.Size = Vector3.new(1,1,1)
Bar3.CanCollide = false
Bar3.BrickColor = BrickColor.new("Really black")
Bar3Mesh = Instance.new("SpecialMesh", Bar3)
Bar3Mesh.MeshType = "Cylinder"
Bar3Mesh.Scale = Vector3.new(0.1, 1, 0.4)
Bar3Weld = Instance.new("Weld",m)
Bar3Weld.Part0 = Bar
Bar3Weld.Part1 = Bar3
Bar3Weld.C1 = CFrame.new(-2.3, 0, 0)*CFrame.fromEulerAnglesXYZ(0, 0, 0)

Bar4 = Instance.new("Part",m)
Bar4.TopSurface = "Smooth"
Bar4.BottomSurface = "Smooth"
Bar4.FormFactor = "Custom"
Bar4.Size = Vector3.new(0.8,2.8,2.8)
Bar4.CanCollide = false
Bar4.BrickColor = BrickColor.new("Institutional white")
Bar4Mesh = Instance.new("SpecialMesh", Bar4)
Bar4Mesh.MeshType = "Cylinder"
Bar4Mesh.Scale = Vector3.new(0.2, 1, 3)
Bar4Weld = Instance.new("Weld",m)
Bar4Weld.Part0 = Bar
Bar4Weld.Part1 = Bar4
Bar4Weld.C1 = CFrame.new(0.02, 0, -3)*CFrame.fromEulerAnglesXYZ(0, 1.57, 0)

Bar5 = Instance.new("Part",m)
Bar5.TopSurface = "Smooth"
Bar5.BottomSurface = "Smooth"
Bar5.FormFactor = "Custom"
Bar5.Size = Vector3.new(0.8,3,3)
Bar5.CanCollide = false
Bar5.BrickColor = BrickColor.new("Institutional white")
Bar5Mesh = Instance.new("SpecialMesh", Bar5)
Bar5Mesh.MeshType = "Cylinder"
Bar5Mesh.Scale = Vector3.new(0.2, 1, 3)
Bar5Weld = Instance.new("Weld",m)
Bar5Weld.Part0 = Bar
Bar5Weld.Part1 = Bar5
Bar5Weld.C1 = CFrame.new(0.02, 0, -5)*CFrame.fromEulerAnglesXYZ(0, 1.57, 0)

Bar6 = Instance.new("Part",m)
Bar6.TopSurface = "Smooth"
Bar6.BottomSurface = "Smooth"
Bar6.FormFactor = "Custom"
Bar6.Size = Vector3.new(0.7,2.9,2.9)
Bar6.CanCollide = false
Bar6.BrickColor = BrickColor.new("Really black")
Bar6Mesh = Instance.new("SpecialMesh", Bar6)
Bar6Mesh.MeshType = "Cylinder"
Bar6Mesh.Scale = Vector3.new(0.2, 1, 3)
Bar6Weld = Instance.new("Weld",m)
Bar6Weld.Part0 = Bar
Bar6Weld.Part1 = Bar6
Bar6Weld.C1 = CFrame.new(0.02, 0, -3)*CFrame.fromEulerAnglesXYZ(0, 1.57, 0)

Bar7 = Instance.new("Part",m)
Bar7.TopSurface = "Smooth"
Bar7.BottomSurface = "Smooth"
Bar7.FormFactor = "Custom"
Bar7.Size = Vector3.new(0.7,3.1,3.1)
Bar7.CanCollide = false
Bar7.BrickColor = BrickColor.new("Really black")
Bar7Mesh = Instance.new("SpecialMesh", Bar7)
Bar7Mesh.MeshType = "Cylinder"
Bar7Mesh.Scale = Vector3.new(0.2, 1, 3)
Bar7Weld = Instance.new("Weld",m)
Bar7Weld.Part0 = Bar
Bar7Weld.Part1 = Bar7
Bar7Weld.C1 = CFrame.new(0.02, 0, -5)*CFrame.fromEulerAnglesXYZ(0, 1.57, 0)

Bar8 = Instance.new("Part",m)
Bar8.TopSurface = "Smooth"
Bar8.BottomSurface = "Smooth"
Bar8.FormFactor = "Custom"
Bar8.Size = Vector3.new(1,1,1)
Bar8.CanCollide = false
Bar8.BrickColor = BrickColor.new("Really black")
Bar8Mesh = Instance.new("SpecialMesh", Bar8)
Bar8Mesh.MeshType = "Cylinder"
Bar8Mesh.Scale = Vector3.new(0.1, 1, 0.4)
Bar8Weld = Instance.new("Weld",m)
Bar8Weld.Part0 = Bar
Bar8Weld.Part1 = Bar8
Bar8Weld.C1 = CFrame.new(6.7, 0, 0)*CFrame.fromEulerAnglesXYZ(0, 0, 0)

Bar9 = Instance.new("Part",m)
Bar9.TopSurface = "Smooth"
Bar9.BottomSurface = "Smooth"
Bar9.FormFactor = "Custom"
Bar9.Size = Vector3.new(0.9,0.3,0.3)
Bar9.CanCollide = false
Bar9.BrickColor = BrickColor.new("Bright red")
Bar9Mesh = Instance.new("SpecialMesh", Bar9)
Bar9Mesh.MeshType = "Cylinder"
Bar9Mesh.Scale = Vector3.new(0.2, 1, 3)
Bar9Weld = Instance.new("Weld",m)
Bar9Weld.Part0 = Bar
Bar9Weld.Part1 = Bar9
Bar9Weld.C1 = CFrame.new(0.02, 0.5, -5)*CFrame.fromEulerAnglesXYZ(0, 1.57, 0)

Bar10 = Instance.new("Part",m)
Bar10.TopSurface = "Smooth"
Bar10.BottomSurface = "Smooth"
Bar10.FormFactor = "Custom"
Bar10.Size = Vector3.new(0.9,0.3,0.3)
Bar10.CanCollide = true
Bar10.BrickColor = BrickColor.new("Bright red")
Bar10Mesh = Instance.new("SpecialMesh", Bar10)
Bar10Mesh.MeshType = "Cylinder"
Bar10Mesh.Scale = Vector3.new(0.2, 1, 3)
Bar10Weld = Instance.new("Weld",m)
Bar10Weld.Part0 = Bar
Bar10Weld.Part1 = Bar10
Bar10Weld.C1 = CFrame.new(0.02, 0.9, -4.8)*CFrame.fromEulerAnglesXYZ(0, 1.57, 0)

Bar11 = Instance.new("Part",m)
Bar11.TopSurface = "Smooth"
Bar11.BottomSurface = "Smooth"
Bar11.FormFactor = "Custom"
Bar11.Size = Vector3.new(0.9,0.3,0.3)
Bar11.CanCollide = true
Bar11.BrickColor = BrickColor.new("Bright red")
Bar11Mesh = Instance.new("SpecialMesh", Bar11)
Bar11Mesh.MeshType = "Cylinder"
Bar11Mesh.Scale = Vector3.new(0.2, 1, 3)
Bar11Weld = Instance.new("Weld",m)
Bar11Weld.Part0 = Bar
Bar11Weld.Part1 = Bar11
Bar11Weld.C1 = CFrame.new(0.02, 0.9, -5.2)*CFrame.fromEulerAnglesXYZ(0, 1.57, 0)

Bar12 = Instance.new("Part",m)
Bar12.TopSurface = "Smooth"
Bar12.BottomSurface = "Smooth"
Bar12.FormFactor = "Custom"
Bar12.Size = Vector3.new(0.9,0.3,0.3)
Bar12.CanCollide = true
Bar12.BrickColor = BrickColor.new("Bright red")
Bar12Mesh = Instance.new("SpecialMesh", Bar12)
Bar12Mesh.MeshType = "Cylinder"
Bar12Mesh.Scale = Vector3.new(0.2, 1, 3)
Bar12Weld = Instance.new("Weld",m)
Bar12Weld.Part0 = Bar
Bar12Weld.Part1 = Bar12
Bar12Weld.C1 = CFrame.new(0.02, -0.9, -5)*CFrame.fromEulerAnglesXYZ(0, 1.57, 0)

Bar13 = Instance.new("Part",m)
Bar13.TopSurface = "Smooth"
Bar13.BottomSurface = "Smooth"
Bar13.FormFactor = "Custom"
Bar13.Size = Vector3.new(0.9,0.3,0.3)
Bar13.CanCollide = true
Bar13.BrickColor = BrickColor.new("Bright red")
Bar13Mesh = Instance.new("SpecialMesh", Bar13)
Bar13Mesh.MeshType = "Cylinder"
Bar13Mesh.Scale = Vector3.new(0.2, 1, 3)
Bar13Weld = Instance.new("Weld",m)
Bar13Weld.Part0 = Bar
Bar13Weld.Part1 = Bar13
Bar13Weld.C1 = CFrame.new(0.02, -0.5, -4.8)*CFrame.fromEulerAnglesXYZ(0, 1.57, 0)

Bar14 = Instance.new("Part",m)
Bar14.TopSurface = "Smooth"
Bar14.BottomSurface = "Smooth"
Bar14.FormFactor = "Custom"
Bar14.Size = Vector3.new(0.9,0.3,0.3)
Bar14.CanCollide = true
Bar14.BrickColor = BrickColor.new("Bright red")
Bar14Mesh = Instance.new("SpecialMesh", Bar14)
Bar14Mesh.MeshType = "Cylinder"
Bar14Mesh.Scale = Vector3.new(0.2, 1, 3)
Bar14Weld = Instance.new("Weld",m)
Bar14Weld.Part0 = Bar
Bar14Weld.Part1 = Bar14
Bar14Weld.C1 = CFrame.new(0.02, -0.5, -5.2)*CFrame.fromEulerAnglesXYZ(0, 1.57, 0)

Bar15 = Instance.new("Part",m)
Bar15.TopSurface = "Smooth"
Bar15.BottomSurface = "Smooth"
Bar15.FormFactor = "Custom"
Bar15.Size = Vector3.new(1,1,1)
Bar15.CanCollide = true
Bar15.BrickColor = BrickColor.new("Bright red")
Bar15Mesh = Instance.new("SpecialMesh", Bar15)
Bar15Mesh.MeshType = "Wedge"
Bar15Mesh.Scale = Vector3.new(0.18, 0.2, 0.3)
Bar15Weld = Instance.new("Weld",m)
Bar15Weld.Part0 = Bar12
Bar15Weld.Part1 = Bar15
Bar15Weld.C1 = CFrame.new(0, -0.05, 0.2)*CFrame.fromEulerAnglesXYZ(-0.8, 0, 0)

Bar16 = Instance.new("Part",m)
Bar16.TopSurface = "Smooth"
Bar16.BottomSurface = "Smooth"
Bar16.FormFactor = "Custom"
Bar16.Size = Vector3.new(1,1,1)
Bar16.CanCollide = true
Bar16.BrickColor = BrickColor.new("Bright red")
Bar16Mesh = Instance.new("SpecialMesh", Bar16)
Bar16Mesh.MeshType = "Wedge"
Bar16Mesh.Scale = Vector3.new(0.18, 0.2, 0.3)
Bar16Weld = Instance.new("Weld",m)
Bar16Weld.Part0 = Bar13
Bar16Weld.Part1 = Bar16
Bar16Weld.C1 = CFrame.new(0, -0.05, 0.2)*CFrame.fromEulerAnglesXYZ(0.6, 0, 0)

Bar17 = Instance.new("Part",m)
Bar17.TopSurface = "Smooth"
Bar17.BottomSurface = "Smooth"
Bar17.FormFactor = "Custom"
Bar17.Size = Vector3.new(1,1,1)
Bar17.CanCollide = true
Bar17.BrickColor = BrickColor.new("Bright red")
Bar17Mesh = Instance.new("SpecialMesh", Bar17)
Bar17Mesh.MeshType = "Wedge"
Bar17Mesh.Scale = Vector3.new(0.18, 0.2, 0.3)
Bar17Weld = Instance.new("Weld",m)
Bar17Weld.Part0 = Bar14
Bar17Weld.Part1 = Bar17
Bar17Weld.C1 = CFrame.new(0, -0.05, 0.2)*CFrame.fromEulerAnglesXYZ(3.4, 0, 0)

Bar18 = Instance.new("Part",m)
Bar18.TopSurface = "Smooth"
Bar18.BottomSurface = "Smooth"
Bar18.FormFactor = "Custom"
Bar18.Size = Vector3.new(1,1,1)
Bar18.CanCollide = true
Bar18.BrickColor = BrickColor.new("Bright red")
Bar18Mesh = Instance.new("SpecialMesh", Bar18)
Bar18Mesh.MeshType = "Wedge"
Bar18Mesh.Scale = Vector3.new(0.18, 0.2, 0.3)
Bar18Weld = Instance.new("Weld",m)
Bar18Weld.Part0 = Bar9
Bar18Weld.Part1 = Bar18
Bar18Weld.C1 = CFrame.new(0, -0.05, 0.2)*CFrame.fromEulerAnglesXYZ(-0.8, 0, 0)

Bar19 = Instance.new("Part",m)
Bar19.TopSurface = "Smooth"
Bar19.BottomSurface = "Smooth"
Bar19.FormFactor = "Custom"
Bar19.Size = Vector3.new(1,1,1)
Bar19.CanCollide = true
Bar19.BrickColor = BrickColor.new("Bright red")
Bar19Mesh = Instance.new("SpecialMesh", Bar19)
Bar19Mesh.MeshType = "Wedge"
Bar19Mesh.Scale = Vector3.new(0.18, 0.2, 0.3)
Bar19Weld = Instance.new("Weld",m)
Bar19Weld.Part0 = Bar10
Bar19Weld.Part1 = Bar19
Bar19Weld.C1 = CFrame.new(0, -0.05, 0.2)*CFrame.fromEulerAnglesXYZ(0.6, 0, 0)

Bar20 = Instance.new("Part",m)
Bar20.TopSurface = "Smooth"
Bar20.BottomSurface = "Smooth"
Bar20.FormFactor = "Custom"
Bar20.Size = Vector3.new(1,1,1)
Bar20.CanCollide = true
Bar20.BrickColor = BrickColor.new("Bright red")
Bar20Mesh = Instance.new("SpecialMesh", Bar20)
Bar20Mesh.MeshType = "Wedge"
Bar20Mesh.Scale = Vector3.new(0.18, 0.2, 0.3)
Bar20Weld = Instance.new("Weld",m)
Bar20Weld.Part0 = Bar11
Bar20Weld.Part1 = Bar20
Bar20Weld.C1 = CFrame.new(0, -0.05, 0.2)*CFrame.fromEulerAnglesXYZ(3.4, 0, 0)

function smooth(a)
	a.BottomSurface = 0 
	a.TopSurface = 0
	a.FrontSurface = "SmoothNoOutlines"
	a.LeftSurface = "SmoothNoOutlines"
	a.RightSurface = "SmoothNoOutlines"
	a.TopSurface = "SmoothNoOutlines"
end


for _, a in pairs(m:children()) do
	if a:IsA'Part' then
		smooth(a)
	end
end

for _, a in pairs(m:children()) do
	if a:IsA'Weld' and a ~= nil then
		a.Name = plr.Name.."Weld"
	end
end

for _, a in pairs(m:children()) do
	if a:IsA'Part' then
		a.CanCollide = false
	end
end

--// Body Parts

human = char:FindFirstChildOfClass'Humanoid'
torso = char.Torso
root = char.HumanoidRootPart
lleg = char["Left Leg"]
rleg = char["Right Leg"]
larm = char["Left Arm"]
rarm = char["Right Arm"]
head = char.Head
ground = ""
parent = script

ff = Instance.new('ForceField', script)
ff.Visible = false

for _, a in pairs(workspace:children()) do
	if a:IsA'Part' then
		ground = a
	end
end

--// Config

speed = 4
cooldown = true
cooldown1 = true --- kamui
cooldown2 = true --- madara
cooldown3 = true -- meteor
sprint = false
fire = false
gthr = false
out = false
block = false

--// Head

neck = torso.Neck
ncf = neck.C0

--// torso

torsojoint = root.RootJoint
torsoC0 = torsojoint.C0

--// Legs

lhip = torso["Left Hip"]
rhip = torso["Right Hip"]
lle = lhip.C0
rle = rhip.C0

--// rad,random,sin,cos,and floor

rad = math.rad
random = math.random
sin = math.sin
cos = math.cos
floor = math.floor

--// Body Color

bc = char:FindFirstChild('Body Colors')
bc.HeadColor = BrickColor.new('Cool yellow')
bc.LeftArmColor = BrickColor.new('Cool yellow')
bc.RightArmColor = BrickColor.new('Cool yellow')
bc.LeftLegColor = BrickColor.new('Cool yellow')
bc.RightLegColor = BrickColor.new('Cool yellow')
bc.TorsoColor = BrickColor.new('Cool yellow')

--// Arms

lshold = torso["Left Shoulder"]
rshold = torso["Right Shoulder"]
lsho = lshold.C0
rsho = rshold.C0

--// Remove animations

char.Animate.Parent = nil
human.Animator.Parent = nil

for i,v in pairs(human:GetPlayingAnimationTracks()) do
	v:Stop()
end

--// sfx

s1 = Instance.new('Sound', char['Right Arm'])
s1.SoundId = "rbxassetid://385470847"
s1.Volume = 4

s2 = Instance.new('Sound', char.Head)
s2.SoundId = "rbxassetid://134269592"
s2.Volume = 4

s3 = Instance.new('Sound', char.Head)
s3.SoundId = "rbxassetid://405596045"
s3.Volume = 4

s4 = Instance.new('Sound', char["Right Arm"])
s4.Volume = 6
s4.SoundId = "rbxassetid://873073853"
s4.Looped = false

s5 = Instance.new('Sound', char["Right Arm"])
s5.Volume = 6
s5.SoundId = "rbxassetid://898385136"
s5.Looped = false

s6 = Instance.new('Sound', char["Right Arm"])
s6.Volume = 8
s6.SoundId = "rbxassetid://138210320"
s6.Looped = false

s7 = Instance.new('Sound', script)
s7.Volume = 10
s7.SoundId = "rbxassetid://1084995524"
s7.Looped = false

--// char

for _, a in pairs(char:children()) do
	if a:IsA'Accessory' or a:IsA'CharacterMesh' or a:IsA'Shirt' or a:IsA'Pants' then
		a:Destroy()
	end
end

Hair = Instance.new("Part")
Hair.Parent = char
Hair.Name = "Hair"
Hair.CanCollide = false
Hair.Locked = true
Hair.TopSurface = "Smooth"
Hair.BottomSurface = "Smooth"
Hair.formFactor = "Symmetric"
Hair.Material = "Neon"
Hair.BrickColor = BrickColor.new("Really black")
Hair.CFrame = char.Torso.CFrame
Hair.Size = Vector3.new(1, 1, 1)
Hair.Transparency = 0

Mesh = Instance.new("SpecialMesh", Hair)
Mesh.Scale = Vector3.new(0.07, 0.07, 0.07)
Mesh.MeshType = "FileMesh"
Mesh.MeshId = "rbxassetid://522871165"
Mesh.TextureId = "rbxassetid://522871173"

local s = Instance.new('Shirt', char)
s.ShirtTemplate = "http://www.roblox.com/asset/?id=179195327"
local p = Instance.new('Pants', char)
p.PantsTemplate = "http://www.roblox.com/asset/?id=215937603"

local rad = math.rad

Weld = Instance.new("Weld", Hair)
Weld.Name = plr.Name.."Weld"
Weld.Part0 = char.Head
Weld.Part1 = Hair
Weld.C0 = CFrame.new(0,0.2,0.07) * CFrame.Angles(0,rad(180),0)

char.Head.face.Texture = ""

--// functionns

function scan(p)
	for _,v in pairs(p:GetChildren()) do
		if v:IsA("Weld") and v.Name ~= plr.Name.."Weld" then
			v:Destroy()
		elseif v:IsA'BodyVelocity' or v:IsA'BodyGyro' or v:IsA'BodyPosition' then
			v:Destroy()
		end
	scan(v)
	end
end

controlled = {
	
}

function control()
	if mouse.Target and mouse.Target.Parent then
		local targ = mouse.Target
		local humtarg = targ.Parent:FindFirstChildOfClass'Humanoid'
		table.insert(controlled,targ.Parent.Name)
		local p = Instance.new('Part', char)
		smooth(p)
		p.Anchored = true
		p.Size = Vector3.new(0.2,0.2,0.2)
		p.CanCollide = false
		p.Material = 'Neon'
		p.Shape = "Ball"
		p.BrickColor = BrickColor.new('Royal purple')
		s2:Play()
		for i = 1,25 do
			wait()
			p.Size = p.Size + Vector3.new(2,2,2)
			p.Transparency = p.Transparency + 0.04
			p.CFrame = char.Torso.CFrame
		end
	end
end

function kamui()
	s2:Play()
	local mpos = mouse.Hit
	local k = Instance.new('Part', char)
	k.Anchored = true
	k.CanCollide = false
	k.Name = "Kamui"
	k.Transparency = 1
	k.Position = char.Torso.Position + Vector3.new(0,5,0) +char.Torso.CFrame.lookVector * 8
	k.Size = Vector3.new(19, 19, 1)
	local k1 = k:Clone()
	k1.Parent = char
	k1.Position = mpos.p + Vector3.new(0,8,0)
	local sizeinc = 0.1
	local howmany = 200
	local d = Instance.new('Decal', k)
	d.Texture = "http://www.roblox.com/asset/?id=21315275"
	d.Color3 = Color3.new(0,0,0)
	d.Face = "Back"
	d.Transparency = 1
	local d1 = d:Clone()
	d1.Parent = k
	d1.Face = "Front"
	local d2 = d:Clone()
	d2.Parent = k1
	d1:Clone().Parent = k1
	local pos = k.Position
	local pos1 = k1.Position
	k.Touched:connect(function(hit)
		if hit and hit.Parent then
			ypcall(function()
				hit.CFrame = k1.CFrame
				hit.Anchored = false
				hit.CanCollide = true
				sizeinc = 0.2
				howmany = 10
				
				for i = 1,200 do
					wait()
					k.CFrame = k.CFrame * CFrame.fromEulerAnglesXYZ(0, math.rad(0), 0.1)
					k.Size = k.Size - Vector3.new(sizeinc,sizeinc,sizeinc)
					k1.CFrame = k1.CFrame * CFrame.fromEulerAnglesXYZ(0, math.rad(0), 0.1)
					k1.Size = k1.Size - Vector3.new(sizeinc,sizeinc,sizeinc)
					k1.Position = pos1
					k.Position = pos
				end
				cooldown1 = true
			end)
		end
	end)
	for i = 1,howmany do
		wait()
		for _, a in pairs(k:children()) do
			if a:IsA'Decal' then
				a.Transparency = a.Transparency - 0.1
			end
		end
		for _, b in pairs(k1:children()) do
			if b:IsA'Decal' then
				b.Transparency = b.Transparency - 0.1
			end
		end
		k.CFrame = k.CFrame * CFrame.fromEulerAnglesXYZ(0, math.rad(0), 0.1)
		k1.CFrame = k1.CFrame * CFrame.fromEulerAnglesXYZ(0, math.rad(0), 0.1)
		k.Position = pos
		k1.Position = pos1
	end
	for i = 1,200 do
		wait()
		k.CFrame = k.CFrame * CFrame.fromEulerAnglesXYZ(0, math.rad(0), 0.1)
		k.Size = k.Size - Vector3.new(sizeinc,sizeinc,sizeinc)
		k1.CFrame = k1.CFrame * CFrame.fromEulerAnglesXYZ(0, math.rad(0), 0.1)
		k1.Size = k1.Size - Vector3.new(sizeinc,sizeinc,sizeinc)
		k1.Position = pos1
		k.Position = pos
	end
	k1:Destroy()
	k:Destroy()
end

function debris(a, b, c)
	for j = 1, c do
        local pr = Instance.new("Part")
        pr.Name = ""
        pr.Anchored = true
        pr.BrickColor = b.BrickColor
        pr.CanCollide = true
        pr.Material = b.Material
        pr.Transparency = b.Transparency
        pr.Size = Vector3.new(math.random(16, 24), math.random(12, 16), math.random(16, 24))
        pr.CFrame = a * CFrame.Angles(0, math.rad(c * j), 0) * CFrame.new(0, -5, math.random(18, 22)) * CFrame.Angles(math.rad(math.random(-30, -15)), math.rad(math.random(0, 1)), math.rad(math.random(0, 1)))
        pr.Parent = workspace
        game.Debris:AddItem(pr, 15)
    end
end

function hit(b,a)
	for _,v in pairs(workspace:children()) do
		if v:IsA('Model') and v.Name ~= plr.Name and v:FindFirstChild("HumanoidRootPart") and v:FindFirstChildOfClass("Humanoid") then
			if (v.HumanoidRootPart.Position-a:FindFirstChild('HumanoidRootPart').Position).magnitude <=b then
				v:FindFirstChildOfClass'Humanoid':TakeDamage(v:FindFirstChildOfClass'Humanoid'.MaxHealth/2)
			end
		end
	end
end

function smash()
	human.WalkSpeed = 0
	for i = 0,1,0.1 do
		wait()
		neck.C0 = neck.C0:lerp(ncf*CFrame.Angles(math.rad(-19.538), 0, 0),i)
		rshold.C0 = rshold.C0:lerp(rsho*CFrame.Angles(0, 0, math.rad(154.928)),i)
	end
	wait(.05)
	debris(char:FindFirstChild('HumanoidRootPart').CFrame,ground,30)
	s6:Play()
	hit(50,char)
	for i = 0,1,0.2 do
		wait()
		neck.C0 = neck.C0:lerp(ncf*CFrame.Angles(math.rad(23.549), 0, 0),i)
		rshold.C0 = rshold.C0:lerp(rsho*CFrame.Angles(0, 0, math.rad(-19.767)),i)
	end
	wait(.5)
	for i = 0,1,0.2 do
		wait()
		neck.C0 = neck.C0:lerp(ncf,i)
		rshold.C0 = rshold.C0:lerp(rsho,i)
	end
	human.WalkSpeed = 16
end

function stop()
	local p = Instance.new('Part', char)
	smooth(p)
	p.Anchored = true
	p.Size = Vector3.new(0.2,0.2,0.2)
	p.CanCollide = false
	p.Material = 'Neon'
	p.Shape = "Ball"
	p.BrickColor = BrickColor.new('Royal purple')
	p.Touched:connect(function(hit)
		if hit.Name ~= "HumanoidRootPart" then
			hit.Transparency = 0
		end
	end)
	s2:Play()
	for _, a in pairs(game:service'Players':players()) do
		for _, b in pairs(a.Character:children()) do
			if b:IsA'Part' and b.Name == "Part" and b:FindFirstChildOfClass'BodyVelocity' then
				b.Anchored = true
				b.Parent = char
				b:FindFirstChildOfClass'BodyVelocity':Destroy()
				b:FindFirstChildOfClass'BodyGyro':Destroy()
				b.Touched:connect(function(hit)
					if hit.Parent and hit.Parent:FindFirstChildOfClass'Humanoid' and hit.Parent.Name ~= plr.Name then
						local targ = hit.Parent
						local humtarg = targ:FindFirstChildOfClass'Humanoid'
						humtarg.Parent:BreakJoints()
					end
				end)
				local BodyVel=Instance.new('BodyVelocity',b)
				BodyVel.maxForce=Vector3.new(math.huge,math.huge,math.huge)
				local BodyGyro=Instance.new('BodyGyro',b)
				BodyGyro.maxTorque=Vector3.new(math.huge,math.huge,math.huge)
				BodyGyro.P=2e4
				coroutine.wrap(function()
					RenderStepped:connect(function()
						BodyGyro.cframe=CFrame.new(b.Position,mouse.Hit.p)
						BodyVel.velocity = b.CFrame.lookVector*50
					end)
				end)()
				b.Anchored = false
			end
		end
	end
	for i = 1,25 do
		wait()
		p.Size = p.Size + Vector3.new(8,8,8)
		p.Transparency = p.Transparency + 0.07
		p.CFrame = char.Torso.CFrame
	end
end

function explo()
	ypcall(function()
	for _, a in pairs(game:service'Players':players()) do
		for _, b in pairs(a.Character:children()) do
			if a.Name ~= plr.Name then
				if b:IsA'ForceField' then
					b:Destroy()
				end
			end
		end
	end
	end)
	human.WalkSpeed = 0
	for i = 0,1,0.02 do
		wait()
		lshold.C0 = lshold.C0:lerp(lsho*CFrame.Angles(math.rad(0.057), math.rad(-0.745), math.rad(-85.428)),i)
		rshold.C0 = rshold.C0:lerp(rsho*CFrame.Angles(math.rad(-0.229), math.rad(-2.063), math.rad(83.881)),i)
	end
	s1:Play()
	for i = 0,1,0.2 do
		wait()
		lshold.C0 = lshold.C0:lerp(lsho*CFrame.new(-0.217, -0.017, -0.265) * CFrame.Angles(math.rad(5.5), math.rad(-50.306), math.rad(-82.85)),i)
		rshold.C0 = rshold.C0:lerp(rsho*CFrame.new(0.206, -0.022, -0.234) * CFrame.Angles(math.rad(6.875), math.rad(48.186), math.rad(80.844)),i)
	end
	human.WalkSpeed = 16
	wait(.1)
	local mp = mouse.Hit
	local p = Instance.new('Part', char)
	p.Anchored = true
	p.CanCollide = false
	p.BrickColor = BrickColor.new('Really black')
	p.Size = Vector3.new(0.2,0.2,0.2)
	p.BottomSurface = 0
	p.TopSurface = 0
	p.Material = 'Neon'
	p.Shape = "Ball"
	p.Touched:connect(function(hit)
		if hit:IsA'Part' then
			hit.Anchored = false
		end
	end)
	local Ex = Instance.new("Explosion", char)
	Ex.Position = mp.p
	Ex.BlastRadius = 19
	Ex.Visible = false
	Ex.DestroyJointRadiusPercent = .3
	for i = 1,25 do
		wait()
		p.Size = p.Size + Vector3.new(3.5,3.5,3.5)
		p.Transparency = p.Transparency + 0.04
		p.CFrame = mp
	end
	p:Destroy()
end

function gout()
	human.WalkSpeed = 0
	for i = 0,1,0.09 do
		wait()
		rshold.C0 = rshold.C0:lerp(rsho*CFrame.new(-0.114, 0.584, 0.09) * CFrame.Angles(math.rad(8.422), math.rad(1.662), -math.rad(-169.08)),i)
		neck.C0 = neck.C0:lerp(ncf*CFrame.Angles(math.rad(-10.6), math.rad(7.277), math.rad(-34.034)),i)
	end
	wait(0.5)
	s4:Play()
	BarWeld.Part0 = char["Right Arm"]
	BarWeld.Part1 = Bar
	BarWeld.C0 = CFrame.new(0,-0.34,-3) * CFrame.fromEulerAnglesXYZ(rad(75),rad(60),rad(50))
	for i = 0,1,0.1 do
		wait()
		neck.C0 = neck.C0:lerp(ncf,i)
		rshold.C0 = rshold.C0:lerp(rsho,i)
	end
	human.WalkSpeed = 16
end

function around()
	for i = 0,1,0.1 do
		wait()
		rshold.C0 = rshold.C0:lerp(rsho*CFrame.new(0, -0.356, 0.425) * CFrame.Angles(math.rad(-84.225), 0, 0),i)
		lshold.C0 = lshold.C0:lerp(lsho*CFrame.new(0, -0.403, 0.234) * CFrame.Angles(math.rad(-78.839), 0, 0),i)
	end
	bg.Parent = char.Torso
	wait(6)
	bg.Parent = script
end

function gon(a)
	local p = Instance.new('Part', workspace)
	p.Transparency = 1
	p.CanCollide = false
	p.Anchored = true
	p.Size = Vector3.new(0.2,0.2,0.2)
	p.CFrame = a.Torso.CFrame
	local sou = Instance.new("Sound")
	sou.Pitch = 1
	sou.Volume = 1.2
	sou.SoundId = "rbxassetid://722960601"
	sou.Parent = p
	sou:Play()
	local pe = Instance.new("ParticleEmitter")
	pe.Acceleration = Vector3.new(0, 8, 0)
	pe.Lifetime = NumberRange.new(1, 1.5)
	pe.Rate = 20000
	pe.RotSpeed = NumberRange.new(-30, 30)
	pe.Rotation = NumberRange.new(0, 360)
	pe.Size = NumberSequence.new({
	NumberSequenceKeypoint.new(0, 4.38, 0),
	NumberSequenceKeypoint.new(0.672, 4.14, 0),
	NumberSequenceKeypoint.new(1, 1.48, 0)
	})
	pe.Texture = "rbxassetid://244221440"
	pe.Transparency = NumberSequence.new({
	NumberSequenceKeypoint.new(0, 0, 0),
	NumberSequenceKeypoint.new(0.529, 0.3, 0),
	NumberSequenceKeypoint.new(1, 1, 1)
	})
	pe.ZOffset = 5
	pe.VelocitySpread = 360
	pe.Parent = p
	pe.Enabled = true
	wait(0.1)
	pe.Enabled = false
	a:Destroy()
end

function rcheck()
	wait()
	local c = true
	if madara.Torso.Velocity.Y > -10 and c then
		s7:Play()
		debris(madara:FindFirstChild('HumanoidRootPart').CFrame,ground,30)
		hit(50,madara)
		c = false
	else
		rcheck()
	end
end

function mad()
	char.Archivable = true
	
	madara = char:Clone()
	madara:FindFirstChildOfClass'Humanoid'.Health = madara:FindFirstChildOfClass'Humanoid'.MaxHealth
	madara.Name = "Madara"
	armor = Instance.new("Part")
	armor.Parent = madara
	armor.Name = "armor"
	armor.CanCollide = false
	armor.Locked = true
	armor.TopSurface = "Smooth"
	armor.BottomSurface = "Smooth"
	armor.formFactor = "Symmetric"
	armor.Material = "Neon"
	armor.BrickColor = BrickColor.new("Really black")
	armor.CFrame = madara.Torso.CFrame
	armor.Size = Vector3.new(1, 1, 1)
	armor.Transparency = 0
	
	Mesh = Instance.new("SpecialMesh", armor)
	Mesh.Scale = Vector3.new(0.08, 0.13, 0.1)
	Mesh.MeshType = "FileMesh"
	Mesh.MeshId = "rbxassetid://810563108"
	Mesh.TextureId = "rbxassetid://810563127"
	
	Weld = Instance.new("Weld", armor)
	Weld.Name = plr.Name.."Weld"
	Weld.Part0 = madara.Torso
	Weld.Part1 = armor
	Weld.C0 = CFrame.new(0,-0.5,0) * CFrame.Angles(0,rad(180),0)
	madara:FindFirstChildOfClass('Model'):Destroy()
	madara:FindFirstChild('Hair'):FindFirstChildOfClass'SpecialMesh'.TextureId = "rbxassetid://522545813"
	madara:FindFirstChild('Hair'):FindFirstChildOfClass'SpecialMesh'.MeshId = "rbxassetid://522538570"
	madara:FindFirstChild('Hair'):FindFirstChildOfClass'SpecialMesh'.Scale = Vector3.new(.07,.07,.07)
	madara:FindFirstChild('Hair'):FindFirstChildOfClass'Weld'.C0 = CFrame.new(0,-1.7,.8) * CFrame.Angles(0,rad(180),0)
	madara:FindFirstChildOfClass'Pants'.PantsTemplate = "http://www.roblox.com/asset/?id=74245134"
	madara:FindFirstChildOfClass'Shirt'.ShirtTemplate = "http://www.roblox.com/asset/?id=74237934"
	local p = Instance.new('Part', char)
	p.Name = 'Hi'
	p.Anchored = true
	p.Transparency = 1
	p.Size = Vector3.new(0.2,0.2,0.2)
	p.CanCollide = false
	p.Position = mouse.Hit.p + Vector3.new(0,35,0)
	madara.Parent = char
	
	local froot = madara.HumanoidRootPart
	local ftorso = madara.Torso
	
	local ftorsojoint = froot.RootJoint
	local ftorsoC0 = ftorsojoint.C0

	local flshold = ftorso["Left Shoulder"]
	local frshold = ftorso["Right Shoulder"]
	local flsho = flshold.C0
	local frsho = frshold.C0
	
	local h = Instance.new('Part', char)
	h.Name = 'Hi'
	h.Anchored = false
	h.Transparency = 1
	h.Size = Vector3.new(1,1,1)
	h.CanCollide = false
	Weld = Instance.new("Weld", h)
	Weld.Name = plr.Name.."Weld"
	Weld.Part0 = madara.Head
	Weld.Part1 = h
	Weld.C0 = CFrame.new(0,0,0)
	
	ftorsojoint.C0 = ftorsoC0*CFrame.Angles(math.rad(178.706), 0, 0)
	flshold.C0 = flsho*CFrame.new(0, -0.015, 0.112) * CFrame.Angles(math.rad(7.506), 0, 0)
	frshold.C0 = frsho*CFrame.new(0, -0.001, 0.015) * CFrame.Angles(math.rad(4.698), 0, math.rad(-179.909))
	
	madara:FindFirstChild('Torso').CFrame = p.CFrame
	s7.Parent = madara.Torso
	
	wait(.6)
	rcheck()
	wait(.5)
	s7.Parent = script
	wait(.9)
	gon(madara)
end

function meteor()
	local gr = {
		
	}
	local height = 1
	local g = Instance.new('Part', char)
	g.Anchored = true
	g.CanCollide = false
	g.BrickColor = ground.BrickColor
	g.Size = Vector3.new(.2,.2,.2)
	g.Shape = 'Ball'
	g.BrickColor = BrickColor.new('Burnt Sienna')
	g.Material = 'Slate'
	smooth(g)
	for i = 1,500 do
		wait()
		local p = Instance.new('Part', char)
		p.Anchored = true
		p.CanCollide = true
		p.BrickColor = ground.BrickColor
		smooth(p)
		p.Position = char.Torso.Position + Vector3.new(math.random(-100,100),0,math.random(-100,100))
		p.Material = ground.Material
		p.Size = Vector3.new(math.random(5,15),math.random(5,15),math.random(5,15))
		table.insert(gr,p)
		g.CFrame = char.Head.CFrame * CFrame.new(0,height*2,0)
		g.Size = g.Size + Vector3.new(.5,.5,.5)
		for _, a in pairs(gr) do
			a.CFrame = a.CFrame:lerp(g.CFrame,0.05)
		end
		height = height + 0.4
	end
	g.Touched:connect(function(hit)
		if hit.Parent and hit.Parent:FindFirstChildOfClass'Humanoid' and hit.Parent.Name ~= plr.Name then
			local targ = hit.Parent
			local humtarg = targ:FindFirstChildOfClass'Humanoid'
			humtarg.Health = 0
			targ:BreakJoints()
		end
	end)
	g.Anchored = false
	for _, a in pairs(gr) do
		a:Destroy()
	end
	gr = {}
end

function gin()
	human.WalkSpeed = 0
	for i = 0,1,0.1 do
		wait()
		rshold.C0 = rshold.C0:lerp(rsho*CFrame.new(-0.114, 0.584, 0.09) * CFrame.Angles(math.rad(8.422), math.rad(1.662), -math.rad(-169.08)),i)
		neck.C0 = neck.C0:lerp(ncf*CFrame.Angles(math.rad(-10.6), math.rad(7.277), math.rad(-34.034)),i)
	end
	wait(0.5)
	s5:Play()
	BarWeld.Part0 = char.Torso
	BarWeld.Part1 = Bar
	BarWeld.C0 = CFrame.new(0,0,-0.1)*CFrame.fromEulerAnglesXYZ(0, 0, rad(-1))
	for i = 0,1,0.1 do
		wait()
		neck.C0 = neck.C0:lerp(ncf,i)
		rshold.C0 = rshold.C0:lerp(rsho,i)
	end
	human.WalkSpeed = 16
end

--// keys

char['Left Leg'].Touched:connect(function(hit)
	if hit:IsA'Part' then
		ground = hit
	end
end)

mouse.Button1Down:connect(function()
	gthr = true
end)

mouse.Button1Up:connect(function()
	gthr = false
end)

mouse.KeyDown:connect(function(key)
	if key == "e" and cooldown then
		cooldown = false
		cooldown = true
	end
end)

mouse.KeyUp:connect(function(key)
	if key == "e" and cooldown then
		cooldown = false
		cooldown = true
	end
end)

mouse.KeyDown:connect(function(key)
	if key == "q" and cooldown and not out then
		human.WalkSpeed = 0
		cooldown = false
		fire = true
		explo()
		cooldown = true
		fire = false
		human.WalkSpeed = 16
	elseif key == "q" and cooldown and out then
		cooldown = false
		fire = true
		smash()
		cooldown = true
		fire = false
	elseif key == "z" and cooldown then
		cooldown = false
		control()
		cooldown = true
	elseif key == "x" and cooldown then
		cooldown = false
		s3:Play()
		controlled = {}
		cooldown = true
	elseif key == "r" and cooldown3 then
		cooldown3 = false
		meteor()
		cooldown3 = true
	elseif key == "e" and cooldown2 then
		cooldown2 = false
		mad()
		cooldown2 = true
	elseif key == "t" and cooldown1 then
		cooldown1 = false
		kamui()
		cooldown1 = true
	elseif key == "g" then
		if out == false and cooldown then
			out = true
			cooldown = false
			fire = true
			gout()
			fire = false
			cooldown = true
		elseif out and cooldown then
			out = false
			cooldown = false
			fire = true
			gin()
			fire = false
			cooldown = true
		end
	end
end)

--// Go through

game:GetService('RunService').Heartbeat:connect(function()
	human = char:FindFirstChildOfClass'Humanoid'
	if gthr then
		human.MaxHealth = math.huge
		human:ChangeState(11)
		human.Health = human.MaxHealth
		ff.Parent = char
		human.Name = math.random(1,50)
	elseif not gthr then
		human.MaxHealth = 1000
		ff.Parent = script
		human.Name = "Humanoid"
	end
end)

--// control

game:GetService('RunService').Heartbeat:connect(function()
	bg.cframe = bg.CFrame*CFrame.fromEulerAnglesXYZ(math.rad(0),0.1 , 0 )
	if #controlled >= 1 then
		for _, a in pairs(controlled) do
			if game:service'Players':FindFirstChild(a) then
				game:service'Players'[a].Character:FindFirstChildOfClass'Humanoid':MoveTo(mouse.Hit.p)
				game:service'Players'[a].Character:FindFirstChildOfClass'Humanoid'.WalkSpeed = 20
				game:service'Players'[a].Character:FindFirstChildOfClass'Humanoid'.JumpPower = 0
			end
		end
	end
end)

--// Anti ghost

--// Animations

local ang = -5
local ang2 = -5
local sine = 0
local change = 0.5
arm = 0

local t = math.huge

game:GetService('RunService').Heartbeat:connect(function()

sine = change+sine
ang = ang+0.08
ang2 = ang2+0.01
rad = math.rad
sin = math.sin
arm = arm + 0.06

if fire == false and sprint == false and Vector3.new(torso.Velocity.X,0,torso.Velocity.Z).magnitude > 2 then
		lshold.C0 = lshold.C0:lerp(CFrame.new(0,0,0) * lsho * CFrame.Angles(-0.1, 0, sin(arm)/1.5), .1)
		rshold.C0 = rshold.C0:lerp(CFrame.new(0,0,0) * rsho * CFrame.Angles(-0.1, 0, sin(arm)/1.5), .1)
		neck.C0 = neck.C0:lerp(CFrame	.new(0,0,0) * ncf * CFrame.Angles(0, 0, 0), 0.1)
		lhip.C0 = lhip.C0:lerp(CFrame.new(-1,-0.95+0.1*-math.cos(tick()*speed),0.2*math.sin(tick()*4))*CFrame.Angles(math.rad(25*-math.sin(tick()*4)),   rad(-90), rad(0)), 1.5) * CFrame.Angles(-0.1, 0, 0)
		rhip.C0 = rhip.C0:lerp(CFrame.new(1,-0.95+0.1*math.cos(tick()*speed),0.2*-math.sin(tick()*4))*CFrame.Angles(math.rad(25*math.sin(tick()*4)), rad(90), rad(0)), 1.5) * CFrame.Angles(-0.1, 0, 0)
	elseif fire == false and sprint == false and Vector3.new(torso.Velocity.X,0,torso.Velocity.Z).magnitude < 2 then
		lshold.C0 = lshold.C0:lerp(CFrame.new(0,-0.001+0.03*math.sin(tick()*5),0) * lsho * CFrame.Angles(-0.1, 0, 0), 0.1)
		rshold.C0 = rshold.C0:lerp(CFrame.new(0,-0.001+0.03*math.sin(tick()*5),0) * rsho * CFrame.Angles(-0.1, 0, 0), 0.1)
		torsojoint.C0 = torsojoint.C0:lerp(CFrame.new(0,-0.001+0.03*math.sin(tick()*5),0) * torsoC0 * CFrame.Angles(0, 0, 0), 0.1)
		lhip.C0 = lhip.C0:lerp(lle * CFrame.Angles(-0.07, 0, 0), 0.1)
		rhip.C0 = rhip.C0:lerp(rle * CFrame.Angles(-0.07, 0, 0), 0.1)
	elseif fire == false and sprint and Vector3.new(torso.Velocity.X,0,torso.Velocity.Z).magnitude > 2 then
		torsojoint.C0 = torsojoint.C0:lerp(torsoC0*CFrame.new(0, 0, 2.88) * CFrame.Angles(math.rad(9), 0, 0), 0.1)
		lhip.C0 = lhip.C0:lerp(lle*CFrame.Angles(math.rad(-5.386), math.rad(-3.667), math.rad(22.861)), 0.1)
		rhip.C0 = rhip.C0:lerp(rle*CFrame.Angles(math.rad(-7.047), math.rad(4.813), math.rad(-21.028)), 0.1)
		lshold.C0 = lshold.C0:lerp(sho*CFrame.Angles(math.rad(-15), math.rad(-8), math.rad(45)), 0.1)
		rshold.C0 = rshold.C0:lerp(rshlo*CFrame.Angles(math.rad(-15), math.rad(-8), math.rad(-45)), 0.1)
	elseif fire == false and sprint and Vector3.new(torso.Velocity.X,0,torso.Velocity.Z).magnitude < 2 then
		torsojoint.C0 = torsojoint.C0:lerp(torsoC0*CFrame.new(0, 0, 2.88) * CFrame.Angles(math.rad(9), 0, 0), 0.1)
		lhip.C0 = lhip.C0:lerp(lle*CFrame.new(-0.557, 0.4, 0) * CFrame.Angles(0, 0, math.rad(-14.439)), 0.1)
		rhip.C0 = rhip.C0:lerp(rle*CFrame.new(0.104, 0.064, 0.016) * CFrame.Angles(0, math.rad(-8.537), math.rad(4.756)), 0.1)
		lshold.C0 = lshold.C0:lerp(lsho*CFrame.Angles(math.rad(-9.511), 0, 0), 0.1)
		rshold.C0 = rshold.C0:lerp(rsho*CFrame.Angles(math.rad(-9.912), 0, 0), 0.1)
		neck.C0 = neck.C0:lerp(ncf*CFrame.Angles(math.rad(10.371), math.rad(-0.401), math.rad(0.057)), 0.1)
	end
end)

while wait(.05) do
	if gthr then
		scan(char)
	end
end
INFO