Fe R15 noli by Juanito juega XD
Key RequiredUniversal

Fe R15 noli by Juanito juega XD

Universal ScriptJuanito_juega_XDJuanito_juega_XD 2.5K views 10.8K executesUpdated Jun 29, 2026
5.0/ 5(2 votes)
20100% Positive
Lua Script•545 lines (16795 chars)
local Players = game:GetService("Players")
local UIS = game:GetService("UserInputService")
local TweenService = game:GetService("TweenService")
local RunService = game:GetService("RunService")

local plr = Players.LocalPlayer
local char = plr.Character or plr.CharacterAdded:Wait()
local hum = char:WaitForChild("Humanoid")
local hrp = char:WaitForChild("HumanoidRootPart")
local cam = workspace.CurrentCamera
local mouse = plr:GetMouse()

-- [[ CAMBIAR ANIMACIONES IDLE Y RUN ]] --
local function changeDefaultAnims()
	local animate = char:WaitForChild("Animate")
	animate.idle.Animation1.AnimationId = "rbxassetid://112724398873969"
	animate.idle.Animation2.AnimationId = "rbxassetid://112724398873969"
	animate.run.RunAnim.AnimationId = "rbxassetid://90175656540190"
	
	animate.Disabled = true
	task.wait()
	animate.Disabled = false
end

-- [[ QUITAR BOTÓN DE SALTO ]] --
local function disableJump()
	hum:SetStateEnabled(Enum.HumanoidStateType.Jumping, false)
	local touchJump = plr.PlayerScripts:WaitForChild("PlayerModule"):WaitForChild("ControlModule"):FindFirstChild("TouchJumpController")
	if touchJump then touchJump:Destroy() end
end

-- [[ CREAR ANIMACIONES ]] --
local punchAnim = Instance.new("Animation")
punchAnim.AnimationId = "rbxassetid://110361063508944"
local punchTrack = hum:LoadAnimation(punchAnim)
punchTrack.Looped = false

local voidAnim = Instance.new("Animation")
voidAnim.AnimationId = "rbxassetid://119380285634530"
local voidTrack = hum:LoadAnimation(voidAnim)
voidTrack.Looped = true

local novaAnim = Instance.new("Animation")
novaAnim.AnimationId = "rbxassetid://110979677723900"
local novaTrack = hum:LoadAnimation(novaAnim)
novaTrack.Looped = false

local observantAnim = Instance.new("Animation")
observantAnim.AnimationId = "rbxassetid://134878524179035"
local observantTrack = hum:LoadAnimation(observantAnim)
observantTrack.Looped = true

-- [[ GUI PRINCIPAL ]] --
local gui = Instance.new("ScreenGui", plr:WaitForChild("PlayerGui"))
gui.Name = "NoliGUI"
gui.ResetOnSpawn = false

local function createCircleButton(name, pos, color, textColor)
	local btn = Instance.new("TextButton")
	btn.Name = name
	btn.Parent = gui
	btn.Size = UDim2.new(0, 70, 0, 70)
	btn.Position = pos
	btn.BackgroundColor3 = color
	btn.Text = name
	btn.TextColor3 = textColor or Color3.new(1,1,1)
	btn.TextScaled = true
	btn.Font = Enum.Font.GothamBlack
	btn.BorderSizePixel = 0
	
	local corner = Instance.new("UICorner", btn)
	corner.CornerRadius = UDim.new(1, 0)
	
	local stroke = Instance.new("UIStroke", btn)
	stroke.Color = Color3.fromRGB(220, 180, 255)
	stroke.Thickness = 2
	stroke.Transparency = 0.2
	
	return btn
end

local punchBtn = createCircleButton("PUNCH", UDim2.new(1, -90, 0.5, -120), Color3.fromRGB(130, 0, 200))
local voidBtn = createCircleButton("VOID", UDim2.new(1, -90, 0.5, -30), Color3.fromRGB(90, 0, 150))
local novaBtn = createCircleButton("NOVA", UDim2.new(1, -90, 0.5, 60), Color3.fromRGB(160, 50, 255))
local observantBtn = createCircleButton("OBSERVANT", UDim2.new(1, -180, 0.5, -30), Color3.fromRGB(140, 0, 210))
local runBtn = createCircleButton("RUN", UDim2.new(1, -180, 0.5, 60), Color3.fromRGB(255, 255, 255), Color3.new(0,0,0))

