Ir para conteúdo

10.X

OTs na versão 10.X


18 tópicos neste fórum

    • 6 respostas
    • 13.8k visualizações
    • 2 reações

    • 2 respostas
    • 3.3k visualizações
    • 1 reação

    • 6 respostas
    • 8.6k visualizações
    • 1 reação

    • 26 respostas
    • 14.3k visualizações
    • 1 reação

    • 12 respostas
    • 10.4k visualizações
  1. Servidor Completo 10.90

    • 3 respostas
    • 7k visualizações
    • 1 reação

    • 66 respostas
    • 30.4k visualizações
    • 2 respostas
    • 5k visualizações
    • 2 reações

    • 9 respostas
    • 10k visualizações
    • 2 respostas
    • 4.8k visualizações
    • 2 respostas
    • 7k visualizações
    • 1 resposta
    • 7.4k visualizações
    • 2 reações

    • 5 respostas
    • 7.5k visualizações
    • 1 reação

    • 2 respostas
    • 7.9k visualizações
    • 1 reação

    • 0 respostas
    • 7.3k visualizações
    • 15 respostas
    • 11.6k visualizações
    • 0 respostas
    • 5.3k visualizações
  2. Venorewar v2 [32B/64B]

    • 4 respostas
    • 5k visualizações
  • Quem Está Navegando   0 membros estão online

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

  • Tópicos

  • Últimos Posts

    • Salve man, respondendo esse tópico com alguns anos atrás mas isso foi um problema que acabei esbarrando também e consegui encontrar a solução. Podem estar acontecendo basicamente 2 coisas 1 - Erro no código do cliente, e ai precisariamos ver o console (ctrl+t) ou o debug (geralmente otclient.txt) para saber o que está acontecendo 2 - Muitos clientes podem até ja vir preparados para receber outfit nas devidas modules como, por exemplo, o OTClient do Edubart na module client_entergame:           if key == 'outfit' then -- it's an exception           subWidget:setOutfit(value)         else Mas o servidor precisa mandar a seção "outfit" corretamente pelo protocolo de login, assim como o cliente deve receber essa mesma seção pelo mesmo protocolo, por exemplo: 2.1 Servidor: Pegando, por exemplo as sources desse servidor ( ) Notamos no arquivos protocollogin.cpp (sources server) na função ProtocolLogin::parseFirstPacket todos os dados que são enviados pro cliente em relação ao personagem. Precisamos apenas adicionar a seção de outfits aqui, como por exemplo, abaixo de output->AddU16(g_config.getNumber(ConfigManager::GAME_PORT)); (em relação ao player e NÃO ao Account Manager) você pode adicionar um código tipo assim (lembrando de adicionar o import #include "database.h" e #include "databasemanager.h" no topo do arquivo): uint16_t lookType = 128; uint8_t lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookAddons = 0; DBResult* result = Database::getInstance()->storeQuery( "SELECT looktype, lookhead, lookbody, looklegs, lookfeet, lookaddons " "FROM players WHERE name = " + Database::getInstance()->escapeString((*it)) + " LIMIT 1" ); if(result) { lookType = result->getDataInt("looktype"); lookHead = result->getDataInt("lookhead"); lookBody = result->getDataInt("lookbody"); lookLegs = result->getDataInt("looklegs"); lookFeet = result->getDataInt("lookfeet"); lookAddons = result->getDataInt("lookaddons"); result->free(); } output->AddU16(lookType); output->AddByte(lookHead); output->AddByte(lookBody); output->AddByte(lookLegs); output->AddByte(lookFeet); output->AddByte(lookAddons); E na seção do Account Manager passar valores padrão: output->AddU16(128); // lookType output->AddByte(0);  // head output->AddByte(0);  // body  output->AddByte(0);  // legs  output->AddByte(0);  // feet output->AddByte(0);  // addons 2.2 Cliente:  Voltando pro cliente, precisamos captar essa nova seção no protocolo de Login. Pegando o OTClient do Edubart como exemplo, existe o arquivo modules/gamelib/protocollogin.lua (no cliente mesmo e não nas sources) que possui a função ProtocolLogin:parseCharacterList agora é só passar a nova seção de outfit aqui dentro, junto com os demais dados do personagem:     function ProtocolLogin:parseCharacterList(msg) local characters = {} local charactersCount = msg:getU8() for i = 1, charactersCount do local character = {} character.name = msg:getString() character.worldName = msg:getString() character.worldIp = iptostring(msg:getU32()) character.worldPort = msg:getU16() local lookType = msg:getU16() local lookHead = msg:getU8() local lookBody = msg:getU8() local lookLegs = msg:getU8() local lookFeet = msg:getU8() local lookAddons = msg:getU8() character.outfit = { type = lookType, head = lookHead, body = lookBody, legs = lookLegs, feet = lookFeet, addons = lookAddons, } characters[i] = character end local account = {} account.premDays = msg:getU16() signalcall(self.onCharacterList, self, characters, account) end E ai é só ajustar sua module de listagem de personagens para o design/layout que quiser
    • Looking to choose between Magento vs Odoo, understanding the core purpose of each platform is essential. Magento is designed with a strong commerce focus, helping businesses manage online stores, product catalogs, customer journeys, and order workflows efficiently. It performs best when operations are mainly centered around digital selling and customer experience management.In the mid stage of comparison, Magento vs Odoo highlights a clear difference in approach. Odoo focuses on complete process management by offering integrated modules for inventory, accounting, sales, HR, and supply chain operations. While Magento depends on third-party integrations for internal business processes, Odoo manages them within a single unified system. This distinction helps businesses choose wisely. Companies prioritizing online commerce often prefer Magento, whereas organizations seeking end-to-end operational control lean toward Odoo.
    • Looking to improve how businesses connect with customers, mobile apps play a key role in simplifying and organizing interactions across touchpoints. EmizenTech provides scalable app solutions that help businesses manage inquiries, support requests, bookings, and real-time updates from one platform. A reliable mobile app development company in Dallas focuses on building apps that centralize customer communication, reduce response times, and ensure consistent experiences. From push notifications and in-app chat to personalized dashboards, mobile apps make interactions faster and clearer. For Dallas businesses, this leads to stronger customer relationships, better service efficiency, and higher satisfaction without adding operational complexity.  
    • Searching for a reliable AI Agent Development Company to build intelligent and secure AI-driven solutions for business growth? EmizenTech provides custom AI agent development services focused on security, scalability, and seamless system integration. The company offers AI agents designed for customer support automation, data analysis, process optimization, and enterprise-level operations, ensuring stable performance and long-term usability. AI agent development includes strong security practices such as encrypted data handling, role-based access control, and secure API communication to protect sensitive information. Scalable architecture allows AI agents to grow alongside evolving business needs without performance loss. By adopting AI agents, businesses can improve productivity, enhance user experiences, and maintain a competitive edge in 2026 while ensuring safe and reliable digital operations.
    • Womens In Your City - No Selfie - Anonymous Casual Dating https://SecreLocal.com [url=https://SecreLocal.com/girls.html] Womens In Your Town [/url] - Anonymous Sex Dating - No Selfie
×
×
  • Criar Novo...