Ir al contenido
Funcional

IY Infinite Yield plugin maker

CLclarkdevlinorg1 vistasUniversal26 jul 2026
Compartir
IY Infinite Yield plugin maker

Código del script

Lua
local UserInputService = game:GetService("UserInputService")
local TextService = game:GetService("TextService")
local TweenService = game:GetService("TweenService")

local function getSafeParent()
    if gethui then
        return gethui()
    elseif game:GetService("CoreGui") then
        return game:GetService("CoreGui")
    end
    return game:GetService("Players").LocalPlayer.PlayerGui
end

if getSafeParent():FindFirstChild("IYPluginMaker") then
    getSafeParent().IYPluginMaker:Destroy()
end

--------------------------------------------------------------------------------
-- UI CONSTRUCTION
--------------------------------------------------------------------------------

local ScreenGui = Instance.new("ScreenGui")
ScreenGui.Name = "IYPluginMaker"
ScreenGui.Parent = getSafeParent()
ScreenGui.ResetOnSpawn = false
ScreenGui.IgnoreGuiInset = true
ScreenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling

local MainFrame = Instance.new("Frame")
MainFrame.Name = "MainFrame"
MainFrame.Size = UDim2.new(0, 480, 0, 550)
MainFrame.Position = UDim2.new(0.5, 0, 0.5, 0)
MainFrame.AnchorPoint = Vector2.new(0.5, 0.5)
MainFrame.BackgroundColor3 = Color3.fromRGB(35, 35, 40)
MainFrame.BorderSizePixel = 0
MainFrame.ClipsDescendants = true
MainFrame.Parent = ScreenGui

local UICorner = Instance.new("UICorner")
UICorner.CornerRadius = UDim.new(0, 8)
UICorner.Parent = MainFrame

local UIStroke = Instance.new("UIStroke")
UIStroke.Color = Color3.fromRGB(60, 60, 65)
UIStroke.Thickness = 1
UIStroke.Parent = MainFrame

local Dragging, DragInput, DragStart, StartPos

local function Update(input)
    local delta = input.Position - DragStart
    local newPos = UDim2.new(StartPos.X.Scale, StartPos.X.Offset + delta.X, StartPos.Y.Scale, StartPos.Y.Offset + delta.Y)
    TweenService:Create(MainFrame, TweenInfo.new(0.05), {Position = newPos}):Play()
end

MainFrame.InputBegan:Connect(function(input)
    if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
        Dragging = true
        DragStart = input.Position
        StartPos = MainFrame.Position
        
        input.Changed:Connect(function()
            if input.UserInputState == Enum.UserInputState.End then
                Dragging = false
            end
        end)
    end
end)

MainFrame.InputChanged:Connect(function(input)
    if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then
        if Dragging then Update(input) end
    end
end)

local TopBar = Instance.new("Frame")
TopBar.Name = "TopBar"
TopBar.Size = UDim2.new(1, 0, 0, 40)
TopBar.BackgroundColor3 = Color3.fromRGB(45, 45, 50)
TopBar.BorderSizePixel = 0
TopBar.Parent = MainFrame

local TopBarCorner = Instance.new("UICorner")
TopBarCorner.CornerRadius = UDim.new(0, 8)
TopBarCorner.Parent = TopBar

local BottomHider = Instance.new("Frame")
BottomHider.Size = UDim2.new(1, 0, 0, 10)
BottomHider.Position = UDim2.new(0, 0, 1, -10)
BottomHider.BorderSizePixel = 0
BottomHider.BackgroundColor3 = TopBar.BackgroundColor3
BottomHider.Parent = TopBar

local TitleLabel = Instance.new("TextLabel")
TitleLabel.Text = "IY Plugin Maker V2"
TitleLabel.Font = Enum.Font.GothamBold
TitleLabel.TextSize = 16
TitleLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
TitleLabel.Size = UDim2.new(1, -50, 1, 0)
TitleLabel.Position = UDim2.new(0, 15, 0, 0)
TitleLabel.BackgroundTransparency = 1
TitleLabel.TextXAlignment = Enum.TextXAlignment.Left
TitleLabel.Parent = TopBar

