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

Moj 1 Skrypt: Autopele/poty Metin


NeTT

Rekomendowane odpowiedzi

Opublikowano

Przedstawiam wam mój pierwszy napisany skrypt. Myślę, że komuś się przyda.

HotKeySet("{F6}", "potki_spacja")
HotKeySet("{F7}", "pele")
HotKeySet("{END}", "koniec")

Do
   Sleep(100)
Until False
Func potki_spacja()
   while 1
	  Send("{1}")
	  Send("{2}")
	  Send("{SPACE}")
	  WEnd
EndFunc

Func pele()
   While 2
   Send("{3}")
   WEnd
EndFunc
Func koniec()
   Exit
   EndFunc

@Edit: Poprawiłem trochę kod. Dodałem automatyczne klikanie spacji.

 

 

  I mam takie pytanie Jak zrobic, aby skrypt po kliknieciu np f9 Zatrzymywal się, potem po ponownym kliknieciu f9 wznawiał prace.

Opublikowano

Jeżeli dobrze zrozumiałem to coś takiego będzie w sam raz:

HotKeySet("{F6}", "potki_spacja")
HotKeySet("{F7}", "pele")
HotKeySet("{F9}", "akcja_stop")
HotKeySet("{END}", "koniec")

Global $fStop = False

Do
   Sleep(100)
Until False

Func akcja_stop()
   HotKeySet("{F9}")
   $fStop = Not $fStop
   HotKeySet("{F9}", "akcja_stop")
EndFunc

Func potki_spacja()
   while 1
      While $fStop
      WEnd
      Send("{1}")
      Send("{2}")
      Send("{SPACE}")
      Sleep(100)
   WEnd
EndFunc

Func pele()
   While True
      While $fStop
      WEnd
      Send("{3}")
      Sleep(100)
   WEnd
EndFunc

Func koniec()
   Exit
EndFunc

Działa to tak, że wprowadziłem do pętli generującej klawisze dodatkową pętlę, która zatrzymuje generowanie klawiszy, gdy zmienna $fStop ma wartość True.

Natomiast wciśnięcie klawisze F9 powoduje zmianę wartości zmiennej $fStop na przeciwną True>False>True..., co skutkuje włączeniem i wyłączaniem generowania klawiszy.

 

Pozdrawiam

Opublikowano

Albo tak:

HotKeySet("{F6}", "adlib_potki_spacja")
HotKeySet("{F7}", "adlib_pele")
HotKeySet("{F9}", "Pause")
HotKeySet("{END}", "koniec")

Global $bPaused = False
Global $bPotki = False
Global $bPele = False

While 1
	Sleep(100)
WEnd

Func adlib_potki_spacja()
	$bPotki = Not $bPotki
	If $bPotki Then
		If AdlibRegister(potki_spacja, 100) = 0 Then $bPotki = False
	Else
		AdlibUnRegister(potki_spacja)
	EndIf
EndFunc   ;==>adlib_potki_spacja

Func adlib_pele($bPele = False)
	$bPele = Not $bPele
	If $bPele Then
		If AdlibRegister(pele, 100) = 0 Then $bPele = False
	Else
		AdlibUnRegister(pele)
	EndIf
EndFunc   ;==>adlib_pele

Func Pause()
	$bPaused = Not $bPaused

	While $bPaused
		Sleep(100)
	WEnd
EndFunc   ;==>Pause

Func potki_spacja()
	If Not $bPaused Then
		Send("{1}")
		Send("{2}")
		Send("{SPACE}")
	EndIf
EndFunc   ;==>potki_spacja

Func pele()
	If Not $bPaused Then
		Send("{3}")
	EndIf
EndFunc   ;==>pele

Func koniec()
	Exit
EndFunc   ;==>koniec

 

 

Opublikowano

@Up wytłumaczyłbyś mniej więcej jak to działa? Chodzi mi o opisanie całego kodu.

Opublikowano


HotKeySet("{F6}", "adlib_potki_spacja") ;Po wcisnieciu klawisza F6 wywoluje funkcje "adlib_potki_spacja"

HotKeySet("{F7}", "adlib_pele") ;Po wcisnieciu klawisza F7 wywoluje funkcje "adlib_pele"

HotKeySet("{F9}", "Pause") ;Po wcisnieciu klawisza F9 wywoluje funkcje "Pause"

HotKeySet("{END}", "koniec") ;Po wcisnieciu klawisza END wywoluje funkcje "koniec"

 

Global $bPaused = False

Global $bPotki = False

Global $bPele = False

 

While 1 ;endless loop

Sleep(100)

WEnd

 

Func adlib_potki_spacja()

$bPotki = Not $bPotki ;Zmienia wartosc zmiennej na przeciwna. False na True, True na False.

If $bPotki Then ; If $bPotki = True.

If AdlibRegister(potki_spacja, 100) = 0 Then $bPotki = False ; Co 100 ms wywolujemy funkcje "potki_spacja".

Else

AdlibUnRegister(potki_spacja) ; "Usuwamy" wywolanie funkcji "potki_spacja" co 100 ms

EndIf

EndFunc ;==>adlib_potki_spacja

 

Func adlib_pele($bPele = False)

; analogicznie do tego co wyzej.

$bPele = Not $bPele

If $bPele Then

If AdlibRegister(pele, 100) = 0 Then $bPele = False

Else

AdlibUnRegister(pele)

EndIf

EndFunc ;==>adlib_pele

 

Func Pause()

$bPaused = Not $bPaused

 

While $bPaused

Sleep(100)

WEnd

EndFunc ;==>Pause

 

Func potki_spacja()

If Not $bPaused Then

Send("{1}")

Send("{2}")

Send("{SPACE}")

EndIf

EndFunc ;==>potki_spacja

 

Func pele()

If Not $bPaused Then

Send("{3}")

EndIf

EndFunc ;==>pele

 

Func koniec()

Exit

EndFunc ;==>koniec

 

 

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...