Ir para conteúdo
  • Cadastre-se

Auto Ataque sem usar tibia api - sem envio de pacotes


Posts Recomendados

Bom dia,

Estou fazendo um bot em c# sem usar tibiaapi, não quero enviar pacotes para o

servidor para executar ações que nem os bots costumam fazer.

O tibiaapi envia pacote para atacar as criaturas pelo que eu vi.

Não estou conseguindo fazer uma maneira de forçar um ataque nas criaturas pelo próprio cliente.

Peguei os seguintes address do tibia 860

e notei que estes address são responsáveis pelo ataque as criaturas.

só consegui descobrir o primeiro

id da criatura ---------------------------------------------> 63FE64 - 1 byte

?????? randomico ----------------------------------------- -> 63FE65 - 1 byte

????? randomico --------------------------------------------- -> 63FE66 - 1 byte

????? sempre esta como 64 acho que é a cor do retangulo ----------> 63FE67 - 1 byte

Alguem pode me ajudar ?

Rep++ !

Link para o post
Compartilhar em outros sites

Opa, que bom saber que você está tentando algo que não utilize TibiaAPI, você já tentou usar SendMessage com clicks? e claro lendo a posição do monstro na tela ou a posição do monstro na battlelist que eu diria que é mais dificil. :)

Link para o post
Compartilhar em outros sites

pow ja estou usando o SendMessage para os potions e spells, e assim vai ser sinistro pegar a posição da criatura e etc

eu ja testei esses address q eu te mandei, tpw se eu do ataque num summon que eu fiz e copio os valores atribuidos a esses address e

clico novamente para ele parar de atacar e vou e escrevo os valores copiados no address o ataque funciona.

Estou quase lá rsrs,

só preciso desvendar oque são esses dois números randomicos e de onde vem esses fdms pra eu poder prevelos no bot hehehehe

Link para o post
Compartilhar em outros sites

Se você quer usar SendMessage para atacar, você vai ter que pegar o XY da posição da criatura e então converter para a posição local (do monitor).

E então enviar para essa posição.

Os valores que você achou, faz parte da estrutura da BattleList.

Link para o post
Compartilhar em outros sites

Kimo e lucas, eu ja fiz um "targeter" ele funciona otimo em ambientes limpos, o problema é se você está em um local onde tem "casas" que os monstros estão embaixo do telhado, isso também deve levar em conta é mais fácil fazer igual o iBot fazendo com que o programa click diretamente na battlelist e não no telhado de uma casa que seria pela tela.

Link para o post
Compartilhar em outros sites

Se você quer usar SendMessage para atacar, você vai ter que pegar o XY da posição da criatura e então converter para a posição local (do monitor).

E então enviar para essa posição.

Os valores que você achou, faz parte da estrutura da BattleList.

Sim mas se tiver uma maneira de prever os 2 bytes dos 2 endereços que eu não descobri

ou saber oque eles significam ja resolve meu problema para não ter que fazer um código para calcular posição x e y de uma criatura e etc..

e tem isso se tiver casas ele vai clicar no telhado ou seja ainda não é a melhor opção simular clicks ;/

Link para o post
Compartilhar em outros sites

Descobri o erro o problema era que eu achava que o id da criatura fosse 1 byte

eu apenas preciso alterar o 63FE64 para o id da criatura de 4 bytes resolvido feito isso o ataque funciona obrigado pela ajuda xD

Link para o post
Compartilhar em outros sites
Descobri o erro o problema era que eu achava que o id da criatura fosse 1 byte

eu apenas preciso alterar o 63FE64 para o id da criatura de 4 bytes resolvido feito isso o ataque funciona obrigado pela ajuda xD

Fico Feliz que conseguiu :accepted:

