Ir para conteúdo

Os Melhores

Conteúdo popular

Mostrando conteúdo com a maior reputação em 22/06/2026 in todas as áreas

  1. UTILIZE O COOKIE-EDITOR PARA ACESSAR AS CONTAS! LEMBRA-SE DE SEMPRE INJETAR NA URL CASO TIVER DÚVIDAS BASTA ACESSAR O TÓPICO AQUI -> TUTORIAL DETALHADO 1º CONTA 2º CONTA 3º CONTA
    6 pontos
  2. 🚀🔥 LEGENDS OF KERSEF - GRANDE ABERTURA🔥🚀 📅 DATA: 26/06/2026 🕗 HORÁRIO: 20:00 (GMT-3) ━━━━━━━━━━━━━━━━━━━━━━━ ⚙️ INFORMAÇÕES DO SERVIDOR: 🔹 Versão: 7.60 (com UI própria) 🔹 Rates: EXP / DROP → MÉDIA / MÉDIO 🔹 Sistema de composição: Médio 🔹 Infraestrutura: Servidor + Website + API 100% próprios 🔹 Sistema de donate: Totalmente autônomo 🔹 Foco: Jogabilidade equilibrada para F2P + PvP competitivo ━━━━━━━━━━━━━━━━━━━━━━━ 💡 ALGUNS SISTEMAS 🧬 Sistema Lan House - Sistema de reCAPTCHA em tempo real integrado diretamente ao backend 👥 Sistema de Grupos - Criação e gerenciamento de grupos de forma simples e rápida 🏰 Sistema de Guild - Controle completo de guilds com gestão de membros e permissões 🛒 Marketplace Global - Mercado único com filtros inteligentes e busca avançada 📊 Filtro de Drop Inteligente - Informações claras de drop por área com taxas detalhadas 👹 Bosses Dinâmicos - Bosses com HP visível e mecânicas dinâmicas ⚔️ Arena PvP Inovadora - Identificação de times para combates mais organizados ✨ Novos Efeitos de Itens - Efeitos visuais aprimorados e exclusivos 🎮 Interface Totalmente Otimizada - UI reformulada, fluida e moderna 🌗 Ciclo Dia e Noite - Sistema dinâmico que influencia diretamente drop e gameplay 😂 Sistema de Stickers - Interação divertida entre players e guilds 👗 Preview de Skins - Visualização de skins antes da compra (personagem e montaria) ⚙️ Painel Ingame - Configuração de resolução, áudio e cliente sem sair do jogo ━━━━━━━━━━━━━━━━━━━━━━━ 🔗 LINKS OFICIAIS 📣 Discord: [Hidden Content] 👍 Facebook: [Hidden Content] 🌐 Site Oficial: [Hidden Content] Grupo de WhatsApp: [Hidden Content] ━━━━━━━━━━━━━━━━━━━━━━━ 🔐 VirusTotal: Launcher LOK.exe ━━━━━━━━━━━━━━━━━━━━━━━ 👷 EQUIPE - CadeMeuNick - GuGaRMP - Xipanca ━━━━━━━━━━━━━━━━━━━━━━━ 🔥 IMAGENS DO SERVIDOR:🔥 ▶️ Alguns vídeos do Servidor:
    4 pontos
  3. Lembro que antigamente, em versões iniciais do wyd pirata 6.13 ou 6.56, era mais comum ver sistema de reset. Exemplo, ao atingir level 355 (naquela época travava nesse level), o jogador digitava /reset ou talvez usava algum item e voltava level 1, exp zerado e ganhava score points (pontos pra distribuir em FOR, INT, DEX e CON). Esses reset eram acumulativos e eram necessários pra passar pra próxima evolução. Na época com o limite de status em 32.000, então com uma boa quantia de resets, logo chegava lá. PvPs eram quase intermináveis, bonitos de assistir. O UP era rápido, EXP ficava normalmente em 200 a 300k por monstro, dependo da evolução. Mas enfim, além de trazer essas lembranças pra quem viveu essa época, tenho uma curiosidade em porque não se vê nenhum servidor com resets, hoje com esses limites de status altíssimos e evoluções limitadas. O exp alto torna a jogabilidade rápida e às vezes, ter os melhores itens nem sempre vai garantir que seja o mais forte, porque a quantia de resets acumulados as vezes fala mais alto. Concordo com muitos de que isso foge da originalidade do WYD, mas por outro lado, você tem sempre jogadores upando, não tem level máximo ou evolução máxima, então os grupos de UP ficam contínuos no jogo e o PvP fica ainda melhor.
    3 pontos
  4. UTILIZE O COOKIE-EDITOR PARA ACESSAR AS CONTAS! LEMBRA-SE DE SEMPRE INJETAR NA URL CASO TIVER DÚVIDAS BASTA ACESSAR O TÓPICO AQUI -> TUTORIAL DETALHADO 1º CONTA 2º CONTA 3º CONTA
    3 pontos
  5. UTILIZE O COOKIE-EDITOR PARA ACESSAR AS CONTAS! LEMBRA-SE DE SEMPRE INJETAR NA URL [Hidden Content] CASO TIVER DÚVIDAS BASTA ACESSAR O TÓPICO AQUI -> TUTORIAL DETALHADO 1º CONTA 2º CONTA 3º CONTA
    3 pontos
  6. /* Estilos CSS adaptados para a cor exata do fórum (#272626) */ .gh-topic-container { font-family: 'Segoe UI', 'Roboto', Helvetica, Arial, sans-serif; background-color: #272626; /* Cor exata solicitada */ color: #eeeeee; padding: 30px; border-radius: 10px; margin: 20px auto; box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3); border: 1px solid #363535; /* Borda sutil levemente mais clara que o fundo */ } /* ---- Estilos do Banner ---- */ .gh-banner-wrapper { width: 100%; margin-bottom: 35px; border-radius: 12px; overflow: hidden; box-shadow: 0 10px 25px rgba(0, 0, 0, 0.3); border-bottom: 3px solid #8b5cf6; } .gh-banner-img { width: 100%; height: auto; display: block; transition: transform 0.5s ease; } .gh-banner-wrapper:hover .gh-banner-img { transform: scale(1.01); } /* ---- Tipografia e Conteúdo ---- */ .gh-main-title { font-size: 2.8rem; font-weight: 900; text-transform: uppercase; margin-bottom: 0px; text-align: center; letter-spacing: -1px; color: #ffffff; } .gh-highlight-purple { color: #a855f7; text-shadow: 0 0 10px rgba(168, 85, 247, 0.4); } .gh-subtitle-topic { font-size: 1.3rem; color: #bbbbbb; text-align: center; margin-bottom: 40px; font-weight: 300; border-bottom: 1px solid #363535; } /* Caixa de Destaque Positiva (Ajustada para o fundo #272626) */ .gh-feature-box { background: #1e2920; /* Tom verde escuro fechado para contrastar com o grafite */ border: 1px solid rgba(34, 197, 94, 0.2); border-left: 5px solid #22c55e; padding: 25px; border-radius: 8px; margin-bottom: 25px; } .gh-feature-title { font-size: 1.4rem; color: #4ade80; font-weight: bold; margin-bottom: 12px; display: flex; align-items: center; } .gh-feature-title::before { content: '✓'; margin-right: 10px; font-weight: 900; } .gh-text-content { font-size: 1.05rem; line-height: 1.6; color: #e0e0e0; margin-bottom: 20px; } /* ---- Botão estilo o "Desbloquear" do print ---- */ .gh-button-container { text-align: center; margin: 0px 30px 30px 30px; } .gh-cta-button { background: linear-gradient(to right, #8b5cf6, #6366f1); /* Roxo vibrante idêntico à imagem */ color: white !important; padding: 16px 45px; text-decoration: none; font-size: 1.15rem; font-weight: 700; border-radius: 8px; transition: all 0.2s ease; display: inline-block; text-transform: uppercase; border: none; cursor: pointer; box-shadow: 0 5px 20px rgba(139, 92, 246, 0.4); } .gh-cta-button:hover { transform: translateY(-2px); box-shadow: 0 8px 25px rgba(139, 92, 246, 0.6); filter: brightness(1.1); } .gh-footer-topic { text-align: center; font-size: 0.85rem; color: #888888; margin-top: 40px; } .gh-footer-topic a { color: #a855f7; text-decoration: none; } /* ---- Caixa Alerta (Ajustada para o fundo #272626) ---- */ .gh-virustotal-box { background: #2d1919; /* Tom avermelhado escuro para contrastar com o grafite */ border: 1px solid rgba(239, 68, 68, 0.2); border-left: 5px solid #ef4444; padding: 25px; margin: 25px 0; border-radius: 8px; } .gh-virustotal-title { font-size: 1.4rem; color: #f87171; font-weight: bold; margin-bottom: 12px; } PRIME VÍDEO ACESSAR DADOS DA CONTA Crunchyroll ACESSAR DADOS DA CONTA paramount ACESSAR DADOS DA CONTA Manter este projeto ativo tem custos. Se você gostar da experiência e quiser mais estabilidade, suporte 24h e um perfil exclusivo para você, considere apoiar o projeto adquirindo uma assinatura a partir de R$ 1,90. Sua Conta Privada Acesso completo por 30 dias com perfil exclusivo e tela privada — apenas você assiste, sem limites ou interrupções. Seu histórico fica organizado e protegido, sem interferências. Entrega automática em segundos via PIX, com suporte garantido via chat. ❌ Conta Compartilhada Compartilhada com dezenas de pessoas, sem tela privada — outros usuários veem seu histórico e o que você assiste. Limite de telas excedido frequentemente, causando interrupções. Senha alterada periodicamente, tornando o acesso temporário e instável. Perfis bagunçados e histórico misturado, gerando recomendações erradas baseadas no consumo de terceiros. Perfis genéricos, sem personalização de nome ou foto. Sem suporte ou garantia em caso de problemas. Mais de 80% dos membros do fórum começaram testando as contas gratuitas e migraram para o plano privado. Garanta sua estabilidade hoje mesmo! Quero minha Conta Privada agora
    2 pontos
  7. ⚔️WYD INFINITY ⚔️ 📅 Inaugurado dia: 01/05/2026 às 13h 📌 Informações Gerais Versão: 7.89 Dificuldade: Easy / Medium UP Rápido: Mortal/Arch UP Celestial: Easy até 120/UP 120 - 120+ Medium Contas por IP: (5) 🔥 "O Farm te prepara. O PVP te define." 📌 Sistemas Guerras de Guilds Arena Real Pesadelo celestial liberado Dominação de Bosses com espólios valiosos Droplist com filtro de drop Sistema de Honra Valioso e Diferenciado Sistema Guerra entre Reinos Player Info Ranking atualizado Sistema de Balanceamento PVP e PVE Baú de carga com 4 slots Resoluções Widescreen sem distorções Loja desvinculada: Progrida livremente Loja de Donate: Acesse de qualquer lugar Novidades de NPCs: recicladores e compositores Novos slots: colar, cinto, traje montaria Sistema Revigorante (proteção de montaria) Fada Dourada: agrupador de itens, filtro e macro de água Auto Grupo Anti-Hack · Anti-DDoS Servidor Estável 24/7 Entre outros... 🌐Redes Sociais 🌍 Site: [Hidden Content] 💬 Discord: [Hidden Content] 📸 Instagram: [Hidden Content] 📱 WhatsApp: [Hidden Content] 🌐Download: Download do Cliente : DOWNLOAD DO CLIENT Scan CLIENT Scan EXE Administrador por: G2K 📌 Imagens sobre o WYD INFINITY Campo iniciante de ARMIA: Sistemas: Painéis no servidor: NPC'S (Se compra em gold e itens)(Ambos são FARM) VALE ESCONDIDO (CONTÉM 3 ANDARES) CAPAS CELESTIAIS
    2 pontos
  8. 2 pontos
  9. 100% ATUALIZADO(2026) INTRODUÇÃO A Fox com muito orgulho apresenta seu produto para Grand Chase Classic (Steam/Nexus/Megaxus/Epic Games/etc) Acesse nosso site e tenha acesso à mais produtos exclusivos: Forums - Fox Cheats FUNÇÕES 🎯 Categoria: Mission Hack Auto Kill Delay — Mata todos os mobs da missão automaticamente. Skip Dialog — Pula todos os diálogos possíveis durante a missão. Kill All — Usado junto com o Auto Kill Delay para matar mobs que suportam o sistema. Stealth — Faz com que os mobs não ataquem você. Monster Vac — Agrupa todos os mobs hostis em um único local. Item Vac — Coleta automaticamente todos os itens dropados. Item Hide — Esconde todos os itens da missão para melhor visualização. Auto Boss — Avança automaticamente para a Boss Fight quando disponível. Unlimited Dimensional Time — Permite ficar mais de 15 minutos no portão dimensional. Level Hack [VOID] — Permite jogar o VOID sem precisar ser level 85. Item Spawn — Dropa todos os itens que seriam obtidos na missão. Speed Farm — Carrega uma missão alternativa para acelerar o farm. Damage Mob — Multiplicador de dano que você sofrerá dos mobs. Damage Hack — Aumenta o dano que você causa aos mobs. Auto Portal — Passa as etapas automaticamente sem interação manual. Speed Hack — Acelera a velocidade do jogo. Super Talim Spam — Spama o ataque especial do evento de Talin em qualquer missão. 🏆 Categoria: Mission Result Rank Select — Escolha a pontuação de rank da missão (F até SS). Hits Count — Quantidade de hits que você causou na missão. Combo Count — Número total de combos realizados. Attack Back Count — Número de ataques realizados pelas costas dos inimigos. Hits Takken — Quantidade de hits que você sofreu durante a missão. Damage Count — Total de dano que você causou na missão. 👤 Categoria: Player Stats HP Infinity — Vida infinita para o seu personagem. MP Full — Mana infinita para usar habilidades sem restrição. Hide Nick — Esconde seu nick no jogo [STREAM MODE]. Potion CD — Remove o cooldown para usar poções sem tempo de espera. CoolDown Hack — Remove o cooldown das skills, podendo usar sem limite. Fly Hack — Permite que seu personagem voe livremente. Pet MP — Mana infinita para o seu Pet. Furia Full — Fúria sempre cheia para usar golpes especiais. Item Hack [N] — Permite usar itens do inventário [N] sem possuí-los. Status SS — Aumenta seus atributos para atingir status SS+ e completar eventos/missões especiais. 🤖 Categoria: Bots/Farming Drop Prediction — Permite visualizar os itens que irão dropar dos mobs na missão. Block Dialog — Bloqueia janelas de diálogo para farmar AFK. Anti Kick AFK — Impede o jogo de te expulsar por ficar AFK. Auto Start — Inicia automaticamente as missões. Auto Next Dungeon — Avança automaticamente para a próxima missão. Auto Ready — Confirma "Pronto" automaticamente nas missões. Auto Play Dungeon — Joga automaticamente a missão selecionada. Auto Farm Item — Farma repetidamente o item adicionado na lista. Auto Failed — Faz a missão falhar automaticamente. Auto Farm Cards — Farma cartas automaticamente na missão. 🎮 Categoria: Auto Collect And Quit Collect And Quit — Entra na missão que você desejar, coleta os itens desejado e quita (FARM AUTOMATICO DE ITENS 100% AFK E RAPIDO 🎮 Categoria: AUTO VOID 100% AFK 23 CHAR AUTO VOID 100% AFK 23 CHAR — Entra na missão do void desejada, completa automaticamente com todos os personagens desejados e para (100% AFK) ENTREGA AUTOMÁTICA COMPRE AQUI OU NO SITE: [Hidden Content] SCREEN SHOTS PREÇOS 30 Dias -> R$39,90 ONDE COMPRAR ? Nosso Site -> Forums - Fox Cheats Nosso Discord : [Hidden Content] COMO USAR Abra o cheat Abra o jogo Seja feliz! DOWNLOAD/SCAN DOWNLOAD x64 : [Hidden Content] SCAN x64 : VirusTotal - File - 4851f472de5f1be722f62b62c1da749723ca086eddda36347db9996da39a0850
    2 pontos
  10. Link:⁨ Clique Aqui começa com 5 créditos iniciais, tem para vários sites
    2 pontos
  11. 1 ponto
  12. /* Estilos CSS contidos para o tópico */ .gh-topic-container { font-family: 'Segoe UI', 'Roboto', Helvetica, Arial, sans-serif; background-color: #0b0b0b; /* Fundo super escuro para o tópico */ color: #e0e0e0; padding: 30px; border-radius: 10px; max-width: 850px; margin: 20px auto; box-shadow: 0 0 40px rgba(0, 0, 0, 0.8); border: 1px solid #222; } /* ---- Estilos do Banner ---- */ .gh-banner-wrapper { width: 100%; margin-bottom: 35px; border-radius: 12px; overflow: hidden; box-shadow: 0 15px 35px rgba(229, 9, 20, 0.3); /* Glow vermelho forte no banner */ border-bottom: 3px solid #E50914; } .gh-banner-img { width: 100%; height: auto; display: block; transition: transform 0.5s ease; } .gh-banner-wrapper:hover .gh-banner-img { transform: scale(1.02); /* Efeito sutil de zoom ao passar o mouse */ } /* ---- Tipografia e Conteúdo ---- */ .gh-main-title { font-size: 2.8rem; font-weight: 900; text-transform: uppercase; margin-bottom: 10px; text-align: center; letter-spacing: -1px; color: #ffffff; } .gh-highlight-red { color: #E50914; text-shadow: 0 0 15px rgba(229, 9, 20, 0.6); } .gh-subtitle-topic { font-size: 1.3rem; color: #aaaaaa; text-align: center; margin-bottom: 40px; font-weight: 300; border-bottom: 1px solid #333; padding-bottom: 20px; } /* Caixa de Destaque da Bypass */ .gh-feature-box { background: linear-gradient(145deg, #1a1a1a, #111111); border-left: 5px solid #E50914; padding: 25px; border-radius: 8px; margin-bottom: 40px; } .gh-feature-title { font-size: 1.5rem; color: #E50914; font-weight: bold; margin-bottom: 15px; display: flex; align-items: center; } .gh-feature-title::before { content: '⚡'; margin-right: 10px; } .gh-text-content { font-size: 1.1rem; line-height: 1.7; color: #d1d1d1; margin-bottom: 20px; } /* Lista de melhorias */ .gh-list { list-style: none; padding: 0; margin: 30px 0; display: flex; flex-wrap: wrap; gap: 15px; justify-content: center; } .gh-list li { background: rgba(229, 9, 20, 0.1); border: 1px solid #E50914; color: #fff; padding: 10px 20px; border-radius: 50px; font-weight: 600; font-size: 0.9rem; box-shadow: 0 0 10px rgba(229, 9, 20, 0.2); } /* ---- Botão ---- */ .gh-button-container { text-align: center; margin-top: 50px; margin-bottom: 30px; } .gh-cta-button { background: linear-gradient(to right, #E50914, #B20610); color: white !important; padding: 18px 50px; text-decoration: none; font-size: 1.2rem; font-weight: 800; border-radius: 6px; transition: all 0.3s ease; display: inline-block; text-transform: uppercase; border: none; cursor: pointer; box-shadow: 0 10px 30px rgba(229, 9, 20, 0.5); position: relative; overflow: hidden; } .gh-cta-button:hover { transform: translateY(-3px); box-shadow: 0 15px 40px rgba(229, 9, 20, 0.7); } .gh-footer-topic { text-align: center; font-size: 0.8rem; color: #666; margin-top: 40px; } /* ---- Estilos da seção VirusTotal ---- */ .gh-virustotal-box { background: #1a1a1a; border: 1px solid #E50914; border-left: 5px solid #E50914; padding: 25px; margin: 30px 0; border-radius: 8px; } .gh-virustotal-title { font-size: 1.5rem; color: #E50914; font-weight: bold; margin-bottom: 15px; } .gh-vt-link { color: #ff6b6b; text-decoration: underline; word-break: break-all; font-weight: bold; } .gh-vt-link:hover { color: #fff; text-shadow: 0 0 10px rgba(229, 9, 20, 0.8); } .gh-vt-note { margin-top: 15px; background: rgba(229, 9, 20, 0.1); padding: 15px; border-radius: 5px; font-size: 1rem; color: #ccc; } O Retorno do Auto Login GlobalHax Mais rápido. Mais seguro. Indetectável. Após um período estratégico de desenvolvimento, a equipe GlobalHax tem o orgulho de anunciar o retorno da nossa ferramenta mais popular para Netflix. Não apenas corrigimos os problemas anteriores; nós redefinimos o funcionamento. Bypass Reestruturada por Completo Jogamos o código antigo fora. O novo sistema de Auto Login utiliza um método de injeção de tokens completamente novo, desenhado para contornar as mais recentes atualizações de segurança da plataforma de streaming. Isso significa maior estabilidade e um risco de queda drasticamente reduzido. 🔍 Análise de Segurança - VirusTotal Link da verificação: [Hidden Content] ⚠️ As detecções apontadas são de vírus genérico, decorrentes da ofuscação utilizada para proteger o código fonte do software. Nenhum comportamento prejudicial ao computador está presente. Este é um falso positivo comum em ferramentas de bypass que utilizam técnicas de proteção de propriedade intelectual. ✅ Status: ONLINE 🛡️ Bypass v3.0 (Nova) ⚡ Injeção Instantânea 🔒 Segurança Reforçada ACESSAR DOWNLOAD AGORA GlobalHax Development Team © 2026. Use com responsabilidade.
    1 ponto
  13. 🎁 NEWBIE PACKAGE – KIT INICIAL GRÁTIS! 💥 Você está pronto para começar sua jornada em WYD International Nós preparamos um pacote especial gratuito recheado de itens essenciais para te ajudar a dominar desde o primeiro dia! ⚔️🛡️ 🔥 O que vem incluso? ✅ 16 itens diferentes no total ✅ Escolhidos a dedo para impulsionar sua jornada inicial ✅ Disponível para TODOS os novos jogadores – sem pegadinhas! Basta criar sua conta e iniciar a aventura. 🧙‍♂️ Seja você Guerreiro, Mago ou Caçador — esse é o seu impulso inicial definitivo. 🎮 Não perca! Entre no jogo agora e resgate seu pacote GRATUITO! 🌍 Atualização Oficial - WYD International com Suporte PT-BR! Saudações, aventureiros do WYD! Temos novidades empolgantes: o WYD International agora possui suporte completo em PT-BR! Você pode escolher o idioma diretamente no Launcher do Jogo, com opção de alternar entre EN/PT-BR tanto para o site quanto para o cliente do jogo. Além disso, o servidor segue recebendo atualizações constantes desde o lançamento da Fase Beta em 17/10/2024. Nossa jornada continua com ainda mais força, e agora convidamos todos os jogadores da comunidade brasileira a se juntar a nós! 🛍️ Novidade: Loja de Cupons da Vitória (NPC Comerciante Divino) Quer alcançar os veteranos mais rápido? Agora o NPC Comerciante Divino vende Pedra Ideal e Pedra Eterna por preços acessíveis, permitindo que novos jogadores tenham chance real de alcançar os mais antigos. Aproveite! 🎮 Core Game Features 🏆 True Play to Win 🎁 Free Starter KIT (Newbie Package) 📢 Multi-Channel Support (Ch 1 PVP+Ch 2 Non-PVP) 🥋 New 9th - 12th Skills (Fully functional) 👫 Party Player Follow Missions Menu 📊 Advanced Character Stats Menu Advanced Guild Menu Advanced Settings Menu Bless Refine Fusion 💧 Auto Water Macro via CC 🎯 Level Reward System 🗺️ Map CC + Movement ⚔️ New Speed System (x3/x4 hits) 🎲 Advanced Drop System with Tiers 🛒 Divine Merchant NPC (Victory Coupon Shop) 🌟 Celestial LV 240-360 Unlocks 😄 In-game Emoji System 🎨 Custom Enamels (New Colors) 👻 Ghost Shop (Open a shop and go hunt) Academy System 🖥️ Stable Client with No Crashes Honor Coins System with Honor Shop Reworked Ingame Chat (Copy/Paste/Select options with CTRL+V/CTRL+C etc) Celestial Level 280+ Zone (Bloody Kefra) Coupon System VIP System Hunting Log UI Party Listing UI Party Leader Swap 🚀 Launcher with: 🔁 Auto Update 🛠️ Auto Repair Settings 🌐 Multi-Language (EN/PT-BR) 🌐 Feature and Info-rich Website 📜 Quests Mortal Quests up to level 400 🧙‍♂️ God LVL 50-200 Quest (The Troll's Domain) [Hidden Content] 🏜️ God LVL 201-400 Quest (Desert Fury) [Hidden Content] 💍 God Circlet Hunt Quest (LV 301-330) 💠 God Circlet Hunt Quest 2 (LV 400) 🏞️ Celestial LV 240-400 Daily Quest (Unknown Desert) 🗼 Daily Infinite Tower: [Hidden Content] - 🔁 Unique Daily Party EXP Quest, With Rankings 🗼 Daily Loot Hunter Quest: [Hidden Content] HellGate Event ⚔️ PvP Events 👑 Royal Arena (Team Battles) 🗼 Tower Wars 🛡️ Nauton Wars ☠️ Kefra Battles ☠️Academy War 📆 Monthly Automated Events Calendar [Hidden Content] 🏹Hunt Missions (e.g., Hunt X Tarons) 📦 Collect Missions (e.g., Collect X Laks) 🧪 Use Missions (e.g., Use X Laks) Participate MIssions (e.g., Participate in Royal Arena X Times) 💎 Treasure Box Hunt: [Hidden Content] Blessings: [Hidden Content] 🙏 Freya Blessing ⚡ Odin Blessing 🔮 Agatha Blessing 🌸 Aylin Blessing 🧬 Compounder Blessing 🌀 Teleport Event: [Hidden Content] 🐉 Golden Invasion 👹 Boss Fights 🔤 Scramble Words 👾 Monsters Raid Happy Hour Last Man Standing: [Hidden Content] 💎 Special Items 💧 Water Fragment (Exchange for Water Scrolls) 😈 Nightmare Scraps (Exchange for Nightmare Scrolls) 🌠 MVP Buff (Atmosphere) +50% EXP & DROP for nearby players (1 Hour) 📈 50% EXP Buff (15 minutes) 💰 50% DROP Buff (15 minutes) 😎 Premium Emojis Coupon (30 Days – Press B for menu) 📦 Premium Stack Expansion (30 Days – Stack up to 250) 🧍 Premium Change of Body 🔁 Premium Change of Class Premium Feed Item Noob Set Mount Revival 🔧 Special Commands 🖼️ /graphics – Toggle old graphics on/off /exp - Toggle exp on/off 💉 /heal – Toggle FM or MK heal effects 🎞️ /fps – Toggle FPS counter /vip - Check whether VIP status is active 🤝 /join | /joinparty | /enter – Join someone’s party 🔐 /setpass | /setpassword | /password | /pass – Set a password for your party /setleader <name> - set party leader 🔤 /scramble – Answer the Scramble Words event 🛍️ /closeshop – Close the Ghost Shop /events - Check Today's Automated Events /block & /unlock - mute ingame character /add <stat> - Add stats using command /daily - command to check the daily events participation /joinlms - register the Last Man Standing Event /leavelms - cancel the LMS registration 🌐 Links Importantes: 📘 Facebook: facebook.com/wyd.international 💬 Discord: discord.gg/wydint 🌍 Site Oficial: [Hidden Content] Register: [Hidden Content]sign-up Download: [Hidden Content]downloads-list 🚀 Lançamos nosso novo Marketplace na web: 👉 [Hidden Content]market Character Search + Inventory view: [Hidden Content]character/N604 Char Rankings: [Hidden Content]rankings?type=celestial&page=1 Guild Rankings: [Hidden Content]guild-rankings Information: [Hidden Content]information Server Economy: [Hidden Content]item-economy Guides: [Hidden Content]guides Twitch Streamers Linking + Stream Rewards: [Hidden Content]dashboard?content=streamers Vote Reward (Free Donate Points every 12 hours): [Hidden Content]dashboard?content=vote-reward Guild Cargo: [Hidden Content]dashboard?content=guild-cargo Affiliate system: [Hidden Content]dashboard?content=affiliate Nos vemos em Armia, adventurer! 🛡️⚔️ Equipe WYD International
    1 ponto
  14. 📌 SOBRE O PROJETO A intenção é trazer um servidor divertido, competitivo e vivo, com mecânicas exclusivas e rates valorizadas. Por isso, optamos por um servidor médio, com diversas alterações e novidades pensadas para aumentar a competitividade e valorizar a progressão dentro do jogo. 🔥 CANAIS NO LANÇAMENTO Devido à grande quantidade de jogadores confirmados, no dia do lançamento teremos 2 canais disponíveis. Essa medida tem como objetivo evitar superlotação em Quest e melhorar a experiência inicial de todos. Observações O Canal 2 será utilizado exclusivamente para suprir a demanda do lançamento. ⚙️ MECÂNICAS EXCLUSIVAS Traremos diversas mecânicas exclusivas, como: Big Cubo, Castelo da Maldade (IMP), Novo Coliseu, E muitas outras novidades!, Nossa intenção é manter um servidor realmente ONLINE, com atividades acontecendo em dias e horários definidos. 🏆 SISTEMA DE UP Inicialmente, o UP do servidor será feito exclusivamente no Deserto. Para diversificar a experiência, também teremos mecânicas que concederão XP, como: Novo Coliseu, Arena, Inibidor, baseado no sistema do Nerthus, Futuramente, novas Quest e mecânicas serão adicionadas ao servidor. 👹 VALORIZAÇÃO DOS ITENS Os itens com adicional serão obtidos exclusivamente através do drop de mobs. Refizemos todo o sistema de adicionais de armas e sets para que esses itens sejam conquistados com raridade, tornando-os mais valiosos e fortalecendo o comércio dentro do jogo. 👹 ITENS BÁSICOS TAMBÉM TERÃO VALOR Testamos cuidadosamente o drop do jogo e realizamos ajustes para que itens básicos também tenham importância dentro do servidor. Entre eles: Joias, Sábios, Adamantitas, Brincos, E diversos outros itens A ideia é fazer com que cada conquista tenha valor dentro da economia do servidor. 🌐 WhatsApp: [Hidden Content] 🌐 Site: [Hidden Content] 🌐 Discord: [Hidden Content] Servidor Administrado por Baldin 🌐 Scan do .exe 0/71 🌐 Scan do Launcher 1/71 - Possível Falso Positivo
    1 ponto
  15. 🔰 O Oficial está chegando! Servidor Easy/PVP totalmente preparado! Faça já seu pré-registro 🎁 Recompensas do KIT NOVATO ✦ Fada Dourada – 10h ✦ Baú de Experiência – 3x ✦ Frango Assado – 3x ✦ Divina – 7 Dias ✦ Shire – 3 dias ✦ Moeda de Prata (100Mi) – 5x ✦ Traje Mont: Wooden Horse (5 dias) ✦ Traje Madeira (5 dias) 📌 Como resgatar: Entre em nosso Discord e solicite pelo WhatsApp com a administração. 💬 Discord: 👉 [Hidden Content] 📲 WhatsApp: 👉 [Hidden Content] 💬 WhatsApp – Adicione 10 amigos e receba CASH 💰 👉 Após adicionar, solicite ao administrador: [Hidden Content] 💸 Sistema de Afiliados e Líderes de Guild 🎁 Seja Líder de Guild/Afiliado e ganhe 10% de comissão 💰 Saque via PIX ou converta automaticamente sua comissão em CASH dentro do painel! ⚙️ Informações do Servidor Oficial ✦ Versão 7.84+ ✦ EXP/Drop: Easy/PVP (Dinâmico) ✦ Composição: 50% ⚙️Sistemas ✦ Sistema Reconnect ✦ Mercado Global Integrado ✦ RMT Liberado ✦ Ganhe dinheiro real liderando guilds ✦ Servidor próprio – não usamos base alugada ✦ Rankings: Level, Power, Kills ✦ Painel de Grupo Global ✦ Cliente moderno e otimizado ✦ Painéis: Honrar, RvR, Arena, Reciclador, Compositor ✦ Droplist com filtros e busca avançada 🌍 Canais Oficiais 🌐 Site: JOGUE AGORA! 📘 Facebook: [Hidden Content] 📸 Instagram: [Hidden Content] 💬 Discord: [Hidden Content] 💬 WhatsApp: [Hidden Content]
    1 ponto
  16. Sim, quem era você kkk.. teve uma galera que veio em casa na época fazer doação para o WYD.
    1 ponto
  17. Amigo vc é o ~Sopradela? que morava em Londrina-PR no JD. Ideal? Se for, neste último vídeo aí Postado eu era o Fabricio na guerra de Noatum, eu ia na sua casa comprar donate pessoalmente com dinheiro. No vídeo tem o -iLoveYouToo e o GodBye, tenho contato deles até hoje e jogamos um servidor juntos
    1 ponto
  18. PVP Comia solto nas guerras ... kkk era top de mais
    1 ponto
  19. Hello Guys Download link: [Hidden Content] __________________ Selling combo high quality with guarantee➖ Selling: EMAIL: PASS USER: PASS MAILLIST AOL, YAHOO, HOTMAIL, OUTLOOK, FRANCE, UK, GERMANY, USA, ESPAIN, ITALY, CANADA, AUSTRALIA… To buy msg me TELEGRAM: @KOCsupport
    1 ponto
  20. Usei bastante esse bot lá em 2023, e como me solicitaram resolvi postar pra vocês usarem. Não vou me dar o trabalho de subir em algum repo, mas tá ai. Esse bot simula o cliente do wyd via web (sem ambiente 3d), pela web dá pra fazer várias coisas: - Logar em uma conta - Ligar macros - Deletar itens - Equipar Itens - Filtrar drop por ai vai. Sei que usa sveltekit(sem runas), .NET, ravendb e Docker in Docker para img do ovpn para usar VPN e burlar limite de IP (acho que é opcional sei lá). Não lembro pra qual servidor estava setado, se virem ai. Suponho que só de subir docker-compose funcione, desde que corrija a keytable e altere algum pacote ou outro pra versão correta do teu servidor. Essa base rodou muito tempo também pra inflar numero de jogador ativo em servidor, já que a movimentação dos bots acaba passando batido pelos players, e acabam achando que são players de verdade [Hidden Content]
    1 ponto
  21. 🎯 SOBRE O SERVIDOR Pacote completo da versão 7.59, ideal para quem busca um projeto estável, moderno e totalmente funcional. Sistemas atualizados, desempenho otimizado e inúmeras funções prontas para uso. 📌 SISTEMAS PRINCIPAIS 🔄 Sistema RECONNECT 📝 Sistema de Missão 👹 Sistema de Boss 👤 Info Player 🎟️ Passe de Batalha 💧 Macro para Pergaminhos de Água 🐴 Painel de Skins de Montarias 🐣 Sistema de Novato (Painel de Introdução) ⚒️ Composição fora da MixList 🎣 Sistema de Pescaria 🗡️ Evento de Hit 🌍 Evento Teleporte (igual global) 🛒 Loja Donate 🟦 Lojas de Moedas Especiais ⚔️ Duelos com Apostas 🛡️ Anti-Bot LAN 🐾 Pets Novos + Suporte para Adicionar Mais 👗 TODOS os trajes do Global ⚔️ SISTEMAS DE GUERRA 🔥 GUERRA DE TORRE 1 🔥 GUERRA DE TORRE 2 🔥GUERRA DE GUILD 🔥GUILD ZONE WAR 🔥RvR - REINOS VS REINOS 🔥BATALHA REAL / ARENA REAL 🔥COLISEU 🛠️ SISTEMAS DE ADMINISTRAÇÃO 🛡️ SEGURANÇA E PROTEÇÃO 🛡️ Anti-Cheat Avançado 🔐 Proteção de Arquivos do Cliente ❌ Auto-Fechamento ao Detectar Hack 🔨 Banimentos 📞 INTERESSADOS CHAMAR NO DISCORD → noiteadentro Servidor foi comprado a algum tempo porem nunca foi aberto por mim, tem servidores online com essa mesma base. Tem muito mais sistemas a base que não esta escrito aqui! Sistema totalmente fora do mysql!
    1 ponto
  22. Fala pessoal blz? atualizei meu conversor para extrair arquivos do Loki Season novo e vou compartilhar com vocês os conversores de ItemList e SkillData. Trabalha com todas as versões, do 7.00 a Loki Season atual, Structs de 140B 168B e a nova de 172B, ainda tem alguns EFs que nao consegui extrair, vai precisar de um pouco mais de analise, mas não interfere no funcionamento das ferramentas. Não lembro o size das structs das versões 6.XX se for os mesmos 140B vai funcionar tbm. Se for menor ai preciso das structs pra implementar o suporte. O app já calcula o checksum e pode ser recompilado no código para não ter erros de loading isso para quem usa o sistema sem bypass no checksum. Sem segredo, podem abrir arrastando o arquivo ou selecionando manualmente, o arquivo convertido vai pra mesma pasta do arquivo base. Um backup é salvo para qualquer problema. No caso da SkillData, se você tiver o ItemList na mesma pasta ele já insere o nome das skills no SkilData.csv basicamente é isso. segue alguns prints Segue o Download GuiCan Não coloquei scan, mas se alguém tiver duvida pode analisar o arquivo por si mesmo.
    1 ponto
  23. Olá, pessoal! Estou compartilhando um projeto de ClientPatch v757 de 2019, da época em que comecei a estudar a UI do game com o Wed. Então já aviso: não julguem o código kkk. O executável e o arquivo .c do cliente estão no repositório. [Hidden Content]
    1 ponto
  24. /* Estilos CSS adaptados para a cor exata do fórum (#272626) */ .gh-topic-container { font-family: 'Segoe UI', 'Roboto', Helvetica, Arial, sans-serif; background-color: #272626; color: #eeeeee; padding: 30px; border-radius: 10px; margin: 20px auto; box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3); border: 1px solid #363535; } /* ---- Estilos do Banner ---- */ .gh-banner-wrapper { width: 100%; margin-bottom: 25px; border-radius: 12px; overflow: hidden; box-shadow: 0 10px 25px rgba(0, 0, 0, 0.3); border-bottom: 3px solid #8b5cf6; } .gh-banner-img { width: 100%; height: auto; display: block; } /* ---- Badge de Atualizado (Gatilho de Novidade) ---- */ .gh-update-badge { background: #1e1b4b; border: 1px solid #8b8dff; color: #a4a6ff; display: inline-block; padding: 6px 16px; border-radius: 50px; font-size: 0.85rem; font-weight: 800; text-transform: uppercase; letter-spacing: 1px; margin-bottom: 15px; } /* ---- Grade Lado a Lado (Contas Free) ---- */ .gh-streaming-grid { display: flex; justify-content: space-between; gap: 15px; margin: 25px 0 35px 0; } .gh-streaming-item { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: space-between; background: rgb(32 32 32); padding: 20px 10px; border-radius: 8px; border: 1px solid rgba(255, 255, 255, 0.05); position: relative; } .gh-status-indicator { font-size: 0.75rem; color: #22c55e; font-weight: bold; margin-bottom: 8px; text-transform: uppercase; } /* ---- Tipografia ---- */ .gh-main-title { font-size: 2.3rem; font-weight: 900; text-transform: uppercase; margin-bottom: 5px; text-align: center; letter-spacing: -1px; color: #ffffff; } .gh-grid-title { font-size: 1.3rem; font-weight: 900; text-transform: uppercase; margin-bottom: 15px; text-align: center; color: #ffffff; } .gh-highlight-purple { color: #a855f7; text-shadow: 0 0 10px rgba(168, 85, 247, 0.4); } /* ---- Caixas de Comparação (Gatilho de Valor) ---- */ .gh-feature-box { background: #1e2920; border: 1px solid rgba(34, 197, 94, 0.2); border-left: 5px solid #22c55e; padding: 25px; border-radius: 8px; margin-bottom: 20px; } .gh-feature-title { font-size: 1.4rem; color: #4ade80; font-weight: bold; margin-bottom: 12px; display: flex; align-items: center; } .gh-feature-title::before { content: '👑 '; } .gh-virustotal-box { background: #2d1919; border: 1px solid rgba(239, 68, 68, 0.2); border-left: 5px solid #ef4444; padding: 25px; margin: 20px 0; border-radius: 8px; } .gh-virustotal-title { font-size: 1.4rem; color: #f87171; font-weight: bold; margin-bottom: 12px; display: flex; align-items: center; } .gh-virustotal-title::before { content: '⚠️ '; } .gh-text-content { font-size: 1.05rem; line-height: 1.6; color: #cccccc; } /* ---- Botões ---- */ .gh-button-container { text-align: center; width: 100%; } /* Botão das Contas de Teste/Free */ .gh-cta-button { background: rgba(255, 255, 255, 0.08); color: #bbbbbb !important; padding: 12px 15px; text-decoration: none; font-size: 0.85rem; font-weight: 700; border-radius: 6px; transition: all 0.2s ease; display: inline-block; text-transform: uppercase; border: 1px solid rgba(255, 255, 255, 0.1); width: 95%; box-sizing: border-box; } .gh-cta-button:hover { background: #8b5cf6; color: white !important; border-color: #8b5cf6; box-shadow: 0 4px 12px rgba(139, 92, 246, 0.3); } /* Botão Principal de Vendas (Gatilho de Ação Irrecusável) */ .gh-cta-button-large { background: linear-gradient(to right, #8b5cf6, #6366f1); color: white !important; padding: 18px 55px; text-decoration: none; font-size: 1.25rem; font-weight: 800; border-radius: 8px; transition: all 0.2s ease; display: inline-block; text-transform: uppercase; border: none; cursor: pointer; box-shadow: 0 6px 25px rgba(139, 92, 246, 0.5); animation: gh-pulse 2s infinite; } .gh-cta-button-large:hover { transform: translateY(-2px); box-shadow: 0 10px 30px rgba(139, 92, 246, 0.7); filter: brightness(1.1); } /* Animação sutil para atrair os olhos para a compra */ @keyframes gh-pulse { 0% { box-shadow: 0 0 0 0 rgba(139, 92, 246, 0.5); } 70% { box-shadow: 0 0 0 15px rgba(139, 92, 246, 0); } 100% { box-shadow: 0 0 0 0 rgba(139, 92, 246, 0); } } /* Responsividade */ @media (max-width: 600px) { .gh-streaming-grid { flex-direction: column; gap: 15px; } .gh-cta-button-large { width: 100%; padding: 16px 20px; font-size: 1.1rem; } } ⚡ CONTAS ATUALIZADAS - 06/06/2026 Contas Gratuitas Liberadas Escolha uma das opções abaixo para testar o serviço gratuitamente: [Hidden Content] Cansado de quedas e telas cheias? O método gratuito é excelente para testar, mas as contas são públicas e mudam constantemente. Se você busca estabilidade total, suporte ativo e um perfil exclusivo só seu, veja a diferença abaixo: Vantagens Acesso Privada Acesso completo e ininterrupto por 30 dias com perfil e tela 100% privada. Ninguém mexe no seu histórico, ninguém altera sua senha. Entrega automática e instantânea via PIX com garantia de suporte completo via chat. Desvantagens Acesso Gratuito/Compartilhado Contas utilizadas por dezenas de pessoas simultaneamente. Limites de telas excedidos frequentemente, histórico completamente bagunçado e senhas alteradas a qualquer momento, tornando o acesso totalmente instável e temporário. Mais de 80% dos membros do fórum começaram testando as contas gratuitas e migraram para o plano privado. Garanta sua estabilidade hoje mesmo! Quero Minha Conta Privada Agora
    1 ponto
  25. ⚜️ WYD ORIGINAL ⚜️ JOGABILIDADE: SEMI PVP VERSÃO: 7.89 EXP: Easy DROP: Easy / Médio EVOLUÇÃO LIBERADA: Sub Celestial 200/200 CONEXÃO: 24/7 RATES COMPOSITORES: 50% LANÇAMENTO: 01/05 Às 19h ⚔️ Guerras e Eventos 👑 Arena Real - 🕒 10h, 12h, 15h, 17h, 19h, 21h, 23h. 📍 Localização: Porta PVP Armia 👑 Altar Real - 🕒 10h, 13h, 18h e 00h 📍 Localização: Altar de Noatum 👑 Boss Sagrado - 🕒 10h, 14h, 21h e 00h 📍 Localização: Saída de Noatum 👑 Boss Verid - 🕒 1h em 1h. 📍 Localização: Saída do Gelo 👑 Guerra de Torres - 🕒 21h. 📍 Localização: Erion 👑 Guerra entre Reinos (RvR) - 🕒 10h, 20h, 00h. 📍 Localização: Teleport Noatun 👑 Guerra de Cidades - Domingo 🕒 21h 👑 Guerra de Noatun - Domingo 🕒 22h 👑 Kefra - Quarta 🕒 23h 💡 Sistemas Exclusivos Droplist com filtro de drop Arena Real Sistema Guerra entre Reinos Player Info Ranking atualizado Pergaminho Água com salas individuais (indisponível no momento) Sistema de Balanceamento PVP e PVE Auto lembrança de login/senha Baú de carga com 4 slots Resoluções Widescreen sem distorções Loja desvinculada: Progrida livremente Loja de Donate: Acesse de qualquer lugar Novidades de NPCs: recicladores e compositores Novos slots: colar, cinto, traje montaria Sistema Revigorante (proteção de montaria) Fada Dourada: agrupador de itens, filtro e macro de água Interface em Full HD (Wide) Timer Green nas quests e Lan Houses Invocação fora do grupo Auto Grupo NPCs completos: Evoluções, Armas, Sets, Extrações e Montarias Itens Celestiais Montarias: SvaldFire, Sleipnir, Grifo Sangrento e Tigre de Fogo Novas Composições UP Pesadelo Free (Mortal / Arch) Fast UP Deserto, Água e Pesadelo (Celestial / SubCelestial) /novato /armia /azran /erion /gelo /pilar /donate /sogpoints /king /criar /expulsar /guildfame /guildindex 🌐 Nossos Links • Site: [Hidden Content] • Discord: [Hidden Content] • WhatsApp: [Hidden Content] • Facebook: [Hidden Content] Download Client: LINK SCAN: EXE: LINK LAUNCHER: LINK
    1 ponto
  26. [Hidden Content]
    1 ponto
  27. Jogo: reidocrime.com Função Atacar cada jogador da sua lista personalizada Recuperar HP com a carta Recuperar Estamina no Bar Deixar o risco passar do limite e subornar o guarda com o valor máximo Recuperar a toxicação com a carta Tutorial: Precisa baixar o chromedriver certo pra sua versão do chrome, só ir em ajuda e sobre pra saber a versão Precisa baixar o Python, só dar um google Precisa baixar o Selenium, depois de baixar o python voce da um pip install selenium Então voce roda meu código, vai abrir uma janela do jogo, terá 60 segundos para logar na sua conta, ir em encontrar uma batalha e digitar as preferencias minimo 5 niveis abaixo do seu e maximo 99, e o maximo de respeito o mesmo que o seu. Só esperar e o cheat vai rodar Mude no código o link do bar que voce quer que ele vá [Hidden Content] Também tenho um trainer com função de prender todo mundo, de atacar todos os agentes e algumas outras coisas Discord: Onethinker
    1 ponto
  28. E ai pessoal, com vai? Então, peguei esse projeto postado aqui e dei uma atualizada, logo de cara digo que não sou um exímio programador em C#, mas sei o básico pois já mexi com XNA uns anos atrás. Usei o gepeto (vulgo chatGPT) para auxiliar no projeto, pois é um dos propósitos dessa ferramenta. Entao bora lá pro projeto? :) Peço que por favor leiam o post todo antes de postar alguma duvida, no finalzinho farei um mini faq com possíveis duvidas \o/ ⟣──────〈 CRÉDITOS 〉──────⟢ Ja quero começar com os créditos já que o projeto não é meu. Peguei ele nesse topico postado pelo @ MUITOLOCOK99 e la ele diz ser do skewed (Eric) Tentei por o @ dele mas tem alguns skewed, entao deixarei assim (se alguem souber o link do perfil dele aqui pode me mandar por gentileza. Edit.: me informaram que o arroba do Eric é esse @ skewed2 Topico onde peguei o projeto ⟣──────〈 O QUE É O PROJETO? 〉──────⟢ Ele carrega seus arquivos .dat e .trn do WYD dentro do Unity3D para fazer modificações como adicionar objetos ja existentes, mudar de posição, mudar texturas etc... Toda a logica dele está no script feito em C# (NewBehaviourScript1.cs), ele carrega os arquivos .dat e .trn localizados na raiz do projeto Unity, então, não adianta por varios arquivos la dentro, somente 2 de cada vez (1 de cada extensão), edite, salve e veja como ficou no WYD. Um resumo do scritp C#: Usando declarações: Importa namespaces necessários para o script. Declaração de classe: Declara a classe NewBehaviourScript1, que herda de MonoBehaviour. Variáveis estáticas públicas: Define variáveis estáticas públicas para armazenar informações sobre o nome do arquivo, estrutura do terreno (TrnStruct.Tile), nome do arquivo de terreno e listas de objetos e texturas no jogo. Método Start(): Chamado uma vez no início. Inicializa as variáveis e lê arquivos necessários. Região do arquivo de objeto: Define uma região para leitura do arquivo de objeto. Leitura do arquivo MeshList: Lê o arquivo MeshList.txt e preenche a lista de objetos (MeshList) com informações sobre cada objeto. Leitura do arquivo .dat: Lê o primeiro arquivo .dat encontrado no diretório atual e cria objetos com base nas informações lidas. Região do terreno: Define uma região para manipulação do terreno. Leitura do arquivo de textura de terreno: Lê o arquivo EnvTextureList3.txt e preenche a lista de texturas (TextureList) com informações sobre cada textura. Leitura do arquivo .trn: Lê o arquivo .trn encontrado no diretório atual e gera o terreno do jogo com base nas informações lidas. Método Update(): Chamado a cada quadro. Lida com a lógica de salvar arquivos quando as teclas F5 ou F6 são pressionadas. Salvando .dat: Ao pressionar F5, o script tenta salvar as informações do jogo em um novo arquivo .dat. Salvando .trn: Ao pressionar F6, o script tenta salvar as informações do terreno em um novo arquivo .trn. Esse script realiza a leitura de arquivos de dados, criação de objetos e terrenos no jogo e permite que o jogador salve as alterações feitas no mundo do jogo. ⟣──────〈 ABRINDO O PROJETO 〉──────⟢ A versão usada do Unity3D é a 2019.3.7f1 (no final da postagem tem o link do torrent dele, pois to usando uma versao full crackeado pois quero fazer umas outras coisas que a versão free nao me deixa srrsrs) Abra o HUB e clique em ADD Nota: Uma vez ja aberto, so abrir o hub e clicar em cima do Project Name Seleciona e a pasta Ele ira carregar os arquivos e pronto Os seus arquivos .dat e .trn devem ficar nessa pasta do seu projeto Nota: Ele SEMPRE irá carregar o PRIMEIRO .dat e .trn que encontrar na pasta, então por exemplo, ao salvar ele irá gerar um "new_Field1616.dat", se voce nao apagar ou mover o "Field1616.dat", se clicar no play no Unity ele irá carregar novamente o "Field1616.dat" sabe pq ? A letra "F" vem primeiro que a letra "N". ⟣──────〈 EDITANDO SEU MAPA .DAT 〉──────⟢ Fiz um video para melhor ilustrar, aproveitem Recomendação: FAÇAM alterações pequenas e aos poucos, e SALVEM, pra caso dê erro, nao perder todo o progresso, então, façam o que desejam fazer aos poucos, salva, dando certo, faça uma copia e modifiquem ela, pra, caso de errado, nao perder aquele .dat ⟣──────〈 EDITANDO SEU TERRENO .TRN 〉──────⟢ Mesma coisa para o .trn Mas vejam o video todo, pois nessa parte tem uma peculiaridade sobre o "tile" e o "mtile" ⟣──────〈 BONUS 〉──────⟢ Como andar pelo mapa :) ⟣──────〈 FAQ 〉──────⟢ P: Esse projeto e seu? R: Nao, com dito al em cima, so peguei ele e deu uma atualizada para todos usarem P: Deu erro no meu, o que faço? R: Assim nao da pra saber que erro é, sem print ou qualquer informação, então, antes de falar q deu erro, leia todo o tutorial e veja o que fez de diferente, e se mesmo assim deu erro, seja mais claro dizendo qual e aonde e com print pra facilitar P: Consigo baixar objetos 3d e inserir no mapa? R: Nao, no estado atual do projeto nao, a menos que vc saiba como os obj funciona e tals para ser inserido, que pretendo com o tempo aprender (criar novos objetos) P: Consigo inserir NOVAS texturas? R: Ate dá, mas nao pude testar pois não tenho aquelas ferramentas de texturas pro WYD, pra abrir no photoshop, tratar e tals P: Consigo usar isso numa outra versão do Unity3D? R: Nao sei, eu usei a citado acima (download abaixo), tente ai e me diga depois >.< ⟣──────〈 CONSIDERAÇÕES FINAIS 〉──────⟢ Dito isso, se quaiqer problemas der, e eu nao souber, vou dizer, pois como dito acima, nao sei tudo, então podemos aprender todos nós juntos, mas com esse basico ai já da pra fazer muita coisa pro seu WYD. Obrigado! ⟣──────〈 DOWNLOAD 〉──────⟢ [Hidden Content]
    1 ponto
  29. Só funcionará com servidores que não tem proteção para o Cheat Engine COMENTE O POST E CLIQUE NO BOTÃO DE LIKE PARA LIBERAR OS CHEATS Primeiramente faça o download do Cheat Engine: [Hidden Content] One Hit [Hidden Content] HP Hack [Hidden Content] MP Hack [Hidden Content] Speed Hack [Hidden Content] Stage Hack [Hidden Content] Créditos: ---Tinho---
    1 ponto
  30. Fala pessoal blz. Bom comentei em outro tópico que estava fazendo um conversor de arquivos do WYD. Estou fazendo para o meu projeto, porem esta ficando bem interessante e vou compartilhar com vocês para terem uma ideia do que a ferramenta será capaz. Usa DirectX 11. Conseguimos trabalhar com todos os arquivos do cliente. .MSH .MSA .WYS .WYT .BON .ANI .TRN e etc. Temos o modo de pré-visualização conseguimos ver além da meshs as animações e etc., Se temos um .MSH que possui um .BON e um .ANI associados quando carregamos o .MSH ele puxa automaticamente todos os outros arquivos correspondentes. Logo podemos dar play e ver a animação na preview. Podemos avançar ou retroceder frame a frame e etc. Todos os arquivos carregados ficam na aba da esquerda vc pode ver um a um clicando neles. O mesmo acontece quando carregamos uma .TRN todos os arquivos relacionados são carregados junto, logo conseguimos ver um a um selecionando na esquerda. A aba a direita do preview é a aba de propriedades e fornece informações importantes sobre os arquivos carregados. Conseguimos trabalhar com as meshs de qualquer cliente, na versão que vou postar para vocês não trabalha com as meshs do MYTH. Ainda temos alguma limitações com meshs novas do Global, pois não mapeei todas ainda, então algumas inda ficam transparentes, ou na visualização do .TRN ficam pretas. Na aba Conversores de dados conseguimos trabalhar com alguns arquivos legais como EnvTextureList ainda não trabalhamos com a Env do Global, mas esta em desenvolvimento. Temos Conversores de ItemList e SkillData aqui conseguimos trabalhar com arquivos da TMProject e do Global tanto leitura quando conversão BIN <--> CSV. Temos um Editor de ServerList.bin e trabalhamos com arquivos da TMProject e do Global basta carregar editar e salvar. Temos um Conversor de AttributeMap DAT <--> CSV logo converte para .CSV edita e converte novamente para .DAT A versão completa que tem os conversores de meshs todos habilitados, nessa versão da pra ver exatamente quais os arquivos suportados. Ainda temos um erros de encode nas mensagens do app e estou corrigindo aos poucos, pois são só estéticos. seguem algumas prints segue o scan - teve um apontamento, porem falso positivo, o app não tem assinatura digital então acusa... podem usar tranquilamente que não tem nada malicioso. VirusTotal Download GuiCan Acho que é isso, caso encontrem algum bug que não citei favor reportarem. A sim estava me esquecendo, no roda pé do app mostra as teclas de atalho.
    1 ponto
  31. Hoje vim compartilhar uma base w2pp 7.59 que é um clone do rogue Não tenho créditos em nada só estou repassando... Scam Virus Total: Scam ZIP [Hidden Content]
    1 ponto
  32. 🎥 TUTORIAIS — WYD INFINITY Uma playlist completa para quem não participou do beta e quer entrar no lançamento oficial sem se perder! Me dediquei ao máximo para explicar as mecânicas do servidor, tudo certinho e do zero. Peço que não reparem muito, não sou acostumado a fazer vídeos, mas fiz com muito carinho em prol da nossa comunidade! 🙏 Quero que todo mundo entre preparado e aproveite o melhor que o WYD Infinity tem a oferecer! 📺 ACESSE A PLAYLIST AQUI: TUTORIAIS E INFORMAÇÕES - WYD INFINITY - PLAYLIST Sou muito grato a cada um de vocês que está aqui, acreditando e participando desse projeto. Isso significa muito pra mim! ❤️ 📅 Lançamento Oficial: 01/05/2026 às 13h "O farm te prepara. O PVP te define." ⚔️ ∞ G2K
    1 ponto
  33. WYD FULL PVP 7662 E ai pessoal, eu tava meio a toa aqui e lembrei dessa release/source e resolvi dar uma editadinha pra ficar full PVP. Ela ja estava bem editava com os NPCs com os itens e tudo mais, mas faltava uns outros itens. O Cliente usado é o WReborn Updates: Destravar cele 40 = 100% de sucesso Destravar cele 90 = 100% de sucesso Poeira de fada = 100% de sucesso Comandos: /armia = Teleporte pra cidade de Armia /erion = Teleporte pra cidade de Erion /azran = Teleporte pra cidade de Azran /gelo = Teleporte pra cidade do Gelo /kefra = Teleporte pra cidade de Kefra /red = Teleporte pro Rei Red (Vermelho) /blue = Teleporte pro Rei Blue (Azul) /arch = Teleporte pra destravar levels 355/370 do Arch /destravar40 = Destrava o level 40 do celestial /combate = Teleporte pra enfrentar Mobs poderosos Na area de combate coloquei o Kefra e outros mobs la editados pra testar a força do seu personagem criado (não está 100%, mas da pra brincar ) DOWNLOAD [Hidden Content] DBSrv.exe [Hidden Content] TMSrv.exe [Hidden Content] Wyd.exe [Hidden Content] Creditos: WRebron por conta do cliente, a source/release eu acho que tbm sao eles que editaram a parte principal. Quem souber que foi o primeiro dono dessa release/source é so falar que edito aqui. vlw!
    1 ponto
  34. 1 ponto
  35. ATENÇÃO! O CHEAT FICARÁ FREE ATÉ 01/05/2026,APROVEITE! Fala seus arr0mbados, trago para a comunidade um WALLHACK INDETECTÁVEL, já faz ANOS que utilizo e nunca desatualizou, joguem com responsabilidade! Sem enrolação, vamos direto ao ponto! 1 - EXECUTE O SEU POINT BLANK E LOGUE NA SUA CONTA; 2 - ATIVE O MODO JANELA (PARA O MELHOR FUNCIONAMENTO DO CHEAT, EVITANDO TRAVAMENTOS); 3 - EXECUTE O ARQUIVO "WALL PREMIUM - LOADER PB" COMO ADMINISTRADOR E FECHE A JANELA DO NAVEGADOR QUE ABRIRÁ; 4 - VOLTE PARA O POINT BLANK, O WALLHACK JÁ ESTARÁ ATIVO (OBS: NÃO EXISTE A OPÇÃO PARA ATIVAR/DESATIVAR). WALLHACK PREMIUM VITALÍCIO APENAS R$25,00 >> CLIQUE AQUI PARA COMPRAR! <<
    1 ponto
  36. 📅 Beta Liberado: 24/04/2026 às 18h 🌐Redes Sociais 🌍 Site: [Hidden Content] 💬 Discord: [Hidden Content] 📸 Instagram: [Hidden Content] 📱 WhatsApp: [Hidden Content]
    1 ponto
  37. Implementado o suporte para o sistema de paineis do WYD Global.
    1 ponto
  38. assim que der uma folga faço um vídeo, então o DX11 abre varias possibilidades, tem bastante coisa ainda pra polir, porem como estou trabalhando sozinho e levando em paralelo o wydconverter e umas coisas a mais, não evolui tão rápido como eu gostaria hehe. Estou aprendendo ainda a trabalhar com o DX11 preciso fixar alguns conceitos, a parte mais chata é acertar os shaders. Um parte do novo sistema de Crypto Aqui uma parte do Shader para meshs Skinned
    1 ponto
  39. tem algum editor de validindex ou edita pelo hexxeditor? ótimo tutorial cara vou estudar aqui vlw tem o link desse wyd convert?
    1 ponto
  40. no WYDConverter fica melhor a visualização
    1 ponto
  41. no WYDConverter eu fiz uma área de tutorial e um deles é a criação de novos itens/mobs, veja se te ajuda. copia e crie um .md pode ser no próprio VS que vai ficar bem mais legível. # Guia: Criar Mobs, Objetos e Meshes Novos para o WYD > Passo a passo completo para criar conteudo 3D novo e integrar no cliente WYD. > Cobre mobs (MSH skinned), objetos estaticos (MSA), modelagem, exportacao, > conversao e registro nos arquivos do cliente. --- ## 1. Sistema de Arquivos do WYD ### 1.1 Arquivos 3D por mob | Arquivo | Exemplo | Conteudo | Formato | |---|---|---|---| | `.msh` | `nm010101.msh` | Mesh skinned (vertices, indices, bones, skinning) | Binario 32B header | | `.bon` | `nm01.bon` | Hierarquia do esqueleto (pares parentID/boneID) | Binario 8B por bone | | `.ani` | `nm010101.ani` | Animacao (matrizes 4x4 locais por bone por frame) | Binario 8B header + matrices | | `.wys` | `nm010101.wys` | Textura DXT1 comprimida | Binario WYS | | `.wyt` | `nm010101.wyt` | Textura BGRA raw (formato antigo) | Binario WYT | ### 1.2 Convencao de nomes ``` {prefixo}{PPVV}.ext prefixo = skeleton type (4 chars): nm01, ch01, ch02, tr09, hs01... PP = parte/slot (2 digitos): 01=corpo, 02=helm, 03=armor... VV = visual/variante (2 digitos): 01=base, 02=alt... ``` **Regra critica:** os primeiros 4 caracteres definem o skeleton. Todos os arquivos com mesmo prefixo compartilham o mesmo `.bon` e os mesmos `.ani`. Exemplos: - `nm010101.msh`, `nm010102.msh` → usam `nm01.bon` - `ch010597.msh` → usa `ch01.bon`, slot 05 (luva), visual 97 ### 1.3 Arquivos de registro do cliente Estes arquivos precisam ser editados para o cliente reconhecer mobs novos. | Arquivo | Path | Funcao | Editar quando | |---|---|---|---| | `BoneAni4.txt` | `Mesh\BoneAni4.txt` | Registra skeletons: index, num ANIs, num partes, prefixo | Skeleton NOVO | | `ValidIndex.bin` | `Mesh\ValidIndex.bin` | Mapeia quais ANIs existem para cada skeleton | Skeleton NOVO | | `MeshTextureList.bin` | `Mesh\MeshTextureList.bin` | Tabela de texturas de meshes (nome → index) | Textura NOVA | | `MeshList.txt` | `Mesh\MeshList.txt` | Registra objetos estaticos MSA: index → path | MSA NOVO | | `AniSound4.txt` | `AniSound4.txt` | Tabela de animacoes/velocidades/sons por skeleton type | Skeleton NOVO | | `ItemList.bin` | Server-side | Define nClass do mob → mapeia para skeleton via `BASE_DefineSkinMeshType` | Mob NOVO | | `Basedef.cpp` | Compilado no .exe | `BASE_DefineSkinMeshType(nClass)` → nBoneAniIndex (hardcoded switch) | Skeleton NOVO (recompilacao) | **Para mob com skeleton EXISTENTE:** nenhum destes arquivos precisa ser editado. Basta colocar o MSH + WYS na pasta `Mesh\` com o prefixo correto. **Para mob com skeleton NOVO:** todos os arquivos acima precisam ser editados. --- ## 2. Formatos Binarios Detalhados ### 2.1 MSH (Mesh Skinned) ``` Header (32 bytes): [00] DWORD dwParentID — ID do bone pai (0xFFFFFFFF = root) [04] DWORD dwMeshID — ID do bone deste mesh [08] DWORD dwFVF — Flexible Vertex Format (D3D9) [0C] DWORD sizeVertex — Bytes por vertice [10] DWORD numFaceInfluence — Numero de face influences [14] DWORD numPalette — Numero de bones na palette [18] DWORD vertexCount — Numero de vertices [1C] DWORD faceCount — Numero de INDICES (nao faces!) Bones (se numPalette > 0): XMFLOAT4X4[numPalette] — Offset matrices (64 bytes cada) DWORD[numPalette] — Bone IDs (4 bytes cada) Vertices: Layout depende do FVF. Tipico para skinned: Position XYZ (12B) + BlendWeights (4-12B) + PackedBoneIndices (4B) + Normal (12B) + UV (8B) Indices: uint16[faceCount] — Index buffer 16-bit ``` ### 2.2 BON (Bone Hierarchy) ``` Arquivo = array de pares (8 bytes cada): [parentID: DWORD] [boneID: DWORD] parentID = 0xFFFFFFFF ou 0 → root (sem pai) parentID = N → bone filho de bone N Tamanho total = numBones * 8 bytes ``` Exemplo para esqueleto com 5 bones: ``` [0xFFFFFFFF] [0] — Bone 0 e root [0] [1] — Bone 1 filho de Bone 0 [0] [2] — Bone 2 filho de Bone 0 [1] [3] — Bone 3 filho de Bone 1 [1] [4] — Bone 4 filho de Bone 1 ``` ### 2.3 ANI (Animation) ``` Header (8 bytes): [00] DWORD numTicks — Numero de keyframes (frames de animacao) [04] DWORD numBones — Numero de bones no skeleton Dados: Para cada tick (0..numTicks-1): XMFLOAT4X4[numBones] — Matriz LOCAL de cada bone neste frame (64 bytes cada) Tamanho total = 8 + (numTicks * numBones * 64) bytes ``` As matrizes sao LOCAL (relativas ao pai na hierarquia BON). O cliente propaga pela hierarquia para obter as combined (world) matrices: `combined[bone] = local[bone] * combined[parent]` ### 2.4 BoneAni4.txt ``` Formato texto, uma linha por skeleton: {index} {numAniTypes} {numParts} {szAniName} Campos: index — Indice no array m_BoneAnimationList (0-99) numAniTypes — Quantos ANIs diferentes este skeleton tem numParts — Quantos slots de equipamento (1 para mobs simples, 7 para players) szAniName — Prefixo completo com path (ex: mesh\nm01, mesh\ch01) ``` Exemplo: ``` 0 38 7 mesh\ch01 <- personagem masculino, 38 animacoes, 7 partes 1 37 7 mesh\ch02 <- personagem feminino 2 1 1 mesh\hs01 <- cavalo, 1 animacao, 1 parte 3 2 1 mesh\nm01 <- mob tipo 1, 2 animacoes, 1 parte ... ``` ### 2.5 ValidIndex.bin ``` Array binario fixo: stValidAniList[100][186] stValidAniList = struct { int nI; } — 4 bytes Tamanho total = 100 * 186 * 4 = 74.400 bytes Indexacao: m_stValidAniList[skeletonIndex][aniSlot].nI = aniFileIndex O cliente usa nI+1 para montar o nome do ANI: sprintf(szTemp, "%s%04d.ani", szAniName, m_stValidAniList[nCount][nFI].nI + 1) Exemplo: m_stValidAniList[3][0].nI = 0 → mesh\nm010001.ani (idle) m_stValidAniList[3][1].nI = 1 → mesh\nm010002.ani (walk) m_stValidAniList[3][2].nI = 100 → mesh\nm010101.ani (arma 01, idle) ``` Codificacao dos 4 digitos do ANI: ``` XXYY onde: XX = tipo de arma (weapon): nArrayIndex / 100 - 1 YY = tipo de acao (motion): nArrayIndex % 100 - 1 Exemplos (nI+1 → arquivo): 0001 → arma 0, acao 0 (idle) 0002 → arma 0, acao 1 (walk) 0003 → arma 0, acao 2 (run) 0004 → arma 0, acao 3 (attack1) 0101 → arma 1, acao 0 (idle com espada) ``` ### 2.6 MeshList.txt ``` Formato texto, uma linha por objeto estatico: {index} {path_relativo} Campos: index — Indice no array m_stCommonMesh (0-3047) path_relativo — Caminho do MSA relativo ao diretorio do cliente ``` Exemplo: ``` 0 mesh\cas001.msa 1 mesh\cas002.msa 50 mesh\tree01.msa 100 mesh\sword01.msa ``` O engine chama `GetCommonMesh(dwObjType)` onde dwObjType = index. Mapas (.trn) referenciam objetos pelo dwObjType. ### 2.7 MeshTextureList.bin ``` Array binario fixo de stTextureListInfo (264 bytes cada): char szFileName[255] — path relativo da textura (ex: "mesh\nm010101.wys") char cAlpha — tipo de alpha: 'N'=none, 'A'=alpha, 'a'=1bit, 'C'=compressed DWORD dwLastUsedTime — runtime (ignorar, preencher com 0) DWORD dwShowTime — runtime (ignorar, preencher com 0) Tamanho por versao: TMProject classico: 2048 slots = 540.672 bytes WYD Global: 6096 slots = 1.609.344 bytes ``` O cliente busca textura por nome (`GetModelTextureIndex`): percorre TODOS os slots comparando `szFileName` com o nome calculado pelo `TMSkinMesh`. Se nao encontra, o mesh **NAO CARREGA** (retorna erro). **Para adicionar textura nova:** 1. Encontrar um slot vazio (szFileName[0] == '\0') 2. Preencher szFileName com path relativo (ex: `mesh\xx010101.wys`) 3. Preencher cAlpha com 'N' (sem alpha) ou 'A' (com alpha) 4. dwLastUsedTime e dwShowTime = 0 ### 2.8 AniSound4.txt ``` Formato texto. Uma secao por skeleton type (MAX_ANI_TYPE = 60 skeletons). Cada secao tem 56 linhas (MAX_ANI_MOTION), uma por tipo de acao. Para skeleton types 0 e 1 (players): {nomeAcao} {ani0} {speed0} {ani1} {speed1} {ani2} {speed2} {ani3} {speed3} {sound} Para skeleton types 2+ (mobs/NPCs): {nomeAcao} {aniIndex} {speed} {sound} Campos: nomeAcao — label (ex: "IDLE", "WALK", "ATK1") — ignorado pelo parser aniIndex — indice na lista de animacoes do skeleton (posicao no array concatenado) speed — velocidade da animacao (ticks por frame) sound — indice do som a tocar ``` Controla qual animacao tocar para cada acao do mob (idle, walk, attack, death, etc.) e a velocidade de reproducao. Se o skeleton novo for um mob simples, basta preencher as acoes basicas (idle=0, walk=1, attack=2, death=3). ### 2.9 Fluxo de resolucao no cliente ``` Servidor envia pacote com mob → nClass (tipo do mob) ↓ BASE_DefineSkinMeshType(nClass) → nBoneAniIndex (switch hardcoded em Basedef.cpp) ↓ BoneAni4.txt[nBoneAniIndex] → szAniName (ex: "mesh\nm01"), numParts, numAniTypes ↓ Skeleton: szAniName + ".bon" → mesh\nm01.bon Mesh: szAniName + PPVV + ".msh" → mesh\nm010101.msh Textura: szAniName + PPVV + ".wys" → mesh\nm010101.wys → GetModelTextureIndex(texName) → busca em MeshTextureList.bin Animacao: ValidIndex.bin[nBoneAniIndex][slot] → nI+1 → mesh\nm010001.ani → AniSound4.txt[nBoneAniIndex] → mapeia acao → indice de animacao ``` ### 2.10 STRUCT_ITEMLIST (ItemList.bin) ``` Struct STRUCT_ITEMLIST — 120 bytes por item: char Name[64] — Nome do item short nIndexMesh — Indice visual do mesh short nIndexTexture — Indice visual da textura short nIndexVisualEffect — Efeito visual (brilho, aura) short nReqLvl — Nivel minimo short nReqStr / nReqInt / — Requisitos de atributo nReqDex / nReqCon STRUCT_STATICEFFECT stEffect[12] — 12 efeitos estaticos (4 bytes cada) int nPrice — Preco do item short nUnique — Tipo de raridade short nPos — Bitmask de slots onde pode equipar short nExtra — Dados extras short nGrade — Grau/rank do item ``` **nIndexMesh e nIndexTexture** sao os campos que conectam o item ao mesh visual. O significado muda COMPLETAMENTE dependendo do tipo de item: **ARMAS E ESCUDOS (slots 6 e 7 — MSA):** nIndexMesh = indice DIRETO no MeshList.txt O cliente chama: GetCommonMesh(nIndexMesh) → LoadMsa(MeshList[nIndexMesh]) Nenhuma formula intermediaria. Se a arma esta no index 500 do MeshList, nIndexMesh = 500. nIndexTexture = preenche LOOK_INFO.SkinX mas NAO e usado para renderizar a arma 3D. A textura da arma vem do nome embeddado no MSA → MeshTextureList. Na pratica, para armas, nIndexTexture = 0. **EQUIPAMENTOS SKINNED (slots 0-5 — MSH):** nIndexMesh = variante visual usada na FORMULA do nome do MSH: sprintf("%s%02d%02d.msh", szAniName, slot+1, nIndexMesh + offset + 1) NAO e um indice de MeshList. E um numero de variante (0, 1, 2...). Exemplo: nIndexMesh=5 no slot coat → ch010306.msh (prefixo + slot03 + visual06) nIndexTexture = modificador de textura na FORMULA do nome da WYS: sprintf("%s%02d%02d.wys", szAniName, slot+1, (nIndexTexture & 0xFFF) + nIndexMesh + offset + 1) Permite usar texturas diferentes para o mesmo mesh visual. Exemplo: nIndexMesh=5, nIndexTexture=2 + 1 → ch010308.wys **MONTARIAS (slot 14 — MSH skinned, skeleton proprio):** O item de montaria fica em Equip[14]. sIndex do item → transformado (sIndex - 2045, com overrides hardcoded) → sIndex final usado como indice no g_pItemList: nIndexMesh = g_pItemList[sIndex].nIndexMesh → Mesh0 (variante visual) nIndexTexture = g_pItemList[sIndex].nIndexTexture → Skin0 (variante textura) nClass (efeito 18) → BASE_DefineSkinMeshType(nClass) → skeleton da montaria Funciona igual a equipamentos skinned: nIndexMesh e variante visual, NAO indice do MeshList. Vem do ItemList.bin. **nPos** — bitmask de slots de equipamento: ``` Bit 0 (0x01) = Slot 0: Face/Corpo Bit 1 (0x02) = Slot 1: Helm (elmo) Bit 2 (0x04) = Slot 2: Coat (armadura) Bit 3 (0x08) = Slot 3: Pants (calca) Bit 4 (0x10) = Slot 4: Gloves (luva) Bit 5 (0x20) = Slot 5: Boots (bota) Bit 6 (0x40) = Slot 6: Left (mao esq/escudo) Bit 7 (0x80) = Slot 7: Right (mao dir/arma) ``` **nClass (efeito 18)** — tipo de classe que determina o skeleton: Usado por `BASE_DefineSkinMeshType(nClass)` para mobs e montarias. Para players: nClass 1/4 = masculino (ch01), 2/8 = feminino (ch02). Para mobs: nClass 16-74 mapeiam para indices 2-57 no BoneAni4.txt. ### 2.11 Fluxo visual de armas ``` Item no Equip[7] (mao direita) ou Equip[6] (mao esquerda) ↓ g_pItemList[sIndex].nIndexMesh → nIndexMesh ↓ GetCommonMesh(nIndexMesh) ← DIRETO, sem formula intermediaria! ↓ MeshList.txt[nIndexMesh] → path do MSA (ex: mesh\wp001.msa) ↓ TMMesh::LoadMsa(path) → carrega MSA ↓ Textura: nome embeddado no MSA → GetModelTextureIndex → MeshTextureList.bin ``` ### 2.12 Fluxo visual de equipamentos (armaduras, helmos, etc.) ``` Item no Equip[0-5] (face, helm, coat, pants, gloves, boots) ↓ g_pItemList[sIndex].nIndexMesh → LOOK_INFO.MeshX (variante) g_pItemList[sIndex].nIndexTexture → LOOK_INFO.SkinX (textura mod) ↓ TMSkinMesh monta nome do arquivo: Mesh: sprintf("%s%02d%02d.msh", szAniName, slot+1, MeshX + offset + 1) Tex: sprintf("%s%02d%02d.wys", szAniName, slot+1, (SkinX & 0xFFF) + MeshX + offset + 1) ↓ Exemplo: ch01, slot 3 (coat), nIndexMesh=5, nIndexTexture=0 Mesh: ch010306.msh Tex: ch010306.wys ``` --- ## 3. Restricoes Tecnicas do Cliente ### 3.1 MSH (Skinned Meshes) | Item | Limite | Origem | |---|---|---| | Bones por mesh | 40 max | `safePalette = min(n, 40)` em CMesh | | Influences por vertice | 4 max | FVF XYZB1-B4 + LASTBETA_UBYTE4 | | Vertices por mesh | 65535 max | Indices 16-bit no MSH | | Textura por mesh | 1 | MSH nao tem attribute ranges | | Textura dimensao | Potencia de 2 | DXT1 | | Coordenadas | Z-Up | Nativo WYD | | UV | V=0 no topo (D3D) | Nativo WYD e 3ds Max | | Skeletons registrados | 100 max | MAX_BONE_ANIMATION_LIST | | ANIs por skeleton | 186 max | Array fixo ValidAniList | | Bones por skeleton | Sem limite hard | Limitado pela RAM | ### 3.2 MSA (Static Meshes) | Item | Limite | Origem | |---|---|---| | Vertices por mesh | 65535 max | Indices 16-bit | | Materiais por mesh | 32 max | dwAttCount no header | | Texturas por material | 1 | Uma WYS por attribute range | | Textura dimensao | Potencia de 2 | DXT1 | | Coordenadas | Z-Up | Nativo WYD | | UV | V=0 no topo (D3D) | Nativo WYD | | Objetos em MeshList | 3048 max | MAX_COMMON_MESH | | FVF suportados | 274 (normal) ou 322 (diffuse) | Engine hardcoded | --- ## 4. Workflow: Novo Mob com Skeleton Existente **Cenario:** criar um mob novo que reutiliza o esqueleto e animacoes de um mob existente. Este e o caminho mais rapido e seguro. ### Passo 1 — Exportar mob de referencia No WYDConverter, abrir o MSH do mob que quer reusar (ex: `nm010101.msh`). Exportar como FBX (target 3ds Max). O FBX contem: - Geometria do mob original - Esqueleto completo com bone IDs - Animacao do ANI companion - Textura companion como PNG ### Passo 2 — Importar no 3ds Max Importar o FBX. O mesh aparece: - Z-Up (nativo do Max e do WYD — sem conversao) - Escala amplificada (conversor aplica x100 para edicao confortavel) - Bones com nomes `Bone_000`, `Bone_001`, etc. **NAO mover, rotacionar ou escalar o Armature.** A posicao dos bones e o bind pose que as animacoes existentes esperam. ### Passo 3 — Modelar - Deletar a geometria do mob original (so poligonos, NAO os bones) - Modelar o novo mob ao redor do esqueleto existente - Manter o mesh alinhado com os bones na posicao de bind Regras: - Apenas triangulos (sem quads/n-gons) - Max 65535 vertices - 1 material/textura por mesh - Polycount razoavel (~500-3000 tris para mobs) ### Passo 4 — Skinning - Aplicar Skin modifier no mesh - Adicionar os bones do esqueleto importado - Pintar weights: max 4 influences por vertice - Weights devem somar 1.0 - Todo vertice deve ter pelo menos 1 bone com peso > 0 ### Passo 5 — UV e Textura - UV Unwrap no Max (UV convention D3D: V=0 topo — default do Max) - Textura PNG/TGA em potencia de 2 (256x256 ou 512x512) - O WYDConverter converte para WYS automaticamente ### Passo 6 — Exportar FBX File → Export → FBX: - Formato: FBX Binary - Eixos: Z-Up (default Max) - Smoothing Groups: ON - Skin/Deformers: ON - Embed Media: OFF ### Passo 7 — Converter No WYDConverter: 1. Abrir o FBX exportado 2. Converter para MSH 3. Nomear: `nm010199.msh` (mesmo prefixo, numero livre) 4. Converter textura PNG → WYS: `nm010199.wys` 5. Copiar para `Mesh\` do cliente ### Passo 8 — Testar O cliente carrega automaticamente: - `nm010199.msh` — mesh novo - `nm01.bon` — hierarquia (ja existe) - `nm010001.ani` etc — animacoes (ja existem) - `nm010199.wys` — textura nova Nenhuma edicao de BoneAni4.txt ou ValidIndex.bin necessaria (mesmo skeleton). --- ## 5. Workflow: Mob com Skeleton e Animacoes Novas **Cenario:** criar um mob completamente novo com esqueleto e animacoes proprias. Requer ferramentas adicionais e edicao de arquivos de registro. ### Passo 1 — Modelar e Riggar no 3ds Max - Modelar o mob - Criar esqueleto com bones (usar nomes `Bone_000`, `Bone_001`, etc.) - Bone 0 deve ser o root - Max 40 bones - Skin modifier com max 4 influences ### Passo 2 — Criar Animacoes No 3ds Max, criar as animacoes necessarias: - Idle (parado) - Walk (andando) - Run (correndo) - Attack (atacando) - Death (morrendo) - etc. Cada animacao sera exportada como um FBX separado (ou ranges no mesmo FBX). ### Passo 3 — Exportar Exportar cada animacao como arquivo separado com mesh + skeleton + animation. Formatos suportados: - **FBX Binary** (3ds Max, Maya, Blender via plugin) - **GLB/GLTF** (Blender nativo, qualquer DCC moderno) ### Passo 4 — Converter Usar o WYDConverter para gerar: | De | Para | Ferramenta | Status | |---|---|---|---| | FBX mesh | `.msh` | MSHEncoder (FBX→MSH) | ✅ Funciona | | GLB/GLTF mesh | `.msh` | MSHEncoder (GLTF→MSH) | ✅ Funciona | | FBX skeleton | `.bon` | **BONEncoder (FBX)** | ❌ NAO EXISTE | | GLB/GLTF skeleton | `.bon` | **BONEncoder (GLTF)** | ❌ NAO EXISTE | | FBX animation | `.ani` | **ANIEncoder (FBX)** | ❌ NAO EXISTE | | GLB/GLTF animation | `.ani` | **ANIEncoder (GLTF)** | ❌ NAO EXISTE | | PNG textura | `.wys` | WYSEncoder | ✅ Funciona | ### Passo 5 — Registrar no cliente Para um skeleton completamente novo, TODOS estes arquivos precisam ser editados: #### 5.1 Editar BoneAni4.txt Adicionar uma linha para o novo skeleton: ``` {novoIndex} {numAnis} {numParts} mesh\{prefixo} ``` Exemplo: adicionar mob `xx01` com 3 animacoes, 1 parte: ``` 50 3 1 mesh\xx01 ``` O index (50) deve ser um slot livre no array (0-99). #### 5.2 Editar ValidIndex.bin Adicionar as entradas para mapear os ANIs do novo skeleton: ``` m_stValidAniList[50][0].nI = 0 → mesh\xx010001.ani (idle) m_stValidAniList[50][1].nI = 1 → mesh\xx010002.ani (walk) m_stValidAniList[50][2].nI = 2 → mesh\xx010003.ani (attack) ``` O ValidIndex.bin e um array binario fixo de 74400 bytes. Offset para skeleton index N = N * 186 * 4 bytes. Cada slot = 4 bytes (int). #### 5.3 Editar MeshTextureList.bin Adicionar a textura do novo mob em um slot vazio: ``` Slot livre → szFileName = "mesh\xx010101.wys", cAlpha = 'N' ``` **CRITICO:** sem esta entrada, o cliente NAO encontra a textura e o mesh nao carrega. O `GetModelTextureIndex` faz busca linear por nome — se nao encontra, retorna -1, e o CMesh aborta o carregamento. Para encontrar slots vazios: qualquer entrada com `szFileName[0] == '\0'`. Cada slot tem 264 bytes. Para editar diretamente no binario: ``` Offset = slotIndex * 264 [+0..+254] = szFileName (null-terminated, zero-padded) [+255] = cAlpha ('N' ou 'A') [+256..+259] = dwLastUsedTime (0) [+260..+263] = dwShowTime (0) ``` #### 5.4 Editar AniSound4.txt Adicionar uma secao para o novo skeleton type. A posicao na lista corresponde ao nBoneAniIndex. Para mob simples (56 linhas, formato `{nome} {aniIdx} {speed} {sound}`): ``` TYPE50 IDLE 0 30 0 WALK 1 30 0 RUN 1 20 0 ATK1 2 25 0 ATK2 2 25 0 DEATH 2 30 0 ... (preencher restante com 0 0 0) ``` #### 5.5 Editar BASE_DefineSkinMeshType (recompilacao) Em `Basedef.cpp`, a funcao `BASE_DefineSkinMeshType(nClass)` e um switch hardcoded que mapeia o nClass do item/mob → nBoneAniIndex. Para adicionar um novo mob com nClass=75: ```cpp case 75: return 50; // nosso novo skeleton xx01, index 50 no BoneAni4.txt ``` **Isto requer recompilacao do cliente.** Nao ha como evitar — o mapeamento e hardcoded no executavel. #### 5.6 Registrar no servidor (ItemList) O servidor define o `nClass` de cada mob/NPC no `ItemList.bin` ou na tabela de mobs. O nClass e o que o cliente recebe no pacote e usa para chamar `BASE_DefineSkinMeshType`. #### 5.7 Colocar arquivos ``` Mesh\xx01.bon — hierarquia Mesh\xx010001.ani — idle Mesh\xx010002.ani — walk Mesh\xx010003.ani — attack Mesh\xx010101.msh — mesh Mesh\xx010101.wys — textura ``` --- ## 6. Plano de Implementacao: Encoders Faltantes ### 6.1 BONEncoder (FBX/GLTF/GLB → BON) **Complexidade:** Baixa (formato trivial: pares de DWORDs) **Input:** FBX ou GLTF/GLB com skeleton **Output:** arquivo .bon **Algoritmo (FBX path):** 1. Percorrer todos os FbxNode com FbxSkeleton attribute 2. Para cada bone, extrair o boneID do nome (`Bone_XXX` → XXX) 3. Para cada bone, determinar o parentID: - Root: parentID = 0xFFFFFFFF - Outros: parentID = boneID do pai 4. Escrever pares [parentID, boneID] em ordem (root primeiro, BFS) **Algoritmo (GLTF/GLB path):** 1. Carregar documento GLTF com glTF SDK 2. Ler `doc.skins[0].jointIds` — lista de nodes que sao joints 3. Para cada joint node, extrair boneID do nome (`Bone_XXX` → XXX) 4. Para cada joint, determinar parentID pela hierarquia de nodes: - Se parent node nao esta em jointIds → root (0xFFFFFFFF) - Senao → boneID do parent node 5. Escrever pares [parentID, boneID] **Arquivos a criar:** - `Conversores/BON/BONEncoder.h` — declaracao - `Conversores/BON/BONEncoder.cpp` — `FromFBX()` e `FromGLTF()` + `SaveBON()` compartilhado **Estimativa:** ~120 linhas de codigo, 2-3 horas. ### 6.2 ANIEncoder (FBX/GLTF/GLB → ANI) **Complexidade:** Media (precisa avaliar animacao por frame e extrair matrizes locais) **Input:** FBX ou GLTF/GLB com skeleton + animation **Output:** arquivo .ani **Algoritmo (FBX path):** 1. Ler o FBX com FBX SDK 2. Determinar numBones (do skeleton) e numTicks (do animation stack) 3. Para cada tick (frame): a. Setar o tempo: `FbxTime::SetFrame(tick, eFrames30)` b. Para cada bone (por boneID, 0..numBones-1): - Avaliar `node->EvaluateLocalTransform(time)` → FbxAMatrix - Converter FbxAMatrix para XMFLOAT4X4 - Se o FBX veio do WYDConverter: reverter anchor correction e scale - Se e novo conteudo: usar local transforms direto c. Gravar as numBones matrizes para este tick 4. Escrever header (numTicks, numBones) + todas as matrizes **Algoritmo (GLTF/GLB path):** 1. Carregar documento GLTF com glTF SDK 2. Ler `doc.animations[0]` — channels e samplers 3. Determinar numTicks pelo max timestamp / (1/30) + 1 4. Para cada tick: a. Calcular tempo: `t = tick / 30.0f` b. Para cada bone: - Interpolar TRS dos samplers (translation, rotation, scale) no tempo t - Rotation: quaternion → matrix (GLTF usa quaternions nativamente) - Compor local matrix: S * R * T - Converter Y-Up → Z-Up (GLTF e Y-Up, ANI e Z-Up) c. Gravar as numBones matrizes 5. Escrever header + matrizes **Cuidados comuns:** - As matrizes no ANI sao LOCAL (relativas ao pai), nao world - FBX: `EvaluateLocalTransform` ja retorna local - GLTF: channels ja sao local (por spec) - FBX Z-Up (nosso export) = WYD Z-Up → sem conversao - GLTF Y-Up → precisa converter para Z-Up: conjugar cada local matrix - Scale: matrizes ANI sao puras (rotacao + translacao) - Normalizar rotation columns para magnitude 1.0 antes de salvar - Frame rate: WYD usa 30fps - GLTF: samplers podem ter interpolacao LINEAR ou STEP - LINEAR: interpolar entre keyframes - STEP: usar valor anterior **Arquivos a criar:** - `Conversores/ANI/ANIEncoder.h` — declaracao - `Conversores/ANI/ANIEncoder.cpp` — `FromFBX()`, `FromGLTF()` + `SaveANI()` compartilhado **Estimativa:** ~350 linhas de codigo, 5-8 horas. ### 6.3 ValidIndexEditor (editor de ValidIndex.bin) **Complexidade:** Baixa (array binario fixo, UI simples) **Funcionalidade:** - Carregar ValidIndex.bin (74400 bytes) - Mostrar grid: skeleton index × ani slot → nI value - Editar nI values - Salvar ValidIndex.bin **Integracao:** nova tab ou dialog no WYDConverter. **Estimativa:** ~150 linhas, 2-3 horas. ### 6.4 BoneAni4Editor (editor de BoneAni4.txt) **Complexidade:** Baixa (texto simples, UI simples) **Funcionalidade:** - Carregar BoneAni4.txt - Mostrar tabela: index, numAniTypes, numParts, szAniName - Adicionar/remover/editar linhas - Salvar BoneAni4.txt **Integracao:** mesma tab do ValidIndexEditor. **Estimativa:** ~100 linhas, 1-2 horas. ### 6.5 MeshTextureListEditor (editor de MeshTextureList.bin) **Complexidade:** Baixa (array binario fixo, ja temos decoder) **Funcionalidade:** - Carregar MeshTextureList.bin (auto-detecta classico 2048 vs Global 6096 slots) - Mostrar tabela: index, szFileName, cAlpha - Busca por nome (filtro) - Adicionar textura em slot vazio (auto-encontrar proximo livre) - Editar/remover entradas - Salvar MeshTextureList.bin **Nota:** Ja temos `MeshTextureListDecoder` com `LoadBIN`, `SaveBIN`, `LoadTXT`, `SaveTXT`. O editor so precisa de UI — a logica de I/O ja existe. **Integracao:** tab no DataEditor do WYDConverter. **Estimativa:** ~120 linhas (UI apenas), 2-3 horas. ### 6.6 AniSound4Editor (editor de AniSound4.txt) **Complexidade:** Baixa (texto formatado, parser simples) **Funcionalidade:** - Carregar AniSound4.txt - Mostrar: skeleton type → 56 linhas (acao, aniIndex, speed, sound) - Editar valores por celula - Duplicar secao de skeleton existente (template para novo mob) - Salvar AniSound4.txt **Integracao:** mesma tab dos editores de registro. **Estimativa:** ~150 linhas, 2-3 horas. ### 6.7 Ordem de Implementacao ``` Fase 1 — BONEncoder FBX + GLTF/GLB (2-3h) Permite: criar hierarquia de skeleton novo de qualquer formato Dependencias: nenhuma Teste: exportar mob existente MSH→FBX→BON e MSH→GLB→BON, comparar com original Fase 2 — ANIEncoder FBX (3-5h) Permite: criar animacoes novas a partir de FBX Dependencias: nenhuma Teste: exportar mob existente MSH+ANI→FBX→ANI, comparar com original Fase 3 — ANIEncoder GLTF/GLB (3-5h) Permite: criar animacoes novas a partir de GLTF/GLB Dependencias: SaveANI() da Fase 2 Teste: exportar mob existente MSH+ANI→GLB→ANI, comparar com original Nota: GLTF usa quaternions + timestamps flutuantes (vs FBX Euler + frames fixos) Precisa: interpolacao de samplers, quat→matrix, Y-Up→Z-Up Fase 4 — Editores de registro (5-8h) 4a. BoneAni4Editor (1-2h) — ja temos parser 4b. ValidIndexEditor (2-3h) — binario fixo 4c. MeshTextureListEditor (2-3h) — ja temos LoadBIN/SaveBIN 4d. AniSound4Editor (2-3h) — parser texto Permite: registrar skeleton, animacoes, texturas e sons Teste: adicionar entradas, verificar que cliente carrega Fase 5 — Workflow integrado (3-4h) Batch: FBX/GLB → MSH + BON + ANI + WYS em um click Auto-registro: adiciona entradas nos 4 arquivos de registro UI: wizard "Novo Mob" no WYDConverter Validacao: checar limites (40 bones, 65535 verts, etc.) Suporte: arrastar FBX ou GLB, detectar conteudo automaticamente ``` **Total estimado: 18-27 horas de desenvolvimento.** --- ## 7. Checklist Final ### Para mob com skeleton existente: - [ ] Exportar mob de referencia como FBX ou GLB - [ ] Modelar novo mesh no DCC ao redor do skeleton - [ ] Skin com max 4 influences, weights somam 1.0 - [ ] UV unwrap, textura potencia de 2 - [ ] Exportar FBX Binary Z-Up ou GLB - [ ] Converter FBX/GLB → MSH no WYDConverter - [ ] Converter textura → WYS - [ ] Adicionar textura nova em MeshTextureList.bin (se textura nova) - [ ] Copiar MSH + WYS para Mesh\ do cliente - [ ] Testar in-game ### Para mob com skeleton novo: - [ ] Tudo acima + - [ ] Criar skeleton com bones `Bone_000` a `Bone_NNN` - [ ] Criar animacoes (idle, walk, attack, death) - [ ] Exportar FBX ou GLB por animacao - [ ] Gerar BON via BONEncoder (FBX ou GLTF) - [ ] Gerar ANIs via ANIEncoder (FBX ou GLTF) - [ ] Editar BoneAni4.txt (adicionar linha com index, numAnis, numParts, prefixo) - [ ] Editar ValidIndex.bin (mapear slots → nI para cada ANI) - [ ] Editar MeshTextureList.bin (adicionar textura em slot vazio) - [ ] Editar AniSound4.txt (adicionar secao com aniIndex/speed/sound por acao) - [ ] Editar BASE_DefineSkinMeshType em Basedef.cpp (nClass → nBoneAniIndex) - [ ] Registrar mob no servidor (ItemList: nClass + LOOK_INFO) - [ ] Copiar BON + ANIs + MSH + WYS para Mesh\ do cliente - [ ] Testar in-game --- ## 8. Criar Objetos Estaticos Novos (MSA) Objetos MSA sao meshes estaticos SEM bones nem animacao. Usados para: - Construcoes (casas, torres, portais, altares) - Decoracoes de cenario (arvores, pedras, caixas, barris) - Armas e itens de chao (espadas, escudos, pocoes) - Efeitos estaticos (circulos, plataformas) ### 8.1 Diferenca entre MSH e MSA | Aspecto | MSH (Skinned) | MSA (Static) | |---|---|---| | Bones/Skeleton | Sim (max 40) | Nao | | Animacao | Sim (.ani + .bon) | Nao | | Skinning/Weights | Sim (max 4 por vertice) | Nao | | Multi-material | Nao (1 textura) | Sim (1-32 attribute ranges) | | Diffuse color | Nao (FVF 274) | Opcional (FVF 322) | | Uso tipico | Personagens, mobs, montarias | Cenario, itens, armas | ### 8.2 Sistema de registro MSA MSA sao registrados via **MeshList.txt** — uma tabela texto simples: ``` {index} {path_relativo} Exemplo: 0 mesh\cas001.msa 1 mesh\cas002.msa 2 mesh\tree01.msa ... ``` O index e o `dwObjType` que o engine usa para referenciar o objeto. `GetCommonMesh(dwObjType)` busca o path no MeshList e chama `LoadMsa()`. As texturas sao resolvidas de 2 formas: 1. Nome embeddado no MSA (campo de 11 bytes por attribute range) 2. Busca em MeshTextureList.bin por `mesh\{nomeBase}.wys` ### 8.3 Formatos de vertice MSA (FVF) | FVF | Hex | Layout | Bytes | Uso | |---|---|---|---|---| | 274 | 0x112 | Position(12) + Normal(12) + UV(8) | 32 | Maioria dos objetos | | 322 | 0x142 | Position(12) + Diffuse(4) + UV(8) | 24 | Objetos com vertex color | **CRITICO:** o FVF deve ser preservado no round-trip. Converter um MSA de FVF 322 para FVF 274 QUEBRA a renderizacao no cliente (o engine trata 322 de forma especial). ### 8.4 Workflow: Criar MSA Novo #### Passo 1 — Modelar Crie o objeto no 3ds Max ou Blender: - Apenas geometria (sem bones, sem skeleton) - Triangulos apenas (sem quads/n-gons) - Max 65.535 vertices - Escala: 1 unidade = proporcional ao mundo WYD (exporte um objeto existente como referencia) #### Passo 2 — Multi-material (opcional) MSA suporta ate 32 materiais/texturas por mesh: - Atribua materiais diferentes a grupos de faces - Cada material pode ter sua propria textura - Os attribute ranges sao preservados no round-trip Para objetos simples, 1 material e suficiente. #### Passo 3 — UV e Textura - UV Unwrap normal - Textura PNG ou TGA em potencia de 2 (256x256, 512x512) - Para multi-material: 1 textura por material - O WYDConverter converte PNG → WYS #### Passo 4 — Exportar No 3ds Max: File > Export > FBX Binary, Z-Up, Smoothing Groups ON No Blender: File > Export > glTF 2.0 (.glb), +Y Up, Apply Modifiers ON **NAO precisa** incluir Skin/Deformers (MSA e estatico). #### Passo 5 — Converter no WYDConverter 1. Abrir o FBX ou GLB no WYDConverter 2. Dropdown "MSA" > "FBX -> MSA" (ou "GLB -> MSA") 3. Nomear: `cas999.msa` (ou qualquer nome livre) 4. Converter textura: PNG -> WYS: `cas999.wys` #### Passo 6 — Registrar **MeshList.txt** — adicionar linha: ``` {indexLivre} mesh\cas999.msa ``` O index deve ser um slot livre (0-3047, MAX_COMMON_MESH = 3048). **MeshTextureList.bin** — adicionar textura: ``` Slot vazio → szFileName = "mesh\cas999.wys", cAlpha = 'N' ``` Para multi-material, adicionar CADA textura separadamente. #### Passo 7 — Colocar e testar ``` Mesh\cas999.msa ← mesh estatico Mesh\cas999.wys ← textura ``` O engine carrega via `GetCommonMesh(index)` quando o terreno ou objeto referencia o `dwObjType` correspondente ao index. Para testar: colocar o objeto em um mapa editando o .trn (terrain file) com o index do MeshList.txt. ### 8.5 Checklist MSA - [ ] Modelar objeto (sem bones, triangulos apenas) - [ ] UV unwrap, textura potencia de 2 - [ ] Exportar FBX ou GLB (sem skeleton) - [ ] Converter FBX/GLB → MSA no WYDConverter - [ ] Converter textura → WYS - [ ] Adicionar textura em MeshTextureList.bin - [ ] Adicionar entrada em MeshList.txt (index + path) - [ ] Copiar MSA + WYS para Mesh\ do cliente - [ ] Testar no mapa (colocar objeto no .trn)
    1 ponto
  42. Suporte ao 3DsMax. MSH->FBX_3Ds
    1 ponto
  43. Novos trajes de pogobol, inexistentes em qualquer servidor :] Façam bom proveito pra quem gosta desses sacos de batata ambulantes perambulando pelo servidor. DOWNLOAD Acredito que o scam não seja necessário, visto que são arquivos de mesh e textura. Qualquer dia faço as demais frutas pra postar.
    1 ponto
  44. ✔ Hack para Combat Arms Classic e BR Apenas baixe o loader, use normalmente e seja feliz! 🎮✨ Obs: Você estará utilizando a versão Free. ✔ ULTILIZAÇÃO SIMPLES PARA USAR O LOADER ✔ "Tutorial de como usar disponível. Em caso de dúvidas, assista ao vídeo no YouTube" ✔ Download e Scan de Vírus Credits:WalisonBR, Absolut,Well11, LuizinLoko, TheHacker/Mod
    1 ponto
  45. Este projeto não é uma cópia do servidor mencionado, e você pode confirmar isso. As bases são diferentes, inclusive no que diz respeito à conexão (não há conexão com o banco de dados). Além disso, sistemas de antigos projetos meus, que já existiam na base, foram reabilitados. Não faz diferença vazarem ou colocar o projeto rotulado como "original" disponível, pra mim isso não faz diferença alguma. Inclusive sobre o seu projeto, você tem liberdade pra fazer oq bem entender (que foi o caso, você melhorou o projeto), como sabe já falei isso contigo, tmj.
    1 ponto
  46. DUMP DA CSHELL_X64.DLL E DO CROSSFIRE.EXE PRA QM ESTA COMEÇANDO JÁ É ALGO.. [Hidden Content]
    1 ponto
  47. Disponibilizado por @Goten Download: [hide] [Hidden Content]] Créditos: Denis Alves Pyke
    1 ponto
  48. HC CURSOS E TUTORIAIS 🎬 ▶️ PLAYLIST "PROGRAMAÇÃO PARA LINEAGE 2" DO MEU CANAL NO YOUTUBE 🎬 ▶️ [Hidden Content]
    1 ponto
  49. ATUALIZADO 29/09/2025: [Hidden Content] PATROCINADORA streamingsbarato.com Diversos Serviços streamings com 70% OFF
    1 ponto
Esta tabela de classificação está definida para São Paulo/GMT-03:00
×
×
  • Criar Novo...

Informação Importante

Nós fazemos uso de cookies no seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies , caso contrário, vamos supor que você está bem para continuar.