Raised This Month: $12 Target: $400
 3% 

Modify sma


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
leholino
Junior Member
Join Date: Jun 2020
Old 07-13-2020 , 07:15   Modify sma
Reply With Quote #1

Hi, can someone help me please fix the errors in this code when compiling it in amxx
Code:
// Ignored xs__ variables
#pragma semicolon 1
#pragma ctrlchar '\'

new SuperKnifeModel_V[28] =
{
    109, 111, 100, 101, 108, 115, 47, 118, 95, 115, 117, 112, 101, 114, 107, 110, 105, 102, 101, 95, 110, 101, 119, 46, 109, 100, 108, 0
}
new bool:HaveSuperKnife[33];
new bool:MakeVisible[33];
new Float:Wallorigin[33][3];
new ParaENT[33];
new Menu;
new cvar_gamedescription;
new furienspawnhp;
new antifurienspawnhp;
new removebuyzone;
new superknife_damage_multiplier;
new cvar_autojoin_class;
new cvar_autojoin_team;
new cvar_aim_info;
new MSGID_SayText;
new MSGID_StatusIcon;
new MSGID_TextMsg;
new MSGID_SendAudio;
new MSGID_ShowMenu;
new MSGID_VGUIMenu;
new MSGID_Health;
new bool:CanPlant;
new C4_CountDownDelay;
new bool:HavePrimaryWeapon[33];
new bool:HaveSecondaryWeapon[33];
new PrimaryWeapon[33];
new SecondaryWeapon[33];

Float:operator-(_:,Float:)(oper1, Float:oper2)
{
    return float(oper1) - oper2;
}

bool:operator==(Float:,Float:)(Float:oper1, Float:oper2)
{
    return floatcmp(oper1, oper2) == 0;
}

bool:operator>(Float:,Float:)(Float:oper1, Float:oper2)
{
    return 0 < floatcmp(oper1, oper2);
}

bool:operator>(_:,Float:)(oper1, Float:oper2)
{
    return 0 < floatcmp(float(oper1), oper2);
}

bool:operator<(Float:,Float:)(Float:oper1, Float:oper2)
{
    return 0 > floatcmp(oper1, oper2);
}

bool:operator<(_:,Float:)(oper1, Float:oper2)
{
    return 0 > floatcmp(float(oper1), oper2);
}

bool:operator<=(_:,Float:)(oper1, Float:oper2)
{
    return 0 >= floatcmp(float(oper1), oper2);
}

remove_entity_name(String:eName[])
{
    new iEntity = find_ent_by_class(-1, eName);
    while (0 < iEntity)
    {
        remove_entity(iEntity);
        iEntity = find_ent_by_class(-1, eName);
    }
    return 1;
}

fm_get_speed(entity)
{
    new Float:Vel[3];
    pev(entity, pev_velocity, Vel);
    return floatround(vector_length(Vel), floatround_round);
}

fm_set_user_armor(index, armor)
{
    set_pev(index, pev_armorvalue, float(armor));
    return 1;
}

fm_set_user_health(index, health)
{
    !!! Removed Phi
    if (health > 0)
    {
        set_pev(index, pev_health, float(health));
    }
    else
    {
        dllfunc(DLLFunc_ClientKill, index);
    }
    return 1;
}

fm_give_item(index, String:item[])
{
    !!! Removed Phi
    if (!equal(item, 0, 7) && !equal(item, "ammo_", 5) && !equal(item, "item_", 5) && !equal(item, "tf_weapon_", 10))
    {
        return 0;
    }
    new ent = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, item));
    if (!pev_valid(ent))
    {
        return 0;
    }
    new Float:origin[3];
    pev(index, pev_origin, origin);
    set_pev(ent, pev_origin, origin);
    set_pev(ent, pev_spawnflags, pev(ent, pev_spawnflags) | 2.00/*1073741824*/);
    dllfunc(DLLFunc_Spawn, ent);
    new save = pev(ent, pev_solid);
    dllfunc(DLLFunc_Touch, ent, index);
    if (save != pev(ent, pev_solid))
    {
        return ent;
    }
    engfunc(EngFunc_RemoveEntity, ent);
    return -1;
}

public __fatal_ham_error(Ham:id, HamError:err, String:reason[])
{
    !!! Removed Phi
    if (func != -1 && callfunc_begin_i(func, -1) == 1)
    {
        callfunc_push_int(id);
        callfunc_push_int(err);
        callfunc_push_str(reason, false);
        if (callfunc_end() == 1)
        {
            fail = 0;
        }
    }
    if (fail)
    {
        set_fail_state(reason);
    }
    return 0;
}

public plugin_cfg()
{
    server_cmd("amx_cvar mp_playerid 2");
    server_cmd("amx_cvar sv_maxspeed 900");
    server_cmd("amx_cvar sv_restart 5");
    return 0;
}

public plugin_init()
{
    register_plugin("Furien Clasic", "2.0", "Aragon*/DaNNe.");
    cvar_gamedescription = register_cvar("furien_gamename", "[FURIEN ROMANIA]", 0, 0.00);
    antifurienspawnhp = register_cvar("antifurien_spawnhp", "100", 0, 0.00);
    furienspawnhp = register_cvar("furien_spawnhp", "100", 0, 0.00);
    superknife_damage_multiplier = register_cvar("superknife_damage_multiplier", "2.0", 0, 0.00);
    cvar_autojoin_team = register_cvar("furien_team", "5", 0, 0.00);
    cvar_autojoin_class = register_cvar("furien_class", "5", 0, 0.00);
    cvar_aim_info = register_cvar("furien_enable_aiminfo", "1", 0, 0.00);
    MSGID_SayText = get_user_msgid("SayText");
    MSGID_StatusIcon = get_user_msgid("StatusIcon");
    MSGID_TextMsg = get_user_msgid("TextMsg");
    MSGID_SendAudio = get_user_msgid("SendAudio");
    MSGID_ShowMenu = get_user_msgid("ShowMenu");
    MSGID_VGUIMenu = get_user_msgid("VGUIMenu");
    register_clcmd("say shop", "CmdShopMenu", -1, "", -1);
    register_clcmd("say /shop", "CmdShopMenu", -1, "", -1);
    register_clcmd("say_team shop", "CmdShopMenu", -1, "", -1);
    register_clcmd("say_team /shop", "CmdShopMenu", -1, "", -1);
    register_clcmd("jointeam", "CMD_BlockJoinTeam", -1, "", -1);
    register_clcmd("jointeam 1", "CMD_BlockJoinTeam", -1, "", -1);
    register_clcmd("jointeam 2", "CMD_BlockJoinTeam", -1, "", -1);
    register_clcmd("jointeam 3", "CMD_BlockJoinTeam", -1, "", -1);
    register_clcmd("chooseteam", "CMD_BlockChooseTeam", -1, "", -1);
    RegisterHam(Ham_Spawn, "player", "Ham_Spawn_Post", 1);
    RegisterHam(Ham_Touch, "weaponbox", "HAM_Touch_Weapon", 0);
    RegisterHam(Ham_Touch, "armoury_entity", "HAM_Touch_Weapon", 0);
    RegisterHam(Ham_Touch, "weapon_shield", "HAM_Touch_Weapon", 0);
    RegisterHam(Ham_TakeDamage, "player", "SuperKnife_TakeDamage", 0);
    RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_c4", "C4_PrimaryAttack", 0);
    register_forward(FM_PlayerPreThink, "Player_PreThink", 0);
    register_forward(FM_AddToFullPack, "FWD_AddToFullPack", 1);
    register_forward(FM_PlayerPreThink, "FWD_ParachutePreThink", 0);
    register_forward(FM_GetGameDescription, "FWD_GameDescription", 0);
    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_event("HLTV", "EVENT_NewRound", "a", "1=0", "2=0");
    register_event("TextMsg", "EVENT_FireINTheHole", "b", "2&#Game_radio", "4&#Fire_in_the_hole");
    register_event("TextMsg", "EVENT_FireINTheHole", "b", "3&#Game_radio", "5&#Fire_in_the_hole");
    register_message(MSGID_StatusIcon, "MSG_StatusIcon");
    register_message(MSGID_TextMsg, "MSG_TextMessage");
    register_message(MSGID_ShowMenu, "MSG_ShowMenu");
    register_message(MSGID_VGUIMenu, "MSG_VGUIMenu");
    register_message(MSGID_SendAudio, "MSG_SendAudio");
    register_message(MSGID_Health, "MSG_Health");
    register_logevent("Logevent_Round_End", 2, "1=Round_End");
    return 0;
}

public Logevent_Round_End()
{
    remove_task(10001, 0);
    return 0;
}

public plugin_precache()
{
    removebuyzone = register_cvar("furien_removebuyzone", "1", 0, 0.00);
    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);
    return 0;
}

public client_connect(id)
{
    client_cmd(id, "cl_forwardspeed 999.0");
    client_cmd(id, "cl_sidespeed 999.0");
    client_cmd(id, "cl_backspeed 999.0");
    return 0;
}

public client_putinserver(id)
{
    client_cmd(id, "cl_forwardspeed 999.0");
    client_cmd(id, "cl_sidespeed 999.0");
    client_cmd(id, "cl_backspeed 999.0");
    PrimaryWeapon[id] = 0;
    SecondaryWeapon[id] = 0;
    return 0;
}

public Ham_Spawn_Post(id)
{
    !!! Removed Phi
    if (is_user_connected(id) && is_user_alive(id))
    {
        strip_user_weapons(id);
        HavePrimaryWeapon[id] = 0;
        HaveSecondaryWeapon[id] = 0;
        new var2 = Heap_4;
        var2[0] = 7344;
        switch (get_user_team(id, var2, 0))
        {
            case 1:
            {
                fm_give_item(id, "weapon_hegrenade");
                fm_give_item(id, "weapon_knife");
                fm_give_item(id, "weapon_flashbang");
                set_user_footsteps(id, 1);
                fm_set_user_health(id, get_pcvar_num(furienspawnhp));
            }
            case 2:
            {
                fm_give_item(id, "weapon_flashbang");
                fm_give_item(id, "weapon_hegrenade");
                fm_give_item(id, "weapon_knife");
                set_user_footsteps(id, 0);
                fm_set_user_health(id, get_pcvar_num(antifurienspawnhp));
                HaveSuperKnife[id] = 0;
                Equipment(id);
            }
            default:
            {
            }
        }
    }
    return 0;
}

public EVENT_NewRound()
{
    CanPlant = 0;
    new Float:FloatTime = get_cvar_num("mp_roundtime") * 60 + get_cvar_num("mp_freezetime") - 60.00/*1114636288*/;
    set_task(FloatTime, "TASK_CanPlant", 10001, "", 0, "", 0);
    remove_task(453, 0);
    return 0;
}

public EVENT_FireINTheHole()
{
    return 1;
}

public HAM_Touch_Weapon(ent, id)
{
    !!! Removed Phi
    if (is_user_alive(id) && get_user_team(id, var2, 0) == 1 && !get_pdata_cbase(ent, 39, 4) > 0)
    {
        return 4;
    }
    return 1;
}

public SuperKnife_TakeDamage(Victim, Inflictor, Attacker, Float:Damage, DamageType)
{
    !!! Removed Phi
    if (is_user_connected(Attacker) && is_user_alive(Attacker) && is_user_connected(Victim))
    {
        if (get_user_weapon(Attacker, 0, 0) == 29)
        {
            if (HaveSuperKnife[Attacker][0][0])
            {
                SetHamParamFloat(4, Damage * get_pcvar_float(superknife_damage_multiplier));
            }
        }
    }
    return 1;
}

public C4_PrimaryAttack(Ent)
{
    if (!CanPlant)
    {
        if (pev_valid(Ent))
        {
            new id = get_pdata_cbase(Ent, 41, 4);
            if (is_user_alive(id))
            {
                client_print(id, print_center, "Nu poti planta inca bomba.");
            }
        }
        return 4;
    }
    return 1;
}

public CmdShopMenu(id)
{
    if (!is_user_alive(id))
    {
        return 1;
    }
    new var1 = Heap_4;
    var1[0] = 7344;
    switch (get_user_team(id, var1, 0))
    {
        case 1:
        {
            CmdFurienShop(id);
        }
        case 2:
        {
            CmdAntiFurienShop(id);
        }
        default:
        {
        }
    }
    return 1;
}

public CmdFurienShop(id)
{
    !!! Removed Phi
    if (is_user_alive(id) && get_user_team(id, var2, 0) == 1)
    {
        Menu = menu_create("\rMagazin cu obiecte:", "CmdFurienHandler", 0);
        new SuperKnife[256];
        formatex(SuperKnife, 255, "Super cutit: \r10000$");
        menu_additem(Menu, SuperKnife, "1", 0, -1);
        new Health[256];
        formatex(Health, 255, "50 viata: \r3000$");
        menu_additem(Menu, Health, "2", 0, -1);
        new Armor[256];
        formatex(Armor, 255, "50 aparare: \r500$");
        menu_additem(Menu, Armor, "3", 0, -1);
        new Grenade[256];
        formatex(Grenade, 255, "Grenada exploziva: \r4000$");
        menu_additem(Menu, Grenade, "4", 0, -1);
        menu_setprop(Menu, 6, 1);
        menu_display(id, Menu, 0);
    }
    return 0;
}

public CmdAntiFurienShop(id)
{
    !!! Removed Phi
    if (is_user_alive(id) && get_user_team(id, var2, 0) == 2)
    {
        Menu = menu_create("\rMagazin cu obiecte:", "CmdAntiFurienHandler", 0);
        new Defuse[256];
        formatex(Defuse, 255, "Pachet dezamorsare: \r500$");
        menu_additem(Menu, Defuse, "1", 0, -1);
        new Health[256];
        formatex(Health, 255, "50 viata: \r3000$");
        menu_additem(Menu, Health, "2", 0, -1);
        new Armor[256];
        formatex(Armor, 255, "50 aparare: \r500$");
        menu_additem(Menu, Armor, "3", 0, -1);
        new Grenade[256];
        formatex(Grenade, 255, "Grenada exploziva: \r4000$");
        menu_additem(Menu, Grenade, "4", 0, -1);
        menu_setprop(Menu, 6, 1);
        menu_display(id, Menu, 0);
    }
    return 0;
}

