NPC Gui Spawn
Key RequiredUniversal

NPC Gui Spawn

Universal ScriptFancykidFancykid 3.9K views 886 executesUpdated Apr 16, 2026
4.0/ 5(10 votes)
8280% Positive
Lua Script•189 lines (7742 chars)
--[=[
 d888b  db    db d888888b      .d888b.      db      db    db  .d8b.  
88' Y8b 88    88   `88'        VP  `8D      88      88    88 d8' `8b 
88      88    88    88            odD'      88      88    88 88ooo88 
88  ooo 88    88    88          .88'        88      88    88 88~~~88 
88. ~8~ 88b  d88   .88.        j88.         88booo. 88b  d88 88   88    @uniquadev
 Y888P  ~Y8888P' Y888888P      888888D      Y88888P ~Y8888P' YP   YP  CONVERTER 

designed using localmaze gui creator
]=]

-- Instances: 15 | Scripts: 3 | Modules: 0 | Tags: 0
local LMG2L = {};

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


-- Players.Influxusreel_1.PlayerGui.ScreenGui.Frame
LMG2L["Frame_2"] = Instance.new("Frame", LMG2L["ScreenGui_1"]);
LMG2L["Frame_2"]["BorderSizePixel"] = 0;
LMG2L["Frame_2"]["BackgroundColor3"] = Color3.fromRGB(79, 79, 79);
LMG2L["Frame_2"]["Size"] = UDim2.new(0, 296, 0, 192);
LMG2L["Frame_2"]["Position"] = UDim2.new(0, 280, 0, -2);


-- Players.Influxusreel_1.PlayerGui.ScreenGui.Frame.UICorner
LMG2L["UICorner_3"] = Instance.new("UICorner", LMG2L["Frame_2"]);



