Para utilizarmos animações no FiveM, faremos uso de nativos para iniciar e controlar animações. Aqui está um exemplo básico de como executar uma animação.
// Função para carregar o dicionário de animação
async function loadAnimationDict(dict) {
while (!HasAnimDictLoaded(dict)) {
RequestAnimDict(dict);
await new Promise(resolve => setTimeout(resolve, 100));
}
}
// Comando para iniciar a animação
RegisterCommand('dance', async () => {
let animDict = 'anim@mp_player_intcelebrationmale@uncle_disco';
let animName = 'uncle_disco'
let playerPed = PlayerPedId();
await loadAnimationDict(animDict);
// Função para executar a animação
TaskPlayAnim(playerPed, animDict, animName, 8.0, -8.0, -1, 49, 0, false, false, false);
}, false);
Neste exemplo, definimos uma função para carregar o dicionário de animação (loadAnimationDict) e outra para executar a animação (playAnimation). O comando /dance pode ser usado no jogo para iniciar uma animação de dança.
Vamos adicionar uma animação personalizada. Suponha que queremos adicionar uma animação de saudação.
// Comando para animação de saudação
RegisterCommand('greet', async () => {
emit('startAnimation', 'gestures@m@standing@casual', 'gesture_hello');
});
Neste exemplo, adicionamos um comando /greet que irá reproduzir uma animação de saudação.
Podemos vincular animações a eventos específicos no servidor, como quando um jogador entra no servidor.
const { on } = require('fivem-js');
// Evento quando um jogador entra no servidor
on('playerConnecting', (name, setKickReason, deferrals) => {
console.log(`${name} está conectando ao servidor...`);
// Podemos adicionar lógica adicional aqui
});
// Evento quando o jogador entra no servidor
on('playerSpawned', async () => {
await playAnimation('mp_action', 'thanks_male_06');
});
Para parar uma animação, podemos usar a função ClearPedTasks.
// Função para parar animação
function stopAnimation() {
const playerPed = PlayerPedId();
ClearPedTasks(playerPed);
}
// Comando para parar animação
RegisterCommand('stopanim', () => {
stopAnimation();
});
Neste exemplo, o comando /stopanim pode ser usado para parar qualquer animação que esteja sendo reproduzida.
Parabéns! Você aprendeu a adicionar e controlar animações em scripts para o FiveM usando JavaScript. Continue explorando as diversas animações disponíveis no GTA V e aplicando-as em seu servidor FiveM para melhorar a experiência dos jogadores.
Este e-book foi criado com a intenção de ajudar a comunidade de desenvolvedores do FiveM a melhorar seus servidores e criar experiências mais envolventes.