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

Autoit - robot do JACKPOT pomoc potrzebna w prawnieniu


Rekomendowane odpowiedzi

Opublikowano

Witam, borykam się z problemem dodania nowej funkcji do mego robota

 

opis robota,:

robot sam obstawia tylko BET HI, jeżeli ma wygraną i jest ona w kolorze zielonym (You BET HI so you win 0.00000008)

jeżeli będzie to kolor czerwony ( You BET HI so you lose 0.00000008 ) to robot daje stawke 2x jak na załączonym obrazku

jak znowu wygram czyli pojawi się zielony napis ( właściwie to litera T zielona ) to robot wkleja stawke minimalną...

wszystko ładnie hula, ale lepsze efekty mam z gry jak by robot przy przegranej naciskał przycisk przy którym przegrał raz jeszcze   

powiedzmy ze wygrałem po naciśnięciu  BET HI , super gra dalej i przegrałem, widzi to bo ma napis na czerwono jak wyżej, więc daje za stawke 2x , i teraz chciałbym by nacisnął  BET LO , bo na bet hi przegrałem, chce by szedł za maszyną, jak po naciśnięciu BET LO przegram, pojawi się znowu kolor czerwony to znowu da stawkę 2x i chcę by nacisnął BET HI, bo na  bet lo przegrałem. 

to moj kod

 

proszę o właściwe dopisanie i zmienienie kodu by działał jak należy, na pewno trzeba pamiętać by funkcja zapamiętała przycisk BET LO  bo go nie ma 

 

 
While 1 ; GŁOWNA PĘTLA BOTA
        start()
WEnd
 
func sprawdzenie() ; PETLA PODRZEDNA
                While 3
                                $idx = 0
                                                If PixelGetColor($mousePos3[0],$mousePos3[1]) = $wincolor Then
                                                        Mouseclick("left",$mousePos2[0],$mousePos2[1],3)
                                                        sleep(300)
                                                        send("^v")
                                                        Mouseclick("left",$mousePos[0],$mousePos[1],1)
                                                        sleep(1000)
                            sprawdzenie()
                                                ElseIf PixelGetColor($mousePos3[0],$mousePos3[1]) = $lostcolor Then
                            Mouseclick("left",$mousePos4[0],$mousePos4[1],1)
                                                        sleep(100)
                                                        Mouseclick("left",$mousePos[0],$mousePos[1],1)
                                                        sleep(1000)
                                                        sprawdzenie()
                                                        start()
                                                EndIf ; tu sie nie chce konczyc...
                                                $idx = $idx + 1
                                $idx = 0
                WEnd
EndFunc   ;==>szukanie
 
func poczatek() ;wklejenie wartości standardowej i rozpoczęcie petli sprawdzajacej wynik
         While 1
                 $idz = 0
                                                Mouseclick("left",$mousePos2[0],$mousePos2[1],3)
                                                sleep(300)
                                                send("^v")
                                                Mouseclick("left", $mousePos[0] , $mousePos[1] , 1)
                                                sleep(400)
                                                sprawdzenie()
                                                                $idz = $idz + 1
                                                $idz = 0
         WEnd
         EndFunc   ;==>poczatek
 
 
 
func start() ; Początek, kopia wartosci startowej
                While 3
                                $idx = 0
                                                        MsgBox(4096, "Kwota", "najedź na okienko z kwotą i poczekaj 3 sekundy", 2)
                                                        Sleep(5000)
                                                        Global Const $mousePos2 = MouseGetPos()
                                                        MsgBox(4096, "BET HIGH", "najedź na przycisk BET HIGH (tak +- środek) i poczekaj 3 sek", 2)
                                                        Sleep(5000)
                                                        Global Const $mousePos = MouseGetPos()
                                                        MsgBox(4096, "BET HIGH", "Srodek litery T w napisie z wygrana(tak +- środek górnej belki) i poczekaj 3 sek", 2)
                                                        Sleep(5000)
                                                        Global Const $mousePos3 = MouseGetPos()
                                                        Global Const $wincolor = PixelGetColor($mousePos3[0],$mousePos3[1])
                                                        MsgBox(4096, "BET HIGH", "Srodek litery T w napisie z przegrana (tak +- środek górnej belki) i poczekaj 10 sek", 2)
                                                        Sleep(10000)
                                                        Global Const $lostcolor = PixelGetColor($mousePos3[0],$mousePos3[1])
                                                        MsgBox(4096, "Podwojenie", "najedź na przycisk podwajający stawkę(2x; tak +- środek) i poczekaj 3 sek", 2)
                                                        Sleep(3000)
                                                        Global Const $mousePos4 = MouseGetPos()
                                                        Mouseclick("left",$mousePos2[0],$mousePos2[1],3)
                                                        sleep(300)
                                                        Send("^c") ; kopiowanie
                                                        sleep(400)
                                                        poczatek() ;WYWOŁAJ PĘTLE POCZATEK
                                                        sleep(2000)
                                                        ExitLoop
                                                        $idx = $idx + 1
                                $idx = 0
                WEnd
