mahoraga r15
Key RequiredUniversal

mahoraga r15

Universal ScriptJustahackertwinJustahackertwin 2.4K views 1.4K executesUpdated Dec 12, 2025
1.7/ 5(3 votes)
1233% Positive
Lua Script•223 lines (6106 chars)
--==================== SETTINGS ====================--

local KEY_MOVESET1 = Enum.KeyCode.Z
local KEY_MOVESET2 = Enum.KeyCode.X

local BUTTON1_IMAGE = "rbxassetid://88645721621068"
local BUTTON2_IMAGE = "rbxassetid://84301009118920"

local SpawnAnimId = "rbxassetid://110268364703258"
local IdleAnimId  = "rbxassetid://81479349553743"
local WalkAnimId  = "rbxassetid://118959209918644"

local Move1AnimId = "rbxassetid://103676484213316"
local Move2AnimId = "rbxassetid://110361063508944"

local Move1Cooldown = 0
local Move2Cooldown = 0

--==================================================--

local Players = game:GetService("Players")
local UIS = game:GetService("UserInputService")
local player = Players.LocalPlayer

local PlayMove1, PlayMove2

----------------------------------------------------
-- MAIN SETUP
----------------------------------------------------

local function Setup(char)
    local humanoid = char:WaitForChild("Humanoid")

    -- Disable default Roblox animations
    task.wait(0.2)
    local animate = char:FindFirstChild("Animate")
    if animate then animate.Disabled = true end

    ------------------------------------------------
    -- LOAD ANIMATIONS
    ------------------------------------------------

    local function loadAnim(id, looped)
        local anim = Instance.new("Animation")
        anim.AnimationId = id
        local track = humanoid:LoadAnimation(anim)
        track.Looped = looped
        return track
    end

    local spawnTrack = loadAnim(SpawnAnimId, false)
    local idleTrack  = loadAnim(IdleAnimId, true)
    local walkTrack  = loadAnim(WalkAnimId, true)

    local move1Track = loadAnim(Move1AnimId, false)
    local move2Track = loadAnim(Move2AnimId, false)

    ------------------------------------------------
    -- SPAWN ANIMATION (CANCEL IF MOVING)
    ------------------------------------------------

    spawnTrack:Play()

    local spawnCancelled = false
    local spawnConn
    spawnConn = humanoid.Running:Connect(function(speed)
        if speed > 1 and spawnTrack.IsPlaying then
            spawnCancelled = true
            spawnTrack:Stop()
        end
    end)

    spawnTrack.Stopped:Wait()
    if spawnConn then spawnConn:Disconnect() end

    ------------------------------------------------
    -- IDLE / WALK SYSTEM
    ------------------------------------------------

    idleTrack:Play()

    humanoid.Running:Connect(function(speed)
        if humanoid:GetAttribute("UsingMove") then return end

        if speed > 1 then
            if not walkTrack.IsPlaying then
                idleTrack:Stop()
                walkTrack:Play()
            end
        else
            if not idleTrack.IsPlaying then
                walkTrack:Stop()
                idleTrack:Play()
            end
        end
    end)

    ------------------------------------------------
    -- MOVES
    ------------------------------------------------

    local usingMove = false
    local move1Ready = true
    local move2Ready = true

    local function StartMove(track, cooldown)
        if usingMove then return end

        usingMove = true
        humanoid:SetAttribute("UsingMove", true)

        idleTrack:Stop()
        walkTrack:Stop()

        track:Play()
        track.Stopped:Wait()

        task.delay(cooldown, function()
            usingMove = false
            humanoid:SetAttribute("UsingMove", false)

            if humanoid.MoveDirection.Magnitude > 0 then
                walkTrack:Play()
            else
                idleTrack:Play()
            end
        end)
    end

    PlayMove1 = function()
        if not move1Ready then return end
        move1Ready = false
        StartMove(move1Track, Move1Cooldown)
        task.delay(Move1Cooldown, function()
            move1Ready = true
        end)
    end

    PlayMove2 = function()
        if not move2Ready then return end
        move2Ready = false
        StartMove(move2Track, Move2Cooldown)
        task.delay(Move2Cooldown, function()
            move2Ready = true
        end)
    end

    ------------------------------------------------
    -- PC INPUT
    ------------------------------------------------

    UIS.InputBegan:Connect(function(input, gp)
        if gp then return end
        if input.KeyCode == KEY_MOVESET1 then
            PlayMove1()
        elseif input.KeyCode == KEY_MOVESET2 then
            PlayMove2()
        end
    end)
end

----------------------------------------------------
-- MOBILE BUTTONS
----------------------------------------------------

local function CreateButton(imageId, position, callback)
    local gui = player.PlayerGui:FindFirstChild("MovesetGui")
    if not gui then
        gui = Instance.new("ScreenGui")
        gui.Name = "MovesetGui"
        gui.ResetOnSpawn = false
        gui.Parent = player.PlayerGui
    end

    local button = Instance.new("ImageButton")
    button.Size = UDim2.new(0, 90, 0, 90)
    button.Position = position
    button.Image = imageId
    button.BackgroundTransparency = 1
    button.Parent = gui

    button.MouseButton1Click:Connect(callback)
end

CreateButton(BUTTON1_IMAGE, UDim2.new(0.05, 0, 0.75, 0), function()
    if PlayMove1 then PlayMove1() end
end)

CreateButton(BUTTON2_IMAGE, UDim2.new(0.17, 0, 0.75, 0), function()
    if PlayMove2 then PlayMove2() end
end)

----------------------------------------------------
-- RUN
----------------------------------------------------

player.CharacterAdded:Connect(Setup)
if player.Character then
    Setup(player.Character)
end


local Title = "Roblox:sniper06386"
local Text = "Script made by noli-i6l"
local ButtonText = "Ur sigma"
local Button2Text = "Ur Sigma"
local IconId = "1234567890"
-- [ [ Toggle/Enable  ] ]
local HaveIcon = true
local HaveButton1 = true
local HaveButton2 = true
local Duration = 5
--[ [ Functions ] ]
local function Button1Code()
-- code here
end

local function Button2Code()
-- code here
end

--
loadstring(game:HttpGet("https://pastebin.com/raw/FUPBRUuY"))()(Title, Text, ButtonText, Button2Text, IconId, HaveIcon, HaveButton1, HaveButton2, Duration, Button1Code, Button2Code)

Features & Information

r15 and custom animation went use ability too script made by me ofc

Community Comments (7)

wolfn3764wolfn3764Dec 13, 2025

Can you make one for me?

Replying to @wolfn3764
JustahackertwinJustahackertwinDec 14, 2025

@wolfn3764 ok which one

wolfn3764wolfn3764Dec 14, 2025

I'm a fan of horror stuff, can you make an animated wendigo?

Replying to @wolfn3764
JustahackertwinJustahackertwinDec 15, 2025

@wolfn3764 sorry but i can't find any animation for it

wolfn3764wolfn3764Dec 15, 2025

Do you mind if I use yours to *emble it?

Replying to @wolfn3764
JustahackertwinJustahackertwinDec 15, 2025

@wolfn3764 yea

wolfn3764wolfn3764Dec 15, 2025

Sorry if my English is terrible... I'm Brazilian.

More Scripts for Universal Scripts