CHAT MAIOR

12 de out. de 2011

[Include] [Pawn] [iPs]Streamer Objetos V3

Introdução:

DraKiNs lançou um sistema de streamer de objetos para versão 0.3d
Segundo os testes tudo saiu tranquilo, atualmente apenas tem três principais funções.

Implementação:
Como alguns streamer objetos existentes, o ips stream usa filterscript onde há a raiz da cada função em um filterscript, portanto será necessário ser plugado um filterscript para carregar as funções e uma include no seu gamemode para ser declarado as novas funções.

No server.cfg:
filterscripts streamer

No gamemode ou local onde queres colocar o streamer:

#include ipsstream  


Prontinho.
Para mudar a capacidade padrão dos objetos deve-se mudar no filterscripts, onde há:


#define MAX_STREAM          10000


é a capacidade de objetos suportada, pode colocar mais que isto (veja no suporte abaixo)


Onde há:
#define MIN_INTERVAL        00500  


Deve ser colocado o intervalo para criar os objetos (tempo para atualizar, não coloque muito para não dar muita latência)


Funções:
Como disse anteriormente são funções básicas:
Quote:
DestroyObject(objeto id para destruir);
CreateObject(parametros igual da sa:mp, criar objeto)
MoveObject(parametros igual da samp 0.3d, mover objeto)




Suporte:
Segundo os testes feitos, o sistema suporta até 1000 objetos para cada jogador em um determinado quadro de poucos metros. E suporta 500 mil objetos para todo o servidor.
Também suporta 4 mil objetos em uma longa área, por jogador






Velocidade:
Todo sistema é percorrido por um circuito foreach criado pela própria equipe, sem a menor lentidão do sistema.
Também foi usado um algorítimo de busca e remoção de objetos criado por Bruno da Silva (chamado Fluxo Stream)..
Como costume, ele fez um tópico explicando sobre como funcionaria, segue um resumo da sua explicação:


PORTUGOL DO ALGORITIMO:
Quote:
CRIAR TODOS OBJETOS
CASO NUMERO TOTAL DE OBJETOS CRIADOS ACIMA FOR MAIOR QUE O PERMITIDO
DELETAR OBJETOS LONGES, DEIXANDO APENAS OS PERTOS DO PONTO CENTRAL

* Observem que os objetos criados ficaram ao lado do jogador, de forma que os objetos estourados ficaram extremamente longes, assim fazendo com que a eficiente deste sistema fosse melhor que a dos outros.


Também contamos com um ótimo sistemas de circuito para obter melhor velocidade nas checagens dos objetos por slots e dos jogadores usando um ótimo algorítimo de lista ligada no qual prima em a célula atual direicionar para próxima célula fazendo um loop interno pela array.




Novas funções Versão 2.0:
- Agora compactável com 0.3d 0.3c 0.3b 
- Adicionado Interior e Virtual World na função CreateObject


Novas funções Versão 3.0:
O Bruno resolveu inovar nesta nova versão do seu streamer e criou um sistema de carregar objetos do mta sem conversão !!


- Carregar Objetos direto do [b].map
Basta usar apenas uma função e carregue os objetos a partir de seu arquivo *map gerado pelo MTA


Exemplo:
CreateObjectsFromMAPFile("mapadomta.map");


Também agora vem com um carregador de mapas que estão no formato TXT, podendo até escolher o delimitador das posiçõe x,y,z etc
Bastando usar uma função:


- Carregar objetos diretos de um arquivo de texto
CreateObjectsFromTXTFile("mapa.txt", '|');


'|' é a divisória que divide x|y|z|rx|ry|rx e outros ...


- Carregar parametros únicos de um arquivo do mta
Por exemplo:


GetMapXMLParam("<object id=\"object (barrel4) (16)\" doublesided=\"false\" model=\"1225\" interior=\"0\" dimension=\"0\" posX=\"4724.2119140625\" posY=\"-1238.6279296875\" posZ=\"6.3207788467407\" rotX=\"0\" rotY=\"0\" rotZ=\"3.9990234375\" />", "rotZ=\"\");


O exemplo desta função acima pegará a posição rotZ do objeto que foi pego no primeiro parametro (em formato de arquivo para mta)




Download:


Versão 3.0:
Para efetuar o download do pacote todo:




Pacote todo :-> Ainda não hospedado


Para pegar código no pastebin de ambos scripts:


streamer.pwn :-> http://pastebin.com/A9fSPz7E
ipsstream.inc :-> http://pastebin.com/Lz0WK2VJ






Autoria:
Desenvolvido por Bruno da Silva
Auxiliado por RockFire
Obrigado a Pharrel e MiTToS pelas dicas das funções


_

Nenhum comentário:

Postar um comentário