Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie

Deathrun Manager v2.5


  • Zamknięty Temat jest zamknięty
2 odpowiedzi w tym temacie

#1 verman

    Profesjonalista

  • Użytkownik

Reputacja: 37
Życzliwy

  • Postów:204
  • GG:
  • Lokalizacja:Bielsko-Biała
Offline

Napisano 25.09.2009 20:44

Witam. Mam problem, w starszych wersjach dr wyskakuja bledy a w nowej nie. Firmy hostingowe zabraniaja sobie umieszczanie botow na serwerze. Cz mogl by mi ktos usunac bota z tego deathruna?

/***
 * Link to the plugin
 *
 *	http://forums.alliedmods.net/showthread.php?t=78197
 */

#include <amxmodx>
#include <engine>
#include <cstrike>
#include <fun>
#include <fakemeta>
#include <hamsandwich>

#pragma semicolon 1

// Plugin Version
#define VERSION	"2.5"

// Bot name
#define BOT_NAME "DRM Fake Player"

// Global Variables
new bool:g_bHauntedHouse, bool:g_bGamerFun, bool:g_bRandromized, bool:g_bStarting, bool:g_bFirstRound;
new g_iSemiClip[33], g_sv_restart, g_mp_autoteambalance, g_mp_limitteams, bool:g_isEnabled, g_HudSync, g_HudSync2;
new g_GameName, g_Toggle, g_SprayB, g_RadioB, g_Semiclip, g_GiveUsp, g_RemoveBZ, g_HideHud, g_BlockMoney, g_LifeSystem;
new g_iMaxplayers, g_iMsgHideWeapon, g_iMsgCrosshair, g_iMsgMoney, g_Lifes[33];
new g_iMsgTeamInfo, g_iMsgSayText, bool:gUserConnected[33], g_KillB;
new g_iLastTerr, g_szGameName[ 32 ], g_iFakeplayer;

// Macros
#if cellbits == 32
	#define OFFSET_BZ 235
#else
	#define OFFSET_BZ 268
#endif

// Colorchat
enum Color {
	NORMAL = 1,
	GREEN,
	RED,
	BLUE
};

new TeamName[][] = {
	"",
	"TERRORIST",
	"CT",
	"SPECTATOR"
};

// =======================================================================================

