AdminMod.de
https://www.adminmod.de/

[Request] Erweiterung Multi-Kill-P.: Schon x Runden Führung!
https://www.adminmod.de/viewtopic.php?t=3032
Seite 1 von 1

Autor:  [HLPa]M@rs [ 20.05.2002, 09:45 ]
Betreff des Beitrags:  [Request] Erweiterung Multi-Kill-P.: Schon x Runden Führung!

Hallo zusammen!

Könnte jemand bitte das plugin_logd_multikill so erweitern, dass bei jedem Rundenstart für ein paar Sekunden eine Anzeige aufblinkt ("Credits-Blinken"), dass man nun schon seit x Runden die Führung hält!?

:-)

Danke schonmal!

PS: Wie kann man diese "coolen" Sprach-Sounds machen, die hier benutzt werden? Oder wurden die einfach von UT genommen. Ich hätte gerne noch so einen Sound "You have the lead!" ;-)
Code:
/*
* Multikillcounter by [TV]Smudo.
* Announces Kills per seconds.
* Announces First Blood.
* Announces the leading Player.
* Based on Bud-froggys Killing Streak Announcer®.
*/

#pragma dynamic 16384

#include <core>
#include <console>
#include <string>
#include <admin>
#include <adminlib>

new STRING_VERSION[MAX_DATA_LENGTH] = "v1";

new FBSwitch = 1; /*First Blood. 0=OFF, 1=First Blood pro Runde , 2=First Blood pro Map.*/
#define KITSwitch 1; /*Kills in Time Switch. 1=ON or 0=OFF.*/
#define HSSwitch 1; /*Highscore. 0=OFF, 1=ON.*/

#define KillInTime 2 /*Time in Seconds*/
#define KIT_Level1 2; /*Kills per Time*/
#define KIT_Level2 3; /*Kills per Time*/

#define ACCESS_CONSOLE 131072
#define CLEAN_SLATE 0

new FragCount[ MAX_PLAYERS ] = {CLEAN_SLATE,...};
new HSCount[ MAX_PLAYERS ] = {CLEAN_SLATE,...};
new KITTimer;
new KIT_Zeit = 0;
new KIT_Count;
new Name[MAX_NAME_LENGTH];
new lastName[MAX_TEXT_LENGTH];
new lastHSName[MAX_TEXT_LENGTH];
new iIDA;
new iIDAlast;
new fbStatus = 1;
new highScore = 0;
new lastHighScore = 0;

playFile( sFileName[ ] )
{

	new iUserID;
	new iWONID;
	new maxplayers = maxplayercount();

	for( new i = 1; i <= maxplayers; i++ )
	{
		if( playerinfo(i, Name, MAX_NAME_LENGTH, iUserID, iWONID ) ) {
		        {
				playsound(Name, sFileName );
			}
		}
	}
	return 1;
}


