Postado Janeiro 30, 2013 12 anos 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
Postado Janeiro 30, 2013 12 anos Como você está lendo o endereço? Você só define uma vez para qual Tibia irá funcionar certo?
Postado Janeiro 30, 2013 12 anos 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;
Postado Janeiro 30, 2013 12 anos Autor Tirei uma foto de como fica minha battlelist quando acontece o erro... [link]http://imageshack.us/photo/my-images/32/errobot.jpg/[/link] Veja que ele me da player offline e lê coisas retardadas na battlelist... estou quase tendo ctz que ele para de ler os address mais como e por que/
Postado Janeiro 30, 2013 12 anos Mas pelo oque você disse, ele fica dando spam na mana potion certo? Então seria alguma coisa com a verificação com a sua mana atual. Qual o seu sistema opercional? Quantos bits?
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.