Ir para conteúdo

Featured Replies

Postado
  • Diretor
  • Este é um post popular.

REV3884 TFS 0.4 OTC 0.6.6

image.thumb.png.5f109142800ad7db3b175224e6af2e90.png

 

OBSERVAÇÃO:

Bom galera hoje vim trazer um código de expansão de visão para o otclient alterado por mim,  usado somente para rev3884 e então se você usa um tfs 0.3.6 ou tfs 1.0 não vai dar certo,

*Esse código foi alterado por mim para ser usado apenas para rev3884, procolo 8.60 e TFS 0.4 que no caso não achei e resolvi compartilhar essas alterações.

 

 

 

1° TUTORIAL 1 SOURCE DO SEU SERVIDOR.

 

Abra Protocollgame.cpp 

 

1 Ache

((x >= myPos.x - 8 + offsetz) && (x <= myPos.x + 9 + offsetz) &&
		//(y >= myPos.y - 6 + offsetz) && (y <= myPos.y + 7 + offsetz));

ALTERE PARA:

 

((x >= myPos.x - Map::maxClientViewportX + offsetz) && (x <= myPos.x + (Map::maxClientViewportX+1) + offsetz) &&
     (y >= myPos.y - Map::maxClientViewportY + offsetz) && (y <= myPos.y + (Map::maxClientViewportY+1) + offsetz));

 

 

2 Ache:

 

GetMapDescription(pos.x - 8, pos.y - 6, pos.z, 18, 14, msg);

 

ALTERE PARA:

 

GetMapDescription(pos.x - Map::maxClientViewportX, pos.y - Map::maxClientViewportY, pos.z, (Map::maxClientViewportX+1)*2, (Map::maxClientViewportY+1)*2, msg);

 

 

3 Ache:

 

if(oldPos.y > newPos.y) // north, for old x
				{
					msg->put<char>(0x65);
					GetMapDescription(oldPos.x - 8, newPos.y - 6, newPos.z, 18, 1, msg);
				}
				else if(oldPos.y < newPos.y) // south, for old x
				{
					msg->put<char>(0x67);
					GetMapDescription(oldPos.x - 8, newPos.y + 7, newPos.z, 18, 1, msg);
				}

				if(oldPos.x < newPos.x) // east, [with new y]
				{
					msg->put<char>(0x66);
					GetMapDescription(newPos.x + 9, newPos.y - 6, newPos.z, 1, 14, msg);
				}
				else if(oldPos.x > newPos.x) // west, [with new y]
				{
					msg->put<char>(0x68);
					GetMapDescription(newPos.x - 8, newPos.y - 6, newPos.z, 1, 14, msg);
				}

ALTERE PARA:

 

               if (oldPos.y > newPos.y) { // north, for old x
                   msg->put<char>(0x65);
                   GetMapDescription(oldPos.x - Map::maxClientViewportX, newPos.y - Map::maxClientViewportY, newPos.z, (Map::maxClientViewportX+1)*2, 1, msg);
                   } 
		else if (oldPos.y < newPos.y) { // south, for old x
                   msg->put<char>(0x67);
                   GetMapDescription(oldPos.x - Map::maxClientViewportX, newPos.y + (Map::maxClientViewportY+1), newPos.z, (Map::maxClientViewportX+1)*2, 1, msg);
                   }
               if (oldPos.x < newPos.x) { // east, [with new y]
                   msg->put<char>(0x66);
                   GetMapDescription(newPos.x + (Map::maxClientViewportX+1), newPos.y - Map::maxClientViewportY, newPos.z, 1, (Map::maxClientViewportY+1)*2, msg);
                   } 
			   else if (oldPos.x > newPos.x) { // west, [with new y]
                   msg->put<char>(0x68);
                   GetMapDescription(newPos.x - Map::maxClientViewportX, newPos.y - Map::maxClientViewportY, newPos.z, 1, (Map::maxClientViewportY+1)*2, msg);
}

 

 

4 ache

 

		GetFloorDescription(msg, oldPos.x - 8, oldPos.y - 6, 5, 18, 14, 3, skip); //(floor 7 and 6 already set)
		GetFloorDescription(msg, oldPos.x - 8, oldPos.y - 6, 4, 18, 14, 4, skip);
		GetFloorDescription(msg, oldPos.x - 8, oldPos.y - 6, 3, 18, 14, 5, skip);
		GetFloorDescription(msg, oldPos.x - 8, oldPos.y - 6, 2, 18, 14, 6, skip);
		GetFloorDescription(msg, oldPos.x - 8, oldPos.y - 6, 1, 18, 14, 7, skip);
		GetFloorDescription(msg, oldPos.x - 8, oldPos.y - 6, 0, 18, 14, 8, skip);

 

Altere para

 

  GetFloorDescription(msg, oldPos.x - Map::maxClientViewportX, oldPos.y - Map::maxClientViewportY, 5, (Map::maxClientViewportX+1)*2, (Map::maxClientViewportY+1)*2, 3, skip); //(floor 7 and 6 already set)
   GetFloorDescription(msg, oldPos.x - Map::maxClientViewportX, oldPos.y - Map::maxClientViewportY, 4, (Map::maxClientViewportX+1)*2, (Map::maxClientViewportY+1)*2, 4, skip);
   GetFloorDescription(msg, oldPos.x - Map::maxClientViewportX, oldPos.y - Map::maxClientViewportY, 3, (Map::maxClientViewportX+1)*2, (Map::maxClientViewportY+1)*2, 5, skip);
   GetFloorDescription(msg, oldPos.x - Map::maxClientViewportX, oldPos.y - Map::maxClientViewportY, 2, (Map::maxClientViewportX+1)*2, (Map::maxClientViewportY+1)*2, 6, skip);
   GetFloorDescription(msg, oldPos.x - Map::maxClientViewportX, oldPos.y - Map::maxClientViewportY, 1, (Map::maxClientViewportX+1)*2, (Map::maxClientViewportY+1)*2, 7, skip);
   GetFloorDescription(msg, oldPos.x - Map::maxClientViewportX, oldPos.y - Map::maxClientViewportY, 0, (Map::maxClientViewportX+1)*2, (Map::maxClientViewportY+1)*2, 8, skip);

 

 

5 ache

 

GetFloorDescription(msg, oldPos.x - 8, oldPos.y - 6, oldPos.z - 3, 18, 14, 3, skip);

 

ALTERE PARA

 

GetFloorDescription(msg, oldPos.x - Map::maxClientViewportX, oldPos.y - Map::maxClientViewportY, oldPos.z - 3, (Map::maxClientViewportX+1)*2, (Map::maxClientViewportY+1)*2, 3, skip);

 

 

6 ACHE

 

GetMapDescription(oldPos.x - 8, oldPos.y + 1 - 6, newPos.z, 1, 14, msg);

 

ALTERE PARA

 

GetMapDescription(oldPos.x - Map::maxClientViewportX, oldPos.y - (Map::maxClientViewportY-1), newPos.z, 1, (Map::maxClientViewportY+1)*2, msg);

 

 

7 ACHE

 

GetMapDescription(oldPos.x - 8, oldPos.y - 6, newPos.z, 18, 1, msg);

ALTERE PARA

 

GetMapDescription(oldPos.x - Map::maxClientViewportX, oldPos.y - Map::maxClientViewportY, newPos.z, (Map::maxClientViewportX+1)*2, 1, msg);

 

 

8 Ache

 

GetFloorDescription(msg, oldPos.x - 8, oldPos.y - 6, newPos.z, 18, 14, -1, skip);
		GetFloorDescription(msg, oldPos.x - 8, oldPos.y - 6, newPos.z + 1, 18, 14, -2, skip);
		GetFloorDescription(msg, oldPos.x - 8, oldPos.y - 6, newPos.z + 2, 18, 14, -3, skip);

 

Altere para

 

GetFloorDescription(msg, oldPos.x - Map::maxClientViewportX, oldPos.y - Map::maxClientViewportY, newPos.z, (Map::maxClientViewportX+1)*2, (Map::maxClientViewportY+1)*2, -1, skip);
        GetFloorDescription(msg, oldPos.x - Map::maxClientViewportX, oldPos.y - Map::maxClientViewportY, newPos.z + 1, (Map::maxClientViewportX+1)*2, (Map::maxClientViewportY+1)*2, -2, skip);
        GetFloorDescription(msg, oldPos.x - Map::maxClientViewportX, oldPos.y - Map::maxClientViewportY, newPos.z + 2, (Map::maxClientViewportX+1)*2, (Map::maxClientViewportY+1)*2, -3, skip);

 

 

9 ache

 

GetFloorDescription(msg, oldPos.x - 8, oldPos.y - 6, newPos.z + 2, 18, 14, -3, skip);

 

Altere para

 

GetFloorDescription(msg, oldPos.x - Map::maxClientViewportX, oldPos.y - Map::maxClientViewportY, newPos.z + 2, (Map::maxClientViewportX+1)*2, (Map::maxClientViewportY+1)*2, -3, skip);

 

 

10 ache

 

GetMapDescription(oldPos.x + 9, oldPos.y - 1 - 6, newPos.z, 1, 14, msg);

 

Altere para

 

GetMapDescription(oldPos.x + Map::maxClientViewportX+1, oldPos.y - (Map::maxClientViewportY+1), newPos.z, 1, ((Map::maxClientViewportY+1)*2), msg);

 

 

AGORA EM MAP.H

 

 

ache

 

		static const int32_t maxViewportX = 11; //min value: maxClientViewportX + 1
		static const int32_t maxViewportY = 11; //min value: maxClientViewportY + 1
		static const int32_t maxClientViewportX = 8;
		static const int32_t maxClientViewportY = 6;

altere para:

 

		static const int32_t maxViewportX = 18; //min value: maxClientViewportX + 1
		static const int32_t maxViewportY = 18; //min value: maxClientViewportY + 1
		static const int32_t maxClientViewportX = 14;
		static const int32_t maxClientViewportY = 12;

 

Pronto agora é só compilar a source do seu servidor 8.60 rev3884

 

 

PARTE 2 OTCLIENT 0.6.6

 

abra o map.cpp da source do otclient 

 

ache

 

void Map::resetAwareRange()
{
    AwareRange range;
    range.left = 8;
    range.top = 6;
    range.bottom = 7;
    range.right = 9;
    setAwareRange(range);
}

ALTERE PARA

 

void Map::resetAwareRange()
{
	
AwareRange range;
range.left = 14; //Change this to = maxClientViewportX
range.top = 12; //Change this to = maxClientViewportY 
range.bottom = range.top+1; 
range.right = range.left+1;
setAwareRange(range);
}

COMPILE A SOURCE DO OTCLIENT E PRONTO!!! ESPERO TER SANADO VÁRIAS DÚVIDAS DE AUMENTAR TELA DO OTCLIENT EM REV3884.

CRÉDITOS: Pra mim pela alterações funcionais. e pelo Flatlander por disponibilizar para tfs 0.3.6 e 1.0 pois esse está alterado pra tfs 0.4

 

 

 

Editado por L3K0T (veja o histórico de edições)

 

20230912_034613.png.cf49b650c34dd7d7b1f79bd49c70f53c.png

Eu sou um entusiasta da programação apaixonado por ajudar a comunidade open source a crescer. Sempre em busca de novos desafios e oportunidades para contribuir com meu código.  #OpenSource #Programação #Contribuição

 

  • Respostas 27
  • Visualizações 10.4k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • seu cliente tá compilado em modo de transparencia pelo Object Builder  você pode tentar indo em data/game_things e   ache   function load() local version = g_game.getClientVersion

  • hehe se precisar de ajuda a gente coloca no 0.3.6 tbm  

Posted Images

Postado
  • Autor
  • Diretor
44 minutos atrás, KscOlvaLsk disse:

Consegue me ajudar como arrumar isso as imagem da sprites fica assim ja nao sei oq fazer

lvl.png

 

seu cliente tá compilado em modo de transparencia pelo Object Builder  você pode tentar indo em data/game_things e

 

ache

 

function load()
  local version = g_game.getClientVersion()

em baixo coloca

 

g_game.enableFeature(GameSpritesAlphaChannel)

compile

NOTE SE TIVER VC REMOVA POIS SUA TRANSPARENCIA NÃO TÁ PEGANDO.

8 horas atrás, KotZletY disse:

@L3K0T já estava na hora de alguém trazer esse tutorial traduzido pro TibiaKing, parabéns!  :rock:

 

@Tópico Aprovado!

 

 

qria ajudar hehe

Editado por L3K0T (veja o histórico de edições)

 

20230912_034613.png.cf49b650c34dd7d7b1f79bd49c70f53c.png

Eu sou um entusiasta da programação apaixonado por ajudar a comunidade open source a crescer. Sempre em busca de novos desafios e oportunidades para contribuir com meu código.  #OpenSource #Programação #Contribuição

 

Postado
43 minutos atrás, L3K0T disse:

seu cliente tá compilado em modo de transparencia pelo Object Builder se tiver vai em data/game_things e

 

ache

 


function load()
  local version = g_game.getClientVersion()

em baixo coloca

 


g_game.enableFeature(GameSpritesAlphaChannel)

NOTE SE TIVER VC REMOVA POIS SUA TRANSPARENCIA NÃO TÁ PEGANDO

Muito obrigado vc e o melhor tive que adc tranparencia no Tibia.dat

lvl.png

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.7k

Informação Importante

Confirmação de Termo