M
Description
I was too lazy to adjust it to the inventory system. How to use: click give out the item, equip, then go into the backpack and it will be in Nil value and peritate it into the slots. If you improve !You can add other items, GUI code AI!
GAMEOhio.
UPDATEDOct 10, 2026
ACCESSKeyless
PLATFORMDesktop
Script source Luau
-- [[ BloxScripts Risk Notice ]]
-- This script has not been verified by BloxScripts.fun. Deal with caution.
--
-- Stay safe:
-- • Never log in on unofficial Roblox sites or lookalike domains.
-- • Real Roblox links use roblox.com (check the .com ending).
-- • Treat fake Roblox login / "claim reward" pages as phishing.
-- [[ End BloxScripts Risk Notice ]]
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Players = game:GetService("Players")
local UserInputService = game:GetService("UserInputService")
local LocalPlayer = Players.LocalPlayer
repeat task.wait(0.2) until LocalPlayer:GetAttribute("dataLoaded")
local devv = ReplicatedStorage:WaitForChild("devv")
local load = require(devv).load
local v3item = load("v3item")
local inventory = v3item.inventory
local v3items = load("v3items")
local makeToast = load("makeToast")
-- ============================================================
-- КОНФИГ ПРЕДМЕТОВ
-- ============================================================
local ITEMS = {
-- Kunai
{
name = "Kunai",
guid = "kunai-spoof-001",
color = Color3.fromRGB(220, 220, 220),
},
{
name = "Spirit Kunai",
guid = "spirit-kunai-spoof-001",
color = Color3.fromRGB(180, 120, 255),
},
-- Balloon
{
name = "Dollar Balloon",
guid = "dollar-balloon-spoof-001",
color = Color3.fromRGB(80, 220, 120),
},
-- Roses
{
name = "Rose",
guid = "rose-spoof-001",
color = Color3.fromRGB(230, 90, 110),
},
{
name = "Black Rose",
guid = "black-rose-spoof-001",
color = Color3.fromRGB(120, 60, 150),
},
{
name = "Golden Rose",
guid = "golden-rose-spoof-001",
color = Color3.fromRGB(240, 200, 60),
},
}
-- ============================================================
-- ЯДРО ИНЖЕКТОРА
-- ============================================================
local Injected = {}
local ActiveLoops = {}
local function buildServerItem(cfg)
return {
guid = cfg.guid,
name = cfg.name,
skin = nil,
ammo = nil,
ammoOut = nil,
isPremium = false,
isStashed = false,
stashId = nil,
itemState = nil,
}
end
-- Проверка наличия в индексе игры
local okCount, failCount = 0, 0
for _, cfg in ipairs(ITEMS) do
local data = v3items.getItemData(cfg.name)
if data then
okCount = okCount + 1
print("[Injector] ✓ " .. cfg.name)
else
failCount = failCount + 1
warn("[Injector] ✗ НЕ найден в v3items: " .. cfg.name)
end
end
print(string.format("[Injector] Найдено %d/%d предметов", okCount, okCount + failCount))
-- ПАТЧ 1: inventory.update
local originalUpdate = inventory.update
inventory.update = function(items)
if items and typeof(items) == "table" then
for _, cfg in ipairs(ITEMS) do
if Injected[cfg.guid] then
local has = false
for _, it in ipairs(items) do
if it.guid == cfg.guid or it.name == cfg.name then
has = true
break
end
end
if not has then
table.insert(items, buildServerItem(cfg))
end
end
end
end
return originalUpdate(items)
end
-- ПАТЧ 2: inventory.remove
local originalRemove = inventory.remove
inventory.remove = function(guid)
for _, cfg in ipairs(ITEMS) do
if guid == cfg.guid and Injected[cfg.guid] then
return
end
end
return originalRemove(guid)
end
-- ПАТЧ 3: setEquipped
local originalSetEquipped = inventory.setEquipped
inventory.setEquipped = function(guid)
for _, cfg in ipairs(ITEMS) do
if guid == cfg.guid and Injected[cfg.guid] then
local item = inventory.items[cfg.guid]
if item then
for _, other in pairs(inventory.items) do
if other ~= item and other.equipped then
pcall(function() other:SetEquipped(false, true) end)
end
end
pcall(function() item:SetEquipped(true) end)
return
end
end
end
return originalSetEquipped(guid)
end
-- ============================================================
-- ИНЖЕКТ / УДАЛЕНИЕ / АВТО-ВОССТАНОВЛЕНИЕ
-- ============================================================
local function inject(cfg)
Injected[cfg.guid] = true
if inventory.items[cfg.guid] then
return inventory.items[cfg.guid]
end
local item = inventory.add(buildServerItem(cfg), false)
if item then
print("[Injector] ✓ Выдан: " .. cfg.name)
pcall(function() makeToast(cfg.name .. " (spoof) выдан!", "green", 3) end)
else
warn("[Injector] ✗ add вернул nil для " .. cfg.name)
end
return item
end
local function removeInjected(cfg)
Injected[cfg.guid] = false
if ActiveLoops[cfg.guid] then
pcall(task.cancel, ActiveLoops[cfg.guid])
ActiveLoops[cfg.guid] = nil
end
if inventory.items[cfg.guid] then
pcall(function()
local item = inventory.items[cfg.guid]
if item.equipped then
pcall(function() item:SetEquipped(false) end)
end
if item.button and item.button.clean then pcall(function() item.button:clean() end) end
if item.backpackButton and item.backpackButton.clean then pcall(function() item.backpackButton:clean() end) end
inventory.items[cfg.guid] = nil
if item.clean then pcall(function() item:clean() end) end
inventory.rerender()
end)
print("[Injector] ✗ Удалён: " .. cfg.name)
end
end
local function startAutoRestore(cfg)
if ActiveLoops[cfg.guid] then
pcall(task.cancel, ActiveLoops[cfg.guid])
end
ActiveLoops[cfg.guid] = task.spawn(function()
while Injected[cfg.guid] do
task.wait(3)
if Injected[cfg.guid] and not inventory.items[cfg.guid] then
print("[Injector] " .. cfg.name .. " пропал — переинжект...")
inject(cfg)
end
end
end)
end
-- ============================================================
-- GUI
-- ============================================================
local screenGui = Instance.new("ScreenGui")
screenGui.Name = "ItemInjectorGUI"
screenGui.ResetOnSpawn = false
screenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
screenGui.Parent = LocalPlayer:WaitForChild("PlayerGui")
local mainFrame = Instance.new("Frame")
mainFrame.Name = "Main"
mainFrame.Size = UDim2.new(0, 360, 0, 560)
mainFrame.Position = UDim2.new(0, 50, 0, 80)
mainFrame.BackgroundColor3 = Color3.fromRGB(25, 25, 30)
mainFrame.BorderSizePixel = 0
mainFrame.Active = true
mainFrame.Draggable = true
mainFrame.Parent = screenGui
local mainCorner = Instance.new("UICorner")
mainCorner.CornerRadius = UDim.new(0, 10)
mainCorner.Parent = mainFrame
local mainStroke = Instance.new("UIStroke")
mainStroke.Color = Color3.fromRGB(90, 90, 110)
mainStroke.Thickness = 1.5
mainStroke.Parent = mainFrame
-- Заголовок
local title = Instance.new("TextLabel")
title.Size = UDim2.new(1, 0, 0, 40)
title.BackgroundColor3 = Color3.fromRGB(35, 35, 45)
title.BorderSizePixel = 0
title.Text = "⚔ Item Injector ⚔"
title.TextColor3 = Color3.fromRGB(240, 240, 255)
title.Font = Enum.Font.GothamBold
title.TextSize = 16
title.Parent = mainFrame
local titleCorner = Instance.new("UICorner")
titleCorner.CornerRadius = UDim.new(0, 10)
titleCorner.Parent = title
-- Кнопка закрытия
local closeBtn = Instance.new("TextButton")
closeBtn.Size = UDim2.new(0, 30, 0, 30)
closeBtn.Position = UDim2.new(1, -35, 0, 5)
closeBtn.BackgroundColor3 = Color3.fromRGB(220, 60, 60)
closeBtn.BorderSizePixel = 0
closeBtn.Text = "✕"
closeBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
closeBtn.Font = Enum.Font.GothamBold
closeBtn.TextSize = 14
closeBtn.Parent = mainFrame
local closeCorner = Instance.new("UICorner")
closeCorner.CornerRadius = UDim.new(0, 8)
closeCorner.Parent = closeBtn
closeBtn.MouseButton1Click:Connect(function()
screenGui.Enabled = false
end)
-- Верхняя панель действий (Выдать всё / Удалить всё)
local topBar = Instance.new("Frame")
topBar.Size = UDim2.new(1, -20, 0, 30)
topBar.Position = UDim2.new(0, 10, 0, 48)
topBar.BackgroundColor3 = Color3.fromRGB(30, 30, 38)
topBar.BorderSizePixel = 0
topBar.Parent = mainFrame
local topBarCorner = Instance.new("UICorner")
topBarCorner.CornerRadius = UDim.new(0, 6)
topBarCorner.Parent = topBar
local giveAllBtn = Instance.new("TextButton")
giveAllBtn.Size = UDim2.new(0.5, -5, 1, 0)
giveAllBtn.Position = UDim2.new(0, 0, 0, 0)
giveAllBtn.BackgroundColor3 = Color3.fromRGB(60, 160, 90)
giveAllBtn.BorderSizePixel = 0
giveAllBtn.Text = "Выдать всё"
giveAllBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
giveAllBtn.Font = Enum.Font.GothamBold
giveAllBtn.TextSize = 12
giveAllBtn.Parent = topBar
local giveAllCorner = Instance.new("UICorner")
giveAllCorner.CornerRadius = UDim.new(0, 6)
giveAllCorner.Parent = giveAllBtn
local delAllBtn = Instance.new("TextButton")
delAllBtn.Size = UDim2.new(0.5, -5, 1, 0)
delAllBtn.Position = UDim2.new(0.5, 5, 0, 0)
delAllBtn.BackgroundColor3 = Color3.fromRGB(200, 70, 70)
delAllBtn.BorderSizePixel = 0
delAllBtn.Text = "Удалить всё"
delAllBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
delAllBtn.Font = Enum.Font.GothamBold
delAllBtn.TextSize = 12
delAllBtn.Parent = topBar
local delAllCorner = Instance.new("UICorner")
delAllCorner.CornerRadius = UDim.new(0, 6)
delAllCorner.Parent = delAllBtn
-- Скроллящийся список
local scroll = Instance.new("ScrollingFrame")
scroll.Size = UDim2.new(1, -20, 1, -150)
scroll.Position = UDim2.new(0, 10, 0, 85)
scroll.BackgroundColor3 = Color3.fromRGB(20, 20, 25)
scroll.BorderSizePixel = 0
scroll.ScrollBarThickness = 4
scroll.ScrollBarImageColor3 = Color3.fromRGB(80, 80, 100)
scroll.CanvasSize = UDim2.new(0, 0, 0, 0)
scroll.AutomaticCanvasSize = Enum.AutomaticSize.Y
scroll.Parent = mainFrame
local scrollCorner = Instance.new("UICorner")
scrollCorner.CornerRadius = UDim.new(0, 8)
scrollCorner.Parent = scroll
local listLayout = Instance.new("UIListLayout")
listLayout.Padding = UDim.new(0, 8)
listLayout.SortOrder = Enum.SortOrder.LayoutOrder
listLayout.Parent = scroll
local listPadding = Instance.new("UIPadding")
listPadding.PaddingTop = UDim.new(0, 8)
listPadding.PaddingLeft = UDim.new(0, 8)
listPadding.PaddingRight = UDim.new(0, 8)
listPadding.PaddingBottom = UDim.new(0, 8)
listPadding.Parent = scroll
-- Хранилище для функций обновления статуса
local statusUpdaters = {}
-- Карточка предмета
local function makeItemCard(cfg)
local card = Instance.new("Frame")
card.Size = UDim2.new(1, 0, 0, 105)
card.BackgroundColor3 = Color3.fromRGB(35, 35, 45)
card.BorderSizePixel = 0
card.Parent = scroll
local cardCorner = Instance.new("UICorner")
cardCorner.CornerRadius = UDim.new(0, 8)
cardCorner.Parent = card
local cardStroke = Instance.new("UIStroke")
cardStroke.Color = cfg.color
cardStroke.Thickness = 1
cardStroke.Transparency = 0.4
cardStroke.Parent = card
local nameLbl = Instance.new("TextLabel")
nameLbl.Size = UDim2.new(1, -20, 0, 25)
nameLbl.Position = UDim2.new(0, 10, 0, 6)
nameLbl.BackgroundTransparency = 1
nameLbl.Text = cfg.name
nameLbl.TextColor3 = cfg.color
nameLbl.Font = Enum.Font.GothamBold
nameLbl.TextSize = 15
nameLbl.TextXAlignment = Enum.TextXAlignment.Left
nameLbl.Parent = card
local function makeButton(text, xPos, xSize, bgColor)
local btn = Instance.new("TextButton")
btn.Size = UDim2.new(0, xSize, 0, 30)
btn.Position = UDim2.new(0, xPos, 0, 40)
btn.BackgroundColor3 = bgColor
btn.BorderSizePixel = 0
btn.Text = text
btn.TextColor3 = Color3.fromRGB(255, 255, 255)
btn.Font = Enum.Font.GothamBold
btn.TextSize = 12
btn.Parent = card
local c = Instance.new("UICorner")
c.CornerRadius = UDim.new(0, 6)
c.Parent = btn
return btn
end
local giveBtn = makeButton("Выдать", 10, 90, Color3.fromRGB(60, 160, 90))
local equipBtn = makeButton("Экип.", 105, 80, Color3.fromRGB(60, 120, 200))
local delBtn = makeButton("Удалить", 190, 90, Color3.fromRGB(200, 70, 70))
local statusLbl = Instance.new("TextLabel")
statusLbl.Size = UDim2.new(1, -20, 0, 18)
statusLbl.Position = UDim2.new(0, 10, 0, 76)
statusLbl.BackgroundTransparency = 1
statusLbl.Text = "Статус: не выдан"
statusLbl.TextColor3 = Color3.fromRGB(160, 160, 180)
statusLbl.Font = Enum.Font.Gotham
statusLbl.TextSize = 11
statusLbl.TextXAlignment = Enum.TextXAlignment.Left
statusLbl.Parent = card
local function updateStatus()
if inventory.items[cfg.guid] then
local tag = Injected[cfg.guid] and "✓ в инвентаре (авто)" or "✓ в инвентаре"
statusLbl.Text = "Статус: " .. tag
statusLbl.TextColor3 = Color3.fromRGB(100, 220, 130)
else
statusLbl.Text = "Статус: не выдан"
statusLbl.TextColor3 = Color3.fromRGB(160, 160, 180)
end
end
giveBtn.MouseButton1Click:Connect(function()
inject(cfg)
startAutoRestore(cfg)
updateStatus()
end)
equipBtn.MouseButton1Click:Connect(function()
if not inventory.items[cfg.guid] then
pcall(function() makeToast("Сначала выдай предмет!", "yellow", 2) end)
return
end
local item = inventory.items[cfg.guid]
pcall(function()
for _, other in pairs(inventory.items) do
if other ~= item and other.equipped then
other:SetEquipped(false, true)
end
end
item:SetEquipped(true)
end)
updateStatus()
end)
delBtn.MouseButton1Click:Connect(function()
removeInjected(cfg)
pcall(function() makeToast(cfg.name .. " удалён", "yellow", 2) end)
updateStatus()
end)
-- сохраняем апдейтер для кнопки "выдать всё"
table.insert(statusUpdaters, updateStatus)
task.spawn(function()
while card.Parent do
task.wait(1)
updateStatus()
end
end)
end
for _, cfg in ipairs(ITEMS) do
makeItemCard(cfg)
end
-- Кнопка "Выдать всё"
giveAllBtn.MouseButton1Click:Connect(function()
for _, cfg in ipairs(ITEMS) do
inject(cfg)
startAutoRestore(cfg)
end
pcall(function() makeToast("Все предметы выданы!", "green", 3) end)
for _, upd in ipairs(statusUpdaters) do
pcall(upd)
end
end)
-- Кнопка "Удалить всё"
delAllBtn.MouseButton1Click:Connect(function()
for _, cfg in ipairs(ITEMS) do
removeInjected(cfg)
end
pcall(function() makeToast("Все предметы удалены", "yellow", 3) end)
for _, upd in ipairs(statusUpdaters) do
pcall(upd)
end
end)
-- Подвал
local footer = Instance.new("TextLabel")
footer.Size = UDim2.new(1, -20, 0, 25)
footer.Position = UDim2.new(0, 10, 1, -35)
footer.BackgroundTransparency = 1
footer.Text = "Перетаскивай за заголовок • F1 — вкл/выкл"
footer.TextColor3 = Color3.fromRGB(130, 130, 150)
footer.Font = Enum.Font.Gotham
footer.TextSize = 10
footer.Parent = mainFrame
-- F1
UserInputService.InputBegan:Connect(function(input, gp)
if gp then return end
if input.KeyCode == Enum.KeyCode.F1 then
screenGui.Enabled = not screenGui.Enabled
end
end)
print(" F1 — Show/hide")Review the source before using it. Executions count successful copies, capped at 10 per user and network per script in 24 hours.
Community discussion
0Start the conversation.


Your community, in one place