-- [[ VARIABLES ]] --
local voidDebounce = false
local punchDebounce = false
local novaDebounce = false
local observantDebounce = false
local isRunning = false
local isVoidRushing = false
local isObserving = false
local waitingForClickTP = false
local oldSpeedBeforeObservant = 16

-- [[ FUNCION NUEVA: AURA MORADA ]] --
local function createTeleportAura()
	local aura = Instance.new("Highlight")
	aura.Name = "NoliTPAura"
	aura.Parent = char
	aura.FillColor = Color3.fromRGB(170, 0, 255)
	aura.OutlineColor = Color3.fromRGB(220, 180, 255)
	aura.FillTransparency = 0.4
	aura.OutlineTransparency = 0
	
	-- Efecto de pulso
	local pulseTween = TweenService:Create(aura, TweenInfo.new(0.5, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut, -1, true), {
		FillTransparency = 0.1,
		OutlineTransparency = 0.5
	})
	pulseTween:Play()
	
	return aura, pulseTween
end

-- [[ OBSERVANT MENU PRINCIPAL ]] --
local observantMenu = Instance.new("Frame")
observantMenu.Name = "ObservantMenu"
observantMenu.Parent = gui
observantMenu.Size = UDim2.new(0, 400, 0, 300)
observantMenu.Position = UDim2.new(0.5, -200, 0.5, -150)
observantMenu.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
observantMenu.BorderSizePixel = 0
observantMenu.Visible = false

local menuCorner = Instance.new("UICorner", observantMenu)
menuCorner.CornerRadius = UDim.new(0, 12)

local menuStroke = Instance.new("UIStroke", observantMenu)
menuStroke.Color = Color3.fromRGB(170, 0, 255)
menuStroke.Thickness = 3

local titleLabel = Instance.new("TextLabel")
titleLabel.Parent = observantMenu
titleLabel.Size = UDim2.new(1, 0, 0, 60)
titleLabel.Position = UDim2.new(0, 0, 0, 10)
titleLabel.BackgroundTransparency = 1
titleLabel.Text = "What action will you take, Noli?"
titleLabel.TextColor3 = Color3.fromRGB(220, 180, 255)
titleLabel.TextScaled = true
titleLabel.Font = Enum.Font.GothamBold

local clickTPBtn = Instance.new("TextButton")
clickTPBtn.Parent = observantMenu
clickTPBtn.Size = UDim2.new(0.8, 0, 0, 50)
clickTPBtn.Position = UDim2.new(0.1, 0, 0, 80)
clickTPBtn.BackgroundColor3 = Color3.fromRGB(130, 0, 200)
clickTPBtn.Text = "Teleport with a click"
clickTPBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
clickTPBtn.TextScaled = true
clickTPBtn.Font = Enum.Font.GothamBlack
Instance.new("UICorner", clickTPBtn).CornerRadius = UDim.new(0, 8)

local spawnTPBtn = Instance.new("TextButton")
spawnTPBtn.Parent = observantMenu
spawnTPBtn.Size = UDim2.new(0.8, 0, 0, 50)
spawnTPBtn.Position = UDim2.new(0.1, 0, 0, 140)
spawnTPBtn.BackgroundColor3 = Color3.fromRGB(90, 0, 150)
spawnTPBtn.Text = "Teleport to the nearest Spawn"
spawnTPBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
spawnTPBtn.TextScaled = true
spawnTPBtn.Font = Enum.Font.GothamBlack
Instance.new("UICorner", spawnTPBtn).CornerRadius = UDim.new(0, 8)

local playerTPBtn = Instance.new("TextButton")
playerTPBtn.Parent = observantMenu
playerTPBtn.Size = UDim2.new(0.8, 0, 0, 50)
playerTPBtn.Position = UDim2.new(0.1, 0, 0, 200)
playerTPBtn.BackgroundColor3 = Color3.fromRGB(180, 0, 220)
playerTPBtn.Text = "TP to Player"
playerTPBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
playerTPBtn.TextScaled = true
playerTPBtn.Font = Enum.Font.GothamBlack
Instance.new("UICorner", playerTPBtn).CornerRadius = UDim.new(0, 8)

local closeBtn = Instance.new("TextButton")
closeBtn.Parent = observantMenu
closeBtn.Size = UDim2.new(0, 30, 0, 30)
closeBtn.Position = UDim2.new(1, -40, 0, 10)
closeBtn.BackgroundColor3 = Color3.fromRGB(255, 50, 50)
closeBtn.Text = "X"
closeBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
closeBtn.TextScaled = true
closeBtn.Font = Enum.Font.GothamBold
Instance.new("UICorner", closeBtn).CornerRadius = UDim.new(1, 0)

