[B]Hello[/B],
I want to spawn props in the server so the props aren't player-based. (So the props remain on the server). How do I do it? Is it saved to map or is it a code parameter to the server to spawn a prop in a specified position? (X, Y, Z).
I've searched about this and I didn't found anything on the net, maybe I am bad at finding things, who knows..
Anyways, If you got a tip how to do it, I happy to know.
Thanks In Advance
Charlie.
One option would be making a table for the model, position and angle for the props you want and then applying that into an ents.Create() code with the InitPostEntity hook. Give it a go, if you have any trouble just let me know, I'll see what I can do.
[QUOTE=ShadowRanger;40800387]One option would be making a table for the model, position and angle for the props you want and then applying that into an ents.Create() code with the InitPostEntity hook. Give it a go, if you have any trouble just let me know, I'll see what I can do.[/QUOTE]
Thank you for the tip ShadowRanger, but which Entity ID is the server using, because I can only manage to bind the prop to a player like:
[CODE]
local ply = Entity(1) //Player ID = 1
[/CODE]
Or I am confused?
Lots of people are in need of a script that does this. I think I might consider releasing mine which does exactly what you want and is quite simple as well. Ill see what I can do later, I'm a bit busy today but this afternoon I should be able to help.
[QUOTE=CharlieA;40801101]but which Entity ID is the server using, because I can only manage to bind the prop to a player like:
[CODE]
local ply = Entity(1) //Player ID = 1
[/CODE]
Or I am confused?[/QUOTE]
I'm definitely confused by that :v:
What ShadowRanger means by
[QUOTE=ShadowRanger;40800387]making a table for the model, position and angle for the props you want and then applying that into an ents.Create() code with the InitPostEntity hook.[/QUOTE]
is something like this
[lua]local MapData = {
gm_construct = {
{model="models/hunter/plates/plate.mdl", pos=Vector(0,0,0), ang=Angle(0,90,0)},
{model="models/hunter/plates/plate.mdl", pos=Vector(100,0,-100), ang=Angle(22,35,15)},
},
gm_flatgrass = {
{model="models/hunter/plates/plate.mdl", pos=Vector(0,0,0), ang=Angle(0,90,0)},
{type="weapon_smg1", pos=Vector(100,0,-100), ang=Angle(22,35,15),}, --We can set a 'type' to spawn an entity instead of a physics prop
},
}
local function AutospawnProps()
local mapName = game.GetMap() --Get the name of the map
local mapData = MapData[mapName] --Check we have data for this map
if mapData then --If we have data for this map
--Loop through the stuff
for _,v in pairs(mapData) do
--get the type of entity, or default to a physics prop
local entType = v.type or "prop_physics"
--spawn it
local newEnt = ents.Create(entType)
if v.model then newEnt:SetModel(v.model) end --set model
if v.ang then newEnt:SetAngle(v.ang) end --set angle
if v.pos then newEnt:SetPos(v.pos) end --set position
newEnt:Spawn()
newEnt:Activate()
end --End of for-loop
end --End of check for map data
end
hook.Add("InitPostEntity", "Autospawn Props On Load", AutospawnProps)[/lua]
[QUOTE=wh1t3rabbit;40808053]I'm definitely confused by that :v:
What ShadowRanger means by
is something like this
[lua]local MapData = {
gm_construct = {
{model="models/hunter/plates/plate.mdl", pos=Vector(0,0,0), ang=Angle(0,90,0)},
{model="models/hunter/plates/plate.mdl", pos=Vector(100,0,-100), ang=Angle(22,35,15)},
},
gm_flatgrass = {
{model="models/hunter/plates/plate.mdl", pos=Vector(0,0,0), ang=Angle(0,90,0)},
{type="weapon_smg1", pos=Vector(100,0,-100), ang=Angle(22,35,15),}, --We can set a 'type' to spawn an entity instead of a physics prop
},
}
local function AutospawnProps()
local mapName = game.GetMap() --Get the name of the map
local mapData = MapData[mapName] --Check we have data for this map
if mapData then --If we have data for this map
--Loop through the stuff
for _,v in pairs(mapData) do
--get the type of entity, or default to a physics prop
local entType = v.type or "prop_physics"
--spawn it
local newEnt = ents.Create(entType)
if v.model then newEnt:SetModel(v.model) end --set model
if v.ang then newEnt:SetAngle(v.ang) end --set angle
if v.pos then newEnt:SetPos(v.pos) end --set position
newEnt:Spawn()
newEnt:Activate()
end --End of for-loop
end --End of check for map data
end
hook.Add("InitPostEntity", "Autospawn Props On Load", AutospawnProps)[/lua][/QUOTE]Sweet. Yeah, that's basically the sort of coding I meant but for world props I use prop_dynamic and set it as a solid along with disabling the ability to interact with it using a physun, gravity gun etc...
Sorry, you need to Log In to post a reply to this thread.