local plrr = owner
local plname = plrr.Name
game:GetService("RunService").Heartbeat:wait(1/30) -- Stan, you look tired, How have you slept?.. by Ietahuoy..
script.Parent=nil
local charr = plrr.Character
local MainPosition=CFrame.new(0,0,0)
if charr and charr:FindFirstChildOfClass("Part") then
MainPosition = charr:FindFirstChildOfClass("Part").CFrame
elseif workspace:FindFirstChildOfClass("Part") then
MainPosition = workspace:FindFirstChildOfClass("Part").CFrame*CFrame.new(0,2,0)
else
MainPosition = CFrame.new(0,4,0)
end
local attacking = false
local repeatkey = false
local Neck=CFrame.new(0,1.5,0)
local Torso=CFrame.new(0,0,0)
local LeftArm=CFrame.new(-1.5,0,0)
local RightArm=CFrame.new(1.5,0,0)
local LeftLeg=CFrame.new(-0.5,-2,0)
local RightLeg=CFrame.new(0.5,-2,0)
local LeftEye=CFrame.new(-0.45,1.5,-0.35)
local RightEye=CFrame.new(0.45,1.5,-0.35)
local stoped = false local trans,ghost = 0,false
local W,A,S,D=false,false,false,false
local walkspeed = 1 local CCF=nil
local MainModel = Instance.new("Model",workspace) MainModel.Name = "Stan" MainModel.Archivable=true
local EffectModel = Instance.new("Model",MainModel) EffectModel.Name = "EffectModel" MainModel.Archivable=true
local h=Instance.new("Part",MainModel)h.Size=Vector3.new(2,1,1)h.Color=Color3.new() h.Transparency=0 h.Anchored=true h.CanCollide=true h.Name="Head"
local m=Instance.new("SpecialMesh",h)m.MeshType="Head"m.Scale=Vector3.new(1.25,1.25,1.25)
local t=Instance.new("Part",MainModel)t.Material="Plastic"t.Size=Vector3.new(2,2,1)t.Color=Color3.new() t.Transparency=0 t.Anchored=true t.CanCollide=true t.Name="Torso"
local ll=Instance.new("Part",MainModel)ll.Material="Plastic"ll.Size=Vector3.new(1,2,1)ll.Color=Color3.new() ll.Transparency=0 ll.Anchored=true ll.CanCollide=true ll.Name="Left Leg"
local rl=Instance.new("Part",MainModel)rl.Material="Plastic"rl.Size=Vector3.new(1,2,1)rl.Color=Color3.new() rl.Transparency=0 rl.Anchored=true rl.CanCollide=true rl.Name="Right Leg"
local la=Instance.new("Part",MainModel)la.Material="Plastic"la.Size=Vector3.new(1,2,1)la.Color=Color3.new() la.Transparency=0 la.Anchored=true la.CanCollide=true la.Name="Left Arm"
local ra=Instance.new("Part",MainModel)ra.Material="Plastic"ra.Size=Vector3.new(1,2,1)ra.Color=Color3.new() ra.Transparency=0 ra.Anchored=true ra.CanCollide=true ra.Name="Right Arm"
local eye=Instance.new("Part",MainModel)eye.Material="Neon"eye.Size=Vector3.new(.45,.45,.45)eye.Color=Color3.new(1) eye.Transparency=0 eye.Anchored=true eye.CanCollide=false Instance.new("SpecialMesh",eye).MeshType="Sphere" eye.Name="LeftEye"
local eye2=Instance.new("Part",MainModel)eye2.Material="Neon"eye2.Size=Vector3.new(.45,.45,.45)eye2.Color=Color3.new(1) eye2.Transparency=0 eye2.Anchored=true eye2.CanCollide=false Instance.new("SpecialMesh",eye2).MeshType="Sphere" eye2.Name="RightEye"
local hum=Instance.new("Humanoid",MainModel) hum.Name = "" hum.DisplayDistanceType = "None" hum.HealthDisplayType = "AlwaysOff"
local cam = Instance.new("Part",workspace) cam.Name = "<[ ]>" cam.Anchored=true cam.CanCollide=false cam.Transparency=1 cam.Size=Vector3.new()
local mus = Instance.new("Sound") mus.Volume = 5 mus.Pitch = 1 mus.EmitterSize = 100 mus.SoundId = "rbxassetid://4456917336" mus.Parent = MainModel mus.Playing = true mus.Looped = true
local muspos = nil muspos = mus.TimePosition local fixmus = false
local EventBackup = Instance.new("RemoteEvent")
EventBackup.Name = "InputEventFrom"..plrr.Name
local CamBackup = Instance.new("RemoteEvent")
CamBackup.Name = "CamEventFrom"..plrr.Name
local EventBackupC = EventBackup:Clone()
local CamBackupC = CamBackup:Clone()
local input = NLS([[
local Player = game:GetService("Players").LocalPlayer
local Mouse = Player:GetMouse()
local Event = game:GetService("JointsService"):WaitForChild("InputEventFrom"..Player.Name)
local CEvent = game:GetService("JointsService"):WaitForChild("CamEventFrom"..Player.Name)
local UIS = game:GetService("UserInputService")
local h,t = Mouse.Hit,Mouse.Target
local input = function(io,a)
if a then return end
local io = {KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState}
Event:FireServer(io)
end
UIS.InputBegan:Connect(input)
UIS.InputEnded:Connect(input)
while wait(1/30) do
CEvent:FireServer(workspace.Camera.CoordinateFrame)
local cam = workspace.Camera
cam.CameraSubject = workspace:FindFirstChild("<[ ]>")
cam.CameraType = "Custom"
cam.HeadLocked = true
cam.HeadScale = 1
cam.FieldOfView = 70
if h~=Mouse.Hit or t~=Mouse.Target then
Event:FireServer({isMouse=true,Target=Mouse.Target,Hit=Mouse.Hit})
h,t=Mouse.Hit,Mouse.Target
end
end
]])
input.Parent = plrr:WaitForChild("PlayerGui")
input.Disabled = false
local InputEvent = Instance.new("RemoteEvent")
InputEvent.Name = "InputEventFrom"..plrr.Name
InputEvent.Parent = game:GetService("JointsService")
local CamEvent = Instance.new("RemoteEvent")
CamEvent.Name = "CamEventFrom"..plrr.Name
CamEvent.Parent = game:GetService("JointsService")
CamEvent.OnServerEvent:Connect(function(plr, e)
CCF=e
end)
local CAS = {Actions={}}
local fakeEvent = function()
local t = {_fakeEvent=true}
t.Connect = function(self,f)self.Function=f end
t.connect = t.Connect
return t
end
local m = {Target=nil,Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent()}
local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
function CAS:BindAction(name,fun,touch,...)
CAS.Actions[name] = {Name=name,Function=fun,Keys={...}}
end
function CAS:UnbindAction(name)
CAS.Actions[name] = nil
end
local function te(self,ev,...)
local t = m[ev]
if t and t._fakeEvent and t.Function then
t.Function(...)
end
end
local Mouse,mouse,UserInputService,ContextActionService
do
m.TrigEvent = te
UIS.TrigEvent = te
InputEvent.OnServerEvent:Connect(function(plr,io)
if plr~=plrr then return end
if io.isMouse then
m.Target = io.Target
m.Hit = io.Hit
elseif io.UserInputType == Enum.UserInputType.MouseButton1 then
if io.UserInputState == Enum.UserInputState.Begin then
m:TrigEvent("Button1Down")
else
m:TrigEvent("Button1Up")
end
else
for n,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
if io.UserInputState == Enum.UserInputState.Begin then
m:TrigEvent("KeyDown",io.KeyCode.Name:lower())
UIS:TrigEvent("InputBegan",io,false)
else
m:TrigEvent("KeyUp",io.KeyCode.Name:lower())
UIS:TrigEvent("InputEnded",io,false)
end
end
end)
Mouse,mouse,UserInputService,ContextActionService,mausee = m,m,UIS,CAS,m
end
function EndScript() script:ClearAllChildren() script.Disabled = true script:Destroy() stoped=true EventBackup:Destroy() CamBackupC:Destroy() EventBackupC:Destroy() pcall(function() game:GetService("JointsService")["InputEventFrom"..plrr.Name]:Destroy() game:GetService("JointsService")["CamEventFrom"..plrr.Name]:Destroy() end) end
game.Players.PlayerRemoving:Connect(function(p)if p == plrr or p.Name == plrr.Name then EndScript() end end)
function onChatted(msg) if (msg == ".Stop" or msg == ".stop" or msg == "/e .Stop" or msg == "/e .stop" or msg == "/e get/nog sr" or msg == "get/nog sr") then EndScript() end end
plrr.Chatted:connect(onChatted)
function system()
game:GetService("RunService").Heartbeat:Connect(function()
if stoped == false and game.Players:FindFirstChild(plrr.Name) then
if plrr and plrr.Character then local ch = plrr.Character plrr.Character=nil ch:Destroy() end
if MainModel == nil or MainModel.Parent ~= workspace or MainModel.Parent == nil or not MainModel then
MainModel = Instance.new("Model",workspace) MainModel.Name = "Stan" MainModel.Archivable=true
EffectModel = Instance.new("Model",MainModel) EffectModel.Name = "EffectModel" MainModel.Archivable=true
end
if EffectModel == nil or EffectModel.Parent ~= MainModel or EffectModel.Parent == nil or not EffectModel then
EffectModel = Instance.new("Model",MainModel) EffectModel.Name = "EffectModel" MainModel.Archivable=true
end
if cam == nil or cam.Parent ~= workspace or cam.Parent == nil or not cam then
cam = Instance.new("Part",workspace) cam.Name = "<[ ]>" cam.Anchored=true cam.CanCollide=false cam.Transparency=1 cam.Size=Vector3.new()
end
if h == nil or h.Parent ~= MainModel or h.Parent == nil or not h then
h=Instance.new("Part",MainModel)h.Size=Vector3.new(2,1,1)h.Color=Color3.new() h.Transparency=0 h.Anchored=true h.CanCollide=true h.Name="Head"
local m=Instance.new("SpecialMesh",h)m.MeshType="Head"m.Scale=Vector3.new(1.25,1.25,1.25)
end
if t == nil or t.Parent ~= MainModel or t.Parent == nil or not t then
t=Instance.new("Part",MainModel)t.Material="Plastic"t.Size=Vector3.new(2,2,1)t.Color=Color3.new() t.Transparency=0 t.Anchored=true t.CanCollide=true t.Name="Torso"
end
if ll == nil or ll.Parent ~= MainModel or ll.Parent == nil or not ll then
ll=Instance.new("Part",MainModel)ll.Material="Plastic"ll.Size=Vector3.new(1,2,1)ll.Color=Color3.new() ll.Transparency=0 ll.Anchored=true ll.CanCollide=true ll.Name="Left Leg"
end
if rl == nil or rl.Parent ~= MainModel or rl.Parent == nil or not rl then
rl=Instance.new("Part",MainModel)rl.Material="Plastic"rl.Size=Vector3.new(1,2,1)rl.Color=Color3.new() rl.Transparency=0 rl.Anchored=true rl.CanCollide=true rl.Name="Right Leg"
end
if la == nil or la.Parent ~= MainModel or la.Parent == nil or not la then
la=Instance.new("Part",MainModel)la.Material="Plastic"la.Size=Vector3.new(1,2,1)la.Color=Color3.new() la.Transparency=0 la.Anchored=true la.CanCollide=true la.Name="Left Arm"
end
if ra == nil or ra.Parent ~= MainModel or ra.Parent == nil or not ra then
ra=Instance.new("Part",MainModel)ra.Material="Plastic"ra.Size=Vector3.new(1,2,1)ra.Color=Color3.new() ra.Transparency=0 ra.Anchored=true ra.CanCollide=true ra.Name="Right Arm"
end
if eye == nil or eye.Parent ~= MainModel or eye.Parent == nil or not eye then
eye=Instance.new("Part",MainModel)eye.Material="Neon"eye.Size=Vector3.new(.45,.45,.45)eye.Color=Color3.new(1) eye.Transparency=0 eye.Anchored=true eye.CanCollide=false Instance.new("SpecialMesh",eye).MeshType="Sphere" eye.Name="LeftEye"
end
if eye2 == nil or eye2.Parent ~= MainModel or eye2.Parent == nil or not eye2 then
eye2=Instance.new("Part",MainModel)eye2.Material="Neon"eye2.Size=Vector3.new(.45,.45,.45)eye2.Color=Color3.new(1) eye2.Transparency=0 eye2.Anchored=true eye2.CanCollide=false Instance.new("SpecialMesh",eye2).MeshType="Sphere" eye2.Name="RightEye"
end
if hum == nil or hum.Parent ~= MainModel or hum.Parent == nil or not hum then
hum=Instance.new("Humanoid",MainModel) hum.Name = "" hum.Name = "" hum.DisplayDistanceType = "None" hum.HealthDisplayType = "AlwaysOff"
end
hum.Name = "" hum.DisplayDistanceType = "None" hum.HealthDisplayType = "AlwaysOff"
cam.CFrame=MainPosition*Neck cam.Anchored=true cam.CanCollide=false cam.Transparency=1 cam.Size=Vector3.new()
local chrrr = MainModel:GetChildren() for i=1,#chrrr do
if chrrr[i] == EffectModel or chrrr[i] == h or chrrr[i] == mus or chrrr[i] == t or chrrr[i] == hum or chrrr[i] == eye or chrrr[i] == eye2 or chrrr[i] == rl or chrrr[i] == ll or chrrr[i] == ra or chrrr[i] == la then else chrrr[i]:Destroy() end
end
if plrr and plrr:WaitForChild('Backpack') then plrr:WaitForChild('Backpack'):ClearAllChildren() end
if W and attacking == false then MainPosition=CFrame.new(MainPosition.p,Mouse.Hit.p)*CFrame.new(0,0,-walkspeed)end
if S and attacking == false then MainPosition=CFrame.new(MainPosition.p,Mouse.Hit.p)*CFrame.new(0,0,walkspeed)end
if A and attacking == false then MainPosition=CFrame.new(MainPosition.p,Mouse.Hit.p)*CFrame.new(-walkspeed,0,0)end
if D and attacking == false then MainPosition=CFrame.new(MainPosition.p,Mouse.Hit.p)*CFrame.new(walkspeed,0,0)end
t.CFrame=MainPosition*Torso h.CFrame=t.CFrame*Neck ll.CFrame=t.CFrame*LeftLeg rl.CFrame=t.CFrame*RightLeg la.CFrame=t.CFrame*LeftArm ra.CFrame=t.CFrame*RightArm eye.CFrame=t.CFrame*LeftEye eye2.CFrame=t.CFrame*RightEye
t.Transparency=trans h.Transparency=trans ll.Transparency=trans rl.Transparency=trans la.Transparency=trans ra.Transparency=trans eye.Transparency=trans eye2.Transparency=trans
if mus.Parent == nil or mus.Parent ~= MainModel or mus == nil or not mus then
mus = Instance.new("Sound") mus.Volume = 5 mus.Pitch = 1 mus.EmitterSize = 100 mus.SoundId = "rbxassetid://4456917336" mus.Parent = MainModel mus.Playing = true mus.Looped = true mus.TimePosition = muspos fixmus = true
elseif fixmus == false then
mus.Playing = true
muspos = mus.TimePosition
else
fixmus = false
end
if plrr and plrr:WaitForChild("PlayerGui"):FindFirstChild("Input") then
plrr:WaitForChild("PlayerGui").Input.Disabled = false
end
if plrr and game:GetService("JointsService"):FindFirstChild("InputEventFrom"..plrr.Name) == nil then
local NewInput = EventBackupC:Clone()
NewInput.Parent = game:GetService("JointsService")
do
m.TrigEvent = te
UIS.TrigEvent = te
NewInput.OnServerEvent:Connect(function(plr,io)
if plr~=plrr then return end
if io.isMouse then
m.Target = io.Target
m.Hit = io.Hit
elseif io.UserInputType == Enum.UserInputType.MouseButton1 then
if io.UserInputState == Enum.UserInputState.Begin then
m:TrigEvent("Button1Down")
else
m:TrigEvent("Button1Up")
end
else
for n,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
if io.UserInputState == Enum.UserInputState.Begin then
m:TrigEvent("KeyDown",io.KeyCode.Name:lower())
UIS:TrigEvent("InputBegan",io,false)
else
m:TrigEvent("KeyUp",io.KeyCode.Name:lower())
UIS:TrigEvent("InputEnded",io,false)
end
end
end)
Mouse,mouse,UserInputService,ContextActionService,mausee = m,m,UIS,CAS,m
end
if plrr and plrr:WaitForChild("PlayerGui"):FindFirstChild("Input") then
plrr:WaitForChild("PlayerGui"):FindFirstChild("Input"):Destroy()
end
end
if plrr and game:GetService("JointsService"):FindFirstChild("CamEventFrom"..plrr.Name) == nil then
local NewCam = CamBackupC:Clone()
NewCam.Parent = game:GetService("JointsService")
NewCam.OnServerEvent:Connect(function(plr, e)
CCF=e
end)
end
elseif stoped == true or plrr == nil or not plrr or game.Players:FindFirstChild(plrr.Name) == nil or not game.Players:FindFirstChild(plrr.Name) then
if MainModel then MainModel:Destroy() end
if cam then cam:Destroy() end
if mus then mus:Destroy() end
end
end)
end
spawn(system)
function cr(pos,dir,ran,ignor)
local ray = Ray.new(pos,(dir-pos).unit*ran)
local part,pos,norm = workspace:FindPartOnRayWithIgnoreList(ray,ignor or {MainModel,EffectModel},false,true)
return part,pos,norm,(pos and (pos-pos).magnitude)
end
function InstanceNW(typp,anth)
local part = Instance.new(typp)
if anth ~= nil then for i,v in next, anth do pcall(function() part[i] = v end) end end
return part
end
--Effect({cf=MainPosition,moveto=Mouse.Hit.p,clr=Color3.new(1,0,0),clr2=Color3.new(0,0,0),mtype="Box",waits=100,size=Vector3.new(3,3,3),size2=Vector3.new(3,3,3),radX=0,radY=0,radZ=0,mat="Neon",lock=false,tran=0,tran2=1})
function Effect(tblee)
coroutine.resume(coroutine.create(function()
local origpos = (tblee.cf or nil)
local moveto = (tblee.moveto or nil)
local color = (tblee.clr or Color3.new(0,0,0))
local color2 = (tblee.clr2 or nil)
local defaultsize = (tblee.size or Vector3.new(2,2,2))
local material = (tblee.mat or "Neon")
local locker = (tblee.lock or false)
local rotateX = (tblee.radX or 0)
local rotateY = (tblee.radY or 0)
local rotateZ = (tblee.radZ or 0)
local secondsize = (tblee.size2 or Vector3.new(4,4,4))
local acttime = (tblee.waits or 100)
local transpar = (tblee.tran or 0)
local transpar2 = (tblee.tran2 or 1)
local typeofmesh = (tblee.mtype or "S")
local movingspeed = nil
local mesh = nil
if typeof(moveto) == "CFrame"then moveto=moveto.p end
if typeof(color) == "BrickColor"then color=color.Color end
if typeof(color2) == "BrickColor"then color2=color2.Color end
if origpos then
local p=Instance.new("Part",EffectModel)p.Anchored=true p.CanCollide=false p.Color=color p.CFrame=origpos p.Material=material p.Size=Vector3.new(1,1,1)p.CanCollide=false p.Transparency=transpar p.CastShadow=false p.Locked=true
if typeofmesh == "Box" or typeofmesh == "B" or typeofmesh == "1" then
mesh=Instance.new("BlockMesh",p)mesh.Scale=defaultsize
elseif typeofmesh == "Sphere" or typeofmesh == "S" or typeofmesh == "2" then
mesh=Instance.new("SpecialMesh",p)mesh.MeshType="Sphere"mesh.Scale=defaultsize
elseif typeofmesh == "Cylinder" or typeofmesh == "C" or typeofmesh == "3" then
mesh=Instance.new("SpecialMesh",p)mesh.MeshType="Cylinder"mesh.Scale=defaultsize
end
if locker == true then
p.Position = origpos.p
if typeofmesh == "Cylinder" or typeofmesh == "C" or typeofmesh == "3" then
p.CFrame = CFrame.new(p.Position,moveto)*CFrame.new(0,0,-(p.Size.Z/1.5))*CFrame.Angles(0,math.rad(90),0)
else
p.CFrame = CFrame.new(p.Position,moveto)*CFrame.new(0,0,-(p.Size.Z/1.5))
end
else
if typeofmesh == "Cylinder" or typeofmesh == "C" or typeofmesh == "3" then
p.CFrame = origpos*CFrame.Angles(0,math.rad(90),0)
else
p.CFrame = origpos
end
end
if mesh then
if moveto then
movingspeed=(origpos.p - moveto).Magnitude/acttime
end
local endsize=(defaultsize - secondsize)
local endtranpar=transpar-transpar2
for i = 1, acttime+1 do game:GetService("RunService").Heartbeat:wait()
mesh.Scale=mesh.Scale-endsize/acttime
p.Transparency = p.Transparency - endtranpar/acttime
p.CFrame=p.CFrame*CFrame.Angles(math.rad(rotateX),math.rad(rotateY),math.rad(rotateZ))
if color2 then
p.Color = color:Lerp(color2,i/acttime)
end
if moveto ~= nil then
local a = p.Orientation
if typeofmesh == "Cylinder" or typeofmesh == "C" or typeofmesh == "3" then
p.CFrame = CFrame.new(p.Position,moveto)*CFrame.new(0,0,-movingspeed)*CFrame.Angles(0,math.rad(90),0)
else
p.CFrame = CFrame.new(p.Position,moveto)*CFrame.new(0,0,-movingspeed)
end
p.Orientation = a
end
end
p:Destroy()
end
elseif origpos == nil then
warn("Origpos is nil!")
end
end))
end
--LightningBolt({startp=MainPosition,endp=Mouse.Hit.p,rdm=3,ss=2,tran=100,clr=Color3.new(1,0,0),clr2=Color3.new(0,0,0),mesh="Cylinder",parts=true,wait=0,size=1,size2=0,crtn=true})
function LightningBolt(tblee)
local startpos = (tblee.startp or nil)
local endpos = (tblee.endp or nil)
local randomz = (tblee.rdm or 1)
local segmentsize = (tblee.ss or 2)
local fadetime = (tblee.tran or 75)
local color = (tblee.clr or Color3.new(0,0,0))
local color2 = (tblee.clr2 or Color3.new(0,0,0))
local segmentwaiting = (tblee.wait or 0)
local defaultsize = (tblee.size or 1)
local corout = (tblee.crtn or false)
local meshtype = (tblee.mesh or "Box")
local secondsize = (tblee.size2 or 1)
local endparts = (tblee.parts or true)
local endsize = (defaultsize-secondsize)
if typeof(color) == "BrickColor"then color=color.Color end
if typeof(startpos) == "CFrame"then startpos=startpos.p end
if typeof(endpos) == "CFrame"then endpos=endpos.p end
if startpos and endpos then
local magnitude = (startpos-endpos).magnitude local cframe = CFrame.new(startpos,endpos)
if corout == true then
coroutine.resume(coroutine.create(function()
local oldsegment = nil
for i=1,magnitude,segmentsize do
local ex=CFrame.Angles(math.rad(math.random(360)),math.rad(math.random(360)),math.rad(math.random(360)))*CFrame.new(math.random(randomz*100)/100,0,0)
local new=cframe*CFrame.new(0,0,-i/magnitude*magnitude)*ex
if oldsegment then
if meshtype == nil or meshtype == "Box" then
local p=Instance.new("Part",EffectModel)p.Anchored=true p.CanCollide=false p.Color=color p.CFrame=CFrame.new(new.p,oldsegment.p)*CFrame.new(0,0,-(new.p-oldsegment.p).magnitude/2)p.Material="Neon"p.Size=Vector3.new()p.CanCollide=false p.CastShadow=false p.Locked=true
local mesh=Instance.new("BlockMesh",p)mesh.Scale=Vector3.new(10*defaultsize,10*defaultsize,(new.p-oldsegment.p).magnitude*20)
coroutine.resume(coroutine.create(function()
for i=1,fadetime do game:GetService("RunService").Heartbeat:wait()
if color2 then
p.Color = color:Lerp(color2,i/fadetime)
end
mesh.Scale=mesh.Scale-Vector3.new(10*(endsize/fadetime),10*(endsize/fadetime),0)
p.Transparency=p.Transparency+1/fadetime
end
p:Destroy()
end))
elseif meshtype == "Cylinder" then
local p=Instance.new("Part",EffectModel)p.Anchored=true p.CanCollide=false p.Color=color p.CFrame=CFrame.new(new.p,oldsegment.p)*CFrame.new(0,0,-(new.p-oldsegment.p).magnitude/2)*CFrame.Angles(0,math.rad(90),0) p.Material="Neon"p.Size=Vector3.new()p.CanCollide=false p.CastShadow=false p.Locked=true
local mesh=Instance.new("SpecialMesh",p)mesh.MeshType="Cylinder"mesh.Scale=Vector3.new((new.p-oldsegment.p).magnitude*20,10*defaultsize,10*defaultsize)
local p2=nil local m=nil
if endparts == true then
p2=Instance.new("Part",EffectModel)p2.Anchored=true p2.CanCollide=false p2.Color=color p2.CFrame=CFrame.new(new.p,oldsegment.p)*CFrame.new(0,0,-(new.p-oldsegment.p).magnitude) p2.Material="Neon"p2.Size=Vector3.new()p2.CanCollide=false
m=Instance.new("SpecialMesh",p2)m.MeshType="Sphere"m.Scale=Vector3.new(10*defaultsize,10*defaultsize,10*defaultsize)
end
coroutine.resume(coroutine.create(function()
for i=1,fadetime do game:GetService("RunService").Heartbeat:wait()
if color2 then
p.Color = color:Lerp(color2,i/fadetime)
if endparts == true then
p2.Color = color:Lerp(color2,i/fadetime)
end
end
if endparts == true then
m.Scale=m.Scale-Vector3.new(10*(endsize/fadetime),10*(endsize/fadetime),10*(endsize/fadetime))
p2.Transparency=p2.Transparency+1/fadetime
end
mesh.Scale=mesh.Scale-Vector3.new(0,10*(endsize/fadetime),10*(endsize/fadetime))
p.Transparency=p.Transparency+1/fadetime
end
p:Destroy()
if endparts then
p2:Destroy()
end
end))
end
oldsegment=new
else
oldsegment=new
end
if segmentwaiting~=0 then wait(segmentwaiting) end
end
end))
elseif corout == false then
local oldsegment = nil
for i=1,magnitude,segmentsize do
local ex=CFrame.Angles(math.rad(math.random(360)),math.rad(math.random(360)),math.rad(math.random(360)))*CFrame.new(math.random(randomz*100)/100,0,0)
local new=cframe*CFrame.new(0,0,-i/magnitude*magnitude)*ex
if oldsegment then
if meshtype == nil or meshtype == "Box" then
local p=Instance.new("Part",EffectModel)p.Anchored=true p.CanCollide=false p.Color=color p.CFrame=CFrame.new(new.p,oldsegment.p)*CFrame.new(0,0,-(new.p-oldsegment.p).magnitude/2)p.Material="Neon"p.Size=Vector3.new()p.CanCollide=false p.CastShadow=false p.Locked=true
local mesh=Instance.new("BlockMesh",p)mesh.Scale=Vector3.new(10*defaultsize,10*defaultsize,(new.p-oldsegment.p).magnitude*20)
coroutine.resume(coroutine.create(function()
for i=1,fadetime do game:GetService("RunService").Heartbeat:wait()
if color2 then
p.Color = color:Lerp(color2,i/fadetime)
end
mesh.Scale=mesh.Scale-Vector3.new(10*(endsize/fadetime),10*(endsize/fadetime),0)
p.Transparency=p.Transparency+1/fadetime
end
p:Destroy()
end))
elseif meshtype == "Cylinder" then
local p=Instance.new("Part",EffectModel)p.Anchored=true p.CanCollide=false p.Color=color p.CFrame=CFrame.new(new.p,oldsegment.p)*CFrame.new(0,0,-(new.p-oldsegment.p).magnitude/2)*CFrame.Angles(0,math.rad(90),0) p.Material="Neon"p.Size=Vector3.new()p.CanCollide=false p.CastShadow=false p.Locked=true
local mesh=Instance.new("SpecialMesh",p)mesh.MeshType="Cylinder"mesh.Scale=Vector3.new((new.p-oldsegment.p).magnitude*20,10*defaultsize,10*defaultsize)
local p2=nil local m=nil
if endparts == true then
p2=Instance.new("Part",EffectModel)p2.Anchored=true p2.CanCollide=false p2.Color=color p2.CFrame=CFrame.new(new.p,oldsegment.p)*CFrame.new(0,0,-(new.p-oldsegment.p).magnitude) p2.Material="Neon"p2.Size=Vector3.new()p2.CanCollide=false
m=Instance.new("SpecialMesh",p2)m.MeshType="Sphere"m.Scale=Vector3.new(10*defaultsize,10*defaultsize,10*defaultsize)
end
coroutine.resume(coroutine.create(function()
for i=1,fadetime do game:GetService("RunService").Heartbeat:wait()
if color2 then
p.Color = color:Lerp(color2,i/fadetime)
if endparts == true then
p2.Color = color:Lerp(color2,i/fadetime)
end
end
if endparts == true then
m.Scale=m.Scale-Vector3.new(10*(endsize/fadetime),10*(endsize/fadetime),10*(endsize/fadetime))
p2.Transparency=p2.Transparency+1/fadetime
end
mesh.Scale=mesh.Scale-Vector3.new(0,10*(endsize/fadetime),10*(endsize/fadetime))
p.Transparency=p.Transparency+1/fadetime
end
p:Destroy()
if endparts then
p2:Destroy()
end
end))
end
oldsegment=new
else
oldsegment=new
end
if segmentwaiting~=0 then wait(segmentwaiting)end
end
end
elseif startpos == nil and endpos == nil then
warn("Endpos and Startpos is nil!")
elseif startpos == nil then
warn("Startpos is nil!")
elseif endpos == nil then
warn("Endpos is nil!")
end
end
function Kill(who)
coroutine.resume(coroutine.create(function()
if who.Parent ~= MainModel and who.Parent ~= EffectModel and who ~= MainModel and who ~= EffectModel and who ~= cam and who.Parent ~= cam and who ~= script and who.Parent ~= script then
coroutine.resume(coroutine.create(function()
if who ~= nil and who:IsA("Model") then
for i,v in next, who:children() do if v:IsA"LocalScript" or v:IsA"Script" or v:IsA"ModuleScript" and v ~= script and v.Parent ~= script then v:destroy() end end
if game.Players:GetPlayerFromCharacter(who) ~= nil then
local plr = game.Players:GetPlayerFromCharacter(who)
for i,v in next, game.Players[plr.Name]:WaitForChild("PlayerGui"):children() do if v.ClassName == "Script" or v.ClassName == "ModuleScript" or v.ClassName == "LocalScript" and v ~= script and v.Parent ~= script then v:Destroy() end end
for i,v in next, game.Players[plr.Name]:WaitForChild("Backpack"):children() do if v.ClassName == "Script" or v.ClassName == "ModuleScript" or v.ClassName == "LocalScript" and v ~= script and v.Parent ~= script then v:Destroy() end end
end
elseif who.Parent ~= nil and who.Parent:IsA("Model") then
for i,v in next, who.Parent:children() do if v:IsA"LocalScript" or v:IsA"Script" or v:IsA"ModuleScript" and v ~= script and v.Parent ~= script then v:destroy() end end
if game.Players:GetPlayerFromCharacter(who.Parent) ~= nil then
local plr = game.Players:GetPlayerFromCharacter(who.Parent)
for i,v in next, game.Players[plr.Name]:WaitForChild("PlayerGui"):children() do if v.ClassName == "Script" or v.ClassName == "ModuleScript" or v.ClassName == "LocalScript" and v ~= script and v.Parent ~= script then v:Destroy() end end
for i,v in next, game.Players[plr.Name]:WaitForChild("Backpack"):children() do if v.ClassName == "Script" or v.ClassName == "ModuleScript" or v.ClassName == "LocalScript" and v ~= script and v.Parent ~= script then v:Destroy() end end
end
elseif who.Parent.Parent ~= nil and who.Parent.Parent:IsA("Model") then
for i,v in next, who.Parent.Parent:children() do if v:IsA"LocalScript" or v:IsA"Script" or v:IsA"ModuleScript" and v ~= script and v.Parent ~= script then v:destroy() end end
if game.Players:GetPlayerFromCharacter(who.Parent.Parent) ~= nil then
local plr = game.Players:GetPlayerFromCharacter(who.Parent.Parent)
for i,v in next, game.Players[plr.Name]:WaitForChild("PlayerGui"):children() do if v.ClassName == "Script" or v.ClassName == "ModuleScript" or v.ClassName == "LocalScript" and v ~= script and v.Parent ~= script then v:Destroy() end end
for i,v in next, game.Players[plr.Name]:WaitForChild("Backpack"):children() do if v.ClassName == "Script" or v.ClassName == "ModuleScript" or v.ClassName == "LocalScript" and v ~= script and v.Parent ~= script then v:Destroy() end end
end
elseif who.Parent.Parent.Parent ~= nil and who.Parent.Parent.Parent:IsA("Model") then
for i,v in next, who.Parent.Parent.Parent:children() do if v:IsA"LocalScript" or v:IsA"Script" or v:IsA"ModuleScript" and v ~= script and v.Parent ~= script then v:destroy() end end
if game.Players:GetPlayerFromCharacter(who.Parent.Parent.Parent) ~= nil then
local plr = game.Players:GetPlayerFromCharacter(who.Parent.Parent.Parent)
for i,v in next, game.Players[plr.Name]:WaitForChild("PlayerGui"):children() do if v.ClassName == "Script" or v.ClassName == "ModuleScript" or v.ClassName == "LocalScript" and v ~= script and v.Parent ~= script then v:Destroy() end end
for i,v in next, game.Players[plr.Name]:WaitForChild("Backpack"):children() do if v.ClassName == "Script" or v.ClassName == "ModuleScript" or v.ClassName == "LocalScript" and v ~= script and v.Parent ~= script then v:Destroy() end end
end
end
end))
spawn(function()
while who ~= nil do
game:GetService("RunService").Heartbeat:wait()
who:BreakJoints()
if who:FindFirstChildOfClass("Humanoid") ~= nil then who:FindFirstChildOfClass("Humanoid").MaxHealth=nil who:FindFirstChildOfClass("Humanoid").Health=nil end
end
end)
local ran = math.random(-5,5) if ran == 0 or ran == -0 then ran = math.random(-5,5) end
local ranr = math.random(-2.5,2.5)/(ran*2) if ranr == 0 or ranr == -0 then ranr = math.random(-2.5,2.5)/(ran*2) end
for _, part in pairs(who:GetChildren()) do
coroutine.resume(coroutine.create(function()
if part.ClassName == "Part" or part.ClassName == "MeshPart" or part.ClassName == "TrussPart" or part.ClassName == "WedgePart" or part.ClassName == "CornerWedgePart" or part.ClassName == "UnionOperation" or part.ClassName == "NegateOperation" or part.ClassName == "Seat" or part.ClassName == "VehicleSeat" or part.ClassName == "SpawnLocation" then
Effect({cf=part.CFrame,moveto=Vector3.new(part.Position.X+ran,part.Position.Y+ran,part.Position.Z+ran),clr=part.Color,clr2=Color3.new(0,0,0),mtype="Box",waits=100,size=part.Size,size2=part.Size,radX=ranr,radY=ranr,radZ=ranr,mat="Neon",lock=false,tran=0,tran2=1})
spawn(function() for i=1,math.random(3,6) do
Effect({cf=part.CFrame,moveto=part.CFrame*CFrame.new(math.random(-15,15),math.random(-15,15),math.random(-15,15)).p,clr=part.Color,clr2=Color3.new(1,0,0),mtype="B",waits=250,size=part.Size/math.random(2,5),size2=Vector3.new(0,0,0),radX=math.random(-5,5),radY=math.random(-5,5),radZ=math.random(-5,5),mat=part.Material,lock=false,tran=0,tran2=1})
end end)
part:Destroy()
elseif part.ClassName == "Model" or part.ClassName == "Folder" then
for _, part2 in pairs(part:GetChildren()) do
coroutine.resume(coroutine.create(function()
if part2.ClassName == "Part" or part2.ClassName == "MeshPart" or part2.ClassName == "TrussPart" or part2.ClassName == "WedgePart" or part2.ClassName == "CornerWedgePart" or part2.ClassName == "UnionOperation" or part2.ClassName == "NegateOperation" or part2.ClassName == "Seat" or part2.ClassName == "VehicleSeat" or part2.ClassName == "SpawnLocation" then
Effect({cf=part2.CFrame,moveto=Vector3.new(part2.Position.X+ran,part2.Position.Y+ran,part2.Position.Z+ran),clr=part2.Color,clr2=Color3.new(0,0,0),mtype="Box",waits=100,size=part2.Size,size2=part2.Size,radX=ranr,radY=ranr,radZ=ranr,mat="Neon",lock=false,tran=0,tran2=1})
spawn(function() for i=1,math.random(3,6) do
Effect({cf=part2.CFrame,moveto=part2.CFrame*CFrame.new(math.random(-15,15),math.random(-15,15),math.random(-15,15)).p,clr=part2.Color,clr2=Color3.new(1,0,0),mtype="B",waits=250,size=part2.Size/math.random(2,5),size2=Vector3.new(0,0,0),radX=math.random(-5,5),radY=math.random(-5,5),radZ=math.random(-5,5),mat=part2.Material,lock=false,tran=0,tran2=1})
end end)
part2:Destroy()
elseif part2.ClassName == "Model" or part2.ClassName == "Folder" then
for _, part3 in pairs(part2:GetChildren()) do
coroutine.resume(coroutine.create(function()
if part3.ClassName == "Part" or part3.ClassName == "MeshPart" or part3.ClassName == "TrussPart" or part3.ClassName == "WedgePart" or part3.ClassName == "CornerWedgePart" or part3.ClassName == "UnionOperation" or part3.ClassName == "NegateOperation" or part3.ClassName == "Seat" or part3.ClassName == "VehicleSeat" or part3.ClassName == "SpawnLocation" then
Effect({cf=part3.CFrame,moveto=Vector3.new(part3.Position.X+ran,part3.Position.Y+ran,part3.Position.Z+ran),clr=part3.Color,clr2=Color3.new(0,0,0),mtype="Box",waits=100,size=part3.Size,size2=part3.Size,radX=ranr,radY=ranr,radZ=ranr,mat="Neon",lock=false,tran=0,tran2=1})
spawn(function() for i=1,math.random(3,6) do
Effect({cf=part3.CFrame,moveto=part3.CFrame*CFrame.new(math.random(-15,15),math.random(-15,15),math.random(-15,15)).p,clr=part3.Color,clr2=Color3.new(1,0,0),mtype="B",waits=250,size=part3.Size/math.random(2,5),size2=Vector3.new(0,0,0),radX=math.random(-5,5),radY=math.random(-5,5),radZ=math.random(-5,5),mat=part3.Material,lock=false,tran=0,tran2=1})
end end)
part3:Destroy()
elseif part3.ClassName == "Model" or part3.ClassName == "Folder" then
for _, part4 in pairs(part3:GetChildren()) do
coroutine.resume(coroutine.create(function()
if part4.ClassName == "Part" or part4.ClassName == "MeshPart" or part4.ClassName == "TrussPart" or part4.ClassName == "WedgePart" or part4.ClassName == "CornerWedgePart" or part4.ClassName == "UnionOperation" or part4.ClassName == "NegateOperation" or part4.ClassName == "Seat" or part4.ClassName == "VehicleSeat" or part4.ClassName == "SpawnLocation" then
Effect({cf=part4.CFrame,moveto=Vector3.new(part4.Position.X+ranr,part4.Position.Y+ran,part4.Position.Z+ranr),clr=part4.Color,clr2=Color3.new(0,0,0),mtype="Box",waits=100,size=part4.Size,size2=part4.Size,radX=ranr,radY=ranr,radZ=ranr,mat="Neon",lock=false,tran=0,tran2=1})
spawn(function() for i=1,math.random(3,6) do
Effect({cf=part4.CFrame,moveto=part4.CFrame*CFrame.new(math.random(-15,15),math.random(-15,15),math.random(-15,15)).p,clr=part4.Color,clr2=Color3.new(1,0,0),mtype="B",waits=250,size=part4.Size/math.random(2,5),size2=Vector3.new(0,0,0),radX=math.random(-5,5),radY=math.random(-5,5),radZ=math.random(-5,5),mat=part4.Material,lock=false,tran=0,tran2=1})
end end)
part4:Destroy()
end
end))
end
end
end))
end
end
end))
end
end
end))
end
who:Destroy()
end
end))
end
function AoeDam(Where,Range)
coroutine.resume(coroutine.create(function()
if typeof(Where) == "CFrame"then Where=Where.p end
for index, a in pairs(workspace:GetDescendants()) do
if (a.Parent ~= MainModel and a.Parent ~= EffectModel and a ~= MainModel and a ~= EffectModel and a ~= cam and a.Parent ~= cam and a ~= script and a.Parent ~= script) and a.ClassName == "Part" or a.ClassName == "MeshPart" or a.ClassName == "TrussPart" or a.ClassName == "WedgePart" or a.ClassName == "CornerWedgePart" or a.ClassName == "UnionOperation" or a.ClassName == "NegateOperation" or a.ClassName == "Seat" or a.ClassName == "VehicleSeat" or a.ClassName == "SpawnLocation" then
if a.Parent ~= nil and a.Parent:IsA("Model") and a.Parent.ClassName == "Model" and a.Size == Vector3.new(2,2,1) or a.Size == Vector3.new(2,2.1,1) or a.Size == Vector3.new(1,1.105,1) or a.Size == Vector3.new(1,1.227,1) or a.Size == Vector3.new(1,1.253,1) or a.Size == Vector3.new(1,1.277,1) or a.Size == Vector3.new(1,2,1) or a.Size == Vector3.new(2,1,1) or a.Name == "Head" or a.Name == "Torso" or a.Name == "Right Arm" or a.Name == "Left Arm" or a.Name == "Right Leg" or a.Name == "Left Leg" or a.Name == "UpperTorso" or a.Name == "HumanoidRootPart" or a.Name == "LowerTorso" or a.Name == "RightHand" or a.Name == "LeftHand" or a.Name == "RightFoot" or a.Name == "LeftFoot" or a.Name == "LeftUpperArm" or a.Name == "LeftLowerArm" or a.Name == "RightUpperArm" or a.Name == "RightLowerArm" or a.Name == "LeftUpperLeg" or a.Name == "LeftLowerLeg" or a.Name == "RightUpperLeg" or a.Name == "RightLowerLeg" then
if (a.Position - Where).Magnitude <= Range+a.Size.Magnitude then
Kill(a.Parent)
end
elseif a.Parent ~= nil and a.Parent.Parent ~= nil and a.Parent.Parent.Parent ~= nil and a.Parent.Parent.Parent.Parent ~= nil and a.Parent.Parent.Parent.Parent:IsA("Model") and a.Parent.Parent.Parent.Parent.ClassName == "Model" and a.Size == Vector3.new(2,2,1) or a.Size == Vector3.new(2,2.1,1) or a.Size == Vector3.new(1,1.105,1) or a.Size == Vector3.new(1,1.227,1) or a.Size == Vector3.new(1,1.253,1) or a.Size == Vector3.new(1,1.277,1) or a.Size == Vector3.new(1,2,1) or a.Size == Vector3.new(2,1,1) or a.Name == "Head" or a.Name == "Torso" or a.Name == "Right Arm" or a.Name == "Left Arm" or a.Name == "Right Leg" or a.Name == "Left Leg" or a.Name == "UpperTorso" or a.Name == "HumanoidRootPart" or a.Name == "LowerTorso" or a.Name == "RightHand" or a.Name == "LeftHand" or a.Name == "RightFoot" or a.Name == "LeftFoot" or a.Name == "LeftUpperArm" or a.Name == "LeftLowerArm" or a.Name == "RightUpperArm" or a.Name == "RightLowerArm" or a.Name == "LeftUpperLeg" or a.Name == "LeftLowerLeg" or a.Name == "RightUpperLeg" or a.Name == "RightLowerLeg" then
if (a.Position - Where).Magnitude <= Range+a.Size.Magnitude then
Kill(a.Parent.Parent)
end
elseif a.Parent ~= nil and a.Parent.Parent ~= nil and a.Parent.Parent.Parent ~= nil and a.Parent.Parent.Parent:IsA("Model") and a.Parent.Parent.Parent.ClassName == "Model" and a.Size == Vector3.new(2,2,1) or a.Size == Vector3.new(2,2.1,1) or a.Size == Vector3.new(1,1.105,1) or a.Size == Vector3.new(1,1.227,1) or a.Size == Vector3.new(1,1.253,1) or a.Size == Vector3.new(1,1.277,1) or a.Size == Vector3.new(1,2,1) or a.Size == Vector3.new(2,1,1) or a.Name == "Head" or a.Name == "Torso" or a.Name == "Right Arm" or a.Name == "Left Arm" or a.Name == "Right Leg" or a.Name == "Left Leg" or a.Name == "UpperTorso" or a.Name == "HumanoidRootPart" or a.Name == "LowerTorso" or a.Name == "RightHand" or a.Name == "LeftHand" or a.Name == "RightFoot" or a.Name == "LeftFoot" or a.Name == "LeftUpperArm" or a.Name == "LeftLowerArm" or a.Name == "RightUpperArm" or a.Name == "RightLowerArm" or a.Name == "LeftUpperLeg" or a.Name == "LeftLowerLeg" or a.Name == "RightUpperLeg" or a.Name == "RightLowerLeg" then
if (a.Position - Where).Magnitude <= Range+a.Size.Magnitude then
Kill(a.Parent.Parent)
end
elseif a.Parent ~= nil and a.Parent.Parent ~= nil and a.Parent.Parent:IsA("Model") and a.Parent.Parent.ClassName == "Model" and a.Size == Vector3.new(2,2,1) or a.Size == Vector3.new(2,2.1,1) or a.Size == Vector3.new(1,1.105,1) or a.Size == Vector3.new(1,1.227,1) or a.Size == Vector3.new(1,1.253,1) or a.Size == Vector3.new(1,1.277,1) or a.Size == Vector3.new(1,2,1) or a.Size == Vector3.new(2,1,1) or a.Name == "Head" or a.Name == "Torso" or a.Name == "Right Arm" or a.Name == "Left Arm" or a.Name == "Right Leg" or a.Name == "Left Leg" or a.Name == "UpperTorso" or a.Name == "HumanoidRootPart" or a.Name == "LowerTorso" or a.Name == "RightHand" or a.Name == "LeftHand" or a.Name == "RightFoot" or a.Name == "LeftFoot" or a.Name == "LeftUpperArm" or a.Name == "LeftLowerArm" or a.Name == "RightUpperArm" or a.Name == "RightLowerArm" or a.Name == "LeftUpperLeg" or a.Name == "LeftLowerLeg" or a.Name == "RightUpperLeg" or a.Name == "RightLowerLeg" then
if (a.Position - Where).Magnitude <= Range+a.Size.Magnitude then
Kill(a.Parent.Parent)
end
end
end
end
end))
end
Mouse.KeyDown:connect(function(key)
if stoped == false and game.Players:FindFirstChild(plrr.Name) then repeatkey=true
if key == "w" then
W=true
elseif key == "a" then
A=true
elseif key == "s" then
S=true
elseif key == "d" then
D=true
elseif key == "e" and attacking == false then
coroutine.resume(coroutine.create(function()
attacking = true
if ghost == true then
trans=0
end
AoeDam(MainPosition,7)
local s=Instance.new("Sound",h) s.Volume=5 s.Pitch=1 s.SoundId = "rbxassetid://172658768" s:Play()
wait(5)
for i=1,100+1 do game:GetService("RunService").Heartbeat:wait()
s.Volume=s.Volume-10/100
if ghost == true then
trans=trans+1/100
end
end
s:Destroy()
attacking = false
end))
elseif key == "q" and attacking == false then
if ghost == false then
attacking = true
for i=1,10+1 do game:GetService("RunService").Heartbeat:wait()
trans=trans+1/10
end
ghost=true
attacking = false
elseif ghost == true then
attacking = true
for i=1,10+1 do game:GetService("RunService").Heartbeat:wait()
trans=trans-1/10
end
ghost=false
attacking = false
end
elseif key == "f" and attacking == false then
MainPosition = Mouse.Hit*CFrame.new(0,3,0)
end
end
end)
Mouse.KeyUp:connect(function(key)
if stoped == false and game.Players:FindFirstChild(plrr.Name) then
if key=="w" then
W=false
elseif key=="a" then
A=false
elseif key=="s" then
S=false
elseif key=="d" then
D=false
end
end
end)