public plugin_init() {
	register_plugin( "Deathrun Manager", VERSION, "xPaw" );
	
	g_Toggle     = register_cvar( "deathrun_toggle",     "1" );
	g_SprayB     = register_cvar( "deathrun_spray",      "1" );
	g_RadioB     = register_cvar( "deathrun_radio",      "1" );
	g_KillB      = register_cvar( "deathrun_blockkill",  "1" );
	g_Semiclip   = register_cvar( "deathrun_semiclip",   "1" );
	g_GiveUsp    = register_cvar( "deathrun_giveusp",    "1" );
	g_RemoveBZ   = register_cvar( "deathrun_removebz",   "1" );
	g_HideHud    = register_cvar( "deathrun_hidehud",    "1" );
	g_BlockMoney = register_cvar( "deathrun_blockmoney", "1" );
	g_LifeSystem = register_cvar( "deathrun_lifesystem", "1" );
	g_GameName   = register_cvar( "deathrun_gamename",   "1" );
	
	// Lets get map name...
	new szMapName[ 64 ];
	get_mapname( szMapName, 63 );
	
	if( contain( szMapName, "deathrun_" ) != -1 ) {
		set_pcvar_num( g_Toggle, 1 );
		
		if( contain( szMapName, "hauntedhouse" ) != -1 )
			g_bHauntedHouse = true;
		else {
			g_bHauntedHouse = false;
			
			if( equal( szMapName, "deathrun_gamerfun" ) )
				g_bGamerFun = true;
			else
				g_bGamerFun = false;
		}
	} else
		set_pcvar_num( g_Toggle, 0 );
	
	format( g_szGameName, 31, "Deathrun v%s", VERSION);
	
	g_sv_restart         = get_cvar_pointer( "sv_restart" );
	g_mp_autoteambalance = get_cvar_pointer( "mp_autoteambalance" );
	g_mp_limitteams      = get_cvar_pointer( "mp_limitteams" );
	
	register_cvar("deathrun_version",	VERSION, FCVAR_SERVER|FCVAR_SPONLY);
	set_cvar_string("deathrun_version",	VERSION);
	
	// Registering Language file
	register_dictionary( "deathrun.txt" );
	
	// Logging Events
	register_logevent( "eStartRound", 2, "1=Round_Start" );
	register_logevent( "eRandromize", 2, "1=Round_End" );
	register_event( "SendAudio", "eTerrWin",    "a",  "2&%!MRAD_terwin" );
	register_event( "TextMsg",	 "eRandromize", "a",  "2&#Game_w" );
	register_event( "DeathMsg",	 "eDeath",      "a");
	register_event( "Money",	 "eMoney",      "b" );
	register_event( "ResetHUD",	 "eResetHUD",   "be" );
	
	g_bFirstRound    = true;
	g_iMaxplayers    = get_maxplayers();
	g_iMsgHideWeapon = get_user_msgid( "HideWeapon" );
	g_iMsgCrosshair  = get_user_msgid( "Crosshair" );
	g_iMsgMoney      = get_user_msgid( "Money" );
	g_iMsgSayText    = get_user_msgid( "SayText" );
	g_iMsgTeamInfo   = get_user_msgid( "TeamInfo" );
	
	g_HudSync        = CreateHudSyncObj();
	g_HudSync2       = CreateHudSyncObj();
	
	if( get_pcvar_num(g_Toggle) ) {
		// Forwards
		RegisterHam( Ham_Spawn, "player",        "FwdHamPlayerSpawnPost", 1 );
		register_forward( FM_ClientKill,         "FwdClientKill" );
		register_impulse( 201,                   "FwdImpulse_201" );
		
		if( get_pcvar_num( g_GameName ) )
			register_forward( FM_GetGameDescription, "FwdGameDesc" );
		
		register_clcmd("say /lifes", "cmdShowlifes");
		register_clcmd("say /lives", "cmdShowlifes");
		
		// Terrorist Check
		set_task(15.0, "eTerrorCheck", _,_,_, "b");
		
		// Lets make restart after 20 seconds from map start.
		set_task(20.0, "fnRestart");
		
		if( get_pcvar_num(g_RemoveBZ) ) {
			register_message( get_user_msgid("StatusIcon"), "MsgStatusIcon" ); // BuyZone Icon
			
			// Remove buyzone on map
			remove_entity_name( "info_map_parameters" );
			remove_entity_name( "func_buyzone" );
			
			// Create own entity to block buying
			new iEntity = create_entity( "info_map_parameters" );
			set_kvd( 0, KV_ClassName, "info_map_parameters" );
			set_kvd( 0, KV_KeyName, "buying" );
			set_kvd( 0, KV_Value, "3" );
			set_kvd( 0, KV_fHandled, 0 );
			
			dllfunc( DLLFunc_KeyValue, iEntity, 0 );
			dllfunc( DLLFunc_Spawn, iEntity );
		}
		
		if( get_pcvar_num(g_Semiclip) ) {
			register_forward( FM_StartFrame,	"FwdStartFrame", 0 );
			register_forward( FM_AddToFullPack,	"FwdFullPack",   1 );
		}
		
		g_isEnabled = true;
		log_amx("Deathrun Manager by xPaw v%s is ON.", VERSION);
		
		set_task( 5.0, "UpdateBot" );
	} else
		g_isEnabled = false;
}

