sscanf 2.8.1
Modos NPC
Para utilizar sscanf en un modo de NPC, descargue este archivo:
http://adf.ly/L1kZ5
Y extraerlo en el directorio raíz del servidor (por lo que "amxsscanf.dll" está en el mismo directorio que "samp-npc.exe"). A continuación, utilice de forma normal. La única diferencia es que la pequeña "u", "r" y "q" No sé si un usuario es un bot o no, así que supongo que son todos los jugadores - utilizar consecuencia.
Contenido
- Modos NPC - Una guía muy rápida para usar en los modos sscanf
- NPC.Contenido - Esta lista de secciones de poste.
- Introducción - ¿Qué es este plugin.
- Descargar - ¿Dónde conseguirlo.
- Uso - Instrucciones básicas de uso del plugin.
- Especificadores - Lista de todas las opciones unformatting.
- Basic especificadores - Single letras especificadores.
- Strings - Código para leer en el texto.
- Arrays - Código de leer en varios valores similares.
- Enumeraciones - Código para leer los datos complejos.
- Minus - Skip ranuras de enumeración.
- Silencioso - Cargado y se desecha datos.
- Búsquedas - texto de búsqueda explícita.
- Símbolos - delimitadores entre los datos.
- Opcional especificadores - Especificadores con valores predeterminados.
- Usuarios - Detectar los nombres completos o parciales.
- Personalizado (kustom) especificadores - especificadores personalizado.
Introducción
He estado haciendo alusión a este plugin para bastante tiempo (para algunas personas de todos modos, y fue publicado sobre en twitter) y es finalmente completo - Realmente no tengo mucho tiempo libre y no hay un buen montón de código para esto (dice el viejo sscanf a la vergüenza). Yo estaba inicialmente tratando de arreglar algunos problemas con el viejo sscanf en PAWN - cosas como la falta de enteros opcionales y desbordamientos de búfer en cadenas, que iba bien, pero el código estaba muy grande - que tiene más de 1000 líneas para una sola función antes de que me decidí a salir a un plugin. Mientras estaba en ello había también un gran número de nuevos especificadores que quería añadir. Esta es posiblemente mi código más ampliamente probados nunca - Tengo un archivo enorme de pruebas unitarias, pero dada la complejidad no tengo ninguna duda habrá todavía unos bichos. Vea la parte inferior del poste para una historia de los errores y varios arreglos y versiones.
Descarga
Fuente, Windows dll, e include:
- Enlace por Y_Less
CentOS .so:
- Enlace por Mark™
- Enlace por h02
Linux .so:
- Enlace por h02
- Enlace por Mellnik
sscanf2.inc:
- Enlace por Pastebin
Uso
Esta se comporta exactamente como el viejo sscanf hizo, sólo que mucho más rápido y mucho más flexible. Para usarlo añadir:
- Código:
#include <sscanf2>
A sus modos y quitar el viejo sscanf (el nuevo include detectará la versión anterior y emite un error si se detecta). En las ventanas agregar:
- Código:
plugins sscanf
Para server.cfg. En Linux añadir:
- Código:
plugins sscanf.so
El código básico es así:
- Código:
if (sscanf(params, "ui", giveplayerid, amount))
{
return SendClientMessage(playerid, 0xFF0000AA, "Usage: /givecash <playerid/name> <amount>");
}
Sin embargo hay que señalar que sscanf puede ser utilizado para cualquier procesamiento de texto que desea. Por ejemplo, un procesador ini podría parecer (no te preocupes acerca de lo que significan los bits en esta etapa):
- Código:
if (sscanf(szFileLine, "p<=>s[8]s[32]", szIniName, szIniValue))
{
printf("Invalid INI format line");
}
También hay un nombre de función alternativa para evitar la confusión con el sscanf C estándar:
- Código:
if (unformat(params, "ui", giveplayerid, amount))
{
return SendClientMessage(playerid, 0xFF0000AA, "Usage: /givecash <playerid/name> <amount>");
}
Publicacion original: San Andreas Multiplayer