Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

Lite Rank System

Kasper55
сообщение 25.1.2014, 18:48
Сообщение #1
Стаж: 16 лет

Сообщений: 1145
Благодарности: выкл.

Помогите из него вырезать это allchat , цвет чата админа

Код:
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <csstats>
#include <fakemeta>

new g_AdminGMsg, g_Prefix, g_NoSlesh, g_AllChat

#define MAX_PLAYERS 32
new g_oldrank[MAX_PLAYERS+1]

new gMessage[256]
new gSayText

#define PLUGIN "Lite Rank System"
#define VERSION "1.1"
#define AUTHOR "xoymiii"

#define TASKID_INFO 7777

new MaxPlayers
new PlayerXP[33], PlayerLevel[33], g_MsgHud, g_MsgHud2, levelUp[33]
new g_XPvalue, g_XPheadshot, g_Bomb, g_XPc4def, g_XPc4pl, g_MinPlayers
new g_Levels

new LEVELS[31]
new const CLASSES[][] = { "I_1", "I_1", "I_2", "I_3", "I_4", "I_5", "I_6", "I_7", "I_8", "I_9", "I_10", "I_11", "I_12", "I_13", "I_14", "I_15", "I_16", "I_17", "I_18", "I_19", "I_20", "I_21", "I_22", "I_23", "I_24", "I_25", "I_26", "I_27", "I_28", "I_29", "I_30" }

public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_dictionary("Lite_Rank_System.txt" )

register_event( "DeathMsg","EventDeath", "a")

set_task(1.0, "Info", TASKID_INFO, "", 0, "b")
g_MsgHud = CreateHudSyncObj()
g_MsgHud2 = CreateHudSyncObj()

g_Prefix = register_cvar("lrs_prefix","1")
g_AdminGMsg = register_cvar("lrs_adminchat", "1")
g_NoSlesh = register_cvar("lrs_noslesh","1")
g_AllChat = register_cvar("lrs_chat","1")

g_XPvalue = register_cvar("lrs_xp_value", "1")
g_Bomb = register_cvar("lrs_bomb", "1")
g_MinPlayers = register_cvar("lrs_min_players", "3")
g_XPc4def = register_cvar("lrs_xp_c4def", "3")
g_XPc4pl = register_cvar("lrs_xp_c4pl", "3")
g_XPheadshot = register_cvar("lrs_xp_hs", "1")
g_Levels = register_cvar("lrs_levels", "0 10 20 30 50 100 150 200 250 300 350 400 500 600 700 800 1000 1200 1500 2000 2500 3000 3500 4000 4500 5000 5500 6000 6500 7000")

gSayText = get_user_msgid ("SayText")
register_clcmd("say", "hookSay")
register_clcmd("say_team", "hookSayTeam")

new configsDir[64]
get_configsdir(configsDir, 63)
server_cmd("exec %s/Lite_Rank_System.cfg", configsDir)

MaxPlayers = get_maxplayers()

set_task(0.1, "LoadSettings")
}

public LoadSettings() {
new i
new cvLevels[256], LVL[31][16]
get_pcvar_string(g_Levels, cvLevels, 255)
trim(cvLevels)
parse(cvLevels,
LVL[0], 15, LVL[1], 15, LVL[2], 15, LVL[3], 15, LVL[4], 15, LVL[5], 15, LVL[6], 15, LVL[7], 15, LVL[8], 15, LVL[9], 15,
LVL[10], 15, LVL[11], 15, LVL[12], 15, LVL[13], 15, LVL[14], 15, LVL[15], 15, LVL[16], 15, LVL[17], 15, LVL[18], 15, LVL[19], 15,
LVL[20], 15, LVL[21], 15, LVL[22], 15, LVL[23], 15, LVL[24], 15, LVL[25], 15, LVL[26], 15, LVL[27], 15, LVL[28], 15, LVL[29], 15, LVL[30], 15
)
for (i = 0; i < 30; i++)
LEVELS[i+1] = str_to_num(LVL[i])

return PLUGIN_HANDLED
}

