Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Bot do gier.


Rekomendowane odpowiedzi

Opublikowano

Witam!!

 

Widzę wiele botów, w których są np. wyświetlane w programie aktualna ilość pieniędzy w grze, poziom itp. (np profesja w sfgame)

 

Moje pytanie jest takie, jak oni to robią?

 

Na przykład dajmy bot sfgame bot. W nim możemy zobaczyć aktualny level, exp, złoto grzyby po prostu wszystko

 

Nie rozumiem jak oni to robią.

 

Oświecicie mnie??

 

Plusy!!!!

Opublikowano

Napisalem sam pare botow do sf wiec moge ci akurat pomoc.

 

Kazdy link wyglada miejwiecej tak:

http://s2.sfgame.pl/request.php?req=UMaW0e52525780933As9DI943LbZ0TS4004&random=%2&rnd=18682249691385328231037
pierwszy parametr pod nazwa "req" zklada sie z ID sesji, ktory dostajesz przy logowaniu. W tym wypadku jest to:

UMaW0e52525780933As9DI943LbZ0TS4
Po tym jest akcja ktora wykonujesz. Np tak jak powyzej: "004" ktore odpowiada za wejscie w zakladke postaci.

Parametr random mozesz ignorowac, natomiast rnd to tylko randomowe liczby

 

Za kazdym razem dostajesz w odpowiedzi cos tym stylu:

0041737622716/471373/1385331834/1385241015/-1283791275/0/0/7/3152/3580/403/189556/-1/3650/20/5/0/3/304/303/4/1/2/2/4/1/0/1/2/2/23/23/31/25/28/0/0/0/0/0/0/0/0/0/0/2/1/1385298794/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/1/1001/8/10/0/0/0/0/0/0/1/0/0/0/0/0/0/0/0/0/0/0/0/0/8/7/0/0/1/3/5/2/0/0/50/0/7/1001/4/0/2/4/1/3/0/0/130/0/8/3/0/0/2/5/3/3/0/0/75/0/3/1001/3/0/2/5/1/0/0/0/26/0/5/1001/6/0/4/2/5/0/0/0/54/0/1385298389/7/7/7/2/5/3/-105/-62/-53/8/6/20/405/135/270/0/3/0/0/5/4/3/9/0/0/33/0/0/1003/17/0/2/3/5/4/4/0/78/0/0/1/0/0/2/3/5/6/0/0/150/0/570/88/236/475/410/715/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/8/10/0/0/0/0/0/1385294561/1950/0/0/0/1385298847/0/0/0/1385241015/7/0/5/39/0/6740/536/0/0/13/0/0/1/1385298247/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/-1283791275/-1283791275/-1283791275/0/0/0/0/1385331834;;
Radze ci napisac sobie program ktory wrzuca to w array dzielac slashami, tak jak ja to robie. i tu np pozycja nr 7 (zaczynajac od 0) odpowiada za twoj lvl.

 

Jezeli chcesz sie zalogowac robisz to tak:

http://s2.sfgame.pl/request.php?req=00000000000000000000000000000000[twoj nick];[twoje haslo w md5];&random=%2&rnd=18682249691385328231037 
zamiast ID sesji wrzucasz 32 zer, nastepnie twoj nick i haslo w md5 oddzielone znakiem ";". W odpowiedzi dostajesz praktycznie to samo co powyzej podalem, tyle ze na ostatniej pozycji znajduje sie ID o ktorym wczesniej wspominalem ktore bedziesz musial wylapac
Opublikowano

Nie wiem jak ci to prosciej wytlumaczyc ale sprobuje.

 

Powiedzmy ze masz postac z takimi passami:

Login: Marcel

Haslo: qwerty

Haslo musi byc w md5, wiec po hashowaniu wyglada tak: d8578edf8458ce06fbc5bb76a58c5ca4

 

Login wyglada tak:

http://s2.sfgame.pl/request.php?req=00000000000000000000000000000000002[twoj nick];[twoje haslo w md5];&random=%2&rnd=18682249691385328231037 
Wiec wklejasz tylko twoj login i haslo, wyjdzie cos takiego:

