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

Rekomendowane odpowiedzi

Opublikowano

@Ozzzj

#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1_1 = GUICreate("Nagrywarka", 299, 146, 322, 157)
$up = GUICtrlCreateButton("/\", 40, 16, 41, 41)
GUICtrlSetFont(-1, 30, 400, 0, "MS Sans Serif")
$left = GUICtrlCreateButton("<", 2, 55, 41, 41)
GUICtrlSetFont(-1, 30, 400, 0, "MS Sans Serif")
$right = GUICtrlCreateButton(">", 80, 57, 41, 41)
GUICtrlSetFont(-1, 30, 400, 0, "MS Sans Serif")
$down = GUICtrlCreateButton("\/", 42, 97, 41, 41)
GUICtrlSetFont(-1, 30, 400, 0, "MS Sans Serif")
$run = GUICtrlCreateButton("Uruchom pielgrzymkę", 144, 8, 137, 41)
$atak = GUICtrlCreateButton("E", 0, 8, 33, 33)
$zamknij = GUICtrlCreateButton("Z", 88, 8, 33, 33)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
FileDelete ("droga.ini")			
Exit
		Case $up
			FileWriteLine ("droga.ini","w")
		Case $left
			FileWriteLine ("droga.ini","a")
		Case $right
			FileWriteLine ("droga.ini","d")
		Case $down
			FileWriteLine ("droga.ini","s")
		Case $atak
			FileWriteLine ("droga.ini","e")
		Case $zamknij
			FileWriteLine ("droga.ini","z")
		Case $run
			Sleep (500)
			$r = 1
			While 1
		$co = FileReadLine ( "droga.ini" ,$r )
		$r = $r + 1
If $co = "w" Then Send ("w")
If $co = "a" Then Send ("a")
If $co = "d" Then Send ("d")
If $co = "s" Then Send ("s")
If $co = "e" Then Send ("e")
If $co = "z" Then Send ("z")
If @ Then $r = 1
		WEnd
	EndSwitch
WEnd

Masz to cały kod.

Popatrz na ten skrypt. Kiedy klikniemy dowolny przycisk nawigacji (strzałka w górę i inne) to w pliku droga.ini zapisuje się linia o odpowiednim znaku. Potem kiedy uruchomisz drogę (Case $run) to pojedyncze linie są czytane. Niżej ( if'y) masz napisany skrypt na odczytywanie tych danych i uruchomienie odpowiednich czynności.

If $co = "w" Then Send ("w") 

To jest to samo co

If $co = "w" Then
Send ("w")
EndIf

Więc to, że zmieniasz tekst zapisywany do pliku nie powoduje zmiany funkcji. Sprawi tylko to, że jak klikniesz strzałkę UP w aplikacji to zamiast "w" zapisze tobie jakiś inny tekst. Więc po co sobie utrudniać życie. Lepiej dać pojedyncze litery aby potem nie bawić się z IF'ami.

 

Jeżeli chcesz wykorzystać tą swoją funkcję, to zamiast zmieniać zapis, lepiej zmienić reakcję na ten zapis.

If $co = "w" Then Send ("w") 

Zamieniasz na

If $co = "w" Then
Send ("w down")
Sleep (300)
Send ("w up")
EndIf

Jak jeszcze czegoś nie wiesz, to pisz

Tysiące lat wojen, ani jednego dnia pokoju,

pytam czy to skończy się.

 

Zegarek BB

Opublikowano

­

 

@Ozzzj

#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1_1 = GUICreate("Nagrywarka", 299, 146, 322, 157)
$up = GUICtrlCreateButton("/\", 40, 16, 41, 41)
GUICtrlSetFont(-1, 30, 400, 0, "MS Sans Serif")
$left = GUICtrlCreateButton("<", 2, 55, 41, 41)
GUICtrlSetFont(-1, 30, 400, 0, "MS Sans Serif")
$right = GUICtrlCreateButton(">", 80, 57, 41, 41)
GUICtrlSetFont(-1, 30, 400, 0, "MS Sans Serif")
$down = GUICtrlCreateButton("\/", 42, 97, 41, 41)
GUICtrlSetFont(-1, 30, 400, 0, "MS Sans Serif")
$run = GUICtrlCreateButton("Uruchom pielgrzymkę", 144, 8, 137, 41)
$atak = GUICtrlCreateButton("E", 0, 8, 33, 33)
$zamknij = GUICtrlCreateButton("Z", 88, 8, 33, 33)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
FileDelete ("droga.ini")			
Exit
		Case $up
			FileWriteLine ("droga.ini","w")
		Case $left
			FileWriteLine ("droga.ini","a")
		Case $right
			FileWriteLine ("droga.ini","d")
		Case $down
			FileWriteLine ("droga.ini","s")
		Case $atak
			FileWriteLine ("droga.ini","e")
		Case $zamknij
			FileWriteLine ("droga.ini","z")
		Case $run
			Sleep (500)
			$r = 1
			While 1
		$co = FileReadLine ( "droga.ini" ,$r )
		$r = $r + 1
If $co = "w" Then Send ("w")
If $co = "a" Then Send ("a")
If $co = "d" Then Send ("d")
If $co = "s" Then Send ("s")
If $co = "e" Then Send ("e")
If $co = "z" Then Send ("z")
If @ Then $r = 1
		WEnd
	EndSwitch
WEnd

Masz to cały kod.

Popatrz na ten skrypt. Kiedy klikniemy dowolny przycisk nawigacji (strzałka w górę i inne) to w pliku droga.ini zapisuje się linia o odpowiednim znaku. Potem kiedy uruchomisz drogę (Case $run) to pojedyncze linie są czytane. Niżej ( if'y) masz napisany skrypt na odczytywanie tych danych i uruchomienie odpowiednich czynności.

If $co = "w" Then Send ("w") 

To jest to samo co

If $co = "w" Then
Send ("w")
EndIf

Więc to, że zmieniasz tekst zapisywany do pliku nie powoduje zmiany funkcji. Sprawi tylko to, że jak klikniesz strzałkę UP w aplikacji to zamiast "w" zapisze tobie jakiś inny tekst. Więc po co sobie utrudniać życie. Lepiej dać pojedyncze litery aby potem nie bawić się z IF'ami.

 

Jeżeli chcesz wykorzystać tą swoją funkcję, to zamiast zmieniać zapis, lepiej zmienić reakcję na ten zapis.

If $co = "w" Then Send ("w") 

Zamieniasz na

If $co = "w" Then
Send ("w down")
Sleep (300)
Send ("w up")
EndIf

Jak jeszcze czegoś nie wiesz, to pisz

 

A co bym musiał zrobić by to chodziło mi też w grze po kliknięciu strzałki  na gui?

Opublikowano

Dowiedzieć się jak obejść zabezpieczenia gry albo na Ttyle opanować API windowsa by napisać swoje własne funkcje do takiej obsługi. 

 

Masz controlsend, DllCall z użyciem biblioteki user32.dll czy podobne zmodyfikowane funkcje do obsługi poleceń klawiatury np SimulKey

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

Opublikowano

­

 

Dowiedzieć się jak obejść zabezpieczenia gry albo na Ttyle opanować API windowsa by napisać swoje własne funkcje do takiej obsługi. 

 

Masz controlsend, DllCall z użyciem biblioteki user32.dll czy podobne zmodyfikowane funkcje do obsługi poleceń klawiatury np SimulKey

 

Działał mi ten kod niżej, jak mam go dodać do tego programu by po kliknięciu klikał to poprawnie?

Send ("{UP down}")
Sleep(100)
Send ("{UP up}")
Opublikowano

Dziala ci cos takiego jak;

podnies-upusc

podnies-podnies xD?

Przecież to UP to tutaj akurat strzałka w górę, a nie instrukcja podniesienia...

Opublikowano

Nic nie dodawać, w gotowym bocie wystarczy wczytać sktypt i wykonać po kolei polecenia.

 

Po co rozbijasz na komendy polecenia skoro 

 

Send ("{UP down}")
Sleep(100)
Send ("{UP up}")

 

to to samo co np. 

 

Opt("SendKeyDelay", 100)

Send ("w")

 

Nie na każdym komputerze i systemie działa down  ( przytrzymanie, naciśniecie  ) klawisza i czas nacisku reguluje się optami 

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

Opublikowano

­

 

Nic nie dodawać, w gotowym bocie wystarczy wczytać sktypt i wykonać po kolei polecenia.

 

Po co rozbijasz na komendy polecenia skoro 

 

Send ("{UP down}")
Sleep(100)
Send ("{UP up}")

 

to to samo co np. 

 

Opt("SendKeyDelay", 100)

Send ("w")

 

Nie na każdym komputerze i systemie działa down  ( przytrzymanie, naciśniecie  ) klawisza i czas nacisku reguluje się optami 

 

Ale ten kod będzie mi wysyłał to, przy przyciśnięciu guzika na gui? Tak żeby to chodziło w grze, wraz z kolejnym kliknięciem.

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...