For generating in-game coordinates from a bitmap.
See this thread for the primary reason that this plugin exists. It's best used with MapAndreas or ColAndreas and a texture map so you can automatically place items in the game world in areas.
Create a bitmap image of the map then paint specific colours over it. Then, load
the bitmap and specify which colours you want to cache with OpenBitmapCache
.
You can then get random points in the image of specific cached colours with
GetRandomCachedRGB
.
If you want to map larger or smaller bitmaps to areas of the map, use this library to create a virtual canvas to perform the scaling.
For example, this:
Generates this:
See the thread linked above for more examples.
Simply install to your project:
sampctl package install Southclaws/samp-bitmapper
Or, if you prefer GitHub:
Include in your code and begin using the library:
#include <bitmapper>
Opens the given file as a bitmap image and stores thefile handle in handle
.
Returns 0 on success or an error code.
Opens the given file and caches all pixels that match the colours listed in
colours
. Returns 0 on success or an error code.
Closes the specified file handle. Returns 0 on success, 1 if the handle is invalid.
Looks up the red, green and blue values stored in the specified X and Y
coordinates and stores them in the result parameters r
, b
and g
.
Provides coordinates and RGB information from a random pixel in the bitmap that contains the specified colour.
You can compile the plugin and test it in a Docker container all with one command:
make build-e2e
This will:
- build the plugin inside a Debian docker image
- build the Pawn package in
test/
with sampctl - run the server in
test/
as a container, also with sampctl
Or you can just do the build process with:
make build-debian
(thanks to maddinat0r for the Docker images!)