EndFunc   ;==>szukanie

post-171877-0-33184400-1430949134.png

Kocham mpcforum.pl!!!

18706.png

Opublikowano

Zrób sobie gdzieś jakąś zmienną, w której będziesz przechowywał informacje w co ostatnio kliknąłeś - a przy klikaniu wybieraj napis w zależności od wartości tej zmiennej.

Opublikowano

Jedna zmienna logiczna, 2 obrazki przyciskow, wystarczy tylko zawrzec na nich slowa HI i LO.

Global $var = True
 
 
Func przelacznik()
  $var = Not $var
  Return $var
EndFunc
 
Func kliknij_na_bet
 If $var = True then
   ;Funkcja F, która szuka i wciska przycisk BET HI
 Else
   ;Funkcja F, która szuka i wciska przycisk BET LO
 EndIf
 
W tych Funkcjach ( F ) zamieszczasz kolejne warunki, kiedy po grze odnaleziony zostanie kolor czerwony, wywołujesz funkcję przelacznik(), która zmienia szukany przycisk.

Poza tym tak popatrzyłem na ten skrypt teraz i powiem Ci tak szczerze, że ja pier*ole.

 

Nie deklaruje się zmiennych lokalnych (czyli uzywanych tylko w jednej funkcji i tylko do jej użytku) jako zmienne globalne, mało tego, niepotrzebnie każdą kolejną zmienną przechowującą współrzędne deklarujesz jako zmienną stałą... tym samym musisz do każdej kolejnej operacji tworzyc kolejne zmienne, kiedy wystarczyłaby jedna, ponieważ zmienna przechowuje wartość do czasu kolejnego przypisania nowej wartości, wtedy przechowuje nową.

 

Kolejna sprawa Pętle While .. WEnd... Ich się nie numeruje, While 1 to nie pętla numer jeden tylko pętla nieskończona, ponieważ

 

While <warunek>
 ;Jeśli <warunek> jest prawdziwy, petla wykona ponowne powtórzenie
WEnd

 

W tym wypadku warunkiem jest liczba 1. 0 = False = Fałsz, 1 = True = Prawda, tak więc pętla działa nieskończenie, ponieważ jej warunek jest niezmiennie prawdziwy.

 

Cały skrypt jest dla mnie groteskowy, cała elastyczność jego obsługi to tylko złudzenie, jest niesamowicie awaryjny. Wygodniej byłoby napisać skrypt, który zrobi to wszystko za Ciebie a nie z Twoją pomocą ale jeśli to Ci wystarcza, to mam nadzieję, że mój pomysł Ci pomoże :)

sygna.png

Opublikowano

Jedna zmienna logiczna, 2 obrazki przyciskow, wystarczy tylko zawrzec na nich slowa HI i LO.

Global $var = True
 
 
Func przelacznik()
  $var = Not $var
  Return $var
EndFunc
 
Func kliknij_na_bet
 If $var = True then
   ;Funkcja F, która szuka i wciska przycisk BET HI
 Else
   ;Funkcja F, która szuka i wciska przycisk BET LO
 EndIf
 
W tych Funkcjach ( F ) zamieszczasz kolejne warunki, kiedy po grze odnaleziony zostanie kolor czerwony, wywołujesz funkcję przelacznik(), która zmienia szukany przycisk.

Poza tym tak popatrzyłem na ten skrypt teraz i powiem Ci tak szczerze, że ja pier*ole.

 

Nie deklaruje się zmiennych lokalnych (czyli uzywanych tylko w jednej funkcji i tylko do jej użytku) jako zmienne globalne, mało tego, niepotrzebnie każdą kolejną zmienną przechowującą współrzędne deklarujesz jako zmienną stałą... tym samym musisz do każdej kolejnej operacji tworzyc kolejne zmienne, kiedy wystarczyłaby jedna, ponieważ zmienna przechowuje wartość do czasu kolejnego przypisania nowej wartości, wtedy przechowuje nową.

 

Kolejna sprawa Pętle While .. WEnd... Ich się nie numeruje, While 1 to nie pętla numer jeden tylko pętla nieskończona, ponieważ

While <warunek>
 ;Jeśli <warunek> jest prawdziwy, petla wykona ponowne powtórzenie
WEnd

W tym wypadku warunkiem jest liczba 1. 0 = False = Fałsz, 1 = True = Prawda, tak więc pętla działa nieskończenie, ponieważ jej warunek jest niezmiennie prawdziwy.

 