local CloseButton = Instance.new("TextButton")
CloseButton.Name = "Close"
CloseButton.Size = UDim2.new(0, 40, 1, 0)
CloseButton.Position = UDim2.new(1, -40, 0, 0)
CloseButton.BackgroundTransparency = 1
CloseButton.Text = "×"
CloseButton.TextSize = 24
CloseButton.TextColor3 = Color3.fromRGB(200, 200, 200)
CloseButton.Font = Enum.Font.Gotham
CloseButton.Parent = TopBar
CloseButton.MouseButton1Click:Connect(function() ScreenGui:Destroy() end)

local Container = Instance.new("ScrollingFrame")
Container.Name = "Content"
Container.Size = UDim2.new(1, 0, 1, -40) 
Container.Position = UDim2.new(0, 0, 0, 40)
Container.BackgroundTransparency = 1
Container.ScrollBarThickness = 4
Container.ScrollBarImageColor3 = Color3.fromRGB(100, 100, 100)
Container.AutomaticCanvasSize = Enum.AutomaticSize.Y
Container.CanvasSize = UDim2.new(0, 0, 0, 0)
Container.Parent = MainFrame

local UIList = Instance.new("UIListLayout")
UIList.Parent = Container
UIList.Padding = UDim.new(0, 15)
UIList.HorizontalAlignment = Enum.HorizontalAlignment.Center
UIList.SortOrder = Enum.SortOrder.LayoutOrder

local UIPadding = Instance.new("UIPadding")
UIPadding.Parent = Container
UIPadding.PaddingTop = UDim.new(0, 15)
UIPadding.PaddingBottom = UDim.new(0, 80)

--------------------------------------------------------------------------------
-- HELPER FUNCTION: CREATE INPUTS
--------------------------------------------------------------------------------
local function CreateInput(labelText, placeholder, height, multiLine, layoutOrder)
    local Wrapper = Instance.new("Frame")
    Wrapper.Name = "Input_" .. labelText
    Wrapper.Size = UDim2.new(0.9, 0, 0, height + 25) 
    Wrapper.BackgroundTransparency = 1
    Wrapper.LayoutOrder = layoutOrder
    Wrapper.Parent = Container
    
    local Label = Instance.new("TextLabel")
    Label.Text = labelText
    Label.Size = UDim2.new(1, 0, 0, 20)
    Label.BackgroundTransparency = 1
    Label.Font = Enum.Font.GothamBold
    Label.TextColor3 = Color3.fromRGB(200, 200, 200)
    Label.TextSize = 13
    Label.TextXAlignment = Enum.TextXAlignment.Left
    Label.Parent = Wrapper
    
    local BoxFrame = Instance.new("Frame")
    BoxFrame.Size = UDim2.new(1, 0, 0, height)
    BoxFrame.Position = UDim2.new(0, 0, 0, 25)
    BoxFrame.BackgroundColor3 = Color3.fromRGB(25, 25, 30)
    BoxFrame.BorderSizePixel = 0
    BoxFrame.Parent = Wrapper
    
    local BoxCorner = Instance.new("UICorner")
    BoxCorner.CornerRadius = UDim.new(0, 6)
    BoxCorner.Parent = BoxFrame
    
    local BoxStroke = Instance.new("UIStroke")
    BoxStroke.Color = Color3.fromRGB(50, 50, 55)
    BoxStroke.Transparency = 0.5
    BoxStroke.ApplyStrokeMode = Enum.ApplyStrokeMode.Border
    BoxStroke.Parent = BoxFrame

    local InputObject
    if multiLine then
        Wrapper.AutomaticSize = Enum.AutomaticSize.Y
        BoxFrame.AutomaticSize = Enum.AutomaticSize.Y
        
        InputObject = Instance.new("TextBox")
        InputObject.Size = UDim2.new(1, -16, 0, height)
        InputObject.Position = UDim2.new(0, 8, 0, 8)
        InputObject.AutomaticSize = Enum.AutomaticSize.Y
        InputObject.MultiLine = true
        InputObject.TextXAlignment = Enum.TextXAlignment.Left
        InputObject.TextYAlignment = Enum.TextYAlignment.Top
        
        local TextPadding = Instance.new("UIPadding")
        TextPadding.PaddingBottom = UDim.new(0, 8)
        TextPadding.Parent = BoxFrame
        InputObject.Parent = BoxFrame
    else
        InputObject = Instance.new("TextBox")
        InputObject.Size = UDim2.new(1, -16, 1, 0)
        InputObject.Position = UDim2.new(0, 8, 0, 0)
        InputObject.TextXAlignment = Enum.TextXAlignment.Left
        InputObject.Parent = BoxFrame
    end
    
    InputObject.BackgroundTransparency = 1
    InputObject.Text = ""
    InputObject.PlaceholderText = placeholder
    InputObject.TextColor3 = Color3.fromRGB(255, 255, 255)
    InputObject.PlaceholderColor3 = Color3.fromRGB(120, 120, 120)
    InputObject.Font = Enum.Font.Gotham
    InputObject.TextSize = 14
    
    InputObject.ClearTextOnFocus = false
    
    InputObject.Focused:Connect(function()
        TweenService:Create(BoxStroke, TweenInfo.new(0.2), {Color = Color3.fromRGB(100, 150, 255), Transparency = 0}):Play()
    end)
    InputObject.FocusLost:Connect(function()
        TweenService:Create(BoxStroke, TweenInfo.new(0.2), {Color = Color3.fromRGB(50, 50, 55), Transparency = 0.5}):Play()
    end)

    return InputObject
