Заявки за rank system-и

Ако искате да поръчате да ви намерим определено нещо, без да става дума за коментиране, пишете тук.
User avatar
robertocavalli98
Потребител
Потребител
Posts: 18
Joined: 05 Sep 2016, 16:10

Re: Заявки за rank system-и

Post by robertocavalli98 »

[Newbie Bhopper] 0-15
[Bhopper] 15-30
[Ultra Bhopper 30-50
[Advanced Bhopper] 50-100
[Supernova Bhopper] 100-160
[Ultimate Bhopper] 160-250
[Bhopper] 250-330
[Pro Bhopper] 330-400
[Rapid] 400-480
[Rambo] 480-600
[Terminator] 600-850
[Invincible] 850-1000

Admin Prefix
[Head admin] - флаг „n“
[server admin] - флаг „o“
[SMS ADMIN] - флаг „p“
[V.I.P] - флаг „q“
[Staff Admin] "s"

Да ми пише и admin prefix и rankа
Пример:[Head Admin] [Terminator] Nick : kfo staa
Префикс-зелен
Префикса на ранка да е в зелено
Име-Червено
Чат-сиво
Името според отбора ако съм T червен ако CT син!
User avatar
CloudNine
Потребител
Потребител
Posts: 8
Joined: 24 Nov 2016, 19:33

Re: Заявки за rank system-и

Post by CloudNine »

Code: Select all

#include <amxmodx>
#include <amxmisc>  
#include <cstrike>
#include <chatcolor>
#include <fvault>

#define MaxLevels 20
#define IsPlayer(%1) (1 <= %1 <=  g_iMaxPlayers)

new gMaxPlayers, gMsgSayText, syncObj, Level[33], eXP[33]
new ranks_hud, knife_xp, he_xp, hs_xp, kill_xp, kill_msg

new const g_vault_name[] = "levelsz";

new const Levels[MaxLevels] = 
{
    0,
    25, 
    50, 
    75, 
    120, 
    180, 
    260, 
    440,
    660,
    880, 
    1000,
    1300,
    1600,
   2000,
   2345,
   2600,
   3200,
   3800,
   4500,
   5000,
   5640
}

new const Prefix[MaxLevels +1][] =
{
    "Newbie", 
    "Advanced",
    "Napredvasht", 
    "Serjant",
    "Starshi Serjant", 
    "Starshina",
    "Maior",
    "Kapitan", 
    "Oficer", 
    "Glaven Oficer",
    "Polkovnik", 
    "Leitenant",
    "Starshi Leitenant", 
    "Brigaden General",
   "General Maior",
   "General Leitenant",
   "General",
   "General na armiqta",
   "Chuck Norris",
    "THE PRO",   
   "THE BEST OF THE SERVER"
   
   
}

public plugin_init() 
{
    register_plugin("Ranks & XP mod", "1.0", "alt.nick")
    
    register_event("DeathMsg","client_death","a") 
    register_clcmd("say", "hook_say")
    register_clcmd("say_team", "hook_say")
    
    register_clcmd("say /rank", "cmdRank")
    register_clcmd("say_team /rank", "cmdRank")
    
    register_clcmd("say /reset", "reset_xp")
    register_clcmd("say_team /reset", "reset_xp")
    
    ranks_hud = register_cvar("ranks_hud", "1")     // Дали да се появява хъд при влизане в сървъра. Включено 1/0 Изключено
    knife_xp = register_cvar("knife_xp", "1")     // Колко ХР да дава за убийство с нож.
    he_xp = register_cvar("he_xp", "1")        // Колко ХР да дава за убийство с Granata (HE).
    hs_xp = register_cvar("hs_xp", "1")        // Колко ХР да дава за убийство с Headshot.
    kill_xp = register_cvar("kill_xp", "1")        // Колко ХР да дава за нормално убийство.    
    kill_msg = register_cvar("kill_msg", "1")    // Дали да показва кой сте убили и колко ХР сте получили. Включено 1/0 Изключено
    
    register_concmd ("amx_give_xp", "CmdAddXP", ADMIN_LEVEL_A, "<nick | ct | t | @all> <xp>")
    
    gMaxPlayers = get_maxplayers()
    gMsgSayText = get_user_msgid("SayText")

    syncObj     = CreateHudSyncObj()
    
    fvault_load(g_vault_name)
}

public ShowHud(id) 
{
    set_hudmessage(142, 239, 39, -1.0, 0.01, 0, 6.0, 1.0, 0.0, 0.0, -1)
    ShowSyncHudMsg(id, syncObj,"Rank: %s ^nXP: %i ^nLevel: %i", Prefix[Level[id]], eXP[id], Level[id])
}

public client_putinserver(id)
{
    if(get_pcvar_num(ranks_hud) == 1)
        set_task(1.0, "ShowHud", id, _, _, "b")
        
    if(Level[id] < MaxLevels-1)
        while(eXP[id] >= Levels[Level[id]])
            Level[id] += 1 
}

public client_death(killer, victim, weapon, hitgroup, TK)
{        
    if(killer == victim)
        return PLUGIN_HANDLED
        
    new Name[20]
    get_user_name(victim, Name, 19)
    new headshot = (hitgroup == HIT_HEAD) ? 1 : 0
    
    if(get_user_team(killer) == 2 && killer != victim)
    {
        switch(weapon) 
        {
            case CSW_HEGRENADE:
            {
                eXP[killer] += get_pcvar_num(he_xp)
                CheckLevel(killer)
                SaveData(killer)
                if(get_pcvar_num(kill_msg) == 1)
                    client_print_color(killer, print_chat, "^4[Ranks]^1 poluchihte^4 %d XP^1 poradi ubiistwoto s^4 HE^1 na ^3%s^1.", get_pcvar_num(he_xp), Name)
            } 
            
            case CSW_KNIFE:
            {
                eXP[killer] += get_pcvar_num(knife_xp)
                CheckLevel(killer)
                SaveData(killer)
                if(get_pcvar_num(kill_msg) == 1)
                    client_print_color(killer, print_chat, "^4[Ranks]^1 poluchihte^4 %d XP^1 poradi ubiistwoto s^4 noj^1 na ^3%s^1.", get_pcvar_num(knife_xp) , Name)
            } 
        }
        
        if(headshot)
        {
            eXP[killer] += get_pcvar_num(hs_xp)
            CheckLevel(killer)
            SaveData(killer)
            if(get_pcvar_num(kill_msg) == 1)
                client_print_color(killer, print_chat, "^4[Ranks]^1 poluchihte^4 2 XP^1 poradi ubiistwoto s^4 HS^1 na ^3%s^1.",get_pcvar_num(hs_xp),  Name)
        }
        else
        {
            eXP[killer] += get_pcvar_num(kill_xp)
            CheckLevel(killer)
            SaveData(killer)
            if(get_pcvar_num(kill_msg) == 1)
                client_print_color(killer, print_chat, "^4[Ranks]^1 poluchihte^4 1 XP^1 poradi ubiistwoto na ^3%s^1.", get_pcvar_num(kill_xp), Name)
        }
    }
    CheckLevel(killer)
    SaveData(killer)
    return PLUGIN_CONTINUE
}

public CheckLevel(id)
{
    if(Level[id] < MaxLevels-1)
        while(eXP[id] >= Levels[Level[id]])
            Level[id] += 1 
}

public client_connect(id)
{
    LoadData(id)
}


public client_disconnect(id)
{
    SaveData(id)
    eXP[id] = 0
    Level[id] = 0
    remove_task(id)
}
        
public reset_xp(id)
{
    if(eXP[id] != 0)
    {
        Level[id] = 0
        eXP[id] = 0
        CheckLevel(id)
        client_print_color(id, print_chat, "^4[Ranks]^1 Yspeshno nulirani washite^4 XP^1 i ^4Level^1.")
    }
    else
        client_print_color(id, print_chat, "^4[Ranks]^1 Washite^4 XP^1 i ^4Level^1 weche sa nulirani.")
}
        
public cmdRank(id)
{
    if(is_user_connected(id))
        client_print_color(id, print_chat, "^4[Ranks]^1 Rank:^4 %s^1 | XP:^4 %d^1 | Level:^4 %d^1.", Prefix[Level[id]], eXP[id], Level[id])
}
        
public CmdAddXP (iPlayer, level, cid)
{
    if(!cmd_access(iPlayer, level, cid, 3)) return PLUGIN_HANDLED;
        
    new arg [32]
    read_argv (1, arg, 31) 
 
    new AddXP [32]
    read_argv (2, AddXP, charsmax (AddXP))
 
    new XPtoGive = str_to_num (AddXP)
        
    new AdminName [32]
    new TargetName [32]
    get_user_name (iPlayer, AdminName, charsmax (AdminName))
        
    if(arg[0]=='@')
    { 
        if(equali(arg[1],"All") || equali(arg[1],"ALL"))
        {
            new players[32], totalplayers, All
            get_players(players, totalplayers)
             
            for (new i = 0; i < totalplayers; i++)
            {
                All = players[i]
                        
                eXP[All] += XPtoGive
            }
            
            CheckLevel(All)
            client_print_color(0, print_chat, "^4[Ranks]^1 ^3%s^1 dade^3 %i^1 XP na vsichki ^3igrachi^1!", AdminName, XPtoGive)
        }
        else if(equali(arg[1],"T") || equali(arg[1],"t"))
        {
            new players[32], totalplayers, T
            get_players(players, totalplayers)
             
            for (new i = 0; i < totalplayers; i++)
            {
                if (get_user_team(players[i]) == 1)
                {
                    T = players[i]
                            
                    eXP[T] += XPtoGive
                }
            }
            
            CheckLevel(T)
            client_print_color(0, print_chat, "^4[Ranks]^1 ^3%s^1 dade^3 %i^1 XP na vsichki ^3 Teroristi^1.", AdminName, XPtoGive)
        }
        else if(equali(arg[1],"CT") || equali(arg[1],"ct"))
        {
            new players[32], totalplayers, CT
            get_players(players, totalplayers)
             
            for(new i = 0; i < totalplayers; i++)
            {
                if(get_user_team(players[i]) == 2)
                {
                    CT = players[i]
                            
                    eXP[CT] += XPtoGive
                }
            }
            
            CheckLevel(CT)
            client_print_color(0, print_chat, "^4[Ranks]^1 ^3%s^1 dade^3 %i^1 XP na wsichki ^3 Kontra-Teroristi^1!", AdminName, XPtoGive)
        }
    }
    else
    {
        new iTarget = cmd_target(iPlayer, arg, 3)
        get_user_name (iTarget, TargetName, charsmax (TargetName))
        
        if(iTarget)
        {
            eXP[iTarget] += XPtoGive
            
            CheckLevel(iTarget)
            client_print_color(0, print_chat, "^4[Ranks]^1 ^3%s^1 dade^3 %i^1 XP na^3 %s^1.", AdminName, XPtoGive, TargetName)
        }
    }
    return PLUGIN_HANDLED
}

bool:IsValidMessage( szMessage[ ], iLen )
{
    read_args( szMessage, iLen )
    remove_quotes( szMessage )
   
    new iPos, cChar
    while( 0 <= ( cChar = szMessage[ iPos++ ] ) <= 255 )
    {
        if( cChar != ' ' && cChar != '%' )
        {
            return true
        }
    }
   
    return false
}

public hook_say(id)
{
    if(!is_user_connected(id)) 
        return PLUGIN_HANDLED_MAIN
    
    new szArgs[192]
    
    if( !IsValidMessage(szArgs, charsmax(szArgs))) 
        return PLUGIN_HANDLED_MAIN

    if(equal(szArgs,"")) return PLUGIN_HANDLED_MAIN

    
    new szName[32]
    get_user_name(id, szName, sizeof szName-1)

    new alive = is_user_alive(id)

    if(contain(szArgs,"@") >= 0) 
    return  PLUGIN_HANDLED_MAIN
 
    format(szArgs, 191, "^x04[^x03%s^x04] ^x03%s^x01 :  %s",  Prefix[Level[id]], szName, szArgs)

    for(new i = 1; i <= gMaxPlayers; i++)
    {
        if(!is_user_connected(i))
            continue
    
        if(alive && is_user_alive(i))
        {
            message_begin(MSG_ONE, gMsgSayText, {0, 0, 0}, i)
            write_byte(id)
            write_string(szArgs)
            message_end()
        } 
        else if(!alive && !is_user_alive(i)) 
        {
            new format[192]
            formatex(format,191,"^x01* DEAD %s",szArgs)
            message_begin(MSG_ONE, gMsgSayText, {0, 0, 0}, i)
            write_byte(id)
            write_string(format)
            message_end()
        }
    }
        
    return PLUGIN_HANDLED_MAIN
}

public SaveData(id)
{
    new name[32];
    get_user_name(id,name,31);
    new vaultkey[64],vaultdata[256];
    
    format(vaultkey,63,"%s", name);
    format(vaultdata,255,"%i#%i#",eXP[id],Level[id]);
    fvault_set_data(g_vault_name,vaultkey,vaultdata);
    
    return PLUGIN_CONTINUE;
}
public LoadData(id)
{
    new name[32];
    get_user_name(id,name,31);
    new vaultkey[64],vaultdata[256];
    
    format(vaultkey,63,"%s",name);
    format(vaultdata,255,"%i#%i#",eXP[id],Level[id]);
    fvault_get_data(g_vault_name,vaultkey,vaultdata,charsmax(vaultdata));
    
    replace_all(vaultdata, 255, "#", " ");
    new playerxp[32], playerlevel[32];
    parse(vaultdata, playerxp, 31, playerlevel, 31);
    
    eXP[id] = str_to_num(playerxp);
    Level[id] = str_to_num(playerlevel);
    
    return PLUGIN_CONTINUE;
}
Cvars:
ranks_hud "1" // Дали да се появява хъд при влизане в сървъра. Включено 1/0 Изключено
knife_xp "1" // Колко ХР да дава за убийство с нож.
he_xp "1" // Колко ХР да дава за убийство с Granata (HE).
hs_xp "1" // Колко ХР да дава за убийство с Headshot.
kill_xp "1" // Колко ХР да дава за нормално убийство.
kill_msg "1" // Дали да показва кой сте убили и колко ХР сте получили. Включено 1/0 Изключено

Команди:
/reset - рестартира хр-то и нивата
/rank - показва информация за ранга, нивото и хр-то

Нужни модули:

Code: Select all

#include <amxmodx>
#include <amxmisc>  
#include <cstrike>
#include <chatcolor>
#include <fvault>
Промени можеш да правиш тук:

Code: Select all

new const Levels[MaxLevels] = 
{
    0,
    25, 
    50, 
    75, 
    120, 
    180, 
    260, 
    440,
    660,
    880, 
    1000,
    1300,
    1600,
   2000,
   2345,
   2600,
   3200,
   3800,
   4500,
   5000,
   5640
User avatar
Marinovv
Потребител
Потребител
Posts: 13
Joined: 22 Jul 2017, 09:09
Favorite version: CS: 1.6
Location: America

Re: Заявки за rank system-и

Post by Marinovv »

Искам следната заявка, ако е възможно, но е малко сложна. Ако е възможно:

Имайте предвид, че може коментара ми да не е точно обяснен. Моля, питайте за въпроси..

За администратори префиксове с цветове:

• според цвета на отбора[Owner] : с флафове abcdefghijklmnopqrstuabcdefghijklmnopqrstu и чата да е в сиво. Пример как го искам// [Owner] :
haha точката нека е жълта или както си е обикновен цвят и нека при други префиксове точката е без оцветяване.

• според цвета на отбора[Help moderator] : с флагове cfebji и чата да е е в сиво. Пример как го иска// [Owner] :
haha

За rank система за потребителите:

[Novobranets] 0 - 500
[Gligan] 200 - 700
[Glupcho] 700 - 1200
[Tarikat] 1200 - 1700
[Biznesmen] 1700 - 2200
[Cherwei] 2200 - 2700
[Profesionalist] 2700 - 3200
[Master PRO] 3200 - 3700
[Finalist VIP] 3700 - 9999
Искам всички за потребителите префиксове да са сиви. Тук обърках един два цвята.
User avatar
Lameraaa
Потребител
Потребител
Posts: 37
Joined: 18 Dec 2011, 13:40
Skype: veski4a_9522
CS Nick: InFy ^ HekPoMaHceP
Favorite version: CS: 1.6

Re: Заявки за rank system-и

Post by Lameraaa »

[Rednik] - 0
[Novak] - 25
[Mladshi Serjant] - 50
[Serjant] - 100
[Starshi Serjant] - 150
[Starshina] - 250
[Mladshi Leitenant] - 300
[Leitenant] - 350
[Starshi Leitenant] - 400
[Kapitan] - 500
[Kapitan Leitenant] - 550
[Maior] - 600
[General Leitenant] - 700
[General Maior] - 735
[General] - 780
[Admiral] - 1500
User avatar
kitin.dll
Потребител
Потребител
Posts: 157
Joined: 02 Jun 2016, 17:52
Skype: zabraih ;(
CS Nick: (*knoxS*)
Favorite version: CS: 1.6

Re: Заявки за rank system-и

Post by kitin.dll »

Lameraaa wrote:[Rednik] - 0
[Novak] - 25
[Mladshi Serjant] - 50
[Serjant] - 100
[Starshi Serjant] - 150
[Starshina] - 250
[Mladshi Leitenant] - 300
[Leitenant] - 350
[Starshi Leitenant] - 400
[Kapitan] - 500
[Kapitan Leitenant] - 550
[Maior] - 600
[General Leitenant] - 700
[General Maior] - 735
[General] - 780
[Admiral] - 1500

Code: Select all

#include             <amxmodx>
#include             <amxmisc>
#include             <cstrike>
#include             <fvault>
#include             <colorchat>
#include             <fakemeta>
#include            <fakemeta_util>
#include             <fun>
#include             <hamsandwich>

#define ADMIN_ONE        ADMIN_LEVEL_A
#define ADMIN_TWO        ADMIN_BAN
#define ADMIN_THREE        ADMIN_LEVEL_B
#define ADMIN_FOUR        ADMIN_LEVEL_C
#define ADMIN_FIVE        ADMIN_RESERVATION
#define ADMIN_SIX        ADMIN_LEVEL_D

#define MaxLevels         16
#define IsPlayer(%1)         (1 <= %1 <=  g_iMaxPlayers)

new MaxPlayers, syncObj, Lvl[33], XP[33], iPrefix
new ranks_hud, knife_xp, he_xp, hs_xp, kill_xp, suicide_xp, killer_msg
new UseAdminPrefixes, UseRankSystem, UseBoth
new HUDR,HUDG,HUDB,HUDX,HUDY, HUDEFFECT
new sayText, teamInfo, szArgs[192], temp_flag[2]
new Vip, VipFlag

new const g_vault_name[] = "ranks";

new const Levels[MaxLevels+1] =
{
0,
25,
50,
100,
150,
250,
300,
350,
400,
500,
550,
600,
700,
735,
780,
1500
}

new const Prefix[MaxLevels][] =
{
"Rednik",
"Novak",
"Mladshi Serjant",
"Serjant",
"Starshi Serjant",
"Starshina",
"Mladshi Leitenant",
"Leitenant",
"Starshi Leitenant",
"Kapitan",
"Kapitan Leitenant",
"Maior",
"General Leitenant",
"General Maior",
"General",
"Admiral"
}

new const szTag[][] = {
    "",
    "Head Admin",                    //Flag from users.ini <m>
    "Server Admin",                  //Flag from users.ini <d>
    "Test Admin",                    //Flag from users.ini <n>
    "Girl Admin",                    //Flag from users.ini <o>
    "V.I.P",                         //Flag from users.ini <b>
    "SmS Admin"                      //Flag from users.ini <p>
}

public plugin_init()
{
    register_plugin("Admin Prefixes & Rank System", "1.1", "YankoNL");
    
    register_clcmd ("say", "hook_say")
    register_clcmd ("say_team", "hook_teamsay")
    
    Vip = register_cvar("Vip_On/Off", "0")
    VipFlag = register_cvar("Vip_Flag", "b")
    
    register_event("DeathMsg","DeathMessage","a")
    
    register_clcmd("say /myrank", "cmdRank")
    register_clcmd("say_team /myrank", "cmdRank")
    register_clcmd("say /xp", "cmdRank")
    register_clcmd("say_team /xp", "cmdRank")

    UseAdminPrefixes = register_cvar("Admin_Prefixes_On/Off", "0")
    UseRankSystem = register_cvar("Rank_Prefixes_On/Off", "1")
    UseBoth = register_cvar("Use_Both_AdminPrefix_Rank", "0")
    
    ranks_hud = register_cvar("ranks_hud", "1")
    iPrefix = register_cvar("rank_prefix", "Ranks");
    knife_xp = register_cvar("knife_xp", "2")
    he_xp = register_cvar("he_grenade_xp", "3")
    hs_xp = register_cvar("headshot_xp", "2")
    kill_xp = register_cvar("kill_xp", "1")
    suicide_xp = register_cvar("suicide_xp", "-1")
    killer_msg = register_cvar("kill_message", "0")
    
    
    HUDR = register_cvar("hud_color_red", "139")
    HUDG = register_cvar("hud_color_green", "0")
    HUDB = register_cvar("hud_color_blue", "139")
    HUDX = register_cvar("hud_position_X", "0.01")
    HUDY = register_cvar("hud_position_Y", "0.14")
    HUDEFFECT = register_cvar("hud_effects", "0")
    
    sayText = get_user_msgid("SayText")
    teamInfo = get_user_msgid("TeamInfo")
    register_message(sayText, "avoid_duplicated")
    
    
    register_concmd ("rank_givexp", "CmdAddXP", ADMIN_LEVEL_A, "<nick | ct | t | @all> <xp>")
    register_concmd ("rank_takexp", "CmdRemoveXP", ADMIN_LEVEL_A, "<nick | ct | t | @all> <xp>")
    
    register_forward( FM_ClientKill, "Fwd_Kill" );
    
    MaxPlayers = get_maxplayers()

    syncObj = CreateHudSyncObj()

    fvault_load(g_vault_name)
}
public getPrefix()
{
    new Prefix[33]
    get_pcvar_string(iPrefix, Prefix, 32)
    return Prefix
}
public ShowHud(id)
{
set_hudmessage(get_pcvar_num(HUDR), get_pcvar_num(HUDG), get_pcvar_num(HUDB), get_pcvar_float(HUDX), get_pcvar_float(HUDY), get_pcvar_num(HUDEFFECT), 6.0, 1.0, 0.0, 0.0, -1)
if(MaxLevels == Lvl[id]+1)
ShowSyncHudMsg(id, syncObj,"Rank: %s^nXP: %d", Prefix[Lvl[id]], XP[id])
else
ShowSyncHudMsg(id, syncObj,"Rank: %s/%s^nXP: %d/%d",Prefix[Lvl[id]], Prefix[Lvl[id]+1], XP[id], Levels[Lvl[id]+1])
}
public cmdRank(id)
{
    if(MaxLevels == Lvl[id]+1)
        ColorChat(id, NORMAL, "^4[%s]^3 My Rank^1:^4 %s^1 | ^3Level^1: ^4%d ^1| ^3XP^1: ^4%d^1.", getPrefix(), Prefix[Lvl[id]], Lvl[id]+1, XP[id])
    else
        ColorChat(id, NORMAL, "^4[%s]^3 My Rank^1:^4 %s^1 | ^3Level^1: ^4%d ^1/ ^4%d ^1| ^3XP^1: ^4 %d ^1/ ^4%d ^1to become ^4%s^1.",getPrefix(), Prefix[Lvl[id]], Lvl[id]+1, MaxLevels, XP[id], Levels[Lvl[id]+1], Prefix[Lvl[id]+1])
}

public client_putinserver(id)
{
if(get_pcvar_num(ranks_hud) == 1)
set_task(1.0, "ShowHud", id, _, _, "b")

new currentPlayerRank = 0;
while(currentPlayerRank < (MaxLevels - 1))
{       
    if(XP[id] >= Levels[currentPlayerRank + 1])
        ++currentPlayerRank;     
    else         
        break;
}
Lvl[id] = currentPlayerRank;
}
public Fwd_Kill(id)
{
    if(is_user_alive(id)) {
        XP[id] -= get_pcvar_num(suicide_xp)
        CheckLevel(id)
        Save(id)
        if(get_pcvar_num(killer_msg) == 1)
            ColorChat(id, RED, "^4[%s]^1 You committed ^3suicide ^1and ^3lost^4 %d XP^1.", getPrefix(),  get_pcvar_num(suicide_xp))

            
        return PLUGIN_CONTINUE
    }
    return PLUGIN_CONTINUE
}

public DeathMessage()
{       
    new killer = read_data(1);
    new victim = read_data(2);
    new headshot = read_data(3);
    new Weapon[ 32 ];
    read_data( 4, Weapon, charsmax( Weapon ) );
    
    format( Weapon, charsmax( Weapon ), "weapon_%s", Weapon );
    
    if( contain( Weapon, "nade" ) >= 0 )
    Weapon = "weapon_hegrenade"
    
    
    new iWeapon = get_weaponid( Weapon );
    
    if(killer == victim)
        return PLUGIN_CONTINUE;
    if(!killer || killer > MaxPlayers)
        return PLUGIN_CONTINUE;
    
    new victim_name[32];
    get_user_name(victim, victim_name, 31);
    
    get_pcvar_string(VipFlag, temp_flag, charsmax(temp_flag));
    
    
    if(iWeapon == CSW_HEGRENADE)
    {
    
        if(get_pcvar_num(Vip) == 1 && get_user_flags(killer) & read_flags(temp_flag)) {
            XP[killer] += get_pcvar_num(he_xp)*2
            CheckLevel(killer)
            Save(killer)
            if(get_pcvar_num(killer_msg) == 1) {
                ColorChat(killer, RED, "^4[%s]^1 You killed ^4%s^1 with ^3HE Grenade^1 and got^4 %d XP^1. [ ^4 V.I.P Bonus 2X^1]" , getPrefix(),victim_name,  get_pcvar_num(he_xp)*2)
                return PLUGIN_CONTINUE
            }
        } else {
            XP[killer] += get_pcvar_num(he_xp)
            CheckLevel(killer)
            Save(killer)
            if(get_pcvar_num(killer_msg) == 1){
                ColorChat(killer, RED, "^4[%s]^1 You killed ^4%s^1 with ^3HE Grenade^1 and got^4 %d XP^1.", getPrefix(),victim_name,  get_pcvar_num(he_xp))
                return PLUGIN_CONTINUE
            }
        }
    }
    if(iWeapon == CSW_KNIFE)
    {
        if(get_pcvar_num(Vip) == 1 && get_user_flags(killer) & read_flags(temp_flag)) {
            XP[killer] += get_pcvar_num(knife_xp)*2
            CheckLevel(killer)
            Save(killer)
            if(get_pcvar_num(killer_msg) == 1) {
                ColorChat(killer, RED, "^4[%s]^1 You killed ^4%s^1 with ^3Knife^1 and got^4 %d XP^1. [ ^4 V.I.P Bonus 2X^1]", getPrefix(),victim_name,  get_pcvar_num(knife_xp)*2)
                return PLUGIN_CONTINUE
            }
        } else {
            XP[killer] += get_pcvar_num(knife_xp)
            CheckLevel(killer)
            Save(killer)
            if(get_pcvar_num(killer_msg) == 1){
                ColorChat(killer, GREY, "^4[%s]^1 You killed ^4%s^1 with ^3Knife^1 and got^4 %d XP^1.", getPrefix(),victim_name, get_pcvar_num(knife_xp))
                return PLUGIN_CONTINUE
            }
        }
    }
    
    
    if(headshot)
    {
        if(get_pcvar_num(Vip) == 1 && get_user_flags(killer) & read_flags(temp_flag)) {
            XP[killer] += get_pcvar_num(hs_xp)*2
            CheckLevel(killer)
            Save(killer)
            if(get_pcvar_num(killer_msg) == 1){
                ColorChat(killer, BLUE, "^4[%s]^1 You killed ^4%s^1 with ^3Head^4Shot^1 and got^4 %d XP^1.[ ^4 V.I.P Bonus 2X^1]", getPrefix(),victim_name, get_pcvar_num(hs_xp)*2)
                return PLUGIN_CONTINUE
            }
        } else {
            XP[killer] += get_pcvar_num(hs_xp)
            CheckLevel(killer)
            Save(killer)
            if(get_pcvar_num(killer_msg) == 1) {
                ColorChat(killer, BLUE, "^4[%s]^1 You killed ^4%s^1 with ^3Head^4Shot^1 and got^4 %d XP^1.", getPrefix(),victim_name, get_pcvar_num(hs_xp))
                return PLUGIN_CONTINUE
            }
        }
    }
    else
    {
        if(get_pcvar_num(Vip) == 1 && get_user_flags(killer) & read_flags(temp_flag)) {
            XP[killer] += get_pcvar_num(kill_xp)*2
            CheckLevel(killer)
            Save(killer)
            if(get_pcvar_num(killer_msg) == 1) {
                ColorChat(killer, NORMAL, "^4[%s]^1 You killed ^4%s^1 and got^4 %d XP^1.[ ^4V.I.P Bonus 2X^1]", getPrefix(),victim_name, get_pcvar_num(kill_xp)*2)
                return PLUGIN_CONTINUE
            }
        } else {
        XP[killer] += get_pcvar_num(kill_xp)
        CheckLevel(killer)
        Save(killer)
        if(get_pcvar_num(killer_msg) == 1){
            ColorChat(killer, RED, "^4[%s]^1 You killed ^4%s^1 and got^4 %d XP^1.", getPrefix(),victim_name, get_pcvar_num(kill_xp))
            return PLUGIN_CONTINUE
            }
        }
    }
    CheckLevel(killer)
    Save(killer)
    return PLUGIN_CONTINUE
}

public CheckLevel(id)
{        
    new currentPlayerRank = 0;
    while(currentPlayerRank < (MaxLevels - 1))
    {       
        if(XP[id] >= Levels[currentPlayerRank + 1])
            ++currentPlayerRank;     
        else         
            break;
    }
    Lvl[id] = currentPlayerRank;
}

public client_connect(id)
{
    Load(id)
}


public client_disconnect(id)
{
    Save(id)
    XP[id] = 0
    Lvl[id] = 0
    remove_task(id)
}

public CmdAddXP (index, level, cid)
{
    if(!cmd_access(index, level, cid, 3)) return PLUGIN_HANDLED;
    
    new arg [32]
    read_argv (1, arg, 31)
    
    new AddXP [32]
    read_argv (2, AddXP, charsmax (AddXP))
    
    new XPtoGive = str_to_num (AddXP)
    
    new AdminName [32]
    new TargetName [32]
    get_user_name (index, AdminName, charsmax (AdminName))
    
    if(arg[0]=='@')
    {
        if(equali(arg[1],"All") || equali(arg[1],"ALL"))
        {
            new players[32], totalplayers, All
            get_players(players, totalplayers)
            
            for (new i = 0; i < totalplayers; i++)
            {
                All = players[i]
                
                XP[All] += XPtoGive
            }
            
            CheckLevel(All)
            ColorChat(0, NORMAL, "^4[%s] ^1ADMIN: ^3%s^1 gave^4 %i XP^1 to everyone!", getPrefix(), AdminName, XPtoGive)
        }
        else if(equali(arg[1],"T") || equali(arg[1],"t"))
        {
            new players[32], totalplayers, T
            get_players(players, totalplayers)
            
            for (new i = 0; i < totalplayers; i++)
            {
                if (get_user_team(players[i]) == 1)
                {
                    T = players[i]
                    
                    XP[T] += XPtoGive
                }
            }
            
            CheckLevel(T)
            ColorChat(0, RED, "^4[%s]^1 ADMIN: ^4%s ^1gave ^4%i XP ^1to all ^3Terrorists^1.", getPrefix(), AdminName, XPtoGive)
        }
        else if(equali(arg[1],"CT") || equali(arg[1],"ct"))
        {
            new players[32], totalplayers, CT
            get_players(players, totalplayers)
            
            for(new i = 0; i < totalplayers; i++)
            {
                if(get_user_team(players[i]) == 2)
                {
                    CT = players[i]
                    
                    XP[CT] += XPtoGive
                }
            }
            
            CheckLevel(CT)
            ColorChat(0, BLUE, "^4[%s]^1ADMIN: ^4%s^1 gave^4 %i XP^1to all ^3Counter-Terrorists^1.", getPrefix(), AdminName, XPtoGive)
        }
    }
    else
    {
        new iTarget = cmd_target(index, arg, 3)
        get_user_name (iTarget, TargetName, charsmax (TargetName))
        
        if(iTarget)
        {
            XP[iTarget] += XPtoGive
            
            CheckLevel(iTarget)
            ColorChat(0, NORMAL, "^4[%s]^1 ADMIN: ^3%s^1 gave^4 %i XP^1 to^4 %s^1.", getPrefix(), AdminName, XPtoGive, TargetName)
        }
    }
    return PLUGIN_HANDLED
}
public CmdRemoveXP (index, level, cid)
{
    if(!cmd_access(index, level, cid, 3)) return PLUGIN_HANDLED;
    
    new arg [32]
    read_argv (1, arg, 31)
    
    new RemoveXP [32]
    read_argv (2, RemoveXP, charsmax (RemoveXP))
    
    new XPtoTook = str_to_num (RemoveXP)
    
    new AdminName [32]
    new TargetName [32]
    get_user_name (index, AdminName, charsmax (AdminName))
    
    if(arg[0]=='@')
    {
        if(equali(arg[1],"All") || equali(arg[1],"ALL"))
        {
            new players[32], totalplayers, All
            get_players(players, totalplayers)
            
            for (new i = 0; i < totalplayers; i++)
            {
                All = players[i]
                
                XP[All] -= XPtoTook
            }
            
            CheckLevel(All)
            ColorChat(0, NORMAL, "^4[%s] ^1ADMIN: ^3%s^1 took^4 %i XP^1 from everyone!", getPrefix(), AdminName, XPtoTook)
        }
        else if(equali(arg[1],"T") || equali(arg[1],"t"))
        {
            new players[32], totalplayers, T
            get_players(players, totalplayers)
            
            for (new i = 0; i < totalplayers; i++)
            {
                if (get_user_team(players[i]) == 1)
                {
                    T = players[i]
                    
                    XP[T] -= XPtoTook
                }
            }
            
            CheckLevel(T)
            ColorChat(0, RED, "^4[%s]^1 ADMIN: ^4%s ^1took ^4%i XP ^1from all ^3Terrorists^1.", getPrefix(), AdminName, XPtoTook)
        }
        else if(equali(arg[1],"CT") || equali(arg[1],"ct"))
        {
            new players[32], totalplayers, CT
            get_players(players, totalplayers)
            
            for(new i = 0; i < totalplayers; i++)
            {
                if(get_user_team(players[i]) == 2)
                {
                    CT = players[i]
                    
                    XP[CT] -= XPtoTook
                }
            }
            
            CheckLevel(CT)
            ColorChat(0, BLUE, "^4[%s]^1ADMIN: ^4%s^1 took^4 %i XP^1from all ^3Counter-Terrorists^1.", getPrefix(), AdminName, XPtoTook)
        }
    }
    else
    {
        new iTarget = cmd_target(index, arg, 3)
        get_user_name (iTarget, TargetName, charsmax (TargetName))
        
        if(iTarget)
        {
            XP[iTarget] -= XPtoTook
            
            CheckLevel(iTarget)
            ColorChat(0, NORMAL, "^4[%s]^1 ADMIN: ^3%s^1 took^4 %i XP^1 from^4 %s^1.", getPrefix(), AdminName, XPtoTook, TargetName)
        }
    }
    return PLUGIN_HANDLED
}

public avoid_duplicated(msgId, msgDest, receiver)
{
    return PLUGIN_HANDLED
}

public hook_say(id)
{
if(!is_user_connected(id)) {
    return PLUGIN_HANDLED_MAIN
}

read_args(szArgs, 191)
remove_quotes(szArgs)
    
// Gungame commands and empty messages
if(szArgs[0] == '@' || szArgs[0] == '/' || szArgs[0] == '!' || szArgs[0] == '#' || szArgs[0] == '$' || equal(szArgs, "")) // Ignores Admin Hud Messages, Admin Slash commands
    return PLUGIN_CONTINUE

new iAlive = is_user_alive(id)
new CsTeams:iTeam = cs_get_user_team(id)

new iPlayers[ 32 ], iNum
get_players(iPlayers, iNum)

new szName[32]
get_user_name(id, szName, sizeof szName-1)

new const szPrefixes[2][CsTeams][] = {
{
    "^1*DEAD* ",
    "^1*DEAD* ",
    "^1*DEAD* ",
    "^1*SPEC* "
},
{
    "",
    "",
    "",
    ""
}
}
if(get_pcvar_num(UseAdminPrefixes) == 1){

set_pcvar_num(UseRankSystem, 0)
set_pcvar_num(UseBoth, 0)

new iAdmin = 0, iFlags = get_user_flags(id)

if(iFlags & ADMIN_ONE)
                iAdmin = 1
else if(iFlags & ADMIN_TWO)
                iAdmin = 2
else if(iFlags & ADMIN_THREE)
                iAdmin = 3
else if(iFlags & ADMIN_FOUR)
                iAdmin = 4
else if(iFlags & ADMIN_FIVE)
                iAdmin = 5
else if(iFlags & ADMIN_SIX)
                iAdmin = 6

    
    
if(iFlags & ADMIN_ONE) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^1[^4%s^1] ^3%s : ^4%s", szPrefixes[iAlive][iTeam],szTag[iAdmin], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^1[^4%s^1] ^3%s : ^4%s", szPrefixes[iAlive][iTeam],szTag[iAdmin], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_TWO) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^1[^4%s^1] ^3%s : ^4%s", szPrefixes[iAlive][iTeam],szTag[iAdmin], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^1[^4%s^1] ^3%s : ^4%s", szPrefixes[iAlive][iTeam],szTag[iAdmin], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_THREE) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^1[^4%s^1] ^3%s : ^4%s", szPrefixes[iAlive][iTeam],szTag[iAdmin], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^1[^4%s^1] ^3%s : ^4%s", szPrefixes[iAlive][iTeam],szTag[iAdmin], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_FOUR) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^1[^4%s^1] ^3%s : ^4%s", szPrefixes[iAlive][iTeam],szTag[iAdmin], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^1[^4%s^1] ^3%s : ^4%s", szPrefixes[iAlive][iTeam],szTag[iAdmin], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_FIVE) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^1[^4%s^1] ^3%s : ^4%s", szPrefixes[iAlive][iTeam],szTag[iAdmin], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^1[^4%s^1] ^3%s : ^4%s", szPrefixes[iAlive][iTeam],szTag[iAdmin], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_SIX) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^1[^4%s^1] ^3%s : ^4%s", szPrefixes[iAlive][iTeam],szTag[iAdmin], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^1[^4%s^1] ^3%s : ^4%s", szPrefixes[iAlive][iTeam],szTag[iAdmin], szName, szArgs)
    }
} else {
if(cs_get_user_team(id) == CS_TEAM_CT) {
    ColorChat(0, BLUE, "%s^1[^4%s^1] ^3%s : ^1%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szName, szArgs)
}else if(cs_get_user_team(id) == CS_TEAM_T) {
    ColorChat(0, RED, "%s^1[^4%s^1] ^3%s : ^1%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szName, szArgs)
    }
}

return PLUGIN_HANDLED_MAIN
}

if(get_pcvar_num(UseRankSystem) == 1){
    
set_pcvar_num(UseAdminPrefixes, 0)
set_pcvar_num(UseBoth, 0)
    
new iFlags = get_user_flags(id)
    
if(iFlags & ADMIN_ONE) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^1[^4%s^1] ^3%s : ^4%s", szPrefixes[iAlive][iTeam],Prefix[Lvl[id]], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^1[^4%s^1] ^3%s : ^4%s", szPrefixes[iAlive][iTeam],Prefix[Lvl[id]], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_TWO) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^1[^4%s^1] ^3%s : ^4%s", szPrefixes[iAlive][iTeam],Prefix[Lvl[id]], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^1[^4%s^1] ^3%s : ^4%s", szPrefixes[iAlive][iTeam],Prefix[Lvl[id]], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_THREE) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^1[^4%s^1] ^3%s : ^4%s", szPrefixes[iAlive][iTeam],Prefix[Lvl[id]], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^1[^4%s^1] ^3%s : ^4%s", szPrefixes[iAlive][iTeam],Prefix[Lvl[id]], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_FOUR) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^1[^4%s^1] ^3%s : ^4%s", szPrefixes[iAlive][iTeam],Prefix[Lvl[id]], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^1[^4%s^1] ^3%s : ^4%s", szPrefixes[iAlive][iTeam],Prefix[Lvl[id]], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_FIVE) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^1[^4%s^1] ^3%s : ^4%s", szPrefixes[iAlive][iTeam],Prefix[Lvl[id]], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^1[^4%s^1] ^3%s : ^4%s", szPrefixes[iAlive][iTeam],Prefix[Lvl[id]], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_SIX) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^1[^4%s^1] ^3%s : ^4%s", szPrefixes[iAlive][iTeam],Prefix[Lvl[id]], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^1[^4%s^1] ^3%s : ^4%s", szPrefixes[iAlive][iTeam],Prefix[Lvl[id]], szName, szArgs)
    }
} else {
if(cs_get_user_team(id) == CS_TEAM_CT) {
    ColorChat(0, BLUE, "%s^1[^4%s^1] ^3%s : ^1%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szName, szArgs)
}else if(cs_get_user_team(id) == CS_TEAM_T) {
    ColorChat(0, RED, "%s^1[^4%s^1] ^3%s : ^1%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szName, szArgs)
    }
}

return PLUGIN_HANDLED_MAIN
}

if(get_pcvar_num(UseBoth) == 1){
    
set_pcvar_num(UseAdminPrefixes, 0)
set_pcvar_num(UseRankSystem, 0)
    
new iAdmin = 0, iFlags = get_user_flags(id)

if(iFlags & ADMIN_ONE)
                iAdmin = 1
else if(iFlags & ADMIN_TWO)
                iAdmin = 2
else if(iFlags & ADMIN_THREE)
                iAdmin = 3
else if(iFlags & ADMIN_FOUR)
                iAdmin = 4
else if(iFlags & ADMIN_FIVE)
                iAdmin = 5
else if(iFlags & ADMIN_SIX)
                iAdmin = 6

    
    
if(iFlags & ADMIN_ONE) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^1[^4%s^1] ^3[^4%s^3] ^3%s : ^4%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szTag[iAdmin], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^1[^4%s^1] ^3[^4%s^3] ^3%s : ^4%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szTag[iAdmin], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_TWO) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^1[^4%s^1] ^3[^4%s^3] ^3%s : ^4%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szTag[iAdmin], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^1[^4%s^1] ^3[^4%s^3] ^3%s : ^4%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szTag[iAdmin], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_THREE) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^1[^4%s^1] ^3[^4%s^3] ^3%s : ^4%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szTag[iAdmin], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^1[^4%s^1] ^3[^4%s^3] ^3%s : ^4%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szTag[iAdmin], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_FOUR) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^1[^4%s^1] ^3[^4%s^3] ^3%s : ^4%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szTag[iAdmin], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^1[^4%s^1] ^3[^4%s^3] ^3%s : ^4%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szTag[iAdmin], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_FIVE) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^1[^4%s^1] ^3[^4%s^3] ^3%s : ^4%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szTag[iAdmin], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^1[^4%s^1] ^3[^4%s^3] ^3%s : ^4%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szTag[iAdmin], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_SIX) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^1[^4%s^1] ^3[^4%s^3] ^3%s : ^4%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szTag[iAdmin], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^1[^4%s^1] ^3[^4%s^3] ^3%s : ^4%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szTag[iAdmin], szName, szArgs)
    }
}  else {
if(cs_get_user_team(id) == CS_TEAM_CT) {
    ColorChat(0, BLUE, "%s^1[^4%s^1] ^3%s : ^1%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szName, szArgs)
}else if(cs_get_user_team(id) == CS_TEAM_T) {
    ColorChat(0, RED, "%s^1[^4%s^1] ^3%s : ^1%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szName, szArgs)
    }
}
return PLUGIN_HANDLED_MAIN
}

if(get_pcvar_num(UseAdminPrefixes) == 0 && get_pcvar_num(UseRankSystem) == 0 && get_pcvar_num(UseBoth) == 0)
{
    if(cs_get_user_team(id) == CS_TEAM_CT) {
    ColorChat(0, NORMAL, "%s^3%s^1: %s", szPrefixes[iAlive][iTeam], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, NORMAL, "%s^3%s^1: %s", szPrefixes[iAlive][iTeam],szName, szArgs)
    }
    
}
return PLUGIN_HANDLED_MAIN
}

public hook_teamsay(id) {
if(!is_user_connected(id)) {
    return PLUGIN_HANDLED_MAIN
}

read_args(szArgs, 191)
remove_quotes(szArgs)
    
// Gungame commands and empty messages
if(szArgs[0] == '@' || szArgs[0] == '/' || szArgs[0] == '!' || szArgs[0] == '#' || szArgs[0] == '$' || equal(szArgs, "")) // Ignores Admin Hud Messages, Admin Slash commands
    return PLUGIN_CONTINUE

new iAlive = is_user_alive(id)
new CsTeams:iTeam = cs_get_user_team(id)

new iPlayers[32], iNum
get_players(iPlayers, iNum)

new szName[32]
get_user_name(id, szName, sizeof szName-1)

new const szPrefixes[2][CsTeams][] = {
{
    "^3(Spectator) ",
    "^1*DEAD* ^3(Terrorist) ",
    "^1*DEAD* ^3(Counter-Terrorist) ",
    "^3(Spectator) "
},
{
"^3(Spectator) ",
"^3(Terrorist) ",
"^3(Counter-Terrorist) ",
"^3(Spectator) "
}
}
if(get_pcvar_num(UseAdminPrefixes) == 1){

set_pcvar_num(UseRankSystem, 0)
set_pcvar_num(UseBoth, 0)

new iAdmin = 0, iFlags = get_user_flags(id)

if(iFlags & ADMIN_ONE)
                iAdmin = 1
else if(iFlags & ADMIN_TWO)
                iAdmin = 2
else if(iFlags & ADMIN_THREE)
                iAdmin = 3
else if(iFlags & ADMIN_FOUR)
                iAdmin = 4
else if(iFlags & ADMIN_FIVE)
                iAdmin = 5
else if(iFlags & ADMIN_SIX)
                iAdmin = 6

    
    
if(iFlags & ADMIN_ONE) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam],szTag[iAdmin], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam],szTag[iAdmin], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_TWO) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam],szTag[iAdmin], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam],szTag[iAdmin], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_THREE) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam],szTag[iAdmin], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam],szTag[iAdmin], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_FOUR) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam],szTag[iAdmin], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam],szTag[iAdmin], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_FIVE) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam],szTag[iAdmin], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam],szTag[iAdmin], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_SIX) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam],szTag[iAdmin], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam],szTag[iAdmin], szName, szArgs)
    }
} else {
if(cs_get_user_team(id) == CS_TEAM_CT) {
    ColorChat(0, BLUE, "%s^3[^4%s^3] ^3%s^4: ^1%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szName, szArgs)
}else if(cs_get_user_team(id) == CS_TEAM_T) {
    ColorChat(0, RED, "%s^3[^4%s^3] ^3%s^4: ^1%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szName, szArgs)
    }
}

return PLUGIN_HANDLED_MAIN
}

if(get_pcvar_num(UseRankSystem) == 1){
    
set_pcvar_num(UseAdminPrefixes, 0)
set_pcvar_num(UseBoth, 0)
    
new iFlags = get_user_flags(id)
    
if(iFlags & ADMIN_ONE) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam],Prefix[Lvl[id]], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam],Prefix[Lvl[id]], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_TWO) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam],Prefix[Lvl[id]], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam],Prefix[Lvl[id]], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_THREE) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam],Prefix[Lvl[id]], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam],Prefix[Lvl[id]], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_FOUR) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam],Prefix[Lvl[id]], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam],Prefix[Lvl[id]], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_FIVE) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam],Prefix[Lvl[id]], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam],Prefix[Lvl[id]], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_SIX) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam],Prefix[Lvl[id]], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam],Prefix[Lvl[id]], szName, szArgs)
    }
} else {
if(cs_get_user_team(id) == CS_TEAM_CT) {
    ColorChat(0, BLUE, "%s^3[^4%s^3] ^3%s^4: ^1%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szName, szArgs)
}else if(cs_get_user_team(id) == CS_TEAM_T) {
    ColorChat(0, RED, "%s^3[^4%s^3] ^3%s^4: ^1%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szName, szArgs)
    }
}

return PLUGIN_HANDLED_MAIN
}

if(get_pcvar_num(UseBoth) == 1){
    
set_pcvar_num(UseAdminPrefixes, 0)
set_pcvar_num(UseRankSystem, 0)
    
new iAdmin = 0, iFlags = get_user_flags(id)

if(iFlags & ADMIN_ONE)
                iAdmin = 1
else if(iFlags & ADMIN_TWO)
                iAdmin = 2
else if(iFlags & ADMIN_THREE)
                iAdmin = 3
else if(iFlags & ADMIN_FOUR)
                iAdmin = 4
else if(iFlags & ADMIN_FIVE)
                iAdmin = 5
else if(iFlags & ADMIN_SIX)
                iAdmin = 6

    
    
if(iFlags & ADMIN_ONE) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^3[^4%s^3] ^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szTag[iAdmin], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^3[^4%s^3] ^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szTag[iAdmin], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_TWO) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^3[^4%s^3] ^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szTag[iAdmin], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^3[^4%s^3] ^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szTag[iAdmin], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_THREE) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^3[^4%s^3] ^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szTag[iAdmin], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^3[^4%s^3] ^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szTag[iAdmin], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_FOUR) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^3[^4%s^3] ^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szTag[iAdmin], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^3[^4%s^3] ^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szTag[iAdmin], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_FIVE) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^3[^4%s^3] ^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szTag[iAdmin], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^3[^4%s^3] ^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szTag[iAdmin], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_SIX) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^3[^4%s^3] ^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szTag[iAdmin], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^3[^4%s^3] ^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szTag[iAdmin], szName, szArgs)
    }
} else {
if(cs_get_user_team(id) == CS_TEAM_CT) {
    ColorChat(0, BLUE, "%s^3[^4%s^3] ^3%s^4: ^1%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szName, szArgs)
}else if(cs_get_user_team(id) == CS_TEAM_T) {
    ColorChat(0, RED, "%s^3[^4%s^3] ^3%s^4: ^1%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szName, szArgs)
    }
}
return PLUGIN_HANDLED_MAIN
}

if(get_pcvar_num(UseAdminPrefixes) == 0 && get_pcvar_num(UseRankSystem) == 0 && get_pcvar_num(UseBoth) == 0)
{
    if(cs_get_user_team(id) == CS_TEAM_CT) {
    ColorChat(0, NORMAL, "%s^3%s^1: %s", szPrefixes[iAlive][iTeam], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, NORMAL, "%s^3%s^1: %s", szPrefixes[iAlive][iTeam],szName, szArgs)
    }
    
}
return PLUGIN_HANDLED_MAIN
}

public Save(id)
{
    new name[32];
    get_user_name(id,name,31);
    new vaultkey[64],vaultdata[256];
    
    format(vaultkey,63,"%s", name);
    format(vaultdata,255,"%i#%i#",XP[id],Lvl[id]);
    fvault_set_data(g_vault_name,vaultkey,vaultdata);
    
    return PLUGIN_CONTINUE;
}
public Load(id)
{
    new name[32];
    get_user_name(id,name,31);
    new vaultkey[64],vaultdata[256];
    
    format(vaultkey,63,"%s",name);
    format(vaultdata,255,"%i#%i#",XP[id],Lvl[id]);
    fvault_get_data(g_vault_name,vaultkey,vaultdata,charsmax(vaultdata));
    
    replace_all(vaultdata, 255, "#", " ");
    new playerxp[32], playerlevel[32];
    parse(vaultdata, playerxp, 31, playerlevel, 31);
    
    XP[id] = str_to_num(playerxp);
    Lvl[id] = str_to_num(playerlevel);
    
    return PLUGIN_CONTINUE;
}
public changeTeamInfo(player, team[])
{
    message_begin(MSG_ONE, teamInfo, _, player)    // Tells to to modify teamInfo(Which is responsable for which time player is)
    write_byte(player)                // Write byte needed
    write_string(team)                // Changes player's team
    message_end()                    // Also Needed
}

public writeMessage(player, szArgs[])
{
    message_begin(MSG_ONE, sayText, {0, 0, 0}, player)    // Tells to modify sayText(Which is responsable for writing colored messages)
    write_byte(player)                    // Write byte needed
    write_string(szArgs)                    // Effectively write the message, finally, afterall
    message_end()                        // Needed as always
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1026\\ f0\\ fs16 \n\\ par }
*/
User avatar
ANT.
4funBGofficial. ®
4funBGofficial. ®
Posts: 123
Joined: 08 Aug 2012, 12:13
Skype: ЛС
Favorite version: CS: 1.6
Steam Community ID: antbg
Location: София

Re: Заявки за rank system-и

Post by ANT. »

До 50 убийства да му пише [NewBie]
След 50 убийства до 150 да му пише [Killer]
След 150 убийства до 250 да му пише [Super Killer]
След като мине 250 убийства до 400 да му пише [Danger Killer]
След 400 убийства до 550 да му пише [Psycho]
След като мине 550 убийства до 750 да му пише [Supernova]
След като мине 750 убийства до 900 да му пише [Monster]
От 900 убийства до 1200 убийства да му пише [Freak]
А след 1200 убийства да безкрай да му пише [Beast]

Чат нормален, префиха да е зелен

Да излиза горе в центъра на худа


Admin Ranks

[OwneR]-n
[Co-oP]-o
[Global Admin]-p
[Local Admin]-s
[Sms Admin]-r
[Sms Admin+]c
[VIP]-t
[VIP+] - q
префикс-бял
Ник-эелен
Чат-сив
User avatar
Lameraaa
Потребител
Потребител
Posts: 37
Joined: 18 Dec 2011, 13:40
Skype: veski4a_9522
CS Nick: InFy ^ HekPoMaHceP
Favorite version: CS: 1.6

Re: Заявки за rank system-и

Post by Lameraaa »

Robo wrote:
Lameraaa wrote:[Rednik] - 0
[Novak] - 25
[Mladshi Serjant] - 50
[Serjant] - 100
[Starshi Serjant] - 150
[Starshina] - 250
[Mladshi Leitenant] - 300
[Leitenant] - 350
[Starshi Leitenant] - 400
[Kapitan] - 500
[Kapitan Leitenant] - 550
[Maior] - 600
[General Leitenant] - 700
[General Maior] - 735
[General] - 780
[Admiral] - 1500

Code: Select all

#include             <amxmodx>
#include             <amxmisc>
#include             <cstrike>
#include             <fvault>
#include             <colorchat>
#include             <fakemeta>
#include            <fakemeta_util>
#include             <fun>
#include             <hamsandwich>

#define ADMIN_ONE        ADMIN_LEVEL_A
#define ADMIN_TWO        ADMIN_BAN
#define ADMIN_THREE        ADMIN_LEVEL_B
#define ADMIN_FOUR        ADMIN_LEVEL_C
#define ADMIN_FIVE        ADMIN_RESERVATION
#define ADMIN_SIX        ADMIN_LEVEL_D

#define MaxLevels         16
#define IsPlayer(%1)         (1 <= %1 <=  g_iMaxPlayers)

new MaxPlayers, syncObj, Lvl[33], XP[33], iPrefix
new ranks_hud, knife_xp, he_xp, hs_xp, kill_xp, suicide_xp, killer_msg
new UseAdminPrefixes, UseRankSystem, UseBoth
new HUDR,HUDG,HUDB,HUDX,HUDY, HUDEFFECT
new sayText, teamInfo, szArgs[192], temp_flag[2]
new Vip, VipFlag

new const g_vault_name[] = "ranks";

new const Levels[MaxLevels+1] =
{
0,
25,
50,
100,
150,
250,
300,
350,
400,
500,
550,
600,
700,
735,
780,
1500
}

new const Prefix[MaxLevels][] =
{
"Rednik",
"Novak",
"Mladshi Serjant",
"Serjant",
"Starshi Serjant",
"Starshina",
"Mladshi Leitenant",
"Leitenant",
"Starshi Leitenant",
"Kapitan",
"Kapitan Leitenant",
"Maior",
"General Leitenant",
"General Maior",
"General",
"Admiral"
}

new const szTag[][] = {
    "",
    "Head Admin",                    //Flag from users.ini <m>
    "Server Admin",                  //Flag from users.ini <d>
    "Test Admin",                    //Flag from users.ini <n>
    "Girl Admin",                    //Flag from users.ini <o>
    "V.I.P",                         //Flag from users.ini <b>
    "SmS Admin"                      //Flag from users.ini <p>
}

public plugin_init()
{
    register_plugin("Admin Prefixes & Rank System", "1.1", "YankoNL");
    
    register_clcmd ("say", "hook_say")
    register_clcmd ("say_team", "hook_teamsay")
    
    Vip = register_cvar("Vip_On/Off", "0")
    VipFlag = register_cvar("Vip_Flag", "b")
    
    register_event("DeathMsg","DeathMessage","a")
    
    register_clcmd("say /myrank", "cmdRank")
    register_clcmd("say_team /myrank", "cmdRank")
    register_clcmd("say /xp", "cmdRank")
    register_clcmd("say_team /xp", "cmdRank")

    UseAdminPrefixes = register_cvar("Admin_Prefixes_On/Off", "0")
    UseRankSystem = register_cvar("Rank_Prefixes_On/Off", "1")
    UseBoth = register_cvar("Use_Both_AdminPrefix_Rank", "0")
    
    ranks_hud = register_cvar("ranks_hud", "1")
    iPrefix = register_cvar("rank_prefix", "Ranks");
    knife_xp = register_cvar("knife_xp", "2")
    he_xp = register_cvar("he_grenade_xp", "3")
    hs_xp = register_cvar("headshot_xp", "2")
    kill_xp = register_cvar("kill_xp", "1")
    suicide_xp = register_cvar("suicide_xp", "-1")
    killer_msg = register_cvar("kill_message", "0")
    
    
    HUDR = register_cvar("hud_color_red", "139")
    HUDG = register_cvar("hud_color_green", "0")
    HUDB = register_cvar("hud_color_blue", "139")
    HUDX = register_cvar("hud_position_X", "0.01")
    HUDY = register_cvar("hud_position_Y", "0.14")
    HUDEFFECT = register_cvar("hud_effects", "0")
    
    sayText = get_user_msgid("SayText")
    teamInfo = get_user_msgid("TeamInfo")
    register_message(sayText, "avoid_duplicated")
    
    
    register_concmd ("rank_givexp", "CmdAddXP", ADMIN_LEVEL_A, "<nick | ct | t | @all> <xp>")
    register_concmd ("rank_takexp", "CmdRemoveXP", ADMIN_LEVEL_A, "<nick | ct | t | @all> <xp>")
    
    register_forward( FM_ClientKill, "Fwd_Kill" );
    
    MaxPlayers = get_maxplayers()

    syncObj = CreateHudSyncObj()

    fvault_load(g_vault_name)
}
public getPrefix()
{
    new Prefix[33]
    get_pcvar_string(iPrefix, Prefix, 32)
    return Prefix
}
public ShowHud(id)
{
set_hudmessage(get_pcvar_num(HUDR), get_pcvar_num(HUDG), get_pcvar_num(HUDB), get_pcvar_float(HUDX), get_pcvar_float(HUDY), get_pcvar_num(HUDEFFECT), 6.0, 1.0, 0.0, 0.0, -1)
if(MaxLevels == Lvl[id]+1)
ShowSyncHudMsg(id, syncObj,"Rank: %s^nXP: %d", Prefix[Lvl[id]], XP[id])
else
ShowSyncHudMsg(id, syncObj,"Rank: %s/%s^nXP: %d/%d",Prefix[Lvl[id]], Prefix[Lvl[id]+1], XP[id], Levels[Lvl[id]+1])
}
public cmdRank(id)
{
    if(MaxLevels == Lvl[id]+1)
        ColorChat(id, NORMAL, "^4[%s]^3 My Rank^1:^4 %s^1 | ^3Level^1: ^4%d ^1| ^3XP^1: ^4%d^1.", getPrefix(), Prefix[Lvl[id]], Lvl[id]+1, XP[id])
    else
        ColorChat(id, NORMAL, "^4[%s]^3 My Rank^1:^4 %s^1 | ^3Level^1: ^4%d ^1/ ^4%d ^1| ^3XP^1: ^4 %d ^1/ ^4%d ^1to become ^4%s^1.",getPrefix(), Prefix[Lvl[id]], Lvl[id]+1, MaxLevels, XP[id], Levels[Lvl[id]+1], Prefix[Lvl[id]+1])
}

public client_putinserver(id)
{
if(get_pcvar_num(ranks_hud) == 1)
set_task(1.0, "ShowHud", id, _, _, "b")

new currentPlayerRank = 0;
while(currentPlayerRank < (MaxLevels - 1))
{       
    if(XP[id] >= Levels[currentPlayerRank + 1])
        ++currentPlayerRank;     
    else         
        break;
}
Lvl[id] = currentPlayerRank;
}
public Fwd_Kill(id)
{
    if(is_user_alive(id)) {
        XP[id] -= get_pcvar_num(suicide_xp)
        CheckLevel(id)
        Save(id)
        if(get_pcvar_num(killer_msg) == 1)
            ColorChat(id, RED, "^4[%s]^1 You committed ^3suicide ^1and ^3lost^4 %d XP^1.", getPrefix(),  get_pcvar_num(suicide_xp))

            
        return PLUGIN_CONTINUE
    }
    return PLUGIN_CONTINUE
}

public DeathMessage()
{       
    new killer = read_data(1);
    new victim = read_data(2);
    new headshot = read_data(3);
    new Weapon[ 32 ];
    read_data( 4, Weapon, charsmax( Weapon ) );
    
    format( Weapon, charsmax( Weapon ), "weapon_%s", Weapon );
    
    if( contain( Weapon, "nade" ) >= 0 )
    Weapon = "weapon_hegrenade"
    
    
    new iWeapon = get_weaponid( Weapon );
    
    if(killer == victim)
        return PLUGIN_CONTINUE;
    if(!killer || killer > MaxPlayers)
        return PLUGIN_CONTINUE;
    
    new victim_name[32];
    get_user_name(victim, victim_name, 31);
    
    get_pcvar_string(VipFlag, temp_flag, charsmax(temp_flag));
    
    
    if(iWeapon == CSW_HEGRENADE)
    {
    
        if(get_pcvar_num(Vip) == 1 && get_user_flags(killer) & read_flags(temp_flag)) {
            XP[killer] += get_pcvar_num(he_xp)*2
            CheckLevel(killer)
            Save(killer)
            if(get_pcvar_num(killer_msg) == 1) {
                ColorChat(killer, RED, "^4[%s]^1 You killed ^4%s^1 with ^3HE Grenade^1 and got^4 %d XP^1. [ ^4 V.I.P Bonus 2X^1]" , getPrefix(),victim_name,  get_pcvar_num(he_xp)*2)
                return PLUGIN_CONTINUE
            }
        } else {
            XP[killer] += get_pcvar_num(he_xp)
            CheckLevel(killer)
            Save(killer)
            if(get_pcvar_num(killer_msg) == 1){
                ColorChat(killer, RED, "^4[%s]^1 You killed ^4%s^1 with ^3HE Grenade^1 and got^4 %d XP^1.", getPrefix(),victim_name,  get_pcvar_num(he_xp))
                return PLUGIN_CONTINUE
            }
        }
    }
    if(iWeapon == CSW_KNIFE)
    {
        if(get_pcvar_num(Vip) == 1 && get_user_flags(killer) & read_flags(temp_flag)) {
            XP[killer] += get_pcvar_num(knife_xp)*2
            CheckLevel(killer)
            Save(killer)
            if(get_pcvar_num(killer_msg) == 1) {
                ColorChat(killer, RED, "^4[%s]^1 You killed ^4%s^1 with ^3Knife^1 and got^4 %d XP^1. [ ^4 V.I.P Bonus 2X^1]", getPrefix(),victim_name,  get_pcvar_num(knife_xp)*2)
                return PLUGIN_CONTINUE
            }
        } else {
            XP[killer] += get_pcvar_num(knife_xp)
            CheckLevel(killer)
            Save(killer)
            if(get_pcvar_num(killer_msg) == 1){
                ColorChat(killer, GREY, "^4[%s]^1 You killed ^4%s^1 with ^3Knife^1 and got^4 %d XP^1.", getPrefix(),victim_name, get_pcvar_num(knife_xp))
                return PLUGIN_CONTINUE
            }
        }
    }
    
    
    if(headshot)
    {
        if(get_pcvar_num(Vip) == 1 && get_user_flags(killer) & read_flags(temp_flag)) {
            XP[killer] += get_pcvar_num(hs_xp)*2
            CheckLevel(killer)
            Save(killer)
            if(get_pcvar_num(killer_msg) == 1){
                ColorChat(killer, BLUE, "^4[%s]^1 You killed ^4%s^1 with ^3Head^4Shot^1 and got^4 %d XP^1.[ ^4 V.I.P Bonus 2X^1]", getPrefix(),victim_name, get_pcvar_num(hs_xp)*2)
                return PLUGIN_CONTINUE
            }
        } else {
            XP[killer] += get_pcvar_num(hs_xp)
            CheckLevel(killer)
            Save(killer)
            if(get_pcvar_num(killer_msg) == 1) {
                ColorChat(killer, BLUE, "^4[%s]^1 You killed ^4%s^1 with ^3Head^4Shot^1 and got^4 %d XP^1.", getPrefix(),victim_name, get_pcvar_num(hs_xp))
                return PLUGIN_CONTINUE
            }
        }
    }
    else
    {
        if(get_pcvar_num(Vip) == 1 && get_user_flags(killer) & read_flags(temp_flag)) {
            XP[killer] += get_pcvar_num(kill_xp)*2
            CheckLevel(killer)
            Save(killer)
            if(get_pcvar_num(killer_msg) == 1) {
                ColorChat(killer, NORMAL, "^4[%s]^1 You killed ^4%s^1 and got^4 %d XP^1.[ ^4V.I.P Bonus 2X^1]", getPrefix(),victim_name, get_pcvar_num(kill_xp)*2)
                return PLUGIN_CONTINUE
            }
        } else {
        XP[killer] += get_pcvar_num(kill_xp)
        CheckLevel(killer)
        Save(killer)
        if(get_pcvar_num(killer_msg) == 1){
            ColorChat(killer, RED, "^4[%s]^1 You killed ^4%s^1 and got^4 %d XP^1.", getPrefix(),victim_name, get_pcvar_num(kill_xp))
            return PLUGIN_CONTINUE
            }
        }
    }
    CheckLevel(killer)
    Save(killer)
    return PLUGIN_CONTINUE
}

public CheckLevel(id)
{        
    new currentPlayerRank = 0;
    while(currentPlayerRank < (MaxLevels - 1))
    {       
        if(XP[id] >= Levels[currentPlayerRank + 1])
            ++currentPlayerRank;     
        else         
            break;
    }
    Lvl[id] = currentPlayerRank;
}

public client_connect(id)
{
    Load(id)
}


public client_disconnect(id)
{
    Save(id)
    XP[id] = 0
    Lvl[id] = 0
    remove_task(id)
}

public CmdAddXP (index, level, cid)
{
    if(!cmd_access(index, level, cid, 3)) return PLUGIN_HANDLED;
    
    new arg [32]
    read_argv (1, arg, 31)
    
    new AddXP [32]
    read_argv (2, AddXP, charsmax (AddXP))
    
    new XPtoGive = str_to_num (AddXP)
    
    new AdminName [32]
    new TargetName [32]
    get_user_name (index, AdminName, charsmax (AdminName))
    
    if(arg[0]=='@')
    {
        if(equali(arg[1],"All") || equali(arg[1],"ALL"))
        {
            new players[32], totalplayers, All
            get_players(players, totalplayers)
            
            for (new i = 0; i < totalplayers; i++)
            {
                All = players[i]
                
                XP[All] += XPtoGive
            }
            
            CheckLevel(All)
            ColorChat(0, NORMAL, "^4[%s] ^1ADMIN: ^3%s^1 gave^4 %i XP^1 to everyone!", getPrefix(), AdminName, XPtoGive)
        }
        else if(equali(arg[1],"T") || equali(arg[1],"t"))
        {
            new players[32], totalplayers, T
            get_players(players, totalplayers)
            
            for (new i = 0; i < totalplayers; i++)
            {
                if (get_user_team(players[i]) == 1)
                {
                    T = players[i]
                    
                    XP[T] += XPtoGive
                }
            }
            
            CheckLevel(T)
            ColorChat(0, RED, "^4[%s]^1 ADMIN: ^4%s ^1gave ^4%i XP ^1to all ^3Terrorists^1.", getPrefix(), AdminName, XPtoGive)
        }
        else if(equali(arg[1],"CT") || equali(arg[1],"ct"))
        {
            new players[32], totalplayers, CT
            get_players(players, totalplayers)
            
            for(new i = 0; i < totalplayers; i++)
            {
                if(get_user_team(players[i]) == 2)
                {
                    CT = players[i]
                    
                    XP[CT] += XPtoGive
                }
            }
            
            CheckLevel(CT)
            ColorChat(0, BLUE, "^4[%s]^1ADMIN: ^4%s^1 gave^4 %i XP^1to all ^3Counter-Terrorists^1.", getPrefix(), AdminName, XPtoGive)
        }
    }
    else
    {
        new iTarget = cmd_target(index, arg, 3)
        get_user_name (iTarget, TargetName, charsmax (TargetName))
        
        if(iTarget)
        {
            XP[iTarget] += XPtoGive
            
            CheckLevel(iTarget)
            ColorChat(0, NORMAL, "^4[%s]^1 ADMIN: ^3%s^1 gave^4 %i XP^1 to^4 %s^1.", getPrefix(), AdminName, XPtoGive, TargetName)
        }
    }
    return PLUGIN_HANDLED
}
public CmdRemoveXP (index, level, cid)
{
    if(!cmd_access(index, level, cid, 3)) return PLUGIN_HANDLED;
    
    new arg [32]
    read_argv (1, arg, 31)
    
    new RemoveXP [32]
    read_argv (2, RemoveXP, charsmax (RemoveXP))
    
    new XPtoTook = str_to_num (RemoveXP)
    
    new AdminName [32]
    new TargetName [32]
    get_user_name (index, AdminName, charsmax (AdminName))
    
    if(arg[0]=='@')
    {
        if(equali(arg[1],"All") || equali(arg[1],"ALL"))
        {
            new players[32], totalplayers, All
            get_players(players, totalplayers)
            
            for (new i = 0; i < totalplayers; i++)
            {
                All = players[i]
                
                XP[All] -= XPtoTook
            }
            
            CheckLevel(All)
            ColorChat(0, NORMAL, "^4[%s] ^1ADMIN: ^3%s^1 took^4 %i XP^1 from everyone!", getPrefix(), AdminName, XPtoTook)
        }
        else if(equali(arg[1],"T") || equali(arg[1],"t"))
        {
            new players[32], totalplayers, T
            get_players(players, totalplayers)
            
            for (new i = 0; i < totalplayers; i++)
            {
                if (get_user_team(players[i]) == 1)
                {
                    T = players[i]
                    
                    XP[T] -= XPtoTook
                }
            }
            
            CheckLevel(T)
            ColorChat(0, RED, "^4[%s]^1 ADMIN: ^4%s ^1took ^4%i XP ^1from all ^3Terrorists^1.", getPrefix(), AdminName, XPtoTook)
        }
        else if(equali(arg[1],"CT") || equali(arg[1],"ct"))
        {
            new players[32], totalplayers, CT
            get_players(players, totalplayers)
            
            for(new i = 0; i < totalplayers; i++)
            {
                if(get_user_team(players[i]) == 2)
                {
                    CT = players[i]
                    
                    XP[CT] -= XPtoTook
                }
            }
            
            CheckLevel(CT)
            ColorChat(0, BLUE, "^4[%s]^1ADMIN: ^4%s^1 took^4 %i XP^1from all ^3Counter-Terrorists^1.", getPrefix(), AdminName, XPtoTook)
        }
    }
    else
    {
        new iTarget = cmd_target(index, arg, 3)
        get_user_name (iTarget, TargetName, charsmax (TargetName))
        
        if(iTarget)
        {
            XP[iTarget] -= XPtoTook
            
            CheckLevel(iTarget)
            ColorChat(0, NORMAL, "^4[%s]^1 ADMIN: ^3%s^1 took^4 %i XP^1 from^4 %s^1.", getPrefix(), AdminName, XPtoTook, TargetName)
        }
    }
    return PLUGIN_HANDLED
}

public avoid_duplicated(msgId, msgDest, receiver)
{
    return PLUGIN_HANDLED
}

public hook_say(id)
{
if(!is_user_connected(id)) {
    return PLUGIN_HANDLED_MAIN
}

read_args(szArgs, 191)
remove_quotes(szArgs)
    
// Gungame commands and empty messages
if(szArgs[0] == '@' || szArgs[0] == '/' || szArgs[0] == '!' || szArgs[0] == '#' || szArgs[0] == '$' || equal(szArgs, "")) // Ignores Admin Hud Messages, Admin Slash commands
    return PLUGIN_CONTINUE

new iAlive = is_user_alive(id)
new CsTeams:iTeam = cs_get_user_team(id)

new iPlayers[ 32 ], iNum
get_players(iPlayers, iNum)

new szName[32]
get_user_name(id, szName, sizeof szName-1)

new const szPrefixes[2][CsTeams][] = {
{
    "^1*DEAD* ",
    "^1*DEAD* ",
    "^1*DEAD* ",
    "^1*SPEC* "
},
{
    "",
    "",
    "",
    ""
}
}
if(get_pcvar_num(UseAdminPrefixes) == 1){

set_pcvar_num(UseRankSystem, 0)
set_pcvar_num(UseBoth, 0)

new iAdmin = 0, iFlags = get_user_flags(id)

if(iFlags & ADMIN_ONE)
                iAdmin = 1
else if(iFlags & ADMIN_TWO)
                iAdmin = 2
else if(iFlags & ADMIN_THREE)
                iAdmin = 3
else if(iFlags & ADMIN_FOUR)
                iAdmin = 4
else if(iFlags & ADMIN_FIVE)
                iAdmin = 5
else if(iFlags & ADMIN_SIX)
                iAdmin = 6

    
    
if(iFlags & ADMIN_ONE) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^1[^4%s^1] ^3%s : ^4%s", szPrefixes[iAlive][iTeam],szTag[iAdmin], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^1[^4%s^1] ^3%s : ^4%s", szPrefixes[iAlive][iTeam],szTag[iAdmin], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_TWO) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^1[^4%s^1] ^3%s : ^4%s", szPrefixes[iAlive][iTeam],szTag[iAdmin], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^1[^4%s^1] ^3%s : ^4%s", szPrefixes[iAlive][iTeam],szTag[iAdmin], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_THREE) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^1[^4%s^1] ^3%s : ^4%s", szPrefixes[iAlive][iTeam],szTag[iAdmin], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^1[^4%s^1] ^3%s : ^4%s", szPrefixes[iAlive][iTeam],szTag[iAdmin], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_FOUR) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^1[^4%s^1] ^3%s : ^4%s", szPrefixes[iAlive][iTeam],szTag[iAdmin], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^1[^4%s^1] ^3%s : ^4%s", szPrefixes[iAlive][iTeam],szTag[iAdmin], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_FIVE) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^1[^4%s^1] ^3%s : ^4%s", szPrefixes[iAlive][iTeam],szTag[iAdmin], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^1[^4%s^1] ^3%s : ^4%s", szPrefixes[iAlive][iTeam],szTag[iAdmin], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_SIX) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^1[^4%s^1] ^3%s : ^4%s", szPrefixes[iAlive][iTeam],szTag[iAdmin], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^1[^4%s^1] ^3%s : ^4%s", szPrefixes[iAlive][iTeam],szTag[iAdmin], szName, szArgs)
    }
} else {
if(cs_get_user_team(id) == CS_TEAM_CT) {
    ColorChat(0, BLUE, "%s^1[^4%s^1] ^3%s : ^1%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szName, szArgs)
}else if(cs_get_user_team(id) == CS_TEAM_T) {
    ColorChat(0, RED, "%s^1[^4%s^1] ^3%s : ^1%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szName, szArgs)
    }
}

return PLUGIN_HANDLED_MAIN
}

if(get_pcvar_num(UseRankSystem) == 1){
    
set_pcvar_num(UseAdminPrefixes, 0)
set_pcvar_num(UseBoth, 0)
    
new iFlags = get_user_flags(id)
    
if(iFlags & ADMIN_ONE) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^1[^4%s^1] ^3%s : ^4%s", szPrefixes[iAlive][iTeam],Prefix[Lvl[id]], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^1[^4%s^1] ^3%s : ^4%s", szPrefixes[iAlive][iTeam],Prefix[Lvl[id]], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_TWO) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^1[^4%s^1] ^3%s : ^4%s", szPrefixes[iAlive][iTeam],Prefix[Lvl[id]], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^1[^4%s^1] ^3%s : ^4%s", szPrefixes[iAlive][iTeam],Prefix[Lvl[id]], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_THREE) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^1[^4%s^1] ^3%s : ^4%s", szPrefixes[iAlive][iTeam],Prefix[Lvl[id]], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^1[^4%s^1] ^3%s : ^4%s", szPrefixes[iAlive][iTeam],Prefix[Lvl[id]], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_FOUR) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^1[^4%s^1] ^3%s : ^4%s", szPrefixes[iAlive][iTeam],Prefix[Lvl[id]], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^1[^4%s^1] ^3%s : ^4%s", szPrefixes[iAlive][iTeam],Prefix[Lvl[id]], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_FIVE) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^1[^4%s^1] ^3%s : ^4%s", szPrefixes[iAlive][iTeam],Prefix[Lvl[id]], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^1[^4%s^1] ^3%s : ^4%s", szPrefixes[iAlive][iTeam],Prefix[Lvl[id]], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_SIX) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^1[^4%s^1] ^3%s : ^4%s", szPrefixes[iAlive][iTeam],Prefix[Lvl[id]], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^1[^4%s^1] ^3%s : ^4%s", szPrefixes[iAlive][iTeam],Prefix[Lvl[id]], szName, szArgs)
    }
} else {
if(cs_get_user_team(id) == CS_TEAM_CT) {
    ColorChat(0, BLUE, "%s^1[^4%s^1] ^3%s : ^1%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szName, szArgs)
}else if(cs_get_user_team(id) == CS_TEAM_T) {
    ColorChat(0, RED, "%s^1[^4%s^1] ^3%s : ^1%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szName, szArgs)
    }
}

return PLUGIN_HANDLED_MAIN
}

if(get_pcvar_num(UseBoth) == 1){
    
set_pcvar_num(UseAdminPrefixes, 0)
set_pcvar_num(UseRankSystem, 0)
    
new iAdmin = 0, iFlags = get_user_flags(id)

if(iFlags & ADMIN_ONE)
                iAdmin = 1
else if(iFlags & ADMIN_TWO)
                iAdmin = 2
else if(iFlags & ADMIN_THREE)
                iAdmin = 3
else if(iFlags & ADMIN_FOUR)
                iAdmin = 4
else if(iFlags & ADMIN_FIVE)
                iAdmin = 5
else if(iFlags & ADMIN_SIX)
                iAdmin = 6

    
    
if(iFlags & ADMIN_ONE) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^1[^4%s^1] ^3[^4%s^3] ^3%s : ^4%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szTag[iAdmin], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^1[^4%s^1] ^3[^4%s^3] ^3%s : ^4%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szTag[iAdmin], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_TWO) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^1[^4%s^1] ^3[^4%s^3] ^3%s : ^4%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szTag[iAdmin], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^1[^4%s^1] ^3[^4%s^3] ^3%s : ^4%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szTag[iAdmin], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_THREE) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^1[^4%s^1] ^3[^4%s^3] ^3%s : ^4%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szTag[iAdmin], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^1[^4%s^1] ^3[^4%s^3] ^3%s : ^4%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szTag[iAdmin], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_FOUR) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^1[^4%s^1] ^3[^4%s^3] ^3%s : ^4%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szTag[iAdmin], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^1[^4%s^1] ^3[^4%s^3] ^3%s : ^4%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szTag[iAdmin], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_FIVE) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^1[^4%s^1] ^3[^4%s^3] ^3%s : ^4%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szTag[iAdmin], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^1[^4%s^1] ^3[^4%s^3] ^3%s : ^4%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szTag[iAdmin], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_SIX) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^1[^4%s^1] ^3[^4%s^3] ^3%s : ^4%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szTag[iAdmin], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^1[^4%s^1] ^3[^4%s^3] ^3%s : ^4%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szTag[iAdmin], szName, szArgs)
    }
}  else {
if(cs_get_user_team(id) == CS_TEAM_CT) {
    ColorChat(0, BLUE, "%s^1[^4%s^1] ^3%s : ^1%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szName, szArgs)
}else if(cs_get_user_team(id) == CS_TEAM_T) {
    ColorChat(0, RED, "%s^1[^4%s^1] ^3%s : ^1%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szName, szArgs)
    }
}
return PLUGIN_HANDLED_MAIN
}

if(get_pcvar_num(UseAdminPrefixes) == 0 && get_pcvar_num(UseRankSystem) == 0 && get_pcvar_num(UseBoth) == 0)
{
    if(cs_get_user_team(id) == CS_TEAM_CT) {
    ColorChat(0, NORMAL, "%s^3%s^1: %s", szPrefixes[iAlive][iTeam], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, NORMAL, "%s^3%s^1: %s", szPrefixes[iAlive][iTeam],szName, szArgs)
    }
    
}
return PLUGIN_HANDLED_MAIN
}

public hook_teamsay(id) {
if(!is_user_connected(id)) {
    return PLUGIN_HANDLED_MAIN
}

read_args(szArgs, 191)
remove_quotes(szArgs)
    
// Gungame commands and empty messages
if(szArgs[0] == '@' || szArgs[0] == '/' || szArgs[0] == '!' || szArgs[0] == '#' || szArgs[0] == '$' || equal(szArgs, "")) // Ignores Admin Hud Messages, Admin Slash commands
    return PLUGIN_CONTINUE

new iAlive = is_user_alive(id)
new CsTeams:iTeam = cs_get_user_team(id)

new iPlayers[32], iNum
get_players(iPlayers, iNum)

new szName[32]
get_user_name(id, szName, sizeof szName-1)

new const szPrefixes[2][CsTeams][] = {
{
    "^3(Spectator) ",
    "^1*DEAD* ^3(Terrorist) ",
    "^1*DEAD* ^3(Counter-Terrorist) ",
    "^3(Spectator) "
},
{
"^3(Spectator) ",
"^3(Terrorist) ",
"^3(Counter-Terrorist) ",
"^3(Spectator) "
}
}
if(get_pcvar_num(UseAdminPrefixes) == 1){

set_pcvar_num(UseRankSystem, 0)
set_pcvar_num(UseBoth, 0)

new iAdmin = 0, iFlags = get_user_flags(id)

if(iFlags & ADMIN_ONE)
                iAdmin = 1
else if(iFlags & ADMIN_TWO)
                iAdmin = 2
else if(iFlags & ADMIN_THREE)
                iAdmin = 3
else if(iFlags & ADMIN_FOUR)
                iAdmin = 4
else if(iFlags & ADMIN_FIVE)
                iAdmin = 5
else if(iFlags & ADMIN_SIX)
                iAdmin = 6

    
    
if(iFlags & ADMIN_ONE) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam],szTag[iAdmin], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam],szTag[iAdmin], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_TWO) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam],szTag[iAdmin], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam],szTag[iAdmin], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_THREE) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam],szTag[iAdmin], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam],szTag[iAdmin], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_FOUR) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam],szTag[iAdmin], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam],szTag[iAdmin], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_FIVE) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam],szTag[iAdmin], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam],szTag[iAdmin], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_SIX) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam],szTag[iAdmin], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam],szTag[iAdmin], szName, szArgs)
    }
} else {
if(cs_get_user_team(id) == CS_TEAM_CT) {
    ColorChat(0, BLUE, "%s^3[^4%s^3] ^3%s^4: ^1%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szName, szArgs)
}else if(cs_get_user_team(id) == CS_TEAM_T) {
    ColorChat(0, RED, "%s^3[^4%s^3] ^3%s^4: ^1%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szName, szArgs)
    }
}

return PLUGIN_HANDLED_MAIN
}

if(get_pcvar_num(UseRankSystem) == 1){
    
set_pcvar_num(UseAdminPrefixes, 0)
set_pcvar_num(UseBoth, 0)
    
new iFlags = get_user_flags(id)
    
if(iFlags & ADMIN_ONE) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam],Prefix[Lvl[id]], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam],Prefix[Lvl[id]], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_TWO) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam],Prefix[Lvl[id]], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam],Prefix[Lvl[id]], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_THREE) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam],Prefix[Lvl[id]], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam],Prefix[Lvl[id]], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_FOUR) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam],Prefix[Lvl[id]], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam],Prefix[Lvl[id]], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_FIVE) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam],Prefix[Lvl[id]], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam],Prefix[Lvl[id]], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_SIX) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam],Prefix[Lvl[id]], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam],Prefix[Lvl[id]], szName, szArgs)
    }
} else {
if(cs_get_user_team(id) == CS_TEAM_CT) {
    ColorChat(0, BLUE, "%s^3[^4%s^3] ^3%s^4: ^1%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szName, szArgs)
}else if(cs_get_user_team(id) == CS_TEAM_T) {
    ColorChat(0, RED, "%s^3[^4%s^3] ^3%s^4: ^1%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szName, szArgs)
    }
}

return PLUGIN_HANDLED_MAIN
}

if(get_pcvar_num(UseBoth) == 1){
    
set_pcvar_num(UseAdminPrefixes, 0)
set_pcvar_num(UseRankSystem, 0)
    
new iAdmin = 0, iFlags = get_user_flags(id)

if(iFlags & ADMIN_ONE)
                iAdmin = 1
else if(iFlags & ADMIN_TWO)
                iAdmin = 2
else if(iFlags & ADMIN_THREE)
                iAdmin = 3
else if(iFlags & ADMIN_FOUR)
                iAdmin = 4
else if(iFlags & ADMIN_FIVE)
                iAdmin = 5
else if(iFlags & ADMIN_SIX)
                iAdmin = 6

    
    
if(iFlags & ADMIN_ONE) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^3[^4%s^3] ^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szTag[iAdmin], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^3[^4%s^3] ^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szTag[iAdmin], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_TWO) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^3[^4%s^3] ^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szTag[iAdmin], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^3[^4%s^3] ^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szTag[iAdmin], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_THREE) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^3[^4%s^3] ^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szTag[iAdmin], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^3[^4%s^3] ^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szTag[iAdmin], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_FOUR) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^3[^4%s^3] ^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szTag[iAdmin], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^3[^4%s^3] ^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szTag[iAdmin], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_FIVE) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^3[^4%s^3] ^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szTag[iAdmin], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^3[^4%s^3] ^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szTag[iAdmin], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_SIX) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^3[^4%s^3] ^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szTag[iAdmin], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^3[^4%s^3] ^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szTag[iAdmin], szName, szArgs)
    }
} else {
if(cs_get_user_team(id) == CS_TEAM_CT) {
    ColorChat(0, BLUE, "%s^3[^4%s^3] ^3%s^4: ^1%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szName, szArgs)
}else if(cs_get_user_team(id) == CS_TEAM_T) {
    ColorChat(0, RED, "%s^3[^4%s^3] ^3%s^4: ^1%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szName, szArgs)
    }
}
return PLUGIN_HANDLED_MAIN
}

if(get_pcvar_num(UseAdminPrefixes) == 0 && get_pcvar_num(UseRankSystem) == 0 && get_pcvar_num(UseBoth) == 0)
{
    if(cs_get_user_team(id) == CS_TEAM_CT) {
    ColorChat(0, NORMAL, "%s^3%s^1: %s", szPrefixes[iAlive][iTeam], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, NORMAL, "%s^3%s^1: %s", szPrefixes[iAlive][iTeam],szName, szArgs)
    }
    
}
return PLUGIN_HANDLED_MAIN
}

public Save(id)
{
    new name[32];
    get_user_name(id,name,31);
    new vaultkey[64],vaultdata[256];
    
    format(vaultkey,63,"%s", name);
    format(vaultdata,255,"%i#%i#",XP[id],Lvl[id]);
    fvault_set_data(g_vault_name,vaultkey,vaultdata);
    
    return PLUGIN_CONTINUE;
}
public Load(id)
{
    new name[32];
    get_user_name(id,name,31);
    new vaultkey[64],vaultdata[256];
    
    format(vaultkey,63,"%s",name);
    format(vaultdata,255,"%i#%i#",XP[id],Lvl[id]);
    fvault_get_data(g_vault_name,vaultkey,vaultdata,charsmax(vaultdata));
    
    replace_all(vaultdata, 255, "#", " ");
    new playerxp[32], playerlevel[32];
    parse(vaultdata, playerxp, 31, playerlevel, 31);
    
    XP[id] = str_to_num(playerxp);
    Lvl[id] = str_to_num(playerlevel);
    
    return PLUGIN_CONTINUE;
}
public changeTeamInfo(player, team[])
{
    message_begin(MSG_ONE, teamInfo, _, player)    // Tells to to modify teamInfo(Which is responsable for which time player is)
    write_byte(player)                // Write byte needed
    write_string(team)                // Changes player's team
    message_end()                    // Also Needed
}

public writeMessage(player, szArgs[])
{
    message_begin(MSG_ONE, sayText, {0, 0, 0}, player)    // Tells to modify sayText(Which is responsable for writing colored messages)
    write_byte(player)                    // Write byte needed
    write_string(szArgs)                    // Effectively write the message, finally, afterall
    message_end()                        // Needed as always
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1026\\ f0\\ fs16 \n\\ par }
*/

Имам малък проблем .. спектаторите не могат да пишат .. не им се вижда чата
User avatar
VIPEROV
CS-BG.INFO | V.I.P
CS-BG.INFO | V.I.P
Posts: 64
Joined: 07 Apr 2016, 20:34
Skype: paciito
CS Nick: the V.I.P.E.R
Favorite version: CS: 1.6
Steam Community ID: vortexmn
Location: София

Re: Заявки за rank system-и

Post by VIPEROV »

Обикновен кил - 1 точка
кил в главата - 3 точки
кил с нож - 4 точки

За CSDM мод. И ако може да изглежда така на монитора: Примерно ранг Serjant:

Rank: Serjant
Score: 533/800

[Rednik] 0-200
[Mladshi Serjant] 200-500
[Serjant] 500-800
[Starshi Serjant] 800-1050
[Starshina] 1050-1500
[Mladshi Leitenant] 1500-2000
[Leitenant] 2000-2400
[Starshi Leitenant] 2400-3000
[Kapitan] 3000-3800
[Kapitan Leitenant] 3800-4500
[Maior] 4500-6000
[General Leitenant] 6000-8000
[General Maior] 8000-11000
[General] 11000-15000
[Admiral] 15000-20000
[Marshall] 20000-30000
[PRO] - 30000-38000
[MEGA] 38000-45000
[THE BEST] 45000-50000

Ако, може amx и sma файл.

Robo wrote:
VIPEROV wrote:Обикновен кил - 1 точка
кил в главата - 3 точки
кил с нож - 4 точки

За CSDM мод. И ако може да изглежда така на монитора: Примерно ранг Serjant:

Rank: Serjant
Score: 533/800

[Rednik] 0-200
[Mladshi Serjant] 200-500
[Serjant] 500-800
[Starshi Serjant] 800-1050
[Starshina] 1050-1500
[Mladshi Leitenant] 1500-2000
[Leitenant] 2000-2400
[Starshi Leitenant] 2400-3000
[Kapitan] 3000-3800
[Kapitan Leitenant] 3800-4500
[Maior] 4500-6000
[General Leitenant] 6000-8000
[General Maior] 8000-11000
[General] 11000-15000
[Admiral] 15000-20000
[Marshall] 20000-30000
[PRO] - 30000-38000
[MEGA] 38000-45000
[THE BEST] 45000-50000

Ако, може amx и sma файл.

Code: Select all

#include             <amxmodx>
#include             <amxmisc>
#include             <cstrike>
#include             <fvault>
#include             <colorchat>
#include             <fakemeta>
#include            <fakemeta_util>
#include             <fun>
#include             <hamsandwich>

#define ADMIN_ONE        ADMIN_LEVEL_A
#define ADMIN_TWO        ADMIN_BAN
#define ADMIN_THREE        ADMIN_LEVEL_B
#define ADMIN_FOUR        ADMIN_LEVEL_C
#define ADMIN_FIVE        ADMIN_RESERVATION
#define ADMIN_SIX        ADMIN_LEVEL_D

#define MaxLevels         19
#define IsPlayer(%1)         (1 <= %1 <=  g_iMaxPlayers)

new MaxPlayers, syncObj, Lvl[33], XP[33], iPrefix
new ranks_hud, knife_xp, he_xp, hs_xp, kill_xp, suicide_xp, killer_msg
new UseAdminPrefixes, UseRankSystem, UseBoth
new HUDR,HUDG,HUDB,HUDX,HUDY, HUDEFFECT
new sayText, teamInfo, szArgs[192], temp_flag[2]
new Vip, VipFlag

new const g_vault_name[] = "ranks";

new const Levels[MaxLevels+1] =
{
200,
500,
800,
1050,
1500,
2000,
2400,
3000,
3800,
4500,
6000,
8000,
11000,
15000,
20000,
30000,
38000,
45000,
50000
}

new const Prefix[MaxLevels][] =
{
"Rednik",
"Mladshi Serjant",
"Serjant",
"Starshi Serjant",
"Starshina",
"Mladshi Leitenant",
"Leitenant",
"Starshi Leitenant",
"Kapitan",
"Kapitan Leitenant",
"Maior",
"General Leitenant",
"General Maior",
"General",
"Admiral",
"Marshall",
"PRO",
"MEGA",
"THE BEST"
}

new const szTag[][] = {
    "",
    "Head Admin",                    //Flag from users.ini <m>
    "Server Admin",                  //Flag from users.ini <d>
    "Test Admin",                    //Flag from users.ini <n>
    "Girl Admin",                    //Flag from users.ini <o>
    "V.I.P",                         //Flag from users.ini <b>
    "SmS Admin"                      //Flag from users.ini <p>
}

public plugin_init()
{
    register_plugin("Admin Prefixes & Rank System", "1.1", "YankoNL");
    
    register_clcmd ("say", "hook_say")
    register_clcmd ("say_team", "hook_teamsay")
    
    Vip = register_cvar("Vip_On/Off", "0")
    VipFlag = register_cvar("Vip_Flag", "b")
    
    register_event("DeathMsg","DeathMessage","a")
    
    register_clcmd("say /myrank", "cmdRank")
    register_clcmd("say_team /myrank", "cmdRank")
    register_clcmd("say /xp", "cmdRank")
    register_clcmd("say_team /xp", "cmdRank")

    UseAdminPrefixes = register_cvar("Admin_Prefixes_On/Off", "0")
    UseRankSystem = register_cvar("Rank_Prefixes_On/Off", "1")
    UseBoth = register_cvar("Use_Both_AdminPrefix_Rank", "0")
    
    ranks_hud = register_cvar("ranks_hud", "1")
    iPrefix = register_cvar("rank_prefix", "Ranks");
    knife_xp = register_cvar("knife_xp", "4")
    he_xp = register_cvar("he_grenade_xp", "3")
    hs_xp = register_cvar("headshot_xp", "3")
    kill_xp = register_cvar("kill_xp", "1")
    suicide_xp = register_cvar("suicide_xp", "0")
    killer_msg = register_cvar("kill_message", "0")
    
    
    HUDR = register_cvar("hud_color_red", "139")
    HUDG = register_cvar("hud_color_green", "0")
    HUDB = register_cvar("hud_color_blue", "139")
    HUDX = register_cvar("hud_position_X", "0.01")
    HUDY = register_cvar("hud_position_Y", "0.14")
    HUDEFFECT = register_cvar("hud_effects", "0")
    
    sayText = get_user_msgid("SayText")
    teamInfo = get_user_msgid("TeamInfo")
    register_message(sayText, "avoid_duplicated")
    
    
    register_concmd ("rank_givexp", "CmdAddXP", ADMIN_LEVEL_A, "<nick | ct | t | @all> <xp>")
    register_concmd ("rank_takexp", "CmdRemoveXP", ADMIN_LEVEL_A, "<nick | ct | t | @all> <xp>")
    
    register_forward( FM_ClientKill, "Fwd_Kill" );
    
    MaxPlayers = get_maxplayers()

    syncObj = CreateHudSyncObj()

    fvault_load(g_vault_name)
}
public getPrefix()
{
    new Prefix[33]
    get_pcvar_string(iPrefix, Prefix, 32)
    return Prefix
}
public ShowHud(id)
{
set_hudmessage(get_pcvar_num(HUDR), get_pcvar_num(HUDG), get_pcvar_num(HUDB), get_pcvar_float(HUDX), get_pcvar_float(HUDY), get_pcvar_num(HUDEFFECT), 6.0, 1.0, 0.0, 0.0, -1)
if(MaxLevels == Lvl[id]+1)
ShowSyncHudMsg(id, syncObj,"Rank: %s^nXP: %d", Prefix[Lvl[id]], XP[id])
else
ShowSyncHudMsg(id, syncObj,"Rank: %s/%s^nXP: %d/%d",Prefix[Lvl[id]], Prefix[Lvl[id]+1], XP[id], Levels[Lvl[id]+1])
}
public cmdRank(id)
{
    if(MaxLevels == Lvl[id]+1)
        ColorChat(id, NORMAL, "^4[%s]^3 My Rank^1:^4 %s^1 | ^3Level^1: ^4%d ^1| ^3XP^1: ^4%d^1.", getPrefix(), Prefix[Lvl[id]], Lvl[id]+1, XP[id])
    else
        ColorChat(id, NORMAL, "^4[%s]^3 My Rank^1:^4 %s^1 | ^3Level^1: ^4%d ^1/ ^4%d ^1| ^3XP^1: ^4 %d ^1/ ^4%d ^1to become ^4%s^1.",getPrefix(), Prefix[Lvl[id]], Lvl[id]+1, MaxLevels, XP[id], Levels[Lvl[id]+1], Prefix[Lvl[id]+1])
}

public client_putinserver(id)
{
if(get_pcvar_num(ranks_hud) == 1)
set_task(1.0, "ShowHud", id, _, _, "b")

new currentPlayerRank = 0;
while(currentPlayerRank < (MaxLevels - 1))
{       
    if(XP[id] >= Levels[currentPlayerRank + 1])
        ++currentPlayerRank;     
    else         
        break;
}
Lvl[id] = currentPlayerRank;
}
public Fwd_Kill(id)
{
    if(is_user_alive(id)) {
        XP[id] -= get_pcvar_num(suicide_xp)
        CheckLevel(id)
        Save(id)
        if(get_pcvar_num(killer_msg) == 1)
            ColorChat(id, RED, "^4[%s]^1 You committed ^3suicide ^1and ^3lost^4 %d XP^1.", getPrefix(),  get_pcvar_num(suicide_xp))

            
        return PLUGIN_CONTINUE
    }
    return PLUGIN_CONTINUE
}

public DeathMessage()
{       
    new killer = read_data(1);
    new victim = read_data(2);
    new headshot = read_data(3);
    new Weapon[ 32 ];
    read_data( 4, Weapon, charsmax( Weapon ) );
    
    format( Weapon, charsmax( Weapon ), "weapon_%s", Weapon );
    
    if( contain( Weapon, "nade" ) >= 0 )
    Weapon = "weapon_hegrenade"
    
    
    new iWeapon = get_weaponid( Weapon );
    
    if(killer == victim)
        return PLUGIN_CONTINUE;
    if(!killer || killer > MaxPlayers)
        return PLUGIN_CONTINUE;
    
    new victim_name[32];
    get_user_name(victim, victim_name, 31);
    
    get_pcvar_string(VipFlag, temp_flag, charsmax(temp_flag));
    
    
    if(iWeapon == CSW_HEGRENADE)
    {
    
        if(get_pcvar_num(Vip) == 1 && get_user_flags(killer) & read_flags(temp_flag)) {
            XP[killer] += get_pcvar_num(he_xp)*2
            CheckLevel(killer)
            Save(killer)
            if(get_pcvar_num(killer_msg) == 1) {
                ColorChat(killer, RED, "^4[%s]^1 You killed ^4%s^1 with ^3HE Grenade^1 and got^4 %d XP^1. [ ^4 V.I.P Bonus 2X^1]" , getPrefix(),victim_name,  get_pcvar_num(he_xp)*2)
                return PLUGIN_CONTINUE
            }
        } else {
            XP[killer] += get_pcvar_num(he_xp)
            CheckLevel(killer)
            Save(killer)
            if(get_pcvar_num(killer_msg) == 1){
                ColorChat(killer, RED, "^4[%s]^1 You killed ^4%s^1 with ^3HE Grenade^1 and got^4 %d XP^1.", getPrefix(),victim_name,  get_pcvar_num(he_xp))
                return PLUGIN_CONTINUE
            }
        }
    }
    if(iWeapon == CSW_KNIFE)
    {
        if(get_pcvar_num(Vip) == 1 && get_user_flags(killer) & read_flags(temp_flag)) {
            XP[killer] += get_pcvar_num(knife_xp)*2
            CheckLevel(killer)
            Save(killer)
            if(get_pcvar_num(killer_msg) == 1) {
                ColorChat(killer, RED, "^4[%s]^1 You killed ^4%s^1 with ^3Knife^1 and got^4 %d XP^1. [ ^4 V.I.P Bonus 2X^1]", getPrefix(),victim_name,  get_pcvar_num(knife_xp)*2)
                return PLUGIN_CONTINUE
            }
        } else {
            XP[killer] += get_pcvar_num(knife_xp)
            CheckLevel(killer)
            Save(killer)
            if(get_pcvar_num(killer_msg) == 1){
                ColorChat(killer, GREY, "^4[%s]^1 You killed ^4%s^1 with ^3Knife^1 and got^4 %d XP^1.", getPrefix(),victim_name, get_pcvar_num(knife_xp))
                return PLUGIN_CONTINUE
            }
        }
    }
    
    
    if(headshot)
    {
        if(get_pcvar_num(Vip) == 1 && get_user_flags(killer) & read_flags(temp_flag)) {
            XP[killer] += get_pcvar_num(hs_xp)*2
            CheckLevel(killer)
            Save(killer)
            if(get_pcvar_num(killer_msg) == 1){
                ColorChat(killer, BLUE, "^4[%s]^1 You killed ^4%s^1 with ^3Head^4Shot^1 and got^4 %d XP^1.[ ^4 V.I.P Bonus 2X^1]", getPrefix(),victim_name, get_pcvar_num(hs_xp)*2)
                return PLUGIN_CONTINUE
            }
        } else {
            XP[killer] += get_pcvar_num(hs_xp)
            CheckLevel(killer)
            Save(killer)
            if(get_pcvar_num(killer_msg) == 1) {
                ColorChat(killer, BLUE, "^4[%s]^1 You killed ^4%s^1 with ^3Head^4Shot^1 and got^4 %d XP^1.", getPrefix(),victim_name, get_pcvar_num(hs_xp))
                return PLUGIN_CONTINUE
            }
        }
    }
    else
    {
        if(get_pcvar_num(Vip) == 1 && get_user_flags(killer) & read_flags(temp_flag)) {
            XP[killer] += get_pcvar_num(kill_xp)*2
            CheckLevel(killer)
            Save(killer)
            if(get_pcvar_num(killer_msg) == 1) {
                ColorChat(killer, NORMAL, "^4[%s]^1 You killed ^4%s^1 and got^4 %d XP^1.[ ^4V.I.P Bonus 2X^1]", getPrefix(),victim_name, get_pcvar_num(kill_xp)*2)
                return PLUGIN_CONTINUE
            }
        } else {
        XP[killer] += get_pcvar_num(kill_xp)
        CheckLevel(killer)
        Save(killer)
        if(get_pcvar_num(killer_msg) == 1){
            ColorChat(killer, RED, "^4[%s]^1 You killed ^4%s^1 and got^4 %d XP^1.", getPrefix(),victim_name, get_pcvar_num(kill_xp))
            return PLUGIN_CONTINUE
            }
        }
    }
    CheckLevel(killer)
    Save(killer)
    return PLUGIN_CONTINUE
}

public CheckLevel(id)
{        
    new currentPlayerRank = 0;
    while(currentPlayerRank < (MaxLevels - 1))
    {       
        if(XP[id] >= Levels[currentPlayerRank + 1])
            ++currentPlayerRank;     
        else         
            break;
    }
    Lvl[id] = currentPlayerRank;
}

public client_connect(id)
{
    Load(id)
}


public client_disconnect(id)
{
    Save(id)
    XP[id] = 0
    Lvl[id] = 0
    remove_task(id)
}

public CmdAddXP (index, level, cid)
{
    if(!cmd_access(index, level, cid, 3)) return PLUGIN_HANDLED;
    
    new arg [32]
    read_argv (1, arg, 31)
    
    new AddXP [32]
    read_argv (2, AddXP, charsmax (AddXP))
    
    new XPtoGive = str_to_num (AddXP)
    
    new AdminName [32]
    new TargetName [32]
    get_user_name (index, AdminName, charsmax (AdminName))
    
    if(arg[0]=='@')
    {
        if(equali(arg[1],"All") || equali(arg[1],"ALL"))
        {
            new players[32], totalplayers, All
            get_players(players, totalplayers)
            
            for (new i = 0; i < totalplayers; i++)
            {
                All = players[i]
                
                XP[All] += XPtoGive
            }
            
            CheckLevel(All)
            ColorChat(0, NORMAL, "^4[%s] ^1ADMIN: ^3%s^1 gave^4 %i XP^1 to everyone!", getPrefix(), AdminName, XPtoGive)
        }
        else if(equali(arg[1],"T") || equali(arg[1],"t"))
        {
            new players[32], totalplayers, T
            get_players(players, totalplayers)
            
            for (new i = 0; i < totalplayers; i++)
            {
                if (get_user_team(players[i]) == 1)
                {
                    T = players[i]
                    
                    XP[T] += XPtoGive
                }
            }
            
            CheckLevel(T)
            ColorChat(0, RED, "^4[%s]^1 ADMIN: ^4%s ^1gave ^4%i XP ^1to all ^3Terrorists^1.", getPrefix(), AdminName, XPtoGive)
        }
        else if(equali(arg[1],"CT") || equali(arg[1],"ct"))
        {
            new players[32], totalplayers, CT
            get_players(players, totalplayers)
            
            for(new i = 0; i < totalplayers; i++)
            {
                if(get_user_team(players[i]) == 2)
                {
                    CT = players[i]
                    
                    XP[CT] += XPtoGive
                }
            }
            
            CheckLevel(CT)
            ColorChat(0, BLUE, "^4[%s]^1ADMIN: ^4%s^1 gave^4 %i XP^1to all ^3Counter-Terrorists^1.", getPrefix(), AdminName, XPtoGive)
        }
    }
    else
    {
        new iTarget = cmd_target(index, arg, 3)
        get_user_name (iTarget, TargetName, charsmax (TargetName))
        
        if(iTarget)
        {
            XP[iTarget] += XPtoGive
            
            CheckLevel(iTarget)
            ColorChat(0, NORMAL, "^4[%s]^1 ADMIN: ^3%s^1 gave^4 %i XP^1 to^4 %s^1.", getPrefix(), AdminName, XPtoGive, TargetName)
        }
    }
    return PLUGIN_HANDLED
}
public CmdRemoveXP (index, level, cid)
{
    if(!cmd_access(index, level, cid, 3)) return PLUGIN_HANDLED;
    
    new arg [32]
    read_argv (1, arg, 31)
    
    new RemoveXP [32]
    read_argv (2, RemoveXP, charsmax (RemoveXP))
    
    new XPtoTook = str_to_num (RemoveXP)
    
    new AdminName [32]
    new TargetName [32]
    get_user_name (index, AdminName, charsmax (AdminName))
    
    if(arg[0]=='@')
    {
        if(equali(arg[1],"All") || equali(arg[1],"ALL"))
        {
            new players[32], totalplayers, All
            get_players(players, totalplayers)
            
            for (new i = 0; i < totalplayers; i++)
            {
                All = players[i]
                
                XP[All] -= XPtoTook
            }
            
            CheckLevel(All)
            ColorChat(0, NORMAL, "^4[%s] ^1ADMIN: ^3%s^1 took^4 %i XP^1 from everyone!", getPrefix(), AdminName, XPtoTook)
        }
        else if(equali(arg[1],"T") || equali(arg[1],"t"))
        {
            new players[32], totalplayers, T
            get_players(players, totalplayers)
            
            for (new i = 0; i < totalplayers; i++)
            {
                if (get_user_team(players[i]) == 1)
                {
                    T = players[i]
                    
                    XP[T] -= XPtoTook
                }
            }
            
            CheckLevel(T)
            ColorChat(0, RED, "^4[%s]^1 ADMIN: ^4%s ^1took ^4%i XP ^1from all ^3Terrorists^1.", getPrefix(), AdminName, XPtoTook)
        }
        else if(equali(arg[1],"CT") || equali(arg[1],"ct"))
        {
            new players[32], totalplayers, CT
            get_players(players, totalplayers)
            
            for(new i = 0; i < totalplayers; i++)
            {
                if(get_user_team(players[i]) == 2)
                {
                    CT = players[i]
                    
                    XP[CT] -= XPtoTook
                }
            }
            
            CheckLevel(CT)
            ColorChat(0, BLUE, "^4[%s]^1ADMIN: ^4%s^1 took^4 %i XP^1from all ^3Counter-Terrorists^1.", getPrefix(), AdminName, XPtoTook)
        }
    }
    else
    {
        new iTarget = cmd_target(index, arg, 3)
        get_user_name (iTarget, TargetName, charsmax (TargetName))
        
        if(iTarget)
        {
            XP[iTarget] -= XPtoTook
            
            CheckLevel(iTarget)
            ColorChat(0, NORMAL, "^4[%s]^1 ADMIN: ^3%s^1 took^4 %i XP^1 from^4 %s^1.", getPrefix(), AdminName, XPtoTook, TargetName)
        }
    }
    return PLUGIN_HANDLED
}

public avoid_duplicated(msgId, msgDest, receiver)
{
    return PLUGIN_HANDLED
}

public hook_say(id)
{
if(!is_user_connected(id)) {
    return PLUGIN_HANDLED_MAIN
}

read_args(szArgs, 191)
remove_quotes(szArgs)
    
// Gungame commands and empty messages
if(szArgs[0] == '@' || szArgs[0] == '/' || szArgs[0] == '!' || szArgs[0] == '#' || szArgs[0] == '$' || equal(szArgs, "")) // Ignores Admin Hud Messages, Admin Slash commands
    return PLUGIN_CONTINUE

new iAlive = is_user_alive(id)
new CsTeams:iTeam = cs_get_user_team(id)

new iPlayers[ 32 ], iNum
get_players(iPlayers, iNum)

new szName[32]
get_user_name(id, szName, sizeof szName-1)

new const szPrefixes[2][CsTeams][] = {
{
    "^1*DEAD* ",
    "^1*DEAD* ",
    "^1*DEAD* ",
    "^1*SPEC* "
},
{
    "",
    "",
    "",
    ""
}
}
if(get_pcvar_num(UseAdminPrefixes) == 1){

set_pcvar_num(UseRankSystem, 0)
set_pcvar_num(UseBoth, 0)

new iAdmin = 0, iFlags = get_user_flags(id)

if(iFlags & ADMIN_ONE)
                iAdmin = 1
else if(iFlags & ADMIN_TWO)
                iAdmin = 2
else if(iFlags & ADMIN_THREE)
                iAdmin = 3
else if(iFlags & ADMIN_FOUR)
                iAdmin = 4
else if(iFlags & ADMIN_FIVE)
                iAdmin = 5
else if(iFlags & ADMIN_SIX)
                iAdmin = 6

    
    
if(iFlags & ADMIN_ONE) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^1[^4%s^1] ^3%s : ^4%s", szPrefixes[iAlive][iTeam],szTag[iAdmin], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^1[^4%s^1] ^3%s : ^4%s", szPrefixes[iAlive][iTeam],szTag[iAdmin], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_TWO) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^1[^4%s^1] ^3%s : ^4%s", szPrefixes[iAlive][iTeam],szTag[iAdmin], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^1[^4%s^1] ^3%s : ^4%s", szPrefixes[iAlive][iTeam],szTag[iAdmin], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_THREE) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^1[^4%s^1] ^3%s : ^4%s", szPrefixes[iAlive][iTeam],szTag[iAdmin], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^1[^4%s^1] ^3%s : ^4%s", szPrefixes[iAlive][iTeam],szTag[iAdmin], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_FOUR) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^1[^4%s^1] ^3%s : ^4%s", szPrefixes[iAlive][iTeam],szTag[iAdmin], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^1[^4%s^1] ^3%s : ^4%s", szPrefixes[iAlive][iTeam],szTag[iAdmin], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_FIVE) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^1[^4%s^1] ^3%s : ^4%s", szPrefixes[iAlive][iTeam],szTag[iAdmin], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^1[^4%s^1] ^3%s : ^4%s", szPrefixes[iAlive][iTeam],szTag[iAdmin], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_SIX) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^1[^4%s^1] ^3%s : ^4%s", szPrefixes[iAlive][iTeam],szTag[iAdmin], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^1[^4%s^1] ^3%s : ^4%s", szPrefixes[iAlive][iTeam],szTag[iAdmin], szName, szArgs)
    }
} else {
if(cs_get_user_team(id) == CS_TEAM_CT) {
    ColorChat(0, BLUE, "%s^1[^4%s^1] ^3%s : ^1%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szName, szArgs)
}else if(cs_get_user_team(id) == CS_TEAM_T) {
    ColorChat(0, RED, "%s^1[^4%s^1] ^3%s : ^1%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szName, szArgs)
    }
}

return PLUGIN_HANDLED_MAIN
}

if(get_pcvar_num(UseRankSystem) == 1){
    
set_pcvar_num(UseAdminPrefixes, 0)
set_pcvar_num(UseBoth, 0)
    
new iFlags = get_user_flags(id)
    
if(iFlags & ADMIN_ONE) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^1[^4%s^1] ^3%s : ^4%s", szPrefixes[iAlive][iTeam],Prefix[Lvl[id]], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^1[^4%s^1] ^3%s : ^4%s", szPrefixes[iAlive][iTeam],Prefix[Lvl[id]], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_TWO) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^1[^4%s^1] ^3%s : ^4%s", szPrefixes[iAlive][iTeam],Prefix[Lvl[id]], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^1[^4%s^1] ^3%s : ^4%s", szPrefixes[iAlive][iTeam],Prefix[Lvl[id]], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_THREE) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^1[^4%s^1] ^3%s : ^4%s", szPrefixes[iAlive][iTeam],Prefix[Lvl[id]], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^1[^4%s^1] ^3%s : ^4%s", szPrefixes[iAlive][iTeam],Prefix[Lvl[id]], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_FOUR) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^1[^4%s^1] ^3%s : ^4%s", szPrefixes[iAlive][iTeam],Prefix[Lvl[id]], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^1[^4%s^1] ^3%s : ^4%s", szPrefixes[iAlive][iTeam],Prefix[Lvl[id]], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_FIVE) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^1[^4%s^1] ^3%s : ^4%s", szPrefixes[iAlive][iTeam],Prefix[Lvl[id]], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^1[^4%s^1] ^3%s : ^4%s", szPrefixes[iAlive][iTeam],Prefix[Lvl[id]], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_SIX) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^1[^4%s^1] ^3%s : ^4%s", szPrefixes[iAlive][iTeam],Prefix[Lvl[id]], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^1[^4%s^1] ^3%s : ^4%s", szPrefixes[iAlive][iTeam],Prefix[Lvl[id]], szName, szArgs)
    }
} else {
if(cs_get_user_team(id) == CS_TEAM_CT) {
    ColorChat(0, BLUE, "%s^1[^4%s^1] ^3%s : ^1%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szName, szArgs)
}else if(cs_get_user_team(id) == CS_TEAM_T) {
    ColorChat(0, RED, "%s^1[^4%s^1] ^3%s : ^1%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szName, szArgs)
    }
}

return PLUGIN_HANDLED_MAIN
}

if(get_pcvar_num(UseBoth) == 1){
    
set_pcvar_num(UseAdminPrefixes, 0)
set_pcvar_num(UseRankSystem, 0)
    
new iAdmin = 0, iFlags = get_user_flags(id)

if(iFlags & ADMIN_ONE)
                iAdmin = 1
else if(iFlags & ADMIN_TWO)
                iAdmin = 2
else if(iFlags & ADMIN_THREE)
                iAdmin = 3
else if(iFlags & ADMIN_FOUR)
                iAdmin = 4
else if(iFlags & ADMIN_FIVE)
                iAdmin = 5
else if(iFlags & ADMIN_SIX)
                iAdmin = 6

    
    
if(iFlags & ADMIN_ONE) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^1[^4%s^1] ^3[^4%s^3] ^3%s : ^4%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szTag[iAdmin], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^1[^4%s^1] ^3[^4%s^3] ^3%s : ^4%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szTag[iAdmin], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_TWO) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^1[^4%s^1] ^3[^4%s^3] ^3%s : ^4%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szTag[iAdmin], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^1[^4%s^1] ^3[^4%s^3] ^3%s : ^4%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szTag[iAdmin], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_THREE) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^1[^4%s^1] ^3[^4%s^3] ^3%s : ^4%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szTag[iAdmin], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^1[^4%s^1] ^3[^4%s^3] ^3%s : ^4%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szTag[iAdmin], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_FOUR) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^1[^4%s^1] ^3[^4%s^3] ^3%s : ^4%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szTag[iAdmin], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^1[^4%s^1] ^3[^4%s^3] ^3%s : ^4%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szTag[iAdmin], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_FIVE) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^1[^4%s^1] ^3[^4%s^3] ^3%s : ^4%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szTag[iAdmin], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^1[^4%s^1] ^3[^4%s^3] ^3%s : ^4%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szTag[iAdmin], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_SIX) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^1[^4%s^1] ^3[^4%s^3] ^3%s : ^4%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szTag[iAdmin], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^1[^4%s^1] ^3[^4%s^3] ^3%s : ^4%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szTag[iAdmin], szName, szArgs)
    }
}  else {
if(cs_get_user_team(id) == CS_TEAM_CT) {
    ColorChat(0, BLUE, "%s^1[^4%s^1] ^3%s : ^1%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szName, szArgs)
}else if(cs_get_user_team(id) == CS_TEAM_T) {
    ColorChat(0, RED, "%s^1[^4%s^1] ^3%s : ^1%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szName, szArgs)
    }
}
return PLUGIN_HANDLED_MAIN
}

if(get_pcvar_num(UseAdminPrefixes) == 0 && get_pcvar_num(UseRankSystem) == 0 && get_pcvar_num(UseBoth) == 0)
{
    if(cs_get_user_team(id) == CS_TEAM_CT) {
    ColorChat(0, NORMAL, "%s^3%s^1: %s", szPrefixes[iAlive][iTeam], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, NORMAL, "%s^3%s^1: %s", szPrefixes[iAlive][iTeam],szName, szArgs)
    }
    
}
return PLUGIN_HANDLED_MAIN
}

public hook_teamsay(id) {
if(!is_user_connected(id)) {
    return PLUGIN_HANDLED_MAIN
}

read_args(szArgs, 191)
remove_quotes(szArgs)
    
// Gungame commands and empty messages
if(szArgs[0] == '@' || szArgs[0] == '/' || szArgs[0] == '!' || szArgs[0] == '#' || szArgs[0] == '$' || equal(szArgs, "")) // Ignores Admin Hud Messages, Admin Slash commands
    return PLUGIN_CONTINUE

new iAlive = is_user_alive(id)
new CsTeams:iTeam = cs_get_user_team(id)

new iPlayers[32], iNum
get_players(iPlayers, iNum)

new szName[32]
get_user_name(id, szName, sizeof szName-1)

new const szPrefixes[2][CsTeams][] = {
{
    "^3(Spectator) ",
    "^1*DEAD* ^3(Terrorist) ",
    "^1*DEAD* ^3(Counter-Terrorist) ",
    "^3(Spectator) "
},
{
"^3(Spectator) ",
"^3(Terrorist) ",
"^3(Counter-Terrorist) ",
"^3(Spectator) "
}
}
if(get_pcvar_num(UseAdminPrefixes) == 1){

set_pcvar_num(UseRankSystem, 0)
set_pcvar_num(UseBoth, 0)

new iAdmin = 0, iFlags = get_user_flags(id)

if(iFlags & ADMIN_ONE)
                iAdmin = 1
else if(iFlags & ADMIN_TWO)
                iAdmin = 2
else if(iFlags & ADMIN_THREE)
                iAdmin = 3
else if(iFlags & ADMIN_FOUR)
                iAdmin = 4
else if(iFlags & ADMIN_FIVE)
                iAdmin = 5
else if(iFlags & ADMIN_SIX)
                iAdmin = 6

    
    
if(iFlags & ADMIN_ONE) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam],szTag[iAdmin], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam],szTag[iAdmin], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_TWO) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam],szTag[iAdmin], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam],szTag[iAdmin], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_THREE) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam],szTag[iAdmin], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam],szTag[iAdmin], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_FOUR) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam],szTag[iAdmin], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam],szTag[iAdmin], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_FIVE) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam],szTag[iAdmin], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam],szTag[iAdmin], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_SIX) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam],szTag[iAdmin], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam],szTag[iAdmin], szName, szArgs)
    }
} else {
if(cs_get_user_team(id) == CS_TEAM_CT) {
    ColorChat(0, BLUE, "%s^3[^4%s^3] ^3%s^4: ^1%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szName, szArgs)
}else if(cs_get_user_team(id) == CS_TEAM_T) {
    ColorChat(0, RED, "%s^3[^4%s^3] ^3%s^4: ^1%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szName, szArgs)
    }
}

return PLUGIN_HANDLED_MAIN
}

if(get_pcvar_num(UseRankSystem) == 1){
    
set_pcvar_num(UseAdminPrefixes, 0)
set_pcvar_num(UseBoth, 0)
    
new iFlags = get_user_flags(id)
    
if(iFlags & ADMIN_ONE) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam],Prefix[Lvl[id]], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam],Prefix[Lvl[id]], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_TWO) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam],Prefix[Lvl[id]], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam],Prefix[Lvl[id]], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_THREE) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam],Prefix[Lvl[id]], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam],Prefix[Lvl[id]], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_FOUR) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam],Prefix[Lvl[id]], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam],Prefix[Lvl[id]], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_FIVE) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam],Prefix[Lvl[id]], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam],Prefix[Lvl[id]], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_SIX) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam],Prefix[Lvl[id]], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam],Prefix[Lvl[id]], szName, szArgs)
    }
} else {
if(cs_get_user_team(id) == CS_TEAM_CT) {
    ColorChat(0, BLUE, "%s^3[^4%s^3] ^3%s^4: ^1%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szName, szArgs)
}else if(cs_get_user_team(id) == CS_TEAM_T) {
    ColorChat(0, RED, "%s^3[^4%s^3] ^3%s^4: ^1%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szName, szArgs)
    }
}

return PLUGIN_HANDLED_MAIN
}

if(get_pcvar_num(UseBoth) == 1){
    
set_pcvar_num(UseAdminPrefixes, 0)
set_pcvar_num(UseRankSystem, 0)
    
new iAdmin = 0, iFlags = get_user_flags(id)

if(iFlags & ADMIN_ONE)
                iAdmin = 1
else if(iFlags & ADMIN_TWO)
                iAdmin = 2
else if(iFlags & ADMIN_THREE)
                iAdmin = 3
else if(iFlags & ADMIN_FOUR)
                iAdmin = 4
else if(iFlags & ADMIN_FIVE)
                iAdmin = 5
else if(iFlags & ADMIN_SIX)
                iAdmin = 6

    
    
if(iFlags & ADMIN_ONE) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^3[^4%s^3] ^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szTag[iAdmin], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^3[^4%s^3] ^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szTag[iAdmin], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_TWO) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^3[^4%s^3] ^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szTag[iAdmin], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^3[^4%s^3] ^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szTag[iAdmin], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_THREE) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^3[^4%s^3] ^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szTag[iAdmin], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^3[^4%s^3] ^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szTag[iAdmin], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_FOUR) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^3[^4%s^3] ^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szTag[iAdmin], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^3[^4%s^3] ^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szTag[iAdmin], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_FIVE) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^3[^4%s^3] ^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szTag[iAdmin], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^3[^4%s^3] ^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szTag[iAdmin], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_SIX) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^3[^4%s^3] ^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szTag[iAdmin], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^3[^4%s^3] ^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szTag[iAdmin], szName, szArgs)
    }
} else {
if(cs_get_user_team(id) == CS_TEAM_CT) {
    ColorChat(0, BLUE, "%s^3[^4%s^3] ^3%s^4: ^1%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szName, szArgs)
}else if(cs_get_user_team(id) == CS_TEAM_T) {
    ColorChat(0, RED, "%s^3[^4%s^3] ^3%s^4: ^1%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szName, szArgs)
    }
}
return PLUGIN_HANDLED_MAIN
}

if(get_pcvar_num(UseAdminPrefixes) == 0 && get_pcvar_num(UseRankSystem) == 0 && get_pcvar_num(UseBoth) == 0)
{
    if(cs_get_user_team(id) == CS_TEAM_CT) {
    ColorChat(0, NORMAL, "%s^3%s^1: %s", szPrefixes[iAlive][iTeam], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, NORMAL, "%s^3%s^1: %s", szPrefixes[iAlive][iTeam],szName, szArgs)
    }
    
}
return PLUGIN_HANDLED_MAIN
}

public Save(id)
{
    new name[32];
    get_user_name(id,name,31);
    new vaultkey[64],vaultdata[256];
    
    format(vaultkey,63,"%s", name);
    format(vaultdata,255,"%i#%i#",XP[id],Lvl[id]);
    fvault_set_data(g_vault_name,vaultkey,vaultdata);
    
    return PLUGIN_CONTINUE;
}
public Load(id)
{
    new name[32];
    get_user_name(id,name,31);
    new vaultkey[64],vaultdata[256];
    
    format(vaultkey,63,"%s",name);
    format(vaultdata,255,"%i#%i#",XP[id],Lvl[id]);
    fvault_get_data(g_vault_name,vaultkey,vaultdata,charsmax(vaultdata));
    
    replace_all(vaultdata, 255, "#", " ");
    new playerxp[32], playerlevel[32];
    parse(vaultdata, playerxp, 31, playerlevel, 31);
    
    XP[id] = str_to_num(playerxp);
    Lvl[id] = str_to_num(playerlevel);
    
    return PLUGIN_CONTINUE;
}
public changeTeamInfo(player, team[])
{
    message_begin(MSG_ONE, teamInfo, _, player)    // Tells to to modify teamInfo(Which is responsable for which time player is)
    write_byte(player)                // Write byte needed
    write_string(team)                // Changes player's team
    message_end()                    // Also Needed
}

public writeMessage(player, szArgs[])
{
    message_begin(MSG_ONE, sayText, {0, 0, 0}, player)    // Tells to modify sayText(Which is responsable for writing colored messages)
    write_byte(player)                    // Write byte needed
    write_string(szArgs)                    // Effectively write the message, finally, afterall
    message_end()                        // Needed as always
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1026\\ f0\\ fs16 \n\\ par }
*/
Thank you!
Last edited by VIPEROV on 14 Jan 2018, 21:19, edited 1 time in total.
User avatar
kitin.dll
Потребител
Потребител
Posts: 157
Joined: 02 Jun 2016, 17:52
Skype: zabraih ;(
CS Nick: (*knoxS*)
Favorite version: CS: 1.6

Re: Заявки за rank system-и

Post by kitin.dll »

VIPEROV wrote:Обикновен кил - 1 точка
кил в главата - 3 точки
кил с нож - 4 точки

За CSDM мод. И ако може да изглежда така на монитора: Примерно ранг Serjant:

Rank: Serjant
Score: 533/800

[Rednik] 0-200
[Mladshi Serjant] 200-500
[Serjant] 500-800
[Starshi Serjant] 800-1050
[Starshina] 1050-1500
[Mladshi Leitenant] 1500-2000
[Leitenant] 2000-2400
[Starshi Leitenant] 2400-3000
[Kapitan] 3000-3800
[Kapitan Leitenant] 3800-4500
[Maior] 4500-6000
[General Leitenant] 6000-8000
[General Maior] 8000-11000
[General] 11000-15000
[Admiral] 15000-20000
[Marshall] 20000-30000
[PRO] - 30000-38000
[MEGA] 38000-45000
[THE BEST] 45000-50000

Ако, може amx и sma файл.

Code: Select all

#include             <amxmodx>
#include             <amxmisc>
#include             <cstrike>
#include             <fvault>
#include             <colorchat>
#include             <fakemeta>
#include            <fakemeta_util>
#include             <fun>
#include             <hamsandwich>

#define ADMIN_ONE        ADMIN_LEVEL_A
#define ADMIN_TWO        ADMIN_BAN
#define ADMIN_THREE        ADMIN_LEVEL_B
#define ADMIN_FOUR        ADMIN_LEVEL_C
#define ADMIN_FIVE        ADMIN_RESERVATION
#define ADMIN_SIX        ADMIN_LEVEL_D

#define MaxLevels         19
#define IsPlayer(%1)         (1 <= %1 <=  g_iMaxPlayers)

new MaxPlayers, syncObj, Lvl[33], XP[33], iPrefix
new ranks_hud, knife_xp, he_xp, hs_xp, kill_xp, suicide_xp, killer_msg
new UseAdminPrefixes, UseRankSystem, UseBoth
new HUDR,HUDG,HUDB,HUDX,HUDY, HUDEFFECT
new sayText, teamInfo, szArgs[192], temp_flag[2]
new Vip, VipFlag

new const g_vault_name[] = "ranks";

new const Levels[MaxLevels+1] =
{
200,
500,
800,
1050,
1500,
2000,
2400,
3000,
3800,
4500,
6000,
8000,
11000,
15000,
20000,
30000,
38000,
45000,
50000
}

new const Prefix[MaxLevels][] =
{
"Rednik",
"Mladshi Serjant",
"Serjant",
"Starshi Serjant",
"Starshina",
"Mladshi Leitenant",
"Leitenant",
"Starshi Leitenant",
"Kapitan",
"Kapitan Leitenant",
"Maior",
"General Leitenant",
"General Maior",
"General",
"Admiral",
"Marshall",
"PRO",
"MEGA",
"THE BEST"
}

new const szTag[][] = {
    "",
    "Head Admin",                    //Flag from users.ini <m>
    "Server Admin",                  //Flag from users.ini <d>
    "Test Admin",                    //Flag from users.ini <n>
    "Girl Admin",                    //Flag from users.ini <o>
    "V.I.P",                         //Flag from users.ini <b>
    "SmS Admin"                      //Flag from users.ini <p>
}

public plugin_init()
{
    register_plugin("Admin Prefixes & Rank System", "1.1", "YankoNL");
    
    register_clcmd ("say", "hook_say")
    register_clcmd ("say_team", "hook_teamsay")
    
    Vip = register_cvar("Vip_On/Off", "0")
    VipFlag = register_cvar("Vip_Flag", "b")
    
    register_event("DeathMsg","DeathMessage","a")
    
    register_clcmd("say /myrank", "cmdRank")
    register_clcmd("say_team /myrank", "cmdRank")
    register_clcmd("say /xp", "cmdRank")
    register_clcmd("say_team /xp", "cmdRank")

    UseAdminPrefixes = register_cvar("Admin_Prefixes_On/Off", "0")
    UseRankSystem = register_cvar("Rank_Prefixes_On/Off", "1")
    UseBoth = register_cvar("Use_Both_AdminPrefix_Rank", "0")
    
    ranks_hud = register_cvar("ranks_hud", "1")
    iPrefix = register_cvar("rank_prefix", "Ranks");
    knife_xp = register_cvar("knife_xp", "4")
    he_xp = register_cvar("he_grenade_xp", "3")
    hs_xp = register_cvar("headshot_xp", "3")
    kill_xp = register_cvar("kill_xp", "1")
    suicide_xp = register_cvar("suicide_xp", "0")
    killer_msg = register_cvar("kill_message", "0")
    
    
    HUDR = register_cvar("hud_color_red", "139")
    HUDG = register_cvar("hud_color_green", "0")
    HUDB = register_cvar("hud_color_blue", "139")
    HUDX = register_cvar("hud_position_X", "0.01")
    HUDY = register_cvar("hud_position_Y", "0.14")
    HUDEFFECT = register_cvar("hud_effects", "0")
    
    sayText = get_user_msgid("SayText")
    teamInfo = get_user_msgid("TeamInfo")
    register_message(sayText, "avoid_duplicated")
    
    
    register_concmd ("rank_givexp", "CmdAddXP", ADMIN_LEVEL_A, "<nick | ct | t | @all> <xp>")
    register_concmd ("rank_takexp", "CmdRemoveXP", ADMIN_LEVEL_A, "<nick | ct | t | @all> <xp>")
    
    register_forward( FM_ClientKill, "Fwd_Kill" );
    
    MaxPlayers = get_maxplayers()

    syncObj = CreateHudSyncObj()

    fvault_load(g_vault_name)
}
public getPrefix()
{
    new Prefix[33]
    get_pcvar_string(iPrefix, Prefix, 32)
    return Prefix
}
public ShowHud(id)
{
set_hudmessage(get_pcvar_num(HUDR), get_pcvar_num(HUDG), get_pcvar_num(HUDB), get_pcvar_float(HUDX), get_pcvar_float(HUDY), get_pcvar_num(HUDEFFECT), 6.0, 1.0, 0.0, 0.0, -1)
if(MaxLevels == Lvl[id]+1)
ShowSyncHudMsg(id, syncObj,"Rank: %s^nXP: %d", Prefix[Lvl[id]], XP[id])
else
ShowSyncHudMsg(id, syncObj,"Rank: %s/%s^nXP: %d/%d",Prefix[Lvl[id]], Prefix[Lvl[id]+1], XP[id], Levels[Lvl[id]+1])
}
public cmdRank(id)
{
    if(MaxLevels == Lvl[id]+1)
        ColorChat(id, NORMAL, "^4[%s]^3 My Rank^1:^4 %s^1 | ^3Level^1: ^4%d ^1| ^3XP^1: ^4%d^1.", getPrefix(), Prefix[Lvl[id]], Lvl[id]+1, XP[id])
    else
        ColorChat(id, NORMAL, "^4[%s]^3 My Rank^1:^4 %s^1 | ^3Level^1: ^4%d ^1/ ^4%d ^1| ^3XP^1: ^4 %d ^1/ ^4%d ^1to become ^4%s^1.",getPrefix(), Prefix[Lvl[id]], Lvl[id]+1, MaxLevels, XP[id], Levels[Lvl[id]+1], Prefix[Lvl[id]+1])
}

public client_putinserver(id)
{
if(get_pcvar_num(ranks_hud) == 1)
set_task(1.0, "ShowHud", id, _, _, "b")

new currentPlayerRank = 0;
while(currentPlayerRank < (MaxLevels - 1))
{       
    if(XP[id] >= Levels[currentPlayerRank + 1])
        ++currentPlayerRank;     
    else         
        break;
}
Lvl[id] = currentPlayerRank;
}
public Fwd_Kill(id)
{
    if(is_user_alive(id)) {
        XP[id] -= get_pcvar_num(suicide_xp)
        CheckLevel(id)
        Save(id)
        if(get_pcvar_num(killer_msg) == 1)
            ColorChat(id, RED, "^4[%s]^1 You committed ^3suicide ^1and ^3lost^4 %d XP^1.", getPrefix(),  get_pcvar_num(suicide_xp))

            
        return PLUGIN_CONTINUE
    }
    return PLUGIN_CONTINUE
}

public DeathMessage()
{       
    new killer = read_data(1);
    new victim = read_data(2);
    new headshot = read_data(3);
    new Weapon[ 32 ];
    read_data( 4, Weapon, charsmax( Weapon ) );
    
    format( Weapon, charsmax( Weapon ), "weapon_%s", Weapon );
    
    if( contain( Weapon, "nade" ) >= 0 )
    Weapon = "weapon_hegrenade"
    
    
    new iWeapon = get_weaponid( Weapon );
    
    if(killer == victim)
        return PLUGIN_CONTINUE;
    if(!killer || killer > MaxPlayers)
        return PLUGIN_CONTINUE;
    
    new victim_name[32];
    get_user_name(victim, victim_name, 31);
    
    get_pcvar_string(VipFlag, temp_flag, charsmax(temp_flag));
    
    
    if(iWeapon == CSW_HEGRENADE)
    {
    
        if(get_pcvar_num(Vip) == 1 && get_user_flags(killer) & read_flags(temp_flag)) {
            XP[killer] += get_pcvar_num(he_xp)*2
            CheckLevel(killer)
            Save(killer)
            if(get_pcvar_num(killer_msg) == 1) {
                ColorChat(killer, RED, "^4[%s]^1 You killed ^4%s^1 with ^3HE Grenade^1 and got^4 %d XP^1. [ ^4 V.I.P Bonus 2X^1]" , getPrefix(),victim_name,  get_pcvar_num(he_xp)*2)
                return PLUGIN_CONTINUE
            }
        } else {
            XP[killer] += get_pcvar_num(he_xp)
            CheckLevel(killer)
            Save(killer)
            if(get_pcvar_num(killer_msg) == 1){
                ColorChat(killer, RED, "^4[%s]^1 You killed ^4%s^1 with ^3HE Grenade^1 and got^4 %d XP^1.", getPrefix(),victim_name,  get_pcvar_num(he_xp))
                return PLUGIN_CONTINUE
            }
        }
    }
    if(iWeapon == CSW_KNIFE)
    {
        if(get_pcvar_num(Vip) == 1 && get_user_flags(killer) & read_flags(temp_flag)) {
            XP[killer] += get_pcvar_num(knife_xp)*2
            CheckLevel(killer)
            Save(killer)
            if(get_pcvar_num(killer_msg) == 1) {
                ColorChat(killer, RED, "^4[%s]^1 You killed ^4%s^1 with ^3Knife^1 and got^4 %d XP^1. [ ^4 V.I.P Bonus 2X^1]", getPrefix(),victim_name,  get_pcvar_num(knife_xp)*2)
                return PLUGIN_CONTINUE
            }
        } else {
            XP[killer] += get_pcvar_num(knife_xp)
            CheckLevel(killer)
            Save(killer)
            if(get_pcvar_num(killer_msg) == 1){
                ColorChat(killer, GREY, "^4[%s]^1 You killed ^4%s^1 with ^3Knife^1 and got^4 %d XP^1.", getPrefix(),victim_name, get_pcvar_num(knife_xp))
                return PLUGIN_CONTINUE
            }
        }
    }
    
    
    if(headshot)
    {
        if(get_pcvar_num(Vip) == 1 && get_user_flags(killer) & read_flags(temp_flag)) {
            XP[killer] += get_pcvar_num(hs_xp)*2
            CheckLevel(killer)
            Save(killer)
            if(get_pcvar_num(killer_msg) == 1){
                ColorChat(killer, BLUE, "^4[%s]^1 You killed ^4%s^1 with ^3Head^4Shot^1 and got^4 %d XP^1.[ ^4 V.I.P Bonus 2X^1]", getPrefix(),victim_name, get_pcvar_num(hs_xp)*2)
                return PLUGIN_CONTINUE
            }
        } else {
            XP[killer] += get_pcvar_num(hs_xp)
            CheckLevel(killer)
            Save(killer)
            if(get_pcvar_num(killer_msg) == 1) {
                ColorChat(killer, BLUE, "^4[%s]^1 You killed ^4%s^1 with ^3Head^4Shot^1 and got^4 %d XP^1.", getPrefix(),victim_name, get_pcvar_num(hs_xp))
                return PLUGIN_CONTINUE
            }
        }
    }
    else
    {
        if(get_pcvar_num(Vip) == 1 && get_user_flags(killer) & read_flags(temp_flag)) {
            XP[killer] += get_pcvar_num(kill_xp)*2
            CheckLevel(killer)
            Save(killer)
            if(get_pcvar_num(killer_msg) == 1) {
                ColorChat(killer, NORMAL, "^4[%s]^1 You killed ^4%s^1 and got^4 %d XP^1.[ ^4V.I.P Bonus 2X^1]", getPrefix(),victim_name, get_pcvar_num(kill_xp)*2)
                return PLUGIN_CONTINUE
            }
        } else {
        XP[killer] += get_pcvar_num(kill_xp)
        CheckLevel(killer)
        Save(killer)
        if(get_pcvar_num(killer_msg) == 1){
            ColorChat(killer, RED, "^4[%s]^1 You killed ^4%s^1 and got^4 %d XP^1.", getPrefix(),victim_name, get_pcvar_num(kill_xp))
            return PLUGIN_CONTINUE
            }
        }
    }
    CheckLevel(killer)
    Save(killer)
    return PLUGIN_CONTINUE
}

public CheckLevel(id)
{        
    new currentPlayerRank = 0;
    while(currentPlayerRank < (MaxLevels - 1))
    {       
        if(XP[id] >= Levels[currentPlayerRank + 1])
            ++currentPlayerRank;     
        else         
            break;
    }
    Lvl[id] = currentPlayerRank;
}

public client_connect(id)
{
    Load(id)
}


public client_disconnect(id)
{
    Save(id)
    XP[id] = 0
    Lvl[id] = 0
    remove_task(id)
}

public CmdAddXP (index, level, cid)
{
    if(!cmd_access(index, level, cid, 3)) return PLUGIN_HANDLED;
    
    new arg [32]
    read_argv (1, arg, 31)
    
    new AddXP [32]
    read_argv (2, AddXP, charsmax (AddXP))
    
    new XPtoGive = str_to_num (AddXP)
    
    new AdminName [32]
    new TargetName [32]
    get_user_name (index, AdminName, charsmax (AdminName))
    
    if(arg[0]=='@')
    {
        if(equali(arg[1],"All") || equali(arg[1],"ALL"))
        {
            new players[32], totalplayers, All
            get_players(players, totalplayers)
            
            for (new i = 0; i < totalplayers; i++)
            {
                All = players[i]
                
                XP[All] += XPtoGive
            }
            
            CheckLevel(All)
            ColorChat(0, NORMAL, "^4[%s] ^1ADMIN: ^3%s^1 gave^4 %i XP^1 to everyone!", getPrefix(), AdminName, XPtoGive)
        }
        else if(equali(arg[1],"T") || equali(arg[1],"t"))
        {
            new players[32], totalplayers, T
            get_players(players, totalplayers)
            
            for (new i = 0; i < totalplayers; i++)
            {
                if (get_user_team(players[i]) == 1)
                {
                    T = players[i]
                    
                    XP[T] += XPtoGive
                }
            }
            
            CheckLevel(T)
            ColorChat(0, RED, "^4[%s]^1 ADMIN: ^4%s ^1gave ^4%i XP ^1to all ^3Terrorists^1.", getPrefix(), AdminName, XPtoGive)
        }
        else if(equali(arg[1],"CT") || equali(arg[1],"ct"))
        {
            new players[32], totalplayers, CT
            get_players(players, totalplayers)
            
            for(new i = 0; i < totalplayers; i++)
            {
                if(get_user_team(players[i]) == 2)
                {
                    CT = players[i]
                    
                    XP[CT] += XPtoGive
                }
            }
            
            CheckLevel(CT)
            ColorChat(0, BLUE, "^4[%s]^1ADMIN: ^4%s^1 gave^4 %i XP^1to all ^3Counter-Terrorists^1.", getPrefix(), AdminName, XPtoGive)
        }
    }
    else
    {
        new iTarget = cmd_target(index, arg, 3)
        get_user_name (iTarget, TargetName, charsmax (TargetName))
        
        if(iTarget)
        {
            XP[iTarget] += XPtoGive
            
            CheckLevel(iTarget)
            ColorChat(0, NORMAL, "^4[%s]^1 ADMIN: ^3%s^1 gave^4 %i XP^1 to^4 %s^1.", getPrefix(), AdminName, XPtoGive, TargetName)
        }
    }
    return PLUGIN_HANDLED
}
public CmdRemoveXP (index, level, cid)
{
    if(!cmd_access(index, level, cid, 3)) return PLUGIN_HANDLED;
    
    new arg [32]
    read_argv (1, arg, 31)
    
    new RemoveXP [32]
    read_argv (2, RemoveXP, charsmax (RemoveXP))
    
    new XPtoTook = str_to_num (RemoveXP)
    
    new AdminName [32]
    new TargetName [32]
    get_user_name (index, AdminName, charsmax (AdminName))
    
    if(arg[0]=='@')
    {
        if(equali(arg[1],"All") || equali(arg[1],"ALL"))
        {
            new players[32], totalplayers, All
            get_players(players, totalplayers)
            
            for (new i = 0; i < totalplayers; i++)
            {
                All = players[i]
                
                XP[All] -= XPtoTook
            }
            
            CheckLevel(All)
            ColorChat(0, NORMAL, "^4[%s] ^1ADMIN: ^3%s^1 took^4 %i XP^1 from everyone!", getPrefix(), AdminName, XPtoTook)
        }
        else if(equali(arg[1],"T") || equali(arg[1],"t"))
        {
            new players[32], totalplayers, T
            get_players(players, totalplayers)
            
            for (new i = 0; i < totalplayers; i++)
            {
                if (get_user_team(players[i]) == 1)
                {
                    T = players[i]
                    
                    XP[T] -= XPtoTook
                }
            }
            
            CheckLevel(T)
            ColorChat(0, RED, "^4[%s]^1 ADMIN: ^4%s ^1took ^4%i XP ^1from all ^3Terrorists^1.", getPrefix(), AdminName, XPtoTook)
        }
        else if(equali(arg[1],"CT") || equali(arg[1],"ct"))
        {
            new players[32], totalplayers, CT
            get_players(players, totalplayers)
            
            for(new i = 0; i < totalplayers; i++)
            {
                if(get_user_team(players[i]) == 2)
                {
                    CT = players[i]
                    
                    XP[CT] -= XPtoTook
                }
            }
            
            CheckLevel(CT)
            ColorChat(0, BLUE, "^4[%s]^1ADMIN: ^4%s^1 took^4 %i XP^1from all ^3Counter-Terrorists^1.", getPrefix(), AdminName, XPtoTook)
        }
    }
    else
    {
        new iTarget = cmd_target(index, arg, 3)
        get_user_name (iTarget, TargetName, charsmax (TargetName))
        
        if(iTarget)
        {
            XP[iTarget] -= XPtoTook
            
            CheckLevel(iTarget)
            ColorChat(0, NORMAL, "^4[%s]^1 ADMIN: ^3%s^1 took^4 %i XP^1 from^4 %s^1.", getPrefix(), AdminName, XPtoTook, TargetName)
        }
    }
    return PLUGIN_HANDLED
}

public avoid_duplicated(msgId, msgDest, receiver)
{
    return PLUGIN_HANDLED
}

public hook_say(id)
{
if(!is_user_connected(id)) {
    return PLUGIN_HANDLED_MAIN
}

read_args(szArgs, 191)
remove_quotes(szArgs)
    
// Gungame commands and empty messages
if(szArgs[0] == '@' || szArgs[0] == '/' || szArgs[0] == '!' || szArgs[0] == '#' || szArgs[0] == '$' || equal(szArgs, "")) // Ignores Admin Hud Messages, Admin Slash commands
    return PLUGIN_CONTINUE

new iAlive = is_user_alive(id)
new CsTeams:iTeam = cs_get_user_team(id)

new iPlayers[ 32 ], iNum
get_players(iPlayers, iNum)

new szName[32]
get_user_name(id, szName, sizeof szName-1)

new const szPrefixes[2][CsTeams][] = {
{
    "^1*DEAD* ",
    "^1*DEAD* ",
    "^1*DEAD* ",
    "^1*SPEC* "
},
{
    "",
    "",
    "",
    ""
}
}
if(get_pcvar_num(UseAdminPrefixes) == 1){

set_pcvar_num(UseRankSystem, 0)
set_pcvar_num(UseBoth, 0)

new iAdmin = 0, iFlags = get_user_flags(id)

if(iFlags & ADMIN_ONE)
                iAdmin = 1
else if(iFlags & ADMIN_TWO)
                iAdmin = 2
else if(iFlags & ADMIN_THREE)
                iAdmin = 3
else if(iFlags & ADMIN_FOUR)
                iAdmin = 4
else if(iFlags & ADMIN_FIVE)
                iAdmin = 5
else if(iFlags & ADMIN_SIX)
                iAdmin = 6

    
    
if(iFlags & ADMIN_ONE) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^1[^4%s^1] ^3%s : ^4%s", szPrefixes[iAlive][iTeam],szTag[iAdmin], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^1[^4%s^1] ^3%s : ^4%s", szPrefixes[iAlive][iTeam],szTag[iAdmin], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_TWO) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^1[^4%s^1] ^3%s : ^4%s", szPrefixes[iAlive][iTeam],szTag[iAdmin], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^1[^4%s^1] ^3%s : ^4%s", szPrefixes[iAlive][iTeam],szTag[iAdmin], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_THREE) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^1[^4%s^1] ^3%s : ^4%s", szPrefixes[iAlive][iTeam],szTag[iAdmin], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^1[^4%s^1] ^3%s : ^4%s", szPrefixes[iAlive][iTeam],szTag[iAdmin], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_FOUR) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^1[^4%s^1] ^3%s : ^4%s", szPrefixes[iAlive][iTeam],szTag[iAdmin], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^1[^4%s^1] ^3%s : ^4%s", szPrefixes[iAlive][iTeam],szTag[iAdmin], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_FIVE) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^1[^4%s^1] ^3%s : ^4%s", szPrefixes[iAlive][iTeam],szTag[iAdmin], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^1[^4%s^1] ^3%s : ^4%s", szPrefixes[iAlive][iTeam],szTag[iAdmin], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_SIX) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^1[^4%s^1] ^3%s : ^4%s", szPrefixes[iAlive][iTeam],szTag[iAdmin], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^1[^4%s^1] ^3%s : ^4%s", szPrefixes[iAlive][iTeam],szTag[iAdmin], szName, szArgs)
    }
} else {
if(cs_get_user_team(id) == CS_TEAM_CT) {
    ColorChat(0, BLUE, "%s^1[^4%s^1] ^3%s : ^1%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szName, szArgs)
}else if(cs_get_user_team(id) == CS_TEAM_T) {
    ColorChat(0, RED, "%s^1[^4%s^1] ^3%s : ^1%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szName, szArgs)
    }
}

return PLUGIN_HANDLED_MAIN
}

if(get_pcvar_num(UseRankSystem) == 1){
    
set_pcvar_num(UseAdminPrefixes, 0)
set_pcvar_num(UseBoth, 0)
    
new iFlags = get_user_flags(id)
    
if(iFlags & ADMIN_ONE) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^1[^4%s^1] ^3%s : ^4%s", szPrefixes[iAlive][iTeam],Prefix[Lvl[id]], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^1[^4%s^1] ^3%s : ^4%s", szPrefixes[iAlive][iTeam],Prefix[Lvl[id]], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_TWO) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^1[^4%s^1] ^3%s : ^4%s", szPrefixes[iAlive][iTeam],Prefix[Lvl[id]], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^1[^4%s^1] ^3%s : ^4%s", szPrefixes[iAlive][iTeam],Prefix[Lvl[id]], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_THREE) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^1[^4%s^1] ^3%s : ^4%s", szPrefixes[iAlive][iTeam],Prefix[Lvl[id]], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^1[^4%s^1] ^3%s : ^4%s", szPrefixes[iAlive][iTeam],Prefix[Lvl[id]], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_FOUR) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^1[^4%s^1] ^3%s : ^4%s", szPrefixes[iAlive][iTeam],Prefix[Lvl[id]], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^1[^4%s^1] ^3%s : ^4%s", szPrefixes[iAlive][iTeam],Prefix[Lvl[id]], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_FIVE) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^1[^4%s^1] ^3%s : ^4%s", szPrefixes[iAlive][iTeam],Prefix[Lvl[id]], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^1[^4%s^1] ^3%s : ^4%s", szPrefixes[iAlive][iTeam],Prefix[Lvl[id]], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_SIX) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^1[^4%s^1] ^3%s : ^4%s", szPrefixes[iAlive][iTeam],Prefix[Lvl[id]], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^1[^4%s^1] ^3%s : ^4%s", szPrefixes[iAlive][iTeam],Prefix[Lvl[id]], szName, szArgs)
    }
} else {
if(cs_get_user_team(id) == CS_TEAM_CT) {
    ColorChat(0, BLUE, "%s^1[^4%s^1] ^3%s : ^1%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szName, szArgs)
}else if(cs_get_user_team(id) == CS_TEAM_T) {
    ColorChat(0, RED, "%s^1[^4%s^1] ^3%s : ^1%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szName, szArgs)
    }
}

return PLUGIN_HANDLED_MAIN
}

if(get_pcvar_num(UseBoth) == 1){
    
set_pcvar_num(UseAdminPrefixes, 0)
set_pcvar_num(UseRankSystem, 0)
    
new iAdmin = 0, iFlags = get_user_flags(id)

if(iFlags & ADMIN_ONE)
                iAdmin = 1
else if(iFlags & ADMIN_TWO)
                iAdmin = 2
else if(iFlags & ADMIN_THREE)
                iAdmin = 3
else if(iFlags & ADMIN_FOUR)
                iAdmin = 4
else if(iFlags & ADMIN_FIVE)
                iAdmin = 5
else if(iFlags & ADMIN_SIX)
                iAdmin = 6

    
    
if(iFlags & ADMIN_ONE) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^1[^4%s^1] ^3[^4%s^3] ^3%s : ^4%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szTag[iAdmin], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^1[^4%s^1] ^3[^4%s^3] ^3%s : ^4%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szTag[iAdmin], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_TWO) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^1[^4%s^1] ^3[^4%s^3] ^3%s : ^4%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szTag[iAdmin], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^1[^4%s^1] ^3[^4%s^3] ^3%s : ^4%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szTag[iAdmin], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_THREE) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^1[^4%s^1] ^3[^4%s^3] ^3%s : ^4%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szTag[iAdmin], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^1[^4%s^1] ^3[^4%s^3] ^3%s : ^4%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szTag[iAdmin], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_FOUR) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^1[^4%s^1] ^3[^4%s^3] ^3%s : ^4%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szTag[iAdmin], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^1[^4%s^1] ^3[^4%s^3] ^3%s : ^4%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szTag[iAdmin], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_FIVE) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^1[^4%s^1] ^3[^4%s^3] ^3%s : ^4%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szTag[iAdmin], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^1[^4%s^1] ^3[^4%s^3] ^3%s : ^4%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szTag[iAdmin], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_SIX) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^1[^4%s^1] ^3[^4%s^3] ^3%s : ^4%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szTag[iAdmin], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^1[^4%s^1] ^3[^4%s^3] ^3%s : ^4%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szTag[iAdmin], szName, szArgs)
    }
}  else {
if(cs_get_user_team(id) == CS_TEAM_CT) {
    ColorChat(0, BLUE, "%s^1[^4%s^1] ^3%s : ^1%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szName, szArgs)
}else if(cs_get_user_team(id) == CS_TEAM_T) {
    ColorChat(0, RED, "%s^1[^4%s^1] ^3%s : ^1%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szName, szArgs)
    }
}
return PLUGIN_HANDLED_MAIN
}

if(get_pcvar_num(UseAdminPrefixes) == 0 && get_pcvar_num(UseRankSystem) == 0 && get_pcvar_num(UseBoth) == 0)
{
    if(cs_get_user_team(id) == CS_TEAM_CT) {
    ColorChat(0, NORMAL, "%s^3%s^1: %s", szPrefixes[iAlive][iTeam], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, NORMAL, "%s^3%s^1: %s", szPrefixes[iAlive][iTeam],szName, szArgs)
    }
    
}
return PLUGIN_HANDLED_MAIN
}

public hook_teamsay(id) {
if(!is_user_connected(id)) {
    return PLUGIN_HANDLED_MAIN
}

read_args(szArgs, 191)
remove_quotes(szArgs)
    
// Gungame commands and empty messages
if(szArgs[0] == '@' || szArgs[0] == '/' || szArgs[0] == '!' || szArgs[0] == '#' || szArgs[0] == '$' || equal(szArgs, "")) // Ignores Admin Hud Messages, Admin Slash commands
    return PLUGIN_CONTINUE

new iAlive = is_user_alive(id)
new CsTeams:iTeam = cs_get_user_team(id)

new iPlayers[32], iNum
get_players(iPlayers, iNum)

new szName[32]
get_user_name(id, szName, sizeof szName-1)

new const szPrefixes[2][CsTeams][] = {
{
    "^3(Spectator) ",
    "^1*DEAD* ^3(Terrorist) ",
    "^1*DEAD* ^3(Counter-Terrorist) ",
    "^3(Spectator) "
},
{
"^3(Spectator) ",
"^3(Terrorist) ",
"^3(Counter-Terrorist) ",
"^3(Spectator) "
}
}
if(get_pcvar_num(UseAdminPrefixes) == 1){

set_pcvar_num(UseRankSystem, 0)
set_pcvar_num(UseBoth, 0)

new iAdmin = 0, iFlags = get_user_flags(id)

if(iFlags & ADMIN_ONE)
                iAdmin = 1
else if(iFlags & ADMIN_TWO)
                iAdmin = 2
else if(iFlags & ADMIN_THREE)
                iAdmin = 3
else if(iFlags & ADMIN_FOUR)
                iAdmin = 4
else if(iFlags & ADMIN_FIVE)
                iAdmin = 5
else if(iFlags & ADMIN_SIX)
                iAdmin = 6

    
    
if(iFlags & ADMIN_ONE) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam],szTag[iAdmin], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam],szTag[iAdmin], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_TWO) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam],szTag[iAdmin], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam],szTag[iAdmin], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_THREE) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam],szTag[iAdmin], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam],szTag[iAdmin], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_FOUR) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam],szTag[iAdmin], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam],szTag[iAdmin], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_FIVE) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam],szTag[iAdmin], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam],szTag[iAdmin], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_SIX) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam],szTag[iAdmin], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam],szTag[iAdmin], szName, szArgs)
    }
} else {
if(cs_get_user_team(id) == CS_TEAM_CT) {
    ColorChat(0, BLUE, "%s^3[^4%s^3] ^3%s^4: ^1%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szName, szArgs)
}else if(cs_get_user_team(id) == CS_TEAM_T) {
    ColorChat(0, RED, "%s^3[^4%s^3] ^3%s^4: ^1%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szName, szArgs)
    }
}

return PLUGIN_HANDLED_MAIN
}

if(get_pcvar_num(UseRankSystem) == 1){
    
set_pcvar_num(UseAdminPrefixes, 0)
set_pcvar_num(UseBoth, 0)
    
new iFlags = get_user_flags(id)
    
if(iFlags & ADMIN_ONE) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam],Prefix[Lvl[id]], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam],Prefix[Lvl[id]], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_TWO) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam],Prefix[Lvl[id]], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam],Prefix[Lvl[id]], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_THREE) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam],Prefix[Lvl[id]], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam],Prefix[Lvl[id]], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_FOUR) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam],Prefix[Lvl[id]], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam],Prefix[Lvl[id]], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_FIVE) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam],Prefix[Lvl[id]], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam],Prefix[Lvl[id]], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_SIX) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam],Prefix[Lvl[id]], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam],Prefix[Lvl[id]], szName, szArgs)
    }
} else {
if(cs_get_user_team(id) == CS_TEAM_CT) {
    ColorChat(0, BLUE, "%s^3[^4%s^3] ^3%s^4: ^1%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szName, szArgs)
}else if(cs_get_user_team(id) == CS_TEAM_T) {
    ColorChat(0, RED, "%s^3[^4%s^3] ^3%s^4: ^1%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szName, szArgs)
    }
}

return PLUGIN_HANDLED_MAIN
}

if(get_pcvar_num(UseBoth) == 1){
    
set_pcvar_num(UseAdminPrefixes, 0)
set_pcvar_num(UseRankSystem, 0)
    
new iAdmin = 0, iFlags = get_user_flags(id)

if(iFlags & ADMIN_ONE)
                iAdmin = 1
else if(iFlags & ADMIN_TWO)
                iAdmin = 2
else if(iFlags & ADMIN_THREE)
                iAdmin = 3
else if(iFlags & ADMIN_FOUR)
                iAdmin = 4
else if(iFlags & ADMIN_FIVE)
                iAdmin = 5
else if(iFlags & ADMIN_SIX)
                iAdmin = 6

    
    
if(iFlags & ADMIN_ONE) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^3[^4%s^3] ^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szTag[iAdmin], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^3[^4%s^3] ^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szTag[iAdmin], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_TWO) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^3[^4%s^3] ^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szTag[iAdmin], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^3[^4%s^3] ^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szTag[iAdmin], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_THREE) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^3[^4%s^3] ^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szTag[iAdmin], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^3[^4%s^3] ^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szTag[iAdmin], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_FOUR) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^3[^4%s^3] ^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szTag[iAdmin], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^3[^4%s^3] ^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szTag[iAdmin], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_FIVE) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^3[^4%s^3] ^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szTag[iAdmin], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^3[^4%s^3] ^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szTag[iAdmin], szName, szArgs)
    }
} else 
if(iFlags & ADMIN_SIX) {
    if(cs_get_user_team(id) == CS_TEAM_CT) {
        ColorChat(0, BLUE, "%s^3[^4%s^3] ^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szTag[iAdmin], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, RED, "%s^3[^4%s^3] ^3[^4%s^3] ^3%s^1: ^4%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szTag[iAdmin], szName, szArgs)
    }
} else {
if(cs_get_user_team(id) == CS_TEAM_CT) {
    ColorChat(0, BLUE, "%s^3[^4%s^3] ^3%s^4: ^1%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szName, szArgs)
}else if(cs_get_user_team(id) == CS_TEAM_T) {
    ColorChat(0, RED, "%s^3[^4%s^3] ^3%s^4: ^1%s", szPrefixes[iAlive][iTeam], Prefix[Lvl[id]], szName, szArgs)
    }
}
return PLUGIN_HANDLED_MAIN
}

if(get_pcvar_num(UseAdminPrefixes) == 0 && get_pcvar_num(UseRankSystem) == 0 && get_pcvar_num(UseBoth) == 0)
{
    if(cs_get_user_team(id) == CS_TEAM_CT) {
    ColorChat(0, NORMAL, "%s^3%s^1: %s", szPrefixes[iAlive][iTeam], szName, szArgs)
    } else if(cs_get_user_team(id) == CS_TEAM_T) {
        ColorChat(0, NORMAL, "%s^3%s^1: %s", szPrefixes[iAlive][iTeam],szName, szArgs)
    }
    
}
return PLUGIN_HANDLED_MAIN
}

public Save(id)
{
    new name[32];
    get_user_name(id,name,31);
    new vaultkey[64],vaultdata[256];
    
    format(vaultkey,63,"%s", name);
    format(vaultdata,255,"%i#%i#",XP[id],Lvl[id]);
    fvault_set_data(g_vault_name,vaultkey,vaultdata);
    
    return PLUGIN_CONTINUE;
}
public Load(id)
{
    new name[32];
    get_user_name(id,name,31);
    new vaultkey[64],vaultdata[256];
    
    format(vaultkey,63,"%s",name);
    format(vaultdata,255,"%i#%i#",XP[id],Lvl[id]);
    fvault_get_data(g_vault_name,vaultkey,vaultdata,charsmax(vaultdata));
    
    replace_all(vaultdata, 255, "#", " ");
    new playerxp[32], playerlevel[32];
    parse(vaultdata, playerxp, 31, playerlevel, 31);
    
    XP[id] = str_to_num(playerxp);
    Lvl[id] = str_to_num(playerlevel);
    
    return PLUGIN_CONTINUE;
}
public changeTeamInfo(player, team[])
{
    message_begin(MSG_ONE, teamInfo, _, player)    // Tells to to modify teamInfo(Which is responsable for which time player is)
    write_byte(player)                // Write byte needed
    write_string(team)                // Changes player's team
    message_end()                    // Also Needed
}

public writeMessage(player, szArgs[])
{
    message_begin(MSG_ONE, sayText, {0, 0, 0}, player)    // Tells to modify sayText(Which is responsable for writing colored messages)
    write_byte(player)                    // Write byte needed
    write_string(szArgs)                    // Effectively write the message, finally, afterall
    message_end()                        // Needed as always
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1026\\ f0\\ fs16 \n\\ par }
*/
User avatar
BorkoStoilov
Потребител
Потребител
Posts: 5
Joined: 08 Jan 2018, 12:40

Re: Заявки за rank system-и

Post by BorkoStoilov »

25 - [Novak]
От 25 до 75 -->[Napredvasht]
От 75 до 150 -->[Ubiec]
От 150 до 250 -->[Expert]
От 250 до 500 -->[Serien Ubiec]
От 500 до 750 -->[Terminator]
От 750 до 1000 -->[Titan]
От 1000 до 1250 -->[Assassin]
От 1250 до 1700 -->[Hitman]
От 1700 до 2300 -->[James Bond]
От 2300 до 3000 -->[Agent 007]
И от 3000+ нагоре килове -->[Hitler]


Чат нормален, префиха да е Зелен.
Пример -
[Assassin] Pacata523 - здр

Да излиза горе в ляво така -
Rank: [Novak]
Score: 2/25


Admin Ranks:
p = [Sobstvenik]
n = [Glaven Admin]
o = [Server Admin]
q = [Test Admin]
s = [SmS-Admin]
t = [VIP]
Пример при админ ранковете -
[Glaven Admin][Assassin] Pacata523 - Как сте - При терористи
[Glaven Admin][Assassin] Pacata523 - Как сте - При полицаи
User avatar
Alexandrowpz
Потребител
Потребител
Posts: 1
Joined: 22 Nov 2017, 15:57

Re: Заявки за rank system-и

Post by Alexandrowpz »

@Robo, не може да се компилира.
Дава тази грешка fatal error 100: cannot read from file: "fvault"

Edit: Оправих се. Липсваща библиотека.
User avatar
xause
V.I.P
Posts: 32
Joined: 12 Feb 2016, 13:55
Skype: live:mazeto.bg
CS Nick: Xaus
Favorite version: CS: 1.6
Steam Community ID: kifii
Contact:

Re: Заявки за rank system-и

Post by xause »

[Row] 0-15
[Corporal] 15-50
[Junior sergeant] 50-100
[Sergeant] 100-150
[Senior sergeant] 200-250
[Senior] 300-400
[Occupational candidate - 2 class] 500-750
[Occupational candidate - 1 class] 750-800
[Lieutenant] 900-1000
[Senior Lieutenant] 1050-1200
[Captain] 1900-2100
[Major] 2500-3000
[Lieutenant colonel] 3000-3500
[Colonel] 4000-4500
[Admiral 4550-5500
Благодаря Предварително
User avatar
Delux200
Потребител
Потребител
Posts: 4
Joined: 03 Feb 2018, 16:59

Re: Заявки за rank system-и

Post by Delux200 »

Здравейте може ли някой да ми направи тази заявка? Знам че темата е стара но :( пуснах сървър и ми трябва това.
Благодаря ви предварително

До 50 убийства да му пише [Bot]
След 50 убийства до 150 да му пише [Botkiller]
След 150 убийства до 300 да му пише [Ultrakiller]
След като мине 300 убийства до 500 да му пише [SuperBoss]
След 500 убийства до 700 да му пише [MegaBoss]
След като мине 700 убийства до 900 да му пише [Officer]
След като мине 900 убийства до 1100 да му пише [Commander]
От 1100 убийства до 1300 убийства да му пише [General]
от 1300 убийства до 1500 [Starshina]
А след 1500 до безкрай [Terminator]


[Head Admin] - Flag n
[Admin] - flag d
[SMS Admin] - Flag c
[V.I.P] - Flag a

Префикс:Бял
Ник:Зелен
Чат:Бял

Искам и да показва това:
http://i.imgur.com/uK8SEb9.png
User avatar
Delux200
Потребител
Потребител
Posts: 4
Joined: 03 Feb 2018, 16:59

Re: Заявки за rank system-и

Post by Delux200 »

Няма ли някой да ми направи заявката :(
User avatar
iVoka
CS-bg.info Admin
CS-bg.info Admin
Posts: 1324
Joined: 29 Jun 2007, 12:21
Favorite version: CS: 1.6
Steam Community ID: ivobg92
Contact:

Re: Заявки за rank system-и

Post by iVoka »

Delux200 wrote:Няма ли някой да ми направи заявката :(
Приказката за неволята чувал ли си я? Можеш да разгледаш другите заявки как са направени и с малко труд да си направиш твоята.
Post Reply

Return to “Заявки”