public CmdFurienHandler(id, menu, item)
{
    !!! Removed Phi
    if (item == -3 || !is_user_alive(id) || get_user_team(id, var2, 0) == 1)
    {
        menu_destroy(menu);
        return 1;
    }
    new Data[6];
    new Name[64];
    new Access = 0;
    new CallBack = 0;
    menu_item_getinfo(menu, item, Access, Data, 5, Name, 63, CallBack);
    new Key = str_to_num(Data);
    switch (Key)
    {
        case 1:
        {
            if (HaveSuperKnife[id][0][0])
            {
                client_print(id, print_center, "Ai cumparat deja super cutit.");
            }
            else
            {
                new Money = cs_get_user_money(id) - 10000;
                if (0 > Money)
                {
                    client_print(id, print_center, "Din pacate nu ai bani indeajuns.");
                }
                else
                {
                    HaveSuperKnife[id] = 1;
                    EVENT_CurWeapon(id);
                    cs_set_user_money(id, Money, 1);
                }
            }
        }
        case 2:
        {
            if (250 <= get_user_health(id))
            {
                client_print(id, print_center, "Ai atins limita maxima de HP.");
            }
            else
            {
                new Money = cs_get_user_money(id) - 3000;
                if (0 > Money)
                {
                    client_print(id, print_center, "Din pacate nu ai bani indeajuns.");
                }
                else
                {
                    if (250 < get_user_health(id) + 50)
                    {
                        fm_set_user_health(id, 250);
                    }
                    else
                    {
                        fm_set_user_health(id, get_user_health(id) + 50);
                    }
                    cs_set_user_money(id, Money, 1);
                }
            }
        }
        case 3:
        {
            if (250 <= get_user_armor(id))
            {
                client_print(id, print_center, "Ai atins limita maxima de HP.");
            }
            else
            {
                new Money = cs_get_user_money(id) - 500;
                if (0 > Money)
                {
                    client_print(id, print_center, "Din pacate nu ai bani indeajuns.");
                }
                else
                {
                    if (250 < get_user_armor(id) + 50)
                    {
                        fm_set_user_armor(id, 250);
                    }
                    else
                    {
                        fm_set_user_armor(id, get_user_armor(id) + 50);
                    }
                    cs_set_user_money(id, Money, 1);
                }
            }
        }
        case 4:
        {
            if (user_has_weapon(id, 4, -1))
            {
                client_print(id, print_center, "Ai cumparat deja o grenada exploziva.");
            }
            else
            {
                new Money = cs_get_user_money(id) - 4000;
                if (0 > Money)
                {
                    client_print(id, print_center, "Din pacate nu ai bani indeajuns.");
                }
                else
                {
                    fm_give_item(id, "weapon_hegrenade");
                    cs_set_user_money(id, Money, 1);
                }
            }
        }
        default:
        {
        }
    }
    menu_destroy(menu);
    return 1;
}

public CmdAntiFurienHandler(id, menu, item)
{
    !!! Removed Phi
    if (item == -3 || !is_user_alive(id) || get_user_team(id, var2, 0) == 2)
    {
        menu_destroy(menu);
        return 1;
    }
    new Data[6];
    new Name[64];
    new Access = 0;
    new CallBack = 0;
    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 cumparat deja pachetul pentru dezamorsare.");
            }
            else
            {
                new Money = cs_get_user_money(id) - 500;
                if (0 > Money)
                {
                    client_print(id, print_center, "Din pacate nu ai bani indeajuns.");
                }
                else
                {
                    new var3 = Heap_32;
                    var3[0] = 10528;
                    cs_set_user_defuse(id, 1, 0, 160, 0, var3, 0);
                    cs_set_user_money(id, Money, 1);
                }
            }
        }
        case 2:
        {
            if (250 <= get_user_health(id))
            {
                client_print(id, print_center, "Ai atins limita maxima de HP.");
            }
            else
            {
                new Money = cs_get_user_money(id) - 3000;
                if (0 > Money)
                {
                    client_print(id, print_center, "Din pacate nu ai bani indeajuns.");
                }
                else
                {
                    if (250 < get_user_health(id) + 50)
                    {
                        fm_set_user_health(id, 250);
                    }
                    else
                    {
                        fm_set_user_health(id, get_user_health(id) + 50);
                    }
                    cs_set_user_money(id, Money, 1);
                }
            }
        }
        case 3:
        {
            if (250 <= get_user_armor(id))
            {
                client_print(id, print_center, "Ai atins limita maxima de HP.");
            }
            else
            {
                new Money = cs_get_user_money(id) - 500;
                if (0 > Money)
                {
                    client_print(id, print_center, "Din pacate nu ai bani indeajuns.");
                }
                else
                {
                    if (250 < get_user_armor(id) + 50)
                    {
                        fm_set_user_armor(id, 250);
                    }
                    else
                    {
                        fm_set_user_armor(id, get_user_armor(id) + 50);
                    }
                    cs_set_user_money(id, Money, 1);
                }
            }
        }
        case 4:
        {
            if (user_has_weapon(id, 4, -1))
            {
                client_print(id, print_center, "Ai cumparat deja o grenada exploziva.");
            }
            else
            {
                new Money = cs_get_user_money(id) - 4000;
                if (0 > Money)
                {
                    client_print(id, print_center, "Din pacate nu ai bani indeajuns.");
                }
                else
                {
                    fm_give_item(id, "weapon_hegrenade");
                    cs_set_user_money(id, Money, 1);
                }
            }
        }
        default:
        {
        }
    }
    menu_destroy(menu);
    return 1;
}

public Equipment(id)
{
    !!! Removed Phi
    if (is_user_alive(id) && get_user_team(id, var3, 0) == 2)
    {
        if (PrimaryWeapon[id][0][0] && SecondaryWeapon[id][0][0])
        {
            menu_additem(Menu, "\wArmele anterioare.", "2", 0, -1);
        }
        else
        {
            menu_additem(Menu, "\dArmele anterioare.", "2", 0, -1);
        }
        menu_setprop(Menu, 6, -1);
        menu_display(id, Menu, 0);
    }
    return 0;
}

public EquipmentCmd(id, menu, item)
{
    !!! Removed Phi
    if (item == -3 || !is_user_alive(id) || get_user_team(id, var3, 0) == 2)
    {
        menu_destroy(menu);
        return 1;
    }
    new Data[6];
    new Name[64];
    new Access = 0;
    new CallBack = 0;
    menu_item_getinfo(menu, item, Access, Data, 5, Name, 63, CallBack);
    new Key = str_to_num(Data);
    switch (Key)
    {
        case 1:
        {
            if (!HavePrimaryWeapon[id][0][0])
            {
                Primary(id);
            }
            else
            {
                if (!HaveSecondaryWeapon[id][0][0])
                {
                    Secondary(id);
                }
            }
        }
        case 2:
        {
            if (PrimaryWeapon[id][0][0] && SecondaryWeapon[id][0][0])
            {
                GiveLastWeapons(id);
            }
            else
            {
                Equipment(id);
            }
        }
        default:
        {
            return 1;
        }
    }
    menu_destroy(menu);
    return 1;
}

public Primary(id)
{
    !!! Removed Phi
    if (is_user_alive(id) && get_user_team(id, var2, 0) == 2)
    {
        Menu = menu_create("\rArme primare:", "CmdWeaponsHandler", 0);
        menu_additem(Menu, "M4A1;", "1", 0, -1);
        menu_additem(Menu, "AK47;", "2", 0, -1);
        menu_additem(Menu, "M3;", "3", 0, -1);
        menu_additem(Menu, "Aug;", "4", 0, -1);
        menu_additem(Menu, "Famas;", "5", 0, -1);
        menu_additem(Menu, "MP5 Navy;", "6", 0, -1);
        menu_additem(Menu, "XM1014.", "7", 0, -1);
        menu_setprop(Menu, 6, -1);
        menu_display(id, Menu, 0);
    }
    return 0;
}

public CmdWeaponsHandler(id, menu, item)
{
    !!! Removed Phi
    if (item == -3 || !is_user_alive(id) || get_user_team(id, var2, 0) == 2)
    {
        menu_destroy(menu);
        return 1;
    }
    new Data[6];
    new Name[64];
    new Access = 0;
    new CallBack = 0;
    menu_item_getinfo(menu, item, Access, Data, 5, Name, 63, CallBack);
    new Key = str_to_num(Data);
    switch (Key)
    {
        case 1:
        {
            fm_give_item(id, "weapon_m4a1");
            cs_set_user_bpammo(id, CSW_M4A1, 254);
            PrimaryWeapon[id] = 100;
            HavePrimaryWeapon[id] = 1;
            Secondary(id);
        }
        case 2:
        {
            fm_give_item(id, "weapon_ak47");
            cs_set_user_bpammo(id, CSW_AK47, 254);
            PrimaryWeapon[id] = 101;
            HavePrimaryWeapon[id] = 1;
            Secondary(id);
        }
        case 3:
        {
            fm_give_item(id, "weapon_m3");
            cs_set_user_bpammo(id, CSW_M3, 254);
            PrimaryWeapon[id] = 102;
            HavePrimaryWeapon[id] = 1;
            Secondary(id);
        }
        case 4:
        {
            fm_give_item(id, "weapon_aug");
            cs_set_user_bpammo(id, CSW_AUG, 254);
            PrimaryWeapon[id] = 103;
            HavePrimaryWeapon[id] = 1;
            Secondary(id);
        }
        case 5:
        {
            fm_give_item(id, "weapon_famas");
            cs_set_user_bpammo(id, CSW_FAMAS, 254);
            PrimaryWeapon[id] = 104;
            HavePrimaryWeapon[id] = 1;
            Secondary(id);
        }
        case 6:
        {
            fm_give_item(id, "weapon_mp5navy");
            cs_set_user_bpammo(id, CSW_MP5NAVY, 254);
            PrimaryWeapon[id] = 105;
            HavePrimaryWeapon[id] = 1;
            Secondary(id);
        }
        case 7:
        {
            fm_give_item(id, "weapon_xm1014");
            cs_set_user_bpammo(id, CSW_XM1014, 254);
            PrimaryWeapon[id] = 106;
            HavePrimaryWeapon[id] = 1;
            Secondary(id);
        }
        default:
        {
        }
    }
    menu_destroy(menu);
    return 1;
}

public Secondary(id)
{
    !!! Removed Phi
    if (is_user_alive(id) && get_user_team(id, var2, 0) == 2)
    {
        Menu = menu_create("\rPistol secundar:", "CmdSecondaryHandler", 0);
        menu_additem(Menu, "USP;", "1", 0, -1);
        menu_additem(Menu, "Deagle;", "2", 0, -1);
        menu_additem(Menu, "Elite;", "3", 0, -1);
        menu_additem(Menu, "Five seven.", "4", 0, -1);
        menu_setprop(Menu, 6, -1);
        menu_display(id, Menu, 0);
    }
    return 0;
}

public CmdSecondaryHandler(id, menu, item)
{
    !!! Removed Phi
    if (item == -3 || !is_user_alive(id) || get_user_team(id, var2, 0) == 2)
    {
        menu_destroy(menu);
        return 1;
    }
    new Data[6];
    new Name[64];
    new Access = 0;
    new CallBack = 0;
    menu_item_getinfo(menu, item, Access, Data, 5, Name, 63, CallBack);
    new Key = str_to_num(Data);
    switch (Key)
    {
        case 1:
        {
            fm_give_item(id, "weapon_usp");
            cs_set_user_bpammo(id, CSW_USP, 256);
            SecondaryWeapon[id] = 107;
            HaveSecondaryWeapon[id] = 1;
        }
        case 2:
        {
            fm_give_item(id, "weapon_deagle");
            cs_set_user_bpammo(id, CSW_DEAGLE, 256);
            SecondaryWeapon[id] = 108;
            HaveSecondaryWeapon[id] = 1;
        }
        case 3:
        {
            fm_give_item(id, "weapon_elite");
            cs_set_user_bpammo(id, CSW_ELITE, 256);
            SecondaryWeapon[id] = 109;
            HaveSecondaryWeapon[id] = 1;
        }
        case 4:
        {
            fm_give_item(id, "weapon_fiveseven");
            cs_set_user_bpammo(id, CSW_FIVESEVEN, 256);
            SecondaryWeapon[id] = 110;
            HaveSecondaryWeapon[id] = 1;
        }
        default:
        {
        }
    }
    menu_destroy(menu);
    return 1;
}

public GiveLastWeapons(id)
{
    !!! Removed Phi
    if (!HavePrimaryWeapon[id][0][0])
    {
        switch (PrimaryWeapon[id][0][0])
        {
            case 100:
            {
                fm_give_item(id, "weapon_m4a1");
                cs_set_user_bpammo(id, CSW_M4A1, 256);
                HavePrimaryWeapon[id] = 1;
            }
            case 101:
            {
                fm_give_item(id, "weapon_ak47");
                cs_set_user_bpammo(id, CSW_AK47, 256);
                HavePrimaryWeapon[id] = 1;
            }
            case 102:
            {
                fm_give_item(id, "weapon_m3");
                cs_set_user_bpammo(id, CSW_M3, 256);
                HavePrimaryWeapon[id] = 1;
            }
            case 103:
            {
                fm_give_item(id, "weapon_aug");
                cs_set_user_bpammo(id, CSW_AUG, 256);
                HavePrimaryWeapon[id] = 1;
            }
            case 104:
            {
                fm_give_item(id, "weapon_famas");
                cs_set_user_bpammo(id, CSW_FAMAS, 256);
                HavePrimaryWeapon[id] = 1;
            }
            case 105:
            {
                fm_give_item(id, "weapon_mp5navy");
                cs_set_user_bpammo(id, CSW_MP5NAVY, 256);
                HavePrimaryWeapon[id] = 1;
            }
            case 106:
            {
                fm_give_item(id, "weapon_xm1014");
                cs_set_user_bpammo(id, CSW_XM1014, 256);
                HavePrimaryWeapon[id] = 1;
            }
            default:
            {
            }
        }
    }
    if (!HaveSecondaryWeapon[id][0][0])
    {
        switch (SecondaryWeapon[id][0][0])
        {
            case 107:
            {
                fm_give_item(id, "weapon_usp");
                cs_set_user_bpammo(id, CSW_USP, 256);
                HaveSecondaryWeapon[id] = 1;
            }
            case 108:
            {
                fm_give_item(id, "weapon_deagle");
                cs_set_user_bpammo(id, CSW_DEAGLE, 256);
                HaveSecondaryWeapon[id] = 1;
            }
            case 109:
            {
                fm_give_item(id, "weapon_elite");
                cs_set_user_bpammo(id, CSW_ELITE, 256);
                HaveSecondaryWeapon[id] = 1;
            }
            case 110:
            {
                fm_give_item(id, "weapon_fiveseven");
                cs_set_user_bpammo(id, CSW_FIVESEVEN, 256);
                HaveSecondaryWeapon[id] = 1;
            }
            default:
            {
            }
        }
    }
    return 0;
}

public CMD_BlockJoinTeam(id)
{
    console_print(id, "[JOIN-TEAM]: SERVERUL ITI INTERZICE FOLOSIREA COMENZI JOIN-TEAM.");
    return 1;
}

public CMD_BlockChooseTeam(id)
{
    console_print(id, "[CHOOSE-TEAM]: SERVERUL ITI INTERZICE FOLOSIREA COMENZI CHOOSE-TEAM.");
    return 1;
}

public EVENT_CurWeapon(id)
{
    !!! Removed Phi
    if (is_user_connected(id))
    {
        if (get_user_weapon(id, 0, 0) == 29)
        {
            if (HaveSuperKnife[id][0][0])
            {
                set_pev(id, pev_viewmodel2, SuperKnifeModel_V);
            }
        }
        new PlayerHealth = 0;
        PlayerHealth = get_user_health(id);
        if (PlayerHealth == 256)
        {
            fm_set_user_health(id, 255);
        }
    }
    return 0;
}

