Reklama
Pokazuje wyniki od 1 do 12 z 12

Temat: AutoIT labele ? or something like that? [Rozwiązane]

  1. #1
    Avatar BBsrv
    Data rejestracji
    2013
    Położenie
    50cm od monitora
    Wiek
    31
    Posty
    4,489
    Siła reputacji
    13

    Domyślny AutoIT labele ? or something like that? [Rozwiązane]

    Da się tutaj zrobić coś jakby labele ?
    chodzi mi o to, ze daje sobie np

    :nazwa1
    <kod>
    <kod>
    <kod>
    if coś then gotolabel "nazwa1"

    wiecie o co chodzi botterzy xD

    Bo napisałem sobie w autoicie program, który mi loguje wszystkie postacie codziennie o 10:30 i włącza boty, ale czasem się postać nie zaloguje (bo wyskakuje że niby login serw jest offline) i trzeba by się cofnąć w skrypcie x linijek w góre żeby jeszcze raz się zalogował (ta wiem, ze mogę to zrobić tak, że dam 2 razy logowanie, ale wtedy mam 2x tyle kodu] i wtedy jeśli by mi się char nie zalogował to żeby w kółko wracał do tego labela wyżej i od nowa próbował zalogować...

    jak to ugryźć ?
    Kontakt ze mną:
    pw

  2. #2
    Avatar esik
    Data rejestracji
    2005
    Posty
    795
    Siła reputacji
    19

    Domyślny

    Nie jestem ekspertem, ale czy Autoit ma w ogóle jakąś możliwość wykrycia czy postać jest zalogowana?

    Jedyne co mi przychodzi do głowy to nazwa okna tibii - jeśli nie zmieni się na taką z nazwą postaci to niech spróbuje jeszcze raz..

    @edit

    Oo nie wiedziałem że to jest tak rozbudowane, ogarnąłem parę tutoriali na necie m.in. właśnie o tym imagesearch.dll i jestem pod wrażeniem możliwości.

    @edit2 @BBsrv ;
    A nie możesz całej operacji logowania dać w pętlę until, i jako jej warunek dać właśnie czegoś z imagesearch, eq czy coś tego pokroju? Będzie powtarzał próby logowania dopóki warunek wyświetlonego eq nie będzie spełniony, problem z głowy.
    Ostatnio zmieniony przez esik : 29-12-2013, 21:52

    I tylko żeby nie było...

  3. Reklama
  4. #3
    Avatar BBsrv
    Data rejestracji
    2013
    Położenie
    50cm od monitora
    Wiek
    31
    Posty
    4,489
    Siła reputacji
    13

    Domyślny

    Cytuj esik napisał Pokaż post
    Cytat został ukryty, ponieważ ignorujesz tego użytkownika. Pokaż cytat.
    Nie jestem ekspertem, ale czy Autoit ma w ogóle jakąś możliwość wykrycia czy postać jest zalogowana?

    Jedyne co mi przychodzi do głowy to nazwa okna tibii - jeśli nie zmieni się na taką z nazwą postaci to niech spróbuje jeszcze raz..
    o to się nie martw... imagesearch.dll

    Cytuj esik napisał Pokaż post
    Cytat został ukryty, ponieważ ignorujesz tego użytkownika. Pokaż cytat.
    @edit2 @BBsrv ;
    A nie możesz całej operacji logowania dać w pętlę until, i jako jej warunek dać właśnie czegoś z imagesearch, eq czy coś tego pokroju? Będzie powtarzał próby logowania dopóki warunek wyświetlonego eq nie będzie spełniony, problem z głowy.
    @esik ;
    W sumie to racja, jakoś nie przyszło mi to do głowy :d zaraz będę kombinował, nie koniecznie coś z eq, bo mogę mieć różne na różnych charach, ale wystarczy że dam pare pixeli z hp/mana bar ;d

    Niestety nie działa...

    próbuję z do until jak i z while i nie działa... stale mi powtarza zamiast skończyć...
    Ostatnio zmieniony przez BBsrv : 29-12-2013, 23:29
    Kontakt ze mną:
    pw

  5. #4
    Avatar Bazan
    Data rejestracji
    2008
    Wiek
    31
    Posty
    1,909
    Siła reputacji
    18

    Domyślny

    Pokaż kod tego. Całość twojego problemu to właśnie warunek końca pętli.

    Nie znam tego autoit, ale z tego co przeczytalem to najprostsza forma twojego czegos:

    Kod:
    Local $logged_in = false
    While $logged_in == false
      sprobuj_zalogowac() ; Tutaj po prostu proba zalogowania sie
      $logged_in = sprawdzenie_czy_zalogowano() ; tutaj ta twoja funkcja z imagesearch
    WEnd
    Jak sprawdzenie_czy_zalogowano(); zwroci ci true to wychodzi z petli i robi reszte.
    Dreaming by drumming. ˆˆ™

  6. #5
    Avatar BBsrv
    Data rejestracji
    2013
    Położenie
    50cm od monitora
    Wiek
    31
    Posty
    4,489
    Siła reputacji
    13

    Domyślny

    Cytuj Bazan napisał Pokaż post
    Cytat został ukryty, ponieważ ignorujesz tego użytkownika. Pokaż cytat.
    Pokaż kod tego. Całość twojego problemu to właśnie warunek końca pętli.

    Nie znam tego autoit, ale z tego co przeczytalem to najprostsza forma twojego czegos:

    Kod:
    Local $logged_in = false
    While $logged_in == false
      sprobuj_zalogowac() ; Tutaj po prostu proba zalogowania sie
      $logged_in = sprawdzenie_czy_zalogowano() ; tutaj ta twoja funkcja z imagesearch
    WEnd
    Jak sprawdzenie_czy_zalogowano(); zwroci ci true to wychodzi z petli i robi reszte.
    dokładnie w taki sposób robiłem, ale niestety nie działało... stale w kółko siedziało w pętli... zrobiłem na stałe, 3 razy próbuje zalogować xd
    Ostatnio zmieniony przez BBsrv : 30-12-2013, 13:42
    Kontakt ze mną:
    pw

  7. #6
    Avatar Bazan
    Data rejestracji
    2008
    Wiek
    31
    Posty
    1,909
    Siła reputacji
    18

    Domyślny

    Daj kod twojej funkcji sprawdzajacej czy jestes zalogowany, czyli kod sprawdzenie_czy_zalogowano()
    Dreaming by drumming. ˆˆ™

  8. #7
    Avatar BBsrv
    Data rejestracji
    2013
    Położenie
    50cm od monitora
    Wiek
    31
    Posty
    4,489
    Siła reputacji
    13

    Domyślny

    Cytuj Bazan napisał Pokaż post
    Cytat został ukryty, ponieważ ignorujesz tego użytkownika. Pokaż cytat.
    Daj kod twojej funkcji sprawdzajacej czy jestes zalogowany, czyli kod sprawdzenie_czy_zalogowano()
    @Bazan ;
    Kod:
    #Obfuscator_Parameters=/mergeonly
    #include <ImageSearch.au3>
    
    HotKeySet("{F1}","Start")
    
    While 1
    	Sleep(100)
    WEnd
    
    
    Func Start()
    	   RunTibia() 
    	   sleep(5000)
    	   $zalogowany=False
        While $zalogowany=False
    	   OpenLogin()
    	  sleep(1000)
    	  send("passy")
    	  Sleep(500)
    	  Send("{TAB}")
    	  sleep(500)
    	  send("passy")
    	  sleep(500)
    	  send("{ENTER}")
    	  sleep(3500)
    	  send("{ENTER}")
    	  sleep(3500)
    	  send("{ENTER}")
    	  sleep(3500)
    	   SprawdzCzyZalogowany()
    
    WEnd
    
       sleep(1000)
    	MsgBox(0, "hyhy", "Skrypt Zakończył Działanie Poprawnie")
    	exit
    	
     EndFunc
     
     
     ;/////////////////[[[[[[[[[[[[[ F U N K C J E ]]]]]]]]]]]]] //////////////////////
     Func RunTibia()
    	Local $mousex, $mousey
    	  $result = _ImageSearch("images/Tibia.bmp", 1, $mousex, $mousey, 10)
    		 If $result = 1 Then
    	  MouseClick("left", $mousex, $mousey, 2, 2)
       endif
    EndFunc
    
    Func OpenLogin()
       Local $mousex, $mousey
    	  $result = _ImageSearch("images/EnterGame.bmp", 1, $mousex, $mousey, 10)
    		 If $result = 1 Then
    	  MouseClick("left", $mousex, $mousey, 1, 2)
       endif
    EndFunc
    
    Func SprawdzCzyZalogowany()
         Local $mousex, $mousey
    	  $result = _ImageSearch("images/Zalogowany.bmp", 1, $mousex, $mousey, 10)
    	  If $result = 1 Then
    	  $zalogowany = true
       endif
    EndFunc
    Tu mam akurat z while, ale robiłem też z do .. untill a wyglądało to :
    Kod:
    	   RunTibia() 
    	   sleep(5000)
    	   $zalogowany=False
       Do
    	   OpenLogin()
    	  sleep(1000)
    	  send("passy")
    	  Sleep(500)
    	  Send("{TAB}")
    	  sleep(500)
    	  send("passy")
    	  sleep(500)
    	  send("{ENTER}")
    	  sleep(3500)
    	  send("{ENTER}")
    	  sleep(3500)
    	  send("{ENTER}")
    	  sleep(3500)
    	   SprawdzCzyZalogowany()
    
    Until $zalogowany=False
    
       sleep(1000)
    	MsgBox(0, "hyhy", "Skrypt Zakończył Działanie Poprawnie")
    	exit
    Czy jakoś tak ( pisane z palca, nie mam zapisanego tego)
    Ostatnio zmieniony przez BBsrv : 30-12-2013, 21:37
    Kontakt ze mną:
    pw

  9. #8
    Avatar Bazan
    Data rejestracji
    2008
    Wiek
    31
    Posty
    1,909
    Siła reputacji
    18

    Domyślny

    Nie wiem czy nie ma tu problemu z zasiegiem zmiennych.

    Zmien w funkcji start() :

    Kod:
    SprawdzCzyZalogowany()
    na
    Kod:
    $zalogowany = SprawdzCzyZalogowany()
    A w funkcji SprawdzCzyZalogowany() zmien:

    Kod:
    Func SprawdzCzyZalogowany()
         Local $mousex, $mousey
    	  $result = _ImageSearch("images/Zalogowany.bmp", 1, $mousex, $mousey, 10)
    	  If $result = 1 Then
    	  $zalogowany = true
       endif
    EndFunc
    na
    Kod:
    Func SprawdzCzyZalogowany()
         Local $mousex, $mousey
    	  $result = _ImageSearch("images/Zalogowany.bmp", 1, $mousex, $mousey, 10)
    	  If $result = 1 Then
    	  Return true
              Else
              Return false
       endif
    EndFunc
    Dreaming by drumming. ˆˆ™

  10. #9
    Avatar BBsrv
    Data rejestracji
    2013
    Położenie
    50cm od monitora
    Wiek
    31
    Posty
    4,489
    Siła reputacji
    13

    Domyślny

    Cytuj Bazan napisał Pokaż post
    Cytat został ukryty, ponieważ ignorujesz tego użytkownika. Pokaż cytat.
    Nie wiem czy nie ma tu problemu z zasiegiem zmiennych.

    Zmien w funkcji start() :

    Kod:
    SprawdzCzyZalogowany()
    na
    Kod:
    $zalogowany = SprawdzCzyZalogowany()
    A w funkcji SprawdzCzyZalogowany() zmien:

    Kod:
    Func SprawdzCzyZalogowany()
         Local $mousex, $mousey
    	  $result = _ImageSearch("images/Zalogowany.bmp", 1, $mousex, $mousey, 10)
    	  If $result = 1 Then
    	  $zalogowany = true
       endif
    EndFunc
    na
    Kod:
    Func SprawdzCzyZalogowany()
         Local $mousex, $mousey
    	  $result = _ImageSearch("images/Zalogowany.bmp", 1, $mousex, $mousey, 10)
    	  If $result = 1 Then
    	  Return true
              Else
              Return false
       endif
    EndFunc
    @Bazan ;
    Niestety nie działa... Funkcja jako-tako sama w sobie działa... Tylko, że w kółko zapętla...
    Nawet już zrobiłem tak, żeby sprawdzić czy aby dobrze działa sprawdzanie czy zalogowany i to jest dobrze...
    Kod:
    Func SprawdzCzyZalogowany()
         Local $mousex, $mousey
    	  $result = _ImageSearch("images/Zalogowany.bmp", 1, $mousex, $mousey, 10)
    	  If $result = 1 Then
    	MsgBox(0, "test", "Zwróciłem True")
    	Return True
    	  Else
    	MsgBox(0, "test", "Zwróciłem False")
    	Return False
       endif
    EndFunc
    Ostatnio zmieniony przez BBsrv : 31-12-2013, 12:35
    Kontakt ze mną:
    pw

  11. #10

    Data rejestracji
    2010
    Posty
    2,657
    Siła reputacji
    16

    Domyślny

    Moja sugestia - nie używaj labeli ;) To nie za dobrze świadczy o designie kodu ( a raczej - świadczy o tym , że coś pomieszałeś :p )

  12. #11
    Avatar BBsrv
    Data rejestracji
    2013
    Położenie
    50cm od monitora
    Wiek
    31
    Posty
    4,489
    Siła reputacji
    13

    Domyślny

    Cytuj Havaran napisał Pokaż post
    Cytat został ukryty, ponieważ ignorujesz tego użytkownika. Pokaż cytat.
    Moja sugestia - nie używaj labeli ;) To nie za dobrze świadczy o designie kodu ( a raczej - świadczy o tym , że coś pomieszałeś :p )
    przeczytałeś chociaz temat / posty w nim ? czy tylko tytuł tematu ?

    anyway, nie ważne można zamknąć zrobiłem to inaczej
    Kontakt ze mną:
    pw

  13. #12

    Data rejestracji
    2010
    Posty
    2,657
    Siła reputacji
    16

    Domyślny

    Cytuj BBsrv napisał Pokaż post
    Cytat został ukryty, ponieważ ignorujesz tego użytkownika. Pokaż cytat.
    przeczytałeś chociaz temat / posty w nim ? czy tylko tytuł tematu ?

    anyway, nie ważne można zamknąć zrobiłem to inaczej
    Oczywiście.
    Zasugerowałem Ci, że źle zaenkapsulowałeś kod. W tym wypadku wystarczyło wyciągnąć funkcję logującą do funkcji i wsadzić w pętlę do czasu kiedy się uda.

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. AutoIT / VTASK
    Przez Master w dziale Sprzęt i oprogramowanie
    Odpowiedzi: 13
    Ostatni post: 06-02-2019, 13:28
  2. Autoit potrzebny jakiś darmowy obfuscator.
    Przez sejdan w dziale Sprzęt i oprogramowanie
    Odpowiedzi: 5
    Ostatni post: 28-02-2014, 09:26
  3. KODA / Auto IT GUI - Tekst w Form'ie [Rozwiązane]
    Przez BBsrv w dziale Programowanie
    Odpowiedzi: 4
    Ostatni post: 01-01-2014, 23:46
  4. Odpowiedzi: 0
    Ostatni post: 30-11-2013, 22:18
  5. Problemy techniczne cipsoftu rozwiązane.
    Przez Aqualek w dziale Niusy
    Odpowiedzi: 4
    Ostatni post: 02-12-2008, 15:48

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
  •