Ein neues Thema erstellen  Auf das Thema antworten  [ 1 Beitrag ] 
Autor Nachricht
 Betreff des Beitrags: HLTV Announcer
BeitragVerfasst: 25.04.2003, 21:58 
AM.de Team
Benutzeravatar

Registriert: 23.11.2001, 00:00
Beiträge: 3842
Wohnort: Vor König Arthus
Ich hatte mal einen HLTV Announcer (http://board.battlenation.de/viewtopic.php?t=2824) geschrieben, der beim Connecten, beim Mapchange und auf den Befehl admin_hltv hin seine Daten öffentlich preisgibt. Ich musste jedoch auf LogD zurückgreifen.
AdminMod 2.50.50 hat dann Vereinfachungen ermöglicht, mit denen man auf LogD theoretisch verzichten kann. Genau das habe ich jetzt endlich mal umgesetzt.

Einfach installieren und den HLTV connecten lassen. Macht sich gut mit dem CW Creator. ;)
Einziger Befehl: "admin_hltv", zeigt die Daten des HLTVs nochmal öffentlich an.

Hier der Code:
Code:
/* Dieses Plugin kündigt einen HLTV-Server beim Connect
und auf Befehl an. Plugin von [WING]Black Knight 25.04.2003 */

#include <core>
#include <console>
#include <string>
#include <admin>
#include <adminlib>
#define ACCESS_CONSOLE 131072
#define MAX_IP_LENGTH 22
new STRING_VERSION[MAX_DATA_LENGTH] = "1.0";

new hltvip[MAX_IP_LENGTH];
new hltvname[MAX_NAME_LENGTH];
new hltvspecs[MAX_NAME_LENGTH];
new hltvslots[MAX_NAME_LENGTH];
new hltvdelay[MAX_NAME_LENGTH];
new hltvid=0;
new hltvteam=0;
new hltvips[MAX_PLAYERS][MAX_IP_LENGTH];

public admin_hltv() {
	if(hltvteam==TEAM_PROXY) {
		new text[MAX_TEXT_LENGTH];
		get_userinfo(hltvname,"hltv_specs",hltvspecs,MAX_NAME_LENGTH);
		get_userinfo(hltvname,"hltv_slots",hltvslots,MAX_NAME_LENGTH);
		get_userinfo(hltvname,"hltv_delay",hltvdelay,MAX_NAME_LENGTH);
		snprintf(text, MAX_TEXT_LENGTH, "%s online:^n%s^nSlots %s/%s, Delay %s s",hltvname,hltvip,hltvspecs,hltvslots,hltvdelay);
		typesay(text,10,68,153,125);
	} else {
		typesay("Kein HLTV-Server online!",3,181,40,44);
	}
	return PLUGIN_CONTINUE;
}

public plugin_connect(HLUserName, HLIP ,UserIndex) {
	new strHLIP[MAX_TEXT_LENGTH];
	
	convert_string(HLIP,strHLIP,MAX_TEXT_LENGTH);
	strcpy(hltvips[UserIndex],strHLIP,MAX_IP_LENGTH);

	return PLUGIN_CONTINUE;
}

public plugin_disconnect(HLUserName, UserIndex){
	if (hltvid==UserIndex){
		hltvid=0;
		hltvteam=0;
		typesay("Der HLTV ist jetzt offline!",3,181,40,44);
	}
	return PLUGIN_CONTINUE;
}

public plugin_info(HLOldName, HLNewName, UserIndex){
	new Name[MAX_NAME_LENGTH];
	new UserID,WONID,Team,Dead;
	new sAuthID[MAX_AUTHID_LENGTH];
	if(UserIndex>0){
		playerinfo(UserIndex,Name,MAX_NAME_LENGTH,UserID,WONID,Team,Dead,sAuthID);
	}
	else{
		return PLUGIN_CONTINUE;
	}

	if(Team==TEAM_PROXY){
		if(hltvteam!=TEAM_PROXY){
			new text[MAX_TEXT_LENGTH];
			new delay;
			get_userinfo(Name,"hltv_delay",text,MAX_TEXT_LENGTH);
			delay=strtonum(text);
			if(delay!=0){
				hltvteam=TEAM_PROXY;
				hltvid=UserIndex;
				strcpy(hltvname,Name,MAX_NAME_LENGTH);
				strcpy(hltvip,hltvips[UserIndex],MAX_IP_LENGTH);
				set_vaultdata("hltv_ip",hltvip);
				admin_hltv();
			}
			return PLUGIN_CONTINUE;
		}
		new sHLOldName[MAX_NAME_LENGTH];
		new sHLNewName[MAX_NAME_LENGTH];
		convert_string(HLOldName,sHLOldName,MAX_NAME_LENGTH);
		convert_string(HLNewName,sHLNewName,MAX_NAME_LENGTH);
		if(!streq(sHLOldName,sHLNewName)){
			strcpy(hltvname,Name,MAX_NAME_LENGTH);
		}
	}
	
	return PLUGIN_CONTINUE;
}

public plugin_init() {
	plugin_registerinfo("HLTV Announcer plugin","Kuendigt HLTV an.",STRING_VERSION);
	plugin_registercmd("admin_hltv","admin_hltv",ACCESS_ALL,"admin_hltv : Zeigt an, wo der HLTV laeuft.");
	
	get_vaultdata("hltv_ip",hltvip,MAX_TEXT_LENGTH);

	return PLUGIN_CONTINUE;
}

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


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


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 ]"