public EVENT_Death()
{
    static Victim;
    static Attacker;
    Attacker = read_data(1);
    Victim = read_data(2);
    HaveSuperKnife[Victim] = 0;
    if (Attacker == Victim)
    {
        return 1;
    }
    if (is_user_connected(Attacker))
    {
        if (get_user_flags(Attacker, 0) & 524288)
        {
            cs_set_user_money(Attacker, cs_get_user_money(Attacker) + 4200, 1);
            fm_set_user_health(Attacker, get_user_health(Attacker) + 35);
            fm_set_user_armor(Attacker, get_user_armor(Attacker) + 35);
        }
        if (get_user_flags(Attacker, 0) & 262144)
        {
            cs_set_user_money(Attacker, cs_get_user_money(Attacker) + 3200, 1);
            fm_set_user_health(Attacker, get_user_health(Attacker) + 25);
            fm_set_user_armor(Attacker, get_user_armor(Attacker) + 25);
        }
        if (get_user_flags(Attacker, 0) & 1)
        {
            cs_set_user_money(Attacker, cs_get_user_money(Attacker) + 7700, 1);
            fm_set_user_health(Attacker, get_user_health(Attacker) + 80);
            fm_set_user_armor(Attacker, get_user_armor(Attacker) + 80);
        }
        if (get_user_flags(Attacker, 0) & 65536)
        {
            cs_set_user_money(Attacker, cs_get_user_money(Attacker) + 5200, 1);
            fm_set_user_health(Attacker, get_user_health(Attacker) + 55);
            fm_set_user_armor(Attacker, get_user_armor(Attacker) + 55);
        }
        if (get_user_flags(Attacker, 0) & 131072)
        {
            cs_set_user_money(Attacker, cs_get_user_money(Attacker) + 2200, 1);
            fm_set_user_health(Attacker, get_user_health(Attacker) + 15);
            fm_set_user_armor(Attacker, get_user_armor(Attacker) + 15);
        }
        new var1 = Heap_4;
        var1[0] = 7344;
        if (get_user_team(Victim, var1, 0) == 2)
        {
            cs_set_user_money(Attacker, cs_get_user_money(Attacker) + 1200, 1);
        }
        new var2 = Heap_4;
        var2[0] = 7344;
        if (get_user_team(Victim, var2, 0) == 1)
        {
            cs_set_user_money(Attacker, cs_get_user_money(Attacker) + 3000, 1);
        }
    }
    return 1;
}

public MSG_StatusIcon(msg_id, msg_dest, id)
{
    static Attrib;
    Attrib = get_msg_arg_int(2);
    if (Attrib == 2)
    {
        set_msg_arg_int(2, 1, 0);
    }
    new Icon[8];
    get_msg_arg_string(2, Icon, 7);
    if (get_pcvar_num(removebuyzone))
    {
        static BuyZone[8] =
        {
            98, 117, 121, 122, 111, 110, 101, 0
        }
        if (equal(Icon, "buyzone", 0))
        {
            set_pdata_int(id, 235, get_pdata_int(id, 235, 5) & -2, 5);
            return 1;
        }
    }
    return 0;
}

public MSG_TextMessage()
{
    static TextMsg[22];
    get_msg_arg_string(2, "", 21);
    if (equal("", "#Terrorists_Win", 0))
    {
        client_print(0, print_center, "Echipa furien a castigat aceasta runda.");
        return 1;
    }
    if (equal("", "#CTs_Win", 0))
    {
        client_print(0, print_center, "Echipa anti-furien a castigat aceasta runda.");
        return 1;
    }
    if (equal("", "#Bomb_Defused", 0))
    {
        client_print(0, print_center, "Echipa anti-furien a castigat aceasta runda.");
        return 1;
    }
    if (equal("", "#Target_Bombed", 0))
    {
        client_print(0, print_center, "Echipa furien a castigat aceasta runda.");
        return 1;
    }
    if (equal("", "#Target_Saved", 0))
    {
        client_print(0, print_center, "Echipa anti-furien a castigat aceasta runda.");
        return 1;
    }
    if (equal("", "#Fire_in_the_hole", 0))
    {
        return 1;
    }
    if (equal("", "#C4_Plant_At_Bomb_Spot", 0))
    {
        if (!CanPlant)
        {
            return 1;
        }
    }
    return 0;
}

public MSG_ShowMenu(msgid, dest, id)
{
    if (!Should_AutoJoin(id))
    {
        return 0;
    }
    static team_select[13] =
    {
        35, 84, 101, 97, 109, 95, 83, 101, 108, 101, 99, 116, 0
    }
    static menu_text_code[13];
    get_msg_arg_string(4, "", 12);
    if (!equal("", "#Team_Select", 0))
    {
        return 0;
    }
    JoinTeam_Task(id, msgid);
    return 1;
}

public MSG_VGUIMenu(msgid, dest, id)
{
    !!! Removed Phi
    if (get_msg_arg_int(1) == 2 && !Should_AutoJoin(id))
    {
        return 0;
    }
    JoinTeam_Task(id, msgid);
    return 1;
}

public MSG_SendAudio()
{
    !!! Removed Phi
    if (equal("", "terwin", 0) || equal("", "ctwin", 0) || equal("", "rounddraw", 0) || equal("", "bombpl", 0) || equal("", "bombdef", 0))
    {
        return 1;
    }
    return 0;
}

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


JoinTeam_Task(id, menu_msgid)
{
    static param_menu_msgid[2];
    param_menu_msgid[0] = menu_msgid;
    set_task(0.10, "Force_JoinTeam", id, "", 2, "", 0);
    return 0;
}

public Force_JoinTeam(String:menu_msgid[], id)
{
    new var1 = Heap_4;
    var1[0] = 7344;
    if (get_user_team(id, var1, 0))
    {
        return 0;
    }
    static class[2];
    static team[2];
    get_pcvar_string(cvar_autojoin_team, team, 1);
    get_pcvar_string(cvar_autojoin_class, class, 1);
    Force_Team_Join(id, menu_msgid[0], team, class);
    return 0;
}

Force_Team_Join(id, menu_msgid, String:team[], String:class[])
{
    static jointeam[9] =
    {
        106, 111, 105, 110, 116, 101, 97, 109, 0
    }
    if (class[0] == 48)
    {
        engclient_cmd(id, "jointeam", team, "");
        return 0;
    }
    static joinclass[10] =
    {
        106, 111, 105, 110, 99, 108, 97, 115, 115, 0
    }
    static msg_block;
    msg_block = get_msg_block(menu_msgid);
    set_msg_block(menu_msgid, 2);
    engclient_cmd(id, "jointeam", team, "");
    engclient_cmd(id, "joinclass", class, "");
    set_msg_block(menu_msgid, msg_block);
    return 0;
}

public bomb_planted(planter)
{
    C4_CountDownDelay = get_cvar_num("mp_c4timer") - 1;
    TASK_C4_CountDown();
    set_hudmessage(255, 0, 0, -1.00, 0.16, 0, 6.00, 6.00, 0.10, 0.20, 4);
    show_hudmessage(0, "Echipa furien a plantat bomba.\nAnti-furienii trebuie sa o dezamorseze.");
    return 0;
}

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

public BeginDelay(id)
{
    if (is_user_connected(id))
    {
        switch (id)
        {
            case 1:
            {
            }
            case 2:
            {
            }
            case 3:
            {
            }
            case 4:
            {
            }
            case 5:
            {
            }
            case 6:
            {
            }
            case 7:
            {
            }
            case 8:
            {
                set_task(0.20, "BeginTeamSwap", id, "", 0, "", 0);
            }
            case 9:
            {
                set_task(0.20, "BeginTeamSwap", id, "", 0, "", 0);
            }
            case 10:
            {
                set_task(0.20, "BeginTeamSwap", id, "", 0, "", 0);
            }
            case 11:
            {
                set_task(0.20, "BeginTeamSwap", id, "", 0, "", 0);
            }
            case 12:
            {
                set_task(0.20, "BeginTeamSwap", id, "", 0, "", 0);
            }
            case 13:
            {
                set_task(0.20, "BeginTeamSwap", id, "", 0, "", 0);
            }
            case 14:
            {
                set_task(0.20, "BeginTeamSwap", id, "", 0, "", 0);
            }
            case 15:
            {
                set_task(0.20, "BeginTeamSwap", id, "", 0, "", 0);
            }
            case 16:
            {
                set_task(0.30, "BeginTeamSwap", id, "", 0, "", 0);
            }
            case 17:
            {
                set_task(0.30, "BeginTeamSwap", id, "", 0, "", 0);
            }
            case 18:
            {
                set_task(0.30, "BeginTeamSwap", id, "", 0, "", 0);
            }
            case 19:
            {
                set_task(0.30, "BeginTeamSwap", id, "", 0, "", 0);
            }
            case 20:
            {
                set_task(0.30, "BeginTeamSwap", id, "", 0, "", 0);
            }
            case 21:
            {
                set_task(0.30, "BeginTeamSwap", id, "", 0, "", 0);
            }
            case 22:
            {
                set_task(0.30, "BeginTeamSwap", id, "", 0, "", 0);
            }
            case 23:
            {
                set_task(0.30, "BeginTeamSwap", id, "", 0, "", 0);
            }
            case 24:
            {
                set_task(0.40, "BeginTeamSwap", id, "", 0, "", 0);
            }
            case 25:
            {
                set_task(0.40, "BeginTeamSwap", id, "", 0, "", 0);
            }
            case 26:
            {
                set_task(0.40, "BeginTeamSwap", id, "", 0, "", 0);
            }
            case 27:
            {
                set_task(0.40, "BeginTeamSwap", id, "", 0, "", 0);
            }
            case 28:
            {
                set_task(0.40, "BeginTeamSwap", id, "", 0, "", 0);
            }
            case 29:
            {
                set_task(0.40, "BeginTeamSwap", id, "", 0, "", 0);
            }
            case 30:
            {
                set_task(0.40, "BeginTeamSwap", id, "", 0, "", 0);
            }
            case 31:
            {
                set_task(0.40, "BeginTeamSwap", id, "", 0, "", 0);
            }
            case 32:
            {
                set_task(0.40, "BeginTeamSwap", id, "", 0, "", 0);
            }
            default:
            {
            }
        }
        set_task(0.10, "BeginTeamSwap", id, "", 0, "", 0);
    }
    return 0;
}

public BeginTeamSwap(id)
{
    if (is_user_connected(id))
    {
        new var1 = Heap_4;
        var1[0] = 7344;
        switch (get_user_team(id, var1, 0))
        {
            case 1:
            {
                cs_set_user_team(id, 2, _}:0);
            }
            case 2:
            {
                cs_set_user_team(id, 1, _}:0);
            }
            default:
            {
            }
        }
    }
    return 0;
}

public Player_PreThink(id)
{
    !!! Removed Phi
    if (is_user_connected(id))
    {
        new var8 = Heap_4;
        var8[0] = 7344;
        if (get_user_team(id, var8, 0) == 1)
        {
            if (pev(id, pev_gravity) > 0.40/*1053609165*/ && pev(id, pev_gravity) > 0.10/*1036831949*/)
            {
                set_pev(id, pev_gravity, 0.40/*1053609165*/);
            }
            if (pev(id, pev_maxspeed) < 750.00/*1144750080*/ && pev(id, pev_maxspeed) > 1.00/*1065353216*/)
            {
                set_pev(id, pev_maxspeed, 750.00/*1144750080*/);
                set_user_footsteps(id, 1);
            }
        }
        if (get_pcvar_num(cvar_aim_info))
        {
            if (is_user_alive(id) && is_user_connected(Target) && is_user_alive(Target))
            {
                if (PlayerTeam == 1 && TargetTeam == 2)
                {
                    formatex(Message, 127, "%s\nVIATA: %i / APARARE: %i", TargetName, TargetHealth, TargetArmor);
                    RED = 20;
                    GREEN = 200;
                    BLUE = 50;
                }
                else
                {
                    if (PlayerTeam == 1 && TargetTeam == 1)
                    {
                        formatex(Message, 127, "%s\nVIATA: %i /  APARARE: %i", TargetName, TargetHealth, TargetArmor);
                        RED = 200;
                        GREEN = 20;
                        BLUE = 20;
                    }
                    if (PlayerTeam == 2 && TargetTeam == 2)
                    {
                        formatex(Message, 127, "%s\nVIATA: %i /  APARARE: %i", TargetName, TargetHealth, TargetArmor);
                        RED = 200;
                        GREEN = 20;
                        BLUE = 20;
                    }
                    if (PlayerTeam == 2 && TargetTeam == 1)
                    {
                        return 0;
                    }
                }
                set_hudmessage(RED, GREEN, BLUE, -1.00, -1.00, 0, 0.00, 0.10, 0.00, 0.00, -1);
                show_hudmessage(id, "%s", Message);
            }
        }
    }
    return 0;
}

public FWD_AddToFullPack(es, e, ent, host, host_flags, player, p_set)
{
    !!! Removed Phi
    if (is_user_connected(ent) && is_user_connected(host) && is_user_alive(ent))
    {
        if ((is_user_alive(host) && get_user_team(ent, var9, 0) == 1 && get_user_team(host, var10, 0) == 1) || (!is_user_alive(host) && get_user_team(ent, var11, 0) == 1 && ent == pev(host, pev_iuser2)) || (get_user_team(ent, var12, 0) == 1 && pev(ent, pev_maxspeed) <= 1.00/*1065353216*/))
        {
            set_es(es, ES_RenderFx, 0);
            set_es(es, ES_RenderMode, 2);
            set_es(es, ES_RenderAmt, 255);
        }
        new var13 = Heap_4;
        var13[0] = 7344;
        if (get_user_team(ent, var13, 0) == 1)
        {
            if ((get_user_weapon(ent, 0, 0) == 29 && !MakeVisible[ent][0][0] && fm_get_speed(ent) <= 5) || (get_user_weapon(ent, 0, 0) == 29 && !MakeVisible[ent][0][0] && Origin[0][0] == Wallorigin[ent][0][0][0] && Origin[1][0] == Wallorigin[ent][0][0][1] && Origin[2][0] == Wallorigin[ent][0][0][2]))
            {
                set_es(es, ES_RenderAmt, 0);
            }
            set_es(es, ES_RenderAmt, 255);
        }
    }
    return 0;
}