// FAKEPLAYER
///////////////////////////////////////////
public UpdateBot( ) {
	new id = find_player( "i" );
	
	if( !id ) {
		id = engfunc( EngFunc_CreateFakeClient, BOT_NAME );
		if( pev_valid( id ) ) {
			engfunc( EngFunc_FreeEntPrivateData, id );
			dllfunc( MetaFunc_CallGameEntity, "player", id );
			set_user_info( id, "rate", "3500" );
			set_user_info( id, "cl_updaterate", "25" );
			set_user_info( id, "cl_lw", "1" );
			set_user_info( id, "cl_lc", "1" );
			set_user_info( id, "cl_dlmax", "128" );
			set_user_info( id, "cl_righthand", "1" );
			set_user_info( id, "_vgui_menus", "0" );
			set_user_info( id, "_ah", "0" );
			set_user_info( id, "dm", "0" );
			set_user_info( id, "tracker", "0" );
			set_user_info( id, "friends", "0" );
			set_user_info( id, "*bot", "1" );
			set_pev( id, pev_flags, pev( id, pev_flags ) | FL_FAKECLIENT );
			set_pev( id, pev_colormap, id );
			
			new szMsg[ 128 ];
			dllfunc( DLLFunc_ClientConnect, id, BOT_NAME, "127.0.0.1", szMsg );
			dllfunc( DLLFunc_ClientPutInServer, id );
			
			cs_set_user_team( id, CS_TEAM_T );
			ExecuteHamB( Ham_CS_RoundRespawn, id );
			
			set_pev( id, pev_effects, pev( id, pev_effects ) | EF_NODRAW );
			set_pev( id, pev_solid, SOLID_NOT );
			dllfunc( DLLFunc_Think, id );
			
			g_iFakeplayer = id;
		}
	}
}

// NEW TERRORIST
///////////////////////////////////////////
public eRandromize() {
	if( !g_isEnabled || g_bFirstRound || g_bRandromized )
		return PLUGIN_CONTINUE;
	
	g_bRandromized = true;
	
	new i, iPlayers[ 32 ], iNum, iPlayer;
	get_players( iPlayers, iNum, "c" );
	
	if( iNum <= 1 )
		return PLUGIN_CONTINUE;
	
	for( i = 0; i < iNum; i++ ) {
		iPlayer = iPlayers[ i ];
		
		if( cs_get_user_team( iPlayer ) == CS_TEAM_T )
			cs_set_user_team( iPlayer, CS_TEAM_CT );
	}
	
	new iRandomPlayer, CsTeams:iTeam;
	
	while( ( iRandomPlayer = iPlayers[ random_num( 0, iNum - 1 ) ] ) == g_iLastTerr ) { }
	
	g_iLastTerr = iRandomPlayer;
	
	iTeam = cs_get_user_team( iRandomPlayer );
	
	if( iTeam == CS_TEAM_T || iTeam == CS_TEAM_CT ) {
		cs_set_user_team(iRandomPlayer, CS_TEAM_T);
		
		new szName[32];
		get_user_name(iRandomPlayer, szName, 31);
		
		for( i = 0; i < iNum; i++ )
			ColorChat(iPlayers[ i ], RED, "[Deathrun]^4 %L", iPlayers[ i ], "DR_NOW_TERR", szName);
	} else {
		g_bRandromized = false;
		eRandromize();
	}
	
	return PLUGIN_CONTINUE;
}

// NEW ROUND
///////////////////////////////////////////
public eStartRound() {
	if( !g_isEnabled )
		return PLUGIN_CONTINUE;
	
	g_bRandromized	= false;
	g_bStarting	= false;
	
	new i, iPlayers[ 32 ], iNum, iRealPlayers, CsTeams:iTeam;
	get_players( iPlayers, iNum, "c" );
	
	if( iNum <= 1 )
		return PLUGIN_CONTINUE;
	
	for( i = 0; i < iNum; i++ ) {
		iTeam = cs_get_user_team( iPlayers[ i ] );
		
		if( iTeam == CS_TEAM_T || iTeam == CS_TEAM_CT )
			iRealPlayers++;
	}
	
	if( iRealPlayers <= 1 ) {
		set_hudmessage(0, 128, 0, -1.0, 0.1, 0, 4.0, 4.0, 0.5, 0.5, 4);
		
		for( i = 0; i < iNum; i++ )
			ShowSyncHudMsg(iPlayers[ i ], g_HudSync, "%L", iPlayers[ i ], "DR_NOT_ENOUGH" );
		
		return PLUGIN_CONTINUE;
	}
	
	set_pcvar_num(g_mp_autoteambalance, 0);
	set_pcvar_num(g_mp_limitteams, 0);
	
	if( g_bFirstRound ) {
		set_hudmessage(0, 128, 0, -1.0, 0.1, 0, 4.0, 4.0, 0.5, 0.5, 4);
		
		for( i = 0; i < iNum; i++ ) {
			ShowSyncHudMsg(iPlayers[ i ], g_HudSync, "%L", iPlayers[ i ], "DR_STARTING");
			
			ColorChat(iPlayers[ i ], RED, "[Deathrun]^1 %L", iPlayers[ i ], "DR_STARTING_CC");
		}
		
		set_task(9.0, "fnRestart");
		g_bStarting = true;
		g_bFirstRound = false;
	}
	
	return PLUGIN_CONTINUE;
}