Cały skrypt jest dla mnie groteskowy, cała elastyczność jego obsługi to tylko złudzenie, jest niesamowicie awaryjny. Wygodniej byłoby napisać skrypt, który zrobi to wszystko za Ciebie a nie z Twoją pomocą ale jeśli to Ci wystarcza, to mam nadzieję, że mój pomysł Ci pomoże :)

przyznam sie że uczę sie tego programowania, Świetne porady tu na forum, i dziękuję Tobie za pomoc, zawsze to krok do przodu z mojej strony będzie.

to mam jeszcze jedno pytanie do ciebie, obecnie w moim robocie mam działanie te że: jak ma piksel czerwony, to ma dać stawkę 2x , a ja chciałbym by nie najeżdżał na przycisk -2x- , tylko by tam wpisał wartość, powiedzmy 0,1, ale jak znowu pojawi się przegrana czyli piksel czerwony, to by tym razem wpisał stawke 2, (progresja) jak wygram to oczywiście wraca do standardowego ustawienia stawki za 0.001.
mile widziany kod

Niewiem czy ktoś ci pomoże na tym forum przyjacielu ;)

więcej wiary Marco, ludzie potrzebują czasu, a tu zawsze ktoś pomoże, tylko cierpliwości. tu dobre Chłopaki siedzą.

Kocham mpcforum.pl!!!

18706.png

Opublikowano

więcej wiary Marco, ludzie potrzebują czasu, a tu zawsze ktoś pomoże, tylko cierpliwości. tu dobre Chłopaki siedzą.

 

Jakieś 2-3 lata temu udzielała się tu ekipa prawdziwych znawców, którzy chętnie pomagali.

 

Żeby napisac dobrze program ja zawsze na początku określam ogólny zarys działania:

Skrypt ma grać w jackpota typowym algorytmem, który jest prosty i sprawdzony, tzw. progresja.
 
-Na początku podaje stawkę minimalną
 -Gra na BET HI
  -Jeśli wygrał, podaje stawkę minimalną i powtarza krok
  -Jesli przegrał, wprowadza stawkę zgodną z mnożnikiem progresji i zmenia typ gry na BET LO i powtarza krok "Gra"
Global $bool = True ;zmienna przechowująca typ gry: True to BET HI, False to BET LO

hotKeySet("{HOME}", "main") ;Klawisz Home uruchamia skrypt
HotKeySet("{END}", "ext") ;Klawisz End opuszcza skrypt

While 1
Wend

Func zmien()
 $bool = Not $bool ;być albo nie być, czyli jeśli $bool = Prawda to od teraz $bool to Fałsz, patrz wyżej
 Return $bool ;Funkcja zwraca aktualną wartość zmiennej globalnej
EndFunc

Func ext()
    Exit
EndFunc

Func wprowadz_p($var01)
 If $var01 = 0 Then ;Jesli wprowadzono parametr zero jako argument funkcji to
  ;<instrukcje> ;podaj stawkę podstawową
 Else ;w przeciwnym wypadku
  ;<instrukcje> ;podaj pomnożoną stawkę (progresja)
 EndIf
EndFunc

Func graj()
 If $bool = True Then ;Jeśli ostatnia gra miała wynik pozytywny to
  ;<instrukcje> ;graj tym samym sposobem
 Else ;w przeciwnym wypadku
  ;<instrukcje> ;graj drugim sposobem
 EndIf
 If 1  /*1 zamień na wynik szukania koloru zielonego*/  then Return True ;Jesli wygrales funkcja zwraca True do zmiennej $wol w funkcji main().
 Return False ;Funkcja Return kończy pracę funkcji, dlatego, jeśli linijkę wyżej odnotowano wygraną algorytm nie przejdzie do tej linijki
Endfunc

Func main()
 Local $wol = True ;zmienna informująca o wyniku ostatniej gry. Wartość domyślna to wygrana, dzieki czemu na początku wprowadzona zostaje kwota podstawowa
 While 1
  If $wol = True Then ;Jeśli wynik poprzedniej gry był pozytywny to
   wprowadz_p(0) ;wprowadź stawkę z parameterem 0
  Else ;W przeciwnym wypadku
   zmien() ;zmien metodę grania z HI na LO/ z LO na HI po przegranej
   wprowadz_p(1) ;wprowadź stawke z parametrem 1
  EndIf
  $wol = graj() ;zagraj z nową stawką a do zmiennej $wol przypisz wynik gry
 WEnd
EndFunc


Zdecydowanie nie jest to optymalny algorytm ale po wypełnieniu 4 luk ( <instrukcje> ) prostymi poleceniami klikania/wpisywania powinien smiegac bez zarzutu, przeczytaj parę razy.

sygna.png

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...