2 hours ago
OxTarget is an out-of-the-box C++17 targeting and interaction engine for SA-MP 0.3.7 / 0.3.DL and open.mp.
[Video: https://youtu.be/zaNo_1ruYW0?si=LEeWSM9iNJlfFTyv]
It enables players to interact with entities by simply looking at them via the camera in a way similar to the one used in modern targeting/interactions available in contemporary multiplayer engines.
The plugin takes care of all the complex 3D targeting computations natively, but provides an easy-to-use Pawn API for scripting purposes.
Features
Camera-based 3D targeting of entities
Players, actors, vehicles, objects, player objects, dynamic objects, pickups, and custom points
Oriented Bounding Box (OBB), Capsule, and Sphere collision checks
Vehicle/Entity sub-object detection such as:
Front / Hood
Rear / Trunk
Left / Right
Doors
Top / Bottom
Optional zoning of interactions
Spatial hash map-based fast target finding
Server-side distance check, world check, interior check, and target check
Builtin interactive PlayerTextDraw UI
PC Mouse and Android Touch support
Hotkeys for interacting via keyboard
Standalone camera/world raycasting API
Optional compatibility with the Streamer Plugin
Optional compatibility with the ColAndreas plugin for world occlusion support
Custom mode with your own TextDraw, dialogs, radial menus, or CEF UI
Windows & Linux
x86 and x64 versions
SA-MP and open.mp compatibility
Client-side mods are not needed
The goal of OxTarget is not to make something that would be completely impossible in Pawn. A simpler targeting system could obviously be implemented there.
The idea is to move the geometry, ray intersection, spatial querying, and validation layer into a reusable native engine, while keeping the actual gameplay logic inside Pawn.
Repository:
https://github.com/roseeast/OxTarget
Feedback, bug reports, suggestions, and contributions are welcome.
[Video: https://youtu.be/zaNo_1ruYW0?si=LEeWSM9iNJlfFTyv]
It enables players to interact with entities by simply looking at them via the camera in a way similar to the one used in modern targeting/interactions available in contemporary multiplayer engines.
The plugin takes care of all the complex 3D targeting computations natively, but provides an easy-to-use Pawn API for scripting purposes.
Features
Camera-based 3D targeting of entities
Players, actors, vehicles, objects, player objects, dynamic objects, pickups, and custom points
Oriented Bounding Box (OBB), Capsule, and Sphere collision checks
Vehicle/Entity sub-object detection such as:
Front / Hood
Rear / Trunk
Left / Right
Doors
Top / Bottom
Optional zoning of interactions
Spatial hash map-based fast target finding
Server-side distance check, world check, interior check, and target check
Builtin interactive PlayerTextDraw UI
PC Mouse and Android Touch support
Hotkeys for interacting via keyboard
Standalone camera/world raycasting API
Optional compatibility with the Streamer Plugin
Optional compatibility with the ColAndreas plugin for world occlusion support
Custom mode with your own TextDraw, dialogs, radial menus, or CEF UI
Windows & Linux
x86 and x64 versions
SA-MP and open.mp compatibility
Client-side mods are not needed
The goal of OxTarget is not to make something that would be completely impossible in Pawn. A simpler targeting system could obviously be implemented there.
The idea is to move the geometry, ray intersection, spatial querying, and validation layer into a reusable native engine, while keeping the actual gameplay logic inside Pawn.
Repository:
https://github.com/roseeast/OxTarget
Feedback, bug reports, suggestions, and contributions are welcome.
