AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   Modify sma (https://forums.alliedmods.net/showthread.php?t=325975)

leholino 07-13-2020 07:15

Modify sma
 
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

MagNNusS 07-13-2020 07:32

Re: Modify sma
 
As far as I can see, this is a decompiled plugin, not a sma that can work properly.

leholino 07-13-2020 07:50

Re: Modify sma
 
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();
                        }
                }
        }
}


OciXCrom 07-13-2020 07:51

Re: Modify sma
 
https://forums.alliedmods.net/showthread.php?t=325951

leholino 07-13-2020 08:41

Re: Modify sma
 
i have another problem
when i buy super knife, just me give another super knife, than its instaled

OciXCrom 07-13-2020 09:31

Re: Modify sma
 
What?

leholino 07-21-2020 00:13

Re: Modify sma
 
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();
            }
        }
    }
}


OciXCrom 07-21-2020 06:57

Re: Modify sma
 
Get them where? Do you want them removed? This is not the requests section.

Natsheh 07-21-2020 07:37

Re: Modify sma
 
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.

leholino 07-21-2020 09:22

Re: Modify sma
 
sorry, my english is bad, i want to eliminate the gold,silver,founder from every wher without errors


All times are GMT -4. The time now is 13:55.

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