// CHECK TERRORIST
///////////////////////////////////////////
public eTerrorCheck() {
	if( !g_isEnabled || g_bFirstRound || g_bStarting )
		return PLUGIN_CONTINUE;
	
	new i, iPlayers[ 32 ], iTerrors, iNum, iRealPlayers, CsTeams:iTeam;
	get_players( iPlayers, iNum, "c" );
	
	if( iNum <= 1 )
		return PLUGIN_CONTINUE;
	
	for( i = 0; i < iNum; i++ ) {
		iTeam = cs_get_user_team( iPlayers[ i ] );
		
		if( iTeam == CS_TEAM_T )
			iTerrors++;
		
		if( iTeam == CS_TEAM_T || iTeam == CS_TEAM_CT )
			iRealPlayers++;
	}
	
	if( iRealPlayers <= 1 ) {
		set_hudmessage(0, 128, 0, -1.0, 0.1, 0, 4.0, 4.0, 0.5, 0.5, 4);
		
		for( i = 0; i < iNum; i++ )
			ShowSyncHudMsg(iPlayers[ i ], g_HudSync, "%L", iPlayers[ i ], "DR_NOT_ENOUGH" );
		
		return PLUGIN_CONTINUE;
	}
	
	if( iTerrors == 0 ) {
		for( i = 0; i < iNum; i++ ) {
			ColorChat(iPlayers[ i ], RED, "[Deathrun]^1 %L", iPlayers[ i ], "DR_NO_DETECT");
			
			if( is_user_alive( iPlayers[ i ] ) && cs_get_user_team( iPlayers[ i ] ) == CS_TEAM_CT )
				user_silentkill( iPlayers[ i ] );
		}
		
		set_task( 0.5, "eRandromize" );
	}
	
	return PLUGIN_CONTINUE;
}

// LIFE SYSTEM
///////////////////////////////////////////
public eTerrWin() {
	if( !g_isEnabled || g_bFirstRound )
		return PLUGIN_CONTINUE;
	
	new iPlayers[ 32 ], iNum, iPlayer;
	get_players( iPlayers, iNum, "c" );
	
	if( iNum <= 1 )
		return PLUGIN_CONTINUE;
	
	new iLifeCvar = get_pcvar_num( g_LifeSystem );
	
	for( new i = 0; i < iNum; i++ ) {
		iPlayer = iPlayers[ i ];
		
		if( cs_get_user_team( iPlayer ) == CS_TEAM_T ) {
			set_user_frags( iPlayer, get_user_frags( iPlayer ) + 3 );
			
			if( iLifeCvar == 2 )
				g_Lifes[ iPlayer ]++;
		}
	}
	
	return PLUGIN_CONTINUE;
}

public eDeath() {
	if( !g_isEnabled || get_pcvar_num(g_LifeSystem) == 0 )
		return PLUGIN_CONTINUE;
	
	new iKiller = read_data( 1 );
	new iVictim = read_data( 2 );
	new iTeam = get_user_team( iVictim );
	
	if( iKiller != iVictim && get_user_team(iKiller) != iTeam )
		g_Lifes[iKiller]++;
	
	if( iTeam == 1 && is_user_alive( g_iFakeplayer ) )
		fakedamage( g_iFakeplayer, "worldspawn", 100.0, DMG_GENERIC );
	
	if( cs_get_user_team(iVictim) == CS_TEAM_CT && g_Lifes[iVictim] > 0 ) {
		new iCTcount;
		for( new i = 1; i <= g_iMaxplayers; i++ ) {
			if( is_user_alive(i) && cs_get_user_team(i) == CS_TEAM_CT )
				iCTcount++;
		}
		
		if( iCTcount > 1 ) {
			set_task(3.2, "fnRevivePlayer", iVictim);
			
			ColorChat(iVictim, RED, "[Deathrun]^1 %L", iVictim, "DR_LIFE_RESPAWN" );
		}
		/*else
			ColorChat(iVictim, RED, "[Deathrun]^1 %L", iVictim, "DR_LIFE_CANT" );*/
	}
	
	return PLUGIN_CONTINUE;
}

