config/client/hooks.lua e config/server/hooks.lua, e todos rodam sob pcall: um erro dentro de um hook aparece no console, mas nunca derruba o recurso.
A tabela dance
Os hooks recebem a dança do catálogo:
Para decidir, use
id, category e origin. Nos hooks do client, o dict de uma dança exclusiva já baixada leva o número do restart no nome (veja Carregamento remoto). No server, o dict é o do catálogo.
Client
Arquivo:config/client/hooks.lua
A prévia só mostra a animação: quem decide se o jogador pode dançar é o
onBeforePlay do servidor.
Bloquear dançar algemado
Casos comuns para o client: jogador algemado, em combate, ferido ou com outra interface aberta.Bloquear o menu em combate
Server
Arquivo:config/server/hooks.lua
O
onStop roda ao parar, ao trocar de dança, quando uma dança injetada é removida e quando o jogador sai do servidor dançando.
Dança exclusiva só para VIP
Registrar quem dançou o quê
Client ou server?
- Client: bloqueio por algemas ou combate, integração com outras interfaces e qualquer coisa que dependa do estado local do personagem
- Server: regras de negócio, VIP, permissões, registro e qualquer coisa que não pode depender do client

