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

[Pytanie] Pomocy!


Rekomendowane odpowiedzi

Opublikowano

Mam kika pytań"

1.Co zrobić żeby w PixelGetColor wpisywać współrzędne dotyczące nie całego ekranu tylko danej aplikacji (okna) ? np. 10x to 10 pikseli nie od boku ekranu tylko od boku okna.

 

2.Czy da sie żeby AutoIT pobierało dane z cmd ? bo mam plik javy odpalany tak: otwierasz notatnik , wpisujesz:

@ECHO OFF
SET BINDIR=%~dp0
CD /D "%BINDIR%"
"%ProgramFiles%\Java\jre6\bin\java.exe" -Xincgc -Xmx1G -jar craftbukkit-0.0.1-SNAPSHOT.jar

i zapisujesz jako .bat jak to uruchomisz to otwiera sie cmd i to wygloda tak jakby java uruchamiala sie "w środku" cmd dlatego się pytam, albo czy jest inny sposób aby znalazl w oknie (niestety na pasek ze się przewija) słowa: * has logged in ! oraz dodal do $gracze +1 ?

 

3.Czy w AutoIT mozna jakoś połączyć z serwerem FTP i zeby program np. odczytał z serwera plik players.txt i odczytał z niego liczbe a potem dodal do np. $players ??

 

Proszę o odp. bo od przedwczoraj już dużo umiem :D (KODA , Pętle , Pętla If , zmienne itd.) i się niecierpliwie :D

32266.png

34904.jpg

21939.png

35353.png

Opublikowano

1. Chyba jest tam opcja $hWnd

2. Nie wiem jak to wygloda...

3. Tak.

czwartkowy posmak w ustach przypomina
że nie ma sensu owijać w bawełnę
zmarzniętego truchła

przez latarnię ktoś przerzucił sznur
cumuje statek w bezpieczną przystań

czuję jak na skroniach zasycha sól
...

Opublikowano

w helpie zobacz na OPT tam wszystko dla określania zakresu działania i muszki i pixelów w wyszukiwaniu chyba opcja 2 , w autoitinfo tez muszisz zmienić by czytało koordy z okna a nie pulpitu

If you = stupid then

insert(foot.in.your.ass)

end if

licznik-54-96732-stat.png

Opublikowano

1.

Dodać.

Koordynaty okna pobierzesz za pomocą WinGetPos()

 

2.

Tak. Cmd też okno, którego nazwa == nazwa wykonywanego pliku.

WinGetText()

 

3.

Tak, ale się odradza, gdyż pobieranie przez ftp wymaga podania hasła, a hasło takie można zawsze wyłuskać z kodu programu.

Jeśli jednak chodzi o protokół http lub dostęp do pliku na ftp jest dla wszystkich, to wystarczy funkcja

InetGet() [ew. InetRead()]

 

Natomiast do pełnej obsługi ftp istnieją specjalne UDF'y (google.com/search?q=autoit%20FTP)

Ta sygnatura jest pusta.

Opublikowano

iniget w sam raz wystarczy do ściągnięcia pliczku małego

 

co do jawy to nie otwiera się w środku cmd tylko już jako osobny program z własnym oknem chyba ze to tylko aplikacja serwera to działa w tle , z tego co pamiętam serwer też generuje plik log i z niego można odczytać

If you = stupid then

insert(foot.in.your.ass)

end if

licznik-54-96732-stat.png

Opublikowano

@2xup

1. Wpisałem tak:

$x = WinGetPos(0)
$y = WinGetPos(1)
$pos = $x & "," & $y
MsgBox(1,"123","koordy:" & $pos)

i koordy są zawsze 0 , 0 , uruchamiam program , klikam na okno i nic , co robię źle ?

 

2.Wstukałem:

$text = WinGetText ("Administrator: server")
MsgBox(1,"123","koordy:" & $text)

?

i zwraca 0 :D

 

3.InetGet() [ew. InetRead()] << jak to obsługiwać ? gdzie wpisać lokalizacje ?

 

@up

Tak , program generuje log :D w pliku log.txt (czyt niżej)

Tak poradziłem sobie :D

$file = FileOpen( "C:\plik.txt", 0)
$text = FileReadLine($file)
MsgBox(0,"elo", $text )