public FWD_ParachutePreThink(id)
{
    !!! Removed Phi
    if (is_user_alive(id) && get_user_team(id, var5, 0) == 2)
    {
        if (ParaENT[id][0][0] > 0 && Flags & 512)
        {
            if (pev(ParaENT[id][0][0], pev_sequence) != 2)
            {
                set_pev(ParaENT[id][0][0], pev_sequence, 2);
                set_pev(ParaENT[id][0][0], pev_gaitsequence, 1);
                set_pev(ParaENT[id][0][0], pev_frame, 0);
                set_pev(ParaENT[id][0][0], pev_fuser1, 0);
                set_pev(ParaENT[id][0][0], pev_animtime, 0);
                return 0;
            }
            pev(ParaENT[id][0][0], pev_fuser1, Frame);
            Frame += 2.00;
            set_pev(ParaENT[id][0][0], pev_fuser1, Frame);
            set_pev(ParaENT[id][0][0], pev_frame, Frame);
            if (Frame > 254.00)
            {
                engfunc(EngFunc_RemoveEntity, ParaENT[id]);
                ParaENT[id] = 0;
            }
            else
            {
                engfunc(EngFunc_RemoveEntity, ParaENT[id]);
                ParaENT[id] = 0;
            }
            return 0;
        }
        if (Button & 32)
        {
            new Float:Velocity[3];
            pev(id, pev_velocity, Velocity);
            if (Velocity[2] < 0.00)
            {
                if (0 >= ParaENT[id][0][0])
                {
                    ParaENT[id] = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "info_target"));
                    if (0 < ParaENT[id][0][0])
                    {
                        set_pev(ParaENT[id][0][0], pev_classname, "Parachute");
                        set_pev(ParaENT[id][0][0], pev_aiment, id);
                        set_pev(ParaENT[id][0][0], pev_owner, id);
                        set_pev(ParaENT[id][0][0], pev_movetype, 5);
                        set_pev(ParaENT[id][0][0], pev_sequence, 0);
                        set_pev(ParaENT[id][0][0], pev_gaitsequence, 1);
                        set_pev(ParaENT[id][0][0], pev_frame, 0);
                        set_pev(ParaENT[id][0][0], pev_fuser1, 0);
                    }
                }
                if (0 < ParaENT[id][0][0])
                {
                    set_pev(id, pev_sequence, 3);
                    set_pev(id, pev_gaitsequence, 1);
                    set_pev(id, pev_frame, 1.00/*1065353216*/);
                    set_pev(id, pev_framerate, 1.00/*1065353216*/);
                    new var3;
                    if (Velocity[2] + 40.00 < FallSpeed)
                    {
                        var3 = Velocity[2] + 40.00;
                    }
                    else
                    {
                        var3 = FallSpeed;
                    }
                    Velocity[2] = var3;
                    set_pev(id, pev_velocity, Velocity);
                    if (pev(ParaENT[id][0][0], pev_sequence))
                    {
                    }
                    else
                    {
                        pev(ParaENT[id][0][0], pev_fuser1, Frame);
                        Frame += 1.00;
                        set_pev(ParaENT[id][0][0], pev_fuser1, Frame);
                        set_pev(ParaENT[id][0][0], pev_frame, Frame);
                        if (Frame > 100.00)
                        {
                            set_pev(ParaENT[id][0][0], pev_animtime, 0);
                            set_pev(ParaENT[id][0][0], pev_framerate, 0.40/*1053609165*/);
                            set_pev(ParaENT[id][0][0], pev_sequence, 1);
                            set_pev(ParaENT[id][0][0], pev_gaitsequence, 1);
                            set_pev(ParaENT[id][0][0], pev_frame, 0);
                            set_pev(ParaENT[id][0][0], pev_fuser1, 0);
                        }
                    }
                }
            }
            else
            {
                if (0 < ParaENT[id][0][0])
                {
                    engfunc(EngFunc_RemoveEntity, ParaENT[id]);
                    ParaENT[id] = 0;
                }
            }
        }
        else
        {
            if (OldButton & 32 && ParaENT[id][0][0] > 0)
            {
                engfunc(EngFunc_RemoveEntity, ParaENT[id]);
                ParaENT[id] = 0;
            }
        }
    }
    return 0;
}

public FWD_GameDescription()
{
    static GameName[32];
    get_pcvar_string(cvar_gamedescription, GameName, 31);
    forward_return(1, GameName);
    return 4;
}

public TASK_CanPlant()
{
    CanPlant = 1;
    set_hudmessage(255, 0, 0, -1.00, 0.16, 0, 6.00, 6.00, 0.10, 0.20, 4);
    show_hudmessage(0, "Echipa furien poate planta bomba.\nTimpul de interdictie a expirat.");
    return 0;
}

public TASK_C4_CountDown()
{
    new Red = 0;
    new Green = 0;
    new Blue = 0;
    if (C4_CountDownDelay > 10)
    {
        Red = 0;
        Green = 255;
        Blue = 0;
    }
    else
    {
        if (C4_CountDownDelay > 5)
        {
            Red = 255;
            Green = 200;
            Blue = 0;
        }
        if (C4_CountDownDelay <= 5)
        {
            Red = 255;
            Green = 0;
            Blue = 0;
        }
    }

/ * ERROR! Object reference not set to an instance of an object. * /
 function "TASK_C4_CountDown"
public TASK_C4_CountDown()
If you can give it sma
Please
leholino is offline
MagNNusS
Member
Join Date: May 2018
Location: World of Bushi
Old 07-13-2020 , 07:32   Re: Modify sma
Reply With Quote #2

As far as I can see, this is a decompiled plugin, not a sma that can work properly.
__________________
Just an impractical signature
nothing to see here.
MagNNusS is offline
leholino
Junior Member
Join Date: Jun 2020
Old 07-13-2020 , 07:50   Re: Modify sma
Reply With Quote #3

maybe this
Code:
#include <amxmodx>
#include <cstrike>
#include <engine>
#include <fakemeta>
#include <fakemeta_util>
#include <hamsandwich>
#include <fun>

#define PLUGIN "Furien Clasic"
#define VERSION "2.0"
#define AUTHOR "Aragon*/DaNNe."

#define DMG_HEGRENADE (1<<24)

#define FURIEN_GRAVITY		0.4
#define FURIEN_SPEED		750.0
#define TEAM_FURIEN 1
#define TEAM_ANTIFURIEN 2

#define TASKID_CANPLANT			 10001
#define TASKID_C4COUNTDOWN		 453 

#define VIP_GOLD_LEVEL		ADMIN_LEVEL_H
#define VIP_SILVER_LEVEL	ADMIN_LEVEL_G
#define FOUNDER_LEVEL		ADMIN_IMMUNITY

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

//Shop
new SuperKnifeModel_V[] = "models/v_superknife_new.mdl"
new bool: HaveSuperKnife[33]

//Settings
new bool:MakeVisible[33], Float:Wallorigin[33][3]

//Parachute
#define PARACHUTE_CLASS		"Parachute"
new ParaENT[33];

new Menu;
new cvar_gamedescription, furienspawnhp, antifurienspawnhp, removebuyzone, superknife_damage_multiplier, cvar_autojoin_class, cvar_autojoin_team, cvar_aim_info, 
MSGID_SayText, MSGID_StatusIcon, MSGID_TextMsg, MSGID_SendAudio, MSGID_ShowMenu, MSGID_VGUIMenu, MSGID_Health, MSGID_ScreenFade,
bool:CanPlant, C4_CountDownDelay;

public plugin_cfg() {
	server_cmd("amx_cvar mp_playerid 2")
	server_cmd("amx_cvar sv_maxspeed 900")
	server_cmd("amx_cvar sv_restart 5")
}


//===========================================================================================//
//===============================[Weapons Settings]=========================================//
//=========================================================================================//
new bool:HavePrimaryWeapon[33], bool:HaveSecondaryWeapon[33], PrimaryWeapon[33], SecondaryWeapon[33];

//---|| Primary
#define M4A1_KEY		100
#define AK47_KEY		101
#define M3_KEY			102
#define AUG_KEY			103 
#define FAMAS_KEY		104
#define MP5_KEY			105
#define XM1014_KEY		106

//---|| Secondary
#define USP_KEY			107
#define DEAGLE_KEY		108
#define ELITE_KEY		109
#define FIVESEVEN_KEY	110

public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
	
	cvar_gamedescription = register_cvar("furien_gamename", "Furien CS1")
	antifurienspawnhp = register_cvar("antifurien_spawnhp", "100")
	furienspawnhp = register_cvar("furien_spawnhp", "100")
	superknife_damage_multiplier = register_cvar("superknife_damage_multiplier", "2.0")
	cvar_autojoin_team = register_cvar("furien_team", "5")
	cvar_autojoin_class = register_cvar("furien_class", "5")
	cvar_aim_info = register_cvar("furien_enable_aiminfo", "1")
	
	MSGID_SayText = get_user_msgid("SayText")
	MSGID_StatusIcon = get_user_msgid("StatusIcon")
	MSGID_TextMsg = get_user_msgid("TextMsg")
	MSGID_SendAudio = get_user_msgid("SendAudio")
	MSGID_ShowMenu = get_user_msgid("ShowMenu")
	MSGID_VGUIMenu = get_user_msgid("VGUIMenu")
	MSGID_ScreenFade = get_user_msgid("ScreenFade")
	
	register_clcmd("say shop", "CmdShopMenu")
	register_clcmd("say /shop", "CmdShopMenu")
	register_clcmd("say_team shop", "CmdShopMenu")
	register_clcmd("say_team /shop", "CmdShopMenu")
	//register_clcmd("say weapons", "CmdWeaponsMenu")
	//register_clcmd("say /weapons", "CmdWeaponsMenu")
	register_clcmd("jointeam", "CMD_BlockJoinTeam")
	register_clcmd("jointeam 1", "CMD_BlockJoinTeam")
	register_clcmd("jointeam 2", "CMD_BlockJoinTeam")
	register_clcmd("jointeam 3", "CMD_BlockJoinTeam")
	register_clcmd("chooseteam", "CMD_BlockChooseTeam")
	register_clcmd("say /beneficii", "CmdShowMotd")
	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_Weapon_PrimaryAttack, "weapon_c4", "C4_PrimaryAttack"); 
	
	register_forward(FM_PlayerPreThink, "Player_PreThink");
	register_forward(FM_AddToFullPack, "FWD_AddToFullPack", 1);	
	register_forward(FM_PlayerPreThink, "FWD_ParachutePreThink");
	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_event("HLTV", "EVENT_NewRound", "a", "1=0", "2=0");
	register_event("TextMsg", "EVENT_FireINTheHole", "b", "2&#Game_radio", "4&#Fire_in_the_hole")
	register_event("TextMsg", "EVENT_FireINTheHole", "b", "3&#Game_radio", "5&#Fire_in_the_hole")	
	
	
	register_message(MSGID_StatusIcon, "MSG_StatusIcon");
	register_message(MSGID_TextMsg, "MSG_TextMessage");
	register_message(MSGID_ShowMenu, "MSG_ShowMenu");
	register_message(MSGID_VGUIMenu, "MSG_VGUIMenu");
	register_message(MSGID_SendAudio, "MSG_SendAudio");
	register_message(MSGID_Health, "MSG_Health")
	register_message(MSGID_ScreenFade, "MSG_ScreenFade")
}


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_connect(id) {
	client_cmd(id, "cl_forwardspeed 999.0")
	client_cmd(id, "cl_sidespeed 999.0")
	client_cmd(id, "cl_backspeed 999.0")
}

public client_putinserver(id) {
	client_cmd(id, "cl_forwardspeed 999.0")
	client_cmd(id, "cl_sidespeed 999.0")
	client_cmd(id, "cl_backspeed 999.0")
	PrimaryWeapon[id] = 0
	SecondaryWeapon[id] = 0
}
	

public Ham_Spawn_Post(id) {
	if(is_user_connected(id) && is_user_alive(id)) {
		strip_user_weapons(id)
		HavePrimaryWeapon[id] = false
		HaveSecondaryWeapon[id] = false
		switch(get_user_team(id)) {
			case TEAM_FURIEN: {
				fm_give_item(id, "weapon_hegrenade")
				fm_give_item(id, "weapon_knife")
				fm_give_item(id, "weapon_flashbang")
				set_user_footsteps(id, 1)
				fm_set_user_health(id, get_pcvar_num(furienspawnhp))
			}
			case TEAM_ANTIFURIEN: {
				fm_give_item(id, "weapon_flashbang")
				fm_give_item(id, "weapon_hegrenade")
				fm_give_item(id, "weapon_knife")
				set_user_footsteps(id, 0)
				fm_set_user_health(id, get_pcvar_num(antifurienspawnhp))
				HaveSuperKnife[id] = false;
				Equipment(id)					
			}
		}
	}
}

public EVENT_NewRound() {
	CanPlant = false;
	new Float:FloatTime = get_cvar_num("mp_freezetime") + (get_cvar_num("mp_roundtime") * 60) - 60.0
	set_task(FloatTime, "TASK_CanPlant", TASKID_CANPLANT)
	remove_task(TASKID_C4COUNTDOWN)
}

public EVENT_FireINTheHole() 
	return PLUGIN_HANDLED

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

public SuperKnife_TakeDamage(Victim, Inflictor, Attacker, Float:Damage, DamageType) {
	if(is_user_connected(Attacker) && is_user_alive(Attacker) && is_user_connected(Victim)) {
		if(get_user_weapon(Attacker) == CSW_KNIFE) {
			if(HaveSuperKnife[Attacker])
				SetHamParamFloat(4, Damage * get_pcvar_float(superknife_damage_multiplier))
		}
		if(get_user_flags(Victim) & VIP_GOLD_LEVEL) {
			if(DamageType & DMG_HEGRENADE)
				return HAM_SUPERCEDE
		}
	}
	return HAM_IGNORED
}

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

public C4_PrimaryAttack(Ent) {
	if(!CanPlant) 
		return HAM_SUPERCEDE
		
	return HAM_IGNORED
}

public CmdResetScore(id) {
	if(get_user_frags(id) == 0 && get_user_deaths(id) == 0) 
		ColorChat(id, "!gScorul tau este deja!t 0-0!g !")
	else {
		for(new i = 0; i < 2; i++) {
			cs_set_user_deaths(id, 0);
			set_user_frags(id, 0);
		}
		ColorChat(id, "!gTi-ai resetat scorul cu succes !")
	}
}

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