end

--------------------------------------------------------------------------------
-- FIELDS
--------------------------------------------------------------------------------

local inputs = {}
inputs.pluginName = CreateInput("Plugin Name", "SuperFly", 35, false, 1)
inputs.pluginDesc = CreateInput("Plugin Description", "Allows you to fly super fast", 35, false, 2)
inputs.cmdName = CreateInput("Command Name", "superfly", 35, false, 3)
inputs.aliases = CreateInput("Aliases", "sfly, fastfly", 35, false, 4)
inputs.cmdDesc = CreateInput("Command Description", "Enable super flight", 35, false, 5)
inputs.funcCode = CreateInput("Function (Lua Code)", "-- Type your code here\nlocal hum = speaker.Character.Humanoid...", 200, true, 6)

--------------------------------------------------------------------------------
-- CREATE BUTTON
--------------------------------------------------------------------------------

local Footer = Instance.new("Frame")
Footer.Size = UDim2.new(1, 0, 0, 60)
Footer.Position = UDim2.new(0, 0, 1, -60)
Footer.BackgroundColor3 = Color3.fromRGB(40, 40, 45)
Footer.BorderSizePixel = 0
Footer.ZIndex = 5 
Footer.Parent = MainFrame

local FooterLine = Instance.new("Frame")
FooterLine.Size = UDim2.new(1, 0, 0, 1)
FooterLine.BackgroundColor3 = Color3.fromRGB(60, 60, 65)
FooterLine.BorderSizePixel = 0
FooterLine.Parent = Footer

local GenerateBtn = Instance.new("TextButton")
GenerateBtn.Size = UDim2.new(1, -40, 0, 35)
GenerateBtn.Position = UDim2.new(0.5, 0, 0.5, 0)
GenerateBtn.AnchorPoint = Vector2.new(0.5, 0.5)
GenerateBtn.BackgroundColor3 = Color3.fromRGB(0, 180, 100)
GenerateBtn.Text = "Save Plugin (.iy)"
GenerateBtn.Font = Enum.Font.GothamBold
GenerateBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
GenerateBtn.TextSize = 14
GenerateBtn.AutoButtonColor = true
GenerateBtn.Parent = Footer

local BtnCorner = Instance.new("UICorner")
BtnCorner.CornerRadius = UDim.new(0, 6)
BtnCorner.Parent = GenerateBtn

GenerateBtn.MouseButton1Click:Connect(function()
    local name = inputs.pluginName.Text
    local desc = inputs.pluginDesc.Text
    local cmd = inputs.cmdName.Text
    local cmdD = inputs.cmdDesc.Text
    local aliasRaw = inputs.aliases.Text
    local code = inputs.funcCode.Text
    
    if name == "" or cmd == "" then
        if notify then notify("Plugin Creator: Name and Command are required.") end
        GenerateBtn.Text = "Error: Missing Fields!"
        wait(1)
        GenerateBtn.Text = "Export to Workspace (.iy)"
        return
    end

    local aliasFormatted = ""
    local count = 0
    for s in string.gmatch(aliasRaw, "([^,]+)") do
        local clean = s:gsub("^%s*", ""):gsub("%s*$", "")
        if clean ~= "" then
            aliasFormatted = aliasFormatted .. '"' .. clean .. '", '
            count = count + 1
        end
    end
    if count > 0 then
        aliasFormatted = aliasFormatted:sub(1, -3)
    end
    
    local listName = cmd
    if count > 0 then
        listName = cmd .. " / " .. aliasRaw:gsub(",", " /")
    end

    local finalStr = string.format(
[[local Plugin = {
    ["PluginName"] = "%s",
    ["PluginDescription"] = "%s",
    ["Commands"] = {
        ["%s"] = {
            ["ListName"] = "%s",
            ["Description"] = "%s",
            ["Aliases"] = {%s},
            ["Function"] = function(args, speaker)
%s
            end,
        },
    },
}

return Plugin]], 
    name, 
    desc, 
    cmd, 
    listName, 
    cmdD, 
    aliasFormatted, 
    code
    )
    
    local fileName = name .. ".iy"
    local success, err = pcall(function()
        writefile(fileName, finalStr)
    end)
    
    if success then
        if notify then
            notify("Plugin Saved: " .. fileName)
        end
        GenerateBtn.Text = "Success! Saved " .. fileName
        task.wait(2)
        GenerateBtn.Text = "Export to Workspace (.iy)"
    else
        warn("Writefile Error: ", err)
        if notify then notify("Plugin Creator Error: Check console") end
        GenerateBtn.Text = "Write Failed"
    end
end)

return "UI Loaded"

Descripción

credits to the original creator who im too lazy to look for

Comentarios (0)

Inicia sesión para unirte a la conversación

  • Sé el primero en comentar.

Preguntas frecuentes

¿Cómo uso el script IY Infinite Yield plugin maker?
Copia el código de arriba, abre tu executor de Roblox, pega el código y presiona ejecutar mientras estés en el juego. Las funciones se activan instantáneamente una vez que el script se ejecuta.
¿El script IY Infinite Yield plugin maker es gratuito?
Sí. Este script es gratuito para copiar y usar. Si usa un sistema de claves, sigue el enlace «Obtener clave» para desbloquearlo sin costo.
¿Es seguro usar el script IY Infinite Yield plugin maker?
El código fuente completo se muestra en esta página para que puedas leer exactamente qué hace antes de ejecutarlo. Usa siempre un executor de confianza, y recuerda que usar scripts va en contra de los términos de servicio de Roblox — úsalos bajo tu propio riesgo.
¿Qué executor funciona con IY Infinite Yield plugin maker?
Este script funciona con la mayoría de los executores populares de Roblox. Consulta nuestra página de executores para encontrar un executor gratuito o de pago confiable para tu dispositivo.
IY Infinite Yield plugin maker | BloxScripter