Este repositorio no tiene archivo de licencia. Se puede leer, pero eso por sí solo no da permiso para reutilizarlo.
Instalar con sampctl
sampctl package install SAMP-git/pointers
Ejecútalo en la carpeta de tu proyecto. sampctl descarga el paquete y sus dependencias.
Depende de 1 paquete
- sampctl/samp-stdlibno está en este directorio
Usado por 1 paquete
README.md
pointers
Slice's formatex because it doesn't have a GitHub repo.
Original thread: pointers.inc - Pointers for PAWN!
All credits to Slice/oscar-broman
The original library wasn't shipped with an explicit license but I'm sure, in the spirit of Open Source, Slice is happy to have this redistributed via GitHub - if not, let me know!
Here's a neat implementation of pointers for PAWN! This include makes it a lot easier to deal with variadic functions (functions that can take a varying number of arguments), but also allows you to, for example, have pointers from large enum structures into other arrays, parts of strings, etc.
Installation
Simply install to your project:
sampctl package install SAMP-git/pointers
Include in your code and begin using the library:
#include <pointers>
Usage
A quick example:
new
g_Test[] = {123, 456, 789}
;
public OnGameModeInit() {
new address = GetVariableAddress(g_Test);
// Change the 2nd value
@ptr[address][1] = 444;
// Print out the values
printf("%d, %d, %d", @ptr[address][0], @ptr[address][1], @ptr[address][2]);
}
Here's an example of a function that appends all string arguments to a given string.
public OnGameModeInit() {
new buf[128] = "Lorem";
concat(buf, sizeof(buf), "ipsum", "dolor", "sit", "amet,", "consectetur", "adipiscing.");
// Prints out: Lorem ipsum dolor sit amet, consectetur adipiscing.
print(buf);
}
// Append all strings to szOutput
stock concat(output[], maxsize = sizeof(output), ...) {
new
arg_count = numargs()
;
for (new i = 2; i < arg_count; i++) {
// First add a space
strcat(output, " ", maxsize);
// Then add the string
strcat(output, @arg[i], maxsize);
}
}
Syntax:
@ptr[address] // This is now a pointer to "address"
@arg[2] // This is now a pointer to the 3rd argument (0 is the first)
Esta página se genera con lo que GitHub publica sobre el repositorio. samp.directory no aloja el código. Informar de un problema con esta ficha