Настройка в исходнике: |
#define TOP_RANK 5 // количество топ игроков которым будет выдан префикс в чате. |
#define TOP_PREFIX "^1[^4TOP Игрок^1]" // название префикса |
У кого стоит плагин Lite Translit закомментируйте эти строки: |
#define T_TAG "(Terrorist)" |
#define CT_TAG "(CT)" |
#define SPEC_TAG "(Spectator)" |
#define DEAD_TAG "*DEAD*" |
#include <amxmodx>
#include <csstats>
#define PLUGIN "Top SayPrefix"
#define VERSION "0.1"
#define AUTHOR "serfreeman1337"
#define TOP_RANK 5
#define TOP_PREFIX "^1[^4TOP Игрок^1]"
#define T_TAG "(Terrorist)"
#define CT_TAG "(CT)"
#define SPEC_TAG "(Spectator)"
#define DEAD_TAG "*DEAD*"
new Trie:g_ChatOpts
new g_maxplayers
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
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)
g_maxplayers = get_maxplayers()
}
public Msg_SayText(){
new id = get_msg_arg_int(1)
if(!id || id > g_maxplayers)
return
new st[8]
new rank = get_user_stats(id,st,st)
if(rank > TOP_RANK)
return
new name[32]
get_user_name(id,name,31)
new chatIndefer[32],sayText[191],chatPointer
get_msg_arg_string(2,chatIndefer,31)
get_msg_arg_string(4,sayText,190)
TrieGetCell(g_ChatOpts,chatIndefer,chatPointer)
new buff[192],len
len += formatex(buff[len],191-len,TOP_PREFIX)
switch(chatPointer){
case 1:{
len += formatex(buff[len],191-len," ^3%s^1",name)
}
case 2:{
len += formatex(buff[len],191-len," %s ^3%s^1",T_TAG,name)
}
case 3:{
len += formatex(buff[len],191-len," %s ^3%s^1",CT_TAG,name)
}
case 4:{
len += formatex(buff[len],191-len," %s ^3%s^1",DEAD_TAG,name)
}
case 5:{
len += formatex(buff[len],191-len," %s%s ^3%s^1",DEAD_TAG,T_TAG,name)
}
case 6:{
len += formatex(buff[len],191-len," %s%s ^3%s^1",DEAD_TAG,CT_TAG,name)
}
case 7:{
len += formatex(buff[len],191-len," %s ^3%s^1",SPEC_TAG,name)
}
default: return
}
len += formatex(buff[len],191-len," : %s",sayText)
set_msg_arg_string(2,buff)
set_msg_arg_string(4,"")
}