Reklama
Strona 14 z 33 PierwszaPierwsza ... 4121314151624 ... OstatniaOstatnia
Pokazuje wyniki od 196 do 210 z 486

Temat: [Poradnik] Jak napisać własne macro do Tibii

  1. #196
    Sokrates

    Domyślny

    Cytuj Ar'buz napisał Pokaż post
    Cytat został ukryty, ponieważ ignorujesz tego użytkownika. Pokaż cytat.
    #up:
    Nic nie wniosłeś. Wogule nie wiem o co ci chodzi :|

    #sokrates:
    A co ty byś chciał?
    Skompilowałeś program mający funkcje odnajdującą tibię, otwierającą jej procesz i funkcję bodajże czytającą liczby z pamięci.

    Teraz dodaj pod jakimś przyciskiem obsługę tych funkcji. Program zadziałał - skompilował pustą formę, bo nic na nią nie położyłeś.
    ;X jesteś dla mnie bogiem xd
    A jeżeli chce np pod otsa to macro który ma inne grafiki skile itd (dragon ball legend)
    to jeżeli będę postępował zgodnie z poradnikiem to on będzie działał ?

  2. #197
    Avatar Ar'buz
    Data rejestracji
    2007
    Położenie
    51*06N, 17*02E Ranga: Zasłóżony
    Posty
    245
    Siła reputacji
    19

    Domyślny

    Tylko, jeśli ten OTS jest na tej samej wersji klienta tibii, z której adresów korzystasz.

    (ots 8.0 - musisz mieć adresy do 8.0)

    Grafika / wygląd - nie gra roli.
    Ostatnio zmieniony przez Ar'buz : 17-07-2008, 17:10

  3. #198
    Sokrates

    Domyślny

    Mam Kod
    unit Bot;

    interface

    uses
    Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
    Dialogs, StdCtrls;

    type
    TForm1 = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Button1: TButton;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
    private
    { Private declarations }
    public
    { Public declarations }
    end;

    var
    Form1: TForm1;
    const
    //adresy wartosci postaci
    Player_StrPerc = $H4A11D4;
    Player_TpointsPerc = $H4A11D8;
    Player_SwordPerc = $H4A11DC;
    Player_AtackspeedPerc = $H4A11E0;
    Player_KiblastPerc = $H4A11E4;
    Player_DefPerc = $H4A11E8;
    Player_EnePerc = $H4A11EC;
    Player_Str = $H4A11F0;
    Player_Tpoints = $H4A11F4;
    Player_Sword = $H4A11F8;
    Player_Atackspeed = $H4A11FC;
    Player_Kiblast = $H4A11F0;
    Player_Def = $H4A1204;
    Player_Ene = $H4A1208;
    Player_Cap = $H4A1218;
    Player_Rage = $H4A121C;
    Player_MaxKi = $H4A1220;
    Player_Ki = $H4A1224;
    Player_KiLevelPercent = $H4A1228;
    Player_KiLevel = $H4A1230;
    Player_PowerLevelPercent = $H4A122C;
    Player_PowerLevel = $H4A1234;
    Player_Experience = $H4A1238;
    Player_MaxHealth = $H4A123C;
    Player_Health = $H4A1240;
    Player_ID = $H4A1244;
    //koniec - adresy wartosci postaci

    implementation

    {$R *.dfm}
    // Funkcje czytające

    function ReadMemInteger(Address: Cardinal): Cardinal; //Read adress:value
    var
    ProcId: Cardinal;
    tProc: THandle;
    NBR: Cardinal;
    value:integer;
    begin
    GetWindowThreadProcessId(FindWindow('TibiaClient', Nil), @ProcId);
    tProc:= OpenProcess(PROCESS_ALL_ACCESS, False, ProcId);
    ReadProcessMemory(tProc, Ptr(Address), @value, 4, NBR);
    CloseHandle(tProc);
    Result:=value;
    end;


    function MemReadString(Address: Integer): String;
    var
    NB : LongWord;
    Temp : ARRAY [1..255] OF Byte;
    I : Byte;
    IDProcess, proc_ID : Cardinal;
    begin
    GetWindowThreadProcessID(FindWindow('TibiaClient', nil), @proc_ID);
    IDProcess := OpenProcess(PROCESS_ALL_ACCESS, false, proc_ID);
    Result := '';
    ReadProcessMemory(IDProcess, Ptr(Address), @Temp[1], 255, NB);
    for I := 1 to 255 do
    begin
    if ((Temp[i] = 0) or (Temp[i] = $0F)) then
    Break;
    Result := Result + Chr(Temp[i]);
    end;
    end;
    // Koniec - Funkcje czytające

    procedure TForm1.Button1Click(Sender: TObject);
    begin
    label1.Caption:=inttostr(ReadMeminteger(Player_Pow erLevel));
    label2.Caption:=inttostr(ReadMeminteger(Player_KiL evel));
    label3.Caption:=inttostr(ReadMeminteger(Player_Hea lth));
    label4.Caption:=inttostr(ReadMeminteger(Player_Ki) );
    label5.Caption:=inttostr(ReadMeminteger(Player_Rag e));
    end;

    end.
    A tu error:
    [Error] bot.pas(29): ';' expected but identifier 'H4A11D4' found
    [Error] bot.pas(30): Undeclared identifier: 'Player_TpointsPerc'
    [Warning] bot.pas(30): Comparing signed and unsigned types - widened both operands
    [Error] bot.pas(31): Undeclared identifier: 'Player_SwordPerc'
    [Warning] bot.pas(31): Comparing signed and unsigned types - widened both operands
    [Error] bot.pas(32): Undeclared identifier: 'Player_AtackspeedPerc'
    [Warning] bot.pas(32): Comparing signed and unsigned types - widened both operands
    [Error] bot.pas(33): Undeclared identifier: 'Player_KiblastPerc'
    [Warning] bot.pas(33): Comparing signed and unsigned types - widened both operands
    [Error] bot.pas(34): Undeclared identifier: 'Player_DefPerc'
    [Warning] bot.pas(34): Comparing signed and unsigned types - widened both operands
    [Error] bot.pas(35): Undeclared identifier: 'Player_EnePerc'
    [Warning] bot.pas(35): Comparing signed and unsigned types - widened both operands
    [Error] bot.pas(36): Undeclared identifier: 'Player_Str'
    [Warning] bot.pas(36): Comparing signed and unsigned types - widened both operands
    [Error] bot.pas(37): Undeclared identifier: 'Player_Tpoints'
    [Warning] bot.pas(37): Comparing signed and unsigned types - widened both operands
    [Error] bot.pas(38): Undeclared identifier: 'Player_Sword'
    [Warning] bot.pas(38): Comparing signed and unsigned types - widened both operands
    [Error] bot.pas(39): Undeclared identifier: 'Player_Atackspeed'
    [Warning] bot.pas(39): Comparing signed and unsigned types - widened both operands
    [Error] bot.pas(40): Undeclared identifier: 'Player_Kiblast'
    [Warning] bot.pas(40): Comparing signed and unsigned types - widened both operands
    [Error] bot.pas(41): Undeclared identifier: 'Player_Def'
    [Warning] bot.pas(41): Comparing signed and unsigned types - widened both operands
    [Error] bot.pas(40): Identifier redeclared: 'H4A11F0'
    [Error] bot.pas(41): ';' expected but identifier 'H4A1204' found
    [Error] bot.pas(42): Undeclared identifier: 'Player_Ene'
    [Warning] bot.pas(42): Comparing signed and unsigned types - widened both operands
    [Error] bot.pas(43): Undeclared identifier: 'Player_Cap'
    [Warning] bot.pas(43): Comparing signed and unsigned types - widened both operands
    [Error] bot.pas(44): Undeclared identifier: 'Player_Rage'
    [Warning] bot.pas(44): Comparing signed and unsigned types - widened both operands
    [Error] bot.pas(45): Undeclared identifier: 'Player_MaxKi'
    [Warning] bot.pas(45): Comparing signed and unsigned types - widened both operands
    [Error] bot.pas(46): Undeclared identifier: 'Player_Ki'
    [Warning] bot.pas(46): Comparing signed and unsigned types - widened both operands
    [Error] bot.pas(47): Undeclared identifier: 'Player_KiLevelPercent'
    [Warning] bot.pas(47): Comparing signed and unsigned types - widened both operands
    [Error] bot.pas(48): Undeclared identifier: 'Player_KiLevel'
    [Warning] bot.pas(48): Comparing signed and unsigned types - widened both operands
    [Error] bot.pas(49): Undeclared identifier: 'Player_PowerLevelPercent'
    [Warning] bot.pas(49): Comparing signed and unsigned types - widened both operands
    [Error] bot.pas(50): Undeclared identifier: 'Player_PowerLevel'
    [Warning] bot.pas(50): Comparing signed and unsigned types - widened both operands
    [Error] bot.pas(51): Undeclared identifier: 'Player_Experience'
    [Warning] bot.pas(51): Comparing signed and unsigned types - widened both operands
    [Error] bot.pas(52): Undeclared identifier: 'Player_MaxHealth'
    [Warning] bot.pas(52): Comparing signed and unsigned types - widened both operands
    [Error] bot.pas(53): Undeclared identifier: 'Player_Health'
    [Warning] bot.pas(53): Comparing signed and unsigned types - widened both operands
    [Error] bot.pas(54): Undeclared identifier: 'Player_ID'
    [Warning] bot.pas(54): Comparing signed and unsigned types - widened both operands
    Pomoże ktoś ? :)

    @edit
    Błąd rozwiązany :)
    Ostatnio zmieniony przez Sokrates : 17-07-2008, 20:58 Powód: zmiana treści tematu

  4. Reklama
  5. #199
    shakirek

    Domyślny

    witam

    jeden z kolegów podał wcześniej linka do pliku packet.dll, założyłem tam konto, ale niestety nie mogę go pobrać. Mógłby go ktoś udostepnić (ver. 8.21)

    pozdro

  6. #200
    Enterprise Pro

    Domyślny

    Co do pana mającego masę błędów w cosnstach:

    W delphi nie ma "H" jest tylko "$" tak więc adres nie wygląda

    Kod :
    Player_ID = $H4A1244;
    tylko

    Kod :
    Player_ID = $4A1244;

  7. #201
    konto usunięte

    Domyślny bot

    Super poradniczek, bardzo przydatny dla tych, którzy mają czas się w to bawić. Wolałbym jednak wersję w języku C++ ;]

  8. Reklama
  9. #202
    Avatar Ar'buz
    Data rejestracji
    2007
    Położenie
    51*06N, 17*02E Ranga: Zasłóżony
    Posty
    245
    Siła reputacji
    19

    Domyślny

    Skoro była prośba... a więc:

    packet.dll pod 8.21

    Speedyshare rehost
    Rapidshare rehost

    Oryginalny temat z plikiem

    +Adresy do 8.21
    Ostatnio zmieniony przez Ar'buz : 31-07-2008, 21:23

  10. #203
    Avatar Ar'buz
    Data rejestracji
    2007
    Położenie
    51*06N, 17*02E Ranga: Zasłóżony
    Posty
    245
    Siła reputacji
    19

    Domyślny

    Tak szczerze... Wiesz co ma ten kod na celu?
    GetWindowThreadProcessID(FindWindow('TibiaClient', nil), #proc_ID);
    *brązowe oznaczenie - uzyskanie uhwytu do okna Tibii. Każdy klient tibii (sama aplikacja), posiada klasę okna "TibiaCliwnt". Nie ma możliwości, żeby to była tego wina.
    *zielone oznaczenie - uzyskanie ID procesu na podstawie uhwytu okna. W zmiennej Proc_ID, zostanie zapisana ta informacja.
    Ostatnio zmieniony przez Ar'buz : 31-07-2008, 21:22

  11. #204
    konto usunięte

    Domyślny

    Cytuj Ar'buz napisał Pokaż post
    Cytat został ukryty, ponieważ ignorujesz tego użytkownika. Pokaż cytat.
    W zmiennej Proc_ID, zostanie zapisana ta informacja.
    No właśnie, a proc_ID = 0 cały czas. Czemu?

    Nawet, gdy znajduję ID procesu ręcznie i wstawiam je do kodu, dalej nie mogę odczytać danych. Co to ma znaczyć?

    Możliwe, że zabezpieczenia systemowe nie przepuszczają tych funkcji? (Windows XP z wszystkimi uaktualnieniami)
    Ostatnio zmieniony przez Pietrek95 : 01-08-2008, 17:51

  12. Reklama
  13. #205
    oski552

    Domyślny

    Witam Bardzo Proszę o pomoc Bo jak robie wpisuje to pomiedzy Begin a end te adresy jak naciskam ctrl+f9 pisze ze error BLAGAM O POMOC DAM REPUTA!!!!

  14. #206
    konto usunięte

    Domyślny

    Bardzo ladny poradnik, zazdroszcze autorowi tekstu takiej wiedzy na ten temat.

  15. #207
    shakirek

    Domyślny

    Mam prośbę, może ktoś wrzucić tutaj packet.dll pod 8.22 - z góry dzieki.

    pozdrawiam

  16. Reklama
  17. #208
    konto usunięte

    Domyślny

    No bardo fajny poradnik troche sie pomeczyle,m ale zrobilem

  18. #209

    Data rejestracji
    2008
    Posty
    188
    Siła reputacji
    18

    Domyślny

    Cytuj oski552 napisał Pokaż post
    Cytat został ukryty, ponieważ ignorujesz tego użytkownika. Pokaż cytat.
    Witam Bardzo Proszę o pomoc Bo jak robie wpisuje to pomiedzy Begin a end te adresy jak naciskam ctrl+f9 pisze ze error BLAGAM O POMOC DAM REPUTA!!!!
    moze bys napisal jaki error? bo tak sie sklada ze moze byc ich... kilka
    Face your fears. Live your dreams. Nothing in life is what it seems.

  19. #210
    konto usunięte

    Domyślny

    udało mi sie:D

  20. Reklama
Reklama

Informacje o temacie

Użytkownicy przeglądający temat

Aktualnie 1 użytkowników przegląda ten temat. (0 użytkowników i 1 gości)

Podobne tematy

  1. Jak napisać powieść w 30 minut
    Przez konto usunięte w dziale Artyści
    Odpowiedzi: 1
    Ostatni post: 05-12-2012, 16:49
  2. [Inne] Jak napisać bota?
    Przez t3hp0wn w dziale Tibia
    Odpowiedzi: 1
    Ostatni post: 06-03-2011, 12:10
  3. Jak napisać temat, aby otrzymać jak najszybciej pomoc?
    Przez Killavus w dziale Strefa developerska
    Odpowiedzi: 0
    Ostatni post: 29-05-2010, 11:51
  4. [Poradnik] <Jak napisac scrypt do Blackd>
    Przez Lee of Honera w dziale Tibia
    Odpowiedzi: 5
    Ostatni post: 08-03-2009, 15:08

Zakładki

Zakładki

Zasady postowania

  • Nie możesz pisać nowych tematów
  • Nie możesz pisać postów
  • Nie możesz używać załączników
  • Nie możesz edytować swoich postów
  •