Jump to content
Notícia
  • Adquira já o seu VIP!

xEviiL'

Membro Avançado
  • Content Count

    28
  • Joined

  • Last visited

  • WCoins

    250 [ Donate ]

Community Reputation

29

1 Follower

About xEviiL'

  • Rank
    WebCheats

Recent Profile Visitors

188 profile views
  1. Deixa eu esclarecer uma coisa pra vcs não bugar tudo. O client por padrão tem ID’s predefinidos que executam uma determinada função na exibição da interface. Sendo assim, se vc alterar o ID de um objeto já existente vai perceber que ele vai perder sua função ou dar crash no client. O RootID serve pra vc atrelar um objeto ao outro, pra quando o Objeto pai for chamado ele chamar seus objetos filhos. Vamos deixar mais claro, quando vc abre sua tela de personagem tem diversas informações sendo exibidas na tela, cada uma daquelas informações são um objeto filho, sendo o objeto pai o painel que Compõe toda a janela. Se vc mudar o RootID de qualquer informação e abrir a tela de personagem vai perceber que a informação que vc alterou vai sumir. Algumas posições também são definidas pelo client como o Sheper explicou. Vc consegue alterar praticamente qualquer posição de objetos exibidos na tela, mas alguns não
  2. Ta na mão -> Editor de UITextureList Me dê um exemplo em que ocorreu isso, porque não tive esse problema.. Aliás, se não me engano, o único que não moveu foi a tela de seleção de servidor, o restante moveu normalmente.
  3. Abrindo o Arquivo “UITextureSetList.txt” dentro da pasta UI do Client vc encontrará diversas informações. Cada uma delas refere-se a uma imagem lida pelo sistema. No caso da Logo1.wyt estará assim: [title_1] SetIndex: 12 ItemCount: 1 5,0,0,256,256,0,0 SetIndex - Define o ID da estrutura. Esse é o ID que você procura, sendo assim você deve setar esse número na Informação “UITexture” do arquivo convertido. ItemCount - Refere-se a quantidade de texturas que serão lidas. Os números abaixo são respectivamente: ID, PosX, PosY, Tamanho X, Tamanho Y, 0, 0 5 - ID do arquivo “.wyt”. Você pode ver o Id de cada arquivo .wyt utilizando o conversor de UITextureSetList/RC disponível aqui no fórum. 0 - Posição Horizontal onde começa a leitura da imagem dentro do arquivo .wyt 0 - Posição Vertical onde começa a leitura da imagem dentro do arquivo .wyt 256 - Tamanho Horizontal da Imagem que será lida. 256 - Tamanho Vertical da Imagem que será lida. 0 - Não sei 0 - Não sei Simplificando, se vc tem 2 imagens dentro de um mesmo arquivo .wyt e quer ler apenas uma delas basta Identificar o Id do arquivo.wyt, a posição dessa Imagem dentro do arquivo e o tamanho dela a partir daquela posição. Num arquivo de logo por exemplo com 512x512px se a sua imagem ocupa todo o espaço do arquivo basta setar o id “5, 0, 0, 512, 512, 0, 0” que ele vai ler o arquivo todo. Vc ainda pode aumentar a imagem pra quantos pixels quiser e definir o tamanho dela no arquivo de texto que o client redimensiona automaticamente dentro da tela do jogo. Porém use com bom senso para não pesar demais no consumo de RAM. Uma dica para localizar os ID’s no arquivo .txt é abrir o arquivo UITEXTURESETLIST .bin com o editor que citei e ver seu ID, posteriormente procurando com CTRL+F com o número do ID. Porém, na maioria dos casos vc vai encontrar esse mesmo id diversas vezes, pois um arquivo .wyt pode ter várias imagens, ai seria interessante converter e abrir em um editor de imagem para comparar a posição que a imagem está sendo lida dentro do .wyt Espero que tenha ficado de fácil compreensão.
  4. Na verdade isso é bem simples, imagine por exemplo os componentes que compõem o Inventário, existem diversos locais para equipar itens, não há necessidade de vc puxar uma textura pra cada slot independente, pois já há um arquivo .wyt com o gráfico de toda a tela de inventário, sendo assim cria-se um objeto Pai (Painel/HUD) que carregará a informação do tamanho da tela de inventário como um todo, puxando o gráfico do arquivo inventory.wyt, posteriormente adiciona-se o slots como objetos filhos, sem nenhuma textura, e apenas readequa-se esses slots para casarem com o desenho do arquivo.wyt, dessa forma vc só carrega uma imagem e otimiza o processo todo. Não sei se ficou claro a explicação, mas o conceito é esse. Um exemplo prático de uma edição dessa tela seria vc mudar a posição dos slots no arquivo .bin, vc verá que o item vai equipar em outro ligar de tela, não respeitando o gráfico. Sendo assim, vc deve readequar a posição do slot tanto no .bin quanto no arquivo de gráfico.wyt Aproveitando a deixa, talvez vc pudesse me explicar por gentileza qual método usou para fazer a conversão para .bin, pois testei vários métodos e nn consegui. Seria possível?
  5. Olá, eu tive um problema com meu Not, por isso não consegui terminá-lo ainda. Em todo caso já o @victorcostahk já liberou para download uma tool com essa função. Não sei se foi utilizado o projeto que postei como base ou não, mas como já foi postado creio que não seja mais necessário eu trabalhar na finalização do projeto para o fórum.
  6. Exatamente! Como eu disse, sou leigo em C/C++, por isso o projeto ainda não está concluído. Assim que finalizado farei um post com o download e a explicação de como utilizar, pois o arquivo puxa informações de outros arquivos. Tentei deixar o mais fácil possível dentro do pouco conhecimento que tenho. Após a finalização desse projeto darei continuidade ao meu projeto em Delphi de um Editor que irá ler o arquivo diretamente do .bin, sem necessidade de conversão, desenhando na tela tudo que se cria/modifica. Como o @digmeira disse, basta criar uma pasta chamada UI e jogar os arquivos lá dentro, ou jogar o executável diretamente na pasta do seu WYD. (Aconselho fazer backup dos arquivos para não ter problemas..)
  7. Opa, tudo bom ? tu tem discord, queria saber se você faria um freela

    1. xEviiL'

      xEviiL'

      Opa, td bom? Eu não tenho Discord, porém no momento também não consigo pegar um freela. Estou preso em alguns projetos..

      Assim que finalizado os projetos talvez eu consiga, mas por enquanto está muito complicado, até porque o conversor está bem cru.

      Oq vc precisava exatamente, de repente consigo te auxiliar em algo.

    2. Kevin Math

      Kevin Math

      estou estudando controle das huds do WYD, mas sou limitado, daí to procurando ajuda ou eventualmente freelas pra me ajudar na parte de criar controle/hookar do UI

  8. Adicionei o projeto no GitHub já com o conversor para .txt funcional. Se alguém puder contribuir com ideias para o conversor inverso ficarei muito grato. Link: WYD XXXScene Converter Obs: Estou utilizando o VS 2015 para compilar!
  9. Conforme dito, segue projeto no Git para estudos e contribuições. WYD XXXScene Converter
  10. @GUIIGO_YT Através desse arquivo postado nós pudemos identificar a estrutura dos itens que compõem a interface (Botões, Textos, etc..). Os arquivos responsáveis por formar a interface estão na pasta UI, sendo eles FieldScene2.bin responsável por toda a o interface Ingame (Após passar pela tela de personagem), a SelCharScene2.bin responsável pela interface da tela de personagem (Numerica, Info do Char, etc..) e a SelServerScene2.bin responsável pela interface da tela de login. Eu já finalizei a programação do arquivo que converte o “.bin” para “.txt”, ficando igual essas informações que você postou, para tornar mais fácil a alteração, porém ainda não conclui a conversão do “.txt” para “.bin” novamente. As alterações que fiz até o momento foram usando um editor Hexadecimal diretamente no arquivo “codificado” se assim podemos dizer. Vou subir meu projeto do conversor no GitHub já com a conversão para “.txt” funcional, para que os interessados possam contribuir, pois sou extremamente leigo em C/C++. Pelo que pude perceber, se você apenas modificar o posicionamento dos itens ou criar uma nova janela não precisará de nenhum hook, porém para adicionar novas funções ou composições que não estão presentes no jogo nativamente ai sim será necessário, porém isso fica pra depois, o importante agora é se aprofundar no aprendizado de como as coisas funcionam.. #Dica: a info “Base_ID” é quem define ações nativas do game, como por exemplo, ao clicar num botão qual ação ele vai fazer Essa foi minha primeira modificação. A tela de servidor foi redimensionada para aceitar somente 2 servidores com 4 canais cada
  11. Obrigado :) Eu ainda não consegui fazer o conversor inverso, para gerar o .bin, mas estou tentando.. Estou tentando usar o método de leitura dos arquivos .ini (ini parser), mas estou fazendo algo de errado. Assim que estiver concluído eu postarei aqui pra galera.
  12. Pode ser, dps que fiz isso os JMP nunca mais tirei, talvez eu realmente estava colocando informações incorretas @Atualização Conversor XXXScene quase saindo.. hehehe @Atualização2 Conversor para TXT pronto! :)
  13. Estranhamente meu WYD.exe fechava quando alterava os arquivos Scene. Fiz uns Jmps ele funcionou. Agora que você falou fiz o teste sem e funcionou, vai entender.... // ChkSum Client 7.622 HookMgr::instance().SetHook(eHookType::JMP, 0x004B1FDC, 0x004B1FE3); // DemoAction.bin HookMgr::instance().SetHook(eHookType::JMP, 0x004B1FF7, 0x004B1FFE); // DemoAction2.bin HookMgr::instance().SetHook(eHookType::JMP, 0x004B2012, 0x004B2019); // DemoAction3.bin HookMgr::instance().SetHook(eHookType::JMP, 0x004B202D, 0x004B2034); // DemoAction4.bin HookMgr::instance().SetHook(eHookType::JMP, 0x004B2048, 0x004B204F); // DemoAction5.bin HookMgr::instance().SetHook(eHookType::JMP, 0x0043D0A4, 0x0043D0AE); // FieldScene2.bin HookMgr::instance().SetHook(eHookType::JMP, 0x004A577D, 0x004A5787); // SelCharScene2.bin HookMgr::instance().SetHook(eHookType::JMP, 0x004AF9D4, 0x004AF9DE); // SelServerScene2.bin Os DemoAction remove a leitura das Demos, assim fica uma tela azul no lugar da animação
  14. Tenho uma do pq isso acontece. Os objetos são lidos como Pai e Filhos. Se você alterar a posição de um objeto pai todos os objetos filhos se moverão proporcionalmente. Vou explicar melhor.. Todo objeto por padrão carrega 3 informações em comum, sendo elas: Type = Define o tipo do objeto (HUD, Text, etc..) Base_ID = Define o ID do Objeto HUD_ID = Define se o objeto é Filho de outro objeto (0 0 = Pai). Se você definir o ID de outro objeto aqui ele passará a ser filho desse objeto. Sendo assim, se a HUD de tela de Servidor é: HUD { Type = 1 Base_ID = 1 1 HUD_ID = 0 0 UITexture = -467 Pos_X = 0 Pos_Y = 0 Widht = 497 Height = 259 RadiusClick = -1 Unknown = 4 StartScene = 1 { Um pouco mais abaixo onde tem a informação do SN deverá ficar com a HUD_ID como “1 1”, que é o Base_ID da HUD do Servidor, pra quando vc mover a HUD o campo de seleção de servidor se movimentar junto. Isso já é definido por padrão, se vc alterou tem q voltar para esse padrão. SN { Type = 6 Base_ID = 1 6 HUD_ID = 1 1 UITextureSetID = -1 ServerNameSpaceX = 10 ServerNameSpaceY = 10 Pos_X = 41 Pos_Y = 41 SpaceForClickX = 59 SpaceForClickY = 180 Unknow1 = 0 Unknow2 = 4 Unknow3 = 1 StringID = 0 } SN { Type = 6 Base_ID = 1 7 HUD_ID = 1 1 UITextureSetID = -2 ServerNameSpaceX = 10 ServerNameSpaceY = 10 Pos_X = 150 Pos_Y = 41 SpaceForClickX = 132 SpaceForClickY = 180 Unknow1 = 0 Unknow2 = 4 Unknow3 = 1 StringID = 0 } } }
  15. Esses arquivos possuem uma checagem sim, se você alterar o arquivo sem dar um JMP na checagem o WYD.exe simplesmente fecha.. Não conheço o termo de se usar, mas tem que dar um JMP.
×
×
  • Create New...