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

Symulacja wciskania klawisza Z


Rekomendowane odpowiedzi

Opublikowano

Witam, mam problem z tym kodem:

HotKeySet("{F1}","start")
HotKeySet("{Esc}","stop")

func stop()
   Exit
EndFunc

func start()
   While 1
	  Send("{z}")
	  Sleep(1)
   WEnd
EndFunc

Program miał za zadanie symulowanie ciągłego wciskania klawisza Z w grze PlanetSide2 (z odpowiada za chat głosowy) po wciśnięciu klawisza F1. Miał wyłączyć się po wciśnięciu ESC. Kompiluje go z takim efektem:

>"C:\Program Files (x86)\AutoIt3\SciTE\..\aut2exe\aut2exe.exe" /in "C:\Users\xxx\Desktop\Programiki\AutoIT\Symulacja wciskania klawisza Z.au3"
>Exit code: 0    Time: 0.05478

Nie mogę go uruchomić. Gdzie jest błąd?

 

Proszę o pomoc i z góry dziękuję. :)

 

EDIT:

Send("z") 

 Też nie działa.

Opublikowano

Nie masz żadnej pętli poza pętlami w funkcjach

Mózg to nie mydło; nie ubędzie Ci go, gdy go użyjesz.

Opublikowano

Choćby nawet tak :

while 1
HotKeySet("{F2}","start")
HotKeySet("{Esc}","stop")
global $1=1
WEnd

func stop()
    $1=0
EndFunc

func start()
   While $1
	  Send("{z}")
	  Sleep(1)
   WEnd
EndFunc 

myślę ze cie to zadowoli :D

 

­

Opublikowano

Podstawy się kłaniają u obydwóch. Skrypt jest bez sensu 

Wystarczyło dopisać 

While 1
Sleep(100)
Wend

Mózg to nie mydło; nie ubędzie Ci go, gdy go użyjesz.

Opublikowano

Bez while program uruchamia się i zamyka równocześnie ..

 

Tak powinno być:

HotKeySet("{F1}","start")
HotKeySet("{Esc}","stop")

func stop()
Exit
EndFunc

func start()
While 1
     Send("{z}")
     Sleep(100)
WEnd
EndFunc
 
While 2
     Sleep(10)
WEnd
Opublikowano

Po co to 2 ? Pętla bez końca jest z 1 

Mózg to nie mydło; nie ubędzie Ci go, gdy go użyjesz.

Opublikowano

"Program miał za zadanie symulowanie ciągłego wciskania klawisza Z"

no to:

While 1
     Send("{z}")
     Sleep(100)
WEnd

a while 2 utrzymuje program przy życiu .. tzn

Program nie wyłącza się od razu po włączeniu.

 

1 i 2 to nazwa pętli, którą można też zastąpić

bool - ma być włączona lub wyłączona w zależności:

true czy false

Opublikowano

@leszhack pętli się nie nazywa, a na pewno niczego się w programowaniu nie nazywa cyferkami. To jest argument pętli, który decyduje o jej wykonaniu, jeżeli zwrócone zostanie true, to pętla się wykona, jeśli false, to nie. Możesz tam od razu wpisać true, lub dać jakieś porównanie np (a>g), wpisując liczbę zawsze zostanie zwrócone true, dlatego się to tobie wykonuje. Nie chodzi tutaj o żadne nazywanie pętli, a w szczególności cyframi!!! wpisz sobie zamiast jedynki i dwójki "false" i może zrozumiesz o co w tym wszystkim chodzi ;) I nie ucz forumowiczów czegoś, o czym nie masz pojęcia.

Opublikowano

@Frejus

1, 2, 3 .. wiem, że to nie nazwa chodziło mi

coś podobnego o numeracje pętli dzięki,

której wiemy co w danej pętli się dzieje,

np: ustawimy sobie 1 - utrzymuje program przy

życiu, 2 - wciska nam "z" co 100ms, 3 - spamuje.

Dzięki temu możemy napisać sobie na początku

kodu "; W1 - utrzymuje program przy życiu" i jak

zapomnimy to przeczytamy to na początku kodu i

od razu będziemy wiedzieć.

Tak wiem, że wpisując liczbę zwrócone będzie true

i właśnie o to chodziło mi, wyżej też pisałem, że można

użyć bool czyli te twoje true / false.

Opublikowano

@leszhack Zrozum, że pętli się nie nazywa!!!!! To co ta pętla robi, będziesz wiedział patrząc na jej zawartość, lub po komentarzy przed tą pętlą!!! Nikt Ci nie zabrania robić komentarzy!!! Kod ma być czytelny i zrozumiały dla każdego!!! Ja patrząc na ten kod i widząc pętlę z argumentem "1", nie wiedziałem o co chodzi!!!! Inni programiści po zerknięciu w kod mają wiedzieć o co w nim chodzi i jak go zmodyfikować. Powinno być wciskanie klawisza 'z' w jednej pętli i koniec!!! Kup sobie książkę "Czysty kod (Robert C. Martin)", bo widzę, że jeszcze malutko wiesz chociażby o tak ważnej rzeczy jak nazewnictwo. Ten kod jest po prostu brudny.

Opublikowano

Ale gadasz głupoty. Ile Ty masz lat? Praktykować złe nawyki?? To tak jakbyś poszedł do nowej pracy, czy szkoły i wszyscy tam paliliby papierosy i brali narkotyki, to też byś zaczął to robić, bo większość tak robi? Jeżeli uczysz się programowania, bo chcesz jakieś programiki dla siebie robić, to możesz tak sobie pisać, ale jeżeli chcesz w przyszłości pracować w jakiejś firmie jako programista, to radzę Ci zainwestować w tę książkę. Naprawdę przyda Ci się.

  • 3 tygodnie później...
Opublikowano

Do Frejus - nie pomagasz w tym temacie, a tylko reklamujesz ksiażke.Popatrz jaki jest temat i pomóż koledze (podaj przykład jak powninien wyglądać kod z zastosowaniem while true ).Załóż oddzielny temat o poprawności kodu może?.To co dla Ciebie jest proste - nie musi być proste dla wszystkich.

  • 1 miesiąc temu...
Opublikowano
HotKeySet("{F1}","start")
HotKeySet("{Esc}","stop")

While true
	Sleep(100)
 WEnd

func stop()
   Exit
EndFunc

func start()
   While true
	  Send("{z}")
	  Sleep(100)
   WEnd
EndFunc

Obczaj tak moze ? ;)

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...