Reklama
Strona 5 z 33 PierwszaPierwsza ... 3456715 ... OstatniaOstatnia
Pokazuje wyniki od 61 do 75 z 486

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

  1. #61
    konto usunięte

    Domyślny

    Witam,
    Bardzo dobry poradnik, ale zgubiłem się w punkcie z pakietami, jeśli dobrze zrozumiałem to Client przesyła pakiety do servera, a w pakietach są zawarte dane taki jak, poruszenie się w lewo/prawo/do góry/na dół, atakowanie potwora/playera itd. Tak? Jak ma nam pomóc biblioteka packets.dll??


    I czy to co zaznaczyłem to są te pakiety o które chodzi???


    @ DOWN
    Po zarejestrowaniu sie na borland.pl dostaniesz na maila authorisation key i serial...
    Ostatnio zmieniony przez Xedyn : 05-01-2008, 18:02

  2. #62
    Avatar Eloelopjencdwazero
    Data rejestracji
    2007
    Położenie
    I tak nie wiesz gdzie to jest
    Posty
    21
    Siła reputacji
    0

    Domyślny

    Przy instalacji Delphi 7 Personal pojawia się prośba o serial number i authorization key. Serial już mam, skąd wziąć authorization key?

  3. #63
    konto usunięte

    Domyślny

    Witam
    Mam takie pytanko.
    Nie raz na różnych fotkach widać jak niektórzy w pasku tytułowym klienta Tibii mają podane ile expa potrzebują na następny poziom.

    Wie ktoś jak coś takiego zrobić?

  4. Reklama
  5. #64
    konto usunięte

    Domyślny Lol?

    BATTLELIST_START = $60EB30 + 4;
    BATTLELIST_END = $6148F4;

    Niewiem gdzie to wpisac, nie czaje tych STAŁYCH odpowie mi na to ktos? Z góry dzienx

    A i jeszcze cos, jak ma mi odcztywac ile man itp do wskakuja liczb~58 tys. i tego tez nei czaje. HELP

    Cytuj Eloelopjencdwazero napisał Pokaż post
    Cytat został ukryty, ponieważ ignorujesz tego użytkownika. Pokaż cytat.
    Przy instalacji Delphi 7 Personal pojawia się prośba o serial number i authorization key. Serial już mam, skąd wziąć authorization key?
    jego tez masz razem z mailem ;]

  6. #65
    konto usunięte

    Domyślny

    Cytuj Vivynus napisał Pokaż post
    Cytat został ukryty, ponieważ ignorujesz tego użytkownika. Pokaż cytat.
    BATTLELIST_START = $60EB30 + 4;
    BATTLELIST_END = $6148F4;

    Niewiem gdzie to wpisac, nie czaje tych STAŁYCH odpowie mi na to ktos? Z góry dzienx

    A i jeszcze cos, jak ma mi odcztywac ile man itp do wskakuja liczb~58 tys. i tego tez nei czaje. HELP



    jego tez masz razem z mailem ;]
    Stałe masz zdeklarowane pod slowem const, liczyby takie ci wyskakuja poniewaz nie odpaliles tibi...

    @Edit

    Hej, skad mamy wiedziec ktore liczby w pakietach sa odpowiedzialne za polozenie, ktore za slowa, ktore za name itp?? Mogli byscie dac jakis 'kurs' uzupelniania pakietow etc. ?
    Ostatnio zmieniony przez Xedyn : 06-01-2008, 13:11

  7. #66
    Avatar Kakashi Sensei
    Data rejestracji
    2007
    Położenie
    Moguer - Hiszpania
    Posty
    39
    Siła reputacji
    0

    Domyślny

    Cytuj Vivynus napisał Pokaż post
    Cytat został ukryty, ponieważ ignorujesz tego użytkownika. Pokaż cytat.
    A i jeszcze cos, jak ma mi odcztywac ile man itp do wskakuja liczb~58 tys. i tego tez nei czaje. Help
    1. Musisz mieć włączoną postać, aby program działał właściwie
    2. Upewnij się, że kody, które wpisałeś są do odpowiedniej wersji Tibi (te które podał YabooMaster są do 8.0, a te na 8.1 ktos podał na poprzedniej stronie)
    Popisu nie ma, obrazek za wysoki i muszę inny zrobić ^^

  8. Reklama
  9. #67
    konto usunięte

    Domyślny

    Cytuj Kakashi Sensei napisał Pokaż post
    Cytat został ukryty, ponieważ ignorujesz tego użytkownika. Pokaż cytat.
    2. Upewnij się, że kody, które wpisałeś są do odpowiedniej wersji Tibi (te które podał YabooMaster są do 8.0, a te na 8.1 ktos podał na poprzedniej stronie)
    LOLs, czyli, nic z tego nie czaje :p. A te Battle? HELP Jestem mało kapujący :p

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

    Domyślny

    Kod :
    const
    // Player
    PLAYER_HP_MAX	=	$613B68;
    PLAYER_HP	=	$613B6C;
    PLAYER_MANA	=	$613B50;
    PLAYER_MANA_MAX	=	$613B4C;
    PLAYER_STAMINA =		$613B48;
    PLAYER_CAP =		$613B40;
    PLAYER_EXP	=	$613B64;
    PLAYER_LEVEL =		$613B60;
    PLAYER_MAGIC_LEVEL=	$613B5C;
    PLAYER_LEVEL_PERC=	$613B58;
    PLAYER_MAGIC_PERC=	$613B54;
    PLAYER_FIST=		$613B18;
    PLAYER_CLUB	=	$613B1C;
    PLAYER_SWORD =		$613B20;
    PLAYER_AXE	=	$613B24;
    PLAYER_DISTANCE	=	$613B28;
    PLAYER_SHIELDING =	$613B2C;
    PLAYER_FISHING	=	$613B30;
    PLAYER_FIST_PERC =	$613AFC;
    PLAYER_CLUB_PERC =	$613B00;
    PLAYER_SWORD_PERC=	$613B04;
    PLAYER_AXE_PERC=		$613B08;
    PLAYER_DISTANCE_PERC=	$613B0C;
    PLAYER_SHIELDING_PERC	=$613B10;
    PLAYER_FISHING_PERC=	$613B14;
    PLAYER_SOUL =     $613B48;
    PLAYER_ID	=	$613B70;
    PLAYER_X =		$61E9C8;
    PLAYER_Y =		$61E9C4;
    PLAYER_Z =		$61E9C0;
    PLAYER_GOTO_X  =       $613BB4;
    PLAYER_GOTO_Y  =       $613BB0;
    PLAYER_GOTO_Z  =       $613BAC;
    
    PLAYER_SLOT_HEAD=	$61C058;
    PLAYER_SLOT_NECKLACE=	$61C06C;
    PLAYER_SLOT_CONTAINER=	$61C070;
    PLAYER_SLOT_ARMOR=	$61C07C;
    PLAYER_SLOT_RIGHT=	$61C078;
    PLAYER_SLOT_LEFT=	$61C094;
    PLAYER_SLOT_LEGS=	$61C0A0;
    PLAYER_SLOT_FEET=	$61C0AC;
    PLAYER_SLOT_RING =	$61C0B8;
    PLAYER_SLOT_AMMO =	$61C0C4;
    
    PLAYER_SLOT_RIGHT_COUNT=	$61C08C;
    PLAYER_SLOT_LEFT_COUNT=	$61C098;
    PLAYER_SLOT_AMMO_COUNT=	$61C0C8;
    
    
    CURSOR	=		$76C328; {0 normal, 7 using (fish, rune)}
    MAP_POINTER  =		$6234D8;
    VIPLIST_BEGIN	=	$611890;
    VIPLIST_END	=	$612128;
    STATUS_TEXT_TIMER=	$76D924;
    STATUS_TEXT	=	$76D928;
    LAST_MESSAGE =		$76DB78;
    BATTLELIST_START =	$613BD0 + 4;
    BATTLELIST_END =		$619990;
    
    CONTAINER_BEGIN	=	$61C0D0;
    CONTAINER_END	=	$61DF90;
    
    LEVELSPY_NOP =		$4C4FC0;
    
    LEVELSPY_ABOVE =		$4C4FBC;
    LEVELSPY_BELOW	=	$4C4FC4;
    
    NAMESPY_NOP	=	$4DF469;
    NAMESPY_NOP2 =		$4DF473;
    
    SEE_ID	=		$76C370;
    SEE_COUNT=		$76C374;
    SEE_Z		=	$76C308;
    
    CLICK_ID	=	$76C370;
    CONNECTION= $76c2c8; {<0=not connected, 5=character just chosen, 6=login packet sent to gameserver, 8=connected to gameserver>  }
    
    TARGET_ID   =      $613B3C;
    
     //Player_pass = NIE BEDZIE HACKOWNIA =(
     //Player_acc = NIE BEDZIE HACKOWNIA =(
    
    
    Adr_bp_Open = $61C0D0;
    Adr_Bp = $61C0D0+60;
    Dist_Bp = $1EC;
    Dist_Item = 12;
    
    //Distance
    
    
    Distance_ID= -4;
    Distance_Type = -1;
    Distance_Name= -0;
    Distance_X = 32;
    Distance_Y = 36;
    Distance_Z = 40;
    Distance_HorizScreenOffset = 44;
    Distance_VertScreenOffset = 48;
    Distance_Chameleon = 60;
    Distance_Chameleon2 = 92;
    Distance_IsWalking = 72;
    Distance_Direction = 76;
    Distance_Outfit = 92;
    Distance_OutfitHead = 96;
    Distance_OutfitBody = 100;
    Distance_OutfitLegs = 104;
    Distance_OutfitFeet = 108;
    Distance_OutfitAddon = 112;
    Distance_LightColor1 = 121;
    Distance_LightColor2 = 122;
    Distance_LightPattern = 123;
    Distance_BlackSquare = 128;
    Distance_HP = 132;
    Distance_WalkSpeed = 136;
    Distance_IsVisible = 140;
    Distance_Skull = 144;
    Distance_Party = 148;
    To są Poprawne (8.1 i przerobione na Delphi) Adresy i Distance'y. Zamiast tych z poradnika wklej te.


    @ Xedyn:

    Witam,
    Bardzo dobry poradnik, ale zgubiłem się w punkcie z pakietami, jeśli dobrze zrozumiałem to Client przesyła pakiety do servera, a w pakietach są zawarte dane taki jak, poruszenie się w lewo/prawo/do góry/na dół, atakowanie potwora/playera itd. Tak? Jak ma nam pomóc biblioteka packets.dll??
    Tak, to jest właśnie przykładowy pakiet, teraz musisz go uzupełnić odpowiednimi danymi (np. pozycja itemu który chcesz podnieść, id itemu), i do tego właśnie potrzebujesz packet.dll . i na przykład pakiet na podnoszenie itemów wygląda tak:

    Kod :
    
    procedure podnies(posx, posy, posz: integer; ID,count,bp:integer);
    var
      PacketBuffer: array [0..200] of byte;
      ProcessID: Cardinal;
      item: TItemBP;
    begin
        GetWindowThreadProcessId(FindWindow('TibiaClient',Nil), @ProcessID);  //pobranie id procesu Tibii
        item.bp := bp;
        item.slot := 7;
        PacketBuffer[0] := $0F;
        PacketBuffer[1] := $00;
        PacketBuffer[2] := $78;
        CopyMemory(@PacketBuffer[3],@posx,2);
        CopyMemory(@PacketBuffer[5],@posy,2);
        PacketBuffer[7] := posz;
        CopyMemory(@PacketBuffer[8],@ID, 2);
        PacketBuffer[10] := $07;
        PacketBuffer[11] := $FF;
        PacketBuffer[12] := $FF;
        PacketBuffer[13] := $39+item.bp;
        PacketBuffer[14] := $00;
        PacketBuffer[15] := item.slot;
        PacketBuffer[16] := count;
        SendPacket(ProcessID, @PacketBuffer, TRUE, FALSE); // tu program wysyla pakiet do programu z proces id = ProcessID
    end;

    I teraz aby podnieść jakiś item muszisz zrobić przykładowo jakiś button, i do niego dać
    Kod :
    podnies(posx, posy, posz,ID,count,bp);
    Gdzie posx, posy, posz : pozycja itemu.
    Gdzie id - id.
    Gdzie count to liczba itemów do podniesienia.
    Gdzie bp to numer bp(pierwszy otwarty to 1, drugi to 2, etc.).


    Mam nadzieje, że pomogłem, chodź sam się tego dopiero zaczynam uczyć =)

    btw, dobre forum =)

    http://tpforums.org/forum/




    @Next Edit:

    Hej, skad mamy wiedziec ktore liczby w pakietach sa odpowiedzialne za polozenie, ktore za slowa, ktore za name itp?? Mogli byscie dac jakis 'kurs' uzupelniania pakietow etc. ?
    Jak już mówiłem, zarejestruj się na tym forum, i tam masz taki topic:

    http://tpforums.org/forum/showthread.php?t=1134

    Tylko że wszystko niby ładnie i pięknie, ale trzeba to przerobić na Delphi, bo tamto jest w VB.
    Jak będziesz miał kłopoty, napisz tutaj, postaram się pomóc. =o
    Ostatnio zmieniony przez MeNi : 06-01-2008, 15:23

  11. #69
    konto usunięte

    Domyślny

    MeNi... Z tamtąd prawie nic nie rozumiem... ;s

  12. Reklama
  13. #70
    Avatar MeNi
    Data rejestracji
    2007
    Położenie
    我在波兰华沙
    Wiek
    32
    Posty
    134
    Siła reputacji
    18

    Domyślny

    Moge ci podać pakiety które ja mam (przerobiłem z tamtych), ale od razu mówię, że ja się tego dopiero uczę, i nie jestem pewien czy to jest dobrze =s

  14. #71
    konto usunięte

    Domyślny

    Cytuj Xedyn napisał Pokaż post
    Cytat został ukryty, ponieważ ignorujesz tego użytkownika. Pokaż cytat.
    MeNi... Z tamtąd prawie nic nie rozumiem... ;s
    Kto to rozumie...
    @topic
    Mozecie dokladniej opisac o co chodzi z tm BATTLELIST jak to wklejam do tch stalych ( o ile dobrze to wklejam) to sie koloruje na reda i ze chyba blad i jeszcze ten prblem co zamiast m lvl, many itp. to mi sie lizby ~5 ts. pokazuja HELP
    Sorrka a bledy ale klawiatura sie pieprzy...moglem jej nie rozkreac _._

  15. #72
    konto usunięte

    Domyślny

    :P MeNi... Ale co mi da to, że ty mi dasz gotowca? To tak jakbyś napisał bota, podał mi source, ja bym skompilowal i sie cieszyl... Chce sam cos zrobic, tylko nie moge znalezc opisu po polsku co i jak z tymi pakietami...

  16. Reklama
  17. #73
    Avatar MeNi
    Data rejestracji
    2007
    Położenie
    我在波兰华沙
    Wiek
    32
    Posty
    134
    Siła reputacji
    18

    Domyślny

    Kod :
    procedure podnies(posx, posy, posz: integer; ID,count,bp:integer);
    var
      PacketBuffer: array [0..200] of byte;
      ProcessID: Cardinal;
      item: TItemBP;
    begin
        GetWindowThreadProcessId(FindWindow('TibiaClient',Nil), @ProcessID);  //pobranie id procesu Tibii
        item.bp := bp;
        item.slot := 7;
        PacketBuffer[0] := $0F;
        PacketBuffer[1] := $00;
        PacketBuffer[2] := $78;
        CopyMemory(@PacketBuffer[3],@posx,2);
        CopyMemory(@PacketBuffer[5],@posy,2);
        PacketBuffer[7] := posz;
        CopyMemory(@PacketBuffer[8],@ID, 2);
        PacketBuffer[10] := $07;
        PacketBuffer[11] := $FF;
        PacketBuffer[12] := $FF;
        PacketBuffer[13] := $39+item.bp;
        PacketBuffer[14] := $00;
        PacketBuffer[15] := item.slot;
        PacketBuffer[16] := count;
        SendPacket(ProcessID, @PacketBuffer, TRUE, FALSE); // tu program wysyla pakiet do programu z proces id = ProcessID
    end;
    gdy przykładowo taki pakiet wygląda tak:

    Kod :
    0F 00 78 [60 81] [4E 80] [07] [B0 0D] 01 FF FF [40] 00 [01] [01]
    w nawiasach kolejno:
    pos_x,
    pos_y,
    pos_z,
    item_id,
    39+numer_bp,
    miejsce w bp na które przenieść item,
    liczba itemów (np. 2 meaty, 3gp)

    więc jeśli chcesz uzupełnić ten pakiet swoimi danymi to używasz
    Kod :
    CopyMemory(@PacketBuffer[3],@posx,2);
    czerwony = "miejsce" w pakiecie
    zielony = czym chcesz uzupełnić (np. posx)
    niebieski = długość danych (np. 01 0A ma długość 2)

    Rozumiesz?

    Zobacz już gotową procedurę którą ci podałem na górze postu, tak to powinno być uzupełnione.

  18. #74
    konto usunięte

    Domyślny

    Może ktoś mi podać address nicku postaci ?
    albo jak mogę sam go uzyskać w cheat engine
    (oczywiście chodzi mi o tibię 8.10)

  19. #75
    konto usunięte

    Domyślny

    Szczerze mówiąc to to co Ty napisałeś rozumiem, ale ciekawi mnie jeszcze skąd mam wiedieć które cyferki mam pozamieniac ^^?

    @ Vivynus
    Te stałe od battle listy wklejasz pod slowem 'const', jesli bierzesz te stale z poradnika to bedzie ci wywalalo dziwne liczby, na poprzedniej stronie chyba MeNi podał adresy pod 8.10... Wklej je zamiast tych z poradnika i bedzie smigalo...

    @ MeNi
    Bede sie męczył może nawet do kolejnego update'a ale zrobie mojego bota... Może nawet lepszego niz Yaboobot (joke)....
    Ostatnio zmieniony przez Xedyn : 06-01-2008, 18:21

  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
  •