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


Rekomendowane odpowiedzi

Opublikowano

 

#include <IE.au3>
#include <ButtonConstants.au3>
#include <ComboConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>

$oknogui = GUICreate("Margonem Bot", 321, 113, 753, 485)
$loguj = GUICtrlCreateButton("Zaloguj", 240, 72, 73, 33)
$login_input = GUICtrlCreateInput("", 112, 16, 201, 21)
$haslo_input= GUICtrlCreateInput("", 112, 48, 193, 21, $ES_PASSWORD)
$login = GUICtrlCreateLabel("Login", 24, 16, 36, 17)
$haslo = GUICtrlCreateLabel("Hasło", 24, 48, 36, 17)

GUISetState(@SW_SHOW)

While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Loguj
       Login()
    EndSwitch
WEnd

Func Login()
       $Nick = GUICtrlRead($login_input)
       $Haslo = GUICtrlRead($haslo_input)

        $oIE = _IECreate( )
        ;$oIE = _IECreateEmbedded( )
        ;$obj = GUICtrlCreateObj($oIE, 10, 10, 700, 380 )
        _IENavigate($oIE, "http://www.margonem.pl")
        Sleep(1000)
        _IELoadWait($oIE)
        $login = _IEGetObjById($oIE, "ulogin")
        $password = _IEGetObjById($oIE, "upass")
        $Guzik = _IEGetObjById($oIE, "loginbutton")

        _IEFormElementSetValue($login, $Nick)
        _IEFormElementSetValue($password, $Haslo)
        _IEAction($Guzik, "click")
        _IELoadWait($oIE)

        While 1
        $lisz = _IEGetObjById($oIE, "npc14016")
        $auto = _IEGetObjById($oIE, "autobattleButton")
        $zamykanie = _IEGetObjById($oIE, "battleclose")
        If $lisz = 1 Then
        _IEAction($lisz, "click")
        EndIf
        If $auto = 1 Then
        _IEAction($auto, "click")
        EndIf
        If $zamykanie = 1 Then
        _IEAction($zamykanie, "click")
        EndIf
        Sleep(2000)
        WEnd

        While 1
        _IEAction($oIE, "refresh")
        Sleep (500000)
        WEnd

    EndFunc

Czy ten bot powinnien działać poprawnie?

TuByłaSygnatura.png

Opublikowano

Nie, bo

_IECreateEmbedded()
Używaj normalnego _IECreate albo nie używaj wcale, ktoś wywalił mój tut nt. obiektowości w IE.au3 więc uwierz mi na słowo że ta funkcja tworzy tylko "wizualne" okno, na którym nie można działać tak, jak na zwykłym/
846331404756772371599.jpeg
Opublikowano

Nie, bo

_IECreateEmbedded()
Używaj normalnego _IECreate albo nie używaj wcale, ktoś wywalił mój tut nt. obiektowości w IE.au3 więc uwierz mi na słowo że ta funkcja tworzy tylko "wizualne" okno, na którym nie można działać tak, jak na zwykłym/

 

Przeoczyłeś 1 szczegół, mały, ale dość istotny przed _IECreateEmbedded jest ";" wiec kod go nie bierze pod uwagę.

A kod nie działa jak powinnień, bo gdy znajdzie obiekt nic z nim nie robi

TuByłaSygnatura.png

Opublikowano

&nbsp;

Przeoczyłeś 1 szczegół, mały, ale dość istotny przed _IECreateEmbedded jest ";" wiec kod go nie bierze pod uwagę.

A kod nie działa jak powinnień, bo gdy znajdzie obiekt nic z nim nie robi

&nbsp;

 

Zauważ, owszem jest ; przed tym jak i przed stworzeniem obiektu ale zamiast tego jest _IECreate.

 

A potrzebne jest Ci to odświeżanie? Bo jak na razie siedzi w pętli wyżej i nie ma zamiaru wyjść z niej.

1387536187-U112334.png

Jeśli Ci pomogłem mógłbyś wynagrodzić lajkiem :)

Opublikowano

Ah, przepraszam, mój błąd :D

 

Wrzuć funkcję Loguj() przed pętlę GUI, treść ostatniej pętli While w funkcji Loguj() wrzuć do jakiejś funkcji i jeśli chcesz żeby działała w tle to użyj AdlibRegister (już bez sleepa w funkcji, ustaw wykonywanie do 50s)

846331404756772371599.jpeg
Opublikowano

&nbsp;&nbsp;

 

Zauważ, owszem jest ; przed tym jak i przed stworzeniem obiektu ale zamiast tego jest _IECreate.

 

A potrzebne jest Ci to odświeżanie? Bo jak na razie siedzi w pętli wyżej i nie ma zamiaru wyjść z niej.

Odświeżanie potrzebne, bo jak servery gry zostana na chwile wlaczone to musi się strona odswiezyc.

 

Ah, przepraszam, mój błąd :D

 

Wrzuć funkcję Loguj() przed pętlę GUI, treść ostatniej pętli While w funkcji Loguj() wrzuć do jakiejś funkcji i jeśli chcesz żeby działała w tle to użyj AdlibRegister (już bez sleepa w funkcji, ustaw wykonywanie do 50s)

Popróbuje poźniej, bo teraz czasu nie mam

 

@topic

Takie małe pytanie, jak długo zajmuje znalezienie obiektu i kliknięcie na niego? ok ile ms?

TuByłaSygnatura.png

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...