Code: Select all
#include <amxmodx>#include <amxmisc> #include <aes_main> #define PLUGIN "AES: CSTRIKE Say Tag"#define VERSION "0.1.1"#define AUTHOR "serfreeman1337" // ???????ו????ףי?ו ק???? ????ק?? ??ההו??ף Colored Translit v. 3.0 (http://c-s.net.ua/forum/topic25056.html)//#define USE_COLOREDTRANSLIT new g_Levels[33][36] #if !defined USE_COLOREDTRANSLIT#define T_TAG "(Terrorist)"#define CT_TAG "(CT)"#define SPEC_TAG "(Spectator)"#define DEAD_TAG "*DEAD*" #define ADMIN_PREFIX ADMIN_BAN#define VIP_PREFIX ADMIN_LEVEL_H#define PREFIX_STEAM "^1[^4STEAM^1]" new Trie:g_ChatOptsnew g_maxplayers#else#include <colored_translit>#endif public plugin_init(){ register_plugin(PLUGIN, VERSION, AUTHOR) #if !defined USE_COLOREDTRANSLIT register_message(get_user_msgid("SayText"),"Msg_SayText") g_ChatOpts = TrieCreate() TrieSetCell(g_ChatOpts,"#Cstrike_Chat_All",1) TrieSetCell(g_ChatOpts,"#Cstrike_Chat_T",2) TrieSetCell(g_ChatOpts,"#Cstrike_Chat_CT",3) TrieSetCell(g_ChatOpts,"#Cstrike_Chat_AllDead",4) TrieSetCell(g_ChatOpts,"#Cstrike_Chat_T_Dead",5) TrieSetCell(g_ChatOpts,"#Cstrike_Chat_CT_Dead",6) TrieSetCell(g_ChatOpts,"#Cstrike_Chat_AllSpec",7) TrieSetCell(g_ChatOpts,"#Cstrike_Chat_Spec",8) g_maxplayers = get_maxplayers() #endif} public aes_player_levelup(id,newlevel){ aes_get_level_name(newlevel,g_Levels[id],35)} public aes_player_leveldown(id,newlevel){ aes_get_level_name(newlevel,g_Levels[id],35)} public client_disconnect(id) g_Levels[id][0] = 0 #if !defined USE_COLOREDTRANSLITpublic Msg_SayText(MsgID,MsgDEST,MsgENT){ if(MsgDEST != MSG_ONE) return new id = get_msg_arg_int(1) if(!id || id > g_maxplayers) return if(!g_Levels[id][0]){ new aStats[AES_ST_END] aes_get_player_stats(id,aStats) aes_get_level_name(aStats[AES_ST_LEVEL],g_Levels[id],35) } new name[32] get_user_name(id,name,31) new chatIndefer[191],sayText[191],chatPointer,paramsCount get_msg_arg_string(2,chatIndefer,190) TrieGetCell(g_ChatOpts,chatIndefer,chatPointer) paramsCount = get_msg_args() if(chatPointer && paramsCount == 4){ get_msg_arg_string(4,sayText,190) new buff[191],len if(get_user_flags(id) & ADMIN_PREFIX) { len += formatex(buff[len],190-len,"^1[^4ADMIN^1] [^4%s^1]",g_Levels[id]) } else if(get_user_flags(id) & VIP_PREFIX) { len += formatex(buff[len],190-len,"^1[^4VIP^1] [^4%s^1]",g_Levels[id]) } else { len += formatex(buff[len],190-len,"^1[^4%s^1]",g_Levels[id]) } switch(chatPointer){ case 1:{ len += formatex(buff[len],190-len," ^3%s^1",name) } case 2:{ len += formatex(buff[len],190-len," %s ^3%s^1",T_TAG,name) } case 3:{ len += formatex(buff[len],190-len," %s ^3%s^1",CT_TAG,name) } case 4:{ len += formatex(buff[len],190-len," %s ^3%s^1",DEAD_TAG,name) } case 5:{ len += formatex(buff[len],190-len," %s%s ^3%s^1",DEAD_TAG,T_TAG,name) } case 6:{ len += formatex(buff[len],190-len," %s%s ^3%s^1",DEAD_TAG,CT_TAG,name) } case 7,8:{ len += formatex(buff[len],190-len," %s ^3%s^1",SPEC_TAG,name) } default: return } len += formatex(buff[len],190-len," : %s",sayText) set_msg_arg_string(2,buff) set_msg_arg_string(4,"") }else{ formatex(sayText,190,"^1[^4%s^1] %s",g_Levels[id],chatIndefer) set_msg_arg_string(2,sayText) if(paramsCount == 4) set_msg_arg_string(4,"") }}#elsepublic ct_message_format(id){ if(!g_Levels[id][0]){ new aStats[AES_ST_END] aes_get_player_stats(id,aStats) aes_get_level_name(aStats[AES_ST_LEVEL],g_Levels[id],35) } new levelPrefix[46] formatex(levelPrefix,45,"^1[^4%s^1]",g_Levels[id]) ct_add_to_msg(CT_MSGPOS_PREFIX,levelPrefix)}#endif

Code: Select all
stock bool:is_user_steam(id){ server_cmd("dp_clientinfo %d", id) server_exec(); return get_pcvar_num(get_cvar_pointer("dp_r_id_provider"))==2?true:false;