Bo planuję zrobić update który pobierze z neta plik version.txt odczyta z niego wersje i porówna ze swoją jak będzie tam wyższa to zaalarmuje że jest nowa wersja.

Oraz zrobić programik który będzie pobierał z neta info czy serwer jest online i ile os. gra :D Oczywiście wiem ze dla was to 5 min no ale ja dopiero się uczę.

32266.png

34904.jpg

21939.png

35353.png

Opublikowano

@up

 

Czytaj helpa:

 

1. w WinGetPos podajesz tytuł okna jako pierwszy parametr. No i ta funkcja zwraca tablicę z wartościami

 

czyli

 


$zmienna = WinGetPos("tytuł")

ConsoleWrite($zmienna[0]&" ") ;współrzędna x

ConsoleWrite($zmienna[1]&" ") ;współrzędna y

ConsoleWrite($zmienna[2]&" ") ;wysokość

ConsoleWrite($zmienna[3]) ;szerokość

 

2. WinGetText podobnie j.w. - podajesz jako pierwszy parametr tytuł okna

 

3. InetGet("http://adresURL","adresLokalnyDokądMaŚciągnąćPlik")

 

4. Tak, jest taka funkcja - to jest FileRead

 

Na koniec powiem jeszcze... CZYTAJ HELPA!!

 

 

Opublikowano

Help - pomoc

 

Jeśli używasz SciTe to klikając na funkcję np. MsgBox wciskasz F1 i dowiadujesz się jakie ma parametry, jak używać itp.

 

 

Opublikowano

W takim sensie, żebyś poznał odpowiedź na pytanie ;)

czwartkowy posmak w ustach przypomina
że nie ma sensu owijać w bawełnę
zmarzniętego truchła

przez latarnię ktoś przerzucił sznur
cumuje statek w bezpieczną przystań

czuję jak na skroniach zasycha sól
...

Opublikowano

Teraz już wiem :D Tylko mam problem: Zrobiłem Launcher , przyciski (działają :D) , tylko że 1 przycisk ma za zadanie uruchamiać zewnętrzną aplikację prosiłbym o kod (zarazie uruchamia jedynie MsgBox)Zrobiłem też autoupdate:

INetGet("http://piotrek5402.cba.pl/bot/ver.txt","C:\bot\ver.txt")
$vertxt = FileOpen( "C:\bot\ver.txt", 0)
$ver = FileReadLine($vertxt,1)
If $ver > "1.0" Then
MsgBox(0,"NowaWersja!!","Pojawiła się nowa wersja bota ! Odwiedź piotrek5402.cba.pl aby pobrać")
EndIf

brawo ja ;D

 

I jeszcze : czy da się już wrzucony kod wczytać zpowrotem do "KODA" ?

 

To już ostatnie pytania :D Naprawde ;D

32266.png

34904.jpg

21939.png

35353.png

Opublikowano

1. Run(...) lub RunWait(...)

 

ShellExecute(...) lub ShellExecuteWait(...)

 

nie wiem jaka różnica jest między nimi

 

 

 

 

2. Tak - da się. Kopiujesz swój kod GUI i w kodzie masz file">import>autoit script" czy jakoś tak, nie pamiętam, tam wklejasz kod, ok. I masz

 

 

Opublikowano
nie wiem jaka różnica jest między nimi

 

ShellExecute() zwraca od razu, SE_Wait() czeka na potwierdzenie (lub error code) od shella windowsa (czyli zwraca dopiero po upewnieniu się, że dany plik został w jakiejś aplikacji uruchomiony lub format pliku jest nieobsługiwany) .

Ta sygnatura jest pusta.

Opublikowano

Jednak mam jeszcze pytanie :D (a nie bendę spamował 2 tematem)

Napisałem część kodu :D i skończyłem Launcher jednak zatrzymałem się tu:

Include:

#include <ImageSearch.au3>
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <GUIListBox.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <File.au3>

GUI:

$Form1_1 = GUICreate("ALLbot", 135, 198, 317, 341)
$AutoLogin = GUICtrlCreateGroup("AutoLogin", 0, 0, 129, 193)
$login = GUICtrlCreateInput("login", 8, 24, 113, 21)
$haslo = GUICtrlCreateInput("haslo", 8, 48, 113, 21)
$Button1 = GUICtrlCreateButton("Zastosuj", 64, 160, 57, 25, $WS_GROUP)
$Reset = GUICtrlCreateButton("Reset", 8, 160, 49, 25, $WS_GROUP)
$serwery = GUICtrlCreateCombo("serwery", 8, 72, 113, 25)
GUICtrlSetData(-1, "01.Monastyr|02.Feniks|03.Obsydian|04.Twierdza|05.Astral|06.Grymuar|07.Almanach|08.Onyks|09.Agronas|10.Gromo|11.Arkantes|12.Monolit|13.Exandros|14.Kirian|15.Eteor|16.Serwandes|17.Elares|18.Phobos|19.Deimos|20.Endurion|21.Candia|22.Orion|23.Kronos|24.Phantos|25.Syriusz")
$channel = GUICtrlCreateCombo("channel", 8, 96, 113, 25)
GUICtrlSetData(-1, "CH1|CH2|CH3|CH4")
$postacie = GUICtrlCreateCombo("postac", 8, 120, 113, 25)
GUICtrlSetData(-1, "pierwsza|druga|trzecia|czwarta")
$label1 = GUICtrlCreateLabel("autologin", 8, 144, 110, 18)
GUICtrlSetFont(-1, 9, 400, 0, "Tahoma")
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUISetState(@SW_SHOW)

Oraz główny kod:

While 1
$nMsg = GUIGetMsg()
Switch $nMsg
	Case $Button1
		$loginx = GuiCtrlRead($login) ;Zczytanie wartosci pól (z lognem,hasłem,serwerem itd.)
		$haslox = GuiCtrlRead($haslo)
		$serwerx = GuiCtrlRead($serwery)
		$channelx = GuiCtrlRead($channel)
		$postaciex = GuiCtrlRead($postacie)
		$logintxt = IniRead("C:\bot\data\info.ini","autologin","login","ERR") ;Pobranie nicku z pliku info
		iniwrite("C:\bot\data\info.ini","autologin","login", $loginx) ;Zapisanie wartosci pól do pliku info
		iniwrite("C:\bot\data\info.ini","autologin","haslo", $haslox)
		iniwrite("C:\bot\data\info.ini","autologin","serwer", $serwerx)
		iniwrite("C:\bot\data\info.ini","autologin","ch", $channelx)
		iniwrite("C:\bot\data\info.ini","autologin","postac", $postaciex)
		Sleep(50)
		GUICtrlSetData($label1,"Enabled: " & $logintxt) ;Wyswietlenie informacji o aktywacji AutoLogin
		$stan = "ON"
	Case $Reset
		IniDelete("C:\bot\data\info.ini","autologin","login")
		IniDelete("C:\bot\data\info.ini","autologin","haslo")
		IniDelete("C:\bot\data\info.ini","autologin","serwer")
		IniDelete("C:\bot\data\info.ini","autologin","ch")
		IniDelete("C:\bot\data\info.ini","autologin","postac") ;Kasowanie danych z pliku info
		GUICtrlSetData($label1,"Disabled !") ;Wyswietlenie informacji o Wyloczeniu Autologin
		$stan = "OFF"
	Case $GUI_EVENT_CLOSE
		Exit
EndSwitch
If $stan == "ON" Then                                                    ; POCZOTEK
$loginini = IniRead("C:\bot\data\info.ini","autologin","login", 0)       ;
$hasloini = IniRead("C:\bot\data\info.ini","autologin","haslo", 0)       ;
$serwerini = IniRead("C:\bot\data\info.ini","autologin","serwer", 0)     ;
$channelini = IniRead("C:\bot\data\info.ini","autologin","ch", 0)        ; << PO WKLEIENIU NIE DZIALA
$postacini = IniRead("C:\bot\data\info.ini","autologin","postac", 0)     ;
Local $x, $y                                                             ;
_ImageSearch("C;\bot\data\monastyr.bmp", 1, $x, $y, 20)                  ; KONIEC
WEnd

Problem jest następujący:Po uruchomieniu program pokazuje się na ułamek sekundy i sie wyłącza D: Po wycięciu kodu który zaznaczyłem wszystko działa D: w czym problem?

32266.png

34904.jpg

21939.png

35353.png

Opublikowano

Po szybkiej analizie,

 