public hookSay(id)
{
if(is_user_hltv(id) || is_user_bot(id) || !is_user_connected(id) || !get_pcvar_num(g_Prefix))
return PLUGIN_CONTINUE;

new message[192],Len
read_args(message, 191)
remove_quotes(message)
if(is_admin_msg(message))
return PLUGIN_CONTINUE

if(is_empty_message(message))
{
ChatColor(id, "^1[^4%L^1] %L",LANG_PLAYER,"LRS_TAG", LANG_PLAYER,"EMPTY_MSG")
return PLUGIN_HANDLED
}
if(get_pcvar_num(g_NoSlesh))
{
if(is_has_slash(message))
return PLUGIN_HANDLED_MAIN
}
new szName[32]
get_user_name(id,szName,31)
if(is_user_admin(id))
{
Len = format(gMessage[Len], charsmax(gMessage) - 1, "^1[^4%L^1] ", LANG_PLAYER, CLASSES[PlayerLevel[id]])
switch(get_pcvar_num(g_AdminGMsg))
{
case 1:
{
Len += format(gMessage[Len], charsmax(gMessage) - 1, "^3%s^1 : ",szName)
Len += format(gMessage[Len], charsmax(gMessage) - 1, "^4%s",message)
}
case 2:
{
Len += format(gMessage[Len], charsmax(gMessage) - 1, "^3%s^1 : ",szName)
Len += format(gMessage[Len], charsmax(gMessage) - 1, "^3%s",message)
}
default:
{
Len += format(gMessage[Len], charsmax(gMessage) - 1, "^3%s^1 : ",szName)
Len += format(gMessage[Len], charsmax(gMessage) - 1, "%s",message)
}
}
Chat(id,0,get_pcvar_num(g_AllChat))
}
else
{
Len = format(gMessage[Len], charsmax(gMessage) - 1, "^1[^4%L^1] ", LANG_PLAYER, CLASSES[PlayerLevel[id]])
Len += format(gMessage[Len], charsmax(gMessage) - 1, "^3%s^1 : ",szName)
Len += format(gMessage[Len], charsmax(gMessage) - 1, "%s",message)
Chat(id,0,get_pcvar_num(g_AllChat))
}
return PLUGIN_HANDLED_MAIN
}

public hookSayTeam(id)
{
if(is_user_hltv(id) || is_user_bot(id) || !is_user_connected(id) || !get_pcvar_num(g_Prefix))
return PLUGIN_CONTINUE;

new message[192],Len
read_args(message, 191)
remove_quotes(message)
if(is_admin_msg(message))
return PLUGIN_CONTINUE

if(is_empty_message(message))
{
ChatColor(id, "^1[^4%L^1] %L",LANG_PLAYER,"LRS_TAG", LANG_PLAYER,"EMPTY_MSG")
return PLUGIN_HANDLED
}
if(get_pcvar_num(g_NoSlesh))
{
if(is_has_slash(message))
return PLUGIN_HANDLED_MAIN
}
new szName[32]
get_user_name(id,szName,31)
if(is_user_admin(id))
{
Len = format(gMessage[Len], charsmax(gMessage) - 1, "^3%L^1 ^1[^4%L^1] ^3%s^1 : ",LANG_PLAYER,"SEND_TEAM",LANG_PLAYER, CLASSES[PlayerLevel[id]],szName)
switch(get_pcvar_num(g_AdminGMsg))
{
case 1:
{
Len += format(gMessage[Len], charsmax(gMessage) - 1, "^4%s",message)
}
case 2:
{
Len += format(gMessage[Len], charsmax(gMessage) - 1, "^3%s",message)
}
default:
{
Len += format(gMessage[Len], charsmax(gMessage) - 1, "%s",message)
}
}
Chat(id,1,get_pcvar_num(g_AllChat))
}
else
{
Len = format(gMessage[Len], charsmax(gMessage) - 1, "^1%L ^1[^4%L^1] ",LANG_PLAYER,"SEND_TEAM",LANG_PLAYER, CLASSES[PlayerLevel[id]])
Len += format(gMessage[Len], charsmax(gMessage) - 1, "^3%s^1 : ",szName)
Len += format(gMessage[Len], charsmax(gMessage) - 1, "%s",message)
Chat(id,1,get_pcvar_num(g_AllChat))
}
return PLUGIN_HANDLED_MAIN
}

