Guten Tag,
Zuerst braucht ihr Autohotkey_L, dies ist eine verbesserte Version von Autohotkey. Autohotkey_L könnt ihr euch auf dieser Seite downloaden: **Klick**, dort einfach auf Download klicken.
Bei der Installation ist es wichtig das ihr auf "Costum Installation" geht:
Dann auf ANSI 32-bit:
Den Rest einfach so lassen wie es dort angekreuzt ist.
Dies funktioniert mit der SAMP-API, die man auf **Klick** bekommt.
Auf dieser Seite: www.samp-api.net/index.php/Downloads findet ihr immer die neuste Version der API, die ihr euch runterladen müsst.
Die API.ahk & API.dll muss dabei im selben Ordner sein wie euer Script. Nun erstellt ihr euch ein neues Script:
In die erste Zeile müsst ihr nun
schreiben, damit die API in das Script "geladen" bzw included wird.
Da drunter schreibt ihr folgendes. (Dies dient dazu das euer Keybinder nicht aktiviert ist wenn ihr z.B. auf dem Desktop seid oder wenn der Chat offen ist)
#IfWinActive, GTA:SA:MP
#UseHook
#SingleInstance, Force
+T::
~t::
Suspend On
Hotkey, Enter, On
Hotkey, Escape, On
Hotkey, t, Off
return
~NumpadEnter::
~Enter::
Suspend Permit
Suspend Off
Hotkey, t, On
Hotkey, Enter, Off
Hotkey, Escape, Off
return
~Escape::
Suspend Permit
Suspend Off
Hotkey, t, On
Hotkey, Enter, Off
Hotkey, Escape, Off
return
Alles anzeigen
Nun kann es auch schon mit dem eigentlich Teilen los gehen, den Keybinds und Befehlen.
Hier findet ihr mal ein Beispiel:
1:: ; Dies ist die Keybindtaste.
if(IsChatOpen() == 1 || IsDialogOpen() == 1) {
SendInput, {%A_ThisHotkey%}
return
} ; Bis hier hin ist eine if-Abfrage, die Abfragt ob ein Menü oder der Chat offen ist und wenn es so ist, das der dann die normale Taste in das Textfeld sendet. In diesem Beispiel wäre das die Taste 1.
GetPlayerName(pName) ; Dies ist eine Funktion aus der SAMP-API. Diese ließt den Spielernamen aus und speichert in als Variable (pName).
SendChat("/pickup") ; Die Funktion SendChat ist ebenfalls aus der SAMP-API, dadurch wird ein Befehl/Text direkt an den Chat gesendet.
SendChat("Guten Tag, Sie sprechen mit " pName ",") ; Das Gleiche wie bei /pickup, Zusätzlich wird aber noch die Variable ausgeben via " pName "
SendChat("Wie kann ich Ihnen behilflich sein?") ; Das Gleiche wie bei /pickup
return ; Das Return beendet den Befehl
Der Keybindquellcode ohne Erklärung:
1::
if(IsChatOpen() == 1 || IsDialogOpen() == 1) {
SendInput, {%A_ThisHotkey%}
return
}
GetPlayerName(pName)
SendChat("/pickup")
SendChat("Guten Tag, Sie sprechen mit " pName ",")
SendChat("Wie kann ich Ihnen behilflich sein?")
return
Weitere Funktionen findet ihr hier: http://samp-api.net/index.php/Kategorie :Funktionen.
Nun kommen wir zu einem Chatbefehl den ihr dann z.B. via "/pick" macht.
Dabei ändert sich eig. nicht viel, außer das ihr das mit der if-Abfrage nicht mehr braucht.
:?:/pick::
Suspend Permit
GetPlayerName(pName)
SendChat("/pickup")
SendChat("Guten Tag, Sie sprechen mit " pName ",")
SendChat("Wie kann ich Ihnen behilflich sein?")
return
- - - - - - - -: Hier sind nochmal Alle Links aufgelistet :- - - - - - - -
http://l.autohotkey.net/
http://www.samp-api.net/index.php/Downloads
http://samp-api.net/index.php/Hauptseite
http://samp-api.net/index.php/Kategorie
- - - - -: EDIT :- - - - - -
1.) Alle Links aufgelistet
Ich hoffe es ist für viele verständlich und ich konnte helfen.
Mit freundlichen Grüßen
C0laMix