Reklama
Strona 28 z 33 PierwszaPierwsza ... 182627282930 ... OstatniaOstatnia
Pokazuje wyniki od 406 do 420 z 486

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

  1. #406
    Avatar Rzulf
    Data rejestracji
    2009
    Posty
    481
    Siła reputacji
    16

    Domyślny

    Nie mam BL_Size, BL_Dist_Id i BL_Dist_Name podal bys adresy? Current nie trzeba nigdzie definiowac tak?
    ~~[200]POST~~

  2. #407
    Avatar LGTK
    Data rejestracji
    2009
    Położenie
    Podlaskie, Białystok
    Wiek
    33
    Posty
    267
    Siła reputacji
    16

    Domyślny

    idź najpierw naucz się programować a potem bież się za boty bo noobisz...
    current to ma być int
    a addresy masz w tibi api
    PIŻMAG

  3. #408

    Data rejestracji
    2009
    Położenie
    Giżycko
    Posty
    258
    Siła reputacji
    17

    Domyślny

    Cytuj LGTK napisał Pokaż post
    Cytat został ukryty, ponieważ ignorujesz tego użytkownika. Pokaż cytat.
    idź najpierw naucz się programować a potem bież się za boty bo noobisz...
    current to ma być int
    a addresy masz w tibi api
    yy no po to pisał w temacie, żebyś mu pomógł, lub ktokolwiek inny, po co nim gardzisz? :D

    Kod :
    var
    Current : Integer;

  4. Reklama
  5. #409
    Avatar LGTK
    Data rejestracji
    2009
    Położenie
    Podlaskie, Białystok
    Wiek
    33
    Posty
    267
    Siła reputacji
    16

    Domyślny

    Cytuj Kambel napisał Pokaż post
    Cytat został ukryty, ponieważ ignorujesz tego użytkownika. Pokaż cytat.
    yy no po to pisał w temacie, żebyś mu pomógł, lub ktokolwiek inny, po co nim gardzisz? :D

    Kod :
    var
    Current : Integer;
    W sumie za ostro pojechałem ale zadał dość głupie pytanie...
    PIŻMAG

  6. #410

    Data rejestracji
    2008
    Posty
    21
    Siła reputacji
    0

    Domyślny

    A ja tak sobie myślę, czy bot obliczający szczegółowo zdobywany exp (średnio, ile do następnego levela itd.), jest przez CipSoft zakazany? Chodzi o to, że nie ingerowałby poważnie w klienta (LH, Cave Bot itd.), tylko odczytywał potrzebne dane.

  7. #411

    Data rejestracji
    2009
    Położenie
    Giżycko
    Posty
    258
    Siła reputacji
    17

    Domyślny

    Cytuj Ficiek napisał Pokaż post
    Cytat został ukryty, ponieważ ignorujesz tego użytkownika. Pokaż cytat.
    A ja tak sobie myślę, czy bot obliczający szczegółowo zdobywany exp (średnio, ile do następnego levela itd.), jest przez CipSoft zakazany? Chodzi o to, że nie ingerowałby poważnie w klienta (LH, Cave Bot itd.), tylko odczytywał potrzebne dane.
    Z tego co wiem odczytywanie danych nie ingeruję w klienta.

  8. Reklama
  9. #412
    bambus

    Domyślny

    Witam wszystkich

    Mam pytanie.
    Czy wiecie jak wyświetlić kompletne okno Battle(wszystkie pozycje-Nicki...)
    w komponencie np.: TMemo razem z paskiem życia „ %”.
    Prosił bym o kompletny kod.

  10. #413
    Avatar LGTK
    Data rejestracji
    2009
    Położenie
    Podlaskie, Białystok
    Wiek
    33
    Posty
    267
    Siła reputacji
    16

    Domyślny

    Cytuj bambus napisał Pokaż post
    Cytat został ukryty, ponieważ ignorujesz tego użytkownika. Pokaż cytat.
    Witam wszystkich

    Mam pytanie.
    Czy wiecie jak wyświetlić kompletne okno Battle(wszystkie pozycje-Nicki...)
    w komponencie np.: TMemo razem z paskiem życia „ %”.
    Prosił bym o kompletny kod.
    To se napisz to nie koncert życzeń...
    I wiemy jak wyświetlić.
    PIŻMAG

  11. #414
    Avatar LGTK
    Data rejestracji
    2009
    Położenie
    Podlaskie, Białystok
    Wiek
    33
    Posty
    267
    Siła reputacji
    16

    Domyślny

    Macie dziewki
    Kod :
    unit Addresses;
    
    interface
      const
       BattleList_Start = $637CE0;
                        BattleList_StepCreatures = $A8;
                        BattleList_MaxCreatures = 250;
                        BattleList_End = BattleList_Start + (BattleList_StepCreatures * BattleList_MaxCreatures);
    
                        Client_StartTime = $8034E8;
                        Client_XTeaKey = $7BC6E4;
                        Client_SocketStruct = $7BC6B8;
                        Client_RecvPointer = $5B25E4;
                        Client_SendPointer = $5B2610;
                        Client_FrameRatePointer = $7C07CC;
                        Client_FrameRateCurrentOffset = $60;
                        Client_FrameRateLimitOffset = $58;
                        Client_MultiClient = $5079B4;
                        Client_Status = $7BFC84;
                        Client_SafeMode = $7BCB0C;
                        Client_FollowMode = Client_SafeMode + 4;
                        Client_AttackMode = Client_FollowMode + 4;
                        Client_ActionState = $7BFCE4;
                        Client_ActionStateFreezer = $518F90;
                        Client_LastMSGText = $789CF8;
                        Client_LastMSGAuthor = Client_LastMSGText - $28;
                        Client_StatusbarText = $803508;
                        Client_StatusbarTime = Client_StatusbarText - 4;
                        Client_ClickId = $7BFD24;
                        Client_ClickCount = Client_ClickId + 4;
                        Client_ClickZ = Client_ClickId - $68;
                        Client_SeeId = Client_ClickId + 12;
                        Client_SeeCount = Client_SeeId + 4;
                        Client_SeeZ = Client_SeeId - $68;
                        Client_ClickContextMenuItemId = $7BFD30;
                        //Client_ClickContextMenuItemGroundId = ?
                        Client_ClickContextMenuCreatureId = $7BFD34;
                        Client_LoginServerStart = $7B7620;
                        Client_StepLoginServer = 112;
                        Client_DistancePort = 100;
                        Client_MaxLoginServers = 10;
                        Client_RSA = $5B2980;
                        Client_LoginCharList = $7BFC38;
                        Client_LoginCharListLength = $7BFC3C;
                        Client_LoginSelectedChar = $7BFC34;
                        Client_GameWindowRectPointer = $66F080;
                        Client_GameWindowBar = $8034F8;
                        Client_DatPointer = $7BC704;
                        Client_EventTriggerPointer = $51AA90;
                        Client_DialogPointer = $6723EC;
                        Client_DialogLeft = $14;
                        Client_DialogTop = $18;
                        Client_DialogWidth = $1C;
                        Client_DialogHeight = $20;
                        Client_DialogCaption = $50;
                        Client_LastRcvPacket = $7B7E98;
                        Client_DecryptCall = $45A775;
                        Client_LoginAccountNum = 0;
                        Client_LoginPassword = $7BFC40;
                        Client_LoginAccount = Client_LoginPassword + 32;
                        Client_LoginPatch = 0;
                        Client_LoginPatch2 = 0;
                       // Client_LoginPatchOrig = new byte[] { $E8, $0D, $1D, $09, $00 };
                       // Client_LoginPatchOrig2 = new byte[] { $E8, $C8, $15, $09, $00 };
                        Client_ParserFunc = $45A740;
                        Client_GetNextPacketCall = $45A775;
                        Client_RecvStream = $7BC6D4;
    
                        Container_Start = $66FB38;
                        Container_StepContainer = 492;
                        Container_StepSlot = 12;
                        Container_MaxContainers = 16;
                        Container_MaxStack = 100;
                        Container_DistanceIsOpen = 0;
                        Container_DistanceId = 4;
                        Container_DistanceName = 16;
                        Container_DistanceVolume = 48;
                        Container_DistanceAmount = 56;
                        Container_DistanceItemId = 60;
                        Container_DistanceItemCount = 64;
                        Container_End = Container_Start + (Container_MaxContainers * Container_StepContainer);
    
                        ContextMenus_AddContextMenuPtr = $450C90;
                        ContextMenus_OnClickContextMenuPtr = $44D870;
                        ContextMenus_OnClickContextMenuVf = $5B7878;
                        ContextMenus_AddSetOutfitContextMenu = $451BAC;
                        ContextMenus_AddPartyActionContextMenu = $451BFD;
                        ContextMenus_AddCopyNameContextMenu = $451C14;
                        ContextMenus_AddTradeWithContextMenu = $451839;
                        ContextMenus_AddLookContextMenu = $4516EF;
    
                        Creature_DistanceId = 0;
                        Creature_DistanceType = 3;
                        Creature_DistanceName = 4;
                        Creature_DistanceX = 36;
                        Creature_DistanceY = 40;
                        Creature_DistanceZ = 44;
                        Creature_DistanceScreenOffsetHoriz = 48;
                        Creature_DistanceScreenOffsetVert = 52;
                        Creature_DistanceIsWalking = 76;
                        Creature_DistanceWalkSpeed = 140;
                        Creature_DistanceDirection = 80;
                        Creature_DistanceIsVisible = 144;
                        Creature_DistanceBlackSquare = 132;
                        Creature_DistanceLight = 120;
                        Creature_DistanceLightColor = 124;
                        Creature_DistanceHPBar = 136;
                        Creature_DistanceSkull = 148;
                        Creature_DistanceParty = 152;
                        Creature_DistanceWarIcon = 160;
                        Creature_DistanceIsBlocking = 164;
                        Creature_DistanceOutfit = 96;
                        Creature_DistanceColorHead = 100;
                        Creature_DistanceColorBody = 104;
                        Creature_DistanceColorLegs = 108;
                        Creature_DistanceColorFeet = 112;
                        Creature_DistanceAddon = 116;
    
                        DatItem_StepItems = $4C;
                        DatItem_Width = 0;
                        DatItem_Height = 4;
                        DatItem_MaxSizeInPixels = 8;
                        DatItem_Layers = 12;
                        DatItem_PatternX = 16;
                        DatItem_PatternY = 20;
                        DatItem_PatternDepth = 24;
                        DatItem_Phase = 28;
                        DatItem_Sprite = 32;
                        DatItem_Flags = 36;
                        DatItem_CanLookAt = 0;
                        DatItem_WalkSpeed = 40;
                        DatItem_TextLimit = 44;
                        DatItem_LightRadius = 48;
                        DatItem_LightColor = 52;
                        DatItem_ShiftX = 56;
                        DatItem_ShiftY = 60;
                        DatItem_WalkHeight = 64;
                        DatItem_Automap = 68;
                        DatItem_LensHelp = 72;
    
                        DrawItem_DrawItemFunc = $4B1B30;
    
                        DrawSkin_DrawSkinFunc = $4B57A0;
    
                        Hotkey_SendAutomaticallyStart = $7BCD08;
                        Hotkey_SendAutomaticallyStep = $01;
                        Hotkey_TextStart = $7BCD30;
                        Hotkey_TextStep = $100;
                        Hotkey_ObjectStart = $7BCC78;
                        Hotkey_ObjectStep = $04;
                        Hotkey_ObjectUseTypeStart = $7BCB58;
                        Hotkey_ObjectUseTypeStep = $04;
                        Hotkey_MaxHotkeys = 36;
    
                        Map_MapPointer = $676F40;
                        Map_StepTile = 168;
                        Map_StepTileObject = 12;
                        Map_DistanceTileObjectCount = 0;
                        Map_DistanceTileObjects = 4;
                        Map_DistanceObjectId = 0;
                        Map_DistanceObjectData = 4;
                        Map_DistanceObjectDataEx = 8;
                        Map_MaxTileObjects = 10;
                        Map_MaxX = 18;
                        Map_MaxY = 14;
                        Map_MaxZ = 8;
                        Map_MaxTiles = 2016;
                        Map_ZAxisDefault = 7;
                        Map_NameSpy1 = $4EE519;
                        Map_NameSpy2 = $4EE51D;
                        Map_NameSpy1Default = 19061;
                        Map_NameSpy2Default = 16501;
                        Map_LevelSpy1 = $4F038A;
                        Map_LevelSpy2 = $4F048F;
                        Map_LevelSpy3 = $4F0510;
                        Map_LevelSpyPtr = $66F080;
                        Map_LevelSpyAdd1 = 28;
                        Map_LevelSpyAdd2 = $2A88;
                        Map_FullLightNop = $4E6C29;
                        Map_FullLightAdr = $4E6C2C;
                      //  Map_FullLightNopDefault = new byte[] { $7E, $05 };
                      //  Map_FullLightNopEdited = new byte[] { $90, $90 };
                        Map_FullLightAdrDefault = $80;
                        Map_FullLightAdrEdited = $FF;
    
                        Player_Experience = $637C4C;
                        Player_Flags = Player_Experience - 108;
                        Player_Id = Player_Experience + 12;
                        Player_Health = Player_Experience + 8;
                        Player_HealthMax = Player_Experience + 4;
                        Player_Level = Player_Experience - 4;
                        Player_MagicLevel = Player_Experience - 8;
                        Player_LevelPercent = Player_Experience - 12;
                        Player_MagicLevelPercent = Player_Experience - 16;
                        Player_Mana = Player_Experience - 20;
                        Player_ManaMax = Player_Experience - 24;
                        Player_Soul = Player_Experience - 28;
                        Player_Stamina = Player_Experience - 32;
                        Player_Capacity = Player_Experience - 36;
                        Player_FistPercent = $637BFC;
                        Player_ClubPercent = Player_FistPercent + 4;
                        Player_SwordPercent = Player_FistPercent + 8;
                        Player_AxePercent = Player_FistPercent + 12;
                        Player_DistancePercent = Player_FistPercent + 16;
                        Player_ShieldingPercent = Player_FistPercent + 20;
                        Player_FishingPercent = Player_FistPercent + 24;
                        Player_Fist = Player_FistPercent + 28;
                        Player_Club = Player_FistPercent + 32;
                        Player_Sword = Player_FistPercent + 36;
                        Player_Axe = Player_FistPercent + 40;
                        Player_Distance = Player_FistPercent + 44;
                        Player_Shielding = Player_FistPercent + 48;
                        Player_Fishing = Player_FistPercent + 52;
                        Player_SlotHead = $66FAC0;
                        Player_SlotNeck = Player_SlotHead + 12;
                        Player_SlotBackpack = Player_SlotHead + 24;
                        Player_SlotArmor = Player_SlotHead + 36;
                        Player_SlotRight = Player_SlotHead + 48;
                        Player_SlotLeft = Player_SlotHead + 60;
                        Player_SlotLegs = Player_SlotHead + 72;
                        Player_SlotFeet = Player_SlotHead + 84;
                        Player_SlotRing = Player_SlotHead + 96;
                        Player_SlotAmmo = Player_SlotHead + 108;
                        Player_MaxSlots = 11;
                        Player_DistanceSlotCount = 4;
                        Player_CurrentTileToGo = $637C60;
                        Player_TilesToGo = $637C64;
                        Player_GoToX = Player_Experience + 80;
                        Player_GoToY = Player_GoToX - 4;
                        Player_GoToZ = Player_GoToX - 8;
                        Player_RedSquare = $637C24;
                        Player_GreenSquare = Player_RedSquare - 4;
                        Player_WhiteSquare = Player_GreenSquare - 8;
                        Player_AccessN = 0;
                        Player_AccessS = 0;
                        Player_TargetId = Player_RedSquare;
                        Player_TargetBattlelistId = Player_TargetId - 8;
                        Player_TargetBattlelistType = Player_TargetId - 5;
                        Player_TargetType = Player_TargetId + 3;
                        Player_Z = $672428;
                        Player_X = Player_Z+8;
                        Player_Y = Player_Z+4;
                        Player_AttackCount = $635800;
                        Player_FollowCount = Player_AttackCount + $20;
    
                        TextDisplay_PrintName = $4F14F3;
                        TextDisplay_PrintFPS = $458778;
                        TextDisplay_ShowFPS = $6358FC;
                        TextDisplay_PrintTextFunc = $4B0F70;
                        TextDisplay_NopFPS = $4586B4;
    
                        Vip_Start = $635978;
                        Vip_StepPlayers = $2C;
                        Vip_MaxPlayers = 200;
                        Vip_DistanceId = 0;
                        Vip_DistanceName = 4;
                        Vip_DistanceStatus = 34;
                        Vip_DistanceIcon = 40;
                        Vip_End = Vip_Start + (Vip_StepPlayers * Vip_MaxPlayers);
    implementation
    
    end.
    PIŻMAG

  12. Reklama
  13. #415

    Data rejestracji
    2010
    Posty
    18
    Siła reputacji
    0

    Domyślny

    Cytuj LGTK napisał Pokaż post
    Cytat został ukryty, ponieważ ignorujesz tego użytkownika. Pokaż cytat.
    To se napisz to nie koncert życzeń...
    I wiemy jak wyświetlić.
    Nie strugaj kozaka bo jeszcze za chudy w uszach jesteś synek a skopiować adresy z TibiaApi potrafi nawet upośledzone umysłowo dziecko.

    Battlelista w pamięci jest reprezentowana przez tablicę bajtów o stałym rozmiarze.
    Każda kreatura ma przydzieloną stała ilość bajtów na informację takie jak Nick, ID, HP itp..

    Cała sztuka polega na tym aby odczytać sobie całą battelist'e do jakiejś swojej zmiennej tablicowej, podzielić sobie ją na odpowiednie części i przelecieć po niej pętelką.

    Załóżmy, że jedna kreatura to 160 bajtów a na całej battleliście znajduje się 250 kreatur.
    Proste działanie matematyczne (160*250 = 40000) daje nam rozmiar całej battlelisty.

    Teraz pętla może wyglądać tak

    Kod :
    $n = 0;
    for($i=0;$i<=40000;$i+=160)
    {
        $creature[n] = copy($battleist,$i+160); //jakaś funkcja, ktora do tablicy $creature skopiuje nam 160 bajtów z tablicy battleist
       $n++;
        // wyciągamy sobie poszczególne wartości wiedząc, że ID to 4 bajty, nick 32 i tak dalej i tak dalej i tak dalej. 
    }
    w ten sposób na końcu otrzymamy ładną tablicę wszystkich kreatur znajdujących się na battleliście, którą później możemy pokazać w jakiejś formatce.

    Oczywiście można to trochę poszerzyć robiąc np klasę Creature, która w konstruktorze z otrzymanej tablicy bajtów będzie wyciągała informację i zapisywała je do odpowiednich pól.

    (wszystkie liczby są oczywiście z dupy wzięte i miały służyć tylko do zademonstrowania samej logiki tak samo jak funkcje)

  14. #416
    Avatar LGTK
    Data rejestracji
    2009
    Położenie
    Podlaskie, Białystok
    Wiek
    33
    Posty
    267
    Siła reputacji
    16

    Domyślny

    Cytuj Yaboomaster napisał Pokaż post
    Cytat został ukryty, ponieważ ignorujesz tego użytkownika. Pokaż cytat.
    Nie strugaj kozaka bo jeszcze za chudy w uszach jesteś synek a skopiować adresy z TibiaApi potrafi nawet upośledzone umysłowo dziecko.
    Niektórym nawet to sprawia problem...
    Swoją drogą ciekawy sposób na odczytywanie danych z bl.
    Bo lecenie całej listy od początku i odczytywanie wszystkiego z pamięci je dużo pamięci. I skąd wiesz że taki low jestem?
    Ostatnio zmieniony przez LGTK : 23-09-2010, 23:08
    PIŻMAG

  15. #417

    Data rejestracji
    2010
    Posty
    18
    Siła reputacji
    0

    Domyślny

    Cytuj LGTK napisał Pokaż post
    Cytat został ukryty, ponieważ ignorujesz tego użytkownika. Pokaż cytat.
    I skąd wiesz że taki low jestem?
    No bo wiek kim jesteś, pamiętam jak prosiłeś mnie o jakieś głupawe adresy a teraz strugasz nie wiadomo jakiego programistę i chcesz po mnie kod poprawiać ;d Po prostu się synku nie wychylaj ;d

  16. Reklama
  17. #418
    Avatar LGTK
    Data rejestracji
    2009
    Położenie
    Podlaskie, Białystok
    Wiek
    33
    Posty
    267
    Siła reputacji
    16

    Domyślny

    Cytuj Yaboomaster napisał Pokaż post
    Cytat został ukryty, ponieważ ignorujesz tego użytkownika. Pokaż cytat.
    No bo wiek kim jesteś, pamiętam jak prosiłeś mnie o jakieś głupawe adresy a teraz strugasz nie wiadomo jakiego programistę i chcesz po mnie kod poprawiać ;d Po prostu się synku nie wychylaj ;d
    Masz racje miałem trochę gorszy dzień... Jakie addresy? Na tpforums prosiłem cie o pomoc z onclick w contextmenu ale sobie poradziłem starczyło dać konwersje na ;stdcall
    Myślisz nie dam rady tego napisać? A poprawiać? Pewnie masz więcej doświadczenia ale uwierz jestem w stanie napisać tego bota.
    Ostatnio zmieniony przez LGTK : 25-09-2010, 10:12
    PIŻMAG

  18. #419

    Data rejestracji
    2008
    Położenie
    Police
    Posty
    17
    Siła reputacji
    0

    Domyślny

    Cytuj Azor napisał Pokaż post
    Cytat został ukryty, ponieważ ignorujesz tego użytkownika. Pokaż cytat.
    Ołkej. A jest coś w stylu 'FreeProxy', żeby odczytywało pakiety z tibii 8.54? Bo Freeproxy jest do 8.4
    da rade ? ;o

    Bo chodzi mi żeby przechwyciło ten jeden pakiet, jaki teraz wysłało/odebrało(?).
    .

  19. #420
    Avatar LGTK
    Data rejestracji
    2009
    Położenie
    Podlaskie, Białystok
    Wiek
    33
    Posty
    267
    Siła reputacji
    16

    Domyślny

    Spróbuj uaktualnić addresy z confingu blackd może da rady
    PIŻMAG

  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
  •