Hi,
bin mal unter die Codeklauer gegangen und habe den Umstand, dass das Timeleft von AdminMod so schlecht berechnet wird (kein Vorwurf an die Programmierer!), quasi entfernt. Wie viele wissen, kann man durch die Eingabe von "timeleft" in der Console des Clients eine recht akurate Rückmeldung der Restzeit bekommen. Netterweise wird das sogar direkt auf dem Spielerschirm ausgegeben. Ich habe daher ein Plugin erstellt, das genau diese Funktion beim Client ausführt. Ein erster Test war erfolgreich.
Kein Vorteil, wenn es nicht auch einen Nachteil gäbe. Die so beliebte Funktion, dass die Zeit angesagt wird entfällt natürlich, da der Server die genaue Zeit ja nicht kennt. Auch für Timerem ist die Funktion unbrauchbar. Allerdings will ich morgen mal testen, ob sie nicht in SDals playeraward von Nutzen ist. Dann würde nach jeder Runde die Restzeit angezeigt, was neben dem aktuellen Spielstand für CWs besonders interessant wäre.
Nun noch der zugegebenermaßen simple Code (Jeder fängt mal klein an,
):
Code:
/* Dieses Plugin gibt die akurate Zeit aus, da die Timeleft-Funktion von Client ausgeführt wird.
Vielen Dank an alle, bei denen ich den Code geklaut habe. Insbesondere daRope und Sir Drink a lot :-D */
#include <core>
#include <console>
#include <string>
#include <admin>
#include <adminlib>
new STRING_VERSION[MAX_DATA_LENGTH] = "2.50.2";
public HandleSay(HLCommand,HLData,HLUserName,UserIndex) {
new Data[MAX_DATA_LENGTH];
convert_string(HLData,Data,MAX_DATA_LENGTH);
strstripquotes(Data);
if (streq(Data, "timeleft")==1) {
new userid = 0;
new wonid = 0;
new teamid = 0;
new username[200];
new i = 0;
new x = 0;
x = maxplayercount();
for (i = 1; i <= x; i = i + 1) {
strinit(username);
if (playerinfo(i, username, 200, userid, wonid, teamid) == 1) {
execclient(username, "timeleft");
}
}
}
return PLUGIN_CONTINUE;
}
public plugin_init() {
plugin_registerinfo("Akurates Timeleft","Gibt eine genaue Restzeitangabe aus.",STRING_VERSION);
plugin_registercmd("say","HandleSay",ACCESS_ALL);
plugin_registerhelp("say",ACCESS_ALL,"say timeleft: Gibt die Restzeit an.");
return PLUGIN_CONTINUE;
}
Ich hoffe, es funktioniert so wie es soll. Ein Test lief jedenfalls ohne Probleme ab.
_________________
Der schwarze Ritter triumphiert immer...
WING-Clan