Callbacks essenciais: OnPlayerConnect, OnPlayerSpawn e cia.
Callbacks são funções que o servidor chama automaticamente quando algo acontece. Todo gamemode é construído em torno deles.
Ciclo do servidor
public OnGameModeInit()
{
SetGameModeText("Roleplay BR");
// conectar ao banco, carregar casas, veículos, configurações
return 1;
}
public OnGameModeExit()
{
// salvar tudo e fechar conexões
return 1;
}
Ciclo do jogador
OnPlayerConnect
Quando o jogador conecta — antes de spawnar. Ideal para zerar variáveis e iniciar o login.
public OnPlayerConnect(playerid)
{
ResetarDadosJogador(playerid);
VerificarConta(playerid);
return 1;
}
OnPlayerDisconnect
Quando sai. Salve os dados aqui.
public OnPlayerDisconnect(playerid, reason)
{
SalvarJogador(playerid);
return 1;
}
OnPlayerRequestClass / OnPlayerRequestSpawn
Seleção de classe/skin e pedido de spawn — muito usados para bloquear o spawn até o login.
OnPlayerSpawn
Quando o jogador aparece no mundo: posição, skin, armas, vida.
OnPlayerDeath
Quando morre — registre mortes, aplique regras (RDM), defina o hospital.
Comandos e texto
- OnPlayerText: mensagens de chat (filtros, chat de proximidade);
- OnPlayerCommandText: comandos (ou use um processador como Pawn.CMD).
Diálogos
- OnDialogResponse: resposta do jogador a um diálogo (login, menus). Veja o post sobre diálogos.
Veículos
- OnPlayerEnterVehicle / OnPlayerExitVehicle;
- OnPlayerStateChange: mudou de a pé para motorista, passageiro etc.;
- OnVehicleDeath: veículo destruído.
Áreas
- OnPlayerEnterCheckpoint / OnPlayerEnterRaceCheckpoint;
- Com o Streamer: callbacks de áreas dinâmicas (entrar/sair de uma área).
Atualização contínua
- OnPlayerUpdate: chamado com muita frequência para cada jogador. Evite código pesado aqui — é um dos principais causadores de lag.
Dicas
- Retorne o valor correto (
1/0) conforme a documentação de cada callback — em alguns, o retorno muda o comportamento; - Em gamemodes grandes, use hooks (como os do YSI) para que vários módulos tratem o mesmo callback de forma organizada.
Hospede seu servidor com a VittHost
Nos planos OPENMP-BR da VittHost, você acompanha o comportamento do seu gamemode no console em tempo real do painel Pterodactyl. Servidores no Brasil, proteção DDoS, MySQL incluso, compatibilidade total com scripts SA-MP e teste grátis de 3 dias.