public CmdFurienShop(id) {
	if(is_user_alive(id) && get_user_team(id) == TEAM_FURIEN) {
		Menu = menu_create("\yFurien Shop", "CmdFurienHandler")
		
		new SuperKnife[256];
		formatex(SuperKnife, sizeof(SuperKnife)-1, "Super knife - \y10000$")   
		menu_additem(Menu, SuperKnife, "1", 0)
		
		new Health[256];
		formatex(Health, sizeof(Health)-1, "50 HP	- \y3000$")
		menu_additem(Menu, Health, "2", 0)
		
		new Armor[256];
		formatex(Armor, sizeof(Armor)-1, "50 AP + Helmet - \y500$")
		menu_additem(Menu, Armor, "3", 0)
		
		new Grenade[256];
		formatex(Grenade, sizeof(Grenade)-1, "He grenade - \y4000$")
		menu_additem(Menu, Grenade, "4", 0)
		
		menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);
		menu_display(id, Menu, 0);
	}
}

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

		new Defuse[256];
		formatex(Defuse, sizeof(Defuse)-1, "Defuse kit - \y500$")
		menu_additem(Menu, Defuse, "1", 0)
		
		new Health[256];
		formatex(Health, sizeof(Health)-1, "50 HP	- \y3000$")
		menu_additem(Menu, Health, "2", 0)
		
		new Armor[256];
		formatex(Armor, sizeof(Armor)-1, "50 AP + Helmet - \y500$")
		menu_additem(Menu, Armor, "3", 0)
		
		new Grenade[256];
		formatex(Grenade, sizeof(Grenade)-1, "He grenade - \y4000$")
		menu_additem(Menu, Grenade, "4", 0)

		menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);
		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])
				client_print(id, print_center, "You already have SuperKnife!")
			else {
				new Money = cs_get_user_money(id) - 10000
				if(Money < 0) 
					client_print(id, print_center, "You have  insufficient founds!")
				else {
					HaveSuperKnife[id] = true;
					EVENT_CurWeapon(id)
					cs_set_user_money(id, Money)
				}
			}
		}
		case 2: {
			if(get_user_health(id) >= 250) 
				client_print(id, print_center, "You already have 250 HP!")
			else {
				new Money = cs_get_user_money(id) - 3000
				if(Money < 0) 
					client_print(id, print_center, "You have  insufficient founds!")
				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)
					cs_set_user_money(id, Money)
				}
			}
		}
		case 3: {
			if(get_user_armor(id) >= 250) 
				client_print(id, print_center, "You already have 250 AP!")
			else {
				new Money = cs_get_user_money(id) - 500
				if(Money < 0) 
					client_print(id, print_center, "You have  insufficient founds!")
				else {
					if(get_user_armor(id) + 50 > 250) 
						fm_set_user_armor(id, 250)
					else 
						fm_set_user_armor(id, get_user_armor(id) + 50)
					cs_set_user_money(id, Money)
				}
			}
		}
		case 4: {
			if(user_has_weapon(id, CSW_HEGRENADE))
				client_print(id, print_center, "You already have HE GRENADE!")
			else {
				new Money = cs_get_user_money(id) - 4000
				if(Money < 0) 
					client_print(id, print_center, "You have  insufficient founds!")
				else {	
					fm_give_item(id, "weapon_hegrenade")
					cs_set_user_money(id, Money)
				}
			}
		}
	}
	menu_destroy(menu)
	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, "You already have Defuse KIT!")
			else {
				new Money = cs_get_user_money(id) - 500
				if(Money < 0) 
					client_print(id, print_center, "You have  insufficient founds!")
				else {
					cs_set_user_defuse(id, 1)
					cs_set_user_money(id, Money)
				}
			}
		}
		case 2: {
			if(get_user_health(id) >= 250) 
				client_print(id, print_center, "You already have 250 HP!")
			else {
				new Money = cs_get_user_money(id) - 3000
				if(Money < 0) 
					client_print(id, print_center, "You have  insufficient founds!")
				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)
					cs_set_user_money(id, Money)
				}
			}
		}
		case 3: {
			if(get_user_armor(id) >= 250) 
				client_print(id, print_center, "You already have 250 AP!")
			else {
				new Money = cs_get_user_money(id) - 500
				if(Money < 0) 
					client_print(id, print_center, "You have  insufficient founds!")
				else {
					if(get_user_armor(id) + 50 > 250) 
						fm_set_user_armor(id, 250)
					else 
						fm_set_user_armor(id, get_user_armor(id) + 50)
					cs_set_user_money(id, Money)
				}
			}
		}
		case 4: {
			if(user_has_weapon(id, CSW_HEGRENADE))
				client_print(id, print_center, "You already have HE GRENADE!")
			else {
				new Money = cs_get_user_money(id) - 4000
				if(Money < 0) 
					client_print(id, print_center, "You have  insufficient founds!")
				else {	
					fm_give_item(id, "weapon_hegrenade")
					cs_set_user_money(id, Money)
				}
			}
		}
	}
	menu_destroy(menu)
	return PLUGIN_HANDLED
}

//=========================================================================//
//=======================[Weapons Settings]===============================//
//=======================================================================//

public Equipment(id) {
	if(is_user_alive(id) && get_user_team(id) == 2) {
		Menu = menu_create("\rWeapons Menu", "EquipmentCmd");
		menu_additem(Menu, "\wNew Weapons", "1", 0);
		if(PrimaryWeapon[id] && SecondaryWeapon[id])
			menu_additem(Menu, "\wPrevious Setup", "2", 0);
		else 
			menu_additem(Menu, "\dPrevious Setup", "2", 0);
		menu_setprop(Menu, MPROP_EXIT, MEXIT_NEVER)
		menu_display(id, Menu, 0);
	}
}

public EquipmentCmd(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(!HavePrimaryWeapon[id])
				Primary(id)
			else if(!HaveSecondaryWeapon[id])
				Secondary(id)
		}
		case 2: {
			if(PrimaryWeapon[id] && SecondaryWeapon[id])
				GiveLastWeapons(id)
			else Equipment(id)
		}
		default: return PLUGIN_HANDLED;
	}
	menu_destroy(menu);
	return PLUGIN_HANDLED;
}

public Primary(id) {
	if(is_user_alive(id) && get_user_team(id) == TEAM_ANTIFURIEN) {
		Menu = menu_create("\yAnti-Furien Weapons^n\rPrimary:", "CmdWeaponsHandler")
		
		menu_additem(Menu, "M4A1", "1", 0)
		menu_additem(Menu, "AK47", "2", 0)
		menu_additem(Menu, "M3", "3", 0)
		menu_additem(Menu, "Aug", "4", 0)
		menu_additem(Menu, "Famas", "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: {
			fm_give_item(id, "weapon_m4a1")
			cs_set_user_bpammo(id, CSW_M4A1, 254)
			PrimaryWeapon[id] = M4A1_KEY
			HavePrimaryWeapon[id] = true;
			Secondary(id)
		}
		case 2: {
			fm_give_item(id, "weapon_ak47")
			cs_set_user_bpammo(id, CSW_AK47, 254)
			PrimaryWeapon[id] = AK47_KEY
			HavePrimaryWeapon[id] = true;
			Secondary(id)
		}
		case 3: {
			fm_give_item(id, "weapon_m3")
			cs_set_user_bpammo(id, CSW_M3, 254)
			PrimaryWeapon[id] = M3_KEY
			HavePrimaryWeapon[id] = true;
			Secondary(id)
		}
		case 4: {
			fm_give_item(id, "weapon_aug")
			cs_set_user_bpammo(id, CSW_AUG, 254)
			PrimaryWeapon[id] = AUG_KEY
			HavePrimaryWeapon[id] = true;
			Secondary(id)
		}
		case 5: {
			fm_give_item(id, "weapon_famas")
			cs_set_user_bpammo(id, CSW_FAMAS, 254)
			PrimaryWeapon[id] = FAMAS_KEY
			HavePrimaryWeapon[id] = true;
			Secondary(id)
		}
		case 6: {
			fm_give_item(id, "weapon_mp5navy")
			cs_set_user_bpammo(id, CSW_MP5NAVY, 254)
			PrimaryWeapon[id] = MP5_KEY
			HavePrimaryWeapon[id] = true;
			Secondary(id)
		}
		case 7: {
			fm_give_item(id, "weapon_xm1014")
			cs_set_user_bpammo(id, CSW_XM1014, 254)
			PrimaryWeapon[id] = XM1014_KEY
			HavePrimaryWeapon[id] = true;
			Secondary(id)
		}
	}
	menu_destroy(menu)
	return PLUGIN_HANDLED
}

public Secondary(id) {
	if(is_user_alive(id) && get_user_team(id) == TEAM_ANTIFURIEN) {
		Menu = menu_create("\yAnti-Furien Weapons^n\rSecondary:", "CmdSecondaryHandler")
		
		menu_additem(Menu, "USP", "1", 0)
		menu_additem(Menu, "Deagle", "2", 0)
		menu_additem(Menu, "Elite", "3", 0)
		menu_additem(Menu, "Five Seven", "4", 0)
		
		menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);
		menu_display(id, Menu, 0);
	}
}

public CmdSecondaryHandler(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: {
			fm_give_item(id, "weapon_usp")
			cs_set_user_bpammo(id, CSW_USP, 256)
			SecondaryWeapon[id] = USP_KEY
			HaveSecondaryWeapon[id] = true;
		}
		case 2: {
			fm_give_item(id, "weapon_deagle")
			cs_set_user_bpammo(id, CSW_DEAGLE, 256)
			SecondaryWeapon[id] = DEAGLE_KEY 
			HaveSecondaryWeapon[id] = true;
		}
		case 3: {
			fm_give_item(id, "weapon_elite")
			cs_set_user_bpammo(id, CSW_ELITE, 256)
			SecondaryWeapon[id] = ELITE_KEY
			HaveSecondaryWeapon[id] = true;
		}
		case 4: {
			fm_give_item(id, "weapon_fiveseven")
			cs_set_user_bpammo(id, CSW_FIVESEVEN, 256)
			SecondaryWeapon[id] = FIVESEVEN_KEY
			HaveSecondaryWeapon[id] = true;
		}
	}
	menu_destroy(menu)
	return PLUGIN_HANDLED
}

public GiveLastWeapons(id) {
	if(!HavePrimaryWeapon[id]) {
		switch(PrimaryWeapon[id]) {
			case M4A1_KEY: {
				fm_give_item(id, "weapon_m4a1")
				cs_set_user_bpammo(id, CSW_M4A1, 256)
				HavePrimaryWeapon[id] = true;
			}
			case AK47_KEY: {
				fm_give_item(id, "weapon_ak47")
				cs_set_user_bpammo(id, CSW_AK47, 256)
				HavePrimaryWeapon[id] = true;
			}
			case M3_KEY: {
				fm_give_item(id, "weapon_m3")
				cs_set_user_bpammo(id, CSW_M3, 256)
				HavePrimaryWeapon[id] = true;
			}
			case AUG_KEY: {
				fm_give_item(id, "weapon_aug")
				cs_set_user_bpammo(id, CSW_AUG, 256)
				HavePrimaryWeapon[id] = true;
			}
			case FAMAS_KEY: {
				fm_give_item(id, "weapon_famas")
				cs_set_user_bpammo(id, CSW_FAMAS, 256)
				HavePrimaryWeapon[id] = true;
			}
			case MP5_KEY: {
				fm_give_item(id, "weapon_mp5navy")
				cs_set_user_bpammo(id, CSW_MP5NAVY, 256)
				HavePrimaryWeapon[id] = true;
			}
			case XM1014_KEY: {
				fm_give_item(id, "weapon_xm1014")
				cs_set_user_bpammo(id, CSW_XM1014, 256)
				HavePrimaryWeapon[id] = true;
			}
		}
	}
	if(!HaveSecondaryWeapon[id]) {
		switch(SecondaryWeapon[id]) {
			case USP_KEY: {
				fm_give_item(id, "weapon_usp")
				cs_set_user_bpammo(id, CSW_USP, 256)
				HaveSecondaryWeapon[id] = true;
			}
			case DEAGLE_KEY: {
				fm_give_item(id, "weapon_deagle")
				cs_set_user_bpammo(id, CSW_DEAGLE, 256)
				HaveSecondaryWeapon[id] = true;
			}
			case ELITE_KEY: {
				fm_give_item(id, "weapon_elite")
				cs_set_user_bpammo(id, CSW_ELITE, 256)
				HaveSecondaryWeapon[id] = true;
			}
			case FIVESEVEN_KEY: {
				fm_give_item(id, "weapon_fiveseven")
				cs_set_user_bpammo(id, CSW_FIVESEVEN, 256)
				HaveSecondaryWeapon[id] = true;
			}
		}
	}
}
public CMD_BlockJoinTeam(id) {
	console_print(id, "*** Nu ai voie sa foloseti JoinTeam ! ***")
	return 1;
}

public CMD_BlockChooseTeam(id) {
	console_print(id, "*** Nu ai voie sa foloseti ChooseTeam ! ***")
	return 1;
}

public CmdShowMotd(id)
	show_motd(id, "addons/amxmodx/configs/beneficii.html")

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

public EVENT_CurWeapon(id) {
	if(is_user_connected(id)) {
		if(get_user_weapon(id) == CSW_KNIFE) {
			if(HaveSuperKnife[id]) 
				set_pev(id, pev_viewmodel2, SuperKnifeModel_V)
		}
		new PlayerHealth;
		PlayerHealth = get_user_health(id)
		if(PlayerHealth == 256)
			fm_set_user_health(id, 255)
	}

}

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) & VIP_GOLD_LEVEL) {
			cs_set_user_money(Attacker, cs_get_user_money(Attacker) + 6000)
			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) & VIP_SILVER_LEVEL) {
			cs_set_user_money(Attacker, cs_get_user_money(Attacker) + 3000)
			fm_set_user_health(Attacker, get_user_health(Attacker) + 30)
			fm_set_user_armor(Attacker, get_user_armor(Attacker) + 30)
		}
		else if(get_user_flags(Attacker) & FOUNDER_LEVEL) {
			cs_set_user_money(Attacker, cs_get_user_money(Attacker) + 7000)
			fm_set_user_health(Attacker, get_user_health(Attacker) + 70)
			fm_set_user_armor(Attacker, get_user_armor(Attacker) + 70)	
		}
		else {
			if(get_user_team(Victim) == 2) 
				cs_set_user_money(Attacker, cs_get_user_money(Attacker) + 1200)
			else if(get_user_team(Victim) == 1)
				cs_set_user_money(Attacker, cs_get_user_money(Attacker) + 3000)
		}
	}

	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_TextMessage() {
	static TextMsg[22];
	get_msg_arg_string(2, TextMsg, charsmax(TextMsg))
	if(equal(TextMsg, "#Terrorists_Win")) {
		client_print(0, print_center, "The Furiens have won this round!")
		return PLUGIN_HANDLED;
	}
	else if(equal(TextMsg, "#CTs_Win")) {
		client_print(0, print_center, "The Anti-Furiens have won this round!")
		return PLUGIN_HANDLED;
	}
	else if(equal(TextMsg, "#Bomb_Defused")) {
		client_print(0, print_center, "The Anti-Furiens have won this round!")
		return PLUGIN_HANDLED;
	}
	else if(equal(TextMsg, "#Target_Bombed")) {
		client_print(0, print_center, "The Furiens have won this round!")
		return PLUGIN_HANDLED;
	}
	else if(equal(TextMsg, "#Target_Saved")) {
		client_print(0, print_center, "The Anti-Furiens have won this round!")
		return PLUGIN_HANDLED;
	}
	else if(equal(TextMsg, "#Fire_in_the_hole"))
		return PLUGIN_HANDLED
	else if(equal(TextMsg, "#C4_Plant_At_Bomb_Spot")) {
		if(!CanPlant)
			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_SendAudio() {
	static Sound[17]
	get_msg_arg_string(2, Sound, sizeof Sound - 1)
	
	if(equal(Sound, "terwin") || equal(Sound, "ctwin") || equal(Sound, "rounddraw") || equal(Sound, "bombpl") || equal(Sound, "bombdef"))
		return PLUGIN_HANDLED;
	
	return PLUGIN_CONTINUE;
}

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_GOLD_LEVEL) {
			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 bomb_planted(planter) {
	C4_CountDownDelay = get_cvar_num("mp_c4timer") - 1
	TASK_C4_CountDown();
	set_hudmessage(random(255), random(255), random(255), -1.0, -1.0, 1, 3.1, 3.0)
	show_hudmessage(0, "Furienii au plantat bomba!")
}

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 TEAM_FURIEN: cs_set_user_team(id, CS_TEAM_CT)
			case TEAM_ANTIFURIEN: cs_set_user_team(id, CS_TEAM_T)
		}
	}
}	

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

