Jump to content

[TUTORIAL] Encontrar Address HP - OTClient


Recommended Posts

Como fazer para encontrar o valor de HP em um OTClient usando CheatEngine (7.2). É praticamente o mesmo procedimento para qualquer client de Tibia.
PS: O MESMO TUTORIAL SERVE PARA ACHAR A MANA

PASSO 1- Abrir TIBIA + CheatEngine

PASSO 2- SCANEAR O LIFE

PASSO 3- PENERAR O LIFE

PASSO 4- ABRIR O ADDRESS

PASSO 5- POINTER SCAN DO ADDRESS
PASSO 6- ACHAR O BASE ADDRESS + ADDRESS + OFFSET

PASSO 7- ATUALIZAR NO BOT


PASSO 1

1- Com o client e o Cheat Engine abertos, clique (1) para selecionar o processo

2- Selecione a janela do seu tibia (no caso RetroCores).
spacer.png

PASSO 2
1- Em "value type" coloque DOUBLE

2- Digite o valor da sua life, de preferencia que não esteja cheia
3- Clique em "FIRST SCAN"
4- Voce verá que encontrou varios Address
spacer.png

PASSO 3
1- Tome algum hit para descer a life um pouco e digite o novo valor
2- Clique em "NEXT SCAN"
3- Voce verá que deu uma penerada nos address, repita esse PASSO 3 até sobrar 1 Address (no meu caso sobraram 3)
spacer.png

PASSO 4
1- Dê 2 cliques no Address que encontrou (no meu caso foram 3, vamos descobrir o verdadeiro)
2- Vai aparecer la em baixo, clique com botão direito do mouse
3- Clique em "POINTER SCAN FOR THIS ADDRESS"
spacer.png

PASSO  5
1- Em MAX LEVEL mude de "7" para "1"
2- Clique em OK
3- Abrirá uma tela e clique OK novamente
4- Vai pedir pra voce salvar um arquivo, digite qualquer nome e clique em SALVAR
spacer.png

PASSO 6
1- Pronto, em um dos resultados aparecerá o Address + o offset de Life
PS: Note que encontrei no terceiro Address da lista
spacer.png

PASSO 7
1- Agora voce aprendeu a encontrar o "Base Address", "Address + offset de Life". No meu BOT basta atualizar os campos.
PS: offset de life = 470. Como é hexadecimal precisa ser escrito &H470
spacer.png

Edited by oclipper (see edit history)

Xy7nBlq.png

Link to post
Share on other sites
  • 4 weeks later...
1 minuto atrás, wesquel disse:

Isso funciona ? não deveria, pois os dados da maioria dos OT's estão na database deles e não no client, o client so recebe essa informação.

 Funciona 100%. A maioria dos OTs agora estao usando OTCliente. Nao entendi seu comentário, vc deve ter confundido com outra coisa

Xy7nBlq.png

Link to post
Share on other sites
  • 1 month later...
1 hora atrás, Hastafary disse:

cheatengine mostra a signature do client?

 

O que seria essa signature? Se é o classname, pode ser encontrado usando meu proprio Bot OU com programas como Spy++ e WinID

Xy7nBlq.png

Link to post
Share on other sites
3 minutos atrás, oclipper disse:

O que seria essa signature? Se é o classname, pode ser encontrado usando meu proprio Bot OU com programas como Spy++ e WinID

signature seria quando você compila as sprites no client de acordo com a versão que deseja.

exemplo quando voce usa o objectbuild pra compilar o spr e dat do client.

nao sei se vai conseguir me entender

Link to post
Share on other sites
  • 2 months later...
8 horas atrás, William Oliveira disse:

Tentei fazer no Return Of The Saiyans, achei o offset, coloquei mas ele não identifica 😢
Notei que não tem mais o campo adrHeal para colocar o adress, ta certo isso?

image.thumb.png.eac088855712b3f3782c48d93cd35fa9.png

