Os Melhores
Conteúdo popular
Mostrando conteúdo com a maior reputação em 12/29/25 em Posts
-
Baixe o Resource Tuner: [Conteúdo Oculto] Depois de baixado, abra-o e clique em Arquivo > Abrir Arquivo > launcher.exe Uma vez aberto, você verá uma série de coisas no lado esquerdo do programa. Vá em frente e abra RC Data e você verá uma lista completa de novas pastas que são necessárias para modificar o lançador. Compreendendo a Estrutura do Lançador: TBACKFORM: Neutral ( Contém o plano de fundo principal do seu lançador. ) Tipo de Arquivo: PNG Você pode salvar isso ou substituí-lo por qualquer coisa que desejar, apenas certifique-se também de alterar a propriedade ClientWidth e ClientHeight. (Backform: TBackForm & Img:TImage) TlauncherMain:Neutral contém todos os botões que você precisa modificar se quiser modificar tudo sozinho. Isso também contém o texto ou registros do patcher quando está atualizando coisas dentro do cliente. Dependendo da versão que você tem, isso pode variar. Eu recomendo usar uma versão mais antiga do lançador do Alex para que isso funcione no seu. Porque tenho visto versões mais recentes com proteção contra modificações. Opcional: se você quiser alterar os valores de cor para o que desejar, precisará de um ambiente de desenvolvimento integrado (IDE) do Delphi chamado Embarcadero RADStudio. É gratuito e você pode instalá-lo sozinho. Depois de entrar no RADStudio, crie um novo formulário VCL e adicione apenas um rótulo ou algo que você possa modificar suas cores. Certifique-se de clicar duas vezes na caixa de texto de cor para poder definir uma cor personalizada que você deseja. Agora vá para o projeto e construa o projeto para que você possa compilar o formulário que acabou de fazer e abri-lo em outra instância do ResourceTuner. Agora copie o que você tem na guia de cor, geralmente é um número de 7 dígitos que representa a cor selecionada. Isso é bastante útil para a barra de progresso, já que a cor da barra de progresso pode ser alterada. Depois de ter feito tudo isso, basta salvar e aproveitar os resultados. Exemplo do meu trabalho: Coisas a observar ao preparar os gráficos: O tipo de arquivo do plano de fundo principal é PNG (ele suporta transparência, é claro). Os botões e o plano de fundo do seu registro de texto são BMP, então você precisa convertê-lo para BMP. Certifique-se de que não tenha nenhuma transparência, caso contrário, ficará estranho.2 pontos
-
Sistema de Mensagem Automática - Exclusivo e Configurável Características principais: Mensagens aleatórias personalizáveis Agendamento de mensagens em horários específicos Mensagens com cores customizáveis Totalmente configurável ao seu gosto Como usar: Abra o arquivo "guia.txt" e siga o tutorial passo a passo. Suporte: Qualquer dúvida, deixem neste post que estarei aqui para ajudar! Espero que gostem do sistema! 😊 [Conteúdo Oculto]1 ponto
-
⚔️ Sistema de Ranking PvP Completo - In-Game + Web 💰 Valor Vitalício: R$ 300,00 📅 Aluguel Mensal: R$ 65,00 🔑 Licença vitalícia para uso em qualquer servidor Perfect World! 🧩 O que está incluído no pacote 🎮 Sistema In-Game Integrado 🏆 Rank PvP em tempo real, diretamente dentro do jogo 🔥 Sistema de Multi-Kill com efeitos e mensagens automáticas 📊 Logs detalhados por dia e por semana ⚔️ Rivalidade entre jogadores: detecta e destaca duelos frequentes 🎖️ Premiação Automática de Títulos por colocação no ranking ❌ Anti-farm e Anti-team kill: detecta abusos automaticamente 🛡️ Filtro de IP opcional para maior controle de manipulações 🚫 Penalidades com alertas automáticos in-game para jogadores que tentarem abusar 🎯 Missões PvP e desafios com recompensas bônus 🥇 Conquistas por marcos de kills (ex: 10, 50, 100...) com anúncios 🎁 Recompensas Diárias e Semanais para os mais ativos 🏅 Sistema de Ligas: Bronze, Prata, Ouro, Platina, Diamante e Mestre 📣 Mensagens automáticas no chat do jogo e também no Discord! 🌐 Painel Web Profissional 📊 Dashboard com Rankings Atualizados em Tempo Real 🧑💼 Perfil Detalhado do Jogador: kills, mortes, streaks, rivalidades, conquistas, liga atual, etc. 🔐 Editor de Ranking exclusivo para GMs com login protegido 🌍 Integração nativa com seu site oficial 📱 Design moderno e responsivo, compatível com celulares e tablets 📜 Logs e notificações administrativas via painel web 🎯 Diferenciais que vendem! Código otimizado, limpo e bem documentado Fácil integração com qualquer versão do seu servidor Atualizações frequentes e suporte dedicado Sem painel externo ou sistemas paralelos — tudo é feito nativamente 📢 Personalização Sob Medida Quer mudar o layout? Deseja adicionar um lado PvE exclusivo com ranking de monstros, dungeons ou conquistas PvE? ⚙️ Eu crio qualquer sistema sob-encomenda! 📽️ Demonstrações e Testes Envio vídeos do sistema em funcionamento Acesso de teste disponível: entre em contato e logue diretamente no servidor demonstrativo Veja com seus próprios olhos como o sistema se comporta! ⚠️ A versão atual está ainda mais avançada e completa do que a mostrada nas imagens. 📬 Interessado? Fale comigo agora mesmo: 📥 Inbox para vídeos e testes 💻 Desenvolvo sites, scripts e sistemas personalizados para qualquer necessidade de servidor PW! 0b671c75-3d04-4ec8-84fc-f2c1331132a1.jfif 1c14ee65-e5eb-4311-95ef-377dc5010f3c.jfif 095640e7-0ad4-4ca5-a2de-08144510d0a8.jfif1 ponto
-
Salve, hoje venho compartilhar este projeto feito em nodejs com os entusiastas da programação O projeto ainda estava no começo, mas a base e muitas funções já estão pronta, tais como; Login Cadastro (com ou sem confirmação no e-mail) Recuperar conta Reenviar e-mail de ativação Template dos e-mails Dashboard cru Página de doação (parei aqui) Para rodar o painel é bastante simples; Instale o node NodeJS >=20.00 - [Conteúdo Oculto] Crie um banco de dados e importe o config/tables.sql para o mesmo Configure o config/settings.js com as informações dos bancos de dados, url do cors, porta do aplicação, hash etc Pronto agora é só instalar as dependências e iniciar a aplicação npm install npm start Se você fez tudo certo você deve ver uma mensagem de sucesso no terminal informando que a aplicação foi iniciado na porta definida Download: node-js.zip1 ponto
-
Dear All Brazilian Friends, I share this perfect world panel, actually this panel base from @tomirons code. Download Link: [Conteúdo Oculto] NOTE: Still have bugs, try to fix by yourself Demo: [Conteúdo Oculto]1 ponto
-
Olá todos, vim compartilhar com vocês hoje, um template que eu comprei há mais ou menos 1 ano e acabei não utilizando e também não tenho pretensão de utilizar. Esse template está no formato de html5 ( html, css e js), e está como uma tela em branco, você pode ajustar da maneira que deseja. Conteúdo do arquivo: Capturas de Tela: Baixar: Granage Template.rar1 ponto
-
"Fala, gurizada! Tudo certo? 😄tradutor.exetradutor.exe Quero compartilhar minha contribuição com a comunidade! Sabemos que o Google Tradutor e outros sistemas possuem limites de caracteres para traduzir determinados arquivos, o que pode ser bem frustrante em algumas situações. Pensando nisso, desenvolvi um sisteminha básico em Python que resolve esse problema. Com ele, você pode abrir arquivos de texto em qualquer idioma, e o programa traduzirá todo o conteúdo, sem restrições de tamanho. É super útil, não apenas para Perfect World, mas também para outras finalidades, como decifrar longas linhas de erros em logs, entre outras aplicações. Espero que seja útil para vocês!" Este sistema traduz arquivos de texto no formato .txt ( EM BREVE DISPONIBILIZAREI UMA ATUALIZAÇÃO PARA ARQUIVOS EM OUTROS FORMATOS) Sistema atualizado, com suporte de leitura em outros formatos. HTML, .LOG, e outros. LINK:[Conteúdo Oculto]1 ponto
-
desculpe pelo problema do tópico. Eu só quero compartilhar essa ferramenta para que vocês possam gerar cores gradientes sem instalar o delphi community edition. muito simples de usar e direto. os valores "BarColor" "BarcolorStop" devem ser copiados no Resource Tuner fórmula usada: Valor decimal=(B×256²)+(G×256)+R view: ColorPicker.7z1 ponto
-
E aí, galerinha! Já que deixaram vazar isso aqui, vou já postar no fórum. Quem quiser, é só baixar. Funcionalidades: Comandos: - findall - encontrar e contar todos os itens - findids - encontrar itens a partir da configuração [Opções] - findid itemid - encontrar item a partir do parâmetro no console - replaceid - substituir IDs dos itens a partir da configuração [ReplaceID] [ReplaceIDPet] [ReplaceIDEgg] - replaceparts - substituir partes dos itens a partir da configuração [ReplaceItemParts] - deleteskills - excluir todas as habilidades, exceto portal da cidade, de todos os jogadores - process_skills - excluir habilidades especificadas a partir da configuração [Skills] - money-gold - substituir dinheiro/ouro a partir da configuração [MoneyGold] - dividend2gold - trocar dividendo e ouro de loja - exportrole roleid - imprimir dados da função em formato XML - exporttable table_name - exportar todos os registros da tabela em formato XML - exportuser userid - imprimir dados do usuário e suas funções em formato XML - exportoctet table_name keyid - imprimir dados octet da tabela - importoctet table_name keyid octet - substituir dados octet na tabela Download1 ponto
-
Há algum tempo eu venho estudando sobre os octets do PW (hex strings) para adicionar os detalhes dos itens no visualizador de inventário do meu painel. Inclusive eu achei esses 2 pdfs que estão anexados nesse post perdidos por aí (Além de outros projetos relacionados), o que me ajudou bastante no começo. E apartir disso eu construi esse projeto em php chamado PWHexParser que recebe um octet de um item, o tipo do item e retorna um json como resultado, exemplos: Lendo octets de uma roupa: <?php require __DIR__ . '/../vendor/autoload.php'; $decoder = new App\Decoder(); $decoder->setItemType('Fashion'); // Weapon, Armor, Charm, Jewelry, Flight, Card... $decoder->sethexString('1e00000092470100010a620072007500630065000000'); //Mandarin Silk Gown $result = $decoder->decodeHexString(); header('Content-Type: application/json'); echo json_encode($result, JSON_PRETTY_PRINT); Resultado: { "level_req": 30, "color": 18322, "gender": 1, "creator_type": 1, "name_length": 5, "name": "bruce", "color_mask": 0 } Adivinhando o tipo do item (arma nesse caso): <?php require __DIR__ . '/../vendor/autoload.php'; $mask = 1; // Weapon $decoder = new App\Decoder(); $decoder->guessItemType($mask); $decoder->sethexString('5a00ff001001000031000000b4610000786900002c00040a4200720075006300650000000000090000000b00000000000000930200009b0500000000000000000000180000000000604000000000010000000000000003000000114500009200000001000000f02300004d000000cf2500000e000000'); $result = $decoder->decodeHexString(); header('Content-Type: application/json'); echo json_encode($result, JSON_PRETTY_PRINT); Resultado: { "level": 90, "class": 255, "strength": 272, "vitality": 0, "dexterity": 49, "magic": 0, "min_durability": 250, "max_durability": 270, "item_type": 44, "item_flag": 4, "name_length": 10, "name": "Bruce", "ranged_type": 0, "weapon_type": 9, "weapon_grade": 11, "ammunition_type": 0, "min_physical_damage": 659, "max_physical_damage": 1435, "min_magic_damage": 0, "max_magic_damage": 0, "attack_rate": 0.83, "attack_range": 3.5, "minimum_range": 0, "sockets_count": 1, "sockets": [ 0 ], "addons_count": 3, "addons": { "special_addons": [ { "id": 1297, "value": 146, "level": 1 } ], "normal_addons": [ { "id": 1008, "value": 77 }, { "id": 1487, "value": 14 } ], "refine_addons": [ ], "socket_addons": [ ] } } O projeto está disponível no Github e também é possível instalar via composer: Ele não está 100% finalizado ainda, mas já da pra utilizar em algum projeto de seu interesse. :) Hex Data Guide v2T2.pdf Hex Code Guide By Drakaer.pdf1 ponto
-
Eu fiz esses dias para um amigo, vou deixar o inicio do código para você. Criei um bash que leia o arquivo de log “/logs/world2.chat” esse arquivo registra as mensagens do jogo…. o tail abaixo acompanha a leitura do arquivo e envia para um PHP (essa parte peguei do rank que tem por ai), adicionei o filtro chl=1 significa que vai pegar apenas mensagens do GLOBAL você pode alterar para outros facilmente lendo log. #!/bin/bash tail -f -n0 /home/logs/world2.chat | grep --line-buffered 'chl=1 msg=' | while read LINE0 do php seu_arquivo_novo_aqui.php "${LINE0}" done Substitua o seu_arquivo_novo_aqui.php pelo nome que der a seu file php que vai receber a linha como parâmetro… Ja no php vou deixar as variáveis pegando o ID do personagem e a mensagem enviada. <?php $user_id = intval(explode('=',$argv[1])[1]); $msg = explode('=',$argv[1])[3]; ?> Pronto agora você tem a base simples pegando a mensagem e o ID do personagem! Para enviar um item ou uma mensagem usando a API – PW é coisa simples tem muitos exemplos. Vou deixar apenas a base para você decidir o que quer fazer. Nota extra: A mensagem vem em base64 eu não recomendo abrir ela mesmo que seja simples exige força computacional voce simplesmente pode comparar com IF ou fazer um SWITCH com bases64 e gastar menos esforço.1 ponto
-
Esse sistema foi feito pelo Leo B2host é só criar um cron em php e seja feliz. <?php /** ** Programado por Leandro Hermes - [Conteúdo Oculto] **/ $config = array ( // Configs 'host' => '127.0.0.1', // Host 'port' => '29300', // Port // Chat ID: [0] - Common; [1] - World; [2] - Group; [3] - Faction; // Chat ID: [4] - Private; [6] - Info; [7] - TRADE; [9] - System; [10]- NoChat; [12] - Horn 'chatid1' => '9', // Chat ID #1 // Role ID in Message to Chat 'roleid1' => '', // Role ID #1 | You can empty ID | ID -1 = : // Message to Chat 'message1' => "mensagem que sera falado no chat GM" , // Message #1 | No Message - Do not go ); function socketsend($data, $ip,$port) { if(!@$sock=socket_create(AF_INET, SOCK_STREAM, SOL_TCP)) {throw new Exception("Erro ao conectar no servidor do pw"); exit();} socket_connect($sock,$ip,$port); socket_set_block($sock); socket_send($sock, $data, 8192, 0); socket_recv($sock, $buf, 8192, 0); socket_set_nonblock($sock); socket_close($sock); return $buf; } function cuint($data) { if($data < 64) return strrev(pack("C", $data)); else if($data < 16384) return strrev(pack("S", ($data | 0x8000))); else if($data < 536870912) return strrev(pack("I", ($data | 0xC0000000))); return strrev(pack("c", -32) . pack("i", $data)); } function PackString($data) { $data = iconv("UTF-8", "UTF-16LE", $data); return cuint(strlen($data)).$data; } function PackOctet($data) { $data = pack("H*", $data); return cuint(strlen($data)).$data; } function gameChat($user,$msg,$chan,$host,$port) { $System = pack("C*",$chan); $Emotion = pack("C*",0); $Char = pack("N*",$user); $Message = PackString($msg); $data = PackOctet(''); $Packet = $System.$Emotion.$Char.$Message.$data; $Data = cuint(120).cuint(strlen($Packet)).$Packet; socketsend($Data, $host,$port); } // comment out what you dont use gameChat($config['roleid1'],$config['message1'],$config['chatid1'],$config['host'], $config['port']); ?> avisoBroadcast-unico.php1 ponto
-
Fiz esse script ja tem um tempo, talvez seja util para alguem. O monstro ja vem linkado no chat, basta clicar e o auto caminho do jogo te leva até as coordenadas atual do boss. Vá ate function EventOnPlayerChat no script.lua e adicione: if chanel == 1 and cmdlist[1] == "!boss" then local bosses = { {id = 19462, nome = "Profundeza"}, {id = 19463, nome = "Mistério"}, {id = 19464, nome = "Devorador das Trevas"}, {id = 19465, nome = "Servo Fantasma"}, {id = 19466, nome = "Lança da Morte"}, {id = 19467, nome = "Perfurador de Corações"}, {id = 19468, nome = "Alfa"}, {id = 19469, nome = "Escudo Apu"}, {id = 19470, nome = "Sombra das Trevas"}, {id = 19471, nome = "Colecionador de Sons"}, {id = 19472, nome = "Caçador de Alma"}, {id = 19473, nome = "Rei do Chifre Dourado"}, {id = 19474, nome = "Guerreiro Mosca do Céu"}, {id = 19475, nome = "Espada Demoníaca"}, {id = 19476, nome = "Aniquilador de Aranhas"}, {id = 19477, nome = "Facão Demoníaco"} } for _, boss in ipairs(bosses) do local pNpc = game__GetObjectVar(NPC_COORDS_BY_TID, 0, boss.id) if pNpc == 0 then game__ChatMsg(CHAT_SINGLE, roleid, 11, "^FF8000" .. boss.nome .. ": Aguardando Respawn...", -1) else local x, y, z = game__GetCoordDataClient(pNpc) local sx, sy, sz = game__GetCoordData(pNpc) game__ChatMsg(CHAT_SINGLE, roleid, 11, "<11><"..boss.nome.." - Está nas coordenadas: "..int(x)..", "..int(z).."><1,"..int(sx)..","..int(sy)..","..int(sz)..">", -1) end end return 0 end Resultado:-1 pontos