public Player_PreThink(id) {
	if(is_user_connected(id)) {
		if(get_user_team(id) == TEAM_FURIEN) {
			if(pev(id, pev_gravity) > FURIEN_GRAVITY && pev(id, pev_gravity) > 0.1)
				set_pev(id, pev_gravity, FURIEN_GRAVITY)
		
			if(pev(id, pev_maxspeed) < FURIEN_SPEED && pev(id, pev_maxspeed) > 1.0) {
				set_pev(id, pev_maxspeed, FURIEN_SPEED)
				set_user_footsteps(id, 1)
			}
		}
		if(get_pcvar_num(cvar_aim_info)) {
			new Target, Body;
			get_user_aiming(id, Target, Body);
			if(is_user_alive(id) && is_user_connected(Target) && is_user_alive(Target)) {
				new TargetTeam, PlayerTeam, TargetName[32], Message[128], TargetHealth, TargetArmor, RED, GREEN, BLUE;
				TargetTeam = get_user_team(Target)
				PlayerTeam = get_user_team(id)
				get_user_name(Target, TargetName, 31)
				TargetHealth = get_user_health(Target)
				TargetArmor = get_user_armor(Target)
				if(PlayerTeam == TEAM_FURIEN && TargetTeam == TEAM_ANTIFURIEN) {
					formatex(Message, sizeof(Message)-1, "%s^nHP: %i | AP: %i", TargetName, TargetHealth, TargetArmor)
					RED = 20
					GREEN = 200
					BLUE = 50
				}
				else if(PlayerTeam == TEAM_FURIEN && TargetTeam == TEAM_FURIEN) {
					formatex(Message, sizeof(Message)-1, "%s^nHP: %i | AP: %i", TargetName, TargetHealth, TargetArmor)
					RED = 200
					GREEN = 20 
					BLUE = 20 
				}
				else if(PlayerTeam == TEAM_ANTIFURIEN && TargetTeam == TEAM_ANTIFURIEN) {
					formatex(Message, sizeof(Message)-1, "%s^nHP: %i | AP: %i", TargetName, TargetHealth, TargetArmor)
					RED = 200
					GREEN = 20 
					BLUE = 20 
				}
				else if(PlayerTeam == TEAM_ANTIFURIEN && TargetTeam == TEAM_FURIEN)
					return 
				set_hudmessage(RED, GREEN, BLUE, -1.0, -1.0, 0, 0.0, 0.1, 0.0, 0.0, -1);
				show_hudmessage(id, "%s", Message)
			}
		}
	}
}

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_ParachutePreThink(id) {
	if(is_user_alive(id) && get_user_team(id) == TEAM_ANTIFURIEN) {
		new Float:FallSpeed = -50.0;
		new Float:Frame;
		
		new Button = pev(id, pev_button);
		new OldButton = pev(id, pev_oldbuttons);
		new Flags = pev(id, pev_flags);
		
		if(ParaENT[id] > 0 &&(Flags & FL_ONGROUND)) {
			
			if(pev(ParaENT[id],pev_sequence) != 2) {
				set_pev(ParaENT[id], pev_sequence, 2);
				set_pev(ParaENT[id], pev_gaitsequence, 1);
				set_pev(ParaENT[id], pev_frame, 0.0);
				set_pev(ParaENT[id], pev_fuser1, 0.0);
				set_pev(ParaENT[id], pev_animtime, 0.0);
				return;
			}
			
			pev(ParaENT[id],pev_fuser1, Frame);
			Frame += 2.0;
			set_pev(ParaENT[id],pev_fuser1,Frame);
			set_pev(ParaENT[id],pev_frame,Frame);
			
			if(Frame > 254.0) {
				engfunc(EngFunc_RemoveEntity, ParaENT[id]);
				ParaENT[id] = 0;
			}
			else {
				engfunc(EngFunc_RemoveEntity, ParaENT[id]);
				ParaENT[id] = 0;
			}
			return;
		}
		
		if(Button & IN_USE) {
			new Float:Velocity[3];
			pev(id, pev_velocity, Velocity);
			
			if(Velocity[2] < 0.0) {
				if(ParaENT[id] <= 0) {
					ParaENT[id] = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "info_target"));
					
					if(ParaENT[id] > 0) {
						set_pev(ParaENT[id],pev_classname, PARACHUTE_CLASS);
						set_pev(ParaENT[id], pev_aiment, id);
						set_pev(ParaENT[id], pev_owner, id);
						set_pev(ParaENT[id], pev_movetype, MOVETYPE_FLY);
						set_pev(ParaENT[id], pev_sequence, 0);
						set_pev(ParaENT[id], pev_gaitsequence, 1);
						set_pev(ParaENT[id], pev_frame, 0.0);
						set_pev(ParaENT[id], pev_fuser1, 0.0);
					}
				}
				if(ParaENT[id] > 0) {
					set_pev(id, pev_sequence, 3);
					set_pev(id, pev_gaitsequence, 1);
					set_pev(id, pev_frame, 1.0);
					set_pev(id, pev_framerate, 1.0);
					
					Velocity[2] = (Velocity[2] + 40.0 < FallSpeed) ? Velocity[2] + 40.0 : FallSpeed;
					set_pev(id, pev_velocity, Velocity);
					
					if(pev(ParaENT[id],pev_sequence) == 0) {
						pev(ParaENT[id],pev_fuser1, Frame);
						Frame += 1.0;
						set_pev(ParaENT[id],pev_fuser1,Frame);
						set_pev(ParaENT[id],pev_frame,Frame);
						
						if(Frame > 100.0) {
							set_pev(ParaENT[id], pev_animtime, 0.0);
							set_pev(ParaENT[id], pev_framerate, 0.4);
							set_pev(ParaENT[id], pev_sequence, 1);
							set_pev(ParaENT[id], pev_gaitsequence, 1);
							set_pev(ParaENT[id], pev_frame, 0.0);
							set_pev(ParaENT[id], pev_fuser1, 0.0);
						}
					}
				}
			}
			
			else if(ParaENT[id] > 0) {
				engfunc(EngFunc_RemoveEntity, ParaENT[id]);
				ParaENT[id] = 0;
			}
		}
		
		else if((OldButton & IN_USE) && ParaENT[id] > 0) {
			engfunc(EngFunc_RemoveEntity, ParaENT[id]);
			ParaENT[id] = 0;
		}
	}
}

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

public TASK_CanPlant() {
	CanPlant = true;
	set_hudmessage(random(255), random(255), random(255), -1.0, -1.0, 1, 3.1, 3.0)
	show_hudmessage(0, "Furienii pot planta bomba!")
}

public TASK_C4_CountDown() {
	new Red, Green, Blue
	if(C4_CountDownDelay > 10)
		Red = 0, Green = 255, Blue = 0;
	else if(C4_CountDownDelay > 5)
		Red = 255, Green = 200, Blue = 0;
	else if(C4_CountDownDelay <= 5)
		Red = 255, Green = 0, Blue = 0;
	
	if(C4_CountDownDelay) {
		new Message[256];
		formatex(Message,sizeof(Message)-1,"----------^n| C4: %d |^n----------", C4_CountDownDelay);

		set_hudmessage(Red, Green, Blue, -1.0, 0.78, 0, 6.0, 1.0)
		show_hudmessage(0, "%s", Message)
		set_task(1.0, "TASK_C4_CountDown", TASKID_C4COUNTDOWN);
		C4_CountDownDelay--;
	}
	else if(!C4_CountDownDelay)
		C4_CountDownDelay = 0;
}

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)) {
				message_begin(MSG_ONE_UNRELIABLE, MSGID_SayText, _, players);
				write_byte(players);
				write_string(msg);
				message_end();
			}
		}
	} 
}
leholino is offline
OciXCrom
Veteran Member
Join Date: Oct 2013
Location: Macedonia
Old 07-13-2020 , 07:51   Re: Modify sma
Reply With Quote #4

https://forums.alliedmods.net/showthread.php?t=325951
__________________
OciXCrom is offline
Send a message via Skype™ to OciXCrom
leholino
Junior Member
Join Date: Jun 2020
Old 07-13-2020 , 08:41   Re: Modify sma
Reply With Quote #5

i have another problem
when i buy super knife, just me give another super knife, than its instaled
leholino is offline
OciXCrom
Veteran Member
Join Date: Oct 2013
Location: Macedonia
Old 07-13-2020 , 09:31   Re: Modify sma
Reply With Quote #6

What?
__________________
OciXCrom is offline
Send a message via Skype™ to OciXCrom
leholino
Junior Member
Join Date: Jun 2020
Old 07-21-2020 , 00:13   Re: Modify sma
Reply With Quote #7

Can anyone get the benefits/vip out of here(please):
Code:
#include <amxmodx>
#include <cstrike>
#include <engine>
#include <fakemeta>
#include <fakemeta_util>
#include <hamsandwich>
#include <fun>
 
#define PLUGIN "Furien Clasic"
#define VERSION "2.0"
#define AUTHOR "Aragon*/DaNNe."
 
#define DMG_HEGRENADE (1<<80)
 
#define FURIEN_GRAVITY      0.4
#define FURIEN_SPEED        750.0
#define TEAM_FURIEN 1
#define TEAM_ANTIFURIEN 2
 
#define TASKID_CANPLANT          10001
#define TASKID_C4COUNTDOWN       453
 
#define VIP_GOLD_LEVEL      ADMIN_LEVEL_H
#define VIP_SILVER_LEVEL    ADMIN_LEVEL_G
#define FOUNDER_LEVEL       ADMIN_IMMUNITY
 
#if cellbits == 32
#define OFFSET_BZ 235
#else
#define OFFSET_BZ 268
#endif
 
//Shop
new SuperKnifeModel_V[] = "models/v_furien_superknife.mdl"
new bool: HaveSuperKnife[33]
 
//Settings
new bool:MakeVisible[33], Float:Wallorigin[33][3]
 
//Parachute
#define PARACHUTE_CLASS     "Parachute"
new ParaENT[33];
 
new Menu;
new cvar_gamedescription, furienspawnhp, antifurienspawnhp, removebuyzone, superknife_damage_multiplier, cvar_autojoin_class, cvar_autojoin_team, cvar_aim_info,
MSGID_SayText, MSGID_StatusIcon, MSGID_TextMsg, MSGID_SendAudio, MSGID_ShowMenu, MSGID_VGUIMenu, MSGID_Health, MSGID_ScreenFade,
bool:CanPlant, C4_CountDownDelay;
 
public plugin_cfg() {
    server_cmd("amx_cvar mp_playerid 2")
    server_cmd("amx_cvar sv_maxspeed 900")
    server_cmd("amx_cvar sv_restart 5")
}
 
 
//===========================================================================================//
//===============================[Weapons Settings]=========================================//
//=========================================================================================//
new bool:HavePrimaryWeapon[33], bool:HaveSecondaryWeapon[33], PrimaryWeapon[33], SecondaryWeapon[33];
 
//---|| Primary
#define M4A1_KEY        100
#define AK47_KEY        101
#define M3_KEY          102
#define AUG_KEY         103
#define FAMAS_KEY       104
#define MP5_KEY         105
#define XM1014_KEY      106
 
//---|| Secondary
#define USP_KEY         107
#define DEAGLE_KEY      108
#define ELITE_KEY       109
#define FIVESEVEN_KEY   110
 
public plugin_init() {
    register_plugin(PLUGIN, VERSION, AUTHOR)
   
    cvar_gamedescription = register_cvar("furien_gamename", "Furien Classic")
    antifurienspawnhp = register_cvar("antifurien_spawnhp", "100")
    furienspawnhp = register_cvar("furien_spawnhp", "100")
    superknife_damage_multiplier = register_cvar("superknife_damage_multiplier", "2.0")
    cvar_autojoin_team = register_cvar("furien_team", "5")
    cvar_autojoin_class = register_cvar("furien_class", "5")
    cvar_aim_info = register_cvar("furien_enable_aiminfo", "1")
   
    MSGID_SayText = get_user_msgid("SayText")
    MSGID_StatusIcon = get_user_msgid("StatusIcon")
    MSGID_TextMsg = get_user_msgid("TextMsg")
    MSGID_SendAudio = get_user_msgid("SendAudio")
    MSGID_ShowMenu = get_user_msgid("ShowMenu")
    MSGID_VGUIMenu = get_user_msgid("VGUIMenu")
    MSGID_ScreenFade = get_user_msgid("ScreenFade")
   
    register_clcmd("say shop", "CmdShopMenu")
    register_clcmd("say /shop", "CmdShopMenu")
    register_clcmd("say_team shop", "CmdShopMenu")
    register_clcmd("say_team /shop", "CmdShopMenu")
    //register_clcmd("say weapons", "CmdWeaponsMenu")
    //register_clcmd("say /weapons", "CmdWeaponsMenu")
    register_clcmd("jointeam", "CMD_BlockJoinTeam")
    register_clcmd("jointeam 1", "CMD_BlockJoinTeam")
    register_clcmd("jointeam 2", "CMD_BlockJoinTeam")
    register_clcmd("jointeam 3", "CMD_BlockJoinTeam")
    register_clcmd("chooseteam", "CMD_BlockChooseTeam")
    register_clcmd("say /beneficii", "CmdShowMotd")
    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_Weapon_PrimaryAttack, "weapon_c4", "C4_PrimaryAttack");
   
    register_forward(FM_PlayerPreThink, "Player_PreThink");
    register_forward(FM_AddToFullPack, "FWD_AddToFullPack", 1);
    register_forward(FM_PlayerPreThink, "FWD_ParachutePreThink");
    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_event("HLTV", "EVENT_NewRound", "a", "1=0", "2=0");
    register_event("TextMsg", "EVENT_FireINTheHole", "b", "2&#Game_radio", "4&#Fire_in_the_hole")
    register_event("TextMsg", "EVENT_FireINTheHole", "b", "3&#Game_radio", "5&#Fire_in_the_hole")  
   
   
    register_message(MSGID_StatusIcon, "MSG_StatusIcon");
    register_message(MSGID_TextMsg, "MSG_TextMessage");
    register_message(MSGID_ShowMenu, "MSG_ShowMenu");
    register_message(MSGID_VGUIMenu, "MSG_VGUIMenu");
    register_message(MSGID_SendAudio, "MSG_SendAudio");
    register_message(MSGID_Health, "MSG_Health")
    register_message(MSGID_ScreenFade, "MSG_ScreenFade")
}
 
 
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_connect(id) {
    client_cmd(id, "cl_forwardspeed 999.0")
    client_cmd(id, "cl_sidespeed 999.0")
    client_cmd(id, "cl_backspeed 999.0")
}
 
