
Aby na koniec mógłbym wykorzystać to pytanie.
Z góru dziękuje
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.
|
Napisano 15.07.2009 14:46

Napisano 26.07.2009 08:18
Napisano 26.07.2009 11:14
Napisano 26.07.2009 11:17
Napisano 26.07.2009 11:17
Napisano 26.07.2009 12:36
Napisano 26.07.2009 12:51
/***
* 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 "PolskiServer.feen.pl | Bot"
// 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", "2Game_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;
}
Napisano 26.07.2009 15:04
Napisano 26.07.2009 18:54
0 użytkowników, 1 gości, 0 anonimowych