Tudo que haith postou
-
Como saber a Distância de um Player / monstro em relação a você!
Olá gostaria de saber como eu descubro que eu estou a sei la 2 sqm de um player ou 5 sqm de um monstro!!! acredito eu que seja pela battle list também... Porém minha battle list não tem nenhum atributo de distância ou algo similar... Vou postar os atributos Na hora em que vou fazer a leitura leio como qual quer... Gostaria de saber alguma forma ou qual atributo a distância do player tem para eu poder declarar e poder ler como no exemplo abaixo Teria um sei la DistancePlayer = X Valor; que me devolve-se se o char lido estiver a 1,2,3,4,5,6,7... sqms do meu personagem? DistanceId = 0; DistanceType = 3; DistanceName = 4; DistanceX = 44; DistanceY = 40; DistanceZ = 36; DistanceIsWalking = 80; DistanceDirection = 84; DistanceOutfit = 96; DistanceAddon = 116; DistanceMountId = 120; DistanceIsVisible = 172; DistanceSkull = 152; DistanceColorHead = 100; DistanceColorBody = 104; DistanceColorLegs = 108; DistanceColorFeet = 112; DistanceWarIcon = 168; DistanceWalkSpeed = 144; DistanceHPBar = 140; DistanceParty = 152; Aqui é como eu leio por exemplo o nome... BattleList[i].Name := ReadString(Start + (i * StepCreatures)+ DistanceName); Obrigado!!! :B
-
Bot GF
//Aparta o botão do mouse SendMessage(TelaHandleDoGrandFrantasia, WM_LBUTTONDOWN, MK_LBUTTON, MakeLParam(posição vertical, posição horizontal)); //solta o botão do mouse SendMessage(TelaHandleDoGrandFrantasia, WM_LBUTTONUP, MK_LBUTTON, MakeLParam(posição vertical, posição horizontal));
-
[Pedido][c#] Looting e Walker
Quer dinheiro depositado na conta tb?
-
Zeus Bot
bom você sabe que bot indetectável nenhum é né? o máximo que ele pode fazer é simular teclado e mouse como um humano, e outra coisa meu amigo upou um char do lvl 30 pro 130 em aproximadamente 4 meses usando um bot chamando BBOT, e não levou ban... parou de jogar e 5 meses depois ele levou ban pelo uso de bot... sendo que ele havia parado em outubro do ano passado e levou ban esse mês... mais isso é apenas uma informação a mais para você considerar... Mais continue :B tomara que de certo o/ boa sorte :B
-
Targeting erro...
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 ...
-
Buggando minha aplicação!
então ele dava erro no mana por que quando da o bug o address que le a mana deixa ele com valor de 0 então se o checkbox pegar 0 de mana e eu coloquei pra healar com 15% ele vai usar o potion e ele fica dando gran hur por que o numero que chega pra ele do flag não é 64 por ler algo diferente entende... e a life não estraga por que o label de connect trava a label de ler life se o player estiver offline ... eu uso o windows 7 - 32bits e testei em mais 1 computador da sony windows 7 tb 32bits no meu windows ASLD está desativado acho que é assim que escreve no pc da Sony não está e da erro do mesmo jeito ...
-
Buggando minha aplicação!
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/
-
Buggando minha aplicação!
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;
-
Buggando minha aplicação!
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
-
Buggando minha aplicação!
Me diga uma coisa eu tenho uma função chamada UpdateWorld que eu peguei de um battelist que você postou... ai por exemplo eu posso chamar ela por exemplo updateworld; em uma fução chamar em outra updateworld; em outra updateworld; eu uso ao todo em 5 lugares updateworld; pode fazer isso? ou será que é isso que está bugando meu bot...
-
Buggando minha aplicação!
tem 3mil linhas de código kamoszin... mais eu acabei de buggar ele aqui e meu battelist reader parou de funcionar bem na hora...
-
Buggando minha aplicação!
Oi estou desenvolvendo um bot já estou em mais de 3 mil linhas de comandos e funções entre eles auto spells como utani gran hur, utito tempo e heal mana life, anti idle... e de um tempo pra cá me deparei com o seguinte problema... meu bot está funcionando belezinha tranquilo dando utani gran hur healando tudo certinho usando mana pot... derrepente ele pega a começa a usar mana potion e dar utani gran hur LOUCAMENTE!!!!!!1 ELE NÃO PARAAAAAAAAAAAA até que eu desative a função de pot e de ler flags mas se ele funciona antes por que ele para de funcionar depois?? alguém sabe me dizer ou algo que eu possa tentar ou se ja aconteceu isso com alguém?/? obrigado
-
Coisa poca, Formatando Numero vindo de address...(Resolvido)
Oi tenho um numero vindo de uma address $XXXXXX que já está com tudo funcionando mais quando eu coloco ele numa label digamos que ele aparece assim 897969452 Mais eu gostaria de mostrar assim... 897.969.452 já procurei um monte de jeito todos eles só ensinam a deixar assim 89.7969452 nenhum ensina a separar estilo a exp do player do tibia... alguém sabe algum comando ou algo do tipo? NÃO SEI POR QUE MAIS EU TENHO ATRAÇÃO POR PROCURAR POR 3HRS A MESMA COISA DEPOIS POSTAR NO FORUM E ACHAR A RESPOSTA 2MIN DEPOIS!!!! Resposta ta aqui \/ var ValReal: Real; ValStr: String; begin ValReal := (PlayerExp); // Le o Address no meu caso o address da exp do player ValStr := FloatToStrF(ValReal, ffNumber,18,0); // Indica que vai ser convertido a um valor real e o ffnumber converte colocando os pontinhos de 3 em 3 igual citei a cima... o 18 e o 0 significa que eu quero até 18 casas com ponto e 0 casas com! Label22.Caption := 'Exp: '+(ValStr); // Aqui a label mostra no console a exp bunitinha :B
-
[Pedido] Identificar outro player na tela. Utilizando Pascal(Delphi)
Faz um leitor de battle list utilizando Start = $Address da BattleList; StepCreatures = $B0; MaxCreatures = 250; for i := 0 to MaxCreatures - 1 do begin BattleList[i].Name := ReadString(Start + (i * StepCreatures)+ DistanceName); BattleList[i].HPBar := ReadInteger(Start + (i * StepCreatures) +(DistanceHPBar)); Ai faz um check do tipo If (BattleList[i].Name = Nome Escrito.label) then begin end; Acredito que assim funcione
-
Cheat Engine Address (RESOLVIDO)
Não encontro como somar eles esse é o problema dai complica :B e quando eu acho que deu certo ele nem funciona no tibia kapskaopsk sendo que se eu caça o id por umas 3x no cheat engine ele funciona no delphi mais ai eu fecho e abro o tibia e ele nem funciona mais ... não sei explicar direito e não quero fazer desativando o ASLD sabe... quero fazer usando ((Offset + Address) - 400000)); mais parece que não da certo usando assim...
- Cheat Engine Address (RESOLVIDO)
- Cheat Engine Address (RESOLVIDO)
- Friend Sio - Lendo a vida do player da battle! (RESOLVIDO)
-
Apredendo a ler Battle List
Como faz pra ele funcionar com o ASRL desativado?
- Friend Sio - Lendo a vida do player da battle! (RESOLVIDO)
-
Friend Sio - Lendo a vida do player da battle! (RESOLVIDO)
Oi, alguém poderia me ajudar a ver como eu faço para ler a vida do meu amigo? Já fiquei sabendo que eu preciso usar Battle List Reader pois vi alguns tutoriais a maioria falido pois não ensina qual address tem que atualizar e colocam nomes ruins na Const e isso dificulta bastante para saber qual adress atualizar... alguém teria alguma idéia de como fazer um Exura sio "friend em delphi??? obs: não estou usando tibia API
-
Tela do tibia, para Tela do Ot;
Olá estou aqui de novo pois hoje estou muito animado com meu novo bot que estou desenvolvendo logo postarei print's para vocês verem... porém hoje me deparei com um pequeno problema eu não estou premmy no global então não há como eu testar todas as minhas funções perfeitamente... então troquei minhas const para versão 9.70 aonde há otservs bons para me ajudar a testar... Então eu vi que o meu bot não lê se for em otserv, apenas em global, não sei o que posso mudar não sei o que posso trocar para fazer ele ler a janela do tibia sendo ela global ou otserv... alguém tem alguma idéia? estou usando Delphi. Preciso trocar algo aqui? function GetTibiaBaseAddress(ProcessID: Cardinal): Pointer; var Modules: Array of HMODULE; cbNeeded, i: Cardinal; ModuleInfo: TModuleInfo; ModuleName: Array [0 .. MAX_PATH] of Char; PHandle: THandle; begin Result := nil; SetLength(Modules, 1024); PHandle := OpenProcess(PROCESS_QUERY_INFORMATION + PROCESS_VM_READ, FALSE, ProcessID); if (PHandle <> 0) then begin EnumProcessModules(PHandle, @Modules[0], 1024 * SizeOf(HMODULE), cbNeeded); SetLength(Modules, cbNeeded div SizeOf(HMODULE)); for i := 0 to Length(Modules) - 1 do begin GetModuleBaseName(PHandle, Modules[i], ModuleName, SizeOf(ModuleName) ); if AnsiCompareText('Tibia.exe', ModuleName) = 0 then begin GetModuleInformation(PHandle, Modules[i], @ModuleInfo, SizeOf (ModuleInfo)); Result := ModuleInfo.lpBaseOfDll; CloseHandle(PHandle); Exit; end; end; end; end; Ou aonde pode ser meu erro? obs: estou fazendo um bot com códigos de vários sites diferentes... obg
- Read Flags (Re-usar ou Curar)
-
Flags, hasted, paralyze etc... (RESOLVIDO!)
Augusto, tentei isso não deu certo man... mais vlw por tentar ajudar
-
Flags, hasted, paralyze etc... (RESOLVIDO!)
RESOLVIDO obrigado pode fechar adm