public client_putinserver(id) {
    client_cmd(id, "cl_forwardspeed 999.0")
    client_cmd(id, "cl_sidespeed 999.0")
    client_cmd(id, "cl_backspeed 999.0")
    PrimaryWeapon[id] = 0
    SecondaryWeapon[id] = 0
}
   
 
public Ham_Spawn_Post(id) {
    if(is_user_connected(id) && is_user_alive(id)) {
        strip_user_weapons(id)
        HavePrimaryWeapon[id] = false
        HaveSecondaryWeapon[id] = false
        switch(get_user_team(id)) {
            case TEAM_FURIEN: {
                fm_give_item(id, "weapon_hegrenade")
                fm_give_item(id, "weapon_knife")
                set_user_footsteps(id, 1)
                fm_set_user_health(id, get_pcvar_num(furienspawnhp))
            }
            case TEAM_ANTIFURIEN: {
                fm_give_item(id, "weapon_hegrenade")
                fm_give_item(id, "weapon_knife")
                set_user_footsteps(id, 0)
                fm_set_user_health(id, get_pcvar_num(antifurienspawnhp))
                HaveSuperKnife[id] = false;
                Equipment(id)                  
            }
        }
    }
}
 
public EVENT_NewRound() {
    CanPlant = false;
    new Float:FloatTime = get_cvar_num("mp_freezetime") + (get_cvar_num("mp_roundtime") * 60) - 60.0
    set_task(FloatTime, "TASK_CanPlant", TASKID_CANPLANT)
    remove_task(TASKID_C4COUNTDOWN)
}
 
public EVENT_FireINTheHole()
    return PLUGIN_HANDLED
 
public HAM_Touch_Weapon(ent, id) {
    if(is_user_alive(id) && get_user_team(id) == TEAM_FURIEN && !(get_pdata_cbase(ent, 39, 4) > 0))
        return HAM_SUPERCEDE
   
    return HAM_IGNORED
}
 
public SuperKnife_TakeDamage(Victim, Inflictor, Attacker, Float:Damage, DamageType) {
    if(is_user_connected(Attacker) && is_user_alive(Attacker) && is_user_connected(Victim)) {
        if(get_user_weapon(Attacker) == CSW_KNIFE) {
            if(HaveSuperKnife[Attacker])
                SetHamParamFloat(4, Damage * get_pcvar_float(superknife_damage_multiplier))
        }
        if(get_user_flags(Victim) & VIP_GOLD_LEVEL) {
            if(DamageType & DMG_HEGRENADE)
                return HAM_SUPERCEDE
        }
    }
    return HAM_IGNORED
}
 
///////////////////////////////////////////////////////////////////////////////////////////////
 
public C4_PrimaryAttack(Ent) {
    if(!CanPlant)
        return HAM_SUPERCEDE
       
    return HAM_IGNORED
}
 
public CmdResetScore(id) {
    if(get_user_frags(id) == 0 && get_user_deaths(id) == 0)
        ColorChat(id, "!gScorul tau este deja!t 0-0!g !")
    else {
        for(new i = 0; i < 2; i++) {
            cs_set_user_deaths(id, 0);
            set_user_frags(id, 0);
        }
        ColorChat(id, "!gTi-ai resetat scorul cu succes !")
    }
}
 
public CmdShopMenu(id) {
    if(!is_user_alive(id))
        return PLUGIN_HANDLED
    switch(get_user_team(id)) {
        case TEAM_FURIEN: CmdFurienShop(id)
        case TEAM_ANTIFURIEN: CmdAntiFurienShop(id)
    }
    return PLUGIN_HANDLED
}
 
public CmdFurienShop(id) {
    if(is_user_alive(id) && get_user_team(id) == TEAM_FURIEN) {
        Menu = menu_create("\yFurien Shop", "CmdFurienHandler")
       
        new SuperKnife[256];
        formatex(SuperKnife, sizeof(SuperKnife)-1, "Super knife - \y10000$")  
        menu_additem(Menu, SuperKnife, "1", 0)
       
        new Health[256];
        formatex(Health, sizeof(Health)-1, "50 HP   - \y3000$")
        menu_additem(Menu, Health, "2", 0)
       
        new Armor[256];
        formatex(Armor, sizeof(Armor)-1, "50 AP + Helmet - \y500$")
        menu_additem(Menu, Armor, "3", 0)
       
        new Grenade[256];
        formatex(Grenade, sizeof(Grenade)-1, "He grenade - \y4000$")
        menu_additem(Menu, Grenade, "4", 0)
       
        menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);
        menu_display(id, Menu, 0);
    }
}
 
public CmdAntiFurienShop(id) {
    if(is_user_alive(id) && get_user_team(id) == TEAM_ANTIFURIEN) {
        Menu = menu_create("\yAnti-Furien Shop", "CmdAntiFurienHandler")  
 
        new Defuse[256];
        formatex(Defuse, sizeof(Defuse)-1, "Defuse kit - \y500$")
        menu_additem(Menu, Defuse, "1", 0)
       
        new Health[256];
        formatex(Health, sizeof(Health)-1, "50 HP   - \y3000$")
        menu_additem(Menu, Health, "2", 0)
       
        new Armor[256];
        formatex(Armor, sizeof(Armor)-1, "50 AP + Helmet - \y500$")
        menu_additem(Menu, Armor, "3", 0)
       
        new Grenade[256];
        formatex(Grenade, sizeof(Grenade)-1, "He grenade - \y4000$")
        menu_additem(Menu, Grenade, "4", 0)
 
        menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);
        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])
                client_print(id, print_center, "You already have SuperKnife!")
            else {
                new Money = cs_get_user_money(id) - 10000
                if(Money < 0)
                    client_print(id, print_center, "You have  insufficient founds!")
                else {
                    HaveSuperKnife[id] = true;
                    EVENT_CurWeapon(id)
                    cs_set_user_money(id, Money)
                }
            }
        }
        case 2: {
            if(get_user_health(id) >= 250)
                client_print(id, print_center, "You already have 250 HP!")
            else {
                new Money = cs_get_user_money(id) - 3000
                if(Money < 0)
                    client_print(id, print_center, "You have  insufficient founds!")
                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)
                    cs_set_user_money(id, Money)
                }
            }
        }
        case 3: {
            if(get_user_armor(id) >= 250)
                client_print(id, print_center, "You already have 250 AP!")
            else {
                new Money = cs_get_user_money(id) - 500
                if(Money < 0)
                    client_print(id, print_center, "You have  insufficient founds!")
                else {
                    if(get_user_armor(id) + 50 > 250)
                        fm_set_user_armor(id, 250)
                    else
                        fm_set_user_armor(id, get_user_armor(id) + 50)
                    cs_set_user_money(id, Money)
                }
            }
        }
        case 4: {
            if(user_has_weapon(id, CSW_HEGRENADE))
                client_print(id, print_center, "You already have HE GRENADE!")
            else {
                new Money = cs_get_user_money(id) - 4000
                if(Money < 0)
                    client_print(id, print_center, "You have  insufficient founds!")
                else {
                    fm_give_item(id, "weapon_hegrenade")
                    cs_set_user_money(id, Money)
                }
            }
        }
    }
    menu_destroy(menu)
    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, "You already have Defuse KIT!")
            else {
                new Money = cs_get_user_money(id) - 500
                if(Money < 0)
                    client_print(id, print_center, "You have  insufficient founds!")
                else {
                    cs_set_user_defuse(id, 1)
                    cs_set_user_money(id, Money)
                }
            }
        }
        case 2: {
            if(get_user_health(id) >= 250)
                client_print(id, print_center, "You already have 250 HP!")
            else {
                new Money = cs_get_user_money(id) - 3000
                if(Money < 0)
                    client_print(id, print_center, "You have  insufficient founds!")
                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)
                    cs_set_user_money(id, Money)
                }
            }
        }
        case 3: {
            if(get_user_armor(id) >= 250)
                client_print(id, print_center, "You already have 250 AP!")
            else {
                new Money = cs_get_user_money(id) - 500
                if(Money < 0)
                    client_print(id, print_center, "You have  insufficient founds!")
                else {
                    if(get_user_armor(id) + 50 > 250)
                        fm_set_user_armor(id, 250)
                    else
                        fm_set_user_armor(id, get_user_armor(id) + 50)
                    cs_set_user_money(id, Money)
                }
            }
        }
        case 4: {
            if(user_has_weapon(id, CSW_HEGRENADE))
                client_print(id, print_center, "You already have HE GRENADE!")
            else {
                new Money = cs_get_user_money(id) - 4000
                if(Money < 0)
                    client_print(id, print_center, "You have  insufficient founds!")
                else {
                    fm_give_item(id, "weapon_hegrenade")
                    cs_set_user_money(id, Money)
                }
            }
        }
    }
    menu_destroy(menu)
    return PLUGIN_HANDLED
}
 
//=========================================================================//
//=======================[Weapons Settings]===============================//
//=======================================================================//
 
public Equipment(id) {
    if(is_user_alive(id) && get_user_team(id) == 2) {
        Menu = menu_create("\rWeapons Menu", "EquipmentCmd");
        menu_additem(Menu, "\wNew Weapons", "1", 0);
        if(PrimaryWeapon[id] && SecondaryWeapon[id])
            menu_additem(Menu, "\wPrevious Setup", "2", 0);
        else
            menu_additem(Menu, "\dPrevious Setup", "2", 0);
        menu_setprop(Menu, MPROP_EXIT, MEXIT_NEVER)
        menu_display(id, Menu, 0);
    }
}
 
public EquipmentCmd(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(!HavePrimaryWeapon[id])
                Primary(id)
            else if(!HaveSecondaryWeapon[id])
                Secondary(id)
        }
        case 2: {
            if(PrimaryWeapon[id] && SecondaryWeapon[id])
                GiveLastWeapons(id)
            else Equipment(id)
        }
        default: return PLUGIN_HANDLED;
    }
    menu_destroy(menu);
    return PLUGIN_HANDLED;
}
 
public Primary(id) {
    if(is_user_alive(id) && get_user_team(id) == TEAM_ANTIFURIEN) {
        Menu = menu_create("\yAnti-Furien Weapons^n\rPrimary:", "CmdWeaponsHandler")
       
        menu_additem(Menu, "M4A1", "1", 0)
        menu_additem(Menu, "AK47", "2", 0)
        menu_additem(Menu, "M3", "3", 0)
        menu_additem(Menu, "Aug", "4", 0)
        menu_additem(Menu, "Famas", "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: {
            fm_give_item(id, "weapon_m4a1")
            cs_set_user_bpammo(id, CSW_M4A1, 254)
            PrimaryWeapon[id] = M4A1_KEY
            HavePrimaryWeapon[id] = true;
            Secondary(id)
        }
        case 2: {
            fm_give_item(id, "weapon_ak47")
            cs_set_user_bpammo(id, CSW_AK47, 254)
            PrimaryWeapon[id] = AK47_KEY
            HavePrimaryWeapon[id] = true;
            Secondary(id)
        }
        case 3: {
            fm_give_item(id, "weapon_m3")
            cs_set_user_bpammo(id, CSW_M3, 254)
            PrimaryWeapon[id] = M3_KEY
            HavePrimaryWeapon[id] = true;
            Secondary(id)
        }
        case 4: {
            fm_give_item(id, "weapon_aug")
            cs_set_user_bpammo(id, CSW_AUG, 254)
            PrimaryWeapon[id] = AUG_KEY
            HavePrimaryWeapon[id] = true;
            Secondary(id)
        }
        case 5: {
            fm_give_item(id, "weapon_famas")
            cs_set_user_bpammo(id, CSW_FAMAS, 254)
            PrimaryWeapon[id] = FAMAS_KEY
            HavePrimaryWeapon[id] = true;
            Secondary(id)
        }
        case 6: {
            fm_give_item(id, "weapon_mp5navy")
            cs_set_user_bpammo(id, CSW_MP5NAVY, 254)
            PrimaryWeapon[id] = MP5_KEY
            HavePrimaryWeapon[id] = true;
            Secondary(id)
        }
        case 7: {
            fm_give_item(id, "weapon_xm1014")
            cs_set_user_bpammo(id, CSW_XM1014, 254)
            PrimaryWeapon[id] = XM1014_KEY
            HavePrimaryWeapon[id] = true;
            Secondary(id)
        }
    }
    menu_destroy(menu)
    return PLUGIN_HANDLED
}
 
public Secondary(id) {
    if(is_user_alive(id) && get_user_team(id) == TEAM_ANTIFURIEN) {
        Menu = menu_create("\yAnti-Furien Weapons^n\rSecondary:", "CmdSecondaryHandler")
       
        menu_additem(Menu, "USP", "1", 0)
        menu_additem(Menu, "Deagle", "2", 0)
        menu_additem(Menu, "Elite", "3", 0)
        menu_additem(Menu, "Five Seven", "4", 0)
       
        menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);
        menu_display(id, Menu, 0);
    }
}
 
public CmdSecondaryHandler(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: {
            fm_give_item(id, "weapon_usp")
            cs_set_user_bpammo(id, CSW_USP, 256)
            SecondaryWeapon[id] = USP_KEY
            HaveSecondaryWeapon[id] = true;
        }
        case 2: {
            fm_give_item(id, "weapon_deagle")
            cs_set_user_bpammo(id, CSW_DEAGLE, 256)
            SecondaryWeapon[id] = DEAGLE_KEY
            HaveSecondaryWeapon[id] = true;
        }
        case 3: {
            fm_give_item(id, "weapon_elite")
            cs_set_user_bpammo(id, CSW_ELITE, 256)
            SecondaryWeapon[id] = ELITE_KEY
            HaveSecondaryWeapon[id] = true;
        }
        case 4: {
            fm_give_item(id, "weapon_fiveseven")
            cs_set_user_bpammo(id, CSW_FIVESEVEN, 256)
            SecondaryWeapon[id] = FIVESEVEN_KEY
            HaveSecondaryWeapon[id] = true;
        }
    }
    menu_destroy(menu)
    return PLUGIN_HANDLED
}
 