public fnRevivePlayer( id ) {
	if( gUserConnected[id] ) {
		if( cs_get_user_team( id ) == CS_TEAM_CT ) {
			new iCTcount;
			for( new i = 1; i <= g_iMaxplayers; i++ )
				if( is_user_alive( i ) && cs_get_user_team( i ) == CS_TEAM_CT )
					iCTcount++;
			
			if( iCTcount > 1 ) {
				ExecuteHamB(Ham_CS_RoundRespawn, id);
				
				g_Lifes[id]--;
			}
		}
	}
}

public cmdShowlifes( id ) {
	if( get_pcvar_num(g_LifeSystem) == 0 ) {
		ColorChat(id, RED, "[Deathrun]^1 %L", id, "DR_LIFE_DISABLE" );
		return PLUGIN_HANDLED;
	}
	
	if( g_Lifes[id] > 0 )
		ColorChat(id, RED, "[Deathrun]^1 %L", id, "DR_LIFE_CC_COUNT", g_Lifes[id] );
	else
		ColorChat(id, RED, "[Deathrun]^1 %L", id, "DR_LIFE_CC_NO" );
	
	return PLUGIN_HANDLED;
}

public Showlifes( id ) {
	set_hudmessage(0, 128, 0, 0.04, 0.71, 0, 2.5, 2.5, 0.5, 0.5, 3);
	
	if( g_Lifes[id] > 0 )
		ShowSyncHudMsg(id, g_HudSync2, "%L", id, "DR_LIFE_COUNT", g_Lifes[id]);
	else
		ShowSyncHudMsg(id, g_HudSync2, "%L", id, "DR_LIFE_NO");
}

// EVENTS
///////////////////////////////////////////
public eResetHUD( id ) {
	if( g_isEnabled && get_pcvar_num(g_HideHud) && !is_user_bot( id ) ) {
		message_begin( MSG_ONE_UNRELIABLE, g_iMsgHideWeapon, _, id );
		write_byte( ( 1<<4 | 1<<5 ) );
		message_end();
		
		message_begin( MSG_ONE_UNRELIABLE, g_iMsgCrosshair, _, id );
		write_byte( 0 );
		message_end();
	}
}

public eMoney( id ) {
	if( g_isEnabled && get_pcvar_num( g_BlockMoney ) ) {
		set_pdata_int( id, 115, 0 );
		
		message_begin( MSG_ONE_UNRELIABLE, g_iMsgMoney, _, id );
		write_long ( 0 );
		write_byte ( 1 );
		message_end( );
	}
}

public client_putinserver( id )
	gUserConnected[ id ] = true;

public client_disconnect( id ) {
	gUserConnected[ id ] = false;
	eTerrorCheck();
	
	if( g_iFakeplayer == id ) {
		set_task( 1.5, "UpdateBot" );
		
		g_iFakeplayer = 0;
	}
}

// SEMICLIP by danielkza
///////////////////////////////////////////
public FwdFullPack( es, e, ent, host, flags, player, pSet ) {
	if( !g_isEnabled )
		return FMRES_IGNORED;
	
	if( player && g_iSemiClip[ent] && g_iSemiClip[host] ) {
		set_es( es, ES_Solid, SOLID_NOT );
		set_es( es, ES_RenderMode, kRenderTransAlpha );
		set_es( es, ES_RenderAmt, 85 );
	}
	
	return FMRES_IGNORED;
}