http://s2.sfgame.pl/request.php?req=00000000000000000000000000000000002Marcel;d8578edf8458ce06fbc5bb76a58c5ca4;&random=%2&rnd=18682249691385328231037
Wklej to teraz w przegladarke i dostaniesz to co pokazalem w poprzednim poscie, te liczby to informacje o twojej postaci, lvl, gold, grzybki etc.
Opublikowano

Jak mowilem wczesniej, tworzysz array z tego stringa dzielac przez ukosnik ("/"), i kazda pozycja odpowiada za co innego. Jezeli nie wiesz o czym mowie, to najwyrazniej nie umiesz programowac, i nie wiem dlaczego w tym wypadku wogole sie za to bierzesz.

 

Tu masz moja wlasna liste, ktora pokazuje ktory index za co odpowiada. Format jest jaki jest poniewaz pisalem to w javie i nie chce mi sie zmieniac, ale powinienes sie polapac

 

public static final int SF_MSG_COUNT = 5;
public static final int SF_LEVEL = 7;
public static final int SF_EXP = 8;
public static final int SF_EXP_REQ = 9;
public static final int SF_HONOR = 10;
public static final int SF_RANK = 11;
public static final int SF_SILVER = 13;
public static final int SF_MUSH = 14;
public static final int SF_MSUH_GAINED = 15;
public static final int SF_MUSH_SPEND = 16;
public static final int SF_STATUS = 45;// 2 quest /1work /0none
// zalezy od statusu (quest/warta)
public static final int SF_WORK_LENGHT = 46;
public static final int SF_CHOSEN_QUEST = 46;
public static final int SF_QUEST_ENDTIME = 47;
public static final int SF_BACKPACK_SLOT1 = 168;
public static final int SF_BACKPACK_SLOT2 = 180;
public static final int SF_BACKPACK_SLOT3 = 192;
public static final int SF_BACKPACK_SLOT4 = 204;
public static final int SF_BACKPACK_SLOT5 = 216;
public static final int SF_QUEST_DURATION_1 = 241;
public static final int SF_QUEST_DURATION_2 = 242;
public static final int SF_QUEST_DURATION_3 = 243;
public static final int SF_QUEST_EXP_1 = 280;
public static final int SF_QUEST_EXP_2 = 281;
public static final int SF_QUEST_EXP_3 = 282;
public static final int SF_QUEST_GOLD_1 = 283;
public static final int SF_QUEST_GOLD_2 = 284;
public static final int SF_QUEST_GOLD_3 = 285;
public static final int SF_MOUNT = 286;
public static final int SF_MOUNT_DURATION = 451;
public static final int SF_AWA = 456; // w sekundach
public static final int SF_BEERS = 457;
public static final int SF_DUNGEON_DONE = 458; // max 100
public static final int SF_DUNGEON_ENDTIME = 459;
public static final int SF_ARENA_TIMELEFT = 460;
// 0 = zamkniety, 1 = otwarty, 12 = skonczony, 2-11 = (lvl-1)
public static final int SF_DUNGEON_1 = 480; 
public static final int SF_DUNGEON_2 = 481;
public static final int SF_DUNGEON_3 = 482;
public static final int SF_DUNGEON_4 = 483;
public static final int SF_DUNGEON_5 = 484;
public static final int SF_DUNGEON_6 = 485;
public static final int SF_DUNGEON_7 = 486;
public static final int SF_DUNGEON_8 = 487;
public static final int SF_DUNGEON_9 = 488;
public static final int SF_DUNGEON_10 = 489;
public static final int SF_DUNGEON_11 = 441;
public static final int SF_DUNGEON_12 = 442;
// 0 nie zgloszony, 1 zgloszony na atak, 2 na obrone, 3 atak i obrona
public static final int SF_GUILD_WAR_STATUS = 508;
public static final int SF_SERVERTIME = 510;

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...