public GiveLastWeapons(id) {
    if(!HavePrimaryWeapon[id]) {
        switch(PrimaryWeapon[id]) {
            case M4A1_KEY: {
                fm_give_item(id, "weapon_m4a1")
                cs_set_user_bpammo(id, CSW_M4A1, 256)
                HavePrimaryWeapon[id] = true;
            }
            case AK47_KEY: {
                fm_give_item(id, "weapon_ak47")
                cs_set_user_bpammo(id, CSW_AK47, 256)
                HavePrimaryWeapon[id] = true;
            }
            case M3_KEY: {
                fm_give_item(id, "weapon_m3")
                cs_set_user_bpammo(id, CSW_M3, 256)
                HavePrimaryWeapon[id] = true;
            }
            case AUG_KEY: {
                fm_give_item(id, "weapon_aug")
                cs_set_user_bpammo(id, CSW_AUG, 256)
                HavePrimaryWeapon[id] = true;
            }
            case FAMAS_KEY: {
                fm_give_item(id, "weapon_famas")
                cs_set_user_bpammo(id, CSW_FAMAS, 256)
                HavePrimaryWeapon[id] = true;
            }
            case MP5_KEY: {
                fm_give_item(id, "weapon_mp5navy")
                cs_set_user_bpammo(id, CSW_MP5NAVY, 256)
                HavePrimaryWeapon[id] = true;
            }
            case XM1014_KEY: {
                fm_give_item(id, "weapon_xm1014")
                cs_set_user_bpammo(id, CSW_XM1014, 256)
                HavePrimaryWeapon[id] = true;
            }
        }
    }
    if(!HaveSecondaryWeapon[id]) {
        switch(SecondaryWeapon[id]) {
            case USP_KEY: {
                fm_give_item(id, "weapon_usp")
                cs_set_user_bpammo(id, CSW_USP, 256)
                HaveSecondaryWeapon[id] = true;
            }
            case DEAGLE_KEY: {
                fm_give_item(id, "weapon_deagle")
                cs_set_user_bpammo(id, CSW_DEAGLE, 256)
                HaveSecondaryWeapon[id] = true;
            }
            case ELITE_KEY: {
                fm_give_item(id, "weapon_elite")
                cs_set_user_bpammo(id, CSW_ELITE, 256)
                HaveSecondaryWeapon[id] = true;
            }
            case FIVESEVEN_KEY: {
                fm_give_item(id, "weapon_fiveseven")
                cs_set_user_bpammo(id, CSW_FIVESEVEN, 256)
                HaveSecondaryWeapon[id] = true;
            }
        }
    }
}
public CMD_BlockJoinTeam(id) {
    console_print(id, "*** Nu ai voie sa foloseti JoinTeam ! ***")
    return 1;
}
 
public CMD_BlockChooseTeam(id) {
    console_print(id, "*** Nu ai voie sa foloseti ChooseTeam ! ***")
    return 1;
}
 
public CmdShowMotd(id)
    show_motd(id, "addons/amxmodx/configs/beneficii.html")
 
/////////////////////////////////////////////////////////////////////////
 
public EVENT_CurWeapon(id) {
    if(is_user_connected(id)) {
        if(get_user_weapon(id) == CSW_KNIFE) {
            if(HaveSuperKnife[id])
                set_pev(id, pev_viewmodel2, SuperKnifeModel_V)
        }
        new PlayerHealth;
        PlayerHealth = get_user_health(id)
        if(PlayerHealth == 256)
            fm_set_user_health(id, 255)
    }
 
}
 
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) & VIP_GOLD_LEVEL) {
            cs_set_user_money(Attacker, cs_get_user_money(Attacker) + 6000)
            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) & VIP_SILVER_LEVEL) {
            cs_set_user_money(Attacker, cs_get_user_money(Attacker) + 3000)
            fm_set_user_health(Attacker, get_user_health(Attacker) + 30)
            fm_set_user_armor(Attacker, get_user_armor(Attacker) + 30)
        }
        else if(get_user_flags(Attacker) & FOUNDER_LEVEL) {
            cs_set_user_money(Attacker, cs_get_user_money(Attacker) + 7000)
            fm_set_user_health(Attacker, get_user_health(Attacker) + 70)
            fm_set_user_armor(Attacker, get_user_armor(Attacker) + 70)
        }
        else {
            if(get_user_team(Victim) == 2)
                cs_set_user_money(Attacker, cs_get_user_money(Attacker) + 1200)
            else if(get_user_team(Victim) == 1)
                cs_set_user_money(Attacker, cs_get_user_money(Attacker) + 3000)
        }
    }
 
    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_TextMessage() {
    static TextMsg[22];
    get_msg_arg_string(2, TextMsg, charsmax(TextMsg))
    if(equal(TextMsg, "#Terrorists_Win")) {
        client_print(0, print_center, "The Furiens have won this round!")
        return PLUGIN_HANDLED;
    }
    else if(equal(TextMsg, "#CTs_Win")) {
        client_print(0, print_center, "The Anti-Furiens have won this round!")
        return PLUGIN_HANDLED;
    }
    else if(equal(TextMsg, "#Bomb_Defused")) {
        client_print(0, print_center, "The Anti-Furiens have won this round!")
        return PLUGIN_HANDLED;
    }
    else if(equal(TextMsg, "#Target_Bombed")) {
        client_print(0, print_center, "The Furiens have won this round!")
        return PLUGIN_HANDLED;
    }
    else if(equal(TextMsg, "#Target_Saved")) {
        client_print(0, print_center, "The Anti-Furiens have won this round!")
        return PLUGIN_HANDLED;
    }
    else if(equal(TextMsg, "#Fire_in_the_hole"))
        return PLUGIN_HANDLED
    else if(equal(TextMsg, "#C4_Plant_At_Bomb_Spot")) {
        if(!CanPlant)
            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_SendAudio() {
    static Sound[17]
    get_msg_arg_string(2, Sound, sizeof Sound - 1)
   
    if(equal(Sound, "terwin") || equal(Sound, "ctwin") || equal(Sound, "rounddraw") || equal(Sound, "bombpl") || equal(Sound, "bombdef"))
        return PLUGIN_HANDLED;
   
    return PLUGIN_CONTINUE;
}
 
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_GOLD_LEVEL) {
            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 bomb_planted(planter) {
    C4_CountDownDelay = get_cvar_num("mp_c4timer") - 1
    TASK_C4_CountDown();
    set_hudmessage(random(255), random(255), random(255), -1.0, -1.0, 1, 3.1, 3.0)
    show_hudmessage(0, "The furiens planted the bomb!")
}
 
public EVENT_SwitchTeam() {
    new Players[32], PlayersNum, id;
    get_players(Players, PlayersNum)
    if(PlayersNum) {
        for(new i; i < PlayersNum; i++) {
            id = Players[i]
            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 TEAM_FURIEN: cs_set_user_team(id, CS_TEAM_CT)
            case TEAM_ANTIFURIEN: cs_set_user_team(id, CS_TEAM_T)
        }
    }
}  
 
///////////////////////////////////////////////////////////////////////////////////////////////
 
public Player_PreThink(id) {
    if(is_user_connected(id)) {
        if(get_user_team(id) == TEAM_FURIEN) {
            if(pev(id, pev_gravity) > FURIEN_GRAVITY && pev(id, pev_gravity) > 0.1)
                set_pev(id, pev_gravity, FURIEN_GRAVITY)
       
            if(pev(id, pev_maxspeed) < FURIEN_SPEED && pev(id, pev_maxspeed) > 1.0) {
                set_pev(id, pev_maxspeed, FURIEN_SPEED)
                set_user_footsteps(id, 1)
            }
        }
        if(get_pcvar_num(cvar_aim_info)) {
            new Target, Body;
            get_user_aiming(id, Target, Body);
            if(is_user_alive(id) && is_user_connected(Target) && is_user_alive(Target)) {
                new TargetTeam, PlayerTeam, TargetName[32], Message[128], TargetHealth, TargetArmor, RED, GREEN, BLUE;
                TargetTeam = get_user_team(Target)
                PlayerTeam = get_user_team(id)
                get_user_name(Target, TargetName, 31)
                TargetHealth = get_user_health(Target)
                TargetArmor = get_user_armor(Target)
                if(PlayerTeam == TEAM_FURIEN && TargetTeam == TEAM_ANTIFURIEN) {
                    formatex(Message, sizeof(Message)-1, "%s^nHP: %i | AP: %i", TargetName, TargetHealth, TargetArmor)
                    RED = 20
                    GREEN = 200
                    BLUE = 50
                }
                else if(PlayerTeam == TEAM_FURIEN && TargetTeam == TEAM_FURIEN) {
                    formatex(Message, sizeof(Message)-1, "%s^nHP: %i | AP: %i", TargetName, TargetHealth, TargetArmor)
                    RED = 200
                    GREEN = 20
                    BLUE = 20
                }
                else if(PlayerTeam == TEAM_ANTIFURIEN && TargetTeam == TEAM_ANTIFURIEN) {
                    formatex(Message, sizeof(Message)-1, "%s^nHP: %i | AP: %i", TargetName, TargetHealth, TargetArmor)
                    RED = 200
                    GREEN = 20
                    BLUE = 20
                }
                else if(PlayerTeam == TEAM_ANTIFURIEN && TargetTeam == TEAM_FURIEN)
                    return
                set_hudmessage(RED, GREEN, BLUE, -1.0, -1.0, 0, 0.0, 0.1, 0.0, 0.0, -1);
                show_hudmessage(id, "%s", Message)
            }
        }
    }
}
 
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_ParachutePreThink(id) {
    if(is_user_alive(id) && get_user_team(id) == TEAM_ANTIFURIEN) {
        new Float:FallSpeed = -50.0;
        new Float:Frame;
       
        new Button = pev(id, pev_button);
        new OldButton = pev(id, pev_oldbuttons);
        new Flags = pev(id, pev_flags);
       
        if(ParaENT[id] > 0 &&(Flags & FL_ONGROUND)) {
           
            if(pev(ParaENT[id],pev_sequence) != 2) {
                set_pev(ParaENT[id], pev_sequence, 2);
                set_pev(ParaENT[id], pev_gaitsequence, 1);
                set_pev(ParaENT[id], pev_frame, 0.0);
                set_pev(ParaENT[id], pev_fuser1, 0.0);
                set_pev(ParaENT[id], pev_animtime, 0.0);
                return;
            }
           
            pev(ParaENT[id],pev_fuser1, Frame);
            Frame += 2.0;
            set_pev(ParaENT[id],pev_fuser1,Frame);
            set_pev(ParaENT[id],pev_frame,Frame);
           
            if(Frame > 254.0) {
                engfunc(EngFunc_RemoveEntity, ParaENT[id]);
                ParaENT[id] = 0;
            }
            else {
                engfunc(EngFunc_RemoveEntity, ParaENT[id]);
                ParaENT[id] = 0;
            }
            return;
        }
       
        if(Button & IN_USE) {
            new Float:Velocity[3];
            pev(id, pev_velocity, Velocity);
           
            if(Velocity[2] < 0.0) {
                if(ParaENT[id] <= 0) {
                    ParaENT[id] = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "info_target"));
                   
                    if(ParaENT[id] > 0) {
                        set_pev(ParaENT[id],pev_classname, PARACHUTE_CLASS);
                        set_pev(ParaENT[id], pev_aiment, id);
                        set_pev(ParaENT[id], pev_owner, id);
                        set_pev(ParaENT[id], pev_movetype, MOVETYPE_FLY);
                        set_pev(ParaENT[id], pev_sequence, 0);
                        set_pev(ParaENT[id], pev_gaitsequence, 1);
                        set_pev(ParaENT[id], pev_frame, 0.0);
                        set_pev(ParaENT[id], pev_fuser1, 0.0);
                    }
                }
                if(ParaENT[id] > 0) {
                    set_pev(id, pev_sequence, 3);
                    set_pev(id, pev_gaitsequence, 1);
                    set_pev(id, pev_frame, 1.0);
                    set_pev(id, pev_framerate, 1.0);
                   
                    Velocity[2] = (Velocity[2] + 40.0 < FallSpeed) ? Velocity[2] + 40.0 : FallSpeed;
                    set_pev(id, pev_velocity, Velocity);
                   
                    if(pev(ParaENT[id],pev_sequence) == 0) {
                        pev(ParaENT[id],pev_fuser1, Frame);
                        Frame += 1.0;
                        set_pev(ParaENT[id],pev_fuser1,Frame);
                        set_pev(ParaENT[id],pev_frame,Frame);
                       
                        if(Frame > 100.0) {
                            set_pev(ParaENT[id], pev_animtime, 0.0);
                            set_pev(ParaENT[id], pev_framerate, 0.4);
                            set_pev(ParaENT[id], pev_sequence, 1);
                            set_pev(ParaENT[id], pev_gaitsequence, 1);
                            set_pev(ParaENT[id], pev_frame, 0.0);
                            set_pev(ParaENT[id], pev_fuser1, 0.0);
                        }
                    }
                }
            }
           
            else if(ParaENT[id] > 0) {
                engfunc(EngFunc_RemoveEntity, ParaENT[id]);
                ParaENT[id] = 0;
            }
        }
       
        else if((OldButton & IN_USE) && ParaENT[id] > 0) {
            engfunc(EngFunc_RemoveEntity, ParaENT[id]);
            ParaENT[id] = 0;
        }
    }
}
 
public FWD_GameDescription() {
    static GameName[32]
    get_pcvar_string(cvar_gamedescription, GameName, 31)
   
    forward_return(FMV_STRING, GameName)
   
    return FMRES_SUPERCEDE
}
 
public TASK_CanPlant() {
    CanPlant = true;
    set_hudmessage(random(255), random(255), random(255), -1.0, -1.0, 1, 3.1, 3.0)
    show_hudmessage(0, "Furiens can plant the bomb!")
}
 
public TASK_C4_CountDown() {
    new Red, Green, Blue
    if(C4_CountDownDelay > 10)
        Red = 0, Green = 255, Blue = 0;
    else if(C4_CountDownDelay > 5)
        Red = 255, Green = 200, Blue = 0;
    else if(C4_CountDownDelay <= 5)
        Red = 255, Green = 0, Blue = 0;
   
    if(C4_CountDownDelay) {
        new Message[256];
        formatex(Message,sizeof(Message)-1,"----------^n| C4: %d |^n----------", C4_CountDownDelay);
 
        set_hudmessage(Red, Green, Blue, -1.0, 0.78, 0, 6.0, 1.0)
        show_hudmessage(0, "%s", Message)
        set_task(1.0, "TASK_C4_CountDown", TASKID_C4COUNTDOWN);
        C4_CountDownDelay--;
    }
    else if(!C4_CountDownDelay)
        C4_CountDownDelay = 0;
}
 
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, MSGID_SayText, _, players[i]);
                write_byte(players[i]);
                write_string(msg);
                message_end();
            }
        }
    }
}

Last edited by leholino; 07-21-2020 at 00:28.
leholino is offline
OciXCrom
Veteran Member
Join Date: Oct 2013
Location: Macedonia
Old 07-21-2020 , 06:57   Re: Modify sma
Reply With Quote #8

Get them where? Do you want them removed? This is not the requests section.
__________________

Last edited by OciXCrom; 07-21-2020 at 06:57.
OciXCrom is offline
Send a message via Skype™ to OciXCrom
Natsheh
Veteran Member
Join Date: Sep 2012
Old 07-21-2020 , 07:37   Re: Modify sma
Reply With Quote #9

i find it sarcasm that people here register for help like its some sort of service and they forget about its for all to have benefits.
__________________
@Jailbreak Main Mod v2.7.0 100%
@User Tag Prefix 100% done !
@Mystery Box 100% done !
@VIP System 100% done !

Natsheh is offline
Send a message via MSN to Natsheh Send a message via Skype™ to Natsheh
leholino
Junior Member
Join Date: Jun 2020
Old 07-21-2020 , 09:22   Re: Modify sma
Reply With Quote #10

sorry, my english is bad, i want to eliminate the gold,silver,founder from every wher without errors
leholino is offline
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 05:54.


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