Funções de Viewport¶
O sistema de viewport controla quais objetos (jogadores, monstros, itens) são visíveis para cada jogador. Essas funções gerenciam a criação, destruição e sincronização do viewport.
Uso Avançado
Funções de viewport são de baixo nível e usadas principalmente para lógica de teletransporte customizada, mapas de instância ou atualizações forçadas de aparência. Uso incorreto pode causar jogadores invisíveis ou dessincronia no cliente.
gObjSetViewport(aIndex, state)¶
Define o estado do viewport para um objeto específico, atualizando como jogadores próximos o veem.
- Parâmetros:
aIndex(integer): Índice do objeto.state(integer): Estado do viewport (VIEWPORT_CREATE,VIEWPORT_DESTROY,VIEWPORT_SEND).
- Retorna:
void
gObjViewportClose(lpObj)¶
Fecha o viewport para um jogador. Remove sua visibilidade de todos os jogadores e itens próximos.
- Parâmetros:
lpObj(GameObject): Objeto do jogador.
- Retorna:
void
gObjClearViewport(lpObj)¶
Limpa completamente todos os dados de viewport para o objeto fornecido — remove todos os jogadores, monstros e itens rastreados de sua lista de viewport.
- Parâmetros:
lpObj(GameObject): Objeto do jogador.
- Retorna:
void
gObjClearViewportOfMine(lpObj)¶
Remove este objeto dos viewports de todos os outros jogadores. Outros jogadores deixarão de ver este objeto até que o viewport seja reconstruído.
- Parâmetros:
lpObj(GameObject): Objeto do jogador.
- Retorna:
void
gObjViewportListProtocolDestroy(lpObj)¶
Envia pacotes de destruição de viewport para o cliente, removendo objetos próximos da tela do jogador.
- Parâmetros:
lpObj(GameObject): Objeto do jogador.
- Retorna:
void
gObjViewportListProtocolCreate(lpObj)¶
Envia pacotes de criação de viewport para o cliente, atualizando a aparência de todos os objetos próximos. Útil após mudar equipamento, classe ou estado visual de um jogador.
- Parâmetros:
lpObj(GameObject): Objeto do jogador.
- Retorna:
void
gObjViewportListProtocol(aIndex)¶
Envia os dados completos do protocolo de viewport para um jogador — destrói viewport antigo, depois envia todos os dados de jogadores, monstros, invocações, itens, guilda e gens.
- Parâmetros:
aIndex(integer): Índice do objeto.
- Retorna:
void
gObjViewportListDestroy(aIndex)¶
Destrói todas as entradas de viewport dentro do alcance de visão do mapa. Processa viewports de jogadores, monstros e itens.
- Parâmetros:
aIndex(integer): Índice do objeto.
- Retorna:
void
gObjViewportListCreate(aIndex)¶
Cria entradas de viewport para todos os objetos dentro do alcance de visão do mapa. Adiciona jogadores, monstros e itens próximos ao viewport.
- Parâmetros:
aIndex(integer): Índice do objeto.
- Retorna:
void
gObjViewportAttackAreaUsed(aIndex, bIndex)¶
Verifica se a área de ataque entre dois objetos está dentro do alcance do viewport.
- Parâmetros:
aIndex(integer): Índice do objeto atacante.bIndex(integer): Índice do objeto alvo.
- Retorna:
boolean—truese o alvo está dentro do viewport do atacante.
if gObjViewportAttackAreaUsed(aIndex, bIndex) then
-- Target is in viewport range, proceed with attack
end
Help