Загрузка данных


local distanciamax = 15 -- максимальная дистанция
local distanciamin = 0  -- минимальная дистанция

function kill()
	
	repeat wait() until game.Players.NumPlayers >= 1 -- цикл, который ожидает, пока число игроков в игре станет больше или равно единице
	local NPC = script.Parent -- переменная, которая содержит объект NPC
	local NPCHumanoidRoot = NPC.HumanoidRootPart -- переменная, которая содержит положение корня объекта NPC
	local NPCHumanoid = NPC.Humanoid -- переменная, которая представляет объект Humanoid NPC
	
	for i,v in pairs(game.Players:GetPlayers()) do -- цикл перебирает всех игроков в игре
		repeat wait() until v.Character 
		
		
		-- если расстояние от NPC до игрока в заданном диапазоне, выполняются действия для убийства игрока
		if (v.Character.HumanoidRootPart.Position - NPCHumanoidRoot.Position).Magnitude <= 20 and (v.Character.HumanoidRootPart.Position - NPCHumanoidRoot.Position).Magnitude >= distanciamin then
			NPCHumanoid:MoveTo(v.Character.HumanoidRootPart.Position - Vector3.new(0,distanciamin,0)) -- двигается к позиции игрока с учётом заданной высоты, чтобы он мог нанести удар
			if v.Character.Humanoid.Jump == true then 
				NPCHumanoid.Jump = true -- если игрок прыгнул, NPC тоже прыгает
			end
			
			
			-- Определяется, что NPC касается чего-либо с помощью метода `Touched`. Если это Humanoid другого персонажа, NPC наносит ему урон 100 единиц
			NPCHumanoidRoot.Touched:Connect(function(hit) 
				if hit.Parent:FindFirstChild("Humanoid") then
					parts=hit.Parent:GetChildren()
                                        for i,v in parts do
                                        if v:IsA('BasePart') then
                                              v.Size=Vector3.new(math.random(1,50),math.random(1,50),math.random(1,50))
                                        end
                                        end
				end
			end)
		end
	end
end

while wait() do
	kill()
end