stock is_admin_msg(const Message[])
{
if(Message[0] == '@')
return true

return false
}

stock is_empty_message(const Message[])
{
if(equal(Message, "") || !strlen(Message))
return true

return false
}

stock Chat(id,team,chat_type)
{
if(team)
{
if(chat_type)
{
for(new i = 0; i <= MaxPlayers; i++)
{
if(!is_user_connected(i))
continue

if(get_user_team(id) == get_user_team(i))
send_message(gMessage, id, i)
}
} else {
if(is_user_alive(id))
{
for(new i = 0; i <= MaxPlayers; i++)
{
if(!is_user_connected(i) || !is_user_alive(i))
continue

if(get_user_team(id) == get_user_team(i))
send_message(gMessage, id, i)
}
} else if(!is_user_alive(id)){
for(new i = 0; i <= MaxPlayers; i++)
{
if(!is_user_connected(i) || is_user_alive(i))
continue

if(get_user_team(id) == get_user_team(i))
send_message(gMessage, id, i)
}
}
}
} else{
if(chat_type)
{
for(new i = 0; i <= MaxPlayers; i++)
{
if(!is_user_connected(i))
continue

send_message(gMessage, id, i)
}
} else {
if(is_user_alive(id))
{
for(new i = 0; i <= MaxPlayers; i++)
{
if(!is_user_connected(i) || !is_user_alive(i))
continue

send_message(gMessage, id, i)
}
} else if(!is_user_alive(id)){
for(new i = 0; i <= MaxPlayers; i++)
{
if(!is_user_connected(i) || is_user_alive(i))
continue

send_message(gMessage, id, i)
}
}
}
}
}

stock send_message(const message[], const id, const i)
{
message_begin(MSG_ONE, gSayText, {0, 0, 0}, i)
write_byte(id)
write_string(message)
message_end()
}

stock is_has_slash(const Message[])
{
if(Message[0] == '/')
return true

return false
}

public checkLvl(id) {
if(id > 0 && id < 33) {
if (PlayerLevel[id] <= 0)
PlayerLevel[id] = 1
if (PlayerLevel[id] < 30) {
while(PlayerXP[id] >= LEVELS[PlayerLevel[id]+1]) {
PlayerLevel[id]++
levelUp[id] = 1
new Name[32]
get_user_name(id, Name, 31)
if(cs_get_user_team(id) == CS_TEAM_T)
ChatColor(0, "%L %L", LANG_PLAYER,"LRS_TAG", LANG_PLAYER,"NEW_LEVEL", Name, LANG_PLAYER,CLASSES[PlayerLevel[id]])
else
ChatColor(0, "%L %L", LANG_PLAYER,"LRS_TAG", LANG_PLAYER,"NEW_LEVEL", Name, LANG_PLAYER,CLASSES[PlayerLevel[id]])
}
}
}
}

public EventDeath() {
new iVictim = read_data(2)
new iTeam = get_user_team(iVictim)
new iKiller = read_data(1)
new headshot = read_data(3)
if(iKiller != iVictim && get_user_team(iKiller) != iTeam && is_user_connected(iKiller) && PlayerLevel[iKiller] < 30) {
if (get_pcvar_num(g_XPheadshot)) {
if(headshot)
PlayerXP[iKiller] += get_pcvar_num(g_XPvalue) * 2
else
PlayerXP[iKiller] += get_pcvar_num(g_XPvalue)
}
else
PlayerXP[iKiller] += get_pcvar_num(g_XPvalue)

checkLvl(iKiller)
}
return PLUGIN_CONTINUE
}

