Pawn para SA-MP: primeros pasos para programar tu gamemode
Conceptos básicos de Pawn, callbacks y comandos para empezar a programar en SA-MP y open.mp.
Pawn es el lenguaje de los scripts de SA-MP. Su sintaxis es parecida a C y se aprende rápido si se entienden sus conceptos clave.
Callbacks
El servidor llama a funciones de tu script cuando ocurre algo: OnPlayerConnect cuando entra un jugador, OnPlayerSpawn al aparecer, OnPlayerDeath al morir, OnPlayerCommandText cuando escribe un comando. Programar en Pawn es, sobre todo, reaccionar a estos eventos.
Comandos
Aunque se pueden procesar en OnPlayerCommandText, la comunidad usa procesadores de comandos más rápidos y cómodos (como zcmd o Pawn.CMD) que permiten definir cada comando como una función.
Variables por jugador
Usa arrays indexados por el ID del jugador para guardar su información durante la sesión, y una base de datos para lo que deba persistir.
Compilar
El compilador Pawn convierte tu .pwn en .amx. Lee los avisos (warnings): suelen señalar errores reales.
Buenas prácticas
- Organiza el código en módulos (includes) por sistema.
- Valida siempre los datos que llegan del jugador.
- Evita temporizadores cada pocos milisegundos si no son necesarios.
Con estos fundamentos podrás entender y modificar casi cualquier gamemode existente.


