Ein neues Thema erstellen  Auf das Thema antworten  [ 15 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Akurates Timeleft (Notlösung?)
BeitragVerfasst: 14.04.2002, 04:12 
AM.de Team
Benutzeravatar

Registriert: 23.11.2001, 00:00
Beiträge: 3842
Wohnort: Vor König Arthus
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, :wink: ):
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


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 14.04.2002, 07:56 

Registriert: 20.11.2001, 01:00
Beiträge: 36
Wohnort: Fürth
es ist auf jeden Fall eine Alternative zur Version mit logd.

man könnte es alternativ auch jede Minute anzeigen lassen... wäre auch eine ganz nette Idee, finde ich...

ganz klar: Eigentlich eine Klasse Idee, da hätten wir auch früher drauf kommen können ;)

_________________
wer lesen kann, ist eindeutig im Vorteil ;)

http://board.battlenation.de/viewtopic.php?t=1635

und wer das net beachtet, den trifft Lokis ZORN :evil:
...aber fragt ruhig :D


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 14.04.2002, 14:14 
AM.de Team
Benutzeravatar

Registriert: 27.11.2001, 01:00
Beiträge: 3564
Wohnort: In der Nähe von Bonn
Das ist ja cool :-)
Ich werde mal sehen, was sich da noch mit der Speech-Ausgabe machen lässt.

_________________
Fehleranalyse: Poste den Inhalt Deiner liblist.gam, (listen)server.cfg, adminmod.cfg, users.ini, vault.ini, plugin.ini von adminmod und plugins.ini von metamod. Benutze auch die Such-Funktion


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 14.04.2002, 15:09 

Registriert: 31.12.2001, 01:00
Beiträge: 514
Wohnort: Lüneburg
hab ich mich schon immer gefragt ob das nich auch so geht da die zeit vom timeleft ja 100 % genau ist. wenn man die zeit auslesen könnte dann kann man doch bestimmt recht einfach ne speech oder ne centersay-nachricht ausgeben.

bin mal gespannt was SDal da draus macht

_________________
Geht nich, gibs nich: Suchen, FAQ
www.cola-clan.de - Whiskey@cola-clan.de


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 14.04.2002, 15:45 
AM.de Team
Benutzeravatar

Registriert: 27.11.2001, 01:00
Beiträge: 3564
Wohnort: In der Nähe von Bonn
habe versagt. Ich kriege es nicht hin. Kriege einfach keinen Wert.

Habe es so versucht x = execclient(xxxx) und habe angenommen, dass in x dann ein Wert steht. Aber es will nicht so ganz.

_________________
Fehleranalyse: Poste den Inhalt Deiner liblist.gam, (listen)server.cfg, adminmod.cfg, users.ini, vault.ini, plugin.ini von adminmod und plugins.ini von metamod. Benutze auch die Such-Funktion


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 14.04.2002, 18:32 

Registriert: 31.12.2001, 01:00
Beiträge: 514
Wohnort: Lüneburg
ach was irgendwie geht das schon :D

_________________
Geht nich, gibs nich: Suchen, FAQ
www.cola-clan.de - Whiskey@cola-clan.de


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 14.04.2002, 18:36 
AM.de Team
Benutzeravatar

Registriert: 22.10.2001, 01:00
Beiträge: 839
Wetten, dass nicht? :P

_________________
There are no stupid questions, only stupid people.


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 14.04.2002, 19:24 

Registriert: 31.12.2001, 01:00
Beiträge: 514
Wohnort: Lüneburg
Zur Not hat er noch den Telefon-joker

_________________
Geht nich, gibs nich: Suchen, FAQ
www.cola-clan.de - Whiskey@cola-clan.de


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 14.04.2002, 21:50 
AM.de Team
Benutzeravatar

Registriert: 23.11.2001, 00:00
Beiträge: 3842
Wohnort: Vor König Arthus
Zu der Einsicht ist er inzwischen selber gekommen. ;)

_________________
Der schwarze Ritter triumphiert immer...
WING-Clan


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 15.04.2002, 12:11 
HLDS Team
Benutzeravatar

Registriert: 26.11.2001, 01:00
Beiträge: 676
So weit ich mich erinnere hab ich das schonmal vor 3 Monaten angesprohen!!!! Nur hat anscheinend keiner zugehört :evil:
Und um die data aus "timeleft" zu bekommen hab ich leider auch keine Mögligkeit gefunden!! wenn man "timeleft" am server anwendet, wird timeleft geloggt?............


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 15.04.2002, 13:30 
AM.de Team
Benutzeravatar

Registriert: 27.11.2001, 01:00
Beiträge: 3564
Wohnort: In der Nähe von Bonn
Stimmt MrClone :oops:

Ich gehörte auch zu denjenigen, die daran nicht glaubten.

Aber Du bekommst die Data des timeleft nicht brauchbar in die Finger, um daraus noch eine Speechausgabe zu machen.

_________________
Fehleranalyse: Poste den Inhalt Deiner liblist.gam, (listen)server.cfg, adminmod.cfg, users.ini, vault.ini, plugin.ini von adminmod und plugins.ini von metamod. Benutze auch die Such-Funktion


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 15.04.2002, 14:05 

Registriert: 31.12.2001, 01:00
Beiträge: 514
Wohnort: Lüneburg
habs zwar nich getestet, aber der Compiler meckert nich rum
Code:
timeleft(timeblabla,MAX_DATA_LENGTH);
bin nur ma so da drauf gekommen da man ja auch z.b.
Code:
nextmap(nextmapblabla,MAX_NAME_LENGTH);
benutzen kann, denn wenn man anstatt timeleft da n anderes wort hinschreibt dann meckert er.

meint ihr das, das funktioniert :-?

_________________
Geht nich, gibs nich: Suchen, FAQ
www.cola-clan.de - Whiskey@cola-clan.de


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 15.04.2002, 14:26 

Registriert: 17.12.2001, 01:00
Beiträge: 697
Sicher gibts die timeleft-Funktion, irgendwoher muß man ja die ungenaue Restzeit auch herbekommen.


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 15.04.2002, 14:59 
HLDS Team
Benutzeravatar

Registriert: 26.11.2001, 01:00
Beiträge: 676
@[COLA]*Whiskey
Das ist von adminmod ein eigenes timeleft "timeleft(iPrintToConsole = 1)" ist aber ungenau und schnallt viele Änderungen nicht!


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 15.04.2002, 18:06 

Registriert: 31.12.2001, 01:00
Beiträge: 514
Wohnort: Lüneburg
hmm achso

_________________
Geht nich, gibs nich: Suchen, FAQ
www.cola-clan.de - Whiskey@cola-clan.de


Nach oben
   
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen  Auf das Thema antworten  [ 15 Beiträge ] 


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Powered by phpBB® Forum Software © phpBB Limited
Deutsche Übersetzung durch phpBB.de
Original Design von "[ Half-Life Admin Mod © Alfred Reynolds 2000-2003 ] - [ site design by Jägermeister ]"