Garry's Mod Wiki

Vector:WithinAABox

  boolean Vector:WithinAABox( Vector boxStart, Vector boxEnd )

Description

Returns whenever the given vector is in a box created by the 2 other vectors.

image.png

Arguments

1 Vector boxStart
The first vector.
2 Vector boxEnd
The second vector.

Returns

1 boolean
Is the vector in the box or not.

Example

Checks if player is within a certain area on the map.

-- Position to test, we get the position of first player on the server local testPos = Entity( 1 ):GetPos() -- Positions to test, in this case we test if the player is in spawn area of gm_construct local pos1 = Vector( 1119, 895, 63 ) local pos2 = Vector( 656, -896, -144 ) -- This will return true if the player is within the tested area print( testPos:WithinAABox( pos1, pos2 ) )

Example

Implement a function to check if world position is inside an entity by converting it to local coordinates that are always axis aligned. Do not check when entity is invalid.

local function IsInside( pos, ent ) if ( not IsValid( ent ) ) then return false end local vmin = ent:OBBMins() local vmax = ent:OBBMaxs() local vpos = ent:WorldToLocal( pos ) return vpos:WithinAABox( vmax, vmin ) end print( IsInside( trace.HitPos, trace.Entity ) ) -- Trace hit position a part of the entity