Raycasting::testCapsule: Difference between revisions
m (Replaced HTML with template) |
|||
| (One intermediate revision by one other user not shown) | |||
| Line 2: | Line 2: | ||
==Syntax== | ==Syntax== | ||
< | <pre> | ||
mp.raycasting.testCapsule(pos1, pos2, radius, [ignoredEntity], [flags]); | |||
</pre> | |||
=== Required Arguments === | === Required Arguments === | ||
| Line 32: | Line 34: | ||
==See also== | ==See also== | ||
{{ | {{Raycast_functions_c}} | ||
[[Category:Clientside API]] | [[Category:Clientside API]] | ||
[[Category:TODO: Example]] | [[Category:TODO: Example]] | ||
Latest revision as of 17:43, 16 March 2025
Raycast from point to point, where the ray has a radius.
Syntax
mp.raycasting.testCapsule(pos1, pos2, radius, [ignoredEntity], [flags]);
Required Arguments
- pos1: Vector3
- pos2: Vector3
- radius: Float
- ignoreEntity: Array of entities handle or object
- flags: Array of ints
Return value
- object: position (Entity Coordinates) , surfaceNormal, material (Entity Model) , entity (Handle)
Example
Client-Side
mp.events.add('render', () => {
const startPosition = player.getBoneCoords(12844, 0.5, 0, 0);
const endPosition = new mp.Vector3(0, 0, 75);
const hitData = mp.raycasting.testCapsule(startPosition, endPosition, 0.5);
if (!hitData) {
mp.game.graphics.drawLine(startPosition.x, startPosition.y, startPosition.z, endPosition.x, endPosition.y, endPosition.z, 255, 255, 255, 255); // Is in line of sight
} else {
mp.game.graphics.drawLine(startPosition.x, startPosition.y, startPosition.z, endPosition.x, endPosition.y, endPosition.z, 255, 0, 0, 255); // Is NOT in line of sight
}
});