Beje dar servo problemele kodel serveris nustato automatiskai visada ex_interp 0.1 nors niekur nera irasytu ex_interp 0.1 padekit!!!

Code: Select all
#include <amxmodx>#include <amxmisc>#include <nvault>#include <cstrike>#include <csx> new const g_iLevelMinKills[ ] ={ 0, 3, 6, 9} const LEVELS = sizeof( g_iLevelMinKills ); new const g_szLevelName[ LEVELS ][ ] ={ "Newbie", "Semi-Pro", "Pro", "Veteran"} #define MAX_PLAYERS 32 new g_iKills[ MAX_PLAYERS + 1 ];new g_iLevel[ MAX_PLAYERS + 1 ]; new g_hVault; new g_iMsgID_SayText; new g_iAdminChatFlag = ADMIN_ALL; public plugin_init(){ register_plugin( "Kills Counter", "0.0.1", "Exolent" ); register_clcmd( "say", "CmdSay" ); register_clcmd( "say_team", "CmdSayTeam" ); g_hVault = nvault_open( "KillsCounter" ); g_iMsgID_SayText = get_user_msgid( "SayText" ); new szCommand[ 32 ], iFlags; for( new i = 0; get_concmd( i, szCommand, charsmax( szCommand ), iFlags, "", 0, 0, -1 ); i++ ) { if( equal( szCommand, "amx_chat" ) ) { g_iAdminChatFlag = iFlags; break; } }} public plugin_end(){ nvault_close( g_hVault );} public client_putinserver( iPlayer ){ static SzName[ 32 ]; get_user_name( iPlayer, SzName, charsmax( SzName ) ); static iKills; if( ( iKills = nvault_get( g_hVault, SzName ) ) ) { g_iKills[ iPlayer ] = iKills; g_iLevel[ iPlayer ] = GetLevel( iKills ); }} public client_disconnect( iPlayer ){ static SzName[ 32 ]; get_user_name( iPlayer, SzName, charsmax( SzName ) ); static szKills[ 16 ]; num_to_str( g_iKills[ iPlayer ], szKills, charsmax( szKills ) ); nvault_set( g_hVault, SzName, szKills ); g_iKills[ iPlayer ] = g_iLevel[ iPlayer ] = 0;} public client_death( iKiller, iVictim, iWeapon, iHitPlace, bTK ){ if( !bTK && iKiller != iVictim && iWeapon != CSW_C4 ) { g_iLevel[ iKiller ] = GetLevel( ++g_iKills[ iKiller ] ); }} public CmdSay( iPlayer ){ if( !is_user_connected( iPlayer ) ) { return PLUGIN_HANDLED_MAIN; } new szArgs[ 194 ]; if( !IsValidMessage( iPlayer, false, szArgs, charsmax( szArgs ) ) ) { return PLUGIN_HANDLED_MAIN; } new iAlive = is_user_alive( iPlayer ); new CsTeams:iTeam = cs_get_user_team( iPlayer ); new iPlayers[ 32 ], iNum; get_players( iPlayers, iNum ); new szName[ 32 ]; get_user_name( iPlayer, szName, charsmax( szName ) ); new const szPrefixes[ 2 ][ CsTeams ][ ] = { { "^1*DEAD*", "^1*DEAD*", "^1*DEAD*", "^1*SPEC*" }, { "", "", "", "" } }; new szMessage[ 192 ]; formatex( szMessage, charsmax( szMessage ), "%s^4 [%s]^3 %s^1 : %s", szPrefixes[ iAlive ][ iTeam ], g_szLevelName[ g_iLevel[ iPlayer ] ], szName, szArgs ); new iTarget; for( new i = 0; i < iNum; i++ ) { iTarget = iPlayers[ i ]; if( iTarget == iPlayer || ( iAlive || is_user_connected( iTarget ) ) && is_user_alive( iTarget ) == iAlive ) { message_begin( MSG_ONE_UNRELIABLE, g_iMsgID_SayText, _, iTarget ); write_byte( iPlayer ); write_string( szMessage ); message_end( ); } } return PLUGIN_HANDLED_MAIN;} public CmdSayTeam( iPlayer ){ if( !is_user_connected( iPlayer ) ) { return PLUGIN_HANDLED_MAIN; } new szArgs[ 194 ]; if( !IsValidMessage( iPlayer, true, szArgs, charsmax( szArgs ) ) ) { return PLUGIN_HANDLED_MAIN; } new iAlive = is_user_alive( iPlayer ); new CsTeams:iTeam = cs_get_user_team( iPlayer ); new iPlayers[ 32 ], iNum; get_players( iPlayers, iNum ); new szName[ 32 ]; get_user_name( iPlayer, szName, charsmax( szName ) ); new const szPrefixes[ 2 ][ CsTeams ][ ] = { { "(Spectator)", "*DEAD*(Terrorist)", "*DEAD*(Counter-Terrorist)", "(Spectator)" }, { "(Spectator)", "(Terrorist)", "(Counter-Terrorist)", "(Spectator)" } }; new szMessage[ 192 ]; formatex( szMessage, charsmax( szMessage ), "^1%s^4 [%s]^3 %s^1 : %s", szPrefixes[ iAlive ][ iTeam ], g_szLevelName[ g_iLevel[ iPlayer ] ], szName, szArgs ); for( new i = 0, iTeammate; i < iNum; i++ ) { iTeammate = iPlayers[ i ]; if( iTeammate == iPlayer || ( iAlive || is_user_connected( iTeammate ) ) && is_user_alive( iTeammate ) == iAlive && cs_get_user_team( iTeammate ) == iTeam ) { message_begin( MSG_ONE_UNRELIABLE, g_iMsgID_SayText, _, iTeammate ); write_byte( iPlayer ); write_string( szMessage ); message_end( ); } } return PLUGIN_HANDLED_MAIN;} bool:IsValidMessage( iPlayer, bool:bTeamSay, szMessage[ ], iLen ){ read_args( szMessage, iLen ); remove_quotes( szMessage ); new iPos, cChar, i; while( ( cChar = szMessage[ iPos++ ] ) == '@' ) { i++; } if( ( bTeamSay ? ( i == 1 ) : ( 1 <= i <= 3 ) ) && !access( iPlayer, g_iAdminChatFlag ) ) { return false; } while( 0 <= ( cChar = szMessage[ iPos++ ] ) <= 255 ) { if( cChar != ' ' && cChar != '%' ) { return true; } } return false;} GetLevel( iKills ){ for( new i = LEVELS - 1; i >= 0; i-- ) { if( iKills >= g_iLevelMinKills[ i ] ) { return i; } } return 0;}
Code: Select all
#include <amxmodx>#include <amxmisc>#include <nvault>#include <cstrike>#include <csx> new const g_iLevelMinKills[ ] ={ 0, 3, 6, 9, 12, 15, 18, 21, 24, 27} const LEVELS = sizeof( g_iLevelMinKills ); new const g_szLevelName[ LEVELS ][ ] ={ "Newbie", "Semi-Pro", "Pro", "Veteran", "Rankas5", "Rankas6", "Rankas7", "Rankas8", "Rankas9", "Rankas10"} #define MAX_PLAYERS 32 new g_iKills[ MAX_PLAYERS + 1 ];new g_iLevel[ MAX_PLAYERS + 1 ]; new g_hVault; new g_iMsgID_SayText; new g_iAdminChatFlag = ADMIN_ALL; public plugin_init(){ register_plugin( "Kills Counter", "0.0.1", "Exolent" ); register_clcmd( "say", "CmdSay" ); register_clcmd( "say_team", "CmdSayTeam" ); g_hVault = nvault_open( "KillsCounter" ); g_iMsgID_SayText = get_user_msgid( "SayText" ); new szCommand[ 32 ], iFlags; for( new i = 0; get_concmd( i, szCommand, charsmax( szCommand ), iFlags, "", 0, 0, -1 ); i++ ) { if( equal( szCommand, "amx_chat" ) ) { g_iAdminChatFlag = iFlags; break; } }} public plugin_end(){ nvault_close( g_hVault );} public client_putinserver( iPlayer ){ static SzName[ 32 ]; get_user_name( iPlayer, SzName, charsmax( SzName ) ); static iKills; if( ( iKills = nvault_get( g_hVault, SzName ) ) ) { g_iKills[ iPlayer ] = iKills; g_iLevel[ iPlayer ] = GetLevel( iKills ); }} public client_disconnect( iPlayer ){ static SzName[ 32 ]; get_user_name( iPlayer, SzName, charsmax( SzName ) ); static szKills[ 16 ]; num_to_str( g_iKills[ iPlayer ], szKills, charsmax( szKills ) ); nvault_set( g_hVault, SzName, szKills ); g_iKills[ iPlayer ] = g_iLevel[ iPlayer ] = 0;} public client_death( iKiller, iVictim, iWeapon, iHitPlace, bTK ){ if( !bTK && iKiller != iVictim && iWeapon != CSW_C4 ) { g_iLevel[ iKiller ] = GetLevel( ++g_iKills[ iKiller ] ); }} public CmdSay( iPlayer ){ if( !is_user_connected( iPlayer ) ) { return PLUGIN_HANDLED_MAIN; } new szArgs[ 194 ]; if( !IsValidMessage( iPlayer, false, szArgs, charsmax( szArgs ) ) ) { return PLUGIN_HANDLED_MAIN; } new iAlive = is_user_alive( iPlayer ); new CsTeams:iTeam = cs_get_user_team( iPlayer ); new iPlayers[ 32 ], iNum; get_players( iPlayers, iNum ); new szName[ 32 ]; get_user_name( iPlayer, szName, charsmax( szName ) ); new const szPrefixes[ 2 ][ CsTeams ][ ] = { { "^1*DEAD*", "^1*DEAD*", "^1*DEAD*", "^1*SPEC*" }, { "", "", "", "" } }; new szMessage[ 192 ]; formatex( szMessage, charsmax( szMessage ), "%s^4 [%s]^3 %s^1 : %s", szPrefixes[ iAlive ][ iTeam ], g_szLevelName[ g_iLevel[ iPlayer ] ], szName, szArgs ); new iTarget; for( new i = 0; i < iNum; i++ ) { iTarget = iPlayers[ i ]; if( iTarget == iPlayer || ( iAlive || is_user_connected( iTarget ) ) && is_user_alive( iTarget ) == iAlive ) { message_begin( MSG_ONE_UNRELIABLE, g_iMsgID_SayText, _, iTarget ); write_byte( iPlayer ); write_string( szMessage ); message_end( ); } } return PLUGIN_HANDLED_MAIN;} public CmdSayTeam( iPlayer ){ if( !is_user_connected( iPlayer ) ) { return PLUGIN_HANDLED_MAIN; } new szArgs[ 194 ]; if( !IsValidMessage( iPlayer, true, szArgs, charsmax( szArgs ) ) ) { return PLUGIN_HANDLED_MAIN; } new iAlive = is_user_alive( iPlayer ); new CsTeams:iTeam = cs_get_user_team( iPlayer ); new iPlayers[ 32 ], iNum; get_players( iPlayers, iNum ); new szName[ 32 ]; get_user_name( iPlayer, szName, charsmax( szName ) ); new const szPrefixes[ 2 ][ CsTeams ][ ] = { { "(Spectator)", "*DEAD*(Terrorist)", "*DEAD*(Counter-Terrorist)", "(Spectator)" }, { "(Spectator)", "(Terrorist)", "(Counter-Terrorist)", "(Spectator)" } }; new szMessage[ 192 ]; formatex( szMessage, charsmax( szMessage ), "^1%s^4 [%s]^3 %s^1 : %s", szPrefixes[ iAlive ][ iTeam ], g_szLevelName[ g_iLevel[ iPlayer ] ], szName, szArgs ); for( new i = 0, iTeammate; i < iNum; i++ ) { iTeammate = iPlayers[ i ]; if( iTeammate == iPlayer || ( iAlive || is_user_connected( iTeammate ) ) && is_user_alive( iTeammate ) == iAlive && cs_get_user_team( iTeammate ) == iTeam ) { message_begin( MSG_ONE_UNRELIABLE, g_iMsgID_SayText, _, iTeammate ); write_byte( iPlayer ); write_string( szMessage ); message_end( ); } } return PLUGIN_HANDLED_MAIN;} bool:IsValidMessage( iPlayer, bool:bTeamSay, szMessage[ ], iLen ){ read_args( szMessage, iLen ); remove_quotes( szMessage ); new iPos, cChar, i; while( ( cChar = szMessage[ iPos++ ] ) == '@' ) { i++; } if( ( bTeamSay ? ( i == 1 ) : ( 1 <= i <= 3 ) ) && !access( iPlayer, g_iAdminChatFlag ) ) { return false; } while( 0 <= ( cChar = szMessage[ iPos++ ] ) <= 255 ) { if( cChar != ' ' && cChar != '%' ) { return true; } } return false;} GetLevel( iKills ){ for( new i = LEVELS - 1; i >= 0; i-- ) { if( iKills >= g_iLevelMinKills[ i ] ) { return i; } } return 0;}
Code: Select all
{ 0, 3, 6, 9, 12, 15, 18, 21, 24, 27}
Users browsing this forum: Amazon [Bot] and 2 guests