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

[Problem] Pomoc w kodzie.


Rekomendowane odpowiedzi

Opublikowano

Witam piszę program konsolowy i mam błąd w tym kodzie:

#NoTrayIcon
#include <Misc.au3>
#include <Console3.au3>
Local $Handle = _Console_GetWindow()
Local $hDLL = DllOpen("user32.dll")

While 1
	Mouse()
	MsgBox(0,"",$x&", "&$y)
WEnd

Func Mouse()
	While 1
		If _IsPressed("01", $hDLL) And WinActive($Handle) Then
			While _IsPressed("01", $hDLL) = 1
				Sleep(100)
			WEnd
			ExitLoop
		EndIf
	WEnd
	$Mouse = MouseGetPos()
	$Okno = WinGetPos($Handle)
	$x = Ceiling(($Mouse[0] - $Okno[0] - 6) / 8)
	$y = Ceiling(($Mouse[1] - $Okno[1] - 32) / 12)
EndFunc

Wywala:

$x: possibly used before declaration.
$y: possibly used before declaration.

W miejscu MsgBoxa'a po wywołaniu funkcji Mouse()



@Edit

Dobra przepraszam najmocniej już rozwiązane

Cipka - Najlepszy silnik na świecie. Działa z tłokiem każdej średnicy, wbudowana funkcja samosmarowania, odpalasz jednym palcem i co miesiąc sam się wymienia olej. Szkoda tylko że ma taki pojebany komputer pokładowy.

Opublikowano

  1. #NoTrayIcon

    #include <Misc.au3>

    #include <Console3.au3>

    Local $Handle = _Console_GetWindow()

    Local $hDLL = DllOpen("user32.dll")

  2. Global $x, $y
  3. While 1

    Mouse()

    MsgBox(0,"",$x & $y)

    WEnd

  4. Func Mouse()

     

    If _IsPressed("01", $hDLL) And WinActive($Handle) Then

     

    $Mouse = MouseGetPos()

    $Okno = WinGetPos($Handle)

    $x = Ceiling(($Mouse[0] - $Okno[0] - 6) / 8)

    $y = Ceiling(($Mouse[1] - $Okno[1] - 32) / 12)

  5. Return $x
  6. Return $y
  7. EndIf

    EndFunc

Zmiennych nie dajemy w ""

Po drugie jak masz funkcje i chcesz z niej zwrócić wartości to najpierw je trzeba gdzies zadeklarować a póżniej return, albo z funkcji od razu Global #zmienna = coś

Ale polecam ten pierwszy

I nie dajemy pętli w pętli...

OndteAw.png
Opublikowano
While 1
        If _IsPressed("01", $hDLL) And WinActive($Handle) Then
            While _IsPressed("01", $hDLL) = 1
                Sleep(100)
            WEnd
            ExitLoop
        EndIf
    WEnd
 

z racji tego że au to gowno, to lepiej by bylo uzyc raz ispressed bo moze przeskoczyc przez 2 warunki, albo też nie ;p

 

While 1
        If _IsPressed("01", $hDLL) And WinActive($Handle) Then
            ExitLoop
        EndIf
sleep(100)
    WEnd
 

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...