Gakuran scripts are Lua code snippets injected via a mobile ready Roblox executor to automate perfect parries, unlock godmode, and modify character attributes in the competitive combat game (学乱) Gakuran. Utilizing an optimized pastebin loadstring allows players to bypass skill cooldowns, track opponent stamina with custom HUDs, and dominate PvP encounters without manual timing errors.
Below we list 7 working scripts for Gakuran with core feature lists, security key requirements, and verified code loaders for both PC and Mobile platforms. Popular executors like Volt, Potassium, and Wave are fully supported across these builds.
| # | Script Name | Game | Key Features | Key System | Mobile Ready | Executor Compatibility |
| 1 | zanegamers – Best Hub | (学乱) Gakuran | Get any style, perfect auto parry, player ESP | ✅ Yes | ✅ Yes | Volt, Potassium |
| 2 | MazeRbx – Keyless Parry | (学乱) Gakuran | Auto parry builder, auto rhythm, keyless loader | ❌ No (Keyless) | ✅ Yes | Volt, Potassium |
| 3 | Kernel – HP & Stamina HUD | (学乱) Gakuran | Custom HUD, stamina tracking, draggable UI | ❌ No (Keyless) | ✅ Yes | Volt, Potassium, Wave, Delta, Codex, Synapse Z, OpiumWare, Seliware |
| 4 | ChampionHub – Godmode Hub | (学乱) Gakuran | Never miss parry, godmode, server hop | ✅ Yes | ✅ Yes | Volt, Potassium, Delta, Codex, Synapse Z, OpiumWare, Seliware |
| 5 | JTonTheTrack1 – Parry & ESP | (学乱) Gakuran | Auto parry, visual ESP, combat helpers | Unknown | Not confirmed | Not specified |
| 6 | kukluxk – Mobile HUD (RU) | (学乱) Gakuran | Open-source HP/Stamina monitor, mobile toggle | ❌ No (Keyless) | ✅ Yes | Volt, Potassium, Wave, Delta, Codex, Synapse Z, OpiumWare, Seliware |
| 7 | zanegamers – Free Key Godmode | (学乱) Gakuran | Godmode, get any height, get any style | ✅ Yes | ✅ Yes | Not specified |
1. zanegamers – Best Hub Get Any Style
This feature-packed combat suite is engineered for aggressive PvP dominance in Gakuran. It eliminates standard movement penalties while providing complete visual awareness over enemy cooldowns and stats.
Features:
- Unlock any fighting style instantly without meeting standard game requirements.
- Execute perfect auto parries with a built-in timing visualizer and logger.
- Track opponents using comprehensive Player ESP (HP bars, stamina, boxes, and tracers).
- Bypass dribble cooldowns, ragdoll physics, and enemy stun effects.
script_key="KEYISINTHESERVER";loadstring(game:HttpGet("https://api.luarmor.net/files/v4/loaders/673fccd83442f4d820f57c439b4bc4cd.lua"))()
🔑 Key System | 📱 Mobile Ready
2. MazeRbx – Keyless Auto Parry & Rhythm
A lightweight, mobile-supported script that focuses strictly on combat timing. Because it is completely keyless, players can execute the code instantly without navigating through external ad gateways.
Features:
- Defend automatically against 45 pre-configured enemy attack animations.
- Customize parry offsets, hold durations, and maximum capture ranges via the AP Builder.
- Automate rhythm mechanics with customizable hit-chance percentages (from 0% to 100%).
loadstring(game:HttpGet("https://owed.lol/loader.lua"))()
🔑 Keyless Script | 📱 Mobile Ready
3. Kernel – Free HP & Stamina Bar HUD
An open-source, non-exploit utility designed to improve the standard game user interface. It creates a draggable, mobile-friendly HUD on your screen to accurately monitor vital character statistics during fights.
Features:
- Monitor exact health points and hidden physical or GC-related stamina values in real time.
- Toggle the custom HUD interface on and off using an optimized mobile touch button.
- Customize interface positioning using smart drag-and-drop screen mechanics.
local Players = game:GetService("Players")
local UserInputService = game:GetService("UserInputService")
local player = Players.LocalPlayer
local screenGui = Instance.new("ScreenGui")
screenGui.Name = "Gakuran_HUD_V5_Mobile"
screenGui.ResetOnSpawn = false
if gethui then
screenGui.Parent = gethui()
elseif syn and syn.protect_gui then
syn.protect_gui(screenGui)
screenGui.Parent = game:GetService("CoreGui")
else
screenGui.Parent = game:GetService("CoreGui")
end
local function makeDraggable(gui, onClickCallback)
local dragging = false
local dragStart = nil
local startPos = nil
local hasDragged = false
gui.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
dragging = true
hasDragged = false
dragStart = input.Position
startPos = gui.Position
end
end)
gui.InputChanged:Connect(function(input)
if dragging and (input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch) then
local delta = input.Position - dragStart
if math.abs(delta.X) > 5 or math.abs(delta.Y) > 5 then
hasDragged = true
gui.Position = UDim2.new(
startPos.X.Scale, startPos.X.Offset + delta.X,
startPos.Y.Scale, startPos.Y.Offset + delta.Y
)
end
end
end)
gui.InputEnded:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
dragging = false
if not hasDragged and onClickCallback then
onClickCallback()
end
end
end)
end
local toggleBtn = Instance.new("TextButton")
toggleBtn.Size = UDim2.new(0, 50, 0, 50)
toggleBtn.Position = UDim2.new(0, 15, 0, 15)
toggleBtn.BackgroundColor3 = Color3.fromRGB(12, 12, 15)
toggleBtn.BackgroundTransparency = 0.2
toggleBtn.BorderSizePixel = 0
toggleBtn.Text = "HUD"
toggleBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
toggleBtn.Font = Enum.Font.GothamBold
toggleBtn.TextSize = 14
toggleBtn.Active = true
toggleBtn.Parent = screenGui
Instance.new("UICorner", toggleBtn).CornerRadius = UDim.new(0, 8)
local mainFrame = Instance.new("Frame")
mainFrame.Size = UDim2.new(0, 220, 0, 80)
mainFrame.Position = UDim2.new(1, -240, 0, 45)
mainFrame.BackgroundColor3 = Color3.fromRGB(12, 12, 15)
mainFrame.BackgroundTransparency = 0.2
mainFrame.BorderSizePixel = 0
mainFrame.Active = true
mainFrame.Visible = false
mainFrame.Parent = screenGui
Instance.new("UICorner", mainFrame).CornerRadius = UDim.new(0, 8)
makeDraggable(mainFrame, nil)
makeDraggable(toggleBtn, function()
mainFrame.Visible = not mainFrame.Visible
end)
local hpText = Instance.new("TextLabel")
hpText.Size = UDim2.new(1, -20, 0, 30)
hpText.Position = UDim2.new(0, 12, 0, 8)
hpText.BackgroundTransparency = 1
hpText.TextColor3 = Color3.fromRGB(255, 80, 80)
hpText.TextSize = 16
hpText.Font = Enum.Font.GothamBold
hpText.TextXAlignment = Enum.TextXAlignment.Left
hpText.Text = "HP: ..."
hpText.Parent = mainFrame
local stamText = Instance.new("TextLabel")
stamText.Size = UDim2.new(1, -20, 0, 30)
stamText.Position = UDim2.new(0, 12, 0, 40)
stamText.BackgroundTransparency = 1
stamText.TextColor3 = Color3.fromRGB(255, 180, 60)
stamText.TextSize = 16
stamText.Font = Enum.Font.GothamBold
stamText.TextXAlignment = Enum.TextXAlignment.Left
stamText.Text = "STAMINA: ..."
stamText.Parent = mainFrame
local hum = nil
local hpConn = nil
local function updateHp()
if hum then
hpText.Text = string.format("HP %.0f / %.0f", hum.Health, hum.MaxHealth)
end
end
local function setupCharacter(char)
hum = char:WaitForChild("Humanoid", 5)
if hpConn then hpConn:Disconnect() end
if hum then
hpConn = hum:GetPropertyChangedSignal("Health"):Connect(updateHp)
updateHp()
else
hpText.Text = "HP: Error"
end
end
if player.Character then setupCharacter(player.Character) end
player.CharacterAdded:Connect(setupCharacter)
local staminaSource = nil
local sourceType = nil
local lastStamVal = -1
local function findPhysicalStamina()
local char = player.Character
if not char then return nil, nil end
local stats = char:FindFirstChild("Stats") or char:FindFirstChild("Data") or char:FindFirstChild("Folder")
if stats then
local stamObj = stats:FindFirstChild("Stamina") or stats:FindFirstChild("stamina") or stats:FindFirstChild("Energy")
if stamObj and stamObj:IsA("ValueObject") then return stamObj, "Value" end
end
local directStam = char:FindFirstChild("Stamina") or char:FindFirstChild("stamina")
if directStam and directStam:IsA("ValueObject") then return directStam, "Value" end
if char:GetAttribute("Stamina") ~= nil then return "CharAttribute", "Attribute"
elseif player:GetAttribute("Stamina") ~= nil then return "PlayerAttribute", "Attribute" end
return nil, nil
end
local function findGCRelatedStamina()
if not getgc then return nil, nil end
local gctables = getgc()
for _, v in pairs(gctables) do
if type(v) == "table" then
local hasStam = rawget(v, "Stamina") or rawget(v, "stamina") or rawget(v, "_stamina")
if hasStam and type(hasStam) == "number" then
local isCombatTable = rawget(v, "Posture") or rawget(v, "MaxStamina") or rawget(v, "Blocking") or rawget(v, "Stunned") or rawget(v, "MaxStam")
if isCombatTable then return v, "Table" end
end
end
end
return nil, nil
end
local function resolveStaminaSource()
local src, t = findPhysicalStamina()
if src then staminaSource = src; sourceType = t; return end
src, t = findGCRelatedStamina()
if src then staminaSource = src; sourceType = t; return end
staminaSource = nil; sourceType = nil
end
player.CharacterRemoving:Connect(function()
staminaSource = nil; sourceType = nil; lastStamVal = -1
end)
task.spawn(function()
local scanCooldown = 0
while task.wait(0.05) do
if not staminaSource then
if tick() - scanCooldown > 3 then
scanCooldown = tick()
resolveStaminaSource()
end
if mainFrame.Visible then
stamText.Text = "STAMINA: Searching..."
end
continue
end
if not mainFrame.Visible then continue end
local currentStam = nil
local success = pcall(function()
if sourceType == "Value" then currentStam = staminaSource.Value
elseif sourceType == "Attribute" then
local char = player.Character
if staminaSource == "CharAttribute" and char then currentStam = char:GetAttribute("Stamina")
else currentStam = player:GetAttribute("Stamina") end
elseif sourceType == "Table" then
currentStam = rawget(staminaSource, "Stamina") or rawget(staminaSource, "stamina") or rawget(staminaSource, "_stamina")
end
end)
if not success or currentStam == nil then
staminaSource = nil; sourceType = nil
continue
end
if currentStam ~= lastStamVal then
lastStamVal = currentStam
stamText.Text = string.format("STAMINA %.0f", currentStam)
if currentStam < 30 then stamText.TextColor3 = Color3.fromRGB(255, 100, 100)
else stamText.TextColor3 = Color3.fromRGB(255, 180, 60) end
end
end
end)
UserInputService.InputBegan:Connect(function(input, gp)
if not gp and input.KeyCode == Enum.KeyCode.Insert then
mainFrame.Visible = not mainFrame.Visible
end
end)
🔑 Keyless Script | 📱 Mobile Ready
4. ChampionHub – Never Miss Auto Parry & Godmode
ChampionHub provides an all-in-one combat enhancement script built specifically to counter players who team up in public servers. It combines defensive godmode loops with offensive timing assists.
Features:
- Block incoming strikes flawlessly with an automated face-lock parry system.
- Activate infinite stamina and godmode to survive multi-target engagements.
- Teleport directly to target players or server hop automatically when fights conclude.
-- https://discord.gg/2VQ4KWD9w
script_key="GETTHEKEYINSIDETHESERVER";loadstring(game:HttpGet("https://api.luarmor.net/files/v4/loaders/d1cd53bc8b5b179e010a9d7b811e5d04.lua"))()
🔑 Key System | 📱 Mobile Ready
5. JTonTheTrack1 – Auto Parry & ESP Suite
A streamlined script engineered for simple execution. While lightweight on system resources, it delivers essential combat utilities to help players predict incoming attacks and track enemy movements across the map.
Features:
- Parry enemy combat animations automatically during close-quarters brawls.
- Highlight enemy locations and status bars through solid obstacles with visual ESP.
- Load configurations rapidly with a stable, single-line loader.
loadstring(game:HttpGet("https://api.jnkie.com/api/v1/luascripts/public/6448a11f7f4030529fb16498d4fccbea5625d689df2628fa08ebf62b941c760b/download"))()
🔑 Key system: unknown | 📱 Mobile: not confirmed
6. kukluxk – Mobile HP & Stamina HUD (RU)
This version of the open-source HUD tracker features Russian localization and specialized touch-scaling for mobile viewports. It provides an undetectable, clean overlay to track vital combat resources without triggering anti-cheat mechanisms.
Features:
- Analyze character health and stamina depletion rates with zero display lag.
- Adjust UI positioning seamlessly on touchscreen devices without blocking combat vision.
- Execute across all major mobile and PC executors safely without security keys.
local Players = game:GetService("Players")
local UserInputService = game:GetService("UserInputService")
local player = Players.LocalPlayer
local screenGui = Instance.new("ScreenGui")
screenGui.Name = "Gakuran_HUD_V5_Mobile"
screenGui.ResetOnSpawn = false
if gethui then
screenGui.Parent = gethui()
elseif syn and syn.protect_gui then
syn.protect_gui(screenGui)
screenGui.Parent = game:GetService("CoreGui")
else
screenGui.Parent = game:GetService("CoreGui")
end
local function makeDraggable(gui, onClickCallback)
local dragging = false
local dragStart = nil
local startPos = nil
local hasDragged = false
gui.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
dragging = true
hasDragged = false
dragStart = input.Position
startPos = gui.Position
end
end)
gui.InputChanged:Connect(function(input)
if dragging and (input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch) then
local delta = input.Position - dragStart
if math.abs(delta.X) > 5 or math.abs(delta.Y) > 5 then
hasDragged = true
gui.Position = UDim2.new(
startPos.X.Scale, startPos.X.Offset + delta.X,
startPos.Y.Scale, startPos.Y.Offset + delta.Y
)
end
end
end)
gui.InputEnded:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
dragging = false
if not hasDragged and onClickCallback then
onClickCallback()
end
end
end)
end
local toggleBtn = Instance.new("TextButton")
toggleBtn.Size = UDim2.new(0, 45, 0, 45)
toggleBtn.Position = UDim2.new(0, 15, 0, 15)
toggleBtn.BackgroundColor3 = Color3.fromRGB(12, 12, 15)
toggleBtn.BackgroundTransparency = 0.2
toggleBtn.BorderSizePixel = 0
toggleBtn.Text = "HUD"
toggleBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
toggleBtn.Font = Enum.Font.GothamBold
toggleBtn.TextSize = 12
toggleBtn.Active = true
toggleBtn.Parent = screenGui
Instance.new("UICorner", toggleBtn).CornerRadius = UDim.new(0, 8)
local mainFrame = Instance.new("Frame")
mainFrame.Size = UDim2.new(0, 190, 0, 65)
mainFrame.Position = UDim2.new(1, -210, 0, 45)
mainFrame.BackgroundColor3 = Color3.fromRGB(12, 12, 15)
mainFrame.BackgroundTransparency = 0.2
mainFrame.BorderSizePixel = 0
mainFrame.Active = true
mainFrame.Visible = false
mainFrame.Parent = screenGui
Instance.new("UICorner", mainFrame).CornerRadius = UDim.new(0, 8)
makeDraggable(mainFrame, nil)
makeDraggable(toggleBtn, function()
mainFrame.Visible = not mainFrame.Visible
end)
local hpText = Instance.new("TextLabel")
hpText.Size = UDim2.new(1, -20, 0, 25)
hpText.Position = UDim2.new(0, 12, 0, 8)
hpText.BackgroundTransparency = 1
hpText.TextColor3 = Color3.fromRGB(255, 80, 80)
hpText.TextSize = 14
hpText.Font = Enum.Font.GothamBold
hpText.TextXAlignment = Enum.TextXAlignment.Left
hpText.Text = "HP: ..."
hpText.Parent = mainFrame
local stamText = Instance.new("TextLabel")
stamText.Size = UDim2.new(1, -20, 0, 25)
stamText.Position = UDim2.new(0, 12, 0, 32)
stamText.BackgroundTransparency = 1
stamText.TextColor3 = Color3.fromRGB(255, 180, 60)
stamText.TextSize = 14
stamText.Font = Enum.Font.GothamBold
stamText.TextXAlignment = Enum.TextXAlignment.Left
stamText.Text = "STAMINA: ..."
stamText.Parent = mainFrame
local hum = nil
local hpConn = nil
local function updateHp()
if hum then
hpText.Text = string.format("HP %.0f / %.0f", hum.Health, hum.MaxHealth)
end
end
local function setupCharacter(char)
hum = char:WaitForChild("Humanoid", 5)
if hpConn then hpConn:Disconnect() end
if hum then
hpConn = hum:GetPropertyChangedSignal("Health"):Connect(updateHp)
updateHp()
else
hpText.Text = "HP: Ошибка"
end
end
if player.Character then setupCharacter(player.Character) end
player.CharacterAdded:Connect(setupCharacter)
local staminaSource = nil
local sourceType = nil
local lastStamVal = -1
local function findPhysicalStamina()
local char = player.Character
if not char then return nil, nil end
local stats = char:FindFirstChild("Stats") or char:FindFirstChild("Data") or char:FindFirstChild("Folder")
if stats then
local stamObj = stats:FindFirstChild("Stamina") or stats:FindFirstChild("stamina") or stats:FindFirstChild("Energy")
if stamObj and stamObj:IsA("ValueObject") then return stamObj, "Value" end
end
local directStam = char:FindFirstChild("Stamina") or char:FindFirstChild("stamina")
if directStam and directStam:IsA("ValueObject") then return directStam, "Value" end
if char:GetAttribute("Stamina") ~= nil then return "CharAttribute", "Attribute"
elseif player:GetAttribute("Stamina") ~= nil then return "PlayerAttribute", "Attribute" end
return nil, nil
end
local function findGCRelatedStamina()
if not getgc then return nil, nil end
local gctables = getgc()
for _, v in pairs(gctables) do
if type(v) == "table" then
local hasStam = rawget(v, "Stamina") or rawget(v, "stamina") or rawget(v, "_stamina")
if hasStam and type(hasStam) == "number" then
local isCombatTable = rawget(v, "Posture") or rawget(v, "MaxStamina") or rawget(v, "Blocking") or rawget(v, "Stunned") or rawget(v, "MaxStam")
if isCombatTable then return v, "Table" end
end
end
end
return nil, nil
end
local function resolveStaminaSource()
local src, t = findPhysicalStamina()
if src then staminaSource = src; sourceType = t; return end
src, t = findGCRelatedStamina()
if src then staminaSource = src; sourceType = t; return end
staminaSource = nil; sourceType = nil
end
player.CharacterRemoving:Connect(function()
staminaSource = nil; sourceType = nil; lastStamVal = -1
end)
task.spawn(function()
local scanCooldown = 0
while task.wait(0.05) do
if not staminaSource then
if tick() - scanCooldown > 3 then
scanCooldown = tick()
resolveStaminaSource()
end
if mainFrame.Visible then
stamText.Text = "STAMINA: Поиск..."
end
continue
end
if not mainFrame.Visible then continue end
local currentStam = nil
local success = pcall(function()
if sourceType == "Value" then currentStam = staminaSource.Value
elseif sourceType == "Attribute" then
local char = player.Character
if staminaSource == "CharAttribute" and char then currentStam = char:GetAttribute("Stamina")
else currentStam = player:GetAttribute("Stamina") end
elseif sourceType == "Table" then
currentStam = rawget(staminaSource, "Stamina") or rawget(staminaSource, "stamina") or rawget(staminaSource, "_stamina")
end
end)
if not success or currentStam == nil then
staminaSource = nil; sourceType = nil
continue
end
if currentStam ~= lastStamVal then
lastStamVal = currentStam
stamText.Text = string.format("STAMINA %.0f", currentStam)
if currentStam < 30 then stamText.TextColor3 = Color3.fromRGB(255, 100, 100)
else stamText.TextColor3 = Color3.fromRGB(255, 180, 60) end
end
end
end)
UserInputService.InputBegan:Connect(function(input, gp)
if not gp and input.KeyCode == Enum.KeyCode.Insert then
mainFrame.Visible = not mainFrame.Visible
end
end)
🔑 Keyless Script | 📱 Mobile Ready
7. zanegamers – Free Key Godmode & Any Height
An alternative configuration from zanegamers focusing on structural character modifications and defensive godmode loops. It allows players to manipulate their avatar height and stats to gain reach advantages in hand-to-hand combat.
Features:
- Modify character height scaling dynamically to alter hitbox parameters.
- Enable godmode protections to prevent damage from enemy parry counter-attacks.
- Equip any fighting style freely while utilizing full Player ESP enhancements.
Script code not publicly available – check the source link below.
🔑 Key System | 📱 Mobile Ready
FAQ
Do these Gakuran scripts work on mobile?
Yes, most of the scripts listed above are Mobile Ready (marked with the 📱 badge). To use them on a smartphone or tablet, you must run a mobile-compatible Roblox executor such as Delta, Codex, or Arceus X.
Why is auto-parry important in (学乱) Gakuran?
Gakuran features a strict rhythm and timing-based combat system. Auto-parry scripts eliminate human reaction latency by automatically locking onto enemy animation frames and triggering blocks at the exact required millisecond.
What is the difference between a key system and a keyless script?
A key system requires you to complete verification steps on an external webpage (often involving advertisements) to obtain a password string. A keyless script (such as MazeRbx or Kernel) bypasses this entirely, executing immediately when pasted into your executor.