public FwdStartFrame( ) {
	if( !g_isEnabled )
		return FMRES_IGNORED;
	
	static iPlayers[32], iNum, iPlayer, iPlayer2;
	get_players( iPlayers, iNum, "c" );
	
	arrayset( g_iSemiClip, 0, 32 );
	
	new iTeams[33] = {-1, ...};
	for( new i = 0; i < iNum; i++ ) {
		iPlayer = iPlayers[i];
		
		if( !is_user_alive(iPlayer) )
			continue;
		
		for( new j = 0; j < iNum; j++ ) {
			iPlayer2 = iPlayers[j];
			
			if(iPlayer == iPlayer2 || !is_user_alive(iPlayer2))
				continue;
			
			static Float:vOrigin1[3], Float:vOrigin2[3];
			pev(iPlayer, pev_origin, vOrigin1);
			pev(iPlayer2, pev_origin, vOrigin2);
			
			if( vector_distance( vOrigin1, vOrigin2 ) < 96 ) {
				if( iTeams[iPlayer] == -1 )
					iTeams[iPlayer] = get_user_team(iPlayer);
				if( iTeams[iPlayer2] == -1 )
					iTeams[iPlayer2] = get_user_team(iPlayer2);
				
				if( iTeams[iPlayer] == 2 && iTeams[iPlayer2] == 2 ) {
					g_iSemiClip[iPlayer]	= true;
					g_iSemiClip[iPlayer2]	= true;
				}
			}
		}
	}
	
	for( new i = 0; i < iNum; i++ ) {
		iPlayer = iPlayers[i];
		
		if( is_user_alive( iPlayer ) )
			set_pev(iPlayer, pev_solid, g_iSemiClip[iPlayer] ? SOLID_NOT : SOLID_SLIDEBOX);
	}
	
	return FMRES_IGNORED;
}

// FORWARDS
///////////////////////////////////////////
public FwdHamPlayerSpawnPost( id ) {
	if( !g_isEnabled || !is_user_alive( id ) )
		return HAM_IGNORED;
	
	if( get_pcvar_num(g_RadioB) ) // thanks to ConnorMcLeod for this good way <img src='https://amxx.pl/public/style_emoticons/<#EMO_DIR#>/smile.gif' class='bbc_emoticon' alt=':)' />
		set_pdata_int( id, 192, 0 );
	
	if( g_iFakeplayer == id ) {
		set_pev( id, pev_frags, -1000.0 );
		cs_set_user_deaths( id, -1000 );
		
		set_pev( id, pev_effects, pev(id, pev_effects) | EF_NODRAW );
		set_pev( id, pev_solid, SOLID_NOT );
		entity_set_origin(id, Float:{ 999999.0, 999999.0, 999999.0 } );
		dllfunc( DLLFunc_Think, id );
	} else {
		new CsTeams:iTeam = cs_get_user_team( id );
		
		// An small delay for message
		if( get_pcvar_num(g_LifeSystem) != 0 && iTeam == CS_TEAM_CT )
			set_task(0.8, "Showlifes", id);
		
		strip_user_weapons( id );
		give_item( id, "weapon_knife" );
		
		if( g_bGamerFun && iTeam == CS_TEAM_CT )
			give_item( id, "weapon_smokegrenade" );
		
		if( get_pcvar_num(g_GiveUsp) && iTeam == CS_TEAM_CT && !g_bHauntedHouse )
			set_task(1.0, "GiveUsp", id);
	}
	
	return HAM_IGNORED;
}

public GiveUsp( id ) {
	if( is_user_alive( id ) ) {	// who knows, maybe he died in 1second <img src='https://amxx.pl/public/style_emoticons/<#EMO_DIR#>/biggrin.gif' class='bbc_emoticon' alt=':D' />
		give_item( id, "weapon_usp" );
		cs_set_user_bpammo( id, CSW_USP, 100 );
	}
}

public FwdGameDesc() {
	forward_return( FMV_STRING, g_szGameName );
	
	return FMRES_SUPERCEDE;
}

