Ir para conteúdo

[Encerrado] [Ajuda][Duvida]Sprites .spr


Daniel Bighouse

Posts Recomendados

Bom galera estou com uma duvida e um problema danado com o .spr do server (aquele arquivo que guarda as sprites que ficam no cliente).

 

Limite imposto por ele é de exatamente 65.535sprites.

 

Mas eu acabei de criar um .spr sem nenhuma sprite onde o Tibia Sprite Editor by Noxitu pediu que .spr tenha de 1 sprite à 2.147.483.647sprites. Isso mesmo mais de 2 trilhões de sprites!

 

Onde acho que seja o problema de muitos!

Fazer um server e um dia não poder mais colocar nenhum item, monstro, etc... (mesmo que exclua uns um dia vai acabar!)

O que acabaria com o server sem ter mais upgrade. Não teria mais coisas novas para se ver.

 

Então não sei se alguém já conseguiu ter um .spr com mais de 65.535 sprites.

Se conseguiu fala aqui e explica como fez.

 

Casso (que acho mais provável) ninguém conseguiu AINDA onde venho pedir quem gostaria de ajudar a conseguir 'quebrar' este limite de 65.535 sprites no .spr!

 

Programas usados:

 

Tibia Sprite Editor by Noxitu ver. 1.3.0

TE6.7A - Milice Edit

Dat Editor

Spr Editor v0.3 - by Trooper

 

 

 

Imagens:

Esta dele mostrando o limite(como pedem ver está com 65.534 faltando 1sprite para lotar)



RAAAAL6N_EG4TSviVRH2jlCw82tnH9FZ1ZbF_AzwcsFfFDtsshNcmgZ8GvJuze9gTraUD4cPq8onKMgt8iszL6kVcmw_CnRmyrGup70-wvh5LOsuAJtU9VDp2lBPjJ7ksASQqlTp1Fyyy3frwg.jpg

 

Imagem do .spr novo criado com nenhuma sprite como podem ver na imagem ele pede para ter entre 1sprite à 2.147.483.647sprites!

Quem não entende inglês, tradução: O valor deve ser entre 1 e 2147483647.

QQAAAL6N_EG4TSviVRH2jlCw82tH-6Ev1IBGNjEB33zlJ2Kp-ikyf5PvzM0YDsF6Rep8j5aZ9FjzH8EFtUnVRKuwFOR9zyPZHV38g9oY5qjVgTnEAJtU9VDWzey1yOQ_Cg1hCFa64cmoZOsZuQ.jpg

Editado por DanielBadhu
Link para o comentário
Compartilhar em outros sites

Amigo... apenas força de vontade não vai fazer com que voce descubra um jeito de colocar mais de 65.000 sprites...

Que linguagens voce conhece?

 

Não é tão simples assim!

 

Já que voce não se da por vencido... voce teria que correr atraz do que deseja.

Começe a estudar!

Link para o comentário
Compartilhar em outros sites

Bom, com um pouco de analise agente pode chegar em algum lugar.

valor máximo você disse que é: 65.535

 

Valor decimal: 65.535

Valor hexadecimal: FFFF

 

Possivelmente o arquivo está lendo um valor word.

Abaixo irei citar os valores para que entendam um pouco.

 

Nome da unidade : Capacidade de armazenamento

nibble: 16 casas

Byte: 256 casas

Word: 65.536 casas

Double Word: 4.294.967.296 casas

Quad Word: 18.446.744.073.709.551.616 casas

 

 

Sou novo nesse ramo de tibia, então não esperem muito ainda. Mais não dúvide da capacidade de uma pessoa.

Recomendo que estude um pouco sobre isso, possa ser que te leve a resposta. Irei dar uma estudada sobre o arquivo .spr para ver se consigo algo especifico para você.

Link para o comentário
Compartilhar em outros sites

Onde acho que seja o problema de muitos!

Fazer um server e um dia não poder mais colocar nenhum item, monstro, etc... (mesmo que exclua uns um dia vai acabar!)

O que acabaria com o server sem ter mais upgrade. Não teria mais coisas novas para se ver.

 

 

 

Problema de muitos, inclusive da cip. A partir da versão 9.60 esse limite teve que ser aumentado. Clientes antes desta versão não podem ler mais que 65.535.Ou você muda a versão do cliente ou é melhor se conformar. :/

Editado por EdMignari
Link para o comentário
Compartilhar em outros sites

O limite está no cliente ou no arquivo .spr?

Se puderem explicar um pouco mais quem sabe posso achar a solução para vocês.

 

Na verdade eu acho que .spr não tem versão o.O

E eu peguei e estou falando só do .spr pois eu testei este limite usando o arquivo .spr(só este) não usei .dat, .exe. ou .pic!

 

Estão é só o .spr!

Link para o comentário
Compartilhar em outros sites

