• WorldToLocal problem
    4 replies, posted
Hello facepunch. I am trying to get vectors for passenger seats (making some vehicles). I figured out how to set the vehicle's angles to 0 0 0, but now I need to get the seat pos. I amde this script [code]function FindPlayer ( string ) local i = 0 local ply for k, v in pairs ( player.GetAll() ) do if string.find ( string.lower ( v:Name() ), string.lower ( string ) ) then i = i + 1 ply = v end end if ! i==1 then ply = NULL end return ply end function Nig( ply, cmd ) Entity:IsValid then MsgN ( ply:WorldToLocal( Vector ( tr.Entity ))) end concommand.Add("getpos1", Nig ) [/code] As you can probably see, I don't know how to make the script find the needed entity. I tried player eye tracelines, but failed. The position script gives me is counted from the center of the map, while I need to make WorldToLocal count it from the center of the car. Please help, I ran out of ideas.
What are you trying to achieve? Do you want to get the distance from the center of the vehicle to a seat?
[QUOTE=thefreeman193;30868511]What are you trying to achieve? Do you want to get the distance from the center of the vehicle to a seat?[/QUOTE] Exactly. I noclip to the place where seat is supposed to be and find out the position, then put that into vehicle lua file.
Think this is what you want: [lua] --V represents the vehicle entity --S represents the seat entity V:LocalToWorld(V:OBBCenter()) -- Gets the world vector of the CENTER of the vehicle S:GetPos() -- Gets the world vector of the seat V:LocalToWorld(V:OBBCenter()):Distance(S:GetPos()) -- The distance between the two [/lua]
Oh thank you man! [editline]3rd July 2011[/editline] The only problem is that I need all the vectors, not distance, but this one I can fix myself.
Sorry, you need to Log In to post a reply to this thread.