-- Players.Influxusreel_1.PlayerGui.ScreenGui.Frame.TextButton2
LMG2L["TextButton2_4"] = Instance.new("TextButton", LMG2L["Frame_2"]);
LMG2L["TextButton2_4"]["BorderSizePixel"] = 0;
LMG2L["TextButton2_4"]["TextSize"] = 24;
LMG2L["TextButton2_4"]["TextColor3"] = Color3.fromRGB(255, 255, 255);
LMG2L["TextButton2_4"]["BackgroundColor3"] = Color3.fromRGB(62, 255, 25);
LMG2L["TextButton2_4"]["FontFace"] = Font.new([[rbxasset://fonts/families/HighwayGothic.json]], Enum.FontWeight.Regular, Enum.FontStyle.Normal);
LMG2L["TextButton2_4"]["Size"] = UDim2.new(0, 240, 0, 38);
LMG2L["TextButton2_4"]["Text"] = [[Spawn Noob]];
LMG2L["TextButton2_4"]["Name"] = [[TextButton2]];
LMG2L["TextButton2_4"]["Position"] = UDim2.new(0, 24, 0, 114);


-- Players.Influxusreel_1.PlayerGui.ScreenGui.Frame.TextButton2.UICorner
LMG2L["UICorner_5"] = Instance.new("UICorner", LMG2L["TextButton2_4"]);



-- Players.Influxusreel_1.PlayerGui.ScreenGui.Frame.TextButton2.LocalScript
LMG2L["LocalScript_6"] = Instance.new("LocalScript", LMG2L["TextButton2_4"]);



-- Players.Influxusreel_1.PlayerGui.ScreenGui.Frame.TextButton3
LMG2L["TextButton3_7"] = Instance.new("TextButton", LMG2L["Frame_2"]);
LMG2L["TextButton3_7"]["BorderSizePixel"] = 0;
LMG2L["TextButton3_7"]["TextSize"] = 24;
LMG2L["TextButton3_7"]["TextColor3"] = Color3.fromRGB(255, 255, 255);
LMG2L["TextButton3_7"]["BackgroundColor3"] = Color3.fromRGB(62, 255, 25);
LMG2L["TextButton3_7"]["FontFace"] = Font.new([[rbxasset://fonts/families/HighwayGothic.json]], Enum.FontWeight.Regular, Enum.FontStyle.Normal);
LMG2L["TextButton3_7"]["Size"] = UDim2.new(0, 50, 0, 38);
LMG2L["TextButton3_7"]["Text"] = [[X]];
LMG2L["TextButton3_7"]["Name"] = [[TextButton3]];
LMG2L["TextButton3_7"]["Position"] = UDim2.new(0, 240, 0, 4);


-- Players.Influxusreel_1.PlayerGui.ScreenGui.Frame.TextButton3.UICorner
LMG2L["UICorner_8"] = Instance.new("UICorner", LMG2L["TextButton3_7"]);



-- Players.Influxusreel_1.PlayerGui.ScreenGui.Frame.TextButton3.LocalScript
LMG2L["LocalScript_9"] = Instance.new("LocalScript", LMG2L["TextButton3_7"]);



-- Players.Influxusreel_1.PlayerGui.ScreenGui.Frame.TextLabel2
LMG2L["TextLabel2_a"] = Instance.new("TextLabel", LMG2L["Frame_2"]);
LMG2L["TextLabel2_a"]["BorderSizePixel"] = 0;
LMG2L["TextLabel2_a"]["TextSize"] = 18;
LMG2L["TextLabel2_a"]["BackgroundColor3"] = Color3.fromRGB(255, 255, 255);
LMG2L["TextLabel2_a"]["FontFace"] = Font.new([[rbxasset://fonts/families/Zekton.json]], Enum.FontWeight.Regular, Enum.FontStyle.Normal);
LMG2L["TextLabel2_a"]["TextColor3"] = Color3.fromRGB(255, 255, 255);
LMG2L["TextLabel2_a"]["BackgroundTransparency"] = 1;
LMG2L["TextLabel2_a"]["Size"] = UDim2.new(0, 226, 0, 90);
LMG2L["TextLabel2_a"]["Text"] = [[Made By Fancykid]];
LMG2L["TextLabel2_a"]["Name"] = [[TextLabel2]];
LMG2L["TextLabel2_a"]["Position"] = UDim2.new(0, 34, 0, 126);


-- Players.Influxusreel_1.PlayerGui.ScreenGui.Frame.TextLabel
LMG2L["TextLabel_b"] = Instance.new("TextLabel", LMG2L["Frame_2"]);
LMG2L["TextLabel_b"]["BorderSizePixel"] = 0;
LMG2L["TextLabel_b"]["TextSize"] = 28;
LMG2L["TextLabel_b"]["BackgroundColor3"] = Color3.fromRGB(255, 255, 255);
LMG2L["TextLabel_b"]["FontFace"] = Font.new([[rbxasset://fonts/families/Zekton.json]], Enum.FontWeight.Regular, Enum.FontStyle.Normal);
LMG2L["TextLabel_b"]["TextColor3"] = Color3.fromRGB(255, 255, 255);
LMG2L["TextLabel_b"]["BackgroundTransparency"] = 1;
LMG2L["TextLabel_b"]["Size"] = UDim2.new(0, 226, 0, 90);
LMG2L["TextLabel_b"]["Text"] = [[NPC Spawner]];
LMG2L["TextLabel_b"]["Position"] = UDim2.new(0, 34, 0, -16);


-- Players.Influxusreel_1.PlayerGui.ScreenGui.Frame.TextButton
LMG2L["TextButton_c"] = Instance.new("TextButton", LMG2L["Frame_2"]);
LMG2L["TextButton_c"]["BorderSizePixel"] = 0;
LMG2L["TextButton_c"]["TextSize"] = 24;
LMG2L["TextButton_c"]["TextColor3"] = Color3.fromRGB(255, 255, 255);
LMG2L["TextButton_c"]["BackgroundColor3"] = Color3.fromRGB(62, 255, 25);
LMG2L["TextButton_c"]["FontFace"] = Font.new([[rbxasset://fonts/families/HighwayGothic.json]], Enum.FontWeight.Regular, Enum.FontStyle.Normal);
LMG2L["TextButton_c"]["Size"] = UDim2.new(0, 240, 0, 38);
LMG2L["TextButton_c"]["Text"] = [[Spawn Dummy]];
LMG2L["TextButton_c"]["Position"] = UDim2.new(0, 26, 0, 62);


-- Players.Influxusreel_1.PlayerGui.ScreenGui.Frame.TextButton.UICorner
LMG2L["UICorner_d"] = Instance.new("UICorner", LMG2L["TextButton_c"]);



-- Players.Influxusreel_1.PlayerGui.ScreenGui.Frame.TextButton.LocalScript
LMG2L["LocalScript_e"] = Instance.new("LocalScript", LMG2L["TextButton_c"]);



-- Players.Influxusreel_1.PlayerGui.ScreenGui.Frame.UIDragDetector
LMG2L["UIDragDetector_f"] = Instance.new("UIDragDetector", LMG2L["Frame_2"]);



-- Players.Influxusreel_1.PlayerGui.ScreenGui.Frame.TextButton2.LocalScript
local function C_6()
	local script = LMG2L["LocalScript_6"];
	local button = script.Parent	
	local player = game.Players.LocalPlayer	
	
	button.MouseButton1Click:Connect(function()	
	   local player = game.Players.LocalPlayer	
	local character = player.Character or player.CharacterAdded:Wait()	
	local root = character:WaitForChild("HumanoidRootPart")	
	
	local obj = game:GetObjects("rbxassetid://235400037")[1]	
	obj.Parent = workspace	
	
		
	if obj:IsA("Model") then	
	    obj:PivotTo(root.CFrame * CFrame.new(0, 0, -5))	
	elseif obj:IsA("BasePart") then	
	    obj.CFrame = root.CFrame * CFrame.new(0, 0, -5)	
	end	
	end)	
end;
task.spawn(C_6);
-- Players.Influxusreel_1.PlayerGui.ScreenGui.Frame.TextButton3.LocalScript
local function C_9()
	local script = LMG2L["LocalScript_9"];
	script.Parent.MouseButton1Click:Connect(function()	
	    script.Parent.Parent.Visible = false	
	end)	
end;
task.spawn(C_9);
-- Players.Influxusreel_1.PlayerGui.ScreenGui.Frame.TextButton.LocalScript
local function C_e()
	local script = LMG2L["LocalScript_e"];
	local button = script.Parent	
	local player = game.Players.LocalPlayer	
	
	button.MouseButton1Click:Connect(function()	
	   local player = game.Players.LocalPlayer	
	local character = player.Character or player.CharacterAdded:Wait()	
	local root = character:WaitForChild("HumanoidRootPart")	
	
	local obj = game:GetObjects("rbxassetid://8246626421")[1]	
	obj.Parent = workspace	
	
	
	if obj:IsA("Model") then	
	    obj:PivotTo(root.CFrame * CFrame.new(0, 0, -5))	
	elseif obj:IsA("BasePart") then	
	    obj.CFrame = root.CFrame * CFrame.new(0, 0, -5)	
	end	
	end)	
end;
task.spawn(C_e);

return LMG2L["ScreenGui_1"], require;

Features & Information

[Please do not skid the Gui and claim it to be your own!] Hello Everyone, Today I made a gui that can spawn npcs! If you wanna test ur scripts, you can use this Gui to spawn dummies or noobs to murder them! This is very useful for people who wants to use a test subject to murder instead of real players Yes this is Clientside so it can't be seen it's only for testing purposes and for other useful stuffs (I made this for fun so yeah)
#Npc#Testing#Useful#Dummy#Npc spawn

Community Comments (5)

Mugen_DocsMugen_DocsApr 16, 2026

Absolutely,a great idea! I'm not sure why you labeled it as "useful," but I'm on it!

Replying to @Mugen_Docs
FancykidFancykidApr 16, 2026

@Mugen_Docs thanks but it's label as useful because the npcs can be used for for test subjects, thank you for liking my script tho :)

Replying to @Fancykid
MarloooooooMarloooooooApr 17, 2026

@Fancykid nice and not fe or idk

Replying to @Fancykid
MediorceExploiterMediorceExploiterApr 18, 2026

@Fancykid I'd say it's not useful because (this is an *umption) the npcs are 100% created by the client, so the server doesn't even recognize said npcs and let's you do anything you want with them, even stuff like grab knife or other 100% visual and non-fe scripts will become completely working if the server doesn't even argue with you about npc positions or health or even worry about network ownership.

MediorceExploiterMediorceExploiterApr 18, 2026

Though I think this might be useful for creating non-fe ragdolls of players just for fun. Or just as a general feature in IY that just s*s an npc, you should totally make an iy plugin for this.

More Scripts for Universal Scripts