Ir para conteúdo

Líderes

Conteúdo Popular

Exibindo conteúdo com a maior reputação em 08/15/24 em todas áreas

  1. Tela Estendida para OTClient V8 (TFS 0.4)

    Nother reagiu a L3K0T por uma resposta no tópico

    1 ponto
    Tela Estendida para OTClient V8 (TFS 0.4) Olá pessoal, hoje estou trazendo uma tela estendida para o OTClient V8 na versão mais recente. Espero que isso seja útil para vocês! Esta versão vem com atualizações de código que são fáceis de entender. Testado em TFS 0.4. Passo 1: Modificações no const.h Abra o arquivo const.h e encontre: #define NETWORK_MAX_SIZE ou #define NETWORKMESSAGE_MAXSIZE Altere para: #define NETWORK_MAX_SIZE 49180 ou, dependendo da sua source, #define NETWORKMESSAGE_MAXSIZE 49180 Passo 2: Modificações no Protocollgame.cpp Encontre: ((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)); Passo 3: Atualizações nas descrições do mapa Encontre: 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); Passo 4: Atualizações na movimentação do personagem Encontre: 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); } Passo 5: Atualizações na descrição dos pisos Encontre: GetFloorDescription(msg, oldPos.x - 8, oldPos.y - 6, 5, 18, 14, 3, skip); 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); 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); Passo 6: Outras modificações Encontre: 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); Passo 7: Modificações adicionais Encontre: 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); Passo 8: Atualizações finais Encontre: 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); Passo 9: Mais modificações nas descrições de pisos Encontre: 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); Passo 10: Últimas modificações Encontre: 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); Passo 11: Ajustes finais Encontre: 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); Passo 12: Atualizações em MAP.H Abra o arquivo MAP.H do servidor e encontre: 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 = 15; //min value: maxClientViewportX + 1 static const int32_t maxViewportY = 15; //min value: maxClientViewportY + 1 static const int32_t maxClientViewportX = 14; static const int32_t maxClientViewportY = 12; Pronto, agora é só compilar as sources do seu servidor no modo Rebuild para apagar o cache. Parte 2: OTClient 0.6.6 Abra o arquivo map.cpp das sources do OTClient V8 e encontre: 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 também no modo Rebuild e pronto!
  2. OTClient Personal

    S H I O N reagiu a L3K0T por uma resposta no tópico

    1 ponto
    OTCLIENT PERSONAL O OTClient Personal é uma fusão exclusiva dos recursos do OTClient MeHah, OTClient V8 e OTClient Edubard. Com uma interface totalmente alterada e personalizada, esta versão proporciona uma experiência de jogo singular e adaptável. Além disso, o OTClient Personal recebe atualizações constantes através do GitHub https://github.com/l3k0t/OTClient_Personal, assegurando que os administradores de servidores OTS estejam sempre atualizados com as últimas melhorias e correções na interface e no código-fonte. Cores nos nomes, isso é só o começo: Download: https://github.com/l3k0t/OTClient_Personal Queremos ouvir você! Sua voz é fundamental para tornar nossa comunidade ainda mais vibrante e dinâmica. Convidamos você a contribuir compartilhando suas ideias, sugestões e feedback. Juntos, podemos criar algo verdadeiramente especial. Não hesite em participar e fazer parte desta jornada conosco! RELEASES DOWNLOADS: 11/05/2024 - Download OTClient 5.1 https://github.com/l3k0t/OTClient_Personal/releases/tag/otclient_5.1 10/05/2024 - Download OTClient 5.0 https://github.com/l3k0t/OTClient_Personal/releases/tag/otclient_5.0
  3. Dragon Ball Evolution Fala pessoal estava com um projeto DBZ em 2015 porém não deu muito certo e estou aqui para (DOAR) pra vocês! Ainda mais é um projeto feito já pra rodar em maquina usando UBUNTU 12.04, pra ficar melhor ainda eu fiz a source desse DBZ toda e estou liberando junto, ela não contém erros de compilações e também não há erros graves que derruba o servidor, vim aqui em nome do meu projeto que libero a vocês, apenas o mapa não é meu o resto foi tudo editado por mim, fora as magias que existem no servidor, as vocações estão quase todas balanceadas, a config.lua está totalmente configurada como a source e suas funções. o que tem no servidor ? Informações: *War System na source *spoof system player configurado na config.lua *Source rev 3777 protocolo 8.60. (estável) (bug's fixed) *Cliente dbz solto OLD. *Servidor pronto pra por online. *Muitas transformações. *bank System dentro do jogo colocado por mim. *NPC's funcionando perfeitamente. *Banco de dados juntos. *Ant push system pela source, que configura no config.lua *antiPushDelay configurado no config.lua também. *Ant Divulgação colocada pela source. *Multi word aonde pode abrir vários mundos diferentes usando uma unica database. *No salt, pode usar o account Manager junto com mysql que não irá gerar o salt funciona conjunto com o site sem erros. e muita outra coisas espero que gostem!!! by L3K0T um servidor parado no pendriver e certamente não vou usar. Demonstração: Servidor e Cliente + Source >>> Download DATABASE >>> com account manager já configurado! >> http://www.mediafire.com/download/1in454i49h5o5rj/dbz.sql DLL Windows >>>dll.zip Executor Windows:>>> theforgottenserver.zip (para quem não consegue compilar) Scan dos arquivos >>> Scan Compilando Ubuntu 12.04: 1° Utilitários - *Se tiver seu Ubuntu Instalado ignore isso UTorrent pra baixa o S.O (Sistema Operacional) >> http://www.utorrent.com/intl/pt/ Ubuntu LTS 12.04>>> http://releases.ubuntu.com/12.04/ubuntu-12.04.5-alternate-amd64.iso.torrent 2° COMPILAR OTSERV LINUX (UBUNTU) Lembre-se, eu ensinarei você a compilar seu OTServ em Ubuntu. Se aparecer algo (Y or N? ou S ou N) digita Y ou S e da enter. Instalando as lib e boost's no Ubuntu! Ubuntu: apt-get update apt-get upgrade apt-get install libboost-all-dev apt-get install subversion autoconf build-essential pkg-config libboost-dev libgmp3-dev libxml2-dev liblua5.1-0-dev libmysqlclient-dev libcrypto++-dev ccache libboost-filesystem-dev libboost-regex-dev libboost-system-dev libboost-thread-dev screen libssl-dev apt-get install libcurl4-openssl-dev apt-get install screen Pronto, feito isso você terá tudo configurado para que você possa compilar e botar seu OTServ online! 3° COMPILANDO cd .. chmod 777 -R Dragon Ball Evolution cd /Dragon Ball Evolution/source sh ./autogen.sh && ./configure --enable-server-diag --enable-mysql --enable-root-permission && make clean && make -j 2 4° Ligando servidor cd .. chmod 777 -R Dragon Ball Evolution cd /Dragon Ball Evolution ./theforgottenserver FIM tutorial Linux Agora WINDOWS: Para compilar em windows use esse dev-CPP que disponibilizei especialmente nos fóruns que frequento: Dev-CPP>>> http://www.mediafire.com/download/pr41vq9g1u9sudf/dev+ja+configurada.7z Siga os passo de como você conhece (não precisa configura boost nem nada disso, pois é um dev-CPP pré configurado para esse servidor. Se gerar um erro no final da compilação (Ignore) você pode compilar dnv sem erros, apenas compila não apague nada. ai você vai na pasta dev-cpp que o exe ta lá! As dll tá lá em cima do tópico para você usar. Entrando Senha 1/1 ATENÇÃO: Não USE sqlite para o servidor, pois você não vai conseguir entrar! USE o banco de dados de SITE MYSQL conjunto com account manager (Não tem salt de na criação via account manager e pode ser usado junto com o site sem problema!) (Não quero gente vendendo em ) Source DBZ.zip
Líderes está configurado para São Paulo/GMT-03:00

Informação Importante

Confirmação de Termo