Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > AutoIt
You last visited: Today at 07:33

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

Advertisement



[Tutorial 2.1] Keybinder -> Senden (ControlSend)

Discussion on [Tutorial 2.1] Keybinder -> Senden (ControlSend) within the AutoIt forum part of the Coders Den category.

Reply
 
Old   #1
 
elite*gold: 20
Join Date: Nov 2011
Posts: 32
Received Thanks: 2
[Tutorial 2.1] Keybinder -> Senden (ControlSend)

Hallo,
nun gehts weiter mit dem Keybinder aus Tutorial 2.1.
Wir erstellen uns noch einen weiteren Button und nennen unser Label 1 -> Taste 1, bei Input 1 machen wir aus "Input1" -> ""
Nun erstellen wir uns eine Funktion, die unseren Keybinder startet:
Funktionen beginnen zur Übersicht mit einem _
Code:
func _Starten()
	
endfunc
In dieser Funktion fragen wir nun ab, ob GTA:SA:MP geöffnet ist und setzen eine Variable auf true (= an)

Code:
	If WinExists("GTA:SA:MP") Then
		MsgBox(0, "", "Keybinder gestartet")
		$gestartet = true ; wir erstellen noch am Anfang die Variable mit Dim $gestartet
	Else
		MsgBox(0,"","Keybinder konnte nicht gestartet werden, GTA:SA:MP ist nicht offen.")
	Endif
Die If-Abfrage habt ihr schon kennengelernt, WinExists prüft einfach ob ein Fenster geöffnet ist
Nun haben wir unsere Starten-Funktion.

Und vergisst nicht: Am besten nach jeden paar Schritten mal euer Programm Starten (F5) oder Tools -> Go

Jetzt geht es an das Speichern der Felder (Inputs) und das ausgeben von den Nachrichten.

Wir erstellen uns noch eine Funktion und Speichern den Text aus den Inputs in eine Datei, die im Verzeichnis des Scriptes liegt.
Code:
func _Speichern()
	IniWrite($configfile,"Keybinder","1",guictrlread($Input1)) 
	#cs
	Parameter 1: Die Datei, wir definieren sie mit $configfile = @ScriptDir & "\Config.ini" am Anfang des Scriptes.
	Parameter 2: Die Sektion in der .ini Datei
	Parameter 3: Der Key in der .ini Datei
	Parameter 4: Der Text, der in die Datei geschrieben werden soll.
	
	Die Datei sieht dannach so aus:
	
	[Keybinder]
	1=tText von Taste 1
	
	#ce
EndFunc
Das ganze macht ihr jetzt noch für das Input 2 (Taste 2).

Nun weisen wir unseren 2 Buttons 2 Funktionen zu, dies machen wir indem wir nach
Code:
		Case $GUI_EVENT_CLOSE
			Exit
suchen und das hier einfügen:
Code:
		Case $button
			_Starten()
		Case $button2
			_Speichern()
Das heißt soviel wie "Wenn $button gedrückt, dann führe die Funktion _Starten() aus."

Nun wollen wir aber noch, dass unsere .ini beim Programmstart ausgelesen wird, dies machen wir mit IniRead, die Parameter sind (fast) die gleichen wie bei IniWrite.
Code:
If FileExists($configfile) Then
	$1 = IniRead($configfile,"Keybinder","1",""); parameter: Dateiname | Sektion | Key | Der Wert, der angegeben soll, wenn der Key nicht gefunden wird
	guictrlsetdata($input1, $1)
Endif
Wir checken erstmal ob es die Datei gibt, dann lesen wir den Inhalt aus und setzen diesen in unser Inputfeld.
Das ganze macht ihr mit dem 2ten Key und Inputfeld.
Dieser Code kommt am besten nach #EndRegion ### END Koda GUI section ###.

Nun gehts an das Schreiben.
Code:
HotKeySet("1","_1")
Sagt soviel wie: Setze mir ein HotKey auf Taste 1 für die Funktion _1, Tasten wie F1 usw werden mit "{F1}" angegeben.

Die Funktion dazu lautet nun
Code:
func _1()
	if $gestartet = true AND WinActive("GTA:SA:MP") Then ;wenn gestartet = ja UND gta:sa:mp fenster aktiv, dann
	ControlSend("GTA:SA:MP", "", "", guictrlread($input1)) ;parameter: titel | text, der in unserem fenster steht (bei uns keiner) | Die ControlID an die es gesendet werden soll (bei uns auch keine) | und der Text, der gesendet werden soll
	Endif
endfunc
Und das ganze wieder mit Input 2

Das wars erstmal, bis zum nächsten Tutorial.
Hier nochmal der Code bis jetzt:

Musste es verkleinern damit alles reinpasst
S|S|L is offline  
Old 12/30/2011, 17:47   #2


 
!llu's Avatar
 
elite*gold: 90
Join Date: Oct 2011
Posts: 1,546
Received Thanks: 459
Ähm, könntest du bittte aufhören, für jedes neue Tut einen neuen Thread zu machen ?
Es wäre besser wenn du im alten Thread diesen neuen Stoff dazu adden würdest
Dann wird die Section auch nicht so voll gespammt =)
Falls du nicht weißt wie das geht, geh auf deinen alten Thread und drück,(wo auch der
Thanks Button ist) auf Edit. Dann einfach den neuen Stoff einfügen.
!llu is offline  
Old 12/30/2011, 17:54   #3
 
lolkop's Avatar
 
elite*gold: 280
Join Date: May 2007
Posts: 2,818
Received Thanks: 3,483
Quote:
Originally Posted by DarkAzrail View Post
Ähm, könntest du bittte aufhören, für jedes neue Tut einen neuen Thread zu machen ?
Es wäre besser wenn du im alten Thread diesen neuen Stoff dazu adden würdest
Dann wird die Section auch nicht so voll gespammt =)
Falls du nicht weißt wie das geht, geh auf deinen alten Thread und drück,(wo auch der
Thanks Button ist) auf Edit. Dann einfach den neuen Stoff einfügen.
wäre auch nett, wenn du in zukunft eine schrift nutzt, welche auch lesbar ist, ohne das man sie extra markieren muss.

im idealfall einfach schwarz, wie jeder normale, halbwegs professionelle mensch es auch macht.
lolkop is offline  
Thanks
3 Users
Reply


Similar Threads Similar Threads
[Tutorial 2] GUI und Koda -> Keybinder
12/28/2011 - AutoIt - 0 Replies
Hallo, in diesem Tutorial bauen wir uns eine GUI und einen Keybinder. Wir erstellen uns eine neue Datei (Rechtsklick + Neue AutoIt v3 Datei). Dann öffnen wir die Datei und füllen ggf. die ersten Zeilen aus. Wir gehen in SciTE oben auf Tools -> Koda Form Designer oder wir drücken einfach Alt+m. Damit können wir uns eine GUI bauen. Wir sehen jetzt ein Fenster und den Form Designer, wir gehen auf den Buchstaben (A) und erstellen ein Label, dannach erstellen wir ein Inputfeld....
AutoIT Keybinder?
07/05/2011 - AutoIt - 4 Replies
hallo ich würde gerne ein AutoIT Script machen, mit dem meine Logitech MX518 Sondertaste (Mouse5 glaub ich) der Befehl "Taste 2" und dannach "Taste 1" ausgeführt wird und noch ein anderes Script welches "Rechtclick" und dannach "Linksklick" ausführt mit der Sondertaste Mouse6. ich kenn mich mit AutoIT nur wenig aus und wäre über ein Script froh :D mfg Pigb0y
GTA SA:MP Keybinder
07/02/2011 - General Gaming Discussion - 5 Replies
Hey, Ich suche einen Samp Keybinder, der Folgendes kann: -Anrufbeantworter. -Keybinds auf F2/F3, Numpad 1-9 und mehr is auch net schlecht. -Wenn einem Geld "ge/payt" wird "Vielen Dank" schreiben. -*An den "Mats Points" (Wer GRP spielt weiß beschied) "/materials get 10" und "/materials deliver 10" automatisch Schreiben (und an Zollstationen automatisch /zoll währe auch net schlecht) -*Dann wenn jmd Anruft direkt /pickup (wenn Anrufbeantworter aus is) und schreiben "Hier Spricht der...
S4 League Macro Tool / Keybinder ?
05/30/2010 - S4 League - 16 Replies
Hallo, Wollte fragen, ob es möglich ist ein Macro Tool oder einen Keybinder für S4 League zu machen, da mir der bisherige doch recht mager ist. Soweit ich weiß, wird von S4 ja HotKeySet(AutoIT) geblockt. Habe es auch mit der _IsPressed Variante versucht, doch das gleiche kam Nun ist die Hilfe von euch gefragt, möglich oder nicht, und wenn ja, wie?
Keybinder Pls ^^
03/06/2010 - Technical Support - 12 Replies
So ich hätte eine frage. Könnte mir jemand einen Keybinder erstellen? Vorschlag (bild) Mit paint erstellt ^^ http://www3.pic-upload.de/27.01.10/xsuc3kr3tepf.j pg Man soll auswählen ob F1,F2,F3,F4. Man kann dan mit F1+1,2,3,4,5,6,7,8,9,0 Texte schicken. Also er drückt Ingame automatisch }T{ (in SAMP startet der Chat damit)



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


Powered by vBulletin®
Copyright ©2000 - 2026, 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 ©2026 elitepvpers All Rights Reserved.