Reklama
Strona 4 z 33 PierwszaPierwsza ... 2345614 ... OstatniaOstatnia
Pokazuje wyniki od 46 do 60 z 486

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

  1. #46
    luki z obsidii

    Domyślny

    mozna by dodac auto uhanie i uhanie na hotkeyu (nie potrzebne dla nowszych wersji titi ale przyda sie pod stare otki)

  2. #47
    konto usunięte

    Domyślny

    Macie te adresy na 8.10 od razu mowie że one nie są bezpośrednio pod delphi i trzeba najpierw wyciąć 0x00 żeby same liczby zostały


    Kod:
    **player**
    PLAYER_HP_MAX		0x00613B68
    PLAYER_HP		0x00613B6C
    PLAYER_MANA		0x00613B50
    PLAYER_MANA_MAX		0x00613B4C
    PLAYER_STAMINA		0x00613B48
    PLAYER_CAP		0x00613B40
    PLAYER_EXP		0x00613B64
    PLAYER_LEVEL		0x00613B60
    PLAYER_MAGIC_LEVEL	0x00613B5C
    PLAYER_LEVEL_PERC	0x00613B58
    PLAYER_MAGIC_PERC	0x00613B54
    PLAYER_FIST		0x00613B18
    PLAYER_CLUB		0x00613B1C
    PLAYER_SWORD		0x00613B20
    PLAYER_AXE		0x00613B24
    PLAYER_DISTANCE		0x00613B28
    PLAYER_SHIELDING	0x00613B2C
    PLAYER_FISHING		0x00613B30
    PLAYER_FIST_PERC	0x00613AFC
    PLAYER_CLUB_PERC	0x00613B00
    PLAYER_SWORD_PERC	0x00613B04
    PLAYER_AXE_PERC		0x00613B08
    PLAYER_DISTANCE_PERC	0x00613B0C
    PLAYER_SHIELDING_PERC	0x00613B10
    PLAYER_FISHING_PERC	0x00613B14
    PLAYER_STAMINA		0x00613B44
    PLAYER_SOUL is           0x00613B48
    PLAYER_ID		0x00613B70
    PLAYER_X 		0x0061E9C8
    PLAYER_Y 		0x0061E9C4
    PLAYER_Z 		0x0061E9C0
    PLAYER_GOTO_X         0x00613BB4
    PLAYER_GOTO_Y         0x00613BB0
    PLAYER_GOTO_Z         0x00613BAC
    
    PLAYER_SLOT_HEAD	0x0061C058
    PLAYER_SLOT_NECKLACE	0x0061C06C (I think, stuck on char with no necklace)
    PLAYER_SLOT_CONTAINER	0x0061C070
    PLAYER_SLOT_ARMOR	0x0061C07C
    PLAYER_SLOT_RIGHT	0x0061C078
    PLAYER_SLOT_LEFT	0x0061C094
    PLAYER_SLOT_LEGS	0x0061C0A0
    PLAYER_SLOT_FEET	0x0061C0AC
    PLAYER_SLOT_RING	0x0061C0B8 (I think, stuck on char with no rings)
    PLAYER_SLOT_AMMO	0x0061C0C4
    
    PLAYER_SLOT_RIGHT_COUNT	0x0061C08C
    PLAYER_SLOT_LEFT_COUNT	0x0061C098
    PLAYER_SLOT_AMMO_COUNT	0x0061C0C8
    Kod:
    **misc**
    CURSOR			0x0076C328 (0 normal, 7 using (fish, rune)
    MAP_POINTER 		0x006234D8
    VIPLIST_BEGIN		0x00611890
    VIPLIST_END		0x00612128
    STATUS_TEXT_TIMER	0x0076D924
    STATUS_TEXT		0x0076D928
    LAST_MESSAGE		0x0076DB78
    BATTLELIST_BEGIN	0x00613BD0
    BATTLELIST_END		0x00619990 (I think, can someone verify?)
    
    CONTAINER_BEGIN		0x0061C0D0
    CONTAINER_END		0x0061DF90 (Probably)
    
    LEVELSPY_NOP		0x004C4FC0
    
    LEVELSPY_ABOVE		0x004C4FBC
    LEVELSPY_BELOW		0x004C4FC4
    
    NAMESPY_NOP		0x004DF469
    NAMESPY_NOP2		0x004DF473
    
    SEE_ID			0x0076C370
    SEE_COUNT		0x0076C374
    SEE_Z			0x0076C308 (not sure how it works)
    
    CLICK_ID		0x0076C370 (Same as SEE_ID? No idea how this works)
    CONNECTION 0x0076c2c8 <0=not connected, 5=character just chosen, 6=login packet sent to gameserver, 8=connected to gameserver>
    
    TARGET_ID         0x00613B3C


    No to powodzenia w pisaniu botów

  3. Reklama
  4. #48
    Avatar MeNi
    Data rejestracji
    2007
    Położenie
    我在波兰华沙
    Wiek
    31
    Posty
    134
    Siła reputacji
    17

    Domyślny

    Witam, Yaboo ty się nieźle znasz, więc może mi pomożesz ;P. Poszukuje jakiegoś sposobu na wysyłanie danych na strone, do skryptu php który je zapisze, bez zbytniego obciążania komputera, poprzez program w Delphi.
    Ew. może być sposób na zamykanie procesu o danej nazwie.
    Potrzebuje tych rzeczy... do pewnego projektu ;P (bota) . Z góry dziękuje za pomoc.

    Pozdrawiam, MeNi

  5. #49
    konto usunięte

    Domyślny

    delphi to rzeczywiscie shit, ale masz + za poradnik. Napewno sie przyda.

  6. #50

    Data rejestracji
    2005
    Położenie
    Olsztyn
    Wiek
    30
    Posty
    36
    Siła reputacji
    0

    Domyślny

    Kod:
    Player_ClubPerc = $613B00;
    Player_SwordPerc = $613B04;
    Player_AxePerc = $613B08;
    Player_DistnacePerc = $613B0C;
    Player_ShieldingPerc = $613B10;
    Player_FishingPerc = $613B14;
    Player_Fist = $613B18;
    Player_Club = $613B1C;
    Player_Sword = $613B20;
    Player_Axe = $613B24;
    Player_Distance = $613B28;
    Player_Shielding = $613B2C;
    Player_Fishing = $613B30;
    Player_Cap = $613B40;
    Player_Stamina = $613B48;
    Player_Soul = $613B48;
    Player_ManaMax = $613B4C;
    Player_Mana = $613B50;
    Player_MagicLevelPerc = $613B54;
    Player_LevelPerc = $613B58;
    Player_MagicLevel = $613B5C;
    Player_Level = $613B60;
    Player_Experience = $613B64;
    Player_HpMax = $613B68;
    Player_Hp = $613B6C;
    Player_ID = $613B70;
    
    BATTLELIST_START = $613BD0 + 4;
    BATTLELIST_END = $619990;
    Jeszcze light ale tego nie znalazłem więc nie zmieniałem

    Tu już podmienione pod 8.1

  7. #51
    Avatar MeNi
    Data rejestracji
    2007
    Położenie
    我在波兰华沙
    Wiek
    31
    Posty
    134
    Siła reputacji
    17

    Domyślny

    Nie za bardzo rozumiem o co chodzi z pakietami. W jaki sposób to działa? jak "przekonwenterować" text który ma wypowiedzieć na te.. cyferki xd Od czego to zależy, używasz może do tego jakiegoś programu, albo czegoś? Bo chciałbym przykładowo zrobić opcję otwierania dopiero co zabitego potwora. Skąd mój bot ma wiedzieć czy właśnie otworzył właściwego deda, czy może otworzył jednak jakiś bag leżący na ziemi, albo po prostu próbuje otworzyć trawę xd Jednym słowem potrzebuje więcej informacji dotyczących wysyłania pakietów.

    @edit
    Chodzi mi o to, jak np. wstawić do wysyłanego pakietu który odpowiada za otwieranie przedmiotów z ziemi pozycje itemu do otwarcia? Gdy pakiet wygląda tak:
    Kod:
     0A 00 82 [64 7D] [B6 7D] [06] [25 0B] 01 01
    w nawiasach są kolejno pos.x itemu do otwarcia, pos.y , pos.z i id itemu. Jak uzupełnić to danymi które ja podam?

    btw. Jest jakiś (w miarę prosty mam nadzieje) sposób żeby zapobiec wysyłaniu pakietów przez tibie do servera? Chodzi mi tu o to żeby Tibia nie odpowiadała na ping (dało by to możliwość wylogowania się z gry nawet jeśli posiada się "miecze" (Battle Sign)

    Z góry dzięki za pomoc,
    Pozdrawiam, MeNi.

    @down
    A masz packet.dll ?
    Ostatnio zmieniony przez MeNi : 26-12-2007, 18:26

  8. #52
    teiky

    Domyślny

    Yaboo, bot mi sie sypie przez, gdy próbuję wysłać text, wiesz dlaczego?
    procedure say(text:string);
    var
    PacketBuffer: array [0..200] of byte;
    ProcessID: Cardinal;

    begin
    GetWindowThreadProcessId(FindWindow('TibiaClient', Nil), @ProcessID);

    PacketBuffer[0] := Byte(Length(text) + 4);
    PacketBuffer[1] := $00;
    PacketBuffer[2] := $96;
    PacketBuffer[3] := $01;
    PacketBuffer[4] := Byte(Length(text));
    PacketBuffer[5] := $00;
    CopyMemory(@PacketBuffer[6], @text[1], Length(text));
    SendPacket(ProcessID, @PacketBuffer, TRUE, FALSE);
    end;

  9. #53
    Avatar MeNi
    Data rejestracji
    2007
    Położenie
    我在波兰华沙
    Wiek
    31
    Posty
    134
    Siła reputacji
    17

    Domyślny

    Jak masz tak i niedziała to wyślij jaki błąd wyskakuje, będzie łatwiej pomóc...

    Kod:
    (...)
    implementation
    (...) // tutaj inne funkcje, ReadMemInteger, MemReadString, etc...
    
    procedure SendPacket(ProcessID: Cardinal; Packet: Pointer; Encrypt: Boolean; SafeArray: Boolean); stdcall; external 'packet.dll';
    
    procedure say(text:string);
    var
    PacketBuffer: array [0..200] of byte;
    ProcessID: Cardinal;
    
    begin
    GetWindowThreadProcessId(FindWindow('TibiaClient', Nil), @ProcessID);
    
    PacketBuffer[0] := Byte(Length(text) + 4);
    PacketBuffer[1] := $00;
    PacketBuffer[2] := $96;
    PacketBuffer[3] := $01;
    PacketBuffer[4] := Byte(Length(text));
    PacketBuffer[5] := $00;
    CopyMemory(@PacketBuffer[6], @text[1], Length(text));
    SendPacket(ProcessID, @PacketBuffer, TRUE, FALSE);
    end;
    
    
    // Po kliknieciu w Button1 mówi tekst
    procedure TForm1.Button1Click(Sender: TObject);
    begin
    say('Plx Fri Itens');
    end;
    Musisz też sciągnąć packet.dll i wgrac do folderu z botem.

  10. #54
    Avatar MeNi
    Data rejestracji
    2007
    Położenie
    我在波兰华沙
    Wiek
    31
    Posty
    134
    Siła reputacji
    17

    Domyślny

    Odświeżam trochę ten temat, przy okazji pytam: Co tu jest źle?

    Kod:
    procedure podnies(posx: String; posy: String; posz: String);
    var
      PacketBuffer: array [0..200] of byte;
      ProcessID: Cardinal;
      intposx, intposy, intposz : integer;
    
    begin
        intposx := strtoint(posx);
        intposy := strtoint(posy);
        intposz := strtoint(posz);
        GetWindowThreadProcessId(FindWindow('TibiaClient',Nil), @ProcessID);  //pobranie id procesu Tibii
    
        PacketBuffer[0] := $0F;
        PacketBuffer[1] := $00;
        PacketBuffer[2] := $78;
        PacketBuffer[6] := $B0;
        PacketBuffer[7] := $0D;
        PacketBuffer[8] := $01;
        PacketBuffer[9] := $FF;
        PacketBuffer[10] := $FF;
        PacketBuffer[11] := $40;
        PacketBuffer[12] := $00;
        PacketBuffer[13] := $01;
        PacketBuffer[14] := $01;
        CopyMemory(@PacketBuffer[3], @intposx, Length(posx));
        CopyMemory(@PacketBuffer[4], @intposy, Length(posy));
        CopyMemory(@PacketBuffer[5], @intposz, Length(posz));
        SendPacket(ProcessID, @PacketBuffer, TRUE, FALSE); // tu program wysyla pakiet do programu z proces id = ProcessID
    end;
    Nie za bardzo rozumiem, więc zrobiłem to trochę na wyczucie: ta procedura miała (dobre słowo - "miała") podnosić baga z pozycji którą podam. Niestety, nie podnosi :( Jak to poprawinei zrobić?

    Wzorowałem się na tym:
    Kod:
    CopyMemory(@PacketBuffer[8],1234,4);
    z tąd:

    http://www.xcreations.net/~tpforums/forum/showthread.php?t=1080

  11. #55
    >Herakles<

    Domyślny

    bardzo ciekawy poradnik...już odpalam delphi i sprubuję zrobić BOta ;]
    poradnik jest bardzo przydatny ,gdyż po zrobieniu własnoręcznie takiego BOTa będziemy mieć pewność 10%% że nie jest zainfekowany.

    @edit
    Ale dane są zapisane w różny sposób, nick to string, hp integer itp. Żeby odczytać te dane trzeba napisać 2 różne funkcje.

    Odczytanie tekstu (string)
    w tym momencie się zgubiłem....jak napisać? gdzie napisać? jak to się robi?


    @down


    co to jest? i z czym to się je?
    Ostatnio zmieniony przez >Herakles< : 30-12-2007, 20:40

  12. #56
    Avatar MeNi
    Data rejestracji
    2007
    Położenie
    我在波兰华沙
    Wiek
    31
    Posty
    134
    Siła reputacji
    17

    Domyślny

    @up Wszystkie funkcje, procedury wpisujemy po

    Kod:
    implementation

  13. #57
    Avatar Kakashi Sensei
    Data rejestracji
    2007
    Położenie
    Moguer - Hiszpania
    Posty
    36
    Siła reputacji
    0

    Domyślny

    Hmm... ładny poradnik, to wogóle był mój pierwszy program jaki napisałem, więc poradnik jest tak prosty, że nawet ktoś nie znający się na programowaniu sobie poradzi.

    to wstępna wersja:


    @2down
    w google wpisujesz delphi 7 proffesional i klikasz w trzeci link
    Ostatnio zmieniony przez Kakashi Sensei : 04-01-2008, 15:24
    Popisu nie ma, obrazek za wysoki i muszę inny zrobić ^^

  14. #58
    Avatar Mandarke
    Data rejestracji
    2006
    Położenie
    Mielec
    Posty
    2,977
    Siła reputacji
    19

    Domyślny

    Przenosze

    @Pluton
    Fajnie, że naprawiłeś temat, myślałem, że tylko ja sie w takie coś bawie ; D

  15. #59
    konto usunięte

    Domyślny

    wiem ze mozecie mne uznac za nooba ale skad moge wziasc ten Delphi?

    pozdro

    nieumiem tego pobrac... podpowiedzcie cos plx ^^...
    Ostatnio zmieniony przez Cyklopinka : 04-01-2008, 16:32

  16. #60
    Avatar TripleX
    Data rejestracji
    2007
    Posty
    53
    Siła reputacji
    17

    Domyślny

    Cytuj Cyklopinka napisał Pokaż post
    Cytat został ukryty, ponieważ ignorujesz tego użytkownika. Pokaż cytat.
    wiem ze mozecie mne uznac za nooba ale skad moge wziasc ten Delphi?

    pozdro
    megapliki./plik-298-delphi-7-personal.html

    Naciskasz na "Pobierz plik" i ci się sciąga. Zaprawdę szatanistyczna sztuczka!

    #Topic
    Nigdy nie byłem dobry w programowaniu totez teraz dobrnąłem do ligthacka tylko. Jakoś jak sie loguje, naciskam Start to nie śiweci xd Ale będę jeszcze próbował. Oczywiście 10/10.

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 ProEda 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
  •