#im trying to spawn a 3D entity using a spawner but im not sure how to script it can someone help me
1 messages · Page 1 of 1 (latest)
To change this into a chat command like :KTSspawn me Eto, you need a script that listens for the player's chat, finds the target player, and then runs that same cloning logic you already have.
If you need any extra help send me through Dms
okay ty
i dmed u
@patent hearth your dms are not open bu here is the script:
oh their not ?
my bad
try this, this script goes inside ServerScriptService. :
'''local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Workspace = game:GetService("Workspace")
-- config
local SPAWN_TIME = 3600 -- Time in seconds
local BOSS_NAME = "Eto"
local RIG_NAME = "EtoBossRig" -- The name of the model inside the module
-- paths (Change it if needed)
local MobsFolder = ReplicatedStorage:WaitForChild("KTNPCHandler"):WaitForChild("Mobs")
-- Make sure you have a Part in workspace named "BossSpawnLocation"
local SpawnPart = Workspace:WaitForChild("BossSpawnLocation")
while true do
print("Timer started: Waiting " .. SPAWN_TIME .. " seconds for " .. BOSS_NAME)
task.wait(SPAWN_TIME)
local bossModule = MobsFolder:FindFirstChild(BOSS_NAME)
if bossModule then
local originalRig = bossModule:FindFirstChild(RIG_NAME)
if originalRig then
local clone = originalRig:Clone()
clone.Parent = Workspace
clone:PivotTo(SpawnPart.CFrame + Vector3.new(0, 5, 0)) -- Adds 5 studs height so she doesn't get stuck in the floor
print("SUCCESS: " .. BOSS_NAME .. " has spawned")
-- Optional: Send a message to chat telling players boss spawned
game.StarterGui:SetCore("ChatMakeSystemMessage", {
Text = "boss has spawend";
Color = Color3.fromRGB(255, 0, 0);
})
else
warn("Script Error: Could not find '" .. RIG_NAME .. "' inside the Eto Module.")
end
else
warn("Script Error: Could not find the '" .. BOSS_NAME .. "' Module in KTNPCHandler.")
end
end'''
thank you lemme try it rq
is it a local script or just a script
** You are now Level 2! **
just a script
alright lemme try again cuz it dosnt seem to work
im currently at the exact place where the boss is supposed to be but hes not here
there is no error in the feedback eithert
i also put 20 seconds to spawn just to test if it worked
is it because the part isnt anchored?
the path is good too the part is named bossspawnlocation
okay try this:
'''local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Workspace = game:GetService("Workspace")
local SPAWN_TIME = 20
local BOSS_NAME = "Eto"
local RIG_NAME = "EtoBossRig"
local MobsFolder = ReplicatedStorage:WaitForChild("KTNPCHandler"):WaitForChild("Mobs")
-- important: match your part name exactly:
local SpawnPart = Workspace:WaitForChild("bossspawnlocation") -- changed here
while true do
print("Waiting", SPAWN_TIME, "seconds to spawn", BOSS_NAME)
task.wait(SPAWN_TIME)
local bossModule = MobsFolder:FindFirstChild(BOSS_NAME)
if not bossModule then
warn("Could not find mob:", BOSS_NAME)
continue
end
local originalRig = bossModule:FindFirstChild(RIG_NAME)
if not originalRig then
warn("Could not find rig:", RIG_NAME, "inside", bossModule:GetFullName())
continue
end
local clone = originalRig:Clone()
clone.Parent = Workspace
clone:PivotTo(SpawnPart.CFrame + Vector3.new(0, 5, 0))
print("Spawned", BOSS_NAME)
end'''
nop nothing its been 20 seconds and nothing spawned it didnt even show up in the feedback
im thinking are you sure its seconds and not minutes
idk if this could help but we got spawns in their rooms which we wanted to change we wanted to make the world spawn in the open world and not in raid rooms
the thing is
it spawns when the raid is launched
wait i think i know how to fix it
the part parent needs to be the boss
@winged shore
If you’re using your own spawner script the one that does clone:PivotTo(SpawnPart.CFrame., then no the spawn Part does not need to be parented to the boss. It can be anywhere, as long as your script can find it the correct WaitForChild path.
i mean the path is correct
the name aswell
OH WAIT
their all in serverstorage
not replicated
lemme try again

so check the following
- Script in ServerScriptService
- Verify the spawn part exists and the name matches exactly (local SpawnPart = workspace:WaitForChild("bossspawnlocation"))
3, Confirm KTNPCHandler + Mobs exist before the raid starts - Confirm the boss rig source actually exists (local SpawnPart = workspace:WaitForChild("bossspawnlocation"))
uh well i did all that
** You are now Level 3! **
here: ''' local ServerStorage = game:GetService("ServerStorage")
local Workspace = game:GetService("Workspace")
local SPAWN_TIME = 20
print("BossSpawn running")
-- Spawn location
local SpawnPart = Workspace:WaitForChild("bossspawnlocation", 10)
assert(SpawnPart, "Missing Workspace.bossspawnlocation (check name/case)")
-- GameData package (where your screenshot shows the assets)
local gameData = ServerStorage:FindFirstChild("GameData", true)
assert(gameData, "Could not find 'GameData' anywhere in ServerStorage")
local handler = gameData:WaitForChild("ServerScriptService"):WaitForChild("ServerRelated"):WaitForChild("KTNPCHandler")
local rig = handler:WaitForChild("Mobs"):WaitForChild("Eto"):WaitForChild("EtoBossRig")
print("Found rig at:", rig:GetFullName())
print("Found spawn at:", SpawnPart:GetFullName())
while true do
print("Waiting", SPAWN_TIME, "seconds...")
task.wait(SPAWN_TIME)
local clone = rig:Clone()
clone.Parent = Workspace
clone:PivotTo(SpawnPart.CFrame * CFrame.new(0, 5, 0))
print("Spawned EtoBossRig:", clone:GetFullName())
end '''
my bad didnt saw lemme try
oh it works now but she noclips throught the ground
Regarde Untitled de PinguTeGoume et des millions d'autres vidéos Roblox Studio sur Medal. #robloxstudio
enable CanCollide to model if its already on then add this to the spawn script Add this right after cloning: ''' local PhysicsService = game:GetService("PhysicsService")
local function forceCollisions(model)
for _, inst in ipairs(model:GetDescendants()) do
if inst:IsA("BasePart") then
inst.Anchored = false
inst.CanCollide = true
PhysicsService:SetPartCollisionGroup(inst, "Default")
end
end
end '''
then withn the loop add this: ' local clone = rig:Clone()
clone.Parent = workspace
forceCollisions(clone)
clone:PivotTo(SpawnPart.CFrame * CFrame.new(0, 8, 0)) -- spawn a bit higher"
like this ?
i think i fucked it up
``local ServerStorage = game:GetService("ServerStorage")
local Workspace = game:GetService("Workspace")
local SPAWN_TIME = 20
print("BossSpawn running")
-- Spawn location
local SpawnPart = Workspace:WaitForChild("bossspawnlocation", 10)
assert(SpawnPart, "Missing Workspace.bossspawnlocation (check name/case)")
-- GameData package (where your screenshot shows the assets)
local gameData = ServerStorage:FindFirstChild("GameData", true)
assert(gameData, "Could not find 'GameData' anywhere in ServerStorage")
local handler = gameData:WaitForChild("ServerScriptService"):WaitForChild("ServerRelated"):WaitForChild("KTNPCHandler")
local rig = handler:WaitForChild("Mobs"):WaitForChild("Eto"):WaitForChild("EtoBossRig")
print("Found rig at:", rig:GetFullName())
print("Found spawn at:", SpawnPart:GetFullName())
while true do
print("Waiting", SPAWN_TIME, "seconds...")
task.wait(SPAWN_TIME)
local clone = rig:Clone()
clone.Parent = workspace
forceCollisions(clone)
clone:PivotTo(SpawnPart.CFrame * CFrame.new(0, 8, 0)) -- spawn a bit higher
print("Spawned EtoBossRig:", clone:GetFullName())
local PhysicsService = game:GetService("PhysicsService")
local function forceCollisions(model)
for _, inst in ipairs(model:GetDescendants()) do
if inst:IsA("BasePart") then
inst.Anchored = false
inst.CanCollide = true
PhysicsService:SetPartCollisionGroup(inst, "Default")
end
end
end
end ``
like this:
local ServerStorage = game:GetService("ServerStorage")
local Workspace = game:GetService("Workspace")
local PhysicsService = game:GetService("PhysicsService")
local SPAWN_TIME = 20
print("BossSpawn running")
local function forceCollisions(model)
for _, inst in ipairs(model:GetDescendants()) do
if inst:IsA("BasePart") then
inst.Anchored = false
inst.CanCollide = true
PhysicsService:SetPartCollisionGroup(inst, "Default")
end
end
end
-- Spawn location
local SpawnPart = Workspace:WaitForChild("bossspawnlocation", 10)
assert(SpawnPart, "Missing Workspace.bossspawnlocation (check name/case)")
-- GameData package path (from your screenshot)
local gameData = ServerStorage:FindFirstChild("GameData", true)
assert(gameData, "Could not find 'GameData' anywhere in ServerStorage")
local handler = gameData
:WaitForChild("ServerScriptService")
:WaitForChild("ServerRelated")
:WaitForChild("KTNPCHandler")
local rig = handler:WaitForChild("Mobs"):WaitForChild("Eto"):WaitForChild("EtoBossRig")
print("Found rig at:", rig:GetFullName())
print("Found spawn at:", SpawnPart:GetFullName())
while true do
print("Waiting", SPAWN_TIME, "seconds...")
task.wait(SPAWN_TIME)
local clone = rig:Clone()
clone.Parent = Workspace
forceCollisions(clone)
clone:PivotTo(SpawnPart.CFrame * CFrame.new(0, 8, 0)) -- spawn higher
print("Spawned EtoBossRig:", clone:GetFullName())
end
thank you
i think my game data is called sum else
gimme a sec
nop i just dont have any game data ?
there is a small issue with spawn time aswell
wait
i do
but it disappear when the test launch
so it works now
nah the script cant find gamedata anywhere because when the test launch the server storage content disappear
i'll record a clip
Regarde Untitled de PinguTeGoume et des millions d'autres vidéos Roblox Studio sur Medal. #robloxstudio
okay my bad
its bcs i removed coma
this error is still here
** You are now Level 4! **
Uh I help when I get home if you haven't fixed it by then
yea i fixed it