Run it
Copy the script and paste it into your executor.
FakeLimbs = {[] = ,[] = ,[] = ,[] = ,[] = ,[] = ,[] = }
Accessorys = {}
ModelsRequire = :()
MFolder = ModelsRequire[]
HumanRoot = .Players.LocalPlayer.Character.HumanoidRootPart
(Part0,Part1,Angle,Position)
Part0:():()
AlignPos = .(, Part1)
AlignPos.ApplyAtCenterOfMass = ;
AlignPos.MaxForce = ;
AlignPos.MaxVelocity = .huge/;
AlignPos.ReactionForceEnabled = ;
AlignPos.Responsiveness = ;
AlignPos.RigidityEnabled = ;
AlignOri = .(, Part1)
AlignOri.MaxAngularVelocity = .huge/;
AlignOri.MaxTorque = ;
AlignOri.PrimaryAxisOnly = ;
AlignOri.ReactionTorqueEnabled = ;
AlignOri.Responsiveness = ;
AlignOri.RigidityEnabled = ;
AttachmentA=.(,Part1)
AttachmentB=.(,Part0)
AttachmentC=.(,Part1)
AttachmentD=.(,Part0)
AlignPos.Attachment1 = AttachmentA;
AlignPos.Attachment0 = AttachmentB;
AlignOri.Attachment1 = AttachmentC;
AlignOri.Attachment0 = AttachmentD;
AttachmentC.Orientation = Angle
Part0.Parent = FakeCharacter
Position
AttachmentA.Position = Position
:().Heartbeat:(()
Part0.Velocity = .(,,)
)
(Part0,Part1,Angle,Position)
Part0:():()
Part0:():()
AlignPos = .(, Part1)
AlignPos.ApplyAtCenterOfMass = ;
AlignPos.MaxForce = ;
AlignPos.MaxVelocity = .huge/;
AlignPos.ReactionForceEnabled = ;
AlignPos.Responsiveness = ;
AlignPos.RigidityEnabled = ;
AlignOri = .(, Part1)
AlignOri.MaxAngularVelocity = .huge/;
AlignOri.MaxTorque = ;
AlignOri.PrimaryAxisOnly = ;
AlignOri.ReactionTorqueEnabled = ;
AlignOri.Responsiveness = ;
AlignOri.RigidityEnabled = ;
AttachmentA=.(,Part1)
AttachmentB=.(,Part0)
AttachmentC=.(,Part1)
AttachmentD=.(,Part0)
AlignPos.Attachment1 = AttachmentA;
AlignPos.Attachment0 = AttachmentB;
AlignOri.Attachment1 = AttachmentC;
AlignOri.Attachment0 = AttachmentD;
AttachmentC.Orientation = Angle
AttachmentC.Name =
Part0.Parent = FakeCharacter
Position
AttachmentA.Position = Position
s = :().Heartbeat:(()
Part0.Velocity = .(,,)
)
(()
()
HumanDied
s:()
)
i, part (.Players.LocalPlayer.Character:())
part:()
part.Handle.Size == .(, , )
FakeLimbs[] ==
FakeLimbs[] = part.Handle
FakeLimbs[] ==
FakeLimbs[] = part.Handle
FakeLimbs[] ==
FakeLimbs[] = part.Handle
FakeLimbs[] ==
FakeLimbs[] = part.Handle
FakeLimbs[] ==
FakeLimbs[] = part.Handle
FakeLimbs[] ==
FakeLimbs[] = part.Handle
part.Handle.Size == .(,,)
FakeLimbs[] = part.Handle
.Players.LocalPlayer.Character.Archivable =
FakeCharacter = MFolder
FakeCharacter.Parent =
m4 = FakeCharacter.M4
Bypass =
Bypass Bypass =
HumanDied =
CountSCIFIMOVIELOL =
(Part0,Part1,Position,Angle)
AlignPos = .(, Part1); AlignPos.Name = ..CountSCIFIMOVIELOL
AlignPos.ApplyAtCenterOfMass = ;
AlignPos.MaxForce = ;
AlignPos.MaxVelocity = .huge/;
AlignPos.ReactionForceEnabled = ;
AlignPos.Responsiveness = ;
AlignPos.RigidityEnabled = ;
AlignOri = .(, Part1); AlignOri.Name = ..CountSCIFIMOVIELOL
AlignOri.MaxAngularVelocity = .huge/;
AlignOri.MaxTorque = ;
AlignOri.PrimaryAxisOnly = ;
AlignOri.ReactionTorqueEnabled = ;
AlignOri.Responsiveness = ;
AlignOri.RigidityEnabled = ;
AttachmentA=.(,Part1); AttachmentA.Name = ..CountSCIFIMOVIELOL
AttachmentB=.(,Part0); AttachmentB.Name = ..CountSCIFIMOVIELOL
AttachmentC=.(,Part1); AttachmentC.Name = ..CountSCIFIMOVIELOL
AttachmentD=.(,Part0); AttachmentD.Name = ..CountSCIFIMOVIELOL
AttachmentC.Orientation = Angle
AttachmentA.Position = Position
AttachmentC.Name =
AlignPos.Attachment1 = AttachmentA;
AlignPos.Attachment0 = AttachmentB;
AlignOri.Attachment1 = AttachmentC;
AlignOri.Attachment0 = AttachmentD;
CountSCIFIMOVIELOL = CountSCIFIMOVIELOL +
:().Heartbeat:(()
Part0.Velocity = .(,,)
)
.(()
player = .Players.LocalPlayer
char = player.Character player.CharacterAdded:()
sethiddenproperty
:().RenderStepped:()
().Physics.AllowSleep =
TBL = :():()
_ = ,#TBL Players = TBL[_]
Players ~= :().LocalPlayer
Players.MaximumSimulationRadius =
(Players,,)
:().LocalPlayer.MaximumSimulationRadius = .(.huge,.huge)
(:().LocalPlayer,,.(.huge,.huge)*.huge)
HumanDied
:().RenderStepped:()
().Physics.AllowSleep =
TBL = :():()
_ = ,#TBL Players = TBL[_]
Players ~= :().LocalPlayer
Players.MaximumSimulationRadius =
:().LocalPlayer.MaximumSimulationRadius = .(.huge,.huge)
HumanDied
)()
:().LocalPlayer.Character.Humanoid.RigType == .HumanoidRigType.R6
Bypass ==
:().LocalPlayer[].Archivable =
CloneChar = :().LocalPlayer[]:()
CloneChar.Parent =
CloneChar.HumanoidRootPart.CFrame = :().LocalPlayer[].HumanoidRootPart.CFrame * .(,,)
()
CloneChar.Humanoid.BreakJointsOnDeath =
.Camera.CameraSubject = CloneChar.Humanoid
CloneChar.Name =
CloneChar.Humanoid.DisplayDistanceType =
CloneChar.Head:() CloneChar.Head:():()
[:().LocalPlayer.Name].Head:() [:().LocalPlayer.Name].Head:().Parent = CloneChar.Head
DeadChar = [:().LocalPlayer.Name]
DeadChar.HumanoidRootPart:()
LVecPart = .(, ) LVecPart.CanCollide = LVecPart.Transparency =
CONVEC
()
HumanDied CONVEC:();
lookVec = .Camera.CFrame.lookVector
Root = CloneChar[]
LVecPart.Position = Root.Position
LVecPart.CFrame = .(LVecPart.Position, .(lookVec.X * , lookVec.Y, lookVec.Z * ))
CONVEC = :().Heartbeat:(VECTORUNIT)
CONDOWN
WDown, ADown, SDown, DDown, SpaceDown = , , , ,
(_,Processed)
HumanDied CONDOWN:();
Processed ~=
Key = _.KeyCode
Key == .KeyCode.W
WDown =
Key == .KeyCode.A
ADown =
Key == .KeyCode.S
SDown =
Key == .KeyCode.D
DDown =
Key == .KeyCode.Space
SpaceDown =
CONDOWN = :().InputBegan:(KEYDOWN)
CONUP
(_)
HumanDied CONUP:();
Key = _.KeyCode
Key == .KeyCode.W
WDown =
Key == .KeyCode.A
ADown =
Key == .KeyCode.S
SDown =
Key == .KeyCode.D
DDown =
Key == .KeyCode.Space
SpaceDown =
CONUP = :().InputEnded:(KEYUP)
(X,Y,Z)
VEL =
LVecPart.CFrame = LVecPart.CFrame * .(-X,Y,-Z)
[].Humanoid.WalkToPoint = LVecPart.Position
()
VEL =
.(()
:().RenderStepped:()
HumanDied
WDown (,,)
ADown (,,)
SDown (,,-)
DDown (-,,)
SpaceDown CloneChar[].Jump =
WDown ~= ADown ~= SDown ~= DDown ~=
[].Humanoid.WalkToPoint = [].HumanoidRootPart.Position
)()
con
()
HumanDied con:();
_,Parts , CloneChar:()
Parts:()
Parts.CanCollide =
_,Parts , DeadChar:()
Parts:()
Parts.CanCollide =
con = :().Stepped:(UnCollide)
resetBindable = .()
resetBindable.Event:(()
:():(, )
resetBindable:()
(()
CloneChar.Humanoid.Health =
DeadChar.Humanoid.Health =
)
)
:():(, resetBindable)
.(()
:().RenderStepped:()
CloneChar CloneChar:() CloneChar:() CloneChar:().Health <= DeadChar DeadChar:() DeadChar:() DeadChar:().Health <=
HumanDied =
FakeCharacter:()
:()
(()
.Players.LocalPlayer.Character = CloneChar
CloneChar:()
.Players.LocalPlayer.Character = DeadChar
resetBindable
:():(, )
resetBindable:()
DeadChar.Humanoid.Health =
)
)()
(DeadChar[],CloneChar[],.(,,),.(,,))
(DeadChar[],CloneChar[],.(,,),.(,,))
(DeadChar[],CloneChar[],.(,,),.(,,))
(DeadChar[],CloneChar[],.(,,),.(,,))
(DeadChar[],CloneChar[],.(,,),.(,,))
(DeadChar[],CloneChar[],.(,,),.(,,))
.(()
:().RenderStepped:()
HumanDied
DeadChar[].CFrame = CloneChar[].CFrame
)()
_,BodyParts , CloneChar:()
BodyParts:() BodyParts:()
BodyParts.Transparency =
DeadChar.Torso[]:()
DeadChar.Torso[]:()
DeadChar.Torso[]:()
DeadChar.Torso[]:()
Bypass ==
:().LocalPlayer[].Archivable =
CloneChar = :().LocalPlayer[]:()
:().LocalPlayer[].Humanoid.WalkSpeed =
:().LocalPlayer[].Humanoid.JumpPower =
:().LocalPlayer[].Humanoid.AutoRotate =
FalseChar = .(, ); FalseChar.Name =
.(,FalseChar).Name =
.(,FalseChar).Name =
.(,FalseChar).Name =
:().LocalPlayer[] = FalseChar
:().LocalPlayer[].Humanoid.Name =
Clone = :().LocalPlayer[]:():()
Clone.Parent = :().LocalPlayer[]
Clone.Name =
:().LocalPlayer[]:():()
:().LocalPlayer[].Humanoid.Health =
:().LocalPlayer[] = [:().LocalPlayer.Name]
(FakeLimbs[],FakeCharacter.Head,.(,,))
(FakeLimbs[],FakeCharacter[],.(,,))
(FakeLimbs[],FakeCharacter[],.(,,))
(FakeLimbs[],FakeCharacter[],.(,,))
(FakeLimbs[],FakeCharacter[],.(,,))
(FakeLimbs[],FakeCharacter.Torso,.(,,),.(,,))
(FakeLimbs[],FakeCharacter.Torso,.(,,),.(-,,))
FakeCharacter.HumanoidRootPart.CFrame = .Players.LocalPlayer.Character.HumanoidRootPart.CFrame
()
:().LocalPlayer[].Humanoid.Health =
CloneChar.Parent =
CloneChar.HumanoidRootPart.CFrame = :().LocalPlayer[].HumanoidRootPart.CFrame * .(,,)
()
CloneChar.Humanoid.BreakJointsOnDeath =
.Camera.CameraSubject = CloneChar.Humanoid
CloneChar.Name =
CloneChar.Humanoid.DisplayDistanceType =
CloneChar.Head:() CloneChar.Head:():()
[:().LocalPlayer.Name].Head:() [:().LocalPlayer.Name].Head:().Parent = CloneChar.Head
FalseChar:()
DeadChar = [:().LocalPlayer.Name]
LVecPart = .(, ) LVecPart.CanCollide = LVecPart.Transparency =
CONVEC
()
HumanDied CONVEC:();
lookVec = .Camera.CFrame.lookVector
Root = CloneChar[]
LVecPart.Position = Root.Position
LVecPart.CFrame = .(LVecPart.Position, .(lookVec.X * , lookVec.Y, lookVec.Z * ))
CONVEC = :().Heartbeat:(VECTORUNIT)
CONDOWN
WDown, ADown, SDown, DDown, SpaceDown = , , , ,
(_,Processed)
HumanDied CONDOWN:();
Processed ~=
Key = _.KeyCode
Key == .KeyCode.W
WDown =
Key == .KeyCode.A
ADown =
Key == .KeyCode.S
SDown =
Key == .KeyCode.D
DDown =
Key == .KeyCode.Space
SpaceDown =
CONDOWN = :().InputBegan:(KEYDOWN)
CONUP
(_)
HumanDied CONUP:();
Key = _.KeyCode
Key == .KeyCode.W
WDown =
Key == .KeyCode.A
ADown =
Key == .KeyCode.S
SDown =
Key == .KeyCode.D
DDown =
Key == .KeyCode.Space
SpaceDown =
CONUP = :().InputEnded:(KEYUP)
(X,Y,Z)
LVecPart.CFrame = LVecPart.CFrame * .(-X,Y,-Z)
[].Humanoid.WalkToPoint = LVecPart.Position
.(()
:().RenderStepped:()
HumanDied
WDown (,,)
ADown (,,)
SDown (,,-)
DDown (-,,)
SpaceDown CloneChar[].Jump =
WDown ~= ADown ~= SDown ~= DDown ~=
CloneChar.Humanoid.WalkToPoint = CloneChar.HumanoidRootPart.Position
)()
con
()
HumanDied con:();
_,Parts , CloneChar:()
Parts:()
HumanRoot.CanCollide =
Parts.CanCollide =
_,Parts , DeadChar:()
Parts:()
Parts.CanCollide =
HumanRoot.CanCollide =
con = :().Stepped:(UnCollide)
resetBindable = .()
resetBindable.Event:(()
:():(, )
resetBindable:()
CloneChar.Humanoid.Health =
)
:():(, resetBindable)
.(()
:().RenderStepped:()
CloneChar CloneChar:() CloneChar:() CloneChar:().Health <=
HumanDied =
(()
.Players.LocalPlayer.Character = CloneChar
CloneChar:()
.Players.LocalPlayer.Character = DeadChar
resetBindable
:():(, )
resetBindable:()
DeadChar.Humanoid.Health =
)
)()
(DeadChar[],CloneChar[],.(,,),.(,,))
(DeadChar[],CloneChar[],.(,,),.(,,))
(DeadChar[],CloneChar[],.(,,),.(,,))
(DeadChar[],CloneChar[],.(,,),.(,,))
(DeadChar[],CloneChar[],.(,,),.(,,))
(DeadChar[],CloneChar[],.(,,),.(,,))
_,v , DeadChar:()
v:()
v.Name ==
GunHat = v.Handle
(GunHat,m4,.(,,),.(,-,-))
v.Name ==
SoldierHelm = v.Handle
(SoldierHelm,FakeCharacter.Head,.(, , -),.(,,))
()
_,BodyParts , CloneChar:()
BodyParts:() BodyParts:()
BodyParts.Transparency =
Bypass ==
:().LocalPlayer[].Archivable =
DeadChar = .Players.LocalPlayer.Character
DeadChar.Name =
HatPosition = .(,,)
HatName =
HatsLimb = {
Rarm = DeadChar:(),
Larm = DeadChar:(),
Rleg = DeadChar:(),
Lleg = DeadChar:(),
Torso1 = DeadChar:(),
Torso2 = DeadChar:()
}
HatName = DeadChar:(HatName)
.(()
:().RenderStepped:()
DeadChar DeadChar:() DeadChar:() DeadChar:().Health <=
HumanDied =
(()
resetBindable
:():(, )
resetBindable:()
DeadChar.Humanoid.Health =
)
)()
con
()
HumanDied con:();
_,Parts , DeadChar:()
Parts:()
Parts.CanCollide =
con2
()
HumanDied con:();
_,Parts , FakeCharacter:()
Parts:()
Parts.CanCollide =
con = :().Stepped:(UnCollide)
con2 = :().Stepped:(UnCollide2)
(HatName.Handle,DeadChar[],.(,,),.(,,))
(HatsLimb.Torso1.Handle,DeadChar[],.(,,),.(,,))
(HatsLimb.Torso2.Handle,DeadChar[],.(-,,),.(,,))
(HatsLimb.Larm.Handle,DeadChar[],.(,,),.(,,))
(HatsLimb.Rarm.Handle,DeadChar[],.(,,),.(,,))
(HatsLimb.Lleg.Handle,DeadChar[],.(,,),.(,,))
(HatsLimb.Rleg.Handle,DeadChar[],.(,,),.(,,))
i,v (HatsLimb)
v.Handle:():()
v.Handle:() v.Handle:():()
v.Handle:() v.Handle:():()
HatName.Handle:():()
Bypass ==
:().LocalPlayer[].Archivable =
CloneChar = :()[]
CloneChar.Parent =
CloneChar.HumanoidRootPart.CFrame = :().LocalPlayer[].HumanoidRootPart.CFrame * .(,,)
CloneChar.Humanoid.BreakJointsOnDeath =
.Camera.CameraSubject = CloneChar.Humanoid
CloneChar.Name =
CloneChar.Humanoid.DisplayDistanceType =
CloneChar.Head:() CloneChar.Head:():()
[:().LocalPlayer.Name].Head:() [:().LocalPlayer.Name].Head:().Parent = CloneChar.Head
DeadChar = [:().LocalPlayer.Name]
DeadChar.HumanoidRootPart:()
LVecPart = .(, ) LVecPart.CanCollide = LVecPart.Transparency =
CONVEC
()
HumanDied CONVEC:();
lookVec = .Camera.CFrame.lookVector
Root = CloneChar[]
LVecPart.Position = Root.Position
LVecPart.CFrame = .(LVecPart.Position, .(lookVec.X * , lookVec.Y, lookVec.Z * ))
CONVEC = :().Heartbeat:(VECTORUNIT)
CONDOWN
WDown, ADown, SDown, DDown, SpaceDown = , , , ,
(_,Processed)
HumanDied CONDOWN:();
Processed ~=
Key = _.KeyCode
Key == .KeyCode.W
WDown =
Key == .KeyCode.A
ADown =
Key == .KeyCode.S
SDown =
Key == .KeyCode.D
DDown =
Key == .KeyCode.Space
SpaceDown =
CONDOWN = :().InputBegan:(KEYDOWN)
CONUP
(_)
HumanDied CONUP:();
Key = _.KeyCode
Key == .KeyCode.W
WDown =
Key == .KeyCode.A
ADown =
Key == .KeyCode.S
SDown =
Key == .KeyCode.D
DDown =
Key == .KeyCode.Space
SpaceDown =
CONUP = :().InputEnded:(KEYUP)
(X,Y,Z)
LVecPart.CFrame = LVecPart.CFrame * .(-X,Y,-Z)
[].Humanoid.WalkToPoint = LVecPart.Position
.(()
:().RenderStepped:()
HumanDied
WDown (,,)
ADown (,,)
SDown (,,-)
DDown (-,,)
SpaceDown CloneChar[].Jump =
WDown ~= ADown ~= SDown ~= DDown ~=
[].Humanoid.WalkToPoint = [].HumanoidRootPart.Position
)()
con
()
HumanDied con:();
_,Parts , CloneChar:()
Parts:()
Parts.CanCollide =
_,Parts , DeadChar:()
Parts:()
Parts.CanCollide =
con = :().Stepped:(UnCollide)
resetBindable = .()
resetBindable.Event:(()
:():(, )
resetBindable:()
CloneChar.Humanoid.Health =
)
:():(, resetBindable)
.(()
:().RenderStepped:()
CloneChar CloneChar:() CloneChar:() CloneChar:().Health <= DeadChar DeadChar:() DeadChar:() DeadChar:().Health <=
HumanDied =
(()
.Players.LocalPlayer.Character = CloneChar
CloneChar:()
.Players.LocalPlayer.Character = DeadChar
resetBindable
:():(, )
resetBindable:()
DeadChar.Humanoid.Health =
)
)()
_,v , DeadChar:()
v:()
v:().Parent = CloneChar
_,v , DeadChar:()
v:() v.Name ~=
v:()
(DeadChar[],CloneChar[],.(,,),.(,,))
(DeadChar[],CloneChar[],.(,,),.(,,))
(DeadChar[],CloneChar[],.(,-,),.(,,))
(DeadChar[],CloneChar[],.(,,),.(,,))
(DeadChar[],CloneChar[],.(,-,),.(,,))
(DeadChar[],CloneChar[],.(,-,),.(,,))
(DeadChar[],CloneChar[],.(,,),.(,,))
(DeadChar[],CloneChar[],.(,-,),.(,,))
(DeadChar[],CloneChar[],.(,-,),.(,,))
(DeadChar[],CloneChar[],.(,,),.(,,))
(DeadChar[],CloneChar[],.(,-,),.(,,))
(DeadChar[],CloneChar[],.(,-,),.(,,))
(DeadChar[],CloneChar[],.(,,),.(,,))
(DeadChar[],CloneChar[],.(,-,),.(,,))
(DeadChar[],CloneChar[],.(,-,),.(,,))
.(()
:().RenderStepped:()
HumanDied
DeadChar[].CFrame = CloneChar[].CFrame * .(,,)
)()
_,v , DeadChar:()
v:()
(v.Handle,CloneChar[v.Name].Handle,.(,,),.(,,))
_,BodyParts , CloneChar:()
BodyParts:() BodyParts:()
BodyParts.Transparency =
Bypass ==
:().LocalPlayer[].Archivable =
CloneChar = :()[]
:().LocalPlayer[].Humanoid.WalkSpeed =
:().LocalPlayer[].Humanoid.JumpPower =
:().LocalPlayer[].Humanoid.AutoRotate =
FalseChar = .(, ); FalseChar.Name =
.(,FalseChar).Name =
.(,FalseChar).Name =
.(,FalseChar).Name =
:().LocalPlayer[] = FalseChar
:().LocalPlayer[].Humanoid.Name =
Clone = :().LocalPlayer[]:():()
Clone.Parent = :().LocalPlayer[]
Clone.Name =
:().LocalPlayer[]:():()
:().LocalPlayer[].Humanoid.Health =
:().LocalPlayer[] = [:().LocalPlayer.Name]
()
:().LocalPlayer[].Humanoid.Health =
CloneChar.Parent =
CloneChar.HumanoidRootPart.CFrame = :().LocalPlayer[].HumanoidRootPart.CFrame * .(,,)
()
CloneChar.Humanoid.BreakJointsOnDeath =
.Camera.CameraSubject = CloneChar.Humanoid
CloneChar.Name =
CloneChar.Humanoid.DisplayDistanceType =
CloneChar.Head:() CloneChar.Head:():()
[:().LocalPlayer.Name].Head:() [:().LocalPlayer.Name].Head:().Parent = CloneChar.Head
FalseChar:()
DeadChar = [:().LocalPlayer.Name]
LVecPart = .(, ) LVecPart.CanCollide = LVecPart.Transparency =
CONVEC
()
HumanDied CONVEC:();
lookVec = .Camera.CFrame.lookVector
Root = CloneChar[]
LVecPart.Position = Root.Position
LVecPart.CFrame = .(LVecPart.Position, .(lookVec.X * , lookVec.Y, lookVec.Z * ))
CONVEC = :().Heartbeat:(VECTORUNIT)
CONDOWN
WDown, ADown, SDown, DDown, SpaceDown = , , , ,
(_,Processed)
HumanDied CONDOWN:();
Processed ~=
Key = _.KeyCode
Key == .KeyCode.W
WDown =
Key == .KeyCode.A
ADown =
Key == .KeyCode.S
SDown =
Key == .KeyCode.D
DDown =
Key == .KeyCode.Space
SpaceDown =
CONDOWN = :().InputBegan:(KEYDOWN)
CONUP
(_)
HumanDied CONUP:();
Key = _.KeyCode
Key == .KeyCode.W
WDown =
Key == .KeyCode.A
ADown =
Key == .KeyCode.S
SDown =
Key == .KeyCode.D
DDown =
Key == .KeyCode.Space
SpaceDown =
CONUP = :().InputEnded:(KEYUP)
(X,Y,Z)
LVecPart.CFrame = LVecPart.CFrame * .(-X,Y,-Z)
[].Humanoid.WalkToPoint = LVecPart.Position
.(()
:().RenderStepped:()
HumanDied
WDown (,,)
ADown (,,)
SDown (,,-)
DDown (-,,)
SpaceDown CloneChar[].Jump =
WDown ~= ADown ~= SDown ~= DDown ~=
[].Humanoid.WalkToPoint = [].HumanoidRootPart.Position
)()
con
()
HumanDied con:();
_,Parts , CloneChar:()
Parts:()
Parts.CanCollide =
_,Parts , DeadChar:()
Parts:()
Parts.CanCollide =
con = :().Stepped:(UnCollide)
resetBindable = .()
resetBindable.Event:(()
:():(, )
resetBindable:()
CloneChar.Humanoid.Health =
)
:():(, resetBindable)
.(()
:().RenderStepped:()
CloneChar CloneChar:() CloneChar:() CloneChar:().Health <=
HumanDied =
(()
.Players.LocalPlayer.Character = CloneChar
CloneChar:()
.Players.LocalPlayer.Character = DeadChar
resetBindable
:():(, )
resetBindable:()
DeadChar.Humanoid.Health =
)
)()
_,v , DeadChar:()
v:()
v:().Parent = CloneChar
(DeadChar[],CloneChar[],.(,,),.(,,))
(DeadChar[],CloneChar[],.(,,),.(,,))
(DeadChar[],CloneChar[],.(,-,),.(,,))
(DeadChar[],CloneChar[],.(,,),.(,,))
(DeadChar[],CloneChar[],.(,-,),.(,,))
(DeadChar[],CloneChar[],.(,-,),.(,,))
(DeadChar[],CloneChar[],.(,,),.(,,))
(DeadChar[],CloneChar[],.(,-,),.(,,))
(DeadChar[],CloneChar[],.(,-,),.(,,))
(DeadChar[],CloneChar[],.(,,),.(,,))
(DeadChar[],CloneChar[],.(,-,),.(,,))
(DeadChar[],CloneChar[],.(,-,),.(,,))
(DeadChar[],CloneChar[],.(,,),.(,,))
(DeadChar[],CloneChar[],.(,-,),.(,,))
(DeadChar[],CloneChar[],.(,-,),.(,,))
(DeadChar[],CloneChar[],.(,,),.(,,))
_,v , DeadChar:()
v:()
(v.Handle,CloneChar[v.Name].Handle,.(,,),.(,,))
_,BodyParts , CloneChar:()
BodyParts:() BodyParts:()
BodyParts.Transparency =
DeadChar.Head:()
.Players.LocalPlayer.Character:()
CloneChar = .non
.Players.LocalPlayer.Character.Parent = CloneChar
MakeNewAnim = (id)
NewAnim = .()
NewAnim.AnimationId = id
{NewAnim,id}
(Character)
(()
Humanoid = Character:()
HRP = Character:()
Walk = ()
Idle = ()
Jump = ()
Fall = ()
anim = Idle[]
AnimId = Idle[]
Anim = Humanoid:(anim)
Anim.Priority = .AnimationPriority.Core
rayCast = (Pos, Dir, Max, Ignore)
:():(Ray.(Pos, Dir.unit * (Max )), (Ignore))
(()
HumanDied ~=
()
hitfloor = (HRP.Position, .(HRP.Position, HRP.Position - .(, , )).lookVector, , Character)
oldAnim = Anim
oldAnimId = AnimId
HRP.Velocity.Y > hitfloor ==
Anim = Humanoid:(Jump[])
AnimId = Jump[]
HRP.Velocity.Y < hitfloor ==
Anim = Humanoid:(Fall[])
AnimId = Fall[]
(HRP.Velocity.X + HRP.Velocity.Z)/ > (HRP.Velocity.X + HRP.Velocity.Z)/ < -
Anim = Humanoid:(Walk[])
AnimId = Walk[]
Anim = Humanoid:(Idle[])
AnimId = Idle[]
AnimId ~= oldAnimId
oldAnim:()
Anim:()
)
)
(CloneChar)
(FakeCharacter)
s = :().Heartbeat:(()
.Players.LocalPlayer.Character.HumanoidRootPart.Velocity = .(,,)
)
.(()
()
HumanDied ==
s:()
)
SHOW = .(,)
SHOW.Adornee = .Players.LocalPlayer.Character.HumanoidRootPart
bambam = .()
bambam.Parent = HumanRoot
bambam.Force = .(,,)
myHuman = FakeCharacter.Humanoid
myTorso = FakeCharacter.Torso
myHead = FakeCharacter.Head
myFace = myHead.face
neck = myTorso.Neck
headWeld = myTorso[]
rArm = FakeCharacter[]
lArm = FakeCharacter[]
lShoulder = myTorso[]
rShoulder = myTorso[]
lArmWeld = myTorso[]
rArmWeld = myTorso[]
gyro = FakeCharacter.HumanoidRootPart.BodyGyro
m4 = FakeCharacter.M4
GunHat
GunHat.Parent = FakeCharacter
SoldierHelm
SoldierHelm.Parent = FakeCharacter
FakeCharacter.Mask.Transparency =
FakeLimbs[].Transparency =
FakeCharacter.fasthelmet.Transparency =
m4Weld = m4[]
barrel = FakeCharacter.Barrel
aimer = FakeCharacter.Aimer
aimerWeld = aimer[]
fullMag =
mag = fullMag
flash = barrel.Attachment.Flash
knife = FakeCharacter.Knife
knifeWeld = knife[]
grenade = FakeCharacter.Grenade
equipSound = m4.Equip
fireSound = m4.Fire
reloadSound = m4.Reload
knifeEquipSound = knife.EquipSound
knifeAttackSound = knife.AttackSound
knifeStabSound = knife.StabSound
hurtSound = myHead.Hurt
pinSound = grenade.Pin
stabAnimation = myHuman:(FakeCharacter.Stab)
stabAnimation.Priority = .AnimationPriority.Action
throwAnimation = myHuman:(FakeCharacter.ThrowAnimation)
throwAnimation.Priority = .AnimationPriority.Action
throwAnimation.Looped =
reloadAnimation = myHuman:(FakeCharacter.Reload)
reloadAnimation.Priority = .AnimationPriority.Action
reloading =
weaponAimed =
weaponCool =
m4Equipped =
knifeEquipped =
grenadeCool =
currentTarget =
status =
(()
()
currentTarget == weaponCool ==
HumanRoot.Position = FakeCharacter.Torso.Position
bambam.Force = .(,,)
)
faces = {Idle = ,
Attacking = ,
Hunting = ,
Hurt = ,
Dead = }
gunPointedAt =
allies = {}
potentialTargets = {}
activeAllies = {}
team = FakeCharacter.Settings.Team.Value
attackPlayers = FakeCharacter.Settings.AttackPlayers.Value
(func,...)
co = .(func)
(...)
(part1,part2)
(part1.Position - part2.Position).Magnitude
(target)
ray = Ray.(barrel.Position, (target.Position - barrel.Position).Unit * )
part,position = :(ray, {FakeCharacter})
ray2 = Ray.(myTorso.Position, (target.Position - myTorso.Position).Unit * )
part2,position2 = :(ray2, {FakeCharacter})
part part2
part:(target.Parent) part2:(target.Parent)
()
myFace.Texture ~= faces.Dead myFace.Texture ~= faces.Hurt
myFace.Texture = faces[status]
()
dist = FakeCharacter.Settings.DetectionRange.Value
target =
potentialTargets = {}
seeTargets = {}
_,v (:())
human = v:()
torso = v:() v:()
human torso v ~= FakeCharacter v ~= CloneChar
targetTeam
teammate =
v:()
targetTeam = v.Team.Value
v:() v.Settings:()
targetTeam = v.Settings.Team.Value
(targetTeam targetTeam == team) ( attackPlayers .Players:(v))
teammate =
(myTorso.Position - torso.Position).magnitude < dist human.Health >
i,x (allies)
x == v.Name teammate
.(activeAllies,torso)
i == #allies
.(potentialTargets,torso)
#potentialTargets >
i,v (potentialTargets)
(v)
.(seeTargets,v)
#seeTargets >
i,v (seeTargets)
(myTorso.Position - v.Position).magnitude < dist
target = v
dist = (myTorso.Position - v.Position).magnitude
i,v (potentialTargets)
(myTorso.Position - v.Position).magnitude < dist
target = v
dist = (myTorso.Position - v.Position).magnitude
currentTarget = target
(target)
path = :():()
path:(myTorso.Position, target.Position)
waypoints = path:()
_,waypoint (waypoints)
waypoint.Action == .PathWaypointAction.Jump
myHuman.Jump =
myHuman:(waypoint.Position)
(()
()
myHuman.WalkToPoint.Y > myTorso.Position.Y
myHuman.Jump =
)
moveSuccess = myHuman.MoveToFinished:()
moveSuccess target.Parent ((myTorso,target) < (target)) currentTarget ~= target
(target,waypoints[#waypoints]) >
(target)
()
randX = .(-,)
randZ = .(-,)
goal = myTorso.Position + .(randX, , randZ)
path = :():()
path:(myTorso.Position, goal)
waypoints = path:()
path.Status == .PathStatus.Success
i,waypoint (waypoints)
waypoint.Action == .PathWaypointAction.Jump
myHuman.Jump =
myHuman:(waypoint.Position)
(()
()
myHuman.WalkToPoint.Y > myTorso.Position.Y
myHuman.Jump =
)
moveSuccess = myHuman.MoveToFinished:()
moveSuccess currentTarget
()
()
()
m4Equipped ==
m4Equipped =
equipSound:()
rShoulder.Part1 =
rArm.CFrame = aimer.CFrame * .(,,-) * .(.(),.(),.(-))
rArmWeld.Part1 = rArm
lShoulder.Part1 =
lArm.CFrame = aimer.CFrame * .(-,,-) * .(.(),.(-),.())
lArmWeld.Part1 = lArm
m4Weld.Part0 =
m4.CFrame = aimer.CFrame * .(,,-) * .(.(-),.(),.())
m4Weld.Part0 = aimer
()
myHuman.AutoRotate =
gyro.MaxTorque = .(,,)
weaponAimed ==
weaponAimed =
()
m4Equipped ==
m4Equipped =
equipSound:()
rArmWeld.Part1 =
rShoulder.Part1 = rArm
lArmWeld.Part1 =
lShoulder.Part1 = lArm
m4Weld.Part0 =
m4.CFrame = myTorso.CFrame * .(,,) * .(.(-),.(-),.())
m4Weld.Part0 = myTorso
()
knifeEquipped ==
()
knifeEquipSound:()
knifeEquipped =
knifeWeld.Part0 =
knife.CFrame = rArm.CFrame * .(,-,-) * .(.(),.(),.())
knifeWeld.Part0 = rArm
()
knifeEquipped ==
knifeEquipped =
knifeWeld.Part0 =
knife.CFrame = myTorso.CFrame * .(-,-,) * .(.(-),,.())
knifeWeld.Part0 = myTorso
(target)
weaponAimed ==
:():(neck,TweenInfo.(),{C0 = neck.C0 * .(,.(-),)}):()
myHuman.AutoRotate =
weaponAimed =
gyro.CFrame = .(myTorso.Position,target.Position)
gyro.MaxTorque = .(,.huge,)
reloading
aimCFrame = .(aimer.Position,target.Position)
aimCFrame = aimCFrame - aimCFrame.Position
negateCFrame = myTorso.CFrame - myTorso.Position
newC0 = .(,,) * negateCFrame:() * aimCFrame
x,y,z = newC0:()
x = .(x,-,)
newC0 = .(,,) * .(x,,)
lookDiff = (newC0.LookVector - aimerWeld.C0.LookVector).Magnitude
:():(aimerWeld,TweenInfo.(lookDiff * ),{C0 = newC0}):()
newC0 = .(,,) * .(- + .(aimer.Orientation.X),.(),.())
:():(neck,TweenInfo.(lookDiff * ),{C0 = newC0}):()
(lookDiff*)
()
:():(neck,TweenInfo.(),{C0 = .(,,) * .(.(-),,.())}):()
(target)
weaponCool == reloading ==
weaponCool =
shot
(target,myTorso) >
shot =
shot =
i = , shot
()
mag = mag -
flash:()
flash = .(,barrel)
flash.Brightness =
:():(flash,)
bullet = .()
bullet.Size = .(,,)
bullet.BrickColor = BrickColor.()
bullet.Material = .Material.Neon
bullet.CFrame = barrel.CFrame
bullet.CanCollide =
bullet.Touched:((obj)
obj:(FakeCharacter)
human = obj.Parent:()
human
i = ,
()
HumanRoot.Position = obj.Parent:().Position
bambam.Location = obj.Parent:().Position
bambam.Force = .(,,)
()
bullet:()
)
bullet.Parent =
fireSound:()
spread = .(.(-shot,shot)/,.(-shot,shot)/,.(-shot,shot)/)
bv = .(,bullet)
bv.MaxForce = .(.huge,.huge,.huge)
bv.Velocity = (aimer.CFrame.LookVector + spread) *
s = .(,bullet)
s.Volume =
s.PlaybackSpeed =
s.Looped =
s.SoundId =
s:()
a1 = .(,bullet)
a1.Position = .(,,)
a2 = .(,bullet)
a2.Position = .(,-,)
t = .(,bullet)
t.Attachment0 = a1
t.Attachment1 = a2
t.Color = ColorSequence.(bullet.Color)
t.WidthScale = NumberSequence.(,)
t.Lifetime =
:():(bullet, )
mag <=
()
(()
()
weaponCool =
)
()
weaponAimed ==
()
weaponAimed =
reloadSound:()
reloading =
()
m4Weld.Part0 =
m4.CFrame = lArm.CFrame * .(,-,) * .(.(),,)
m4Weld.Part0 = lArm
reloadAnimation:()
reloadAnimation:()
reloadAnimation.Stopped:()
reloading =
mag = fullMag
()
(target)
weaponCool ==
weaponCool =
knifeStabSound:()
knifeAttackSound:()
stabAnimation:()
human = target.Parent.Humanoid
HumanRoot.Position = target.Parent:().Position
bambam.Location = target.Parent:().Position
bambam.Force = .(,,)
(()
()
weaponCool =
)
()
()
()
weaponAimed ==
weaponAimed =
()
(target)
i,v (activeAllies)
(target,v) <
i,v (potentialTargets)
v ~= target
(target,v) <
(target)
weaponCool == grenadeCool ==
weaponCool =
grenadeCool =
()
g = grenade:()
g.Boom.PlayOnRemove =
g.Parent =
g.CanCollide =
g.CFrame = rArm.CFrame * .(,-,) * .(,,.())
:():(g,)
grenade.Transparency =
w = .(,g)
w.Part0 = rArm
w.Part1 = g
throwAnimation:()
pinSound:()
(target)
()
myHuman.Health <=
(target)
throwAnimation:()
w.Part1 =
dist = (myTorso,target)
g.Velocity = (myTorso.CFrame.LookVector + .(,,)) * .(dist,dist*,dist)
touched = g.Touched:((obj)
obj:(FakeCharacter)
touched:()
g.Pin:()
()
x = .(,)
x.Position = g.Position
x.Hit:((obj,dist)
human = obj.Parent:()
human
human:( - dist)
human:(.HumanoidStateType.Ragdoll)
)
g:()
:():(x,)
)
attach0 = g.Attach0
attach1 = g.Attach1
t = .(,g)
t.Attachment0 = attach0
t.Attachment1 = attach1
t.Lifetime =
t.Color = ColorSequence.(.(,,))
t.WidthScale = NumberSequence.(,)
(()
()
weaponCool =
()
grenadeCool =
grenade.Transparency =
)
()
myHuman.Health>
currentTarget
(currentTarget,myTorso) > (currentTarget)
(currentTarget)
(currentTarget,myTorso) >
.(,) ==
myHuman:(myTorso.CFrame.RightVector)
myHuman:(-myTorso.CFrame.RightVector)
()
randomAction = .()
randomAction ==
()
randomAction ==
()
()
()
myHuman.Health>
()
()
()
myHuman.Health>
currentTarget
(currentTarget)
(currentTarget)
gunPointedAt = currentTarget
()
()
()
()
myHuman.Health>
currentTarget
status =
()
(currentTarget)
status =
()
distance = (myTorso,currentTarget)
distance >
(currentTarget) == distance < distance > grenadeCool
(currentTarget)
()
()
gunPointedAt == currentTarget
shoot(currentTarget)
end
else
drawKnife()
myHuman:MoveTo(currentTarget.Position)
local canStab = false
for i,v in pairs(currentTarget.Parent:GetChildren()) do
if v:IsA("BasePart") and checkDist(v,myTorso) < 7 then
canStab = true
end
end
if canStab then
stab(currentTarget)
end
end
else
if weaponAimed == true then
weaponAimed = false
myHuman.AutoRotate = true
gyro.MaxTorque = Vector3.new(0,0,0)
resetHead()
local newC0 = CFrame.new(0,0.5,0) * CFrame.Angles(-0.5,0,0)
local lookDiff = (newC0.LookVector - aimerWeld.C0.LookVector).Magnitude
game:GetService("TweenService"):Create(aimerWeld,TweenInfo.new(lookDiff * 0.2),{C0 = newC0}):Play()
end
end
else
status = "Idle"
updateFace()
yieldWeapons()
wait(2)
end
wait(0.1)
end
end
function Died()
FakeCharacter:Destroy()
CloneChar:Destroy()
game.Players.LocalPlayer.Character:Destroy()
end
myHuman.Died:Connect(Died)
local oldHealth = myHuman.Health
local soundSpeeds = {0.9,0.95,1,1.05,1.1}
myHuman.HealthChanged:Connect(function(health)
if health < oldHealth and hurtSound.IsPlaying == false then
hurtSound.PlaybackSpeed = soundSpeeds[math.random(#soundSpeeds)]
hurtSound:Play()
spawner(function()
myFace.Texture = faces.Hurt
wait(1)
if myFace.Texture == faces.Hurt then
myFace.Texture = faces[status]
end
end)
end
oldHealth = health
end)
spawner(searchTargetLoop)
spawner(attackLoop)
spawner(movementLoop)
spawner(aimingLoop)
-- {<CONVERTED BY CREO>} -- FE Soldier AI
-- Join my discord server for early scripts :)
-- https://discord.gg/SWt5Uzpd
--[[ {<HATS NEEDED>}
https://web.roblox.com/catalog/6133544919/Retro-SWAT-Helmet
https://web.roblox.com/catalog/7806887000/CR-L-4-Back
https://www.roblox.com/catalog/48474313/Red-Roblox-Cap
https://www.roblox.com/catalog/4391384843/International-Fedora-Russia
https://www.roblox.com/catalog/48474294/ROBLOX-Girl-Hair
https://www.roblox.com/catalog/62724852/Chestnut-Bun
https://www.roblox.com/catalog/451220849/Lavender-Updo
https://www.roblox.com/catalog/63690008/Pal-Hair
https://www.roblox.com/catalog/62234425/Brown-Hair
]]HATS ARE NEEDED FOR THIS AND THIS WORKS IN R6 (not made by me)

Universal