Hi,
I created a little script to get xyz and angle from a prop:
[CODE]
function AddWorldProp(ply)
local ent = ply:GetEyeTrace().Entity
if not IsValid(ent) or not ply:IsSuperAdmin() then return end
local pos = ent:GetPos()
local ang = ent:EyeAngles()
local model = ent:GetModel()
ply:ChatPrint("Vector("..pos.x..","..pos.y..","..pos.z.."),Vector("..ang.p..","..ang.y..","..ang.r.."),"..model)
end
concommand.Add("getpropinfo", AddWorldProp)
[/CODE]
So after i build, i created this:
[CODE]
function houseone()
SProp(Vector(-6384,9434,-12752),Vector(90,-133,180),"models/hunter/blocks/cube2x8x05.mdl","models/props_wasteland/wood_fence01a")
SProp(Vector(-6664,9692,-12752),Vector(90,-133,180),"models/hunter/blocks/cube2x8x05.mdl","models/props_wasteland/wood_fence01a")
SProp(Vector(-7015,9595,-12752),Vector(90,-42,180),"models/hunter/blocks/cube2x8x05.mdl","models/props_wasteland/wood_fence01a")
SProp(Vector(-7184,9409,-12752),Vector(90,-42,180),"models/hunter/blocks/cube2x8x05.mdl","models/props_wasteland/wood_fence01a")
SProp(Vector(-7163,9147,-12752),Vector(90,48,180),"models/hunter/blocks/cube2x8x05.mdl","models/props_wasteland/wood_fence01a")
SProp(Vector(-6882,8891,-12752),Vector(90,48,180),"models/hunter/blocks/cube2x8x05.mdl","models/props_wasteland/wood_fence01a")
SProp(Vector(-6612,8886,-12752),Vector(90,-42,180),"models/hunter/blocks/cube2x8x05.mdl","models/wireframe")
SProp(Vector(-6356,9166,-12752),Vector(90,-42,180),"models/hunter/blocks/cube2x8x05.mdl","models/props_wasteland/wood_fence01a")
--2Stufe
SProp(Vector(-6612,8886,-12657),Vector(90,-42,180),"models/hunter/blocks/cube2x8x05.mdl","models/props_wasteland/wood_fence01a")
SProp(Vector(-6356,9166,-12657),Vector(90,-42,180),"models/hunter/blocks/cube2x8x05.mdl","models/props_wasteland/wood_fence01a")
SProp(Vector(-6384,9434,-12657),Vector(90,-133,180),"models/hunter/blocks/cube2x8x05.mdl","models/props_wasteland/wood_fence01a")
SProp(Vector(-6664,9692,-12657),Vector(90,-133,180),"models/hunter/blocks/cube2x8x05.mdl","models/props_wasteland/wood_fence01a")
SProp(Vector(-6928,9689,-12657),Vector(90,-42,180),"models/hunter/blocks/cube2x8x05.mdl","models/props_wasteland/wood_fence01a")
SProp(Vector(-7184,9409,-12657),Vector(90,-42,180),"models/hunter/blocks/cube2x8x05.mdl","models/props_wasteland/wood_fence01a")
SProp(Vector(-7163,9147,-12657),Vector(90,48,180),"models/hunter/blocks/cube2x8x05.mdl","models/props_wasteland/wood_fence01a")
SProp(Vector(-6882,8891,-12657),Vector(90,48,180),"models/hunter/blocks/cube2x8x05.mdl","models/props_wasteland/wood_fence01a")
--Dach
SProp(Vector(-6770,9036,-12597),Vector(0,138,0),"models/hunter/blocks/cube8x8x05.mdl","models/props_wasteland/wood_fence01a")
SProp(Vector(-7051,9292,-12597),Vector(0,138,0),"models/hunter/blocks/cube8x8x05.mdl","models/props_wasteland/wood_fence01a")
SProp(Vector(-6795,9573,-12597),Vector(0,138,0),"models/hunter/blocks/cube8x8x05.mdl","models/props_wasteland/wood_fence01a")
SProp(Vector(-6514,9317,-12597),Vector(0,138,0),"models/hunter/blocks/cube8x8x05.mdl","models/props_wasteland/wood_fence01a")
SProp(Vector(-6611,8892,-12597),Vector(0,-42,0),"models/hunter/blocks/cube1x8x05.mdl","models/props_wasteland/wood_fence01a")
SProp(Vector(-6356,9173,-12597),Vector(0,-42,0),"models/hunter/blocks/cube1x8x05.mdl","models/props_wasteland/wood_fence01a")
end
[/CODE]
SProp:
[CODE]
function SProp(position, angel, model, material)
local ent1 = ents.Create("prop_physics")
ent1:SetName("StaticProp")
local ang = Vector(0,0,1):Angle();
ent1:SetAngles(ang)
ent1:SetModel(model)
local pos = position
pos.z = pos.z - ent1:OBBMaxs().z
ent1:SetPos( pos )
ent1:SetSolid(SOLID_VPHYSICS)
ent1:SetMoveType(MOVETYPE_NONE)
ent1:SetSaveValue("m_takedamage", 0)
ent1:SetMaterial(material)
ent1:SetHealth(-1)
ent1:Spawn()
local l = ent1:GetPhysicsObject()
if l:IsValid() then
l:EnableMotion(false)
l:Sleep(false)
end
end
[/CODE]
And guess what happend?
[IMG]http://cdn.ikarusbasis.info/dl/screenshots/suchhousefail.jpg[/IMG]
Photo doesn't exist
It exist and its loading.
Why not just use the advanced duplicator?
ash47 i posted it here to get help, not that someone tell me i should use advanced dupliactor.
Such help.
Why exactly are you using this line?
[CODE]pos.z = pos.z - ent1:OBBMaxs().z[/CODE]
Also you probably don't want the eyeangle of the entity but its angle using
[URL="http://wiki.garrysmod.com/page/Entity/GetAngles"]Entity:GetAngles()[/URL]
Perhaps you should try using persistence?
You're passing a vector instead of an angle for the second argument of your SProp function. Use Angle() instead of Vector() for it.
[QUOTE=MKW9813;44591319]You're passing a vector instead of an angle for the second argument of your SProp function. Use Angle() instead of Vector() for it.[/QUOTE]
The second argument is not even used in the function.
[QUOTE=JackBauerr;44386625]Hi,
I created a little script to get xyz and angle from a prop:
[CODE]
function AddWorldProp(ply)
local ent = ply:GetEyeTrace().Entity
if not IsValid(ent) or not ply:IsSuperAdmin() then return end
local pos = ent:GetPos()
local ang = ent:EyeAngles()
local model = ent:GetModel()
ply:ChatPrint("Vector("..pos.x..","..pos.y..","..pos.z.."),Angle("..ang.p..","..ang.y..","..ang.r.."),"..model)
end
concommand.Add("getpropinfo", AddWorldProp)
[/CODE]
So after i build, i created this:
[CODE]
function houseone()
SProp(Vector(-6384,9434,-12752),Angle(90,-133,180),"models/hunter/blocks/cube2x8x05.mdl","models/props_wasteland/wood_fence01a")
SProp(Vector(-6664,9692,-12752),Angle(90,-133,180),"models/hunter/blocks/cube2x8x05.mdl","models/props_wasteland/wood_fence01a")
SProp(Vector(-7015,9595,-12752),Angle(90,-42,180),"models/hunter/blocks/cube2x8x05.mdl","models/props_wasteland/wood_fence01a")
SProp(Vector(-7184,9409,-12752),Angle(90,-42,180),"models/hunter/blocks/cube2x8x05.mdl","models/props_wasteland/wood_fence01a")
SProp(Vector(-7163,9147,-12752),Angle(90,48,180),"models/hunter/blocks/cube2x8x05.mdl","models/props_wasteland/wood_fence01a")
SProp(Vector(-6882,8891,-12752),Angle(90,48,180),"models/hunter/blocks/cube2x8x05.mdl","models/props_wasteland/wood_fence01a")
SProp(Vector(-6612,8886,-12752),Angle(90,-42,180),"models/hunter/blocks/cube2x8x05.mdl","models/wireframe")
SProp(Vector(-6356,9166,-12752),Angle(90,-42,180),"models/hunter/blocks/cube2x8x05.mdl","models/props_wasteland/wood_fence01a")
--2Stufe
SProp(Vector(-6612,8886,-12657),Angle(90,-42,180),"models/hunter/blocks/cube2x8x05.mdl","models/props_wasteland/wood_fence01a")
SProp(Vector(-6356,9166,-12657),Angle(90,-42,180),"models/hunter/blocks/cube2x8x05.mdl","models/props_wasteland/wood_fence01a")
SProp(Vector(-6384,9434,-12657),Angle(90,-133,180),"models/hunter/blocks/cube2x8x05.mdl","models/props_wasteland/wood_fence01a")
SProp(Vector(-6664,9692,-12657),Angle(90,-133,180),"models/hunter/blocks/cube2x8x05.mdl","models/props_wasteland/wood_fence01a")
SProp(Vector(-6928,9689,-12657),Angle(90,-42,180),"models/hunter/blocks/cube2x8x05.mdl","models/props_wasteland/wood_fence01a")
SProp(Vector(-7184,9409,-12657),Angle(90,-42,180),"models/hunter/blocks/cube2x8x05.mdl","models/props_wasteland/wood_fence01a")
SProp(Vector(-7163,9147,-12657),Angle(90,48,180),"models/hunter/blocks/cube2x8x05.mdl","models/props_wasteland/wood_fence01a")
SProp(Vector(-6882,8891,-12657),Angle(90,48,180),"models/hunter/blocks/cube2x8x05.mdl","models/props_wasteland/wood_fence01a")
--Dach
SProp(Vector(-6770,9036,-12597),Angle(0,138,0),"models/hunter/blocks/cube8x8x05.mdl","models/props_wasteland/wood_fence01a")
SProp(Vector(-7051,9292,-12597),Angle(0,138,0),"models/hunter/blocks/cube8x8x05.mdl","models/props_wasteland/wood_fence01a")
SProp(Vector(-6795,9573,-12597),Angle(0,138,0),"models/hunter/blocks/cube8x8x05.mdl","models/props_wasteland/wood_fence01a")
SProp(Vector(-6514,9317,-12597),Angle(0,138,0),"models/hunter/blocks/cube8x8x05.mdl","models/props_wasteland/wood_fence01a")
SProp(Vector(-6611,8892,-12597),Angle(0,-42,0),"models/hunter/blocks/cube1x8x05.mdl","models/props_wasteland/wood_fence01a")
SProp(Vector(-6356,9173,-12597),Angle(0,-42,0),"models/hunter/blocks/cube1x8x05.mdl","models/props_wasteland/wood_fence01a")
end
[/CODE]
SProp:
[CODE]
function SProp(position, angel, model, material)
local ent1 = ents.Create("prop_physics")
ent1:SetName("StaticProp")
local ang = Vector(0,0,1):Angle();
ent1:SetAngles(ang)
ent1:SetModel(model)
local pos = position
pos.z = pos.z - ent1:OBBMaxs().z
ent1:SetPos( pos )
ent1:SetSolid(SOLID_VPHYSICS)
ent1:SetMoveType(MOVETYPE_NONE)
ent1:SetSaveValue("m_takedamage", 0)
ent1:SetMaterial(material)
ent1:SetHealth(-1)
ent1:Spawn()
local l = ent1:GetPhysicsObject()
if l:IsValid() then
l:EnableMotion(false)
l:Sleep(false)
end
end
[/CODE]
And guess what happend?
[IMG]http://cdn.ikarusbasis.info/dl/screenshots/suchhousefail.jpg[/IMG][/QUOTE]
Angles aren't vectors. Already stated above.
[QUOTE=AnonTakesOver;44386636]Photo doesn't exist[/QUOTE]
Right click the broken photo -> Copy picture webaddress -> Paste in a new tab or window - > Pls.
You need to do LocalToWorld to spawn it, and WorldToLocal to save it to ensure it's always right.
Sorry, you need to Log In to post a reply to this thread.