public FwdClientKill( id ) {
	if( !g_isEnabled || !is_user_alive(id) )
		return FMRES_IGNORED;
	
	if( get_pcvar_num( g_KillB ) || cs_get_user_team( id ) == CS_TEAM_T ) {
		client_print( id, print_center, "%L", id, "DR_BLOCK_KILL" );
		client_print( id, print_console, "%L", id, "DR_BLOCK_KILL" );
	
		return FMRES_SUPERCEDE;
	}
	
	return FMRES_IGNORED;
}

public FwdImpulse_201( id, uc_handle, seed ) {	
	if( g_isEnabled && get_pcvar_num(g_SprayB) ) {
		if( is_user_alive( id ) ) {
			client_print(id, print_center, "%L", id, "DR_BLOCK_SPRAY");
			return PLUGIN_HANDLED_MAIN;
		}
	}
	
	return PLUGIN_CONTINUE;
}

public MsgStatusIcon( msg_id, msg_dest, id ) {
	new szIcon[8];
	get_msg_arg_string(2, szIcon, 7);
	
	if( equal(szIcon, "buyzone") ) {
		set_pdata_int( id, OFFSET_BZ, get_pdata_int( id, OFFSET_BZ, 5 ) & ~( 1 << 0 ), 5 );
		
		return PLUGIN_HANDLED;
	}
	
	return PLUGIN_CONTINUE;
}

public fnRestart( )
	set_pcvar_num( g_sv_restart, 1 );

// COLORCHAT
/////////////////////////////////////////////
ColorChat( id, Color:type, const szMessage[], {Float,Sql,Result,_}:... ) {
	if( !get_playersnum() ) return;
	
	new message[256];
	
	switch( type ) {
		case NORMAL: message[0] = 0x01;
		case GREEN: message[0] = 0x04;
		default: message[0] = 0x03;
	}
	
	vformat(message[1], 251, szMessage, 4);
	
	message[192] = '^0';
	
	replace_all( message, 191, "YEL", "^1" );
	replace_all( message, 191, "GRN", "^4" );
	replace_all( message, 191, "TEM", "^3" );
	
	new iTeam, ColorChange, index, MSG_Type;
	
	if( id ) {
		MSG_Type = MSG_ONE_UNRELIABLE;
		index = id;
	} else {
		index = CC_FindPlayer();
		MSG_Type = MSG_BROADCAST;
	}
	
	iTeam = get_user_team( index );
	ColorChange = CC_ColorSelection(index, MSG_Type, type);

	CC_ShowColorMessage(index, MSG_Type, message);
	
	if( ColorChange )
		CC_Team_Info(index, MSG_Type, TeamName[iTeam]);
}

CC_ShowColorMessage( id, type, message[] ) {
	message_begin( type, g_iMsgSayText, _, id );
	write_byte( id );	
	write_string( message );
	message_end();	
}

CC_Team_Info( id, type, team[] ) {
	message_begin( type, g_iMsgTeamInfo, _, id );
	write_byte( id );
	write_string( team );
	message_end( );
	
	return 1;
}

CC_ColorSelection( index, type, Color:Type ) {
	switch( Type ) {
		case RED: return CC_Team_Info(index, type, TeamName[1]);
		case BLUE: return CC_Team_Info(index, type, TeamName[2]);
	}
	
	return 0;
}

CC_FindPlayer() {
	for( new i = 1; i <= g_iMaxplayers; i++ )
		if( gUserConnected[i] )
			return i;
	
	return -1;
}

  • +
  • -
  • 0

#2 naven

    Hero

  • Power User

Reputacja: 204
Profesjonalista

  • Postów:1 088
  • GG:
  • Imię:Adam
  • Lokalizacja:Cieszyn
Offline

Napisano 25.09.2009 21:31

zalacznik

Załączone pliki


  • +
  • -
  • 0

#3 verman

    Profesjonalista

  • Autor tematu
  • Użytkownik

Reputacja: 37
Życzliwy

  • Postów:204
  • GG:
  • Lokalizacja:Bielsko-Biała
Offline

Napisano 26.09.2009 07:27

Oo juz? Widze solidna firma jestes :-). Oby tlyko to działalo. xD
  • +
  • -
  • 0




Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych