ShadowCoderKing Posted June 25, 2017 Share Posted June 25, 2017 (edited) hi i was wondering how to get this code to work properly, it works for me when i make it a small area but for large open spaces i cant get it to work, does it work like a circle radius from min bounds to max bounds? can someone please explain this code how it works properly and the overloads for it thanks if (Game.Player.Character.IsInArea(new Vector3(-1554.375f, 2772.801f, 17.53431f), new Vector3(-1557.843f, 2770.858f, 19.50605f))) i need a check if player is in a big circle radius for example like the area of a whole town Edited June 25, 2017 by SpiderMight Link to comment Share on other sites More sharing options...
ins1de Posted June 27, 2017 Share Posted June 27, 2017 (edited) hi i was wondering how to get this code to work properly, it works for me when i make it a small area but for large open spaces i cant get it to work, does it work like a circle radius from min bounds to max bounds? can someone please explain this code how it works properly and the overloads for it thanks if (Game.Player.Character.IsInArea(new Vector3(-1554.375f, 2772.801f, 17.53431f), new Vector3(-1557.843f, 2770.858f, 19.50605f))) i need a check if player is in a big circle radius for example like the area of a whole town IS_ENTITY_IN_AREA creates a rectangle and returns whether the specified entity is within that rectangle or not. Now the thing is, there is probably an area limit somewhere to prevent huge scans. Here's a snippet (in C++, but you should easily understand it) from the original gamescripts (carsteal1.c) : if (is_entity_in_area(player_ped_id(), -387.4472f, -2211.64f, -200f, 1478.489f, -552.18f, 1500f, 0, 1, 0)) { _0x07FB139B592FA687(-387.4472f, -2211.64f, 1478.489f, -552.18f); } As you've stated it previously, you said you wanted to performs checks in a radius style, so why even bother to use rectangles to do that? If your position reference (the center of the circle is static) you can simply calculate the distance with a minimum distance. //Pseudo codeif(myPed.DistanceTo(thatThing) < 100.0F){ DrawText("You're in");}else{ DrawText("One day or another, you'll be there");} Sounds simple and common doesn't it? The only downside to this method is the performance loss because it relies on constantly calculating a difference and square rooting it. Edited June 27, 2017 by ins1de ShadowCoderKing 1 Link to comment Share on other sites More sharing options...
ShadowCoderKing Posted July 12, 2017 Author Share Posted July 12, 2017 thanks for your help i see how it works now Link to comment Share on other sites More sharing options...