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

Instrukcje Warunkowe błąd


Rekomendowane odpowiedzi

Opublikowano

Hej

Zacząłem się bawić w pisanie programu.Coś  się udało trochę posiedziałem i coś wyszło tylko mam błąd. Nie mam pojęcia, czy pętla jest zakończona i czy warunki są dobrze pozakładane.Prosiłbym o pomoc i proszę o wyrozumiałość. To jest moja pierwsza praca w AutoIT.

 

 

 

 

For $i = 0 To 10  
 if pxelgetcolor(1040,390) = 0x444444 Then
$handle=FileOpen("D:\Dane.txt",1)
FileWrite($handle,"B")
FileClose($handle)
   [Else]
 ;if pxelgetcolor(1040,390) = 0x449D44 Then
$handle=FileOpen("D:\Dane.txt",1)
FileWrite($handle,"G")
FileClose($handle)
   [Else]
;if pxelgetcolor(1040,390) = 0xC9302C Then
$handle=FileOpen("D:\Dane.txt",1)
FileWrite($handle,"R")
FileClose($handle)
EndIf
Sleep (40000)

Next

 

 

błagam zdejmijcie mi chociaż kilka %!!

Opublikowano
   [Else]
 ;if pxelgetcolor(1040,390) = 0x449D44 Then

zamień na

ElseIf pxelgetcolor(1040,390) = 0x449D44 Then

Reszta wygląda ok. Oczywiście [Else] ;if podmień w każdym miejscu gdzie tak masz :P.

Opublikowano

Jak zaczynasz, to polecam darować sobie Autoit i wziąć się za Pythona - jest prosty, a nauczy Cię dobrych praktyk, np formatowania kodu, ktoregu u Ciebie brak.

Chcesz precyzyjnej i zrozumiałej odpowiedzi? - Zadaj precyzyjne i zrozumiałe pytanie. Nie przyjmuję zleceń.
Nie odpowiadam na priv na pytania, które można zadać na forum. Chcesz mojej pomocy - oznacz mnie w poście =>  @"Hans Kloss PL" 

Opublikowano

@Hans Kloss PL dzięki za radę program działa tylko są 3 sprawy:

-jak zrobić aby pętla kończyła się naciśnięciem danego klawisza.

-Jak zrobić aby było "coś" co pokazuje, że program jest uruchomiony

 

-najważniejsze. Chodzi głównie o zbadanie z kolegami ilość kolorów który przeważa(głupie może, ale nam potrzebne). Strona powinna co 30 sekund losować liczbę i ją pokazywać. Niestety zazwyczaj strona jest dosyć przeciążona i trwa to czasami nawet 40 sekund. I tutaj rodzi się problem. Pętla ustawiona jest co 40 sekund. Czyli co jakiś czas wkrada się błąd i nie mam pojęcia jak temu zaradzić System działania załączam na zdj. poniżej. I czy ktoś miałby pomysł , aby program sam wykrywał zmianę ? 

 

W tym momencie program co 30 sekund pobiera kolor piksela z ostatniej liczby po prawej i wpisuje to pliku.

 

 

Przechwytywanie.md.png

Przechwytywanie2.md.png

 
 
Wpadłem na pomysł aby program wyszukiwał obrazu z napisem ROLLING odczekiwał 6 sekund i pobierał kolor. Spróbuję coś skleić dam edita jak coś zrobię

błagam zdejmijcie mi chociaż kilka %!!

Opublikowano

No jak to ruletka na jakiejś stronie to trochę tak używasz śrubokręta do wbijania gwoździ - od takich rzeczy masz javascript, ewentualnia Autoit, ale nie z pixelsearch tylko z biblioteką IE.au3.

Chcesz precyzyjnej i zrozumiałej odpowiedzi? - Zadaj precyzyjne i zrozumiałe pytanie. Nie przyjmuję zleceń.
Nie odpowiadam na priv na pytania, które można zadać na forum. Chcesz mojej pomocy - oznacz mnie w poście =>  @"Hans Kloss PL" 

Opublikowano

Właśnie w tym problem. Nie jestem wstanie tego zrobić bo nie potrafię :/ W tym problem. Troszkę to zbyt skomplikowane :/

 

 

 

Czyli lepiej sobie odpuścić temat ?

błagam zdejmijcie mi chociaż kilka %!!

Opublikowano

Przepraszam, że post pod postem. Jest to ostatni post w tym temacie.

Czy ten program poniżej będzie działał na zasadzie, że pierwszy if będzie  cały czas sprawdzany i jeżeli będzie prawdą to się wykona i dalej będzie sprawdzany ? 

 

I gdzie jest błąd ?

 

 

Sleep (5000)
MsgBox(0, "START!", "START!")
Sleep (1000)
For $i = 0 To 10
 
 if pixelgetcolor(770,611) = 0x8BC68B Then
  Sleep (5000)
   if pixelgetcolor(1040,390) = 0x444444 Then
$handle=FileOpen("D:\Dane.txt",1)
FileWrite($handle,"B")
FileClose($handle)
   Elseif pixelgetcolor(1040,390) = 0x449D44 Then
$handle=FileOpen("D:\Dane.txt",1)
FileWrite($handle,"G")
FileClose($handle)
   Elseif pixelgetcolor(1040,390) = 0xC9302C Then
$handle=FileOpen("D:\Dane.txt",1)
FileWrite($handle,"R")
FileClose($handle)
EndIf
 
Next
MsgBox(16, "Koniec!", "Koniec!")
 

błagam zdejmijcie mi chociaż kilka %!!

Opublikowano

@bartolonio

Nie. Nie rozumiesz pętli. Kod wykona się tylko 10 razy. Polecam najpierw przerobić jakiś tutorial, a później brać się za taką zabawę, rozwieję to wiele wątpliwości i oszczędzi pytań. :)

 

PS. Otwieranie pliku za każdym wykonaniem pętli jest... co najmniej dziwne, od tego masz zmienne i tablice (znów ukłon w stronę podstaw)

Bot do gry NosTale:


[bOT] NosBota 1.3v

Opublikowano

To co napisał @MistrzMaster + nie masz zamkniętego jednego ifa - którego nie będę zgadywał bo wszystko masz na tym samym poziomie, bez wcięć kodu.

Chcesz precyzyjnej i zrozumiałej odpowiedzi? - Zadaj precyzyjne i zrozumiałe pytanie. Nie przyjmuję zleceń.
Nie odpowiadam na priv na pytania, które można zadać na forum. Chcesz mojej pomocy - oznacz mnie w poście =>  @"Hans Kloss PL" 

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...