Ir para conteúdo

getCreaturesInRetangleArea(pos_init, pos_final)


dalvorsn

Posts Recomendados

Autor: Dalvo

Servidor Testado: TFS 0.4

Observações:

• Nome auto-explicativo;

• Fiz essa função por achar o getSpectators muito pesado, pois salva muitos uids e também apos ler uma duvida.

• preguiça de formatar o topico direito, outra hora quem sabe.

 

 

getCreaturesInRetangleArea(pos_init, pos_final)

 

zWqJYcXT

[/pastebin]

Link para o comentário
Compartilhar em outros sites

De qualquer maneira a função vai ficar muita pesada se for usada "abusadamente".

Repetir cada pos usando um for para verificar uma única criatura isto e bem pesadinho.

E normalmente a função e usada para eventos ou seja ja ta rolando um grande processamento.

Prefiro não abusar muita da função

 

Se não me engano existe varias outras "reconstrução" da função getSpectators.

Link para o comentário
Compartilhar em outros sites

De qualquer maneira a função vai ficar muita pesada se for usada "abusadamente".

Repetir cada pos usando um for para verificar uma única criatura isto e bem pesadinho.

E normalmente a função e usada para eventos ou seja ja ta rolando um grande processamento.

Prefiro não abusar muita da função

 

Se não me engano existe varias outras "reconstrução" da função getSpectators.

testei com numa area 30x30 no meu notebook que é ruim, deu 188ms +/-

 

eu fui ler a função getSpectators no distro, e notei que ela usa o mesmo principio da minha, acabou que a minha ficou mais lenta por lua ser mais lenta

a iteração não é tão grande porque voce tem como acessar quantos things tem em cada tile, tornando desnecessário o loop em 255 stacks

 

Coloca um terceiro parâmetro para escolher entre player, monstro, npc...

 

Acho que nem compensa fazer isso, é melhor mesmo usar o getSpectators

Mas uma possivel função que poderia ser feita desse modo ai é um "get_all_things_in_area"

de qualquer maneira vou deixar a função do jeito que está, pode ajudar alguém como exemplo de uso de alguma função e etc.

Link para o comentário
Compartilhar em outros sites

  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...