Tem que colocar o Local Player, ele é o principal. O classname está errado, vai encontrar o client pelo titulo da janela (isso é um problema se vc tiver com a pasta aberta ele encontra a pasta invés do client).

Xy7nBlq.png

Link to post
Share on other sites
6 horas atrás, oclipper disse:

Tem que colocar o Local Player, ele é o principal. O classname está errado, vai encontrar o client pelo titulo da janela (isso é um problema se vc tiver com a pasta aberta ele encontra a pasta invés do client).

Entendi, eu achei que o classname era o nome que aparecia na janela do client, no caso o nome do processo seria "rotsdx.exe" que é o que fica no gerenciador de tarefas e o classname seria o que exatamente?

Não achei um tutorial sobre como pegar o localplayer, teria algum?

Link to post
Share on other sites
Posted (edited)
3 minutos atrás, William Oliveira disse:

Entendi, eu achei que o classname era o nome que aparecia na janela do client, no caso o nome do processo seria "rotsdx.exe" que é o que fica no gerenciador de tarefas e o classname seria o que exatamente?

Não achei um tutorial sobre como pegar o localplayer, teria algum?

Tem meu tutorial nessa mesma sessão de Otclient. La no cheat engine mostra o base address e o localPlayer (main address).

 

https://tibiaking.com/forums/topic/102597-tutorial-encontrar-address-hp-otclient/

Edited by oclipper (see edit history)

Xy7nBlq.png

Link to post
Share on other sites
1 minuto atrás, William Oliveira disse:


Beleza, vamos ver se eu entendi, seria isso?

image.png.d8832babfc76909473063cb23f5eaa36.png

rotsdx.exe = base address

006A1104 = local player

40 = offset

Classname voce precisa do Spy++ ou então vai no botão "Dev" do bot que quando passa o mouse em cima da janela ele mostra o classname

 

Xy7nBlq.png

Link to post
Share on other sites
9 minutos atrás, oclipper disse:

rotsdx.exe = base address

006A1104 = local player

40 = offset

Classname voce precisa do Spy++ ou então vai no botão "Dev" do bot que quando passa o mouse em cima da janela ele mostra o classname

 

 

Parabéns mano, obrigado por compartilhar o teu conhecimento!
Sempre tive vontade de aprender e entender como funcionava. Vou estudar a source que tu liberou e entender melhor como tudo funciona.

 

image.thumb.png.61441396477183fcb37649ea832a642b.png

Link to post
Share on other sites
1 minuto atrás, William Oliveira disse:

 

Parabéns mano, obrigado por compartilhar o teu conhecimento!
Sempre tive vontade de aprender e entender como funcionava. Vou estudar a source que tu liberou e entender melhor como tudo funciona.

 

image.thumb.png.61441396477183fcb37649ea832a642b.png

Voce entendeu como conseguir o valor de HP. Agora o de mana é mesma coisa. Na verdade os outros valores estao proximos ao hp na memoria, dentro do address chamado "local player". Quando se pega o jeito da pra atualizar um bot em 10 minutos, infelizmente nenhum bot deixa editar os address pra fazer funcionar em outra versao. Se voce manja de VB6 eu estou preso agora na Battlelist de OTCv8, por isso meu bot está parado e nao funciona em todos OTClients.

Xy7nBlq.png

Link to post
Share on other sites
4 minutos atrás, oclipper disse:

Voce entendeu como conseguir o valor de HP. Agora o de mana é mesma coisa. Na verdade os outros valores estao proximos ao hp na memoria, dentro do address chamado "local player". Quando se pega o jeito da pra atualizar um bot em 10 minutos, infelizmente nenhum bot deixa editar os address pra fazer funcionar em outra versao. Se voce manja de VB6 eu estou preso agora na Battlelist de OTCv8, por isso meu bot está parado e nao funciona em todos OTClients.

Eu estava indo por um caminho totalmente diferente, eu estava tentando hookar as functions do client no assembly.
Não manjo de VB6, vou aprender agora olhando a source e entendendo como as funções foram feitas e buscando na documentação

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

Confirmação de Termo