Du bist nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: easy-scripting.net. Falls dies dein erster Besuch auf dieser Seite ist, lies bitte die Hilfe durch. Dort wird dir die Bedienung dieser Seite näher erläutert. Darüber hinaus solltest du dich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutze das Registrierungsformular, um dich zu registrieren oder informiere dich ausführlich über den Registrierungsvorgang. Falls du dich bereits zu einem früheren Zeitpunkt registriert hast, kannst du dich hier anmelden.

1

22.10.2011, 23:56

Keybinder

Keybinder-Tutorial
by Vincent

Geehrte Spieler,
heute möchte ich euch Step-By-Step zeigen wie ihr euch einen eigenen Keybinder mit GUI Fenster und INI Speicherungen und Ausgabe erstellen könnt. Als erstes überlegen wir uns natürlich, was für eine Art von Keybinder wir scripten möchten (das ist eine Script- keine Programmiersprache). Ich entscheide mich zu einem Zivilistenkeybinder.

Wir laden uns den SciTE4AutoHotkey runter, klick!
Wir laden uns den AHK Compiler runter, klick!

Unsere erste Zeile schaut dann so aus:

Quellcode

1
#IfWinActive, GTA:SA:MP

Darin enthalten ist die Abfrage/Angabe, das der Keybinder nur geht wenn GTA SA:MP aktiv ist.

Dann folgen die zwei Zeilen:

Quellcode

1
2
#UseHook 
#SingleInstance, Force

direkt unter der ersten Zeile.

Im Prinzip können wir jetzt schon mit dem GUI anfangen, Befehle machen wir im nachhinein.
Die erste Zeile schaut wie folgt aus:

Quellcode

1
Gui, Show, x30 y40 h200 w600, Zivilistenkeybinder

Das bedeutet also, wir erstellen bzw. zeigen demjenigen, der den Keybinder öffnet ein GUI-Fenster mit der Höhe von 200 und der Breite von 600 (x & y zeigen, bei mir zumindest, keine Wirkung, aber am besten auf x30 und y40 lassen).

Wir haben nun ein, leider noch, komplett leeres GUI-Fenster mit den Maßen 200x600.
Erstellen wir nun ein kleines Bild für den Hintergrund.
-> WICHTIG: Das Bild muss eine .png Datei sein und in dem gleichen Ordner wie der Keybinder sein!
Mein Bild heißt "Keybinderhintergrund.png".

Quellcode

1
Gui, Add, Picture, x0 y0 h200 w600, Keybinderhintergrund.png

Das Bild sollte zum gutaussehen die gleichen Maße (h,w) wie die des GUI-Fensters haben, indem Falle 200x600.

Zur Übersicht arbeite ich schon seit Anfang meiner Keybinderzeit am liebsten mit kleinen, sogenannten "Listboxen". Diese sieht man und verschwinden nicht zwischen verschiedenen Hintergrundbildfarben.
Ich erstelle die erste Listbox.

Quellcode

1
2
Gui, Font, S10 Cred, Arial
Gui, Add, Listbox, x50 y50 w150 h25 ReadOnly, Test123

Die erste Zeile "Gui, Font ..." ist dazu da um die Textfarbe/Art zu bestimmen. Ich nehme immer Arial, euch überlassen. S10 heißt, Schriftgröße 10, ihr könnt es beliebig verändern. Cred heißt das die Schriftfarbe Rot ist, belieb wählbar, auch "Cblue" oder "Cblack" möglich uvm. Ihr müsst nicht über jede "Gui, Add, Listbox ..." eine Zeile mit diesen Cblue ect erstellen. Erstellt ihr eine ist das ok und er macht es für alle Zeilen. Beispiel:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
Gui, Font, S10 Cred, Arial
Gui, Add, Listbox, x25 y25 w150 h25 ReadOnly, Überschrift
Gui, Font, S08 Cblue, Arial
Gui, Add, Listbox, x50 y25 w150 h25 ReadOnly, Test1
Gui, Add, Listbox, x75 y25 w150 h25 ReadOnly, Test2
Gui, Add, Listbox, x100 y25 w150 h25 ReadOnly, Test3
Gui, Add, Listbox, x125 y25 w150 h25 ReadOnly, Test4
Gui, Add, Listbox, x150 y25 w150 h25 ReadOnly, Test5
Gui, Font, S12 Cyellow, Arial
Gui, Add, Listbox, x175 y25 w150 h25 ReadOnly, Große Überschrift
...

In der zweiten Zeile sieht man "Gui, Add, Listbox ..."
Bedeutungen der x,y,w,h:
  • x: Verschiebt die Box nach rechts/links (je nach Wert)
  • y: Verschiebt die Box nach oben/unten (je nach Wert)
  • w: Ist die länge der Box
  • h: Ist die Höhe der Box
Ich positioniere meine Box nun auf der x-Koordinate "25" und der y-Koordinate "25" und ändere "Test123" in "/fill". Ich speichere die AHK und öffne sie, sehe eine GUI mit einer Listbox und dem Text "/fill".Ich erstelle, nur zwecks der Demonstration für euch noch eine zweite Listbox.Auf Koordinate x50 und y25 (50 da Sie sich sonst überlappen, da die Höhe der ersten Box ja 25 war).

Quellcode

1
Gui, Add, Listbox, x50 y25 w150 h25 ReadOnly, /repair
Ein einfaches "return" in der nächsten Zeil sagt dem ganzen das die GUI-Phase für's erste beendet ist...
Und dahinter machen wir jetzt erstmal einen kleinen Stopp und schauen ob wir auf dem gleichen Stand sind:

Quellcode

1
2
3
4
5
6
7
8
9
10
#IfWinActive, GTA:SA:MP
#UseHook 
#SingleInstance, Force

Gui, Show, x500 y0 h200 w600,Zivilistenkeybinder
Gui, Add, Picture, x0 y0 h200 w600, Keybinderhintergrund.png
Gui, Font, S10 Cred, Arial
Gui, Add, Listbox, x25 y25 w150 h25 ReadOnly, /fill
Gui, Add, Listbox, x50 y25 w150 h25 ReadOnly, /repair
return

Genau so weit? Gut, weiter gehts!

Kommen wir nun schon zu der INI-Speicherung, Befehle als letztes (so mach ich das zumindest).
Wir erstellen einen Button, das geht wie folgt:

Quellcode

1
Gui, Add, Button, x75 y25 w150 h25 gSave, Speichern

Wir adden also im Gui einen Button mit der x-Koordinate 75, der y-Koordinate 25 und der Länge von 150 sowie der Höhe von 25. Die Funktion dazu nennen wir "Save", das g fällt später weg, denn das sagt nur das es eine Funktion beinhaltet. Auf dem Button steht nun "Speichern", könnt ihr ändern wenn ihr wollt.

Nur, was soll er jetzt speichern?
Ja geht ja nicht, wir müssen ja erstmal ein kleines Feld für ihn erstellen wo man, ich nehme das Beispiel "Namen" eingeben kann.

Quellcode

1
Gui,Add,Edit,x100 y25 w150 h25 vName, %Nickname%

Wir adden diesmal ein "Edit"-Feld (man kann das Feld also beliebig editieren im Keybinder) Koordinaten x100 y25 sowie Breite von 150 und Höhe 25 mit der Variable (ich glaub dafür ist das v) "Name" und wir können es dann später beliebig mit "%Nickname%" wiedergeben.

Öffnen wir nun den Keybinder neu sehen wir zwei Listbox mit "/fill" und "/repair" sowie ein "Speichern"-Button und ein "Edit-"Feld wo nichts drin steht man aber was reinschreiben kann (noch ohne Funktion).

Jetzt fügen wir die Funktionen zum Button und Editfeld ein:

Quellcode

1
2
3
4
5
Save:
Gui, Submit
IniWrite, %Nickname%, Optionen.ini, settings, Name
Gui, Show
return

Man sieht also dort "Writet" (dt.: schreibt) er in die Ini den Nicknamen aus dem Editfeld und speichert den in der (müssen wir erstellen) "Optionen.ini" Datei.

So schauts also aus:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#IfWinActive, GTA:SA:MP
#UseHook 
#SingleInstance, Force

Gui, Show, x500 y0 h200 w600,Zivilistenkeybinder
Gui, Add, Picture, x0 y0 h200 w600, Keybinderhintergrund.png
Gui, Font, S10 Cred, Arial
Gui, Add, Listbox, x25 y25 w150 h25 ReadOnly, /fill
Gui, Add, Listbox, x25 y50 w150 h25 ReadOnly, /repair
Gui, Add, Button, x25 y125 w150 h20 gSave, Name
Gui,Add,Edit,x25 y75 w150 h20 vName, %Nickname% 
return

Save:
Gui, Submit
IniWrite, %Nickname%, Optionen.ini, settings, Name
Gui, Show
Return


Noch machen wir noch folgendes hinzu, damit auch alles funktioniert...

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
~Escape::
Suspend Permit
Suspend Off
Hotkey, t, On
Hotkey, Enter, Off
Hotkey, Escape, Off
return

+T:: 
~t::
Suspend On
Hotkey, Enter, On
Hotkey, Escape, On
Hotkey, t, Off
return

~NumpadEnter::
~Enter::
Suspend Permit
Suspend Off
SendInput {Enter}
Hotkey, t, On
Hotkey, Enter, Off
Hotkey, Escape, Off
return

GuiClose:
{
Gui, +Lastfound
fadeout1 = 255
fadeout2 = 20
loop 20
{
WinSet, Transparent, %fadeout1%
sleep %fadeout2%
fadeout1 -= 10
fadeout2 -= 1
}
Gui, -Lastfound
}
exitapp
return

Einfach drunterklatschen. 8)
Damit legt der Keybinder nicht automatisch los usw., ich denke wenn man das kurz liest, versteht man es. :)

So.
Jetzt machen wir noch schnell einen Bind mit einem Beispiel des Namens.

Quellcode

1
2
3
1::
SendInput tHallo, mein Name ist %Nickname%.{enter}
return

Wenn man also die 1 drückt dann wird inGame folgendes ausgegeben:

Zitat

Hallo, mein Name ist Vincent.
Aber nur, wenn ich auch "Vincent" in die Editbox eingegeben habe.

Ich denke es sollte alles klar sein.
Ich wünsche euch viel Spaß beim scripten & probieren.
Bei Fragen/Problemen bitte eine PN, und "bedanken" nicht vergessen.

Grüße.
- Vincent
Signatur von »Vincent Petritz« Mit freundlichen Grüßen
Vincent Petritz

2

24.01.2012, 17:03

schönes tutorial nur habe ich einen Fehler:

Quellcode

1
keybinder 1.ahk (62) : ==> This parameter contains a variable name missing its ending percent sign.


Zeile:

Quellcode

1
WinSet, Transparent, údeout1%


Würde mir wünschen das du

Zitat

~Escape::
Suspend Permit
Suspend Off
Hotkey, t, On
Hotkey, Enter, Off
Hotkey, Escape, Off
return

+T::
~t::
Suspend On
Hotkey, Enter, On
Hotkey, Escape, On
Hotkey, t, Off
return

~NumpadEnter::
~Enter::
Suspend Permit
Suspend Off
SendInput {Enter}
Hotkey, t, On
Hotkey, Enter, Off
Hotkey, Escape, Off
return

GuiClose:
{
Gui, +Lastfound
fadeout1 = 255
fadeout2 = 20
loop 20
{
WinSet, Transparent, údeout1%
sleep údeout2%
fadeout1 -= 10
fadeout2 -= 1
}
Gui, -Lastfound
}
exitapp
return


das vielleicht auch noch erklärt... denn den rest habe ich verstanden nur das nicht

MfG

3

24.01.2012, 17:05

Ja gut, das liegt an der Formatierung, sorry! :)
Ergänze das "GuiClose" mal mit:

PWN-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
GuiClose:
{
Gui, +Lastfound
fadeout1 = 255
fadeout2 = 20
loop 20
{
WinSet, Transparent, %fadeout1%
sleep %fadeout2%
fadeout1 -= 10
fadeout2 -= 1
}
Gui, -Lastfound
}
exitapp
return
Signatur von »Vincent Petritz« Mit freundlichen Grüßen
Vincent Petritz

4

24.01.2012, 17:09

ty

nur ist das jetzt meine eigene Dummheit oder warum sind die ineinander ?!


5

24.01.2012, 17:18

Deine Koordinaten stimmen nicht! :)
Signatur von »Vincent Petritz« Mit freundlichen Grüßen
Vincent Petritz

SSL

AutoIt Support

(24)

Beiträge: 324

Renommeemodifikator: 2

  • Private Nachricht senden
635

6

24.01.2012, 17:22

Jetzt reichts mal, klärt das per PN!


Und @Vincent:

Zitat

GuiClose:
{
Gui, +Lastfound
fadeout1 = 255
fadeout2 = 20
loop 20
{
WinSet, Transparent, údeout1%
sleep údeout1%
fadeout1 -= 10
fadeout2 -= 1
}
Gui, -Lastfound
}
exitapp
return
Signatur von »SSL«

Tutorials:
Alle AutoIt Tutorials

Veröffentlichungen:
SA:MP Tool

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »SSL« (24.01.2012, 17:23)


7

24.01.2012, 17:22

Zitat

Deine Koordinaten stimmen nicht! :)


habe die gleichen wie bei dir im Tuto...

8

24.01.2012, 17:24

Zeig mir mal bitte genau deine Koordinaten aus DEINEM Script! :)
Signatur von »Vincent Petritz« Mit freundlichen Grüßen
Vincent Petritz

9

24.01.2012, 17:25

PWN-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Gui, Show, x30 y40 h200 w600, Easy Keybinder
	
Gui, Add, Picture, x0 y0 h200 w600, Keybinderhintergrund.png

Gui, Font, S10 Cred, Arial
Gui, Add, Listbox, x25 y25 w150 h25 ReadOnly, Easy Keybinder
Gui, Font, S08 Cblue, Arial
Gui, Add, Listbox, x50 y25 w150 h25 ReadOnly, Befehl 1
Gui, Add, Listbox, x75 y25 w150 h25 ReadOnly, Befehl 2
Gui, Add, Listbox, x100 y25 w150 h25 ReadOnly, Befehl 3
Gui, Add, Listbox, x125 y25 w150 h25 ReadOnly, Befehl 4
Gui, Add, Listbox, x150 y25 w150 h25 ReadOnly, Befehl 5
Gui, Font, S12 Cyellow, Arial
Gui, Add, Listbox, x175 y25 w150 h25 ReadOnly, EASY KEYBINDER BY G-MAC_X3(nach einem Tutorial auf easy-scripting.net)

Gui, Add, Button, x75 y25 w150 h25 gSave, Speichern
Gui,Add,Edit,x100 y25 w150 h25 vName, %Nickname%

10

24.01.2012, 17:27

Du vertauscht y und x Koordinate.
Signatur von »Vincent Petritz« Mit freundlichen Grüßen
Vincent Petritz

11

24.01.2012, 17:29

lol dabei habe ich die coords um sicher zugehen grade nochmal aus deinem Post kopiert... Gleiches Ergebniss

12

24.01.2012, 17:30

Also wenn ich die bei mir einfüge geht es, dein Fehler liegt darin:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Gui, Show, x30 y40 h200 w600, Easy Keybinder
	
Gui, Add, Picture, x0 y0 h200 w600, Keybinderhintergrund.png

Gui, Font, S10 Cred, Arial
Gui, Add, Listbox, x25 y25 w150 h25 ReadOnly, Easy Keybinder
Gui, Font, S08 Cblue, Arial
Gui, Add, Listbox, x50 y0 w150 h25 ReadOnly, Befehl 1
Gui, Add, Listbox, x50 y25 w150 h25 ReadOnly, Befehl 2
Gui, Add, Listbox, x50 y50 w150 h25 ReadOnly, Befehl 3
Gui, Add, Listbox, x50 y75 w150 h25 ReadOnly, Befehl 4
Gui, Add, Listbox, x50 y100 w150 h25 ReadOnly, Befehl 5
Gui, Font, S12 Cyellow, Arial
Gui, Add, Listbox, x50 y125 w150 h25 ReadOnly, EASY KEYBINDER BY G-MAC_X3(nach einem Tutorial auf easy-scripting.net)

Gui, Add, Button, x50 y150 w150 h25 gSave, Speichern
Gui,Add,Edit,x50 y175 w150 h25 vName, %Nickname%
Signatur von »Vincent Petritz« Mit freundlichen Grüßen
Vincent Petritz

13

24.01.2012, 17:34

ich glaube ich habe den Fehler gefunden... die liegen alle auf der gleichen x Position...

14

24.01.2012, 17:35

Sag ich doch, hoffe trotzdem das ich dich auf den richtigen Weg gebracht habe! :P
Signatur von »Vincent Petritz« Mit freundlichen Grüßen
Vincent Petritz

15

24.01.2012, 17:42

So ok das geht nun danke:D


Edit: Naja jetzt speichert er nichts mehr in der Options.ini -.-

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »G-Mac_x3« (24.01.2012, 17:43)


16

24.01.2012, 17:45

Zeig mal die Zeilen wo er "saven" soll.
Signatur von »Vincent Petritz« Mit freundlichen Grüßen
Vincent Petritz

17

24.01.2012, 17:48

PWN-Quelltext

1
2
3
4
5
6
Gui, Add, Button, x25 y175 w150 h25 gSave, Speichern
Gui, Add, Edit,x200 y175 w150 h25 vName, %Nickname%
Save:
Gui, Submit
IniWrite, %Nickname%, Optionen.ini, settings, Name
Gui, Show


genau nach deinem ut gemacht

18

24.01.2012, 17:53

Ist die Optionen.ini auch in dem Ordner von dem Keybinder?
Ist die Datei leer oder nur der Keybinder beim aufmachen?
Signatur von »Vincent Petritz« Mit freundlichen Grüßen
Vincent Petritz

19

24.01.2012, 17:55

ja ist im Ordner vom Keybinder,


die datei bleibt komplett leer wenn man auf "Speichern" drückt

20

24.01.2012, 18:00

Keybinder als Administrator ausgeführt, vll. liegts ja daran, bei mir geht das alles wunderbar ...
Signatur von »Vincent Petritz« Mit freundlichen Grüßen
Vincent Petritz

Social Bookmarks

Thema bewerten