Beleza cara.

Então como nosso amigo disse que os novos estão vindo com o aumento desse "limite" no arquivo, irei pesquisar mais sobre o arquivo.

Caso eu queira compartilhar informações ou manter um contato adicione ai.

Skype: Rennan.Programmer

Messenger: R.LealFernandes@live.com

Link para o comentário
Compartilhar em outros sites

Problema de muitos, inclusive da cip. A partir da versão 9.60 esse limite teve que ser aumentado. Clientes antes desta versão não podem ler mais que 65.535.Ou você muda a versão do cliente ou é melhor se conformar. :/

 

Tem algum cliente já com este aumento? (preciso só do .spr dele)

 

Mais a versão do cliente não é só o .exe que diz qual é a versão?

Link para o comentário
Compartilhar em outros sites

Onde acho que seja o problema de muitos!

Fazer um server e um dia não poder mais colocar nenhum item, monstro, etc... (mesmo que exclua uns um dia vai acabar!)

O que acabaria com o server sem ter mais upgrade. Não teria mais coisas novas para se ver.

 

 

 

Problema de muitos, inclusive da cip. A partir da versão 9.60 esse limite teve que ser aumentado. Clientes antes desta versão não podem ler mais que 65.535.Ou você muda a versão do cliente ou é melhor se conformar. :/

Link para o comentário
Compartilhar em outros sites

O Arquivo spr tem versão. Nos primeiros 4bytes se lê um inteiro que é assinatura da versão do arquivo. Mas o problema não esta no arquivo .spr e sim no cliente.

 

Nos primeiros bytes, ele lê assim:

 

versões anteriores a 9.6:

 

[4 bytes] = Assinatura do spr

[2 bytes] = Quantidade de sprites (0 a 65.535 sprites)

 

 

versão 9.6+

 

[4 bytes] = Assinatura do spr

[4 bytes] = Quantidade de sprites (0 a 4.294.967.295 sprites)

Editado por EdMignari
Link para o comentário
Compartilhar em outros sites

Cada servidor tem um protocolo que, dependendo da versão, é incompativel com a versão do cliente. Mesmo seu cliente sendo multiprotocolo, quando você escolher qual protocolo vai usar, ele vai verificar se a assinatura do spr é compativel.

Editado por EdMignari
Link para o comentário
Compartilhar em outros sites

Comparação.:

 

- Cliente e arquivo spr antigo tem 2 bytes de armazenamento

- Cliente e arquivo spr recente tem 4 bytes de armazenamento

 

Primeiro temos que avaliar 2 coisas.

Quando o aplitivo é executado ele tem espaço suficiente para os 65.536 dados. O que precisa-se saber é se o alocamento virtual criado tem espaço para armazenar.

Segundo seria o arquivo spr pois ele já está montado, o que pode acabar dando um pouco de trabalho! Se você for modificar ele terá que avaliar o fato de que ele não tem espaço já inicialmente por tanto adicionar 2 bytes no começo do arquivo pode corrompe-lo.

Caso voce tente mudar o local de leitura e contador, mudando isso você teria que modificar também o seu editor de sprite pois ele iria ler um local "falso".

Realmente é complicado pensar nissa hipótese.

 

Recomendo que você mude de cliente e arquivos amigo.

Não acho que o trabalho vá valer a pena. Caso alguem tenha uma solução poste ai.

 

Bom digo isso por experiencia própria pois já mechi com outro jogo rpg chamado "Priston Tale". E tive alguns problemas iniciais lá sobre itens que no final acabaram dando resultados.

Pois bem, se alguem conseguir algo avisa ai.

 

________________________________________________________________________________________________________

Pensamento:

 

- Criar 2 arquivos spr para o cliente.

. Primeiro passo é ajustar o local virtual para um tamanho adequado.

. Segundo seria voce usar já um arquivo spr recente e criar as funções no executavel para ler 4 bytes.

 

hipótese: Fazer a leitura do arquivo primário e sequencial arquivo secundario usando a mesma "virtual address".

Penso eu que seria mais ou menos assim:

 

Você primeiro ve de que posição parte a leitura e onde termina.

exeplo: 0x20h -> partida

. 0xF500h -> fim

 

Após saber o inicio e fim você analisa como é feita a entrada de dados.

Cada item deve ter seus bytes contados corretamente, então não coma byte para não dar erros no executavel.

exemplo: nosso item terá 0x10h de dados

 

Se o final do nosso item é 0xF500h o nosso próximo item será na posição: 0xF510h

Então o a função secundárias terá que dar inicio na nesta posição para que a leitura de cada spr sejá feita corretamente.

 

Bom, isso é uma hipótese. Não sei como é o funcionamento correto do jogo, então estou só presumindo isso.

Se alguem tiver mais informações do executavel e se for possivel ajudar seria de grande agradecimento meu.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...