é impossivel aumentar o limite de sprites no tibia.spr
- Fórum
- OTServ
- Suporte
- Tópicos Sem Resposta
- [Encerrado] [Ajuda][Duvida]Sprites .spr
[Encerrado] [Ajuda][Duvida]Sprites .spr
Por Daniel Bighouse, 27 de set. de 2012 em Tópicos Sem Resposta
info
Grupo: Conde
Registrado: 10/12/11
Posts: 962
Reputação: +99
Gênero: Masculino

info
Grupo: Cavaleiro
Registrado: 20/09/12
Posts: 153
Reputação: +31

Já ouvi uns 50 falando a mesma coisa ¬¬'
Mais eu não me dou por vencido e não vai ser você que vai tirar minha vontade!
Editado Setembro 27 por DanielBadhu
info
Grupo: Visconde
Registrado: 21/12/06
Posts: 355
Reputação: +118
Gênero: Masculino

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!
info
Grupo: Campones
Registrado: 10/09/12
Posts: 13
Reputação: +2

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ê.
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 Setembro 28 por EdMignari
info
Grupo: Campones
Registrado: 10/09/12
Posts: 13
Reputação: +2

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.
Editado Setembro 28 por WinSocket
info
Grupo: Cavaleiro
Registrado: 20/09/12
Posts: 153
Reputação: +31

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 ![]()
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!
info
Grupo: Campones
Registrado: 10/09/12
Posts: 13
Reputação: +2

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
info
Grupo: Cavaleiro
Registrado: 20/09/12
Posts: 153
Reputação: +31

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?
info
Grupo: Campones
Registrado: 10/09/12
Posts: 13
Reputação: +2

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.
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 Setembro 29 por EdMignari
info
Grupo: Cavaleiro
Registrado: 20/09/12
Posts: 153
Reputação: +31

Se mudar a versão do cliente mudará algo no Server?
Pois de mudar só o .spr e o .dat tranquilo está resolvido!
O cliente que estou usando ele lê da 8.10 a 9.63 ^^
Tem como me passar algum .spr e .dat do cliente 9.6+ ?
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 Setembro 29 por EdMignari
info
Grupo: Campones
Registrado: 10/09/12
Posts: 13
Reputação: +2

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.




info
Grupo: Cavaleiro
Registrado: 20/09/12
Posts: 153
Reputação: +31
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:
Imagens:
Esta dele mostrando o limite(como pedem ver está com 65.534 faltando 1sprite para lotar)
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.
Editado Setembro 27 por DanielBadhu