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] 2 Pytania


Rekomendowane odpowiedzi

Opublikowano

Siemka. Jestem nowy w języku autoit. Przeczytałem wszelkie poradniki z tego forum i mam już kilka swoich produkcji. Teraz zabrałem się za coś poważniejszego. 1 program ma służyć do zapamiętywania haseł, a 2 to taki Metin2 Tool.

 

Dobra to teraz pytania :

 

1. Kiedy mam GUI tego 1 programu itp. to jak zrobić taki myk, aby np. hasła wpisane w kilka inputów były zapisywane w oddzielnym pliku, np. jakimś tekstowym lub konf. Program powinien sam stworzyć taki plik, zapisać tam te hasła, a potem odczytać je, gdy user wciśnie button

 

2. Gdy np. mam folder metina : Metin2. W tym folderze mam folder exp, a w nim 2 injectory. Program jest w folderze metin2. Znam komendę Run("file.exe") - ale ta komenda otwiera plik, który jest w tym fold., a ja muszę otworzyć injector z 2 folderu (co trzeba dopisac do tej komendy Run) - Opcja wrzucenia injectora do folderu z programem nie wchodzi w gre.

 

 

Za pomoc oczywiscie limit (+) oraz 5 dla usera :D

Kocham mpcforum.pl!!!

18706.png

Opublikowano

Do zapisania w pliku uzywasz

 

FileWrite

FileWriteLine

FileOpen

FileClose

 

masz w helpie

 

Run("Directory/costam.exe")

tez jest w helpie

1352970251-U713459.png

By Maxiu
"Because limits, like fears, are often just an illusion"

Opublikowano

Użyj jakiejś biblioteki jak ci niestety nie powiem jakiej bo nie znam AutoIT ale jest tu trochę ludzi którzy ci podpowiedzą.

GrottyCracker22.png
Opublikowano

W rejestrze w HKCU/Software/<developer_metina>/Metin/InstallPath* będziesz miał ścieżkę dostępu do folderu w którym metin jest zainstalowany. Uniezależnia to położenie Twojego programu, więc będzie można go uruchamiać z każdej lokalizacji, a i tak znajdzie folder z metinem.

 

Run() jako argument przyjmuje względną lub bezwględną ścieżkę dostępu. Samo 'program.exe' otworzy program z tego samego folderu, w którym znajduje się Twój skrypt. Dodając '/folder/injektory/program.exe' otworzy program exe znajdujący się w folderze injektory, znajdującym się w folderze 'folder', znajdującym się w tym folderze, co Twój program.

 

Można też bezwględnie, korzystając z tego klucza rejestru. Bezwględnie to jest zaczynając od litery determiniującej partycję dysku.

 

* Zazwyczaj nazywa się InstallPath, Path lub podobnie. Otwórz regedit'em i poszperaj.

Ta sygnatura jest pusta.

Opublikowano

Hehe "poważniejszego" ^.^ Lepiej wróć raz jeszcze do podstaw. Co do haseł, to podam ci prościutki, napisany w jakieś 3 minutki kodzik. Ofc, nie ma wielu inputów, nie ma nazw plików, nie ma bajerasów - to sobie sam napiszesz nie ma tak dobrze ;]

 

#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 297, 41, 192, 124)
$Input1 = GUICtrlCreateInput("Hasło", 8, 8, 121, 21, BitOR($ES_PASSWORD,$ES_AUTOHSCROLL))
$Button1 = GUICtrlCreateButton("Zapisz", 136, 8, 75, 25, $WS_GROUP)
$Button2 = GUICtrlCreateButton("Odczytaj", 216, 8, 75, 25, $WS_GROUP)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
$nMsg = GUIGetMsg()
Switch $nMsg
	Case $Button1
		zapis()
	Case $Button2
		odczyt()
	Case $GUI_EVENT_CLOSE
		Exit

EndSwitch
WEnd

Func zapis()
$result = GUICtrlRead($Input1)
$result_code = StringToBinary($Result, 3)
IniWrite("passwd.ini", "PASSWD", "passwd", $result_code)
MsgBox(0, "", "Zapisano w pliku passwd.ini")
EndFunc

Func odczyt()
$result_code = IniRead("passwd.ini", "PASSWD", "passwd", "brak")
If $result_code = "brak" Then
	MsgBox(16, "", "Error")
	Exit
EndIf
$result = BinaryToString($result_code, 3)
MsgBox(0, "", "Twoje hasło to : "&$result&" .")
EndFunc

 

(Kodowane w UTF16 Big Endian.)

 

A drugie pytanie wyjaśnone.

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

Siemka. Mam jeszcze jedno pytanko. Czytałem jeden poradnik i tam pisze że taka funkcja :

 

While 1
Switch GUIGetMsg()
	Case $GUI_EVENT_CLOSE
		Exit

EndSwitch
WEnd

 

Wyłącza program za pomocą [X] (tego krzyzyka na pasku :D)

 

Ale u mnie tak nie ma. Klikam i nic

visualcsharp_2.png

 

Mały test na gimnazjalistę: 

 

public static void testnagimbusa()
{
	Console.WriteLine("Podaj ulubionego YouTubera: ");
	string youtuber = Console.Read();
	if (youtuber = "gimper")
	{
		Console.WriteLine("Jesteś gimbusem");
	}
	else if (youtuber = "rojo")
	{
		Console.WriteLine("Jesteś gimbusem");
	}
	else if (youtuber = "isamu")
	{
		Console.WriteLine("Jesteś gimbusem z kompleksem małego przyrodzenia");
	}
	else if (youtuber = "nitrozyniak")
	{	
		Console.WriteLine("Jesteś gimbusem");
	}
	else
	{	
		Console.WriteLine("Masz więcej, niż 16 lat");
	}
}

 

Opublikowano

Bo prawdopodobnie w chwili kliknięcia wykonywana jest inna pętla niż ta główna. Polecam ogarnąć kod lub korzystać z opcji "GuiOnEventMode".

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

Funkcje guioneventmode mam na 1, bo uzywam komendy guisetonevent. Mam tam tylko 2 petle. 1 to ta co podalem w moim poscie powyzej a druga to :

 

While 1
Sleep(1000)
WEnd

 

To co moge zrobić ?

visualcsharp_2.png

 

Mały test na gimnazjalistę: 

 

public static void testnagimbusa()
{
	Console.WriteLine("Podaj ulubionego YouTubera: ");
	string youtuber = Console.Read();
	if (youtuber = "gimper")
	{
		Console.WriteLine("Jesteś gimbusem");
	}
	else if (youtuber = "rojo")
	{
		Console.WriteLine("Jesteś gimbusem");
	}
	else if (youtuber = "isamu")
	{
		Console.WriteLine("Jesteś gimbusem z kompleksem małego przyrodzenia");
	}
	else if (youtuber = "nitrozyniak")
	{	
		Console.WriteLine("Jesteś gimbusem");
	}
	else
	{	
		Console.WriteLine("Masz więcej, niż 16 lat");
	}
}

 

Opublikowano

Lol usunąć tę 3linijkową?

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

Poza tym OnEvent nie działa z GUIGetMsg :P

If the GUIOnEventMode option is set to 1 then the return from GUIGetMsg is always 0 and the @error is set to 1.
If the option GUIEventOptions is set to 1 the minimize, restore and maximize button will not do any action on the window just a simple notification.

Opublikowano

No to jest oczywiste, zaproponowałem użycie guionevent zamiast guigetmsg.

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

@UP czyli jak ? Mam tą opcje Opt(GUIOnEventMode, 1), i co teraz co zrobić z tą pętla z GUIgetmsg i pętlą nadającom nieśmiertelność programowi ?

visualcsharp_2.png

 

Mały test na gimnazjalistę: 

 

public static void testnagimbusa()
{
	Console.WriteLine("Podaj ulubionego YouTubera: ");
	string youtuber = Console.Read();
	if (youtuber = "gimper")
	{
		Console.WriteLine("Jesteś gimbusem");
	}
	else if (youtuber = "rojo")
	{
		Console.WriteLine("Jesteś gimbusem");
	}
	else if (youtuber = "isamu")
	{
		Console.WriteLine("Jesteś gimbusem z kompleksem małego przyrodzenia");
	}
	else if (youtuber = "nitrozyniak")
	{	
		Console.WriteLine("Jesteś gimbusem");
	}
	else
	{	
		Console.WriteLine("Masz więcej, niż 16 lat");
	}
}

 

Opublikowano

ma byc tylko jeden while 1 nie wiecej:

 

 

;gui

guisetstate()

 

hotkeyset("{f1}","zapisz")

hotkeyset("{f2}","odczyt")

while 1

switch guigetmsg()

case ...

case ...

case -3 ;tak latwiej nie musisz dawac includa wtedy, a tez zamyka sie "x"

exit

endswitch

wend

 

func zapis()

...

endfunc

func odczyt()

...

endfunc

zrób to tak a napewno bedzie wszystko działało jak chcesz

 

@hfaua to niech wywali to w pi**u i tak nie wie jak tego użyć a guigetmsg chyba latwiej opanowac:P

Do
$wiek+=1
Until ŻycieGetMsg() = -3

zbieram +

Opublikowano

Hmm. Daje wam tutaj kod :

 

 

HotKeySet("{F9}", "metekon")
HotKeySet("{F10}", "metekoff")
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
Opt("GUIOnEventMode", 1)
$Form1_1 = GUICreate("Metin2 Tool", 267, 272, 192, 124)
$Button1 = GUICtrlCreateButton("Wlacz", 24, 40, 91, 25, $WS_GROUP)
$Button2 = GUICtrlCreateButton("Wylacz", 152, 40, 91, 25, $WS_GROUP)
$Button3 = GUICtrlCreateButton("Wlacz 1", 24, 104, 91, 25, $WS_GROUP)
$Button4 = GUICtrlCreateButton("Wlacz 2", 152, 104, 91, 25, $WS_GROUP)
$Label1 = GUICtrlCreateLabel("Metin2 :", 112, 16, 42, 17)
$Label2 = GUICtrlCreateLabel("Injector :", 112, 80, 45, 17)
$Label3 = GUICtrlCreateLabel("FB :", 120, 144, 23, 17)
$Button5 = GUICtrlCreateButton("Ugo", 24, 168, 91, 25, $WS_GROUP)
$Button6 = GUICtrlCreateButton("Sharkbot", 152, 168, 91, 25, $WS_GROUP)
$Label4 = GUICtrlCreateLabel("Inne", 120, 208, 25, 17)
$Button7 = GUICtrlCreateButton("Torrent Off", 24, 232, 83, 25, $WS_GROUP)
$Button8 = GUICtrlCreateButton("Hasla", 152, 232, 91, 25, $WS_GROUP)
GUISetState(@SW_SHOW)
GUICtrlSetOnEvent($Button1 , "Metin2On")
GUICtrlSetOnEvent($Button2 , "Metin2Off")
GUICtrlSetOnEvent($Button3 , "Perx")
GUICtrlSetOnEvent($Button4 , "Faith")
GUICtrlSetOnEvent($Button5 , "ugo")
GUICtrlSetOnEvent($Button6 , "sharky")
GUICtrlSetOnEvent($Button7 , "torrent")
GUICtrlSetOnEvent($Button8 , "passy")
#EndRegion ### END Koda GUI section ###

While 1
       Switch GUIGetMsg()
               Case $GUI_EVENT_CLOSE
                       Exit

       EndSwitch
WEnd

While 1
       Sleep(1000)
WEnd

Func Metin2On()
       Run("HackShield Bypass v0.3.exe")
EndFunc

Func Metin2Off()
       ProcessClose("metin2client.bin")
EndFunc

Func Perx()
       Run("Injector3 - PerX.exe")
EndFunc

Func Faith()
       Run("Injector1.exe")
EndFunc

Func metekon()
       Run("HackShield Bypass v0.3.exe")
EndFunc


Func metekoff()
       ProcessClose("metin2client.bin")
EndFunc

Func ugo()
       Run("PerX.exe")
EndFunc

Func sharky()
       Run("shark.exe")
EndFunc

Func torrent()
       ProcessClose("metin2.bin")
EndFunc

 

 

I co teraz mam z tym zrobić, żeby program wyłączał się na [X] oraz żeby był nieśmiertelny.

 

 

 

P.S A tak wgl. to jak np. MsgBox zrobić tak aby tekst przeskoczył do drugiej linijki ?

visualcsharp_2.png

 

Mały test na gimnazjalistę: 

 

public static void testnagimbusa()
{
	Console.WriteLine("Podaj ulubionego YouTubera: ");
	string youtuber = Console.Read();
	if (youtuber = "gimper")
	{
		Console.WriteLine("Jesteś gimbusem");
	}
	else if (youtuber = "rojo")
	{
		Console.WriteLine("Jesteś gimbusem");
	}
	else if (youtuber = "isamu")
	{
		Console.WriteLine("Jesteś gimbusem z kompleksem małego przyrodzenia");
	}
	else if (youtuber = "nitrozyniak")
	{	
		Console.WriteLine("Jesteś gimbusem");
	}
	else
	{	
		Console.WriteLine("Masz więcej, niż 16 lat");
	}
}

 

Opublikowano

zmiana limijki o @crtl

przyklad

msgbox(0,"","lokuxd"&@crtl&"to kat")

wykasuj

 while 1
sleep
wend

 

po3 wywal GuiOnEvent i uzyj

switch
case $buton1
case $butonn
...
run("metin.exe")
case -3
exit
endswitch
wend

Do
$wiek+=1
Until ŻycieGetMsg() = -3

zbieram +

Opublikowano
I co teraz mam z tym zrobić, żeby pr.ogram wyłączał się na [X] oraz żeby był nieśmiertelny.

To oczywiste. Musisz odrąbać głowę innemu nieśmiertelnemu i/lub ustawić się i hajtnąć z jakąś boginią i/lub przejść całe Schody Mądrości i/lub wywarzyć mistyczny potion'a z kamie.nia starożytnych mędrców i filozofów.

 

A co do reagowania na [X] -> Musisz zarejestrować WM_SYSCOMAND za pomocą GuiRegisterMsg(). Następnie za pomocą wewnętrznej funkcji należy nasłuchiwać kodu 0xF060 w lParam z danego hwnd.

 

Pozdrawiam.

Ta sygnatura jest pusta.

Opublikowano

wypierdol guionevent'y i zrób wszystko w case'ach.,

albo w tej pętli włączaj i wyłączaj guioneventmode

 

GuiRegiesterMsg raczej nie ogarniesz

liczylem na barce lecz ona niemogla wygrac.

Przez kibicow ktorzy przy rzutach roznych wolnych swiecili w messiego laserami

Opublikowano

Case przypisuje funkcje do danego klawisza ? To jak to zrobić ? Bo mam wiele funkcji w GUIOnEventMode

visualcsharp_2.png

 

Mały test na gimnazjalistę: 

 

public static void testnagimbusa()
{
	Console.WriteLine("Podaj ulubionego YouTubera: ");
	string youtuber = Console.Read();
	if (youtuber = "gimper")
	{
		Console.WriteLine("Jesteś gimbusem");
	}
	else if (youtuber = "rojo")
	{
		Console.WriteLine("Jesteś gimbusem");
	}
	else if (youtuber = "isamu")
	{
		Console.WriteLine("Jesteś gimbusem z kompleksem małego przyrodzenia");
	}
	else if (youtuber = "nitrozyniak")
	{	
		Console.WriteLine("Jesteś gimbusem");
	}
	else
	{	
		Console.WriteLine("Masz więcej, niż 16 lat");
	}
}

 

Opublikowano

 

HotKeySet("{F9}", "metekon")

HotKeySet("{F10}", "metekoff")

#include <ButtonConstants.au3>

#include <GUIConstantsEx.au3>

#include <StaticConstants.au3>

#include <WindowsConstants.au3>

#Region ### START Koda GUI section ### Form=

Opt("GUIOnEventMode", 1)

$Form1_1 = GUICreate("Metin2 Tool", 267, 272, 192, 124)

$Button1 = GUICtrlCreateButton("Wlacz", 24, 40, 91, 25, $WS_GROUP)

$Button2 = GUICtrlCreateButton("Wylacz", 152, 40, 91, 25, $WS_GROUP)

$Button3 = GUICtrlCreateButton("Wlacz 1", 24, 104, 91, 25, $WS_GROUP)

$Button4 = GUICtrlCreateButton("Wlacz 2", 152, 104, 91, 25, $WS_GROUP)

$Label1 = GUICtrlCreateLabel("Metin2 :", 112, 16, 42, 17)

$Label2 = GUICtrlCreateLabel("Injector :", 112, 80, 45, 17)

$Label3 = GUICtrlCreateLabel("FB :", 120, 144, 23, 17)

$Button5 = GUICtrlCreateButton("Ugo", 24, 168, 91, 25, $WS_GROUP)

$Button6 = GUICtrlCreateButton("Sharkbot", 152, 168, 91, 25, $WS_GROUP)

$Label4 = GUICtrlCreateLabel("Inne", 120, 208, 25, 17)

$Button7 = GUICtrlCreateButton("Torrent Off", 24, 232, 83, 25, $WS_GROUP)

$Button8 = GUICtrlCreateButton("Hasla", 152, 232, 91, 25, $WS_GROUP)

GUISetState(@SW_SHOW)

GUICtrlSetOnEvent($Button1 , "Metin2On")

GUICtrlSetOnEvent($Button2 , "Metin2Off")

GUICtrlSetOnEvent($Button3 , "Perx")

GUICtrlSetOnEvent($Button4 , "Faith")

GUICtrlSetOnEvent($Button5 , "ugo")

GUICtrlSetOnEvent($Button6 , "sharky")

GUICtrlSetOnEvent($Button7 , "torrent")

GUICtrlSetOnEvent($Button8 , "passy")

#EndRegion ### END Koda GUI section ###

 

While 1

Opt("GUIOnEventMode", 0)

Switch GUIGetMsg()

Case $GUI_EVENT_CLOSE

Exit

 

EndSwitch

Opt("GUIOnEventMode", 1)

WEnd

 

While 1

Sleep(1000)

WEnd

 

Func Metin2On()

Run("HackShield Bypass v0.3.exe")

EndFunc

 

Func Metin2Off()

ProcessClose("metin2client.bin")

EndFunc

 

Func Perx()

Run("Injector3 - PerX.exe")

EndFunc

 

Func Faith()

Run("Injector1.exe")

EndFunc

 

Func metekon()

Run("HackShield Bypass v0.3.exe")

EndFunc

 

 

Func metekoff()

ProcessClose("metin2client.bin")

EndFunc

 

Func ugo()

Run("PerX.exe")

EndFunc

 

Func sharky()

Run("shark.exe")

EndFunc

 

Func torrent()

ProcessClose("metin2.bin")

EndFunc

 

liczylem na barce lecz ona niemogla wygrac.

Przez kibicow ktorzy przy rzutach roznych wolnych swiecili w messiego laserami

Opublikowano

@UP Wszystko wkleiłem i nadal nie działa ....

visualcsharp_2.png

 

Mały test na gimnazjalistę: 

 

public static void testnagimbusa()
{
	Console.WriteLine("Podaj ulubionego YouTubera: ");
	string youtuber = Console.Read();
	if (youtuber = "gimper")
	{
		Console.WriteLine("Jesteś gimbusem");
	}
	else if (youtuber = "rojo")
	{
		Console.WriteLine("Jesteś gimbusem");
	}
	else if (youtuber = "isamu")
	{
		Console.WriteLine("Jesteś gimbusem z kompleksem małego przyrodzenia");
	}
	else if (youtuber = "nitrozyniak")
	{	
		Console.WriteLine("Jesteś gimbusem");
	}
	else
	{	
		Console.WriteLine("Masz więcej, niż 16 lat");
	}
}

 

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...