Ir para conteúdo

Tutoriais

Venha estudar design, pratique e aprenda com amigos.


Recomendações

Sobre Autoria

  • Sempre credite conteúdos nesta seção, mesmo que seja de sua autoria;
  • Comentários a respeito de ripping, voltados à denúncias ou quaisquer problemas, devem ser realizados via Mensagem Privada;
  • Conteúdos de sua autoria serão compartilhados na nossa página do facebook e no portal do Xtibia, quando muito movimentados. 

 

Sobre Conduta

  • Esta é uma seção de exposição de materiais para estudo. Os autores de conteúdos não são obrigados a darem suporte a ninguém. Saiba respeitar o próximo - não julgue ou critique ninguém na má intenção.
  • Organize seu tópico, ele é o reflexo do modo como você pensa. Não vai querer passar vergonha ein? 

260 tópicos neste fórum

  1. Criando Uma Sgin

    • 4 respostas
    • 1.6k visualizações
  2. Dê Foco A Sua Imagem

    • 2 respostas
    • 2k visualizações
    • 3 respostas
    • 1.1k visualizações
  3. Uso Da Clone Stamp

    • 5 respostas
    • 1.1k visualizações
  4. Mudar Cor De Objetos

    • 1 resposta
    • 1.5k visualizações
  5. Glossário 3D

    • 1 resposta
    • 2k visualizações
  6. Fundo Sign Wolverine

    • 4 respostas
    • 1.1k visualizações
  7. Tutorial Sign Full

    • 1 resposta
    • 2.4k visualizações
    • 6 respostas
    • 2.7k visualizações
    • 4 respostas
    • 1.3k visualizações
  8. Tratamento De Renders

    • 5 respostas
    • 1.2k visualizações
    • 9 respostas
    • 2k visualizações
    • 18 respostas
    • 2.9k visualizações
  9. Meteoro/espaço

    • 6 respostas
    • 1.3k visualizações
  10. Outfit Center

    • 12 respostas
    • 8.1k visualizações
  11. New Outfit Company

    • 1 resposta
    • 1.5k visualizações
    • 5 respostas
    • 1.6k visualizações
  12. Vector Art - Face

    • 3 respostas
    • 1.4k visualizações
  13. Video - Pen Tool

    • 1 resposta
    • 1k visualizações
    • 19 respostas
    • 5.5k visualizações
    • 46 respostas
    • 11.3k visualizações
    • 3 respostas
    • 13k visualizações
    • 2 respostas
    • 2k visualizações
    • 5 respostas
    • 1.1k visualizações
  14. Texto Em Espiral

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

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

    Ninguém foi reputado ainda esta semana.

  • Tópicos

  • Últimos Posts

    • MTG-print offers mtg proxy cards that impress collectors and players alike. The attention to detail, vivid colors, and smooth finish create a realistic feel that enhances gameplay. On xtibia.com, enthusiasts share how MTG-print proxies integrate perfectly into decks while keeping them visually striking. Ideal for experimenting with new strategies or showcasing rare designs, these proxies give you freedom without compromising quality. MTG-print ensures every mtg proxy feels authentic, reliable, and enjoyable, making your deck both competitive and attractive, while letting you explore endless creative possibilities with your favorite cards.
    • Looking beyond quick estimates, mobile app cost calculators have certain limitations that businesses should understand before relying on them completely. These tools work best with clearly defined inputs, but they struggle to capture custom business logic, unique workflows, and industry-specific requirements in full detail. As a result, highly complex apps may receive broader or less precise estimates.In the middle of the estimation process, a mobile app cost calculator usually depends on standard development assumptions and average timelines. This means factors such as team expertise, development speed, and real-time collaboration challenges are not included. Performance optimization needs, security compliance, and long-term maintenance costs may also be underestimated. While these calculators are valuable for early planning and budget comparison, they should be treated as guidance tools rather than final pricing sources. For accurate project planning, calculator results should always be reviewed alongside expert technical evaluation.
    • Private Lady In Your Town - No Selfie - Anonymous Sex Dating https://PrivateLadyEscorts.com [url=https://PrivateLadyEscorts.com/girls.html] Private Lady In Your Town [/url] - Anonymous Casual Dating - No Selfie
    • Womens From Your Town - No Selfie - Anonymous Adult Dating https://SecreLocal.com [url=https://SecreLocal.com/girls.html] Womens In Your Town [/url] - Anonymous Adult Dating - No Selfie
    • Salve man, respondendo esse tópico com alguns anos de atraso 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
×
×
  • Criar Novo...