miloshcavitch Posted December 5, 2015 Share Posted December 5, 2015 hey all, gta script noob here wondering about how coordinates work in the game. just as a way to understand how coordinates work, i'm trying to draw a line between the player and points in front and in back of him and above on the z axis. When i tested it only one line was drawn and it led to somewhere far, far away. Here's my code: void main(){ while (true) { if (IsKeyJustUp(VK_F8)) { coolGraphics = !coolGraphics; } if (coolGraphics && DOES_ENTITY_EXIST(PLAYER_ID() ) ) { Vector3 playerLoc = ENTITY::GET_ENTITY_COORDS(PLAYER_PED_ID(), true); Vector3 one = ENTITY::GET_OFFSET_FROM_ENTITY_IN_WORLD_COORDS(PLAYER_ID(), 0, 40, 40); Vector3 two = ENTITY::GET_OFFSET_FROM_ENTITY_IN_WORLD_COORDS(PLAYER_ID(), 0, 20, 40); Vector3 three = ENTITY::GET_OFFSET_FROM_ENTITY_IN_WORLD_COORDS(PLAYER_ID(), 0, 0, 40); Vector3 four = ENTITY::GET_OFFSET_FROM_ENTITY_IN_WORLD_COORDS(PLAYER_ID(), 0, -20, 40); Vector3 five = ENTITY::GET_OFFSET_FROM_ENTITY_IN_WORLD_COORDS(PLAYER_ID(), 0, -40, 40); GRAPHICS::DRAW_LINE(one.x, one.y, one.z, playerLoc.x, playerLoc.y, playerLoc.z, 130, 130, 0, 255); GRAPHICS::DRAW_LINE(two.x, two.y, two.z, playerLoc.x, playerLoc.y, playerLoc.z, 130, 130, 0, 255); GRAPHICS::DRAW_LINE(three.x, three.y, three.z, playerLoc.x, playerLoc.y, playerLoc.z, 130, 130, 0, 255); GRAPHICS::DRAW_LINE(four.x, four.y, four.z, playerLoc.x, playerLoc.y, playerLoc.z, 130, 130, 0, 255); GRAPHICS::DRAW_LINE(five.x, five.y, five.z, playerLoc.x, playerLoc.y, playerLoc.z, 130, 130, 0, 255); } WAIT(0); }} so far, the only way ive been able to utilize coordinates is using the function someone (who's been a big help, props) posted a couple weeks ago in the documentation subforum: Vector3 getCoordsFromCam(float distance){ Vector3 camRot = CAM::GET_GAMEPLAY_CAM_ROT(2); Vector3 camCoords = CAM::GET_GAMEPLAY_CAM_COORD(); float tZ = camRot.z * 0.0174532924F; float tX = camRot.x * 0.0174532924F; float absX = abs(cos(tX)); return{ camCoords.x + (-sin(tZ) * absX) * distance, 0, camCoords.y + (cos(tZ) * absX) * distance, 0, camCoords.z + (sin(tX)) * distance, 0 }; /*A Vector3 actually has six parts to it, not three: x, _paddingx, y, _paddingy, z, and _paddingz. So you can declare a Vector3 inside curly braces like this if you know to separate the real XYZ values from the padding values (I just use 0 for them)*/} please let me know what you think??? Link to comment Share on other sites More sharing options...
elsewhat Posted December 18, 2015 Share Posted December 18, 2015 Try swapping PLAYER::PLAYER_ID() with PLAYER::PLAYER_PED_ID() in the GET_OFFSET_FROM_ENTITY_IN_WORLD_COORDS calls ? The first parameter to ENTITY::GET_OFFSET_FROM_ENTITY_IN_WORLD_COORDS expects an Entity/Ped/Vehicle Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now