Prepare-se para conhecer uma funcionalidade que redefine a forma como os dados são gerenciados em painéis administrativos de servidores MU: o Sistema de JOIN Dinâmico do Genesis Extreme. Oferece aos nossos clientes uma vasta capacidade de personalização, sem conhecimento técnicos e ou extremamente avançados em Data since ou similares, através do sistema de JOIN da versão extreme nossos clientes poderão elaborar personalizações próprias, entenda melhor lendo este tópico. 💡Um mundo de possibilidades, seja criativo e construa personalizações em minutos! Quote 💡 “E se o administrador não precisasse escrever nem uma linha de SQL para conectar dados entre tabelas diferentes? E se bastasse configurar um JSON e o sistema cuidasse do resto?” Agora é realidade. 🧩 O que é? O novo sistema permite ao Genesis realizar JOINs automáticos e inteligentes entre qualquer tabela do banco de dados apenas configurando um arquivo .php — sem escrever queries manuais, sem conhecimento técnico avançado, e com total controle do que será exibido no painel. ⚙️ Como funciona? Um schema declarativo é definido em arquivo de configuração (character_schema.php) O administrador informa: A tabela principal (ex: Character) Quais outras tabelas que irá se relacionar (ex: Guild, MEMB_STAT) Os campos que deseja carregar de cada uma E como os campos se relacionam (ex: Character.Name → GuildMember.Name) O Genesis monta dinamicamente toda a estrutura de consulta, usando aliases, joins e seleções inteligentes 🔗 Exemplos práticos Status Online: verifica se o personagem está conectado via tabela MEMB_STAT Informação de Guilda: relaciona GuildMember → Guild e exibe nome da guilda do personagem Campos adicionais: qualquer campo de qualquer tabela pode ser adicionado com apenas 1 linha no schema 🖼️ E no painel? A listagem de personagens agora exibe: Nome da guilda (com fallback para --) Indicador de conexão online/offline Evolução visual e imagem de classe O painel se adapta conforme o schema definido — sem necessidade de alterar código 💼 Exclusivo da versão Extreme Essa funcionalidade estará disponível exclusivamente na versão Genesis CMS Extreme, voltada para servidores profissionais que desejam: Flexibilidade máxima de integração com banco Painéis administrativos dinâmicos e moduláveis Redução drástica da necessidade de programação O valor adicional será informado posteriormente. O que posso garantir é: nenhum outro painel no mercado oferece esse nível de abstração com controle total via JSON/PHP. 🧠 Pronto para o futuro Quer conectar com ranking de Guilds? Exibir histórico de resets? Relacionar logs com personagens? Só editar o schema. Genesis cuida do resto. 📢 Mais novidades vêm aí, mas esse módulo já representa um salto na forma como o MU é administrado. 🧑💻 Código na prática: <?php
/**
* LDGenesis CMS
*
* @build 1.0.0
* @package LDGenesis
* @author Marco Junior
* @contact support@ldg-team.tech
* @copyright Copyright (c) 2025 LDG Team Games - Services
* @license Proprietary
* @language PHP 8.2+
* @description Sistema CMS modular em arquitetura MVC, desenvolvido em homenagem a Lucas Danilo Gomes da Silva
*/
return [
'tables' => [
'character' => [
'name' => 'Character',
'columns' => [
'name' => 'Name',
'account' => 'AccountID',
'class' => 'Class',
'level' => 'cLevel',
'experience' => 'Experience',
'map' => 'MapDir',
'mapnumber' => 'MapNumber',
'posX' => 'MapPosX',
'posY' => 'MapPosY',
'code' => 'CtlCode',
'pkcount' => 'PkCount',
'herocount' => 'HeroCount',
'str' => 'Strength',
'agi' => 'Dexterity',
'vit' => 'Vitality',
'ene' => 'Energy',
'cmd' => 'Leadership',
'inventory' => 'Inventory',
'magiclist' => 'MagicList',
'winduels' => 'WinDuels',
'loseduels' => 'LoseDuels',
'ruuds' => 'Ruud',
'resets' => 'RESETS',
'grand_resets' => 'GrandResets',
'masterlevel' => 'mLevel'
]
],
'status' => [
'name' => 'MEMB_STAT',
'columns' => [
'connect_stat' => 'ConnectStat'
],
'join' => [
'character.name' => 'status.memb___id'
]
],
'guild_member' => [
'name' => 'GuildMember',
'columns' => [
'guild' => 'G_Name'
],
'join' => [
'character.name' => 'guild_member.Name'
]
],
'guild' => [
'name' => 'Guild',
'columns' => [
'guild_name' => 'G_Name'
],
'join' => [
'guild_member.G_Name' => 'guild.G_Name'
]
]
]
];
By
Mr.Junior · Posted July 23 Jul 23