Hallo, da manche immer noch nicht wissen, wie man einen Killzähler mit API und Chat Auslesung macht dachte ich mir, dass ich mal zeige wie man sowas eigentlich ganz simple macht
Inhaltsverzeichnis:
1.) Auf simpler weise die API ins Script einfügen.
2.) Kill und Todes Spruch Einstellung mit automatischer Abspeicherung zur Ini Datei schreiben.
3.) Killzähler und Todeszähler schreiben.
4.) Einen Befehl erstellen der die Kills und Tode von der Ini Datei abliest und es Ingame anzeigt. (zB. /KD)
1.) Auf simpler weise die API ins Script einfügen.
Ohne die API würde ein "automatischer" Kill und Todeszähler nicht klappen, da die API wichtige Funktionen wie die "Chatline" Funktion hat und diese Funktion halt den Chat auslesen kann, und somit den Killzähler in Funktion setzen kann.
Viele Leute haben eine API.ahk und eine API.dll, doch um es noch leichter zu machen, sollte man die API direkt ins Script einfügen um die ganze Sache zu vereinfachen.
Script mit eingebauter API
2.) Kill und Todes Spruch Einstellung mit automatischer Abspeicherung zur Ini Datei schreiben.
Man kann nun bestimmten ob man schon im Script einstellt was für einen Kill/Todspruch man haben will, oder man kann es so scripten, dass man dies Ingame mit einem Befehl bestimmt.
Wir machen das so, dass man dies Ingame per Befehl bestimmten kann.
:?:/Killspruch::
Suspend Permit
Suspend On
Input Killspruch ,V I M,{enter}
Iniwrite, %Killspruch%, %stammverzeichnis%\Keybinder.ini, Optionen, Killspruch
SendInput t{end}+{home}{del}{esc}
ShowGameText("~w~Du hast deinen Kill Spruch auf " Killspruch " gesetzt", 3000, 3)
Suspend Off
return
:?:/Todesspruch::
Suspend Permit
Suspend On
Input Deathspruch ,V I M,{enter}
Iniwrite, %Deathspruch%, %stammverzeichnis%\Keybinder.ini, Optionen, Todspruch
SendInput t{end}+{home}{del}{esc}
ShowGameText("~w~Du hast deinen Death Spruch auf " Deathspruch " gesetzt", 3000, 3)
Suspend Off
return
3.) Killzähler und Todeszähler schreiben.
So, da wir jetzt die Ini Abspeicherungen etc. haben können wir anfangen den Killzähler zu schreiben.
Getchatline(1, Chatline1)
if(InStr(Chatline1,"TEXT WAS IN DEN CHAT KOMMT WENN IHR JEMANDEN TÖTET"))
{
IniRead, Kills, %stammverzeichnis%\Keybinder.ini, Optionen, Kills
IniRead, Killspruch, %stammverzeichnis%\Keybinder.ini, Optionen, KSpruch
Kills++
showGameText("~w~+ 1 Kill", 2500, 4)
position := getPlayerZone()
stadt := getPlayerCity()
SendChat("/f " Killspruch " in: " stadt " - " position "| Kill Nr. " Kills "")
Sleep, 100
sleep 500
Iniwrite, %Kills%, %stammverzeichnis%\Keybinder.ini, Optionen, Kills
}
If(getPlayerHealth() == 0)
{
IniRead, tot, %stammverzeichnis%\Keybinder.ini, Optionen, Tot
tot++
sleep 500
Iniwrite, %tot%, %stammverzeichnis%\Keybinder.ini, Optionen, Tot
IniRead, Deathspruch, %stammverzeichnis%\Keybinder.ini, Optionen, DSpruch
position := getPlayerZone()
stadt := getPlayerCity()
SendChat("/f " Deathspruch " in: " stadt " - " position "")
sleep 60000
return
}
Alles anzeigen
4.) Einen Befehl erstellen der die Kills und Tode von der Ini Datei abliest und es Ingame anzeigt. (zB. /KD)
Jetzt schreiben wir einen Befehlen, wo mit ihr Ingame eure Kills/Tode anzeigen könnt. Dies passiert so, in dem die Ini Datei abgelesen wird und Ingame angezeigt wird.
:?:/Kd::
Suspend Permit
Suspend Off
IniRead, deaths, %stammverzeichnis%\Keybinder.ini, Optionen, Tot
IniRead, kills, %stammverzeichnis%\Keybinder.ini, Optionen, Kills
kdrate := Round(kills/deaths,3)
SendChat("/f Aktuelle Kills: " kills " - Aktuelle Tode: " deaths " - KD: " kdrate " ")
SendInput {Enter}
return
Einige Informationen die man beachten muss:
Da bei jeder Ini Abspeicherung %stammverzeichnis% steht, muss die AKH.exe stets neben der Ini Datei sein, da es sonst sein kann, dass es Probleme beim ablesen der Ini Datei geben kann.
Bei Fragen oder Problemen kann ich gerne weiterhelfen.
Mit freundlichen Grüßen,
Pablo.Accardo