Hallo,
habe mir mal den Spaß gemacht und das Script weitestgehend von Fehlern entfernt.
Desweiteren habe ich zu fast jeder relevanten Zeile, als Kommentar, dazu geschrieben was diese bewirkt.
!ACHTUNG!
Ich weise hiermit darauf hin, dass die von @ryaN.jeZoo verwendete Datei wahrscheinlich nicht nur als API für SAMP dient.
Die API ist auf UGBASE.EU veröffentlicht worden und stammt von keinem öffentlichem API-Projekt ab und ist eine modifizierte API von agrippa.
Da ich vor geraumer Zeit mit ziemlicher Sicherheit genau die gleiche API hatte und die Erfahrung gemacht habe, dass nach dem Includieren der API über die API.ahk, die API.dll nicht mehr zu löschen ist, da diese aktuell verwendet wird (auch wenn der Keybinder beendet worden ist).
Ob die API einen Virus, oder ähnliches enthält, ist nicht 1100%ig sicher, aber ich rate davon ab diese zu verwenden.
Die SAMP-UDF von SAMP-UDF.net, Open SAMP API von samp-api.net oder AHPi von ahkbase.eu kann ich nur weiterempfehlen, da diese Projekte Open Source sind und somit der QuellCode für jeden einsehbar ist.
!ACHTUNG!
Der Anhang ist im Prinzip das Script was @ryaN.jeZoo veröffentlicht hat, nur das hier die SAMP-UDF verwendet wurde und das Script rein theoretisch funktionieren sollte. (Ist ungetestet.)
Wer sich den Anhang nicht herunterladen möchte, hier ist das Script:
;#IfWinActive, GTA:SA:MP Kann zu problemen führen, würde ich nicht mit einfügen.
#UseHook
#SingleInstance, Force ;Der Keybinder kann nur einmal gestartet werden.
#NoEnv
#include SAMP.ahk
global Status := 0 ;Setzt den Status auf 'ausgeschaltet'
SetTimer, Bestatter, 100
Bestatter:
if(Status == 0) ;Wenn der Status gleich Null ist, dann wird die Funktion nicht weiter durchgeführt und returnt
return
Getchatline(0, Chatline) ;Es wird die neuste Nachricht im Chat ausgelesen.
if(InStr(Chatline, "ist gestorben und die Leiche muss beseitigt werden. Tippe: /accept corpse - Auftrag annehmen")) ;Wenn die Nachricht in der neusten Chatline ist, wird die IF-Abfrage fortgeführt.
{
SendChat("/accept corpse") ;Wenn im Chat die oben angegebene Nachricht steht, wird '/accept corpse' in den Chat geschrieben
AddChatMessage("'/accept corpse' wurde in den Chat geschrieben.") ;Eine weitere Nachricht in den Chat (AddChatMessage ist nur lokal zu sehen) ist deswegen sinnvoll, wenn z.B. keine neue Nachricht mehr kommt und die oben angegebene Abfrage nach einer Chatline dauerhaft '/accept corpse' in den Chat schreibt.
;Sleep, 1000 Das Sleep kannst du dann wieder rein machen, wenn Du eine art Anti-Spam machen willst. Falls die Nachricht oben oft im Chat kommt, wäre es unklug hier kein Sleep hinzumachen, da man wegen Command-Spam gekickt werden kann.
}
return
F12::
Status := !Status ;Hier wird der Status von 0 auf 1 gestellt, bzw. von 1 auf 0, wenn man die Taste F12 gedrückt hat.
if(Status == 0)
{
Status := 1
AddChatMessage("Der Keybinder wurde eingeschaltet.")
}
else if (Status == 1)
{
Status := 0
AddChatMessage("Der Keybinder wurde ausgeschaltet.")
}
return
Alles anzeigen
Hoffe ich konnte helfen
MfG