public logd_multikill( HLCommand,HLData,HLUserName,UserIndex )
{
	new iIDV;
   	new Text[MAX_TEXT_LENGTH];
	new sID1[3];
	new sID2[3];

	new Data[MAX_DATA_LENGTH];
	new Message[ MAX_TEXT_LENGTH ];

	convert_string( HLData, Data, MAX_DATA_LENGTH );

	strsplit( Data, " ", sID1, 3, sID2, 3 );

	iIDA = strtonum( sID1 );
	iIDV = strtonum( sID2 );


	if(!playerinfo(iIDA, Name, MAX_NAME_LENGTH)){
		return PLUGIN_FAILURE;
	}

	FragCount[ iIDV ] = CLEAN_SLATE;

	/*tkr_checktk*/
	new iUserID;
	new iWONID;
	new iTeamA;
	new iTeamV;

	new sIDA[3];
	new sIDV[3];
	/*new Data[MAX_NAME_LENGTH];*/


	convert_string(HLData,Data,MAX_DATA_LENGTH);
	strsplit(Data, " ", sIDA, 3, sIDV, 3 );

	if(playerinfo(iIDA, Data, MAX_NAME_LENGTH, iUserID, iWONID, iTeamA))
	{
		if(playerinfo(iIDV, Data, MAX_NAME_LENGTH, iUserID, iWONID, iTeamV))
		{
			if(iTeamV != iTeamA) {
				FragCount[ iIDA ] += 1;
				KIT_Count += 1;
				HSCount[ iIDA ] += 1;
				}
			if(iTeamV == iTeamA) {
				FragCount[ iIDA ] -= 1;
				KIT_Count -= 1;
				HSCount[ iIDA ] -= 1;
			}
		}
	}


	if(KITSwitch==1 && iIDA == iIDAlast && KIT_Zeit > 0) {
		playerinfo(iIDA,lastName,MAX_DATA_LENGTH);
		Kill_In_Time();
		}
	else if(KITSwitch==1 && iIDA == iIDAlast && KIT_Zeit <= 0) {
		KIT_Count = 1;
		iIDAlast = iIDA;
		playerinfo(iIDA,lastName,MAX_DATA_LENGTH);
		KIT_Zeit = (KillInTime + 1);
		KITTimer = set_timer("Kill_In_Time",1,KIT_Zeit);
		Kill_In_Time();
		}
	else if(KITSwitch==1 && iIDA != iIDAlast && KIT_Count < 3) {
		KIT_Count = 1;
		iIDAlast = iIDA;
		playerinfo(iIDA,lastName,MAX_DATA_LENGTH);
		if (KIT_Zeit > 0) {
			kill_timer(KITTimer);
		}
		KIT_Zeit = (KillInTime + 1);
		KITTimer = set_timer("Kill_In_Time",1,KIT_Zeit);
		Kill_In_Time();
		}
	else if(KITSwitch==1 && iIDA != iIDAlast && KIT_Count > 2) {
		iIDAlast = iIDA;
		KIT_Count = 1;
		snprintf( Text, MAX_TEXT_LENGTH, "Double Kill von %s!!",lastName);
		typesay(Text, 6, 255, 255, 255 );
    		snprintf( Text, MAX_TEXT_LENGTH, "%s schaffte 2 Kills in %i Sekunden!!!",Name,KillInTime);
		say(Text);
		playFile( "misc/dk.wav" );
		if (KIT_Zeit > 0) {
			kill_timer(KITTimer);
		}
		KIT_Zeit = (KillInTime + 1);
		KITTimer = set_timer("Kill_In_Time",1,KIT_Zeit);
		Kill_In_Time();
		}

	if(fbStatus==1 && FBSwitch>=1) {
	 snprintf( Message, MAX_TEXT_LENGTH, "First Blood: %s!", Name);
	 typesay(Message, 6, 255, 15, 15 );
	 playFile( "misc/fblood.wav" );
	 fbStatus=0;
	 }
	if(HSCount[ iIDA ]>highScore && (lastHighScore!=iIDA) && HSSwitch == 1 && HSCount[ iIDA ] > 2) {
		snprintf(Text,MAX_DATA_LENGTH,"%s hat die Fuehrung mit %i Kills uebernommen !",Name,HSCount[ iIDA ]);
   		typesay(Text, 6, 255, 15, 15 );
		say(Text);
		playsound(Name, "misc/takenlead.wav" );
		playsound(lastHSName, "misc/lostlead.wav" );
		highScore = HSCount[ iIDA ];
		lastHighScore=iIDA;
		playerinfo(iIDA,lastHSName,MAX_DATA_LENGTH);
		}
		else if (HSCount[ iIDA ]==highScore && HSSwitch == 1 && HSCount[ iIDA ] > 2) {
		playsound(Name, "misc/tiedlead.wav" );
		playsound(lastHSName, "misc/tiedlead.wav" );
		lastHighScore=0;
		}
		else if (HSCount[ iIDA ]>highScore && (lastHighScore==iIDA) && HSSwitch == 1 && HSCount[ iIDA ] > 2) {
		highScore = HSCount[ iIDA ];
		}
	return PLUGIN_HANDLED;
}