Link para o post
Compartilhar em outros sites

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

  • Conteúdo Similar

    • Por haith
      Bom andei postando em outros fóruns porém o povo não está colaborando só tem falado merda com mais merda pra mim e ensistem em usar TIBIAAPI coisa que eu não quero usar

      Pois bem decidi fazer um target pra comprar os truta até que eu me deparei com a seguinte coisa... eu tinha 3 opções, pegar X,Y,Z do Player que irei atacar pela battlelist, fazer umas contas infernais mandar un Sendmessage com o click do botão direito e depois o hotkey... porem nisso de pegar o tamanho da tela, / pelos 15 sqm de largiura e 11 de altura ja iam quebrar minhas perna por que pegar a posição do char que é no centro da tela é uma coisa agora pegar a posição de alguém que eu não sei aonde vai estar me da mais de 160 posições então eu teria que mexer com matriz uma coisa meio infeliz... então decidi fazer com SendPacket

      e começei a fazer talz minha Battlelist le o nome que eu coloco pega o Id pra mim coloca no target faz o caralho a 4 deixa tudo bunitin inclusive coloca o REDSQUARE no player em todo caso ele funciona se eu apertar um hotkey estiloi Runa (sd, icicle) etc... agora se eu apertar (o bot apertar) um hoktei do tipo strike que é (exori max frigo, max flam etc...) ele solta no chão...

      e realmente a parte de packet está bugada por que com ou sem ela o bot faz a mesma coisa...

      então se alguém souber me ajudar por favor :B

      Estou fazendo para versão 9.70 o packet.dll que eu peguei será que precisa ser pra 9.70? aonde consigo? ou algo assim...



      procedure TMain.MenuItem1Click(Sender: TObject); var List : TListItem; aux: string; begin List := ListView1.Items.add; aux := (BL.Selected.Text); List.Caption:= (aux); end; procedure TMain.ComboTargetTimer(Sender: TObject); var v1: integer; v4: String; i: integer; auxTarget, i2, auxvalor: integer; ler : Dword; PacketBuffer: array [0..200] of byte; begin v4:= Edit4.Text; v1 := StrToInt(ComboBox29.Text); auxTarget := Integer(LastTarget); Updateworld; // Chama a função for i := 0 to MaxCreatures - 1 do begin if (BattleList[i].isVisible = 1) then begin if ((BattleList[i].Name = v4)) then begin auxValor :=BattleList[i].ID; if ((auxValor = BattleList[i].ID) and (BattleList[i].HPBar <= v1)) then begin WriteProcessMemory(PH, Ptr(RedSquare), @auxvalor, 4, ler); // aqui ele manda o redsquare que acerta com sd //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ PacketBuffer[0] := $05; PacketBuffer[1] := $00; PacketBuffer[2] := $A1; copymemory(@ PacketBuffer[3],@auxValor,4); PacketBuffer[8] := $00; PacketBuffer[9] := $00; PacketBuffer[10] := $00; SendPacket(PID, @PacketBuffer); << -- no Debug da erro exatamente quando sai desta linha //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~está é a parte que não está funcionando hotkey(ComboBox30.Text); end; end; end; end; end;


      Alguem sabe se pode ser minha packet.dll que é bugada po alguns valores que estou usando?
      se eu tenho que baixar uma nova ou algo assim ...
    • Por Miichelc
      Estou atraz de fazer um auto utani gran hur sem TibiaAPI, Trabalhando com Tibia 8.6.
      Certo, estava procurando os endereços, até que achei o endereço da memória que aponta as Flags (Paralyzed, Hasted, Cursed, etc).
      Porém, cada Flag consta em um número:


      0 = None
      1 = Poisoned
      2 = Burning
      4 = Electrified
      8 = Drunk
      16 = Mana Shield
      32 = Paralyzed
      64 = Hasted
      128 = In Battle
      256 = Drowning
      512 = Freezing
      1024 = Dazzled
      2048 = Cursed
      4096 = Buffed
      8192 = In battle PVP
      16384 = Protection Zone
      32768 = Bleeding
      (Peguei daqui: http://code.google.c...dressPlayerFlag)

      O endereço se soma!!
      Por exemplo:
      Estou em Battle e Hasted, o valor fica de 128 + 64 =/
      Aí estava à procura de uma forma mais fácil de se fazer sem ter que subtrair valores até cair em um só.
      Tem alguma solução mais fácil?
      D:
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo