Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > General Coding > Coding Tutorials
You last visited: Today at 04:36

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[AutoIt] Register/Login/Level/Rasse speichern...

Discussion on [AutoIt] Register/Login/Level/Rasse speichern... within the Coding Tutorials forum part of the General Coding category.

Reply
 
Old   #1
 
Claiver's Avatar
 
elite*gold: 0
Join Date: Nov 2013
Posts: 36
Received Thanks: 6
[AutoIt] Register/Login/Level/Rasse speichern...

Heute will ich euch mal zeigen wie man mit AutoIt Registrieren Login Level und Rasse speichern kann...

Als erstes müssen wir die GUI fürs das Register erstellen...
Code:
#include <ButtonConstants.au3>
#include <ComboConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Check", 285, 134, 192, 124)
GUISetBkColor(0x00FF00)
$Input1 = GUICtrlCreateInput("", 64, 16, 121, 21)
$Name = GUICtrlCreateLabel("Name:", 8, 16, 35, 17)
$Label1 = GUICtrlCreateLabel("Passwort:", 8, 40, 50, 17)
$Input2 = GUICtrlCreateInput("", 64, 40, 121, 21, BitOR($GUI_SS_DEFAULT_INPUT,$ES_PASSWORD))
$Label5 = GUICtrlCreateLabel("Rasse:", 8, 72, 37, 17)
$Button1 = GUICtrlCreateButton("Save",8,97,77,27)
$Combo1 = GUICtrlCreateCombo("Ninja", 64, 67, 97, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
GUICtrlSetData(-1, "Sura|Krieger|Schmane")
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit
        EndSwitch
WEnd
Soo...
Jetzt bestimmen wir den Button "Check"...

Code:
Case $Button1
Da muss dann rein, dass er checkt was in den Inputs steht...

Code:
$Name_Check = GUICtrlRead($Input1)
	  $PW_Check = GUICtrlRead($Input2)
Jetzt müssen wir checken ob in $Input1 und $Input2 etwas steht...

Code:
If $Name_Check = "" Or $PW_Check = "" Then

         Else

         EndIf
Soo... Wenn nichts drinnen steht soll nur eine MsgBox geschickt werden...

Code:
If $Name_Check = "" Or $PW_Check = "" Then
			MsgBox(0,"Registrieren","Du musst alle Felder ausfüllen um dich anzumelden!")
			GUICtrlSetData($Name_Check,"")
			GUICtrlSetData($PW_Check,"")
		Else

                EndIf
Jetzt wenn beide ausgefüllt sind, muss es gespeichert werden... Das geht dann mit IniWrite...

Code:
If $Name_Check = "" Or $PW_Check = "" Then
			MsgBox(0,"Registrieren","Du musst alle Felder ausfüllen um dich anzumelden!")
			GUICtrlSetData($Name_Check,"")
			GUICtrlSetData($PW_Check,"")
		Else
		IniWrite(@ScriptDir & "\Log\" & $Name_Check & ".ini","","Name",$Name_Check)
		IniWrite(@ScriptDir & "\Log\" & $Name_Check & ".ini","","Passwort",$PW_Check)
		IniWrite(@ScriptDir & "\Log\" & $Name_Check & ".ini","","Level","1")
		$Rasse = GUICtrlRead($Combo1)
		IniWrite(@ScriptDir & "\Log\" & $Name_Check & ".ini","","Rasse",$Rasse)
		MsgBox(0,"Registrieren","Erfolgreich registriert!")
		EndIf
@ScriptDir ist einfach der Pfad wo das Script drin ist.. und dann wird einfach die .ini Datei in einen Ordner danach eingespeichert der bei mir "Log" heißt

So...
Jetzt haben wir bis jetzt das hier...


Jetzt müssen wir uns einloggen können... Und unser Level auch ändern wie ein Spiel halt...
Das machen wir in einem anderen Script...

Als erstes muss man den Namen und das Passwort abfragen...

Code:
$Name = InputBox("Login","Gib deinen Loginnamen ein!")
$Passwort = InputBox("Login","Gib dein Passwort ein!")
Dann soll er rauslesen was darin steht, aber nur das was wir brauchen... In diesem Fall Name Passwort Level und Rasse...

Code:
$Ende1 = IniRead(@ScriptDir & "\Log\" & $Name & ".ini","","Passwort","")
$Ende = IniRead(@ScriptDir & "\Log\" & $Name & ".ini","","Name","")
$Ende2 = IniRead(@ScriptDir & "\Log\" & $Name & ".ini","","Level","")
$Ende5 = IniRead(@ScriptDir & "\Log\" & $Name & ".ini","","Rasse","")

Jetzt muss er gucken ob der Name und das Passwort richtig ist...Wenn Ja dann soll das Spiel geöffnet werden, wenn nicht dann nicht...

Code:
$Ende1 = IniRead(@ScriptDir & "\Log\" & $Name & ".ini","","Passwort","")
$Ende = IniRead(@ScriptDir & "\Log\" & $Name & ".ini","","Name","")
If $Passwort = $Ende1 And $Name = $Ende Then
$Ende2 = IniRead(@ScriptDir & "\Log\" & $Name & ".ini","","Level","")
$Ende5 = IniRead(@ScriptDir & "\Log\" & $Name & ".ini","","Rasse","")
MsgBox(4096,"Logbuch","Name = " & $Ende & @CRLF & "Passwort = " & $Ende1 & @CRLF & "Level = " & $Ende2 & @CRLF & "Rasse = " & $Ende5)
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate($Ende, 347, 50, 192, 124)
$Button1 = GUICtrlCreateButton("Leveln", 8, 8, 97, 33)
$Label1 = GUICtrlCreateLabel("Level: " & $Ende2, 128, 0, 120, 41)
GUICtrlSetFont(-1, 23, 400, 0, "MS Sans Serif")
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit
		Case $Button1
			$Level = IniRead(@ScriptDir & "\Log\" & $Name & ".ini","","Level","")
			$Level = $Level + 1
			GUICtrlSetData($Label1,"Level: " & $Level)
			IniWrite(@ScriptDir & "\Log\" & $Name & ".ini","","Level",$Level)
	EndSwitch
WEnd
Else
	MsgBox(4096,"Login","Name oder Passwort falsch")
	Exit
EndIf
Und wenn man den Button klickt wird man halt Lvl up
Claiver is offline  
Old 12/11/2013, 15:07   #2
 
alpines's Avatar
 
elite*gold: 60
Join Date: Aug 2009
Posts: 2,256
Received Thanks: 815
Du scheinst ja seit knapper Zeit etwas zu releasen, das hab ich bisher auch mitverfolgt und rate dir deine Projekte nicht immer so halbherzig anzugehen.
Warum sollte man seine Sachen so abspeichern? Ini-Datei öffnen und Level auf 9001 setzen und schon hat man dein Spiel ausgetrickst.
Du erklärst eigentlich nur wie man Einstellungen speichern kann und mehr ist das auch glaube ich nicht.
Wenn du Daten richtig speichern möchtest, dann verschlüsselt man sie -sofern die auf dem PC sind- oder speichert sie auf einem FTP-Server oder ähnliches, Hauptsache man kommt so schnell nicht dran.

Desweiteren rate ich dir (ist zwar Geschmackssache aber trotzdem) dir die ungarische Notation für AutoIt anzugewöhnen.
Code:
$Level
sagt weniger als
Code:
$iLevel
aus oder
Code:
$Name
weniger als
Code:
$sName
da man schon im Präfix den Typ der Variable erkennt.
alpines is offline  
Old 12/12/2013, 08:23   #3
 
Shadow992's Avatar
 
elite*gold: 77
Join Date: May 2008
Posts: 5,430
Received Thanks: 5,878
Nur etwas allgemeines:
Ungarische Notation bei Sprachen, die den Variablen keine festen Typen zuweisen halte ich für sehr fraglich. Soviel ich weiß handelt AutoIt sogar intern alles als String (abgesehen von arrays logischerweise) und wandelt je nach Bedarf um, das heißt korrekt wäre es nur wirklich wenn man wirklich immer $s... schreibt.

Also von den komischen Fixen halte ich sehr wenig, zumindest bei Scriptsprachen, die nicht typfest sind. Dasselbe gilt auch bei PHP.

Was sinnvoll sein kann ist lokal und global zu unterscheiden und auch zwischen array und standard. Ansonsten würde ich dazu raten die Variablennamen nicht zu lang zu machen aber lang genug, damit sich ihr Sinn nach dem durchlesen wieder so gut wie von alleine ergibt.

Schlecht wäre damit also:
Global $das_standard_bild_das_in_die_gui_geladen

Besser:
Global $gDefaultGuiPic

Aber auch nicht viel besser ist:
Global $Pic

Das sagt zwar aus, dass es ein Bild ist, aber beim erneuten Durchlesen nach ein paar Wochen sieht man nicht mehr auf den ersten Blick, was für ein Bild das ist bzw. wo es benutzt wird.
Shadow992 is offline  
Old 12/12/2013, 12:58   #4
 
alpines's Avatar
 
elite*gold: 60
Join Date: Aug 2009
Posts: 2,256
Received Thanks: 815
Man sollte aber schon wissen worum es sich handelt und wenn man mehrere Zeilen Code hat dann verliert man schon leicht die Übersicht was in der Variable enthalten ist, dann helfen auch Präfixe. Ich hab mir das angewöhnt Präfixe zu nutzen auch wenn es wenige Zeilen Code sind.
Das ist aber eine Sache des Programmierstils und steht jedem natürlich offen.
alpines is offline  
Reply


Similar Threads Similar Threads
Register/Login Script [AutoIt]
05/15/2013 - AutoIt - 8 Replies
Hallöchen, ich zeige euch meinen selbst geschriebenen AutoIt Register/Login Script vor. Erklärung: Wenn man sich registriert speichert er in den Ordner Spieler 2 Textdateien, ein mal Username und Passwort. Natürlich verschlüsselt es auch den Passwort damit es sicherer ist. Wenn man sich einloggt, fragt es ab ob eine Datei existiert mit den Username, und wenn ja fragt es ab ob alles genau gleich ist. Wenn ihr den Script nicht downloaded sondern einfach kopiert, müsst ihr einen Ordner...
autoit and mysql login/register forms
09/12/2012 - AutoIt - 1 Replies
ive been trying to create login form in autoit with mysql... and it logins nomater what you enter... $SQL = _MySQLConnect($Connection, $Connection, "mydb", $Connection) If @error Then MsgBox(0, "", "failed") $VerifyLoginInp = _Query($SQL, "SELECT username FROM accounts WHERE 'username' = '"&guictrlread($usernamelogin)&" '") If GUICtrlRead($UsernameLogin) = $VerifyLoginInp Then MsgBox(0, "", "KKKKKKKKKK") ;~ Exit EndIf
Pfad speichern? (AUTOIT)
03/04/2011 - AutoIt - 6 Replies
Hallo, mein Problem ist folgendes: Ich habe ein Programm mit autoIt programmiert, bei dem ein Pfad benötigt wird. Da hab ich mir gedacht naja bevor man jedes mal den Pfad eingeben muss speicher ich in in einer .ini Datei, aber irgentiwie funktioniert das nicht so ganz. Ich mache das jetzt anhand eines Beispieles deutlich. #include <ButtonConstants.au3> #include <EditConstants.au3> #include <GUIConstantsEx.au3> #include <WindowsConstants.au3>
AutoIt eingabe Speichern
08/05/2010 - WoW Bots - 5 Replies
Hallo, gibt es ein Programm, dass sämtliche Eingaben der Tastatur (mit den richtigen Pausen) AutoIT kompatibel aufzeichnet? Für die Maus gibt es ja DEN HIER. Brauche das, um die lange Strecke vom Av-Tunnel bis zum Boss zu programmieren ohne an dem Aufwand zu sterben. E: Ups, wollte das eigl ins AutoIt Forum stellen... Grüße
(AutoIT) Speichern & Laden?
03/29/2009 - Main - 7 Replies
Moin Comm. Ich hätte mal ne wichtige Frage zum Thema AutoIT: Ich würde gern wissen wie man sachen aus einer .ini Datei auslesen kann, das mit dem Speichern hab ich begriffen. Also ich möchte, dass bei jedem Start des Programms in die leeren Inputboxen ($Input1,$Input2,$Input3) die sachen aus der .ini Datei hineingeschrieben werden. Wär nett wenn ihr helfen könntet. *zu vert!cal rüberschau* Thx im Vorraus Phil.



All times are GMT +1. The time now is 04:36.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.