Ir para conteúdo

Featured Replies

Postado
  • Autor

Percebi outra coisa... fiz o bugg acontecer de novo utiliz\ando o bot em tempos e percebi que ele pelo visto se perde ao ler address por que o nome na battle list começou a aparecer +/- assim 5fjh30d83 e o porcento de vida aparecia 10034993894% aparecia uns numeros bem retardados e não lia a vida nem mana então ele +/- se perde ao ler address sei que se eu abrir e fechar ele volta ao normal... mais estou lendo o address como sempre fiz e sempre funcionou... não faço idéia do que pode ser agora :S

  • Respostas 10
  • Visualizações 575
  • Created
  • Última resposta

Top Posters In This Topic

Postado
  • Autor

Como assim só defino uma vez para qual tibia vai funcionar?

estou lendo assim vou colocar alguns exemplos...

const



  //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Life e Mana / max / max

  adrXOR = $7B2E90;


  adrMyHP = $948000;

  adrMaxHealth = $97FE9C;


  adrMyMana = $7B2EE4;

  adrMaxMana = $7B2E94;


  //~~~~~~~~~~~~~~~~~~~~~~~~~~~//função de auto spell, xp, idplayer, connected e soul

  Experience = $7B2EA0;

  adrPlayerId = $97FEA4;

  adrConnected = $7BCCC4;

  adrSoul = $7B2ED0;


  ADR_FLAGS  = $7B2E54;

  //~~~~~~~~~~~~~~~~~~~~~~~~~~~//teste battlelist


  StepCreatures = $B0;

  MaxCreatures = 250;

  adrStart = $948008;

Lendo Flags de Haste...


function Haste: boolean;

var

  f: Integer;

begin

  Offset := Integer(GetTibiaBaseAddress(ProcessID));

  f := ReadInteger ((ADR_FLAGS + Offset)- $400000);


  if (Integer(Hasted) = (f and Integer(Hasted))) then

    Result := false

  else

    Result := true;

end;

Aqui pra ler a battlelist acabei de ver que estava sem () entre o ((adrStart + Offset) - $400000); talvez possa ser isso...


procedure Updateworld;

  var

  i: integer;

  Start: integer;

begin


   Offset := Integer(GetTibiaBaseAddress(ProcessID));

   Start := (adrStart + Offset) - $400000;


  for i := 0 to MaxCreatures - 1 do

    begin

      BattleList[i].Name := ReadString(Start + (i * StepCreatures)+ DistanceName);

      BattleList[i].Id := ReadInteger(Start + (i * StepCreatures)+ DistanceId);

      BattleList[i].iType := ReadByte(Start + (i * StepCreatures)+ DistanceType);

      BattleList[i].isVisible := ReadInteger(Start + (i * StepCreatures)+ DistanceIsVisible);

      BattleList[i].X := ReadInteger(Start + (i * StepCreatures)+ DistanceX);

      BattleList[i].Y := ReadInteger(Start + (i * StepCreatures)+ DistanceY);

      BattleList[i].Z := ReadInteger(Start + (i * StepCreatures)+ DistanceZ);

      BattleList[i].IsWalking := ReadInteger(Start + (i * StepCreatures) +(DistanceIsWalking));

      BattleList[i].WalkSpeed := ReadInteger(Start + (i * StepCreatures) +(DistanceWalkSpeed));

      BattleList[i].Direction := ReadInteger(Start + (i * StepCreatures) +(DistanceDirection));

      BattleList[i].Outfit := ReadInteger(Start + (i * StepCreatures) +(DistanceOutfit));

      BattleList[i].Addon := ReadInteger(Start + (i * StepCreatures) +(DistanceAddon));

      BattleList[i].MountId := ReadInteger(Start + (i * StepCreatures) +(DistanceMountId));

      BattleList[i].ColorHead := ReadInteger(Start + (i * StepCreatures) +(DistanceColorHead));

      BattleList[i].ColorBody := ReadInteger(Start + (i * StepCreatures) +(DistanceColorBody));

      BattleList[i].ColorLegs := ReadInteger(Start + (i * StepCreatures) +(DistanceColorLegs));

      BattleList[i].ColorFeet := ReadInteger(Start + (i * StepCreatures) +(DistanceColorFeet));

      BattleList[i].HPBar := ReadInteger(Start + (i * StepCreatures) +(DistanceHPBar));

    end;

end;


E aqui é por exemplo como eu uso a updateworld chamando em outra função em uma espécie de verificação de char porém ele só funciona no ultimo tibia que cliquei a janela...


procedure TMain.FormCreate(Sender: TObject);

var

    i: integer;

    idp: integer;

    begin

    hook;


    idp:= Integer(PlayerID);

    if idp = 0 then

    begin

      ShowMessage('Wrong Tibia Version, SkullBot 9.70!');

      Application.Terminate;

    end


    else

    begin

    UpdateWorld;         // <<<<<<<<<<<<<<<<<<<<< aqui :B

   for i := 0 to MaxCreatures - 1 do

    begin

      if BattleList[i].Id = idp then

      begin


      if MessageDlg('Tibia Client in character: '+BattleList[i].Name, mtConfirmation, [mbYes, mbNo], 0) = mrNo then

      Application.Terminate;

      end;

    end;

    end;

    end;


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

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.9k

Informação Importante

Confirmação de Termo