AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   Terrorists are blue in chat, and CTs are red (https://forums.alliedmods.net/showthread.php?t=272737)

Adomaz1 10-05-2015 11:37

Terrorists are blue in chat, and CTs are red
 
hello, I have a little problem: when typing something in chat, nickname is red when I'm in CTs. Nickname is blue, when you're in Ts. What is the problem?

It looks like this:
[RANK] CT: message

Code:

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

new const PLUGIN[] = "Global Offensive";
new const VERSION[] = "1.1p";
new const AUTHOR[] = "DeRoiD";

#define MAX 50

#define PointsMin 3
#define PointsMax 8
#define Drop 10
#define MarkMin 25

#pragma semicolon 1

new WeaponNames[MAX][32], WeaponMdls[MAX][48], Weapons[MAX], WeaponDrop[MAX], AllWeapon;
new UsingWeapon[3][33], uWeapon[MAX][33], Chest[33], pKey[33], Points[33], Rang[33], Kills[33],
aThing[33], aTarget[33], aPoints[33], Prefix[32];
new Folder[48], SkinFile[48], SaveFile[48], RegisterFile[48], DefaultSkinFile[48], RangFile[48], MenuMod[33], SayText;
new WeaponinMarket[33], inMarket[33], MarketPoints[33], Choosen[33];
new SavedPassword[33][32], bool:Loged[33], Password[33][32];
new DefaultSkin[31][32], NeedKills[30], Rangs[30][32];

new const eWeapon[][] =
{
        "weapon_famas", "weapon_usp", "weapon_awp", "weapon_mp5navy", "weapon_m3", "weapon_m4a1",
        "weapon_deagle", "weapon_ak47", "weapon_knife", "weapon_flashbang", "weapon_hegrenade",
        "weapon_smokegrenade", "weapon_c4"
};

public plugin_precache() {
        new Line[128], Data[4][48], Len;
        AllWeapon++;
        get_configsdir(Folder, 47);
        format(SkinFile, 47, "%s/csgo/skins.cfg", Folder);
        format(SaveFile, 47, "%s/csgo/save.ini", Folder);
        format(RangFile, 47, "%s/csgo/rangs.cfg", Folder);
        format(RegisterFile, 47, "%s/csgo/reg.ini", Folder);
        format(DefaultSkinFile, 47, "%s/csgo/dskins.cfg", Folder);
        format(Prefix, 31, "[Global Offensive]");
       
        if(file_exists(RangFile))
        {
                for(new i; i < file_size(RangFile, 1); i++)
                {
                        read_file(RangFile, i, Line, 127, Len);
                        parse(Line, Data[0], 31, Data[1], 31);
                       
                        copy(Rangs[i], 31, Data[0]);
                        NeedKills[i] = str_to_num(Data[1]);
                }
        }
        if(file_exists(SkinFile))
        {
                for(new i; i < file_size(SkinFile, 1); i++)
                {
                        read_file(SkinFile, i, Line, 127, Len);
                       
                        if(strlen(Line) < 5 || Line[0] == ';')
                                continue;
                       
                        parse(Line, Data[0], 31, Data[1], 31, Data[2], 47, Data[3], 31);
                       
                        Weapons[AllWeapon] = str_to_num(Data[0]);
                        copy(WeaponNames[AllWeapon], 31, Data[1]);
                       
                        if(ValidMdl(Data[2])) {
                                precache_model(Data[2]);
                                copy(WeaponMdls[AllWeapon], 47, Data[2]);
                        }
                       
                        WeaponDrop[AllWeapon] = str_to_num(Data[3]);
                        AllWeapon++;
                }
        }
        if(file_exists(DefaultSkinFile))
        {
                for(new i; i < file_size(DefaultSkinFile, 1); i++)
                {
                        read_file(DefaultSkinFile, i, Line, 127, Len);
                       
                        if(strlen(Line) < 5 || Line[0] == ';')
                                continue;
                       
                        parse(Line, Data[0], 31, Data[1], 47);
                       
                        if(ValidMdl(Data[1])) {
                                precache_model(Data[1]);
                                copy(DefaultSkin[str_to_num(Data[0])], 47, Data[1]);
                        }
                }
        }
}
public plugin_init() {
        register_dictionary("globaloffensive.txt");
        register_plugin(PLUGIN, VERSION, AUTHOR);
        register_cvar(PLUGIN, VERSION, FCVAR_SERVER);
       
        register_clcmd("say /menu", "MenuOpen");
        register_clcmd("say /reg", "RegMenu");
        register_clcmd("say /gun", "Guns");
       
        register_concmd("Cost", "MarketCost");
        register_concmd("Gift", "GiftPoint");
        register_concmd("UserPassword", "PlayerPassword");
       
        SayText = get_user_msgid("SayText");
        register_forward(FM_ClientUserInfoChanged, "NameChange");
        RegisterHam(Ham_Spawn, "player", "PlayerSpawn", 1);
       
        for(new i; i < sizeof(eWeapon); i++)
        {
                RegisterHam(Ham_Item_Deploy, eWeapon[i], "WeaponSwitch", 1);
        }
       
        register_clcmd("say", "Say");
        register_clcmd("say_team", "Say");
       
        set_task(67.3, "Message", 7217, _, _, "b");
}
public Say(id)
{
        new Chat[256], Name[32], cChat[256];
        read_args(Chat, 255);
        remove_quotes(Chat);
        get_user_name(id, Name, 31);
       
        if(strlen(Chat) > 1)
        {
                formatex(cChat, 255, "^4[%s] ^3%s^1: %s", Rangs[Rang[id]], Name, Chat);
        }
       
        ColorChat(0, TEAM_COLOR, cChat);
        return PLUGIN_HANDLED;
}

public MenuOpen(id)
{
        if(!Loged[id])
        {
                RegMenu(id);
                return;
        }
       
        MenuMod[id] = 0;
        Menu(id);
}
public client_death(Killer, Victim)
{
        if(Killer == Victim)
        {
                return PLUGIN_HANDLED;
        }
       
        Kills[Killer]++;
       
        if(Rang[Killer] < sizeof(Rangs) && Rang[Killer] < file_size(RangFile, 1))
        {
                if(Kills[Killer] >= NeedKills[Rang[Killer]])
                        Rang[Killer]++;
        }
       
        new pPont, Name[32];
       
        pPont += random_num(PointsMin, PointsMax);
        Points[Killer] += pPont;
       
        set_hudmessage(255, 255, 255, -1.0, 0.15, 0, 6.0, 2.0);
        show_hudmessage(Killer, "%L", LANG_SERVER, "POINT", pPont);
       
       
        if(Drop >= random_num(1, 100))
        {
                get_user_name(Killer, Name, 31);
                new x = random_num(1, 2);
                if(x == 1)
                {
                        pKey[Killer]++;
                        print_color(0, "!g%s%L", Prefix, LANG_SERVER, "FOUNDKEY", Name);
                }
                if(x == 2)
                {
                        Chest[Killer]++;
                        print_color(0, "!g%s%L", Prefix, LANG_SERVER, "FOUNDCHEST", Name);
                }
        }
        Save(Killer);
        return PLUGIN_CONTINUE;
}
public MarketCost(id)
{
        if(inMarket[id] || !Loged[id])
                return PLUGIN_HANDLED;
               
        new Data[32], Cost;
        read_args(Data, 31);
        remove_quotes(Data);
       
        Cost = str_to_num(Data);
       
        if(Cost < 0)
        {
                client_cmd(id, "messagemode Cost");
                return PLUGIN_HANDLED;
        }
        else if(MarkMin >= Cost)
        {
                print_color(id, "%s %L", Prefix, LANG_SERVER, "NOTENOUGHTMARKET", MarkMin);
                client_cmd(id, "messagemode Cost");
                return PLUGIN_HANDLED;
        }
        else
        {
                MarketPoints[id] = Cost;
                Menu(id);
                MenuMod[id] = 3;
                return PLUGIN_CONTINUE;
        }
        return PLUGIN_CONTINUE;
}
public GiftPoint(id)
{
        if(inMarket[id] || !Loged[id])
                return PLUGIN_HANDLED;
               
        new Data[32], Cost;
        read_args(Data, 31);
        remove_quotes(Data);
       
        Cost = str_to_num(Data);
       
        if(Cost < 0 || Points[id] < Cost)
        {
                client_cmd(id, "messagemode Gift");
                return PLUGIN_HANDLED;
        }
        else
        {
                aPoints[id] = Cost;
                Menu(id);
                MenuMod[id] = 5;
                return PLUGIN_CONTINUE;
        }
        return PLUGIN_CONTINUE;
}
public WeaponSwitch(Weapon) {
        new id = get_pdata_cbase(Weapon, 41, 4);
        new wid = cs_get_weapon_id(Weapon);
       
        if(id > 32 || id < 1)
        {
                return HAM_SUPERCEDE;
        }
       
        for(new i = 1; i < AllWeapon; i++)
        {
                if(i == UsingWeapon[0][id])
                {
                        if(wid == Weapons[i])
                        {
                                set_pev(id, pev_viewmodel2, WeaponMdls[i]);
                                return HAM_SUPERCEDE;
                        }
                }
                else if(i == UsingWeapon[1][id])
                {
                        if(wid == Weapons[i])
                        {
                                set_pev(id, pev_viewmodel2, WeaponMdls[i]);
                                return HAM_SUPERCEDE;
                        }
                }
                else if(i == UsingWeapon[2][id])
                {
                        if(wid == Weapons[i])
                        {
                                set_pev(id, pev_viewmodel2, WeaponMdls[i]);
                                return HAM_SUPERCEDE;
                        }
                }
               
        }
        if(ValidMdl(DefaultSkin[wid]))
        {
                set_pev(id, pev_viewmodel2, DefaultSkin[wid]);
        }
        return HAM_IGNORED;
}
public ChestOpen(id)
{
        new rWeapon = random_num(1, AllWeapon);
        new rNum = random_num(1, 100);
       
        if(WeaponDrop[rWeapon] >= rNum)
        {
                new Name[32];
                get_user_name(id, Name, 31);
                print_color(id, "!g[CSGO]%L", LANG_SERVER, "FOUNDITEM", Name, WeaponNames[rWeapon]);
                uWeapon[rWeapon][id]++;
                Save(id);
        }
        else
        {
                set_task(0.1, "ChestOpen", id);
        }
}
public Menu(id)
{
        if(!Loged[id])
        {
                RegMenu(id);
                return;
        }
       
        new sMenu, Line[128];
       
        if(MenuMod[id] == -2)
        {
                formatex(Line, 127, "%s\r %L %L",
                Prefix, LANG_SERVER, "GIFTCH", LANG_SERVER, "YPOINT", Points[id]);
                sMenu = menu_create(Line, "MenuHandler");
                new String[32], All;
                for(new i = 1; i < AllWeapon; i++)
                {
                        if(uWeapon[i][id] == 0)
                                continue;
                               
                        num_to_str(i, String, 31);
                        formatex(Line, 127, "%L", LANG_SERVER, "SKINPIECE", WeaponNames[i], uWeapon[i][id]);
                        menu_additem(sMenu, Line, String);
                        All++;
                }
                if(Chest[id] > 0)
                {
                        formatex(Line, 127, "%L", LANG_SERVER, "CHESTPIECE", Chest[id]);
                        menu_additem(sMenu, Line, "101");
                        All++;
                }
                if(pKey[id] > 0)
                {
                        formatex(Line, 127, "%L", LANG_SERVER, "KEYPIECE", pKey[id]);
                        menu_additem(sMenu, Line, "102");
                        All++;
                }
                if(All == 0)
                {
                        MenuMod[id] = 0;
                        Menu(id);
                }
        }
        else if(MenuMod[id] == -1)
        {
                formatex(Line, 127, "%s\r %L %L",
                Prefix, LANG_SERVER, "GIFTCH", LANG_SERVER, "YPOINT", Points[id]);
                sMenu = menu_create(Line, "MenuHandler");
                new String[32], All;
                for(new i = 1; i < AllWeapon; i++)
                {
                        if(uWeapon[i][id] == 0)
                                continue;
                               
                        num_to_str(i, String, 31);
                        formatex(Line, 127, "%L", LANG_SERVER, "SKINPIECE", WeaponNames[i], uWeapon[i][id]);
                        menu_additem(sMenu, Line, String);
                        All++;
                }
                if(Chest[id] > 0)
                {
                        formatex(Line, 127, "%L", LANG_SERVER, "CHESTPIECE", Chest[id]);
                        menu_additem(sMenu, Line, "101");
                        All++;
                }
                if(pKey[id] > 0)
                {
                        formatex(Line, 127, "%L", LANG_SERVER, "KEYPIECE", pKey[id]);
                        menu_additem(sMenu, Line, "102");
                        All++;
                }
                if(All == 0)
                {
                        MenuMod[id] = 0;
                        Menu(id);
                }
        }
        else if(MenuMod[id] == 0)
        {
                formatex(Line, 127, "%s\r %L %L",
                Prefix, LANG_SERVER, "MAIN", LANG_SERVER, "YPOINT", Points[id]);
                sMenu = menu_create(Line, "MenuHandler");
                formatex(Line, 127, "%L", LANG_SERVER, "MENUTOSKINS");
                menu_additem(sMenu, Line, "1");
               
                if(!inMarket[id])
                {
                        formatex(Line, 127, "%L", LANG_SERVER, "MENUTOCHESTOPEN");
                        menu_additem(sMenu, Line, "2");
                }
                else
                {
                        formatex(Line, 127, "%L %L",
                        LANG_SERVER, "MENUTOCHESTOPEN", LANG_SERVER, "INMARKET");
                        menu_additem(sMenu, Line, "0");
                }
               
                formatex(Line, 127, "%L", LANG_SERVER, "MENUTOMARKET");
                menu_additem(sMenu, Line, "3");
               
                if(!inMarket[id])
                {
                        formatex(Line, 127, "%L", LANG_SERVER, "MENUTODUSTBIN");
                        menu_additem(sMenu, Line, "4");
                }
                else
                {
                        formatex(Line, 127, "%L %L",
                        LANG_SERVER, "MENUTODUSTBIN", LANG_SERVER, "INMARKET");
                        menu_additem(sMenu, Line, "0");
                }
               
                if(!inMarket[id])
                {
                        formatex(Line, 127, "%L%L",
                        LANG_SERVER, "MENUTOGIFT", LANG_SERVER, "MRANG", Rangs[Rang[id]+1], Kills[id], NeedKills[Rang[id]]);
                        menu_additem(sMenu, Line, "5");
                }
                else
                {
                        formatex(Line, 127, "%L %L%L",
                        LANG_SERVER, "MENUTOGIFT", LANG_SERVER, "INMARKET", LANG_SERVER, "MRANG", Rangs[Rang[id]+1], Kills[id], NeedKills[Rang[id]]);
                        menu_additem(sMenu, Line, "0");
                }
        }
        else if(MenuMod[id] == 1)
        {
                formatex(Line, 127, "%s\r %L %L",
                Prefix, LANG_SERVER, "MENUTOSKINS", LANG_SERVER, "YPOINT", Points[id]);
                sMenu = menu_create(Line, "MenuHandler");
                new String[32], All;
                for(new i = 1; i < AllWeapon; i++)
                {
                        if(uWeapon[i][id] == 0)
                                continue;
                               
                        formatex(String, 31, "%d %d", i, Weapons[i]);
                        formatex(Line, 127, "%L", LANG_SERVER, "SKINPIECE", WeaponNames[i], uWeapon[i][id]);
                        menu_additem(sMenu, Line, String);
                        All++;
                }
                if(All == 0)
                {
                        MenuMod[id] = 0;
                        Menu(id);
                }
        }
        else if(MenuMod[id] == 2)
        {
                formatex(Line, 127, "%s\r %L %L",
                Prefix, LANG_SERVER, "MENUTOCHESTOPEN", LANG_SERVER, "YPOINT", Points[id]);
                sMenu = menu_create(Line, "MenuHandler");
                formatex(Line, 127, "%L", LANG_SERVER, "CHESTSANDKEYS", Chest[id], pKey[id]);
                menu_additem(sMenu, Line, "1");
        }
        else if(MenuMod[id] == 3)
        {
                formatex(Line, 127, "%s\r %L %L",
                Prefix, LANG_SERVER, "MENUTOMARKET", LANG_SERVER, "YPOINT", Points[id]);
                sMenu = menu_create(Line, "MenuHandler");
                new String[32], All;
                if(!inMarket[id])
                {
                        for(new i = 1; i < AllWeapon; i++)
                        {
                                if(i == WeaponinMarket[id] && uWeapon[i][id] > 0)
                                {
                                        formatex(Line, 127, "%L", LANG_SERVER, "MARKETPLACES", WeaponNames[i], MarketPoints[id]);
                                        All++;
                                }
                        }
                       
                        if(101 == WeaponinMarket[id] && Chest[id] > 0)
                        {
                                formatex(Line, 127, "%L", LANG_SERVER, "MARKETPLACEC", MarketPoints[id]);
                                All++;
                        }
                        if(102 == WeaponinMarket[id] && pKey[id] > 0)
                        {
                                formatex(Line, 127, "%L", LANG_SERVER, "MARKETPLACEK", MarketPoints[id]);
                                All++;
                        }
                       
                        if(All == 0)
                                formatex(Line, 127, "%L", LANG_SERVER, "MARKETPLACECH");
                        menu_additem(sMenu, Line, "-1");
                }
               
                if(!inMarket[id])
                        formatex(Line, 127, "%L", LANG_SERVER, "TOMARKETM");
                else
                        formatex(Line, 127, "%L", LANG_SERVER, "BACKMARKET");
                menu_additem(sMenu, Line, "0");
               
                new Name[32];
                for(new x; x < 32; x++)
                {
                        if(!is_user_connected(x))
                                continue;
                       
                        if(inMarket[x] && MarketPoints[x] > 0)
                        {
                                num_to_str(x, String, 31);
                                get_user_name(x, Name, 31);
                                if(101 == WeaponinMarket[x])
                                {
                                        formatex(Line, 127, "%L", LANG_SERVER, "SELLERC", Name, MarketPoints[x]);
                                        menu_additem(sMenu, Line, String);
                                }
                                else if(102 == WeaponinMarket[x])
                                {
                                        formatex(Line, 127, "%L", LANG_SERVER, "SELLERK", Name, MarketPoints[x]);
                                        menu_additem(sMenu, Line, String);
                                }
                                else
                                {
                                        formatex(Line, 127, "%L", LANG_SERVER, "SELLERS", Name, WeaponNames[WeaponinMarket[x]], MarketPoints[x]);
                                        menu_additem(sMenu, Line, String);
                                }
                        }
                }
        }
        else if(MenuMod[id] == 4)
        {
                formatex(Line, 127, "%s\r %L %L",
                Prefix, LANG_SERVER, "MENUTODUSTBIN", LANG_SERVER, "YPOINT", Points[id]);
                sMenu = menu_create(Line, "MenuHandler");
                new String[32], All;
                for(new i = 1; i < AllWeapon; i++)
                {
                        if(uWeapon[i][id] == 0)
                                continue;
                               
                        num_to_str(i, String, 31);
                        formatex(Line, 127, "%L", LANG_SERVER, "SKINPIECE", WeaponNames[i], uWeapon[i][id]);
                        menu_additem(sMenu, Line, String);
                        All++;
                }
                if(All == 0)
                {
                        MenuMod[id] = 0;
                        Menu(id);
                }
        }
        else if(MenuMod[id] == 5)
        {
                formatex(Line, 127, "%s\r %L %L",
                Prefix, LANG_SERVER, "MENUTOGIFT", LANG_SERVER, "YPOINT", Points[id]);
                sMenu = menu_create(Line, "MenuHandler");
                new All, Name[32], String[32];
                get_user_name(aTarget[id], Name, 31);
               
                if(aTarget[id] > 0 && is_user_alive(aTarget[id]))
                {
                        formatex(Line, 127, "%L", LANG_SERVER, "GIFTT", Name);
                        menu_additem(sMenu, Line, "-1");
                        for(new i = 1; i < AllWeapon; i++)
                        {
                                if(i == aThing[id] && uWeapon[i][id] > 0)
                                {
                                        formatex(Line, 127, "%L", LANG_SERVER, "GIFTS", WeaponNames[i]);
                                        menu_additem(sMenu, Line, "-2");
                                        All++;
                                }
                        }
                       
                        if(aThing[id] == 0 && All == 0)
                        {
                                formatex(Line, 127, "%L", LANG_SERVER, "GIFTCH");
                                menu_additem(sMenu, Line, "-2");
                        }
                        else if(aThing[id] > 100)
                        {
                                if(101 == aThing[id])
                                {
                                        formatex(Line, 127, "%L", LANG_SERVER, "GIFTC");
                                }
                                if(102 == aThing[id])
                                {
                                        formatex(Line, 127, "%L", LANG_SERVER, "GIFTK");
                                }
                                menu_additem(sMenu, Line, "-2");
                        }
                       
                        formatex(Line, 127, "%L", LANG_SERVER, "GIFTPOINTS", aPoints[id]);
                        menu_additem(sMenu, Line, "-4");
                        formatex(Line, 127, "%L", LANG_SERVER, "SENDGIFT");
                        menu_additem(sMenu, Line, "-3");
                }
                else
                {
                        for(new i; i < 32; i++)
                        {
                                if(is_user_connected(i))
                                {
                                        get_user_name(i, Name, 31);
                                        num_to_str(i, String, 31);
                                        menu_additem(sMenu, Name, String);
                                }
                        }
                }
        }
        menu_display(id, sMenu);
}
public MenuHandler(id, gMenu, Key)
{       
        if(Key == MENU_EXIT)
        {
                MenuMod[id] = 0;
                menu_destroy(gMenu);
                return PLUGIN_HANDLED;
        }
        new aMenu[2], Data[4][32], sKey[32], Name[32], mName[32];
        menu_item_getinfo(gMenu, Key, aMenu[0], Data[0], 31, Data[1], 31, aMenu[1]);
       
        parse(Data[0], sKey, 31);
        Key = str_to_num(sKey);
       
        if(MenuMod[id] == -2)
        {
                aThing[id] = Key;
                MenuMod[id] = 5;
                Menu(id);
                return PLUGIN_HANDLED;
        }
        if(MenuMod[id] == -1)
        {
                MenuMod[id] = 3;
                WeaponinMarket[id] = Key;
                client_cmd(id, "messagemode Cost");
                Menu(id);
                return PLUGIN_HANDLED;
        }
        else if(MenuMod[id] == 0)
        {
                MenuMod[id] = Key;
                Menu(id);
                return PLUGIN_HANDLED;
        }
        else if(MenuMod[id] == 1)
        {
                parse(Data[0], Data[2], 31, Data[3], 31);
               
                if(str_to_num(Data[3]) == 16 || str_to_num(Data[3]) == 26)
                        UsingWeapon[1][id] = str_to_num(Data[2]);
                else if(str_to_num(Data[3]) == 29)
                        UsingWeapon[2][id] = str_to_num(Data[2]);
                else
                        UsingWeapon[0][id] = str_to_num(Data[2]);
                return PLUGIN_HANDLED;
        }
        else if(MenuMod[id] == 2)
        {
                if(Key == 1)
                {
                        if(Chest[id] > 0 && pKey[id] > 0)
                        {
                                Chest[id]--;
                                pKey[id]--;
                                ChestOpen(id);
                                Menu(id);
                                return PLUGIN_HANDLED;
                        }
                }
        }
        else if(MenuMod[id] == 3)
        {
                if(Key == -1)
                {
                        MenuMod[id] = -1;
                        Menu(id);
                        return PLUGIN_HANDLED;
                }
                else if(Key == 0)
                {
                        if(inMarket[id])
                                inMarket[id] = false;
                        else if(MarketPoints[id] > 0)
                        {
                                get_user_name(id, Name, 31);
                                print_color(0, "!g%s%L",
                                Prefix, LANG_SERVER, "TOMARKET", Name, WeaponNames[WeaponinMarket[id]], MarketPoints[id]);
                                inMarket[id] = true;
                        }
                        Menu(id);
                        return PLUGIN_HANDLED;
                }
                else if(inMarket[Key] && Points[id] >= MarketPoints[Key])
                {
                        get_user_name(Key, Name, 31);
                        get_user_name(id, mName, 31);
                        if(WeaponinMarket[Key] < 101)
                        {
                                print_color(0, "!g%s%L",
                                Prefix, LANG_SERVER, "BUYMARKETITEM",
                                mName, WeaponNames[WeaponinMarket[Key]], MarketPoints[Key], Name);
                                uWeapon[WeaponinMarket[Key]][id]++;
                                uWeapon[WeaponinMarket[Key]][Key]--;
                        }
                        else if(WeaponinMarket[Key] == 101)
                        {
                                print_color(0, "!g%s%L",
                                Prefix, LANG_SERVER, "BUYMARKETCHEST",
                                mName, MarketPoints[Key], Name);
                                Chest[id]++;
                                Chest[Key]--;
                        }
                        else if(WeaponinMarket[Key] == 102)
                        {
                                print_color(0, "!g%s%L",
                                Prefix, LANG_SERVER, "BUYMARKETKEY",
                                mName, MarketPoints[Key], Name);
                                pKey[id]++;
                                pKey[Key]--;
                        }
                        Points[Key] += MarketPoints[Key];
                        Points[id] -= MarketPoints[Key];
                        Save(Key);
                        Save(id);
                        inMarket[Key] = false;
                        MarketPoints[Key] = 0;
                        WeaponinMarket[Key] = 0;
                        MenuMod[id] = 0;
                }
        }
        else if(MenuMod[id] == 4)
        {
                uWeapon[Key][id]--;
                Menu(id);
                Save(id);
                return PLUGIN_HANDLED;
        }
        else if(MenuMod[id] == 5)
        {
                if(Key == -1)
                {
                        aTarget[id] = 0;
                }
                if(Key == -2)
                {
                        MenuMod[id] = -2;
                }
                if(Key == -3)
                {
                        if(uWeapon[aThing[id]][id] > 0)
                        {
                                uWeapon[aThing[id]][aTarget[id]]++;
                                uWeapon[aThing[id]][id]--;
                                Points[aTarget[id]] += aPoints[id];
                                Points[id] -= aPoints[id];
                                Save(aTarget[id]);
                                Save(id);
                                MenuMod[id] = 0;
                                aThing[id] = 0;
                                aTarget[id] = 0;
                                aPoints[id] = 0;
                                print_color(id, "!g%s%L",
                                Prefix, LANG_SERVER, "GIFTSUCCESS");
                        }
                }
                if(Key == -4)
                {
                        client_cmd(id, "messagemode Gift");
                }
                if(Key > 0)
                        aTarget[id] = Key;
                Menu(id);
                return PLUGIN_HANDLED;
        }
        MenuMod[id] = 0;
        return PLUGIN_CONTINUE;
}
stock print_color(const id, const input[], any:...)
{
        new Count = 1, Players[32];
        static Msg[191];
        vformat(Msg, 190, input, 3);
       
        replace_all(Msg, 190, "!g", "^4");
        replace_all(Msg, 190, "!y", "^1");
        replace_all(Msg, 190, "!t", "^3");

        if(id) Players[0] = id; else get_players(Players, Count, "ch");
        {
                for (new i = 0; i < Count; i++)
                {
                        if (is_user_connected(Players[i]))
                        {
                                message_begin(MSG_ONE_UNRELIABLE, SayText, _, Players[i]);
                                write_byte(Players[i]);
                                write_string(Msg);
                                message_end();
                        }
                }
        }
        return PLUGIN_HANDLED;
}
public client_putinserver(id)
{
        Kills[id] = 0, Rang[id] = 0, Points[id] = 0, Choosen[id] = 0, pKey[id] = 0, Chest[id] = 0;
        for(new i; i < AllWeapon; i++)
        {
                uWeapon[i][id] = 0;
        }
        Load(id);
        Password[id] = "";
        SavedPassword[id] = "";
        Loged[id] = false;
}
public Load(id)
{
        if(!is_user_connected(id))
        {
                return PLUGIN_HANDLED;
        }
       
        new pFile, Name[32];
        pFile = fopen(SaveFile, "rt");
        get_user_name(id, Name, 31);
       
        if(pFile)
        {
                new Line[256];
                new LineName[32], tData[5][8], Data[MAX][8];
               
                while(!feof(pFile))
                {
                        fgets(pFile, Line, 255);
                       
                        if(Line[0] == ';' || strlen(Line) < 2)
                                continue;
                               
                        parse(Line, LineName, 31);
                       
                        if(equal(LineName, Name))
                        {
                                parse(Line, LineName, 31, tData[0], 7, tData[1], 7, tData[2], 7, tData[3], 7, tData[4], 7,
                                Data[0], 7, Data[1], 7, Data[2], 7, Data[3], 7, Data[4], 7, Data[5], 7,
                                Data[6], 7, Data[7], 7, Data[8], 7, Data[9], 7, Data[10], 7, Data[11], 7, Data[12], 7,
                                Data[13], 7, Data[14], 7, Data[15], 7, Data[16], 7, Data[17], 7, Data[18], 7, Data[19], 7,
                                Data[20], 7, Data[21], 7, Data[22], 7, Data[23], 7, Data[24], 7, Data[25], 7, Data[26], 7,
                                Data[27], 7, Data[28], 7, Data[29], 7, Data[30], 7, Data[31], 7, Data[32], 7, Data[33], 7,
                                Data[34], 7, Data[35], 7, Data[36], 7, Data[37], 7, Data[38], 7, Data[39], 7, Data[40], 7,
                                Data[41], 7, Data[42], 7, Data[43], 7, Data[44], 7, Data[45], 7, Data[46], 7, Data[47], 7,
                                Data[48], 7, Data[49], 7);
                               
                                Kills[id] = str_to_num(tData[0]);
                                Points[id] = str_to_num(tData[1]);
                                pKey[id] = str_to_num(tData[2]);
                                Chest[id] = str_to_num(tData[3]);
                                Rang[id] = str_to_num(tData[4]);
                               
                                for(new i; i < MAX; i++)
                                {
                                        uWeapon[i][id] = str_to_num(Data[i]);
                                }
                                return PLUGIN_HANDLED;
                        }
                }
                fclose(pFile);
        }
        return PLUGIN_CONTINUE;
}
public Save(id)
{
        if(!is_user_connected(id))
        {
                return PLUGIN_HANDLED;
        }
       
        new pFile, Name[32];
        pFile = fopen(SaveFile, "rt");
        get_user_name(id, Name, 31);
       
        if(pFile)
        {
                new Line[192], Lines;
               
                new LineName[32], bool:Found;
               
                while(!feof(pFile))
                {
                        fgets(pFile, Line, 191);
                       
                        if(Line[0] == ';' || strlen(Line) < 2)
                                continue;
                               
                        parse(Line, LineName, 31);
                       
                        if(equal(LineName, Name) && !Found)
                        {
                                new mLine[256], LoadWeapon[256], String[8];
                               
                                format(String, 7, "^"%i^" ", Kills[id]);
                                add(LoadWeapon, 255, String);
                               
                                format(String, 7, "^"%i^" ", Points[id]);
                                add(LoadWeapon, 255, String);
                               
                                format(String, 7, "^"%i^" ", pKey[id]);
                                add(LoadWeapon, 255, String);
                               
                                format(String, 7, "^"%i^" ", Chest[id]);
                                add(LoadWeapon, 255, String);
                               
                                format(String, 7, "^"%i^" ", Rang[id]);
                                add(LoadWeapon, 255, String);
                                       
                                for(new i; i < MAX; i++)
                                {
                                        format(String, 7, "^"%i^" ", uWeapon[i][id]);
                                        add(LoadWeapon, 255, String);
                                }
                               
                                formatex(mLine, 255, "^"%s^" %s", Name, LoadWeapon);
                                write_file(SaveFile, mLine, Lines);
                                Found = true;
                                return PLUGIN_HANDLED;
                        }
                       
                        Lines++;
                }
               
                if(!Found)
                {
                        new mLine[256], LoadWeapon[256], String[8];
                       
                        format(String, 7, "^"%i^" ", Kills[id]);
                        add(LoadWeapon, 255, String);
                       
                        format(String, 7, "^"%i^" ", Points[id]);
                        add(LoadWeapon, 255, String);
                       
                        format(String, 7, "^"%i^" ", pKey[id]);
                        add(LoadWeapon, 255, String);
                       
                        format(String, 7, "^"%i^" ", Chest[id]);
                        add(LoadWeapon, 255, String);
                       
                        format(String, 7, "^"%i^" ", Rang[id]);
                        add(LoadWeapon, 255, String);
                       
                        for(new i; i < MAX; i++)
                        {
                                format(String, 7, "^"%i^" ", uWeapon[i][id]);
                                add(LoadWeapon, 255, String);
                        }
                       
                        formatex(mLine, 255, "^"%s^" %s", Name, LoadWeapon);
                        write_file(SaveFile, mLine);
                        return PLUGIN_HANDLED;
                }
                fclose(pFile);
        }
        return PLUGIN_CONTINUE;
}
public WeaponMenu(id)
{
        new String[128], Name[32];
        format(String, 127, "%s %L", Prefix, LANG_SERVER, "WPM");
        new wMenu = menu_create(String, "wMenuHandler");
        get_user_name(id, Name, 31);
       
        menu_display(id, wMenu);
}
public wMenuHandler(id, gMenu, item)
{       
        if(item == MENU_EXIT)
        {
                menu_destroy(gMenu);
                return;
        }
        new data[32], name[64];
        new access, callback;
        menu_item_getinfo(gMenu, item, access, data, charsmax(data), name, charsmax(name), callback);
}
public RegMenu(id)
{
        new String[128], Name[32];
        format(String, 127, "%s %L", Prefix, LANG_SERVER, "RMMAIN");
        new rMenu = menu_create(String, "rMenuHandler");
        get_user_name(id, Name, 31);
       
        format(String, 127, "%L", LANG_SERVER, "RMACCOUNT", Name);
        menu_additem(rMenu, String, "0");
       
        if(!Registered(id))
        {
                format(String, 127, "%L", LANG_SERVER, "RMP", Password[id]);
                menu_additem(rMenu, String, "1");
               
                if(strlen(Password[id]) > 4)
                {
                        format(String, 127, "%L", LANG_SERVER, "RMR");
                        menu_additem(rMenu, String, "2");
                }
                else
                {
                        format(String, 127, "\d%L", LANG_SERVER, "RMR");
                        menu_additem(rMenu, String, "0");
                }
        }
        else
        {
                if(!Loged[id])
                {
                        format(String, 127, "%L", LANG_SERVER, "RMP", Password[id]);
                        menu_additem(rMenu, String, "1");
                       
                        if(equal(SavedPassword[id], Password[id]))
                        {
                                format(String, 127, "%L", LANG_SERVER, "RMLOGIN");
                                menu_additem(rMenu, String, "3");
                        }
                        else
                        {
                                format(String, 127, "\d%L", LANG_SERVER, "RMLOGIN");
                                menu_additem(rMenu, String, "0");
                        }
                }
                else
                {
                        format(String, 127, "%L", LANG_SERVER, "RMLOGOUT");
                        menu_additem(rMenu, String, "-1");
                }
        }
       
        menu_display(id, rMenu);
}
public rMenuHandler(id, gMenu, item)
{       
        if(item == MENU_EXIT)
        {
                menu_destroy(gMenu);
                return;
        }
        new data[9], name[64], Key;
        new access, callback;
        menu_item_getinfo(gMenu, item, access, data, charsmax(data), name, charsmax(name), callback);
 
        Key = str_to_num(data);
       
        if(Key == -1)
                ToLogout(id);
        if(Key == 0)
                RegMenu(id);
        if(Key == 1)
        {
                client_cmd(id, "messagemode UserPassword");
                RegMenu(id);
        }
        if(Key == 2)
        {
                print_color(id, "!g%s%L", Prefix, LANG_SERVER, "REGISTERSUCCESS", Password[id]);
                Register(id, Password[id]);
                copy(SavedPassword[id], 31, Password[id]);
                Loged[id] = true;
                Menu(id);
        }
        if(Key == 3)
        {
                if(equal(SavedPassword[id], Password[id])) {
                        Loged[id] = true;
                        print_color(id, "!g%s%L", Prefix, LANG_SERVER, "REGISTERLOGIN");
                        Menu(id);
                }
        }
}
public ToLogout(id)
{
        if(Loged[id])
        {
                Loged[id] = false;
                Password[id] = "";
                print_color(id, "!g%s%L", Prefix, LANG_SERVER, "REGISTERLOGOUT");
        }
}
public PlayerPassword(id)
{
        new Data[32];
        read_args(Data, 31);
        remove_quotes(Data);
       
        if(strlen(Data) < 5)
        {
                print_color(id, "!g%s%L", Prefix, LANG_SERVER, "REGISTERSHORT");
                client_cmd(id, "messagemode UserPassword");
                return PLUGIN_HANDLED;
        }
       
        if(Loged[id])
        {
                return PLUGIN_HANDLED;
        }
       
        copy(Password[id], 31, Data);
        RegMenu(id);
        return PLUGIN_CONTINUE;
}
public NameChange(id)
{
        if(!is_user_connected(id))
                return FMRES_IGNORED;
               
        new OldName[32], NewName[32], Name[32];
        get_user_name(id, Name, 31);
        pev(id, pev_netname, OldName, charsmax(OldName));
        if(OldName[0])
        {
                get_user_info(id, "name", NewName, charsmax(NewName));
                if(!equal(OldName, NewName))
                {
                        set_user_info(id, "name", OldName);
                        print_color(id, "!g%s%L", Prefix, LANG_SERVER, "REGISTERNAMECHANGE");
                        return FMRES_HANDLED;
                }
        }
        return FMRES_IGNORED;
}
stock bool:ValidMdl(Mdl[])
{
        if(containi(Mdl, ".mdl") != -1)
        {
                return true;
        }
        return false;
}
stock bool:Registered(id)
{
        new pFile, Data[2][32], Line[64], Name[32];
        get_user_name(id, Name, 31);
        pFile = fopen(RegisterFile, "rt");
       
        while(!feof(pFile))
        {
                fgets(pFile, Line, 63);
               
                parse(Line, Data[0], 31, Data[1], 31);
               
                if(equal(Data[0], Name))
                {
                        copy(SavedPassword[id], 31, Data[1]);
                        return true;
                }
        }
       
        fclose(pFile);
       
        return false;
}
stock Register(id, const rSavedPassword[])
{
        new pFile, Line[64], Name[32];
        get_user_name(id, Name, 31);
        pFile = fopen(RegisterFile, "at+");
        format(Line, 63, "^n^"%s^" ^"%s^"", Name, rSavedPassword);
        write_file(RegisterFile, Line);
        fclose(pFile);
}
stock Grenades(id)
{
        give_item(id, "weapon_hegrenade");
        give_item(id, "weapon_smokegrenade");
        give_item(id, "weapon_flashbang");
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1038\\ f0\\ fs16 \n\\ par }
*/


Snitch 10-05-2015 12:37

Re: Terrorists are blue in chat, and CTs are red
 
Team_chat,
red,
blue,

Adomaz1 10-05-2015 14:24

Re: Terrorists are blue in chat, and CTs are red
 
Quote:

Originally Posted by Snitch (Post 2350057)
Team_chat,
red,
blue,

umm, what do you mean?

OciXCrom 10-05-2015 14:26

Re: Terrorists are blue in chat, and CTs are red
 
Index 0 doesn't go with TEAM_COLOR. You need to send the message to every player individually. You can use "for" loop.

Adomaz1 10-05-2015 15:24

Re: Terrorists are blue in chat, and CTs are red
 
Quote:

Originally Posted by OciXCrom (Post 2350091)
Index 0 doesn't go with TEAM_COLOR. You need to send the message to every player individually. You can use "for" loop.

I'm not too good at scripting, could you give me an example of the loop?

Hartmann 10-05-2015 15:48

Re: Terrorists are blue in chat, and CTs are red
 
whether this code in the original plugin or your insert:

PHP Code:

public Say(id)
{
    new 
Chat[256], Name[32], cChat[256];
    
read_args(Chat255);
    
remove_quotes(Chat);
    
get_user_name(idName31);
    
    if(
strlen(Chat) > 1)
    {
        
formatex(cChat255"^4[%s] ^3%s^1: %s"Rangs[Rang[id]], NameChat);
    }
    
    
ColorChat(0TEAM_COLORcChat);
    return 
PLUGIN_HANDLED;


because uses #include <colorchat> and stock print_color(const id, const input[], any:...) and kinda me confusing that.

Try on this way:

in plugin_init
PHP Code:

register_message(get_user_msgid("SayText"),"handleSayText"); 

instead Say
PHP Code:

public handleSayText(msgIdmsgDestmsgEnt){
    new 
id get_msg_arg_int(1);
    
    if(
is_user_connected(id)){
        new 
szTmp[256],
        
szTmp2[256];
        
        
get_msg_arg_string(2szTmpcharsmax(szTmp));
        
        new 
szPrefix[64
        
formatex(szPrefix,charsmaxszPrefix ),"^x04[%s]",Rangs[Rang[id]])
        
        if(!
equal(szTmp"#Cstrike_Chat_All")){
            
add(szTmp2charsmax(szTmp2), szPrefix);
            
add(szTmp2charsmax(szTmp2), " ");
            
add(szTmp2charsmax(szTmp2), szTmp);
        }
        else{
            
add(szTmp2charsmax(szTmp2), szPrefix);
            
add(szTmp2charsmax(szTmp2), "^x03 %s1^x01 :  %s2");
        }
        
set_msg_arg_string(2szTmp2);
    }
    return 
PLUGIN_CONTINUE;



Adomaz1 10-06-2015 07:30

Re: Terrorists are blue in chat, and CTs are red
 
Quote:

Originally Posted by Hartmann (Post 2350110)
whether this code in the original plugin or your insert:

PHP Code:

public Say(id)
{
    new 
Chat[256], Name[32], cChat[256];
    
read_args(Chat255);
    
remove_quotes(Chat);
    
get_user_name(idName31);
    
    if(
strlen(Chat) > 1)
    {
        
formatex(cChat255"^4[%s] ^3%s^1: %s"Rangs[Rang[id]], NameChat);
    }
    
    
ColorChat(0TEAM_COLORcChat);
    return 
PLUGIN_HANDLED;


because uses #include <colorchat> and stock print_color(const id, const input[], any:...) and kinda me confusing that.

Try on this way:

in plugin_init
PHP Code:

register_message(get_user_msgid("SayText"),"handleSayText"); 

instead Say
PHP Code:

public handleSayText(msgIdmsgDestmsgEnt){
    new 
id get_msg_arg_int(1);
    
    if(
is_user_connected(id)){
        new 
szTmp[256],
        
szTmp2[256];
        
        
get_msg_arg_string(2szTmpcharsmax(szTmp));
        
        new 
szPrefix[64
        
formatex(szPrefix,charsmaxszPrefix ),"^x04[%s]",Rangs[Rang[id]])
        
        if(!
equal(szTmp"#Cstrike_Chat_All")){
            
add(szTmp2charsmax(szTmp2), szPrefix);
            
add(szTmp2charsmax(szTmp2), " ");
            
add(szTmp2charsmax(szTmp2), szTmp);
        }
        else{
            
add(szTmp2charsmax(szTmp2), szPrefix);
            
add(szTmp2charsmax(szTmp2), "^x03 %s1^x01 :  %s2");
        }
        
set_msg_arg_string(2szTmp2);
    }
    return 
PLUGIN_CONTINUE;



will try that soon, thanks!

Adomaz1 10-06-2015 09:27

Re: Terrorists are blue in chat, and CTs are red
 
now I get this error:
http://i.imgur.com/7lvAfix.png
at line:
PHP Code:

        formatex(szPrefix,charsmaxszPrefix ),"^x04[%s]",Rangs[Rang[id]]) 


Hartmann 10-06-2015 15:01

Re: Terrorists are blue in chat, and CTs are red
 
Delete:

PHP Code:

#pragma semicolon 1 

or add:

Code:

formatex(szPrefix,charsmax( szPrefix ),"^x04[%s]",Rangs[Rang[id]]);

Adomaz1 10-09-2015 08:46

Re: Terrorists are blue in chat, and CTs are red
 
Quote:

Originally Posted by Hartmann (Post 2350426)
Delete:

PHP Code:

#pragma semicolon 1 

or add:

Code:

formatex(szPrefix,charsmax( szPrefix ),"^x04[%s]",Rangs[Rang[id]]);

Thanks for the help! Everything works like a charm, except this:
http://i.imgur.com/QbsH3xL.png

The prefix is under *Dead* and (Terrorist/CT), is there a way to change it, that the prefix would go after *Dead*(Terrorist)?


All times are GMT -4. The time now is 22:16.

Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.