-- [[ PLAYER LIST MENU ]] --
local playerListMenu = Instance.new("Frame")
playerListMenu.Name = "PlayerListMenu"
playerListMenu.Parent = gui
playerListMenu.Size = UDim2.new(0, 400, 0, 350)
playerListMenu.Position = UDim2.new(0.5, -200, 0.5, -175)
playerListMenu.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
playerListMenu.BorderSizePixel = 0
playerListMenu.Visible = false

local playerMenuCorner = Instance.new("UICorner", playerListMenu)
playerMenuCorner.CornerRadius = UDim.new(0, 12)

local playerMenuStroke = Instance.new("UIStroke", playerListMenu)
playerMenuStroke.Color = Color3.fromRGB(170, 0, 255)
playerMenuStroke.Thickness = 3

local playerListTitle = Instance.new("TextLabel")
playerListTitle.Parent = playerListMenu
playerListTitle.Size = UDim2.new(1, 0, 0, 50)
playerListTitle.Position = UDim2.new(0, 0, 0, 10)
playerListTitle.BackgroundTransparency = 1
playerListTitle.Text = "Select a Player"
playerListTitle.TextColor3 = Color3.fromRGB(220, 180, 255)
playerListTitle.TextScaled = true
playerListTitle.Font = Enum.Font.GothamBold

local playerCloseBtn = Instance.new("TextButton")
playerCloseBtn.Parent = playerListMenu
playerCloseBtn.Size = UDim2.new(0, 30, 0, 30)
playerCloseBtn.Position = UDim2.new(1, -40, 0, 10)
playerCloseBtn.BackgroundColor3 = Color3.fromRGB(255, 50, 50)
playerCloseBtn.Text = "X"
playerCloseBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
playerCloseBtn.TextScaled = true
playerCloseBtn.Font = Enum.Font.GothamBold
Instance.new("UICorner", playerCloseBtn).CornerRadius = UDim.new(1, 0)

local playerScrollFrame = Instance.new("ScrollingFrame")
playerScrollFrame.Parent = playerListMenu
playerScrollFrame.Size = UDim2.new(1, -20, 1, -70)
playerScrollFrame.Position = UDim2.new(0, 10, 0, 60)
playerScrollFrame.BackgroundTransparency = 1
playerScrollFrame.BorderSizePixel = 0
playerScrollFrame.ScrollBarThickness = 8
playerScrollFrame.CanvasSize = UDim2.new(0, 0, 0, 0)

local playerListLayout = Instance.new("UIListLayout")
playerListLayout.Parent = playerScrollFrame
playerListLayout.SortOrder = Enum.SortOrder.LayoutOrder
playerListLayout.Padding = UDim.new(0, 5)

-- [[ FUNCIONES DE BOTONES ]] --
runBtn.MouseButton1Click:Connect(function()
	if isVoidRushing or isObserving then return end
	isRunning = not isRunning
	if isRunning then
		hum.WalkSpeed = 30
		runBtn.BackgroundColor3 = Color3.fromRGB(200, 200, 200)
	else
		hum.WalkSpeed = 16
		runBtn.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
	end
end)

punchBtn.MouseButton1Click:Connect(function()
	if punchDebounce or isVoidRushing then return end
	punchDebounce = true
	punchTrack:Play()
	punchTrack.Stopped:Wait()
	punchDebounce = false
end)

local function endVoidRush(bv, connection)
	if connection then connection:Disconnect() end
	if bv then bv:Destroy() end
	voidTrack:Stop()
	isVoidRushing = false
	
	hum.WalkSpeed = isRunning and 30 or 16
	hum.AutoRotate = true
	changeDefaultAnims()
	voidDebounce = false
end

voidBtn.MouseButton1Click:Connect(function()
	if voidDebounce or isObserving then return end
	voidDebounce = true
	isVoidRushing = true
	voidTrack:Play()
	
	local oldAutoRotate = hum.AutoRotate
	hum.WalkSpeed = 50
	hum.AutoRotate = false
	
	local bv = Instance.new("BodyVelocity")
	bv.MaxForce = Vector3.new(100000, 0, 100000)
	bv.Parent = hrp
	
	local hitConnection
	local heartbeatConnection
	local startTime = tick()
	
	hitConnection = hrp.Touched:Connect(function(hit)
		if not isVoidRushing then return end
		local hitHum = hit.Parent:FindFirstChild("Humanoid")
		if hitHum and hitHum ~= hum then
			hitConnection:Disconnect()
			endVoidRush(bv, heartbeatConnection)
			task.wait(0.1)
			punchTrack:Play()
			punchTrack.Stopped:Wait()
		end
	end)
	
	heartbeatConnection = RunService.Heartbeat:Connect(function()
		if not isVoidRushing then return end
		if tick() - startTime >= 5 then
			hitConnection:Disconnect()
			endVoidRush(bv, heartbeatConnection)
			return
		end
		
		if bv and bv.Parent then
			local camDir = cam.CFrame.LookVector
			bv.Velocity = Vector3.new(camDir.X, 0, camDir.Z).Unit * 50
			hrp.CFrame = CFrame.lookAt(hrp.Position, hrp.Position + Vector3.new(camDir.X, 0, camDir.Z))
		end
	end)
end)

novaBtn.MouseButton1Click:Connect(function()
	if novaDebounce or isVoidRushing or isObserving then return end
	novaDebounce = true
	
	local oldSpeed = hum.WalkSpeed
	hum.WalkSpeed = 5
	
	novaTrack:Play()
	novaTrack:AdjustSpeed(6)
	novaTrack.Stopped:Wait()
	
	hum.WalkSpeed = isRunning and 30 or oldSpeed
	novaDebounce = false
end)

-- [[ OBSERVANT REWORK ]] --
local function closeAllMenus()
	observantMenu.Visible = false
	playerListMenu.Visible = false
	isObserving = false
	waitingForClickTP = false
	observantTrack:Stop()
	observantBtn.BackgroundColor3 = Color3.fromRGB(140, 0, 210)
	observantBtn.Text = "OBSERVANT"
	hum.WalkSpeed = isRunning and 30 or oldSpeedBeforeObservant
end

local function getNearestSpawn()
	local closestSpawn = nil
	local shortestDistance = math.huge
	
	for _, spawn in pairs(workspace:GetDescendants()) do
		if spawn:IsA("SpawnLocation") then
			local distance = (hrp.Position - spawn.Position).Magnitude
			if distance < shortestDistance then
				shortestDistance = distance
				closestSpawn = spawn
			end
		end
	end
	
	return closestSpawn
end

observantBtn.MouseButton1Click:Connect(function()
	if observantDebounce or isVoidRushing or waitingForClickTP then return end
	observantDebounce = true
	
	if observantMenu.Visible or playerListMenu.Visible then
		closeAllMenus()
	else
		isObserving = true
		oldSpeedBeforeObservant = hum.WalkSpeed
		hum.WalkSpeed = 5
		observantTrack:Play()
		observantBtn.BackgroundColor3 = Color3.fromRGB(200, 50, 255)
		observantMenu.Visible = true
	end
	
	task.wait(0.5)
	observantDebounce = false
end)

clickTPBtn.MouseButton1Click:Connect(function()
	observantMenu.Visible = false
	waitingForClickTP = true
	observantBtn.Text = "CLICK TO TP"
	observantBtn.BackgroundColor3 = Color3.fromRGB(255, 200, 0)
end)

mouse.Button1Down:Connect(function()
	if not waitingForClickTP then return end
	if not mouse.Target then return end
	
	waitingForClickTP = false
	local targetPos = mouse.Hit.Position
	closeAllMenus()
	hrp.CFrame = CFrame.new(targetPos + Vector3.new(0, 3, 0))
end)

task.spawn(function()
	while true do
		task.wait(1)
		if waitingForClickTP then
			task.wait(9)
			if waitingForClickTP then
				closeAllMenus()
			end
		end
	end
end)

spawnTPBtn.MouseButton1Click:Connect(function()
	closeAllMenus()
	punchTrack:Play()
	punchTrack.Stopped:Wait()
	
	local nearestSpawn = getNearestSpawn()
	if nearestSpawn then
		hrp.CFrame = nearestSpawn.CFrame + Vector3.new(0, 3, 0)
	end
end)

-- TP TO PLAYER CON AURA - ACTUALIZADO
local function createPlayerButton(targetPlayer)
	if targetPlayer == plr then return end
	
	local playerBtn = Instance.new("TextButton")
	playerBtn.Parent = playerScrollFrame
	playerBtn.Size = UDim2.new(1, -10, 0, 50)
	playerBtn.BackgroundColor3 = Color3.fromRGB(50, 0, 80)
	playerBtn.BorderSizePixel = 0
	playerBtn.Text = ""
	
	Instance.new("UICorner", playerBtn).CornerRadius = UDim.new(0, 8)
	
	local avatar = Instance.new("ImageLabel")
	avatar.Parent = playerBtn
	avatar.Size = UDim2.new(0, 40, 0, 40)
	avatar.Position = UDim2.new(0, 5, 0.5, -20)
	avatar.BackgroundTransparency = 1
	avatar.Image = "https://www.roblox.com/headshot-thumbnail/image?userId="..targetPlayer.UserId.."&width=420&height=420&format=png"
	Instance.new("UICorner", avatar).CornerRadius = UDim.new(1, 0)
	
	local nameLabel = Instance.new("TextLabel")
	nameLabel.Parent = playerBtn
	nameLabel.Size = UDim2.new(1, -55, 1, 0)
	nameLabel.Position = UDim2.new(0, 50, 0, 0)
	nameLabel.BackgroundTransparency = 1
	nameLabel.Text = targetPlayer.DisplayName.." (@"..targetPlayer.Name..")"
	nameLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
	nameLabel.TextScaled = true
	nameLabel.Font = Enum.Font.GothamBold
	nameLabel.TextXAlignment = Enum.TextXAlignment.Left
	
	playerBtn.MouseButton1Click:Connect(function()
		if targetPlayer.Character and targetPlayer.Character:FindFirstChild("HumanoidRootPart") then
			closeAllMenus()
			
			-- CREAR AURA MORADA ✨
			local aura, pulseTween = createTeleportAura()
			
			punchTrack:Play()
			punchTrack.Stopped:Wait()
			
			-- TELEPORT
			hrp.CFrame = targetPlayer.Character.HumanoidRootPart.CFrame + Vector3.new(0, 3, 0)
			
			-- QUITAR AURA
			task.wait(0.2)
			if pulseTween then pulseTween:Cancel() end
			if aura then aura:Destroy() end
		end
	end)
	
	return playerBtn
end

local function refreshPlayerList()
	for _, child in pairs(playerScrollFrame:GetChildren()) do
		if child:IsA("TextButton") then
			child:Destroy()
		end
	end
	
	local playerCount = 0
	for _, targetPlayer in pairs(Players:GetPlayers()) do
		if targetPlayer ~= plr then
			createPlayerButton(targetPlayer)
			playerCount = playerCount + 1
		end
	end
	
	playerScrollFrame.CanvasSize = UDim2.new(0, 0, 0, playerCount * 55)
end

playerTPBtn.MouseButton1Click:Connect(function()
	observantMenu.Visible = false
	playerListMenu.Visible = true
	refreshPlayerList()
end)

playerCloseBtn.MouseButton1Click:Connect(function()
	closeAllMenus()
end)

closeBtn.MouseButton1Click:Connect(function()
	closeAllMenus()
end)

-- [[ INMORTALIDAD ]] --
hum.HealthChanged:Connect(function()
	if hum.Health < hum.MaxHealth then
		hum.Health = hum.MaxHealth
	end
end)

-- [[ INICIALIZAR ]] --
char:WaitForChild("Animate")
task.wait(1)
changeDefaultAnims()
disableJump()
hum.WalkSpeed = 16

plr.CharacterAdded:Connect(function(newChar)
	char = newChar
	hum = newChar:WaitForChild("Humanoid")
	hrp = newChar:WaitForChild("HumanoidRootPart")
	isVoidRushing = false
	isRunning = false
	closeAllMenus()
	task.wait(2)
	changeDefaultAnims()
	disableJump()
	hum.WalkSpeed = 16
	
	punchTrack = hum:LoadAnimation(punchAnim)
	punchTrack.Looped = false
	voidTrack = hum:LoadAnimation(voidAnim)
	voidTrack.Looped = true
	novaTrack = hum:LoadAnimation(novaAnim)
	novaTrack.Looped = false
	observantTrack = hum:LoadAnimation(observantAnim)
	observantTrack.Looped = true
end)

Features & Information

FE noli script for r15 the script It's mine. So if you want to do a showcase Please credit my YouTube channel:Juanito juega XD or @jeancarlocruzochoa6847

Community Comments (1)

best script to use with touch fling to troll in nds

More Scripts for Universal Scripts