_ImageSearch("C;\bot\data\monastyr.bmp", 1, $x, $y, 20)

 

tu jest średnik, powinien być dwukropek.

 

@Edit.

Brakuje jeszcze EndIf

No i czytaj czasem komunikaty debuggera (konsoli)

Opublikowano

JAAAAAAAAAAA zdenerwowałem się !

Nie mam już do tego siły głowię się na tym już 0,5 h i nic !

#include <ButtonConstants.au3>
#include <ComboConstants.au3>
#include <EditConstants.au3>
#include <StaticConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
Opt("GUIOnEventMode",1)

;------------------------------------------------------------------------GUI-----------------------------------------------------
$Form1 = GUICreate("ALLbot", 132, 195, 324, 230)
$Group1 = GUICtrlCreateGroup("AutoLogin", 0, 0, 129, 193)
$login = GUICtrlCreateInput("login", 8, 16, 105, 21)
$pass = GUICtrlCreateInput("pass", 8, 40, 105, 21)
$serwer = GUICtrlCreateCombo("serwer", 8, 64, 105, 25)
GUICtrlSetData(-1, "01.Monastyr|02.Feniks|03.Obsydian|04.Twierdza|05.Astral|06.Grymuar|07.Almanach|08.Onyks|09.Agronas|10.Gromo|11.Arkantes|12.Monolit|13.Exandros|14.Kirian|15.Eteor|16.Serwandes|17.Elares|18.Phobos|19.Deimos|20.Endurion|21.Candia|22.Orion|23.Kronos|24.Phantos|25.Syriusz")
$channel = GUICtrlCreateCombo("channel", 8, 88, 105, 25)
GUICtrlSetData(-1, "CH1|CH2|CH3|CH4")
$aktywny = GUICtrlCreateCheckbox("Aktywny", 8, 136, 105, 17)
$btnsave = GUICtrlCreateButton("Zapisz", 64, 160, 57, 25)
$btnreset = GUICtrlCreateButton("Resetuj", 8, 160, 49, 25)
$postac = GUICtrlCreateCombo("postac", 8, 112, 105, 25)
GUICtrlSetData(-1, "1|2|3|4")
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUISetState(@SW_SHOW)

;------------------------------------------------------------------------------BUTTONY--------------------------------------------
GuiSetOnEvent($btnsave, "zapisz")
;------------------------------------------------------------------------------FUNKCJE---------------------------------------------
Func zapisz()
MsgBox(0,"","")
EndFunc
;------------------------------------------------------------------------------SPANIE----------------------------------------------
While 1
Sleep(1000)
Wend
;----------------------------------------------------------------------------------------------------------------------------------

Czemu po kliknięciu na przycisk zapisz nic się nie dzieje ? a jak w GuiOnEvent zmienię z $btnsave na $GUI_EVENT_CLOSE to po kliknięciu na X normalnie pojawia się okienko ! starym sposobem (GUIGetMsg i while) button normalnie działał a chce pozbyć się tej pętli bo to tylko obciąża CPU

 

PRZEPRASZAM że was tak zadręczam ale już nad zwykłem przyciskiem głowię się i nic nie przychodzi... już chyba znam kod programu na pamięć...

32266.png

34904.jpg

21939.png

35353.png

Opublikowano
głowię się na tym już 0,5 h

Uaaauuuu.

 

już chyba znam kod programu na pamięć

Uaaaaaaauuuuuuuuuuuuu.

 

chce pozbyć się tej pętli bo to tylko obciąża CPU

Głupiś. GetMessage() zwraca dopiero gdy istnieje jakiś obiekt do obsłużenia w message queue.

 

 

 

GuiCtrlSetOnEvent($btnsave, "zapisz")

 

 

 

 

Gdzieś pomiędzy rączkami powinna znaleźć się uśmiechnięta twarz dziecka.

Niestety emotikona <twarz_dziecka> jest tymczasowo dostępna.

Ta sygnatura jest pusta.

Opublikowano

Dzięki wszystkim :D bot działa jak ta lala :D JUPII

A teraz proszę moda o zamknięcie i powiedzenie mi "Wchodź częściej do help i nie spamuj mi tu więcej"

 

Co 24h ? teraz już bendę wiedział

32266.png

34904.jpg

21939.png

35353.png

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...