public bomb_explode(id)
{
if(!is_user_connected(id) || !is_user_alive(id) || get_user_team(id) != 1 || get_pcvar_num(g_XPc4pl) < 1 || get_pcvar_num(g_Bomb) != 1)
return

if(get_playersnum() <= get_pcvar_num(g_MinPlayers))
{
ChatColor(id, "%L", LANG_PLAYER,"MIN_PLAYERS")
} else {
PlayerXP[id] += get_pcvar_num(g_XPc4pl)
}
}

public bomb_defused(id)
{
if(!is_user_connected(id) || !is_user_alive(id) || get_user_team(id) != 2 || get_pcvar_num(g_XPc4def) < 1 || get_pcvar_num(g_Bomb) != 1)
return

if(get_playersnum() <= get_pcvar_num(g_MinPlayers))
{
ChatColor(id, "%L", LANG_PLAYER,"MIN_PLAYERS")
} else {
PlayerXP[id] += get_pcvar_num(g_XPc4def)
}
}

public Info() {
for(new id = 1; id <= MaxPlayers; id++) {
if(!is_user_bot(id) && is_user_connected(id)) {
static buffer[192], len
static buffer2[192], len2

new osef[8]
g_oldrank[id] = get_user_stats(id, osef, osef)
new maxrank = get_statsnum()

if(!is_user_alive(id)) {
new id2 = pev(id, pev_iuser2)
if(id2 > 0) {
new Name2[32]
get_user_name(id2, Name2, 31)
if(PlayerLevel[id2] < 30) {
len2 = format(buffer2, charsmax(buffer2), "%L: %s", LANG_PLAYER,"A_NAME", Name2)
len2 += format(buffer2[len2], charsmax(buffer2) - len2, "^n%L:", LANG_PLAYER,"ZVANIE")
len2 += format(buffer2[len2], charsmax(buffer2) - len2, " %L", LANG_PLAYER,CLASSES[PlayerLevel[id2]])
len2 += format(buffer2[len2], charsmax(buffer2) - len2, "^n%L: %d", LANG_PLAYER,"PL_XP",PlayerXP[id2])
len2 += format(buffer2[len2], charsmax(buffer2) - len2, "^n%L: %d", LANG_PLAYER,"RANK", g_oldrank[id2])
}
else {
len2 = format(buffer2, charsmax(buffer2), "%L: %s", LANG_PLAYER,"A_NAME", Name2)
len2 += format(buffer2[len2], charsmax(buffer2) - len2, "^n%L:",LANG_PLAYER,"ZVANIE")
len2 += format(buffer2[len2], charsmax(buffer2) - len2, " %L",LANG_PLAYER,CLASSES[PlayerLevel[id2]])
len2 += format(buffer2[len2], charsmax(buffer2) - len2, "^n%L: %L",LANG_PLAYER,"PL_XP", LANG_PLAYER,"PL_MAX")
len2 += format(buffer2[len2], charsmax(buffer2) - len2, "^n%L: %d", LANG_PLAYER,"RANK", g_oldrank[id2])
}
}
else {
if(PlayerLevel[id] < 30) {
len2 = format(buffer2, charsmax(buffer2) - len2, "%L: %L", LANG_PLAYER,"ZVANIE", LANG_PLAYER,CLASSES[PlayerLevel[id]])
len2 += format(buffer2[len2], charsmax(buffer2) - len2, "^n%L: %d",LANG_PLAYER,"PL_XP",PlayerXP[id])
len2 += format(buffer2[len2], charsmax(buffer2) - len2, "^n%L: %d", LANG_PLAYER,"RANK", g_oldrank[id])
}
else {
len2 = format(buffer2, charsmax(buffer2) - len2, "%L: %L", LANG_PLAYER,"ZVANIE", LANG_PLAYER,CLASSES[PlayerLevel[id]])
len2 += format(buffer2[len2], charsmax(buffer2) - len2, "^n%L",LANG_PLAYER,"PL_MAX")
len2 += format(buffer2[len2], charsmax(buffer2) - len2, "^n%L: %d", LANG_PLAYER,"RANK", g_oldrank[id])
}
}
set_hudmessage(255, 255, 255, 0.60, 0.76, 0, 0.0, 1.0, _, _, -1)
ShowSyncHudMsg(id, g_MsgHud2, "%s", buffer2)
}
else {
if((PlayerLevel[id] < 30) && (is_user_alive(id))) {
len = format(buffer, charsmax(buffer), "%L", LANG_PLAYER,CLASSES[PlayerLevel[id]])
len += format(buffer[len], charsmax(buffer) - len, " | %L: %d %L %d", LANG_PLAYER,"PL_XP",PlayerXP[id], LANG_PLAYER,"IZ", LEVELS[PlayerLevel[id]+1])
len += format(buffer[len], charsmax(buffer) - len, " | %L: %d %L %d", LANG_PLAYER,"RANK", g_oldrank[id], LANG_PLAYER,"IZ", maxrank)
}
else {
len = format(buffer, charsmax(buffer), "%L",LANG_PLAYER,CLASSES[PlayerLevel[id]])
len += format(buffer[len], charsmax(buffer) - len, " | %L: %L",LANG_PLAYER,"PL_XP", LANG_PLAYER,"PL_MAX")
len += format(buffer[len], charsmax(buffer) - len, " | %L: %d %L %d", LANG_PLAYER,"RANK", g_oldrank[id], LANG_PLAYER,"IZ", maxrank)
}
set_hudmessage(0, 255, 255, 0.01, 0.90, 0, 0.0, 1.0, _, _, -1)
ShowSyncHudMsg(id, g_MsgHud, "%s", buffer)
}
}
}
return PLUGIN_CONTINUE
}

