Jump to content
Sign in to follow this  
_-=Dragos=-_

[Plugin] furien sma

Recommended Posts

  • Descriere:  este un sma cu toata baza furien
  • Descărcare: 
  • Spoiler

    #include <amxmodx>
    #include <cstrike>
    #include <engine>
    #include <fakemeta>
    #include <fakemeta_util>
    #include <hamsandwich>
    #include <fun>

    #define PLUGIN "Furien Mod Classic"
    #define VERSION "3.5"
    #define AUTHOR "AMG"

    #define DMG_NADE (1<<24)

    #define Gravidade_Furien        0.375
    #define Velocidade_Furien        755.0
    #define CE_TE 2
    #define TE_ERRi 1

    #define FONDADOR ADMIN_IMMUNITY //a
    #define PLATINUM ADMIN_LEVEL_B //n
    #define GOLD ADMIN_LEVEL_C //o
    #define SILVER ADMIN_LEVEL_D //p
    #define OWNER ADMIN_LEVEL_E //q
    #define CO-OWNER ADMIN_LEVEL_G //s
    #define Ham_Player_ResetMaxSpeed Ham_Item_PreFrame
    #define VIP ADMIN_LEVEL_H //t

    #if cellbits == 32
    #define OFFSET_BZ 235
    #else
    #define OFFSET_BZ 268
    #endif

    new SuperKnifeModel_V[] = "models/v_knife_FurienARiON.mdl"
    new HaveSuperKnife[33]

    new Float:g_flFurienGravity = 0.375
    new Float:g_flMaxSpeed = 755.0
    new Float:Wallorigin[33][3]

    new bool:MakeVisible[33]

    new Menu, cvar_gamedescription, removebuyzone, cvar_autojoin_class, cvar_autojoin_team, MSGID_StatusIcon, MSGID_ShowMenu, MSGID_VGUIMenu

    public plugin_cfg() 
    {    
        server_cmd("sv_maxspeed 755")
        server_cmd("sv_airaccelerate 100")
        
        server_cmd("mp_roundtime 2.50")
        server_cmd("mp_startmoney 5000")
        server_cmd("mp_freezetime 0")
        server_cmd("mp_autoteambalance 1")
        server_cmd("mp_c4timer 35")
        
        server_cmd("cl_sidespeed 755")
        server_cmd("cl_forwardspeed 755")
        server_cmd("cl_backspeed 755")
    }

    public plugin_init() 
    {
        register_plugin(PLUGIN, VERSION, AUTHOR)
        
        cvar_gamedescription = register_cvar("furien_gamename", "Furien Mod v9.0")
        cvar_autojoin_team = register_cvar("furien_team", "5")
        cvar_autojoin_class = register_cvar("furien_class", "5")
        
        MSGID_StatusIcon = get_user_msgid("StatusIcon")
        MSGID_ShowMenu = get_user_msgid("ShowMenu")
        MSGID_VGUIMenu = get_user_msgid("VGUIMenu")
        
        register_clcmd("say /restart", "CmdRR")
        register_clcmd("say /shop", "CmdShopMenu")
        register_clcmd("say_team /shop", "CmdShopMenu")
        register_clcmd("/shop", "CmdShopMenu")
        register_clcmd("say /rs", "CmdResetScore")
        register_clcmd("say_team /rs", "CmdResetScore")
        register_clcmd("say /resetscore", "CmdResetScore")
        register_clcmd("say_team /resetscore", "CmdResetScore")
        
        RegisterHam(Ham_Spawn, "player", "Ham_Spawn_Post", 1)
        RegisterHam(Ham_Touch, "weaponbox", "HAM_Touch_Weapon")
        RegisterHam(Ham_Touch, "armoury_entity", "HAM_Touch_Weapon")
        RegisterHam(Ham_Touch, "weapon_shield", "HAM_Touch_Weapon")
        RegisterHam(Ham_TakeDamage, "player", "SuperKnife_TakeDamage")
        RegisterHam(Ham_Player_ResetMaxSpeed, "player", "Player_ResetMaxSpeed", 1)
        
        register_forward(FM_PlayerPreThink, "Player_PreThink");
        register_forward(FM_AddToFullPack, "FWD_AddToFullPack", 1);    
        register_forward(FM_GetGameDescription, "FWD_GameDescription")    
        
        register_event("CurWeapon", "EVENT_CurWeapon", "be", "1=1")
        register_event("DeathMsg", "EVENT_Death", "a");    
        register_event("SendAudio", "EVENT_SwitchTeam", "a", "1=0", "2=%!MRAD_ctwin");
        
        register_message(MSGID_StatusIcon, "MSG_StatusIcon");
        register_message(MSGID_ShowMenu, "MSG_ShowMenu");
        register_message(MSGID_VGUIMenu, "MSG_VGUIMenu");
        register_message(get_user_msgid("TextMsg"), "MSG_TextMessage");
    }

    public CmdRR(id)
    {
        if(get_user_flags(id) & ADMIN_KICK)
        {
            server_cmd("sv_restartround 1")
            ColorChat(0,"!g[!y -----!g LIVE!y ----- !g]")
            ColorChat(0,"!g[!y -----!g LIVE!y ----- !g]")
            ColorChat(0,"!g[!y -----!g LIVE!y ----- !g]")
            ColorChat(0,"!g[!y -----!g LIVE!y ----- !g]")
            
            new players[32],inum
            get_players(players,inum)
            for(new i = 0;i<inum;i++)
                HaveSuperKnife[players] = 0
        }
    }
    public plugin_precache() 
    {
        removebuyzone = register_cvar("furien_removebuyzone", "1")
        
        if(get_pcvar_num(removebuyzone)) 
        {
            
            remove_entity_name("info_map_parameters");
            remove_entity_name("func_buyzone");
            
            new Entity = create_entity("info_map_parameters");
            
            DispatchKeyValue(Entity, "buying", "3");
            DispatchSpawn(Entity);
        }
        precache_model(SuperKnifeModel_V)
    }

    public client_putinserver(id) 
    {
        if(is_user_bot(id))
        return 
        
        client_cmd(id, "cl_forwardspeed 755.0")
        client_cmd(id, "cl_sidespeed 755.0")
        client_cmd(id, "cl_backspeed 755.0")
    }
        
    public MSG_TextMessage() 
    {
        static TextMsg[22];
        get_msg_arg_string(2, TextMsg, charsmax(TextMsg))
        if(equal(TextMsg, "#Terrorists_Win")) 
        {
            client_print(0, print_center, "Furieni au cucerit lumea !")
            return PLUGIN_HANDLED;
        }
        else if(equal(TextMsg, "#CTs_Win")) 
        {
            client_print(0, print_center, "-Anti-Furieni au salvat lumea !")
            return PLUGIN_HANDLED;
        }
        else if(equal(TextMsg, "#Bomb_Defused")) 
        {
            client_print(0, print_center, "Anti-Furieni au salvat lumea !")
            return PLUGIN_HANDLED;
        }
        else if(equal(TextMsg, "#Target_Bombed")) 
        {
            client_print(0, print_center, "Furieni au cucerit lumea !")
            return PLUGIN_HANDLED;
        }
        else if(equal(TextMsg, "#Target_Saved")) 
        {
            client_print(0, print_center, "Anti-Furieni au salvat lumea !")
            return PLUGIN_HANDLED;
        }
        return PLUGIN_CONTINUE;
    }

    public Ham_Spawn_Post(id) 
    {
        if(is_user_connected(id) && is_user_alive(id)) 
        {
            strip_user_weapons(id)
            switch(get_user_team(id)) 
            {
                case TE_ERRi: 
                {
                    fm_give_item(id, "weapon_hegrenade")
                    fm_give_item(id, "weapon_knife")
                    set_user_footsteps(id, 1)
                    set_user_gravity(id, g_flFurienGravity)
                }
                case CE_TE: 
                {
                    fm_give_item(id, "weapon_knife")
                    fm_give_item(id, "weapon_deagle")
                    cs_set_user_bpammo(id, CSW_DEAGLE, 70)
                    set_user_footsteps(id, 0)
                    HaveSuperKnife[id] = 0
                    Equipment(id)                    
                }
            }
        }
    }

    public HAM_Touch_Weapon(ent, id) 
    {
        if(is_user_alive(id) && get_user_team(id) == TE_ERRi && !(get_pdata_cbase(ent, 39, 4) > 0))
            return HAM_SUPERCEDE
        
        return HAM_IGNORED
    }

    public SuperKnife_TakeDamage(victim, inflictor, attacker, Float:damage, damage_bits)
    {
        if( is_user_connected(attacker) )
        {
            if( victim != attacker )
            {
                if(HaveSuperKnife[attacker] == 1 && damage_bits != DMG_NADE && get_user_team(attacker) == 1)
                    SetHamParamFloat(4, (damage * 2 ))
            }
        }
    }

    ///////////////////////////////////////////////////////////////////////////////////////////////


    public CmdResetScore(id) 
    {
        cs_set_user_deaths(id, 0)
        set_user_frags(id, 0)
        cs_set_user_deaths(id, 0)
        set_user_frags(id, 0)
        new nome[32]
        get_user_name(id, nome, 31)
        ColorChat(id, "!g[AMXX] !yScoru dvns este deza !g[0-0] !y !")
        ColorChat(0, "!g[%s] !ySi-a resetat scoru.", nome)
    }

    public CmdShopMenu(id) 
    {
        if(!is_user_alive(id))
        return PLUGIN_HANDLED
            
        switch(get_user_team(id)) 
        {
            case TE_ERRi: 
            {
                CmdFurienShop(id)
            }
            case CE_TE: 
            {
                CmdAntiFurienShop(id)
            }
        }
        return PLUGIN_HANDLED
    }

    public CmdFurienShop(id) 
    {
        if(is_user_alive(id) && get_user_team(id) == TE_ERRi) 
        {
            Menu = menu_create("\yF\ru\yr\ri\ye\yn \rS\yh\ro\yp", "CmdFurienHandler")
            
            new SuperKnife[256];
            formatex(SuperKnife, sizeof(SuperKnife)-1, "Super knife\R\y10000$")   
            menu_additem(Menu, SuperKnife, "1", 0)
            
            new Grenade[256];
            formatex(Grenade, sizeof(Grenade)-1, "He grenade\R\y3000$")
            menu_additem(Menu, Grenade, "2", 0)
            
            new Health[256];
            formatex(Health, sizeof(Health)-1, "\r50 HP\R\y3000$")
            menu_additem(Menu, Health, "3", 0)
            
            new Armor[256];
            formatex(Armor, sizeof(Armor)-1, "\r50 AP + Helmet\R\y500$")
            menu_additem(Menu, Armor, "4", 0)
            
            menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);
            menu_setprop(Menu, MPROP_NUMBER_COLOR, "\y")
            menu_display(id, Menu, 0);
        }
    }

    public CmdAntiFurienShop(id) 
    {
        if(is_user_alive(id) && get_user_team(id) == CE_TE) 
        {
            Menu = menu_create("\yAnti-Furien Shop", "CmdAntiFurienHandler")    

            new Defuse[256];
            formatex(Defuse, sizeof(Defuse)-1, "\rDefuse \ykit\R\y500$")
            menu_additem(Menu, Defuse, "1", 0)

            new Grenade[256];
            formatex(Grenade, sizeof(Grenade)-1, "\rHe \ygrenade\R\y4000$")
            menu_additem(Menu, Grenade, "2", 0)
            
            new Health[256];
            formatex(Health, sizeof(Health)-1, "\r50 \yHP\R\y3000$")
            menu_additem(Menu, Health, "3", 0)
            
            new Armor[256];
            formatex(Armor, sizeof(Armor)-1, "\r50 \yAP + Helmet\R\y500$")
            menu_additem(Menu, Armor, "4", 0)

            menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);
            menu_setprop(Menu, MPROP_NUMBER_COLOR, "\y")
            menu_display(id, Menu, 0);
        }
    }

    public CmdFurienHandler(id, menu, item) 
    {
        if(item == MENU_EXIT || !is_user_alive(id) || get_user_team(id) != 1) 
        {
            menu_destroy(menu);
            return PLUGIN_HANDLED;
        }
        new Data[6], Name[64];
        new Access, CallBack;
        menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack);
        new Key = str_to_num(Data);
        switch(Key) 
        {
            case 1: 
            {
                if(HaveSuperKnife[id] == 1)
                {
                    client_print(id, print_center, "Ati ales super-knife")
                }
                else 
                {
                    new Money = cs_get_user_money(id) - 10000
                    if(Money < 0) 
                    {
                        client_print(id, print_center, "N-ai destui bani saracule.")
                    }
                    else 
                    {
                        HaveSuperKnife[id] = 1
                        EVENT_CurWeapon(id)
                        client_cmd(id,"spk items/9mmclip1")
                        cs_set_user_money(id, Money)
                    }
                }
            }
            case 2: 
            {
                if(user_has_weapon(id, CSW_HEGRENADE))
                {
                    client_print(id, print_center, "Ati primit o grenada!")
                }
                else 
                {
                    new Money = cs_get_user_money(id) - 3000
                    if(Money < 0) 
                    {
                        client_print(id, print_center, "N-ai destui bani saracule.")
                    }
                    else 
                    {    
                        fm_give_item(id, "weapon_hegrenade")
                        cs_set_user_money(id, Money)
                    }
                }
            }
            case 3: 
            {
                if(get_user_health(id) >= 250) 
                {
                    client_print(id, print_center, "Ati atins maximu de 250HP !")
                }
                else 
                {
                    new Money = cs_get_user_money(id) - 3000
                    if(Money < 0) 
                    {
                        client_print(id, print_center, "N-ai destui bani saracule.")
                    }
                    else 
                    {
                        if(get_user_health(id) + 50 > 250)
                        fm_set_user_health(id, 250)
                        else 
                        {
                            fm_set_user_health(id, get_user_health(id) + 50)
                            client_cmd(id,"spk items/9mmclip1")
                            cs_set_user_money(id, Money)
                        }
                    }
                }
            }
            case 4: 
            {
                if(get_user_armor(id) >= 250) 
                {
                    client_print(id, print_center, "Ati primit 250AP !")
                }
                else 
                {
                    new Money = cs_get_user_money(id) - 500
                    if(Money < 0) 
                    {
                        client_print(id, print_center, "N-ai destui bani saracule.")
                    }
                    else 
                    {
                        set_user_armor(id, get_user_armor(id) + 50)
                        client_cmd(id,"spk items/9mmclip1")
                        cs_set_user_money(id, Money)
                    }
                }
            }
        }
        return PLUGIN_HANDLED
    }

    public CmdAntiFurienHandler(id, menu, item) 
    {
        if(item == MENU_EXIT || !is_user_alive(id) || get_user_team(id) != 2) 
        {
            menu_destroy(menu);
            return PLUGIN_HANDLED;
        }
        new Data[6], Name[64];
        new Access, CallBack;
        menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack);
        new Key = str_to_num(Data);
        switch(Key) 
        {
            case 1: 
            {
                if(cs_get_user_defuse(id))
                {
                    client_print(id, print_center, "Ai primit Defuse Kit !")
                }
                else 
                {
                    new Money = cs_get_user_money(id) - 500
                    if(Money < 0) 
                    {
                        client_print(id, print_center, "N-ai destui bani saracule")
                    }
                    else 
                    {
                        cs_set_user_defuse(id, 1)
                        client_cmd(id,"spk items/9mmclip1")
                        cs_set_user_money(id, Money)
                    }
                }
            }
            case 2: 
            {
                if(user_has_weapon(id, CSW_HEGRENADE))
                {
                    client_print(id, print_center, "Ai primit o grenada !")
                }
                else 
                {
                    new Money = cs_get_user_money(id) - 4000
                    if(Money < 0) 
                    {
                        client_print(id, print_center, "N-ai destui bani saracule")
                    }
                    else 
                    {    
                        fm_give_item(id, "weapon_hegrenade")
                        cs_set_user_money(id, Money)
                    }
                }
            }
            case 3: 
            {
                if(get_user_health(id) >= 250) 
                {
                    client_print(id, print_center, "Ati atins maximu de 250HP !")
                }
                else 
                {
                    new Money = cs_get_user_money(id) - 3000
                    if(Money < 0) 
                    {
                        client_print(id, print_center, "N-ai destui bani saracule")
                    }
                    else 
                    {
                        if(get_user_health(id) + 50 > 250)
                        fm_set_user_health(id, 250)
                        else 
                        {
                            fm_set_user_health(id, get_user_health(id) + 50)
                            client_cmd(id,"spk items/9mmclip1")
                            cs_set_user_money(id, Money)
                        }
                    }
                }
            }
            case 4: 
            {
                if(get_user_armor(id) >= 250) 
                {
                    client_print(id, print_center, "Ati atins maximu de 250AP !")
                }
                else 
                {
                    new Money = cs_get_user_money(id) - 500
                    if(Money < 0) 
                    {
                        client_print(id, print_center, "N-ai destui bani saracule")
                    }
                    else 
                    {
                        set_user_armor(id, get_user_armor(id) + 50)
                        client_cmd(id,"spk items/9mmclip1")
                        cs_set_user_money(id, Money)
                    }
                }
            }
        }
        return PLUGIN_HANDLED
    }
    public Equipment(id) 
    {
        if(is_user_alive(id) && get_user_team(id) == CE_TE) 
        {
            Menu = menu_create("Menu de armas pro Anti-Furien:", "CmdWeaponsHandler")
            
            menu_additem(Menu, "M4A1", "1", 0)
            menu_additem(Menu, "AK47", "2", 0)
            menu_additem(Menu, "M3", "3", 0)
            menu_additem(Menu, "Famas", "4", 0)
            menu_additem(Menu, "Aug", "5", 0)
            menu_additem(Menu, "MP5 Navy", "6", 0)
            menu_additem(Menu, "XM1014", "7", 0)
            
            menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);
            menu_display(id, Menu, 0);
        }
    }

    public CmdWeaponsHandler(id, menu, item) 
    {
        if(item == MENU_EXIT || !is_user_alive(id) || get_user_team(id) != 2) 
        {
            menu_destroy(menu);
            return PLUGIN_HANDLED;
        }
        new Data[6], Name[64];
        new Access, CallBack;
        menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack);
        new Key = str_to_num(Data);
        switch(Key) 
        {
            case 1: 
            {
                if(get_user_team(id) == CE_TE)
                {
                    fm_give_item(id, "weapon_m4a1")
                    cs_set_user_bpammo(id, CSW_M4A1, 254)
                }
            }
            case 2: 
            {
                if(get_user_team(id) == CE_TE)
                {
                    fm_give_item(id, "weapon_ak47")
                    cs_set_user_bpammo(id, CSW_AK47, 254)
                }
            }
            case 3: 
            {
                if(get_user_team(id) == CE_TE)
                {
                    fm_give_item(id, "weapon_m3")
                    cs_set_user_bpammo(id, CSW_M3, 254)
                }
            }
            case 4: 
            {
                if(get_user_team(id) == CE_TE)
                {
                    fm_give_item(id, "weapon_famas")
                    cs_set_user_bpammo(id, CSW_FAMAS, 254)
                }
            }
                    case 5: 
            {
                if(get_user_team(id) == CE_TE)
                {
                    fm_give_item(id, "weapon_aug")
                    cs_set_user_bpammo(id, CSW_AUG, 254)
                }
            }
            case 6: 
            {
                if(get_user_team(id) == CE_TE)
                {
                    fm_give_item(id, "weapon_mp5navy")
                    cs_set_user_bpammo(id, CSW_MP5NAVY, 254)
                }
            }
            case 7: 
            {
                if(get_user_team(id) == CE_TE)
                {
                    fm_give_item(id, "weapon_xm1014")
                    cs_set_user_bpammo(id, CSW_XM1014, 254)
                }
            }
        }
        menu_destroy(menu)
        return PLUGIN_HANDLED
    }
    public CMD_BlockJoinTeam(id) 
    {
        return 1;
    }

    public CMD_BlockChooseTeam(id) 
    {
        return 1;
    }

    public EVENT_CurWeapon(id) 
    {
        if(is_user_connected(id)) 
        {
            if(get_user_weapon(id) == CSW_KNIFE) 
            {
                if(HaveSuperKnife[id] == 1)
                {
                    set_pev(id, pev_viewmodel2, SuperKnifeModel_V)
                }
            }
        }

    }

    public EVENT_Death() 
    {
        
        static Attacker, Victim;
        Attacker = read_data(1)
        Victim = read_data(2)
        HaveSuperKnife[Victim] = false;
        if(Victim == Attacker) 
            return 1;
        
        if(is_user_connected(Attacker)) 
        {
            if(get_user_flags(Attacker) & FONDADOR)
            {
                        cs_set_user_money(Attacker, cs_get_user_money(Attacker) + 11700)
                        fm_set_user_health(Attacker, get_user_health(Attacker) + 90)
                        fm_set_user_armor(Attacker, get_user_armor(Attacker) + 90)    
            }
            else if(get_user_flags(Attacker) & PLATINUM) 
            {
                        cs_set_user_money(Attacker, cs_get_user_money(Attacker) + 9700)
                        fm_set_user_health(Attacker, get_user_health(Attacker) + 80)
                        fm_set_user_armor(Attacker, get_user_armor(Attacker) + 80)
            }
            else if(get_user_flags(Attacker) & GOLD) 
            {
                        cs_set_user_money(Attacker, cs_get_user_money(Attacker) + 8700)
                        fm_set_user_health(Attacker, get_user_health(Attacker) + 70)
                        fm_set_user_armor(Attacker, get_user_armor(Attacker) + 70)
            }
            else if(get_user_flags(Attacker) & SILVER) 
            {
                        cs_set_user_money(Attacker, cs_get_user_money(Attacker) + 7700)
                        fm_set_user_health(Attacker, get_user_health(Attacker) + 60)
                        fm_set_user_armor(Attacker, get_user_armor(Attacker) + 60)
            }
            else if(get_user_flags(Attacker) & OWNER) 
            {
                        cs_set_user_money(Attacker, cs_get_user_money(Attacker) + 6700)
                        fm_set_user_health(Attacker, get_user_health(Attacker) + 50)
                        fm_set_user_armor(Attacker, get_user_armor(Attacker) + 50)
            }
            else if(get_user_flags(Attacker) & CO-OWNER) 
            {
                        cs_set_user_money(Attacker, cs_get_user_money(Attacker) + 5700)                    
                        fm_set_user_health(Attacker, get_user_health(Attacker) + 40)
                        fm_set_user_armor(Attacker, get_user_armor(Attacker) + 40)
            }
            else if(get_user_flags(Attacker) & VIP) 
            {
                        cs_set_user_money(Attacker, cs_get_user_money(Attacker) + 4700)
                        fm_set_user_health(Attacker, get_user_health(Attacker) + 30)
                        fm_set_user_armor(Attacker, get_user_armor(Attacker) + 30)
            }
            else 
            {
                if(get_user_team(Victim) == 2) 
                {
                    cs_set_user_money(Attacker, cs_get_user_money(Attacker) + 2700)
                    fm_set_user_health(Attacker, get_user_health(Attacker) + 10)
                    fm_set_user_armor(Attacker, get_user_armor(Attacker) + 10)
                }
                else if(get_user_team(Victim) == 1)
                {
                    cs_set_user_money(Attacker, cs_get_user_money(Attacker) + 2700)
                    fm_set_user_health(Attacker, get_user_health(Attacker) + 10)
                    fm_set_user_armor(Attacker, get_user_armor(Attacker) + 10)
                }
            }
        }

        return 1;
        
    }

    public MSG_StatusIcon(msg_id, msg_dest, id) 
    {
        static Attrib 
        Attrib = get_msg_arg_int(2)
        
        if(Attrib == (1<<1))
            set_msg_arg_int(2, ARG_BYTE, 0)
        
        new Icon[8];
        get_msg_arg_string(2, Icon, 7);
        if(get_pcvar_num(removebuyzone)) 
        {
            static const BuyZone[] = "buyzone";
            
            if(equal(Icon, BuyZone)) 
            {
                set_pdata_int(id, OFFSET_BZ, get_pdata_int(id, OFFSET_BZ, 5) & ~(1 << 0), 5);
                
                return PLUGIN_HANDLED;
            }
        }
        return PLUGIN_CONTINUE;
    }

    public MSG_ShowMenu(msgid, dest, id) 
    {
        if(!Should_AutoJoin(id))
            return PLUGIN_CONTINUE
        
        static team_select[] = "#Team_Select"
        static menu_text_code[sizeof team_select]
        get_msg_arg_string(4, menu_text_code, sizeof menu_text_code - 1)
        if(!equal(menu_text_code, team_select))
            return PLUGIN_CONTINUE
        
        JoinTeam_Task(id, msgid)
        
        return PLUGIN_HANDLED
    }

    public MSG_VGUIMenu(msgid, dest, id) 
    {
        if(get_msg_arg_int(1) != 2 || !Should_AutoJoin(id))
            return PLUGIN_CONTINUE
        
        JoinTeam_Task(id, msgid)
        
        return PLUGIN_HANDLED
    }

    public MSG_Health(msgid, dest, id) 
    {
        static Health;
        Health = get_msg_arg_int(1)
        if(Health > 255)
            set_msg_arg_int(1, ARG_BYTE, 255);
        else if(Health == 256) 
            set_msg_arg_int(1, ARG_BYTE, get_user_health(id) + 10)
    }

    public MSG_ScreenFade(msgid, dest, id) 
    {
        if(is_user_connected(id)) 
        {
            if(get_user_flags(id) & VIP) 
            {
                static data[4]
                data[0] = get_msg_arg_int(4)
                data[1] = get_msg_arg_int(5)
                data[2] = get_msg_arg_int(6)
                data[3] = get_msg_arg_int(7)
            
                if(data[0] == 255 && data[1] == 255 && data[2] == 255 && data[3] > 199)
                    return PLUGIN_HANDLED
            }
        }
        return PLUGIN_CONTINUE
    }

    bool:Should_AutoJoin(id) 
    {
        return(get_pcvar_num(cvar_autojoin_team) && !get_user_team(id) && !task_exists(id))
    }

    JoinTeam_Task(id, menu_msgid) 
    {
        static param_menu_msgid[2]
        param_menu_msgid[0] = menu_msgid
        
        set_task(0.1, "Force_JoinTeam", id, param_menu_msgid, sizeof param_menu_msgid)
    }

    public Force_JoinTeam(menu_msgid[], id) 
    {
        if(get_user_team(id))
            return
        
        static team[2], class[2]
        get_pcvar_string(cvar_autojoin_team, team, sizeof team - 1)
        get_pcvar_string(cvar_autojoin_class, class, sizeof class - 1)
        Force_Team_Join(id, menu_msgid[0], team, class)
    }

    stock Force_Team_Join(id, menu_msgid,  team[] = "5", class[] = "0") 
    {
        static jointeam[] = "jointeam"
        if(class[0] == '0') 
        {
            engclient_cmd(id, jointeam, team)
            return
        }
        
        static msg_block, joinclass[] = "joinclass"
        msg_block = get_msg_block(menu_msgid)
        set_msg_block(menu_msgid, BLOCK_SET)
        engclient_cmd(id, jointeam, team)
        engclient_cmd(id, joinclass, class)
        set_msg_block(menu_msgid, msg_block)
    }

    public EVENT_SwitchTeam() 
    {
        new Players[32], PlayersNum, id;
        get_players(Players, PlayersNum)
        if(PlayersNum) 
        {
            for(new i; i < PlayersNum; i++) 
            {
                id = Players
                BeginDelay(id)
            }
        }
    }

    public BeginDelay(id) 
    {
        if(is_user_connected(id)) 
        {
            switch(id) 
            {
                case 1..7: set_task(0.1, "BeginTeamSwap", id)
                case 8..15: set_task(0.2, "BeginTeamSwap", id)
                case 16..23: set_task(0.3, "BeginTeamSwap", id)
                case 24..32: set_task(0.4, "BeginTeamSwap", id)
            }
        }
    }

    public BeginTeamSwap(id) 
    {
        if(is_user_connected(id)) 
        {
            switch(get_user_team(id)) 
            {
                case TE_ERRi: cs_set_user_team(id, CS_TEAM_CT)
                case CE_TE: cs_set_user_team(id, CS_TEAM_T)
            }
        }
    }    

    ///////////////////////////////////////////////////////////////////////////////////////////////

    public Player_PreThink(id) 
    {
        if(is_user_connected(id)) 
        {
            new idAiming, iBodyPart
            get_user_aiming(id, idAiming, iBodyPart)
        
            if(is_user_alive(idAiming) && is_user_alive(id)) 
            {
                if(cs_get_user_team(id) == cs_get_user_team(idAiming))
                {
                    new message[200], szTarget[33], HP, money
                    get_user_name(idAiming, szTarget, charsmax(szTarget))
                    HP = get_user_health(idAiming)
                    money = cs_get_user_money(idAiming)
                    if(get_user_flags(id) & VIP)
                    {
                        set_hudmessage( 255, 200, 255, -1.0, 0.65, 0, 1.0, 0.1 ); 
                        format(message, 199, "VIP: %s^nHP: %i^nDinheiro: %i", szTarget, HP, money)
                        show_hudmessage(id, message)
                    }
                    else
                    {
                        set_hudmessage( 255, 200, 255, -1.0, 0.65, 0, 1.0, 0.1 ); 
                        format(message, 199, "%s^nHP: %i^nDinheiro: %i", szTarget, HP, money)
                        show_hudmessage(id, message)    
                    }
                }
                else if(get_user_team(id) == TE_ERRi && get_user_team(idAiming) == CE_TE)
                {
                    new message[200], szTarget[33], HP, money
                            get_user_name(idAiming, szTarget, charsmax(szTarget))
                            HP = get_user_health(idAiming)
                            money = cs_get_user_money(idAiming)
                    if(get_user_flags(id) & VIP)
                    {
                                set_hudmessage( 255, 200, 255, -1.0, 0.65, 0, 1.0, 0.1 ); 
                                format(message, 199, "VIP: %s^nHP: %i^nDinheiro: %i", szTarget, HP,money)
                                show_hudmessage(id, message)
                    }
                    else
                    {
                                set_hudmessage( 255, 200, 255, -1.0, 0.65, 0, 1.0, 0.1 ); 
                                format(message, 199, "%s^nHP: %i^nDinheiro: %i", szTarget, HP,money)
                                show_hudmessage(id, message)
                    }
                }
                    }    
        }
        return PLUGIN_HANDLED
    }

    public Player_ResetMaxSpeed( id )
    {
        if( is_user_alive(id) && get_user_team(id) == TE_ERRi && get_user_maxspeed(id) != 1.0 )
        {
            set_pev(id, pev_maxspeed, g_flMaxSpeed)
        }
    }

    public FWD_AddToFullPack(es, e, ent, host, host_flags, player, p_set) 
    {
        if(is_user_connected(ent) && is_user_connected(host) && is_user_alive(ent)) 
        {
            if(is_user_alive(host) && get_user_team(ent) == 1 && get_user_team(host) == 1 
            || !is_user_alive(host) && get_user_team(ent) == 1 && pev(host, pev_iuser2) == ent
            || get_user_team(ent) == 1 && pev(ent, pev_maxspeed) <= 1.0) 
            {
                set_es(es, ES_RenderFx, kRenderFxNone);
                set_es(es, ES_RenderMode, kRenderTransTexture);
                set_es(es, ES_RenderAmt, 255);
            }
            else if(get_user_team(ent) == 1) 
            {
                set_es(es, ES_RenderFx, kRenderFxNone);
                set_es(es, ES_RenderMode, kRenderTransTexture);
                static Float:Origin[3]
                pev(ent, pev_origin, Origin)
                
                if(get_user_weapon(ent) == CSW_KNIFE && !MakeVisible[ent] && fm_get_speed(ent) <= 5 || get_user_weapon(ent) == CSW_KNIFE && !MakeVisible[ent] && Origin[0] == Wallorigin[ent][0] && Origin[1] == Wallorigin[ent][1] && Origin[2] == Wallorigin[ent][2])
                    set_es(es, ES_RenderAmt, 0);
                else
                    set_es(es, ES_RenderAmt, 255);
            }
        }
    }

    public FWD_GameDescription() 

        static GameName[32]
        get_pcvar_string(cvar_gamedescription, GameName, 31)
        
        forward_return(FMV_STRING, GameName)
        
        return FMRES_SUPERCEDE
    }

    stock ColorChat(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, get_user_msgid("SayText"), _, players[ i ] )  
                    write_byte( players[ i ] )
                    write_string( msg )
                    message_end( )
                }
            }
        }
    }
     

     

Denumire plugin: furien base
Versiune:1.0
Instalare: sma in scripting numele pe care il numiti [abcde.amxx] il puneti in plugins si numele in plugins.ini
Imagini (obţional):-

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this  

×
×
  • Create New...