hermit purple
Key RequiredUniversal

hermit purple

Universal ScriptIceCream_CatIceCream_Cat 5.1K views 77 executesUpdated Mar 4, 2025
Unrated
00
Lua Script•328 lines (8234 chars)
local summonKeybind = "Q"--Change hook activate keybind if needed
local hookKeybind = "E"--Change hook activate keybind if needed
local charge = "G"--Hamon charge keybind, change if needed.
local max = 200--Max hook distance, change if needed
local MovingSpeed = 65--Moving to hook speed, change if needed





local plr = game:GetService("Players")
local me  = plr.LocalPlayer
local hum = me.Character:WaitForChild("Humanoid")
local hrp = me.Character:WaitForChild("HumanoidRootPart")

local r6A = me.Character:FindFirstChild("Right Arm")
local r15A = me.Character:FindFirstChild("RightHand")
local r6La = me.Character:FindFirstChild("Left Arm")
local r15La = me.Character:FindFirstChild("LeftHand")

local r6At = me.Character:FindFirstChild("RightGripAttachment")

local work = game:GetService("Workspace")
local run = game:GetService("RunService")
local uis = game:GetService("UserInputService")
local virtual = game:GetService("VirtualInputManager")
local rep = game:GetService("ReplicatedStorage")

local mouse = me:GetMouse()
local camera = work.CurrentCamera

local function update()
	hum = me.Character:WaitForChild("Humanoid")
	hrp = me.Character:WaitForChild("HumanoidRootPart")

	r6A = me.Character:FindFirstChild("Right Arm")
	r15A = me.Character:FindFirstChild("RightHand")
	r6La = me.Character:FindFirstChild("Left Arm")
	r15La = me.Character:FindFirstChild("LeftHand")

	r6At = me.Character:FindFirstChild("RightGripAttachment")
end

me.CharacterAdded:Connect(update)

if me.Character then
	update()
end

game:GetService("StarterGui"):SetCore("SendNotification",{
	Title = "Hermit Purple",
	Text  = summonKeybind .. " = summon/desummon\nHold " .. hookKeybind .. "= grapple/Unhold ".. hookKeybind .. "= ungrapple\nhold "..charge.." to charge hamon.".."Warning! Script is NOT FE",
	Duration = 10
})

local screen = Instance.new("ScreenGui")
screen.Name = "Hamon"
screen.Parent = me.PlayerGui
screen.IgnoreGuiInset = true
screen.ResetOnSpawn = false

local frame = Instance.new("Frame")
frame.Parent = screen
frame.Position = UDim2.new(0.356,0,0.974,0)
frame.Size = UDim2.new(0,389,0,9)
frame.BackgroundColor3 = Color3.fromRGB(255,255,255)

local frame2 = Instance.new("Frame")
frame2.Parent = frame
frame2.Position = UDim2.new(-0.002,0,-0.026,0)
frame2.Size = UDim2.new(0,9,0,9)
frame2.BackgroundColor3 = Color3.fromRGB(255,235,0)
frame2.BorderSizePixel = 0

local ifR6 = false

if hum.RigType == Enum.HumanoidRigType.R6 then
	ifR6 = true
else
	ifR6 = false
end

local keyHold = true
local con = true
local hook
local bmw
local rope
local keyHold2 = true

local chargeCon = false
local unchargeCon = false

local minSize = UDim2.new(0,9,0,9)
local maxSize = UDim2.new(0,394,0,9)

local newSize = 10
local newSize2 = -10

local hermit

local summoned = false

local hamon

me.CharacterAdded:Connect(function()
	summoned = false
end)

local function attach(parent)
	local att = Instance.new("Attachment")
	att.Name = "att"
	att.Parent = parent
end

local function between(v0,v1)
	local different = v0 - v1

	local distance = different.Magnitude
	distance = math.floor(distance / 1 + 0.5) * 1

	return distance
end

local function summon(method,parent)
	if method == "create" then
		hermit = Instance.new("ParticleEmitter")
		hermit.Parent = parent
		hermit.Name = "Hermit"
		hermit.Rate = 80
		hermit.Lifetime = NumberRange.new(1, 3)
		hermit.Size = NumberSequence.new(0.5, 1)
		hermit.Speed = NumberRange.new(1,2)
		hermit.Color = ColorSequence.new(Color3.fromRGB(183, 0, 255))
		hermit.Transparency = NumberSequence.new(0.5, 1)
		hermit.Rotation = NumberRange.new(0, 360)
		hermit.Enabled = true
	elseif method == "destroy" then
		if parent:FindFirstChild("Hermit") then
			parent.Hermit:Destroy()
		end
	end
end

wait(0.3)

uis.InputBegan:Connect(function(i,g)
	if g then return end

	if i.KeyCode == Enum.KeyCode[summonKeybind] then
		summoned = not summoned
		if summoned then
			if ifR6 then
				summon("create", r6A)
				summon("create", r6La)
			else
				summon("create", r15A)
				summon("create", r15La)
			end
		else
			if ifR6 then
				summon("destroy", r6A)
				summon("destroy", r6La)
			else
				summon("destroy", r15A)
				summon("destroy", r15La)
			end
		end
	elseif i.KeyCode == Enum.KeyCode[hookKeybind] and keyHold then
		keyHold = false
		if summoned then
			if ifR6 then
				con = true

				local mPos = mouse.Hit.p

				local ifBe = (hrp.Position - mPos).Magnitude
				local distance = between(mPos, hrp.Position)

				if ifBe <= max then

					hook = Instance.new("Part")
					hook.Anchored = true
					hook.CanCollide = false
					hook.Transparency = 1
					hook.Position = mPos
					hook.Parent = work

					bmw = Instance.new("BodyVelocity")
					bmw.Velocity = Vector3.new(0,0,0)
					bmw.MaxForce = Vector3.new(100000,100000,100000)
					bmw.Parent = hrp

					attach(hrp)
					attach(hook)

					rope = Instance.new("RopeConstraint")
					rope.Parent = hook
					rope.Attachment0 = hook.att
					rope.Attachment1 = hrp.att
					rope.WinchEnabled = true
					rope.Color = BrickColor.new("Royal purple")
					rope.Length = distance / 1
					rope.Visible = true

					local distance = (hook.Position - hrp.Position).Unit

					while con and (hrp.Position - hook.Position).Magnitude > 1 do
						hrp.CFrame = CFrame.new(hrp.Position + distance * MovingSpeed * run.RenderStepped:Wait())
						hrp.CFrame = CFrame.lookAt(hrp.Position, hook.Position)

						local currentD = between(hrp.Position, hook.Position)
						rope.Length = currentD
					end
				else
					print("Too far!")
				end
			else
				if summoned then
					con = true

					local mPos = mouse.Hit.p

					local ifBe = (hrp.Position - mPos).Magnitude
					local distance = between(mPos, hrp.Position)

					if ifBe <= max then

						hook = Instance.new("Part")
						hook.Anchored = true
						hook.CanCollide = false
						hook.Transparency = 1
						hook.Position = mPos
						hook.Parent = work

						bmw = Instance.new("BodyVelocity")
						bmw.Velocity = Vector3.new(0,0,0)
						bmw.MaxForce = Vector3.new(100000,100000,100000)
						bmw.Parent = hrp

						attach(hrp)
						attach(hook)

						rope = Instance.new("RopeConstraint")
						rope.Parent = hook
						rope.Attachment0 = hook.att
						rope.Attachment1 = hrp.att
						rope.WinchEnabled = true
						rope.Color = BrickColor.new("Royal purple")
						rope.Length = distance / 1
						rope.Visible = true

						local distance = (hook.Position - hrp.Position).Unit

						while con and (hrp.Position - hook.Position).Magnitude > 1 do
							hrp.CFrame = CFrame.new(hrp.Position + distance * MovingSpeed * run.RenderStepped:Wait())
							hrp.CFrame = CFrame.lookAt(hrp.Position, hook.Position)

							local currentD = between(hrp.Position, hook.Position)
							rope.Length = currentD
						end
					else
						print("Too far!")
					end
				end
			end
		else
			print("Stand is not summoned!")
		end
	elseif i.KeyCode == Enum.KeyCode[charge] and keyHold2 then
		keyHold2 = false
		chargeCon = true
		unchargeCon = false
		
		hamon = Instance.new("ParticleEmitter")
		hamon.Parent = hrp
		hamon.Name = "Hermit"
		hamon.Rate = 120
		hamon.Lifetime = NumberRange.new(1, 3)
		hamon.Size = NumberSequence.new(0.5, 1)
		hamon.Speed = NumberRange.new(1,2)
		hamon.Color = ColorSequence.new(Color3.fromRGB(255, 235, 0))
		hamon.Transparency = NumberSequence.new(0.5, 1)
		hamon.Rotation = NumberRange.new(0, 360)
		hamon.Enabled = true
		
		while chargeCon do
			if frame2.Size.X.Offset + newSize >= maxSize.X.Offset then
				chargeCon = false
				break
			end
			frame2.Size = UDim2.new(0,frame2.Size.X.Offset + newSize,0,frame2.Size.Y.Offset)
			wait(0.1)
		end
	end
end)

uis.InputEnded:Connect(function(i,g)
	if g then return end

	if i.KeyCode == Enum.KeyCode[hookKeybind] then
		keyHold = true

		con = false
		if hook then
			hook:Destroy()
		end
		if bmw then
			bmw:Destroy()
		end
		if rope then
			rope:Destroy()
		end
	elseif i.KeyCode == Enum.KeyCode[charge] then
		unchargeCon = true
		keyHold2 = true
		chargeCon = false
		
		while unchargeCon do
			if frame2.Size == minSize then
				hamon:Destroy()
				unchargeCon = false
				break
			end
			frame2.Size = UDim2.new(0,frame2.Size.X.Offset + newSize2,0,frame2.Size.Y.Offset)
			wait(0.1)
		end
	end
end)

Features & Information

This very cool hermit purple stand script is half FE also THIS SCRIPT IS MADE BY MY FRIEND x0y0zkidd NOT ME!! Happy using! :D UPDATE! :D added hamon charge

Community Comments (8)

vserduk023vserduk023Mar 6, 2025(edited)

Pls hamon barg

IceCream_CatIceCream_CatMar 6, 2025(edited)

@vserduk023 my friend will add it

IceCream_CatIceCream_CatMar 6, 2025(edited)

@vserduk023 done! added hamon charge :D

vserduk023vserduk023Mar 7, 2025(edited)

@IceCream_Cat Go fakeAdministrator Badge message PLS

IceCream_CatIceCream_CatMar 7, 2025(edited)

@vserduk023 what

beefandchickchickenbeefandchickchickenMar 8, 2025(edited)

can you add hamon barrage or like vine attack move or something?

MoHawkMoHawkMay 21, 2025(edited)

Man i love the script especially when it comes to jojo reference. Tbh it would be surprising if you add star platinum or other op stands in the jojo verse

Ilikecheeze73629Ilikecheeze73629Apr 19, 2026

Is this client sided or server sided

More Scripts for Universal Scripts