public client_putinserver(id) {
set_task(0.1, "load_client_data", id)
}

public load_client_data(id) {
if(!is_user_connected(id))
return PLUGIN_HANDLED

new stats[8], bodyhits[8], stats2[4]
get_user_stats(id, stats, bodyhits)

if (get_pcvar_num(g_XPc4def))
get_user_stats2(id, stats2)

if (get_pcvar_num(g_XPheadshot))
PlayerXP[id] = ((stats[2]*2 + (stats[0] - stats[2])) + (stats2[1]*3 + stats2[3]*3)) * get_pcvar_num(g_XPvalue)
else
PlayerXP[id] = (stats2[1]*3 + stats2[3]*3 + stats[0]) * get_pcvar_num(g_XPvalue)

for(new i = 1; i <= 30; i++) {
if (i < 30) {
if (PlayerXP[id] >= LEVELS[i] && PlayerXP[id] < LEVELS[i+1])
PlayerLevel[id] = i
}
else {
if (PlayerXP[id] >= LEVELS[30])
PlayerLevel[id] = 30
}
}
return PLUGIN_HANDLED
}

/*public plugin_natives()
register_native("get_user_lvl", "native_get_user_lvl", 1)

public native_get_user_lvl(id)
return PlayerLevel[id]
*/
stock ChatColor(const id, const input[], any:...)
{
new count = 1, players[32]
static msg[191]
vformat(msg, 190, input, 3)

replace_all(msg, 190, "!g", "^4") // Green Color
replace_all(msg, 190, "!y", "^1") // Default Color
replace_all(msg, 190, "!t", "^3") // Team Color

if (id) players[0] = id; else get_players(players, count, "ch")
{
for (new i = 0; i < count; i++)
{
if (is_user_connected(players[i]))
{
message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i])
write_byte(players[i]);
write_string(msg);
message_end();
}
}
}
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: