Code: Select all
#1
DeathRunManager by xPaw 3.03...
L 07/01/2012 - 14:073: Start of error session.
L 07/01/2012 - 14:073: Info (map "deathrun_forest2_final") (file "addons/amxmodx/logs/error_20120701.log")
L 07/01/2012 - 14:073: [CSTRIKE] Invalid player 9
L 07/01/2012 - 14:073: [AMXX] Displaying debug trace (plugin "DeathrunManager.amxx")
L 07/01/2012 - 14:073: [AMXX] Run time error 10: native error (native "cs_get_user_team")
L 07/01/2012 - 14:073: [AMXX] [0] textYoVwep.sma::EventDeath (line 476)
Mai face bug si daca iese tero :-j , si in chat apar numele exemplu:Cartof / is now terorist cu / pus :| , desi am [ro] selectat in data/lang
sma
- | Afiseaza codul
/*** * 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 // Comment this line if you do not want to have fake player ! // #define FAKE_PLAYER // Bot name #if defined FAKE_PLAYER new const g_szBotName[ ] = "DRM Fake Player"; #endif // Messages prefix new const g_szPrefix[ ] = "[ Deathrun ]"; // Global Variables new bool:g_bHauntedHouse, bool:g_bGamerFun, bool:g_bRandromized, bool:g_bStarting, bool:g_bFirstRound; new bool:g_bEnabled, bool:g_bRestart, bool:g_bConnected[ 33 ]; new g_pRemoveBuyZone, g_pHideHuds, g_pBlockMoney, g_pLifeSystem, g_pSvRestart, g_pAutoBalance, g_pLimitTeams; new g_pNoFallDmg, g_pGameName, g_pToggle, g_pBlockSpray, g_pBlockRadio, g_pSemiclip, g_pGiveUsp, g_pBlockKill; new g_iMsgHideWeapon, g_iMsgCrosshair, g_iMsgMoney, g_iMsgTeamInfo, g_iMsgSayText; new g_iMaxplayers, g_iHudSync, g_iHudSync2, g_iLastTerr, g_iThinker; new g_iSemiClip[ 33 ], g_Lifes[ 33 ]; #if defined FAKE_PLAYER new g_iFakeplayer; #endif // 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( ) { new const VERSION[ ] = "3.0.3"; register_plugin( "Deathrun Manager", VERSION, "xPaw" ); g_pToggle = register_cvar( "deathrun_toggle", "1" ); g_pBlockSpray = register_cvar( "deathrun_spray", "1" ); g_pBlockRadio = register_cvar( "deathrun_radio", "1" ); g_pBlockKill = register_cvar( "deathrun_blockkill", "1" ); g_pBlockMoney = register_cvar( "deathrun_blockmoney", "1" ); g_pSemiclip = register_cvar( "deathrun_semiclip", "1" ); g_pGiveUsp = register_cvar( "deathrun_giveusp", "1" ); g_pHideHuds = register_cvar( "deathrun_hidehud", "1" ); g_pLifeSystem = register_cvar( "deathrun_lifesystem", "1" ); g_pGameName = register_cvar( "deathrun_gamename", "1" ); g_pNoFallDmg = register_cvar( "deathrun_terrnfd", "1" ); g_pRemoveBuyZone = register_cvar( "deathrun_removebz", "1" ); // Lets get map name... new szMapName[ 64 ]; get_mapname( szMapName, 63 ); if( contain( szMapName, "deathrun_" ) != -1 ) { set_pcvar_num( g_pToggle, 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_pToggle, 0 ); g_pSvRestart = get_cvar_pointer( "sv_restart" ); g_pAutoBalance = get_cvar_pointer( "mp_autoteambalance" ); g_pLimitTeams = 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( "EventRoundStart", 2, "1=Round_Start" ); register_logevent( "EventRandromize", 2, "1=Round_End" ); register_event( "SendAudio", "EventTerrsWin", "a", "2&%!MRAD_terwin" ); register_event( "TextMsg", "EventRandromize", "a", "2&#Game_w" ); register_event( "DeathMsg", "EventDeath", "a"); register_event( "Money", "EventMoney", "b" ); register_event( "ResetHUD", "EventResetHud", "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_iHudSync = CreateHudSyncObj( ); g_iHudSync2 = CreateHudSyncObj( ); if( get_pcvar_num( g_pToggle ) ) { RegisterHam( Ham_TakeDamage, "player", "FwdHamPlayerDamage" ); RegisterHam( Ham_Spawn, "player", "FwdHamPlayerSpawn", 1 ); register_forward( FM_ClientKill, "FwdClientKill" ); register_impulse( 201, "FwdImpulse_201" ); if( get_pcvar_num( g_pGameName ) ) register_forward( FM_GetGameDescription, "FwdGameDesc" ); register_clcmd( "say /lifes", "CmdShowlifes" ); register_clcmd( "say /lives", "CmdShowlifes" ); register_clcmd( "radio1", "CmdRadio" ); register_clcmd( "radio2", "CmdRadio" ); register_clcmd( "radio3", "CmdRadio" ); // Terrorist Check g_iThinker= create_entity( "info_target" ); if( is_valid_ent( g_iThinker ) ) { entity_set_string( g_iThinker, EV_SZ_classname, "DeathrunThinker" ); entity_set_float( g_iThinker, EV_FL_nextthink, get_gametime( ) + 20.0 ); g_bRestart = true; // First think will happen in 20.0, Restart will be done there. register_think( "DeathrunThinker", "FwdThinker" ); } else { set_task( 15.0, "CheckTerrorists", _, _, _, "b" ); // Lets make restart after 20 seconds from map start. set_task( 20.0, "RestartRound" ); } if( get_pcvar_num( g_pRemoveBuyZone ) ) { 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" ); DispatchKeyValue( iEntity, "buying", "3" ); DispatchSpawn( iEntity ); } if( get_pcvar_num( g_pSemiclip ) ) { register_forward( FM_StartFrame, "FwdStartFrame", 0 ); register_forward( FM_AddToFullPack, "FwdFullPack", 1 ); } g_bEnabled = true; #if defined FAKE_PLAYER new iEntity, iCount; while( ( iEntity = find_ent_by_class( iEntity, "info_player_deathmatch" ) ) > 0 ) if( iCount++ > 1 ) break; if( iCount <= 1 ) g_iFakeplayer = -1; set_task( 5.0, "UpdateBot" ); register_message( get_user_msgid( "DeathMsg" ), "MsgDeathMsg" ); #endif } else g_bEnabled = false; } // FAKEPLAYER /////////////////////////////////////////// #if defined FAKE_PLAYER public UpdateBot( ) { if( g_iFakeplayer == -1 ) return; new id = find_player( "i" ); if( !id ) { id = engfunc( EngFunc_CreateFakeClient, g_szBotName ); 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, g_szBotName, "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; } } } public MsgDeathMsg( const iMsgId, const iMsgDest, const id ) { if( get_msg_arg_int( 2 ) == g_iFakeplayer ) return PLUGIN_HANDLED; return PLUGIN_CONTINUE; } #endif // NEW TERRORIST /////////////////////////////////////////// public EventRandromize( ) { if( !g_bEnabled || 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, "%s^4 %L", g_szPrefix, iPlayers[ i ], "DR_NOW_TERR", szName); if( !g_bRestart && is_valid_ent( g_iThinker ) ) entity_set_float( g_iThinker, EV_FL_nextthink, get_gametime( ) + 15.0 ); } else { g_bRandromized = false; EventRandromize( ); } return PLUGIN_CONTINUE; } // NEW ROUND /////////////////////////////////////////// public EventRoundStart( ) { if( !g_bEnabled ) 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_iHudSync, "%L", iPlayers[ i ], "DR_NOT_ENOUGH" ); return PLUGIN_CONTINUE; } set_pcvar_num( g_pAutoBalance, 0 ); set_pcvar_num( g_pLimitTeams, 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_iHudSync, "%L", iPlayers[ i ], "DR_STARTING" ); ColorChat( iPlayers[ i ], RED, "%s^1 %L", g_szPrefix, iPlayers[ i ], "DR_STARTING_CC" ); } if( is_valid_ent( g_iThinker ) ) { g_bRestart = true; entity_set_float( g_iThinker, EV_FL_nextthink, get_gametime( ) + 9.0 ); } else set_task( 9.0, "RestartRound" ); g_bStarting = true; g_bFirstRound = false; } return PLUGIN_CONTINUE; } // CHECK TERRORIST /////////////////////////////////////////// public FwdThinker( iEntity ) { if( g_bRestart ) { g_bRestart = false; RestartRound( ); } else CheckTerrorists( ); entity_set_float( iEntity, EV_FL_nextthink, get_gametime( ) + 15.0 ); } public CheckTerrorists( ) { if( !g_bEnabled || 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_iHudSync, "%L", iPlayers[ i ], "DR_NOT_ENOUGH" ); return PLUGIN_CONTINUE; } if( iTerrors == 0 ) { for( i = 0; i < iNum; i++ ) { ColorChat(iPlayers[ i ], RED, "%s^1 %L", g_szPrefix, 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, "EventRandromize" ); } return PLUGIN_CONTINUE; } // LIFE SYSTEM /////////////////////////////////////////// public EventTerrsWin( ) { if( !g_bEnabled || 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_pLifeSystem ); 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 EventDeath( ) { if( !g_bEnabled ) return PLUGIN_CONTINUE; #if defined FAKE_PLAYER new iVictim = read_data( 2 ); new iTeam = get_user_team( iVictim ); if( iTeam == 1 && is_user_alive( g_iFakeplayer ) ) fakedamage( g_iFakeplayer, "worldspawn", 100.0, DMG_GENERIC ); if( !get_pcvar_num( g_pLifeSystem ) ) return PLUGIN_CONTINUE; #else if( !get_pcvar_num( g_pLifeSystem ) ) return PLUGIN_CONTINUE; new iVictim = read_data( 2 ); new iTeam = get_user_team( iVictim ); #endif new iKiller = read_data( 1 ); if( iKiller != iVictim && get_user_team(iKiller) != iTeam ) g_Lifes[iKiller]++; 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, "%s^1 %L", g_szPrefix, iVictim, "DR_LIFE_RESPAWN" ); } /*else ColorChat( iVictim, RED, "%s^1 %L", g_szPrefix, iVictim, "DR_LIFE_CANT" );*/ } return PLUGIN_CONTINUE; } public fnRevivePlayer( id ) { if( g_bConnected[ 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_pLifeSystem ) == 0 ) { ColorChat( id, RED, "%s^1 %L", g_szPrefix, id, "DR_LIFE_DISABLE" ); return PLUGIN_HANDLED; } if( g_Lifes[ id ] > 0 ) ColorChat( id, RED, "%s^1 %L", g_szPrefix, id, "DR_LIFE_CC_COUNT", g_Lifes[ id ] ); else ColorChat( id, RED, "%s^1 %L", g_szPrefix, 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_iHudSync2, "%L", id, "DR_LIFE_COUNT", g_Lifes[ id ] ); else ShowSyncHudMsg( id, g_iHudSync2, "%L", id, "DR_LIFE_NO" ); } // EVENTS /////////////////////////////////////////// public EventResetHud( id ) { if( g_bEnabled && get_pcvar_num( g_pHideHuds ) && !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 EventMoney( id ) { if( g_bEnabled && get_pcvar_num( g_pBlockMoney ) ) { 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 ) g_bConnected[ id ] = true; public client_disconnect( id ) { g_bConnected[ id ] = false; CheckTerrorists( ); if( !g_bRestart && is_valid_ent( g_iThinker ) ) entity_set_float( g_iThinker, EV_FL_nextthink, get_gametime( ) + 15.0 ); #if defined FAKE_PLAYER if( g_iFakeplayer == id ) { set_task( 1.5, "UpdateBot" ); g_iFakeplayer = 0; } #endif } // SEMICLIP /////////////////////////////////////////// public FwdFullPack( es, e, ent, host, flags, player, pSet ) { if( !g_bEnabled ) 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_bEnabled ) return FMRES_IGNORED; static iPlayers[ 32 ], iNum, iPlayer, iPlayer2, i, j; get_players( iPlayers, iNum, "ache", "CT" ); arrayset( g_iSemiClip, 0, 32 ); if( iNum <= 1 ) return FMRES_IGNORED; for( i = 0; i < iNum; i++ ) { iPlayer = iPlayers[ i ]; for( j = 0; j < iNum; j++ ) { iPlayer2 = iPlayers[ j ]; if( iPlayer == iPlayer2 ) continue; if( g_iSemiClip[ iPlayer ] && g_iSemiClip[ iPlayer2 ] ) continue; if( entity_range( iPlayer, iPlayer2 ) < 128 ) { g_iSemiClip[ iPlayer ] = true; g_iSemiClip[ iPlayer2 ] = true; } } } for( i = 0; i < iNum; i++ ) { iPlayer = iPlayers[ i ]; set_pev( iPlayer, pev_solid, g_iSemiClip[ iPlayer ] ? SOLID_NOT : SOLID_SLIDEBOX ); } return FMRES_IGNORED; } // FORWARDS /////////////////////////////////////////// public FwdHamPlayerSpawn( id ) { if( !g_bEnabled || !is_user_alive( id ) ) return HAM_IGNORED; if( get_pcvar_num( g_pBlockRadio ) ) // thanks to ConnorMcLeod for this good way :) set_pdata_int( id, 192, 0 ); #if defined FAKE_PLAYER 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 { #endif new CsTeams:iTeam = cs_get_user_team( id ); // An small delay for message if( get_pcvar_num( g_pLifeSystem ) != 0 && iTeam == CS_TEAM_CT ) set_task( 0.8, "Showlifes", id ); strip_user_weapons( id ); give_item( id, "weapon_knife" ); set_pdata_int( id, 116, 0 ); // Pickup fix by ConnorMcLeod if( g_bGamerFun && iTeam == CS_TEAM_CT ) give_item( id, "weapon_smokegrenade" ); if( get_pcvar_num( g_pGiveUsp ) && iTeam == CS_TEAM_CT && !g_bHauntedHouse ) set_task( 1.0, "GiveUsp", id ); #if defined FAKE_PLAYER } #endif return HAM_IGNORED; } public GiveUsp( const id ) { if( is_user_alive( id ) ) { give_item( id, "weapon_usp" ); cs_set_user_bpammo( id, CSW_USP, 100 ); } } public FwdGameDesc( ) { static const GameName[ ] = "Deathrun v3.0"; forward_return( FMV_STRING, GameName ); return FMRES_SUPERCEDE; } public FwdClientKill( const id ) { if( !g_bEnabled || !is_user_alive(id) ) return FMRES_IGNORED; if( get_pcvar_num( g_pBlockKill ) || 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( const id ) { if( g_bEnabled && get_pcvar_num( g_pBlockSpray ) ) { if( is_user_alive( id ) ) client_print( id, print_center, "%L", id, "DR_BLOCK_SPRAY" ); return PLUGIN_HANDLED_MAIN; } return PLUGIN_CONTINUE; } public FwdHamPlayerDamage( id, idInflictor, idAttacker, Float:flDamage, iDamageBits ) { if( get_pcvar_num( g_pNoFallDmg ) ) if( iDamageBits & DMG_FALL ) if( get_user_team( id ) == 1 ) return HAM_SUPERCEDE; return HAM_IGNORED; } public MsgStatusIcon( msg_id, msg_dest, id ) { new szIcon[ 8 ]; get_msg_arg_string( 2, szIcon, 7 ); static const BuyZone[ ] = "buyzone"; 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 CmdRadio( id ) { if( get_pcvar_num( g_pBlockRadio ) ) return PLUGIN_HANDLED_MAIN; return PLUGIN_CONTINUE; } public RestartRound( ) set_pcvar_num( g_pSvRestart, 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( g_bConnected[ i ] ) return i; return -1; }
si eventual si deathrun.txt..
- | Afiseaza codul
[ro] DR_NOW_TERR = %s\YEL este acum terorist. DR_STARTING = Incepem in 10 secunde. DR_NO_DETECT = Nu exista niciun terorist, se da restart. DR_NOT_ENOUGH = Nu sunt destui jucatori pentru a incepe Deathrun! DR_STARTING_CC = Incepem in\GRN 10\YEL secunde. DR_LIFE_CC_COUNT = Ai\TEM %i\YEL vieti. DR_LIFE_CC_NO = Nu ai nicio viata, ucide un inamic pentru a castiga una! DR_LIFE_COUNT = Ai %i vieti. DR_LIFE_NO = Nu ai vieti^nUcide un inamic pentru a castiga una! DR_LIFE_DISABLE = Sistemul de vieti este oprit. DR_LIFE_RESPAWN = Vei reinvia in\TEM 3\YEL secunde! DR_LIFE_CANT = Puteai sa fi reinviat dar, toti CT sunt morti! DR_BLOCK_SPRAY = Sunt interzise tatuajele pe acest server! DR_BLOCK_KILL = Nu te poti sinucide! [ru] DR_NOW_TERR = %s\YEL teper' terrorist! DR_STARTING = Nachinaem cherez 10 sekund. DR_NO_DETECT = Terrorist nenajden, restart. DR_NOT_ENOUGH = Nedostatochno igrokov chtoby nachat' igru! DR_STARTING_CC = Nachinaem cherez\GRN 10\YEL sekund. DR_LIFE_CC_COUNT = U tebja\TEM %i\YEL dopolnitel'nyh zhiznej. DR_LIFE_CC_NO = U tebja net dopolnitel'nyh zhiznej, ubej vraga chtoby poluchit' odnu! DR_LIFE_COUNT = U tebja %i dopolnitel'nyh zhiznej. DR_LIFE_NO = U tebja net dopolnitel'nyh zhiznej^nUbej vraga chtoby poluchit' odnu! DR_LIFE_DISABLE = Sistema dopolnitel'nyh zhiznej vykljuchena. DR_LIFE_RESPAWN = Ty budesh respavnut cherez\TEM 3\YEL sekundy! DR_LIFE_CANT = Ty mogby respavnutsja no ne ostalos' drugih zhivih CT! DR_BLOCK_SPRAY = Pol'zovatsja sprejem na jetom servere nel'zja! DR_BLOCK_KILL = Ty nemozhesh ubit' sebja! [de] DR_NOW_TERR = %s\YEL ist jetzt der Terrorist. DR_STARTING = Start in 10 Sekunden. DR_NO_DETECT = Kein Terrorist gefunden, neustart beginnt. DR_NOT_ENOUGH = Nicht genuegend Spieler vorhanden um Deathrun zu Starten DR_STARTING_CC = Start in\GRN 10\YEL Sekunden. DR_LIFE_CC_COUNT = Sie haben\TEM %i\YEL Leben. DR_LIFE_CC_NO = Sie haben kein Leben, toete einen Feind um eines zu bekommen! DR_LIFE_COUNT = Sie haben %i Leben. DR_LIFE_NO = Sie haben kein Leben^ntoete einen Feind um eines zu bekommen! DR_LIFE_DISABLE = Life system ist deaktiviert. DR_LIFE_RESPAWN = Sie werden in \TEM 3\YEL Sekunden wiederbelebt! DR_LIFE_CANT = Sie koennen nicht wiederbelebt werden da alle CTs tot sind! DR_BLOCK_SPRAY = Auf diesem Server ist Sprayen verboten! DR_BLOCK_KILL = Sie koennen sich nicht selbst toeten! [es] DR_NOW_TERR = %s\YEL es ahora el terrorista. DR_STARTING = Empezando en 10 segundos. DR_NO_DETECT = No se ha detectado al terrorista, reiniciando. DR_NOT_ENOUGH = No hay suficientes jugadores para empezar Deathrun! DR_STARTING_CC = Empezando en\GRN 10\YEL segundos. DR_LIFE_CC_COUNT = Tu tienes\TEM %i\YEL vidas. DR_LIFE_CC_NO = No tienes vidas, **** a los enemigos para conseguirlas! DR_LIFE_COUNT = Tu tienes %i vidas. DR_LIFE_NO = Tu no tienes vidas^nMata a los enemigos para conseguirlas! DR_LIFE_DISABLE = Sistema de vidas desactivado. DR_LIFE_RESPAWN = Tu seras revivido en\TEM 3\YEL segundos! DR_LIFE_CANT = Tu deberias ser revivido ahora, pero todos los CTs estan muertos! DR_BLOCK_SPRAY = Los spray's no estan permitidos en este servidor! DR_BLOCK_KILL = No puedes suicidarte! [en] DR_NOW_TERR = %s\YEL is now the terrorist. DR_STARTING = Starting in 10 seconds. DR_NO_DETECT = No terrorist detected, restarting now. DR_NOT_ENOUGH = Not enough players to start Deathrun! DR_STARTING_CC = Starting in\GRN 10\YEL seconds. DR_LIFE_CC_COUNT = You have\TEM %i\YEL lifes. DR_LIFE_CC_NO = You dont have lifes, kill enemy to get one! DR_LIFE_COUNT = You have %i lifes. DR_LIFE_NO = You dont have lifes^nKill enemy to get one! DR_LIFE_DISABLE = Life system is disabled. DR_LIFE_RESPAWN = You will be respawned in\TEM 3\YEL seconds! DR_LIFE_CANT = You could be respawned but all CT's are dead now! DR_BLOCK_SPRAY = Spray's not allowed on this server! DR_BLOCK_KILL = You can't kill yourself! [sv] DR_NOW_TERR = %s\YEL 'a'r nu terroristen. DR_STARTING = B'o'rjar om 10 sekunder. DR_NO_DETECT = Ingen terrorist hittad, startar om nu. DR_NOT_ENOUGH = Inte tillr'a'ckligt med spelare f'o'r att starta Deathrun. DR_STARTING_CC = B'o'rjar om\GRN 10\YEL sekunder. DR_LIFE_CC_COUNT = Du har\TEM %i\YEL liv. DR_LIFE_CC_NO = Du har inga liv, d'o'da en fiende f'o'r att fa ett. DR_LIFE_COUNT = Du har %i liv. DR_LIFE_NO = Du har inga liv^nD'o'da en fiende f'o'r att fa ett! DR_LIFE_DISABLE = Liv funktionen 'a'r av. DR_LIFE_RESPAWN = Du kommer att bli aterupplivad om\TEM 3\YEL sekunder! DR_LIFE_CANT = Du kunde bli aterupplivad men alla CT's 'a'r d'o'da. DR_BLOCK_SPRAY = Sprej 'a'r inte tillaten pa den h'a'r servern. DR_BLOCK_KILL = Du kan inte d'o'da dig sj'a'lv. [bp] DR_NOW_TERR = %s\YEL e agora o terrorista. DR_STARTING = A comecar em 10 segundos. DR_NO_DETECT = Nenhum terrorista detectado, a reiniciar. DR_NOT_ENOUGH = Nao ha jogadores suficientes para comecar a Deathrun! DR_STARTING_CC = A comecar em\GRN 10\YEL segundos. DR_LIFE_CC_COUNT = Tens\TEM %i\YEL vidas. DR_LIFE_CC_NO = Nao tens vidas, **** os teus inimigos para as obteres! DR_LIFE_COUNT = Tens %i vidas. DR_LIFE_NO = Nao tens vidas^**** os teus inimigos para as obteres! DR_LIFE_DISABLE = O sistema de vidas esta desactivado. DR_LIFE_RESPAWN = Vais renascer em \TEM 3\YEL segundos! DR_LIFE_CANT = Tu poderias renascer mas, todos os CT's estao mortos! DR_BLOCK_SPRAY = Nao sao permitidos sprays neste servidor! DR_BLOCK_KILL = Nao te podes matar! [nl] DR_NOW_TERR = %s\YEL is nu een terrorist. DR_STARTING = Het spel zal starten in 10 seconden. DR_NO_DETECT = Geen terroristen gedetecteerd, spel herstart nu. DR_NOT_ENOUGH = Niet genoeg spelers om DeathRun te spelen! DR_STARTING_CC = Het spel start in\GRN 10\YEL seconden. DR_LIFE_CC_COUNT = Je hebt\TEM %i\YEL levens. DR_LIFE_CC_NO = Je hebt geen levens, vermoord tegenstanders om er te krijgen! DR_LIFE_COUNT = Jij hebt %i levens. DR_LIFE_NO = Je hebt geen levens^nVermoord spelers om er te krijgen! DR_LIFE_DISABLE = Levens systeem is uitgeschakeld. DR_LIFE_RESPAWN = Je zal terug tot leven komen in\TEM 3\YEL seconden! DR_LIFE_CANT = Je zou jezelf kunnen tot leven wekken maar alle CTs zijn dood! DR_BLOCK_SPRAY = Sprays zijn niet toegestaan in deze server! DR_BLOCK_KILL = Je kan jezelf niet vermoorden! [pl] DR_NOW_TERR = %s\YEL zostal terrorysta. DR_STARTING = Zaczynamy zabawe za 10 sekund. DR_NO_DETECT = Brakuje terrorysty, wymagany restart. DR_NOT_ENOUGH = Zbyt malo graczy! Zapros kolegow ;-) DR_STARTING_CC = Zaczynamy zabawe za\GRN 10\YEL sekund. DR_LIFE_CC_COUNT = You have\TEM %i\YEL lifes. DR_LIFE_CC_NO = Nie posiadasz juz dodatkowych zyc, zabij kogos ! DR_LIFE_COUNT = Posiadasz %i zyc. DR_LIFE_NO = Nie masz dodatkowych zyc^nZabij kogos aby je zyskac ! DR_LIFE_DISABLE = System zyc jest wylaczony. DR_LIFE_RESPAWN = Odrodzisz sie w ciagu \TEM 3\YEL sekund! DR_LIFE_CANT = Moglbys zostac odrodzony lecz wszyscy CT sa juz niezywi! DR_BLOCK_SPRAY = Malowanie logajest wylaczone. DR_BLOCK_KILL = Nie mozesz popelnic samobojstwa! [lt] DR_NOW_TERR = %s\YEL dabar teroristas. DR_STARTING = Pradzia po 10 sekundziu. DR_NO_DETECT = Nerastas teroristas, raundas restartuojamas. DR_NOT_ENOUGH = Nepakanka zaideju, kad pradeti DeathRun! DR_STARTING_CC = Pradzia po\GRN 10\YEL sekundziu. DR_LIFE_CC_COUNT = Jus turite\TEM %i\YEL gyvybes. DR_LIFE_CC_NO = Jus neturite gyvybiu, nusaukite priesa, kad gautumet viena! DR_LIFE_COUNT = Jus turite %i gyvybe. DR_LIFE_NO = Jus neturite gyvybiu^nNusaukite priesininka, kad gautumet viena! DR_LIFE_DISABLE = Gyvybiu sistema isjungta.. DR_LIFE_RESPAWN = Jus prisikelsite po\TEM 3\YEL sekundziu! DR_LIFE_CANT = Jus galite prisikelti, bet visi CT yra negyvi! DR_BLOCK_SPRAY = Spray logo neleistini siame serveryje! DR_BLOCK_KILL = Jus negalite uzmusti saves! [sk] DR_NOW_TERR = %s\YEL je teraz Terorista. DR_STARTING = Zaciname o 10 sekund. DR_NO_DETECT = Nenaslo ziadneho teroristu, restartujem hru. DR_NOT_ENOUGH = Nedostatocny pocet pre zacatie Deathrun modu! DR_STARTING_CC = Zaciname o\GRN 10\YEL sekund. DR_LIFE_CC_COUNT = Tvoje zivoty: \TEM %i\YEL DR_LIFE_CC_NO = Nemas zivoty. Zabi nepriatela pre ziskanie jedneho. DR_LIFE_COUNT = Tvoje zivoty: %i. DR_LIFE_NO = Nemas zivoty^n! Zabi nepriatela pre ziskanie jedneho. DR_LIFE_DISABLE = Ziskavanie zivotov vypnute. DR_LIFE_RESPAWN = Budes respavnovany o\TEM 3\YEL sekund! DR_LIFE_CANT = Mozes byt respavnuty, ale vsetci CT su teraz mrtvi! DR_BLOCK_SPRAY = Na tomto servery nie su povolene spray loga! DR_BLOCK_KILL = Nemozes zabit sam seba! [sr] DR_NOW_TERR = %s\YEL je sada Terrorist. DR_STARTING = Igra pocinje za 10 sekundi. DR_NO_DETECT = Nema terorista, RESTART. DR_NOT_ENOUGH = Nema dovoljno igraca za DeathRun. DR_STARTING_CC = Startuje se za\GRN 10\YEL Sekundi ! DR_LIFE_CC_COUNT = Ti imas\TEM %i\YEL zivota.. DR_LIFE_CC_NO = Ti nemas zivota, ubi nekoga da uzmes jedan! DR_LIFE_COUNT = Ti imas %i zivota. DR_LIFE_NO = Ti nemas zivota^ potrebno ti je da ubijes nekoga da bi uzeo zivot. DR_LIFE_DISABLE = Life sistem je iskljucen. DR_LIFE_RESPAWN = Ti ces se oziveti za\TEM 3\YEL sekunde! DR_LIFE_CANT = Mogao bi da se ozivis, ali CT team je mrtav. DR_BLOCK_SPRAY = Sprej/Potpis nije dozvoljen na ovom serveru. DR_BLOCK_KILL = Ti se ne mozes ubiti! [bg] DR_NOW_TERR = %s\YEL sega e terorista. DR_STARTING = Igrata zapochva sled 10 sekundi. DR_NO_DETECT = Nqma terorist, restartirane na igrata. DR_NOT_ENOUGH = Nqma dostatachno igrachi, za da zapochne DeathRun! DR_STARTING_CC = Igrata zapochva sled\GRN 10\YEL sekundi. DR_LIFE_CC_COUNT = Imash\TEM %i\YEL jivota. DR_LIFE_CC_NO = Nqmash jivoti, ubii vrag, za da poluchish edin! DR_LIFE_COUNT = Imash %i jivota. DR_LIFE_NO = Nqmash jivoti.^nUbii vrag, za da poluchish edin! DR_LIFE_DISABLE = Sistemata s jivoti e izkliuchena. DR_LIFE_RESPAWN = Shte badesh sajiven sled\TEM 3\YEL sekundi! DR_LIFE_CANT = Mojesh da badesh sujiven, no vsichki teroristi sa martvi! DR_BLOCK_SPRAY = Spreq ne e pozvolen v servera! DR_BLOCK_KILL = Ne mojesh da se samoubiesh! [fr] DR_NOW_TERR = %s\YEL est transfere en terroriste. DR_STARTING = Depart dans 10 secondes. DR_NO_DETECT = Pas de terroriste detecte! Restart immediat. DR_NOT_ENOUGH = Pas de joueur pour demmarrer la deathrun! DR_STARTING_CC = Depart dans\GRN 10\YEL secondes. DR_LIFE_CC_COUNT = Tu as\TEM %i\YEL vies. DR_LIFE_CC_NO = Tu n'as pas de vie, Tue un ennemie pour en avoir une! DR_LIFE_COUNT = Tu as %i vies. DR_LIFE_NO = Tu n'as pas de vie,^nTue un ennemie pour en avoir une! DR_LIFE_DISABLE = Le systeme de vie est actif. DR_LIFE_RESPAWN = Tu ressucite dans\TEM 3\YEL secondes! DR_LIFE_CANT = Tu ne peux revivre maintenant car tout les CT's sont morts! DR_BLOCK_SPRAY = Les Tags sont interdits sur ce serveur! DR_BLOCK_KILL = Tu ne peux pas te suicider! [cz] DR_NOW_TERR = %s\YEL je nyni terrorista. DR_STARTING = Zacina se za 10 sekund. DR_NO_DETECT = Zadny terrorista nebyl nalezen, nyni probehne restart. DR_NOT_ENOUGH = Neni dostatecne hracu pro start Deathrun-u! DR_STARTING_CC = Zacina se za\GRN 10\YEL sekund. DR_LIFE_CC_COUNT = Mas\TEM %i\YEL zivotu. DR_LIFE_CC_NO = Nemas zadne zivoty, zabij nepritele pro ziskani jednoho! DR_LIFE_COUNT = Mas %i zivotu. DR_LIFE_NO = Nemas zadne zivoty^nzabij nepritele pro ziskani jednoho! DR_LIFE_DISABLE = System s zivoty je vypnuty. DR_LIFE_RESPAWN = Budes respawnuty za\TEM 3\YEL sekund! DR_LIFE_CANT = Mohl by si byt respawnuty, ale vischni CT jsou ted mrtvy! DR_BLOCK_SPRAY = Spreje nejsou povoleny na tomto serveru! DR_BLOCK_KILL = Nemuzes se sam zabit! [tr] DR_NOW_TERR = %s\YEL simdi terrorist. DR_STARTING = 10 saniye icinde baslayacak. DR_NO_DETECT = Terrorist bulunamad, restart atiliyor. DR_NOT_ENOUGH = Deathrun'un baslamasi icin yeterli oyuncu yok! DR_STARTING_CC = \GRN 10\YEL saniye icinde baslayacak. DR_LIFE_CC_COUNT = \TEM %i\YEL yeniden dogma hakkina sahipsin. DR_LIFE_CC_NO = Yeniden dogma hakkin yok,bir tane kazanmak icin dusman oldur! DR_LIFE_COUNT = %i yeniden dogma hakkina sahipsin. DR_LIFE_NO = Yeniden dogma hakkin yok^nBir tane kazanmak icin dusman oldur! DR_LIFE_DISABLE = Yeniden dogma sistemi kapali. DR_LIFE_RESPAWN = \TEM 3\YEL saniye icinde yeniden dogacaksin! DR_LIFE_CANT = Butun CT'ler olu oldugu icin yeniden dogma hakkini kullanamiyorsun! DR_BLOCK_SPRAY = Bu serverda sprey kullanimi kapatilmis! DR_BLOCK_KILL = Kendinizi olduremezsiniz! [lv] DR_NOW_TERR = %s\YEL tagad ir terorists. DR_STARTING = Starts 10 sekundees. DR_NO_DETECT = Nav teroristu, buus restarts. DR_NOT_ENOUGH = Nav pietiekami speeletaaju l-ai saaktu DeathRun! DR_STARTING_CC = Starts\GRN 10\YEL sekundees. DR_LIFE_CC_COUNT = Tev ir\TEM %i\YEL dziiviibas. DR_LIFE_CC_NO = Tev nav dziiviibu, nogalini kaadu! DR_LIFE_COUNT = Tev ir %i dziiviibas. DR_LIFE_NO = Tev nav dziiviibu^nNogalini pretiniueku l-ai sanemtu kaadu! DR_LIFE_DISABLE = Dziivibu sisteema ir atsleegta. DR_LIFE_RESPAWN = Tu atdziivosies\TEM 3\YEL sekundees! DR_LIFE_CANT = Tu vareetu atdziivoties, bet visi CT ir mirusi! DR_BLOCK_SPRAY = Smidizinaatajs nav atlauts saja serverii! DR_BLOCK_KILL = Tu nevari sevi nogalinaat! [et] DR_NOW_TERR = %s\YEL on jargmine terrorist! DR_STARTING = Deathrun algab 10 sekundi jooksul. DR_NO_DETECT = Terroristi pole leitud, toimub restart. DR_NOT_ENOUGH = Pole piisavalt mangijaid, et alustada Deathrunni. DR_STARTING_CC = Deathrun algab\GRN 10\YEL jooksul. DR_LIFE_CC_COUNT = Sul on\TEM %i\YEL elu. DR_LIFE_CC_NO = Sul ei ole elusi, tapa vaenlasi, et saada neid! DR_LIFE_COUNT = Sul on %i elu. DR_LIFE_NO = Sul ei ole elusi^nTapa vaenlasi, et saada neid! DR_LIFE_DISABLE = Elu susteem keelatud. DR_LIFE_RESPAWN = Sa taassunnid\TEM 3\YEL sekundi jooksul! DR_LIFE_CANT = Sa oleksid taassundinud aga kqik CT-d on surnud! DR_BLOCK_SPRAY = Spray on keelatud! DR_BLOCK_KILL = Sa ei saa iseennast tappa!