Os Melhores
Conteúdo popular
Mostrando conteúdo com a maior reputação em 09/10/23 em Posts
-
Extrator de PCK foi postado na ragezone por Luka o criador da ferramenta é Jolan que deu consentimento, muito boa essa ferramenta já usei bastante. PCK Module.rar2 pontos
-
1 ponto
-
Estou deixando todos os instaladores num unico link, é só escolher qual você precisa e baixar. Conforme eu encontrar mais instaladores eu adiciono na pasta. Todos os clients tem um print da tela inicial, em alguns deles tem o nome da expansão. ADM por favor fechar meus tópicos dos outros instaladores eu agradeço. Diferenças: Client aberto = você não tem como saber se tem arquivos editados. Instalador = client original [Conteúdo Oculto] Se alguém tiver algum instalador que não esteja listado, por favor me envie no privado que eu espelho ele aqui.1 ponto
-
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.rar1 ponto
-
1 ponto
-
Olá a todos, estou buscando trazer tutoriais de coisas mais complexas, para que desenvolvedores que estão começando a pouco tempo, possa crescer ainda mais seu conhecimento. Vim trazer algo que poucos tem conhecimento e também tiveram curiosidade de saber, sobre mapas e sobre fixação de mapas. Quando eu construi o New History em 2018, eu customizei ele ao máximo e com isso eu aprendi bastante a trabalhar com mapas e me foi despertado muita curiosidade sobre. Hoje trabalhando com as novas versões, eu tive que adicionar na minha build mais de 25 mapas e vim ensinar vocês como adicionar novos mapas no servidor da forma correta (gs.conf). Lembrando, que todo o sistema de exportação e downgrade não precisa ser ensinado, pois há uma ferramenta perfeita para esse trabalho do Steve Langley (Skype: narrowengineer), o AngelicaMapEditor. Só deixando um adendo, a ferramenta não gera npcgen.data, path.sev e arquivos de configuração dos mapas (Sem esses, os mapas não ligam), então recomendo antes de tudo, clonar um existente (Limpo) e adicionar os novos arquivos exportados. Agora vamos para o que interessa! Vou usar como exemplo o mapa:a101 (is101). Você precisará abrir o arquivo instance.txt (element/configs.pck/instance.txt) e gs.conf (PWServer/gamed/gs.conf) Estando com os dois abertos, você irá pesquisar no instance.txt: "a101" Estará mais ou menos assim: ////////////////////////////////////////////////////////////// "北陆-蜃渊雪国遗址" { 91 "a101" // path "loading/a101" // loading background 2,2 // row, column 0 "r0_0-c1_1-l0.cfg" {} 0 } ////////////////////////////////////////////////////////////// Somente disso que precisaremos. Informações que iremos precisar para o servidor: 91 = ID do mapa (tag) “a101” = nome do mapa 2,2 = Row / Colum Sempre bom lembrar que esses valores podem alterar dependendo de qual mapa você irá utilizar, então não se apegue a isso. Agora vamos para o gs.conf Ensinamento básico, se você reparar: São 2 tipos de mapas: world_servers e instance_servers. O que você precisa definir primeiro é isso, se será um mapa aberto (world_servers), ou se será uma dungeon ( quando desmonta o grupo todo mundo é expulso e ela reseta) instance_servers. Bem, escolhendo isso, você irá definir como vamos solicitar esse mapa depois do último mapa definido em world_servers ou instance_servers, ficando assim: world_servers = gs01;/*imagine vários mapas definidos*/;is101; Então você percebeu que vamos chamar nosso mapa de is101, mas você pode colocar qualquer nome (nessa etapa e nas demais definições), exemplos: zd411, ab587, z57… Como você é inteligente e já percebeu, eu defini meu mapa como um mapa aberto, ou seja, um world_server. Agora você vai terminar de configurar seu mapa, no final do arquivo gs.conf. Estarei explicando logo após o código. ;----------------------------------------------------------------------------------------------------- [World_is101] ;-------- Se o seu mapa é um world_servers World_Nome, caso contrário Instance_Nome ----- index = 126 tag = 91 base_path = a101/ limit = allow-root; grid = {80,80,25,-1000.0,-1000.0} base_region = {-1024.0,-1024.0} , {1024,1024.0} local_region = {-1024.0,-1024.0} , {1024,1024.0} cid = 0,2,13 [Terrain_is101] ;-------- Mude o Nome ----- szMapPath = map nAreaWidth = 512 nAreaHeight = 512 nNumAreas = 4 ;----- Normalmente é uma soma de Cols + Rows (Salvo exceções) nNumCols = 2 ;----- Numero de Columns no instance.txt nNumRows = 2 ;----- Numero de Rows no instance.txt vGridSize = 2.0f vHeightMin = 0.0f vHeightMax = 800.0f [MsgReceiverTCP_is101] ;-------- Mude o Nome ----- type = tcp listen_addr = INSTANCE101:12009 ;-------- Caso seja localhost, declare, mas lembre sempre de alterar a porta por exemplo 12010,12011.. ----- so_sndbuf = 16384 so_rcvbuf = 16384 tcp_nodelay = 1 listen_backlog = 10 [MsgReceiverUNIX_is101] ;-------- Mude o Nome ----- type = unix listen_addr = /tmp/gssock_is101 ;-------- Mude o Nome ----- so_sndbuf = 16384 so_rcvbuf = 16384 listen_backlog = 10 ;----------------------------------------------------------------------------------------------------- Bem, essa é a configuração do mapa a101. Tudo dependerá do tamanho do row e da column que pegamos na instance.txt Primeiro de tudo, você terá que adicionar um Index, lembrando, esse valor não pode ser igual outro mapa existente (dará conflito e os dois serão desligados), então use um valor depois do último mapa configurado, lembre-se também, que esse valor não pode passar de 128 (na 1.5.5), caso contrário, os monstros e npcs afundam no mapa. ( Usei 126). você terá que adicionar o id (Tag) para o ID do mapa no instance.txt, se o ID tiver errado (diferente do client), você toma disconnect ao tentar acessar o mapa. ( Usei 91). base_path é o caminho onde está o seu mapa, nesse caso, você altera apenas o nome ( Usei a101/ ). limit são variáveis de liberações do mapa, segue os exemplos em um fórum externo: [Conteúdo Oculto] Grid ( Como definir o valor ): O valor de Grid dependerá do seu Row / Column. Exemplos: Se o mapa for 2 / 2: 80,80,25,-1000,-1000 Se o mapa for 3 / 3 120,120,25,-1500,-1500 Se o mapa for 4 / 4: 160,160,25,-2000.-2000 Os exemplos acima são bem explicativos, caso não entendeu, basicamente: Você vai multiplicar o valor de grid x 25, ele dará o resultado total, ou seja: 80 x 25 = 2000. 2000 / 2 = 1000, então nesse caso: -1000, -1000. 120 x 25 = 3000. 3000 / 2 = 1500, então nesse caso: -1500, -1500. Assim por diante. base_region e local_region, você consegue esse valor através do AngelicaMapEditor. Os demais valores importantes de serem configurados eu deixei comentário no exemplo acima. Em caso de dúvidas fique à vontade em perguntar.1 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
-
Boa noite moçada, Me mandaram essa postagem e fiquei intrigado Ativei minha conta aqui novamente só pra comentar. Havia uns 7 dias que eu não falava com o Segment32, então fui perguntar pra ele se tinha vendido pra alguém.. Até porque também teve trabalho meu nos arquivos e ele sempre me informou quando vendeu com meus sistemas e afins, e ele, até hoje, vendeu o código fonte apenas para 1 pessoa de confiança... Quem tiver interesse, CUIDADO, porque esses arquivos não estão nas mãos do postador, e perguntando ao verdadeiro detentor e desenvolvedor, ele disse estava pensando em vender para o postador por 5.000$ USD ( isso daria uns 25 mil mais ou menos ) de mão única, ou seja somente para uso próprio, e basicamente ele está buscando um investidor.. O desenvolvedor dos arquivos (Segment32) pediu para eu responder na postagem da seguinte forma: “Não ofereci vendas públicas dos meus arquivos de origem para pessoas que não conheço antes.”1 ponto
-
1 ponto
-
Estou compartilhando um NPC que acho louco. PWServer usada 1.5.1 v101 guitarhero.rar1 ponto
-
Abra os arquivos .data no editor para visualizar suas versões respectivas. Em seguida, compare esses arquivos .data com os que estão em funcionamento no PWServer. É provável que as versões sejam diferentes; nesse caso, você pode converter os .datas para a versão que esta funcionando usando o próprio editor. Eu tenho esses limpos aqui, tente ai (dentro tb tem os gshop-serverside) data155.zip1 ponto
-
1 ponto
-
1 ponto
-
1 ponto
-
1 ponto
-
0 pontos
-
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]0 pontos