public Kill_In_Time() {
		new Text[MAX_TEXT_LENGTH];
		KIT_Zeit--;
		if (KIT_Zeit > 0){
			return PLUGIN_CONTINUE;
			}

		if(KIT_Count == KIT_Level1) {
			snprintf( Text, MAX_TEXT_LENGTH, "Double Kill von %s!!!",Name);
			typesay(Text, 6, 255, 255, 255 );
    			snprintf( Text, MAX_TEXT_LENGTH, "%s schaffte %i Kills in %i Sekunden!!!",Name,KIT_Level1,KillInTime);
			say(Text);
			playFile( "misc/dk.wav" );
		} else if(KIT_Count == KIT_Level2) {
			snprintf( Text, MAX_TEXT_LENGTH, "Monster Kill von %s!!!",Name);
			typesay(Text, 6, 255, 255, 255 );
    			snprintf( Text, MAX_TEXT_LENGTH, "%s schaffte %i Kills in %i Sekunden!!!",Name,KIT_Level2,KillInTime);
			say(Text);
			playFile( "misc/monsterkill.wav" );
		} else if(KIT_Count > KIT_Level2){
			snprintf( Text, MAX_TEXT_LENGTH, "Oh mein Gott! %i Kills!!^nEin Mega Mo-mo-mo-Monsterkill von %s",KIT_Count,Name);
			typesay(Text, 6, 255, 255, 255 );
			snprintf( Text, MAX_TEXT_LENGTH, "%s schaffte %i Kills in %i Sekunden!!!",Name,KIT_Count,KillInTime);
			say(Text);
			playFile( "misc/monsterkill.wav" );
		}

		KIT_Count = 0;
		KIT_Zeit = 0;
		return PLUGIN_CONTINUE;
	}



public resetfb(HLCommand,HLData,HLUserName,UserIndex)
{
	new Data[MAX_NAME_LENGTH];
	convert_string(HLData,Data,MAX_NAME_LENGTH);

	if((strcmp("Round_Start", Data) != 0 ) && FBSwitch == 1)
		return PLUGIN_HANDLED;
	else if (FBSwitch == 1) {
		fbStatus=1;
	}
	return PLUGIN_HANDLED;
}

public resetcount(HLCommand,HLData,HLUserName,UserIndex)
{
   new Data [MAX_DATA_LENGTH];
   new x [MAX_DATA_LENGTH];

   convert_string( HLData, Data, MAX_DATA_LENGTH );
   strsplit(Data,"# ",x,MAX_DATA_LENGTH);

   if(strcmp(Data,"Game_Commencing")==0)
   {
	FragCount[ iIDA ] = 0;
	HSCount[ iIDA ] = 0;
   }
   else if(strcmp(x,"Restart_Round_")==0)
   {
	FragCount[ iIDA ] = 0;
	HSCount[ iIDA ] = 0;
   }
   return PLUGIN_HANDLED;
}





public plugin_connect(HLUserName, HLIP, UserIndex)
{
	if (UserIndex >= 1 && UserIndex <= MAX_PLAYERS) {
		FragCount[UserIndex] = CLEAN_SLATE;
		HSCount[UserIndex] = CLEAN_SLATE;


	}
	return PLUGIN_CONTINUE;
}

public plugin_disconnect(HLUserName, UserIndex)
{

	new maxplayers = maxplayercount();
	if (UserIndex >= 1 && UserIndex <= MAX_PLAYERS) {
		FragCount[UserIndex] = CLEAN_SLATE;
		HSCount[UserIndex] = CLEAN_SLATE;
		for( new i = 1; i <= maxplayers; i++ )
		{
		if(HSCount[i] > highScore) {
		highScore = HSCount[i];
		}
	}
	}
	return PLUGIN_CONTINUE;
}


public plugin_init()
{
	plugin_registerinfo("Multikill Announcer.","Announces kills in Time.",STRING_VERSION);
	plugin_registercmd("logd_multikill", "logd_multikill", ACCESS_CONSOLE, "");
	plugin_registercmd("resetfb", "resetfb", ACCESS_CONSOLE, "");
	plugin_registercmd("resetfb", "resetcount", ACCESS_CONSOLE, "");

	exec( "logd_reg 57 admin_command logd_multikill" );
	exec( "logd_reg 62 admin_command resetfb" );
	exec( "logd_reg 62 admin_command resetcount" );
	return PLUGIN_CONTINUE;
}

Autor:  Wookie [ 22.05.2002, 09:05 ]
Betreff des Beitrags: 

coole idee auch haben will

Autor:  florian [ 22.05.2002, 12:20 ]
Betreff des Beitrags: 

Zitat:
coole idee auch haben will
nix deitsch des :D

Autor:  Wookie [ 22.05.2002, 15:37 ]
Betreff des Beitrags: 

nix deutsch aber jeder weiss das ich das haben wil :.)

Seite 1 von 1 Alle Zeiten sind UTC+01:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/