Raised This Month: $ Target: $400
 0% 

Menu


  
 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
nesq
Junior Member
Join Date: Jan 2024
Old 02-26-2024 , 16:04   Re: Menu
Reply With Quote #4

I tried to modify the first plugin because it is more complete and closer to what I need, but it gives me errors and I don't know how to solve it, I put the code and the picture with the error here

PHP Code:
#include amxmodx
#include amxmisc
#include cstrike
#include fun
#include hamsandwich
#include engine
#include fakemeta
#include csx
#if AMXX_VERSION_NUM < 183
#include colorchat
#endif

#define p. "player Menu Clasic"
#define v. "99"
#define a. "AlliedMods"
#pragma unused Symbol


new const Floatg_flCoords[][] = 
{
    { 
0.500.40 },
    { 
0.560.44 },
    { 
0.600.50 },
    { 
0.560.56 },
    { 
0.500.60 },
    { 
0.440.56 },
    { 
0.400.50 },
    { 
0.440.44 }
};

new const 
g_szBeginning[] = "Membrii PLAYER";

new 
g_Cvar[30],
    
g_Round[33] = 0,
    
g_JumpNum[33], bool:g_DoJump[33],
    
g_iPosition[33], g_iSize,
    
g_playerConfig[] = "playerConfig.cfg",
    
g_playerMaps[] = "playerMaps.ini",
    
g_File1[128], g_File2[128], 
    
bool:g_Use[33],
    
bool:g_Menu[33],
    
oms;

enum
{
    
Primary 1,
    
Secondary,
    
Knife,
    
Grenades,
    
C4
};

public 
plugin_init()
{
    
register_plugin p., v., a.;

    
register_clcmd "say""sayCommand";
    
register_clcmd "say_team""sayCommand";
    
    
g_Cvar[0] = register_cvar("player_mode""2");
    
g_Cvar[1] = register_cvar("player_tag""Player");
    
g_Cvar[2] = register_cvar("player_start_hp""");
    
g_Cvar[3] = register_cvar("player_start_ap""");
    
g_Cvar[4] = register_cvar("player_start_money""1000");
    
g_Cvar[5] = register_cvar("player_jump""1");
    
g_Cvar[6] = register_cvar("player_hp_kill""5");
    
g_Cvar[7] = register_cvar("player_ap_kill""5");
    
g_Cvar[8] = register_cvar("player_hp_hs""10");    
    
g_Cvar[9] = register_cvar("player_ap_hs""10");
    
g_Cvar[10] = register_cvar("player_hp_kill_knife""15");
    
g_Cvar[11] = register_cvar("player_ap_kill_knife""15");
    
g_Cvar[12] = register_cvar("player_hp_hs_knife""20");
    
g_Cvar[13] = register_cvar("player_ap_hs_knife""20");
    
g_Cvar[14] = register_cvar("player_bulletdmg""1");
    
g_Cvar[16] = register_cvar("player_in_out""1");
    
g_Cvar[17] = register_cvar("player_show_chat""1");
    
g_Cvar[18] = register_cvar("player_show_hud""1");
    
g_Cvar[19] = register_cvar("player_max_hp""200");
    
g_Cvar[20] = register_cvar("player_max_ap""200");
    
g_Cvar[21] = register_cvar("player_parachute""1");
    
g_Cvar[22] = register_cvar("player_money_kill""400");
    
g_Cvar[23] = register_cvar("player_money_hs""600");
    
g_Cvar[24] = register_cvar("player_bulletdmg_mode""1");
    
g_Cvar[25] = register_cvar("player_tab""1");
    
g_Cvar[26] = register_cvar("player_defusekit""1");
    
g_Cvar[27] = register_cvar("player_free""1");
    
g_Cvar[28] = register_cvar("player_free_start""22");
    
g_Cvar[29] = register_cvar("player_free_end""08");

    
set_task 300.0"msgInfo"___"b";
    
set_task 1.0"showplayersH"___"b"0;
    
set_task 1.0"Giveplayer" ,_,_,_"b";
    
    
RegisterHam Ham_Spawn"player""Spawn"1;
    
    
    
register_event "HLTV""newRound""a""1=0""2=0";
    
register_event "ResetHUD""resetModel""b";
    
register_event "ResetHUD""playerTab""be";
}

public 
plugin_cfg()
{    
    new 
File[64];
    
    
get_configsdir Filecharsmax(File);
    
formatex g_File1charsmax(g_File1), "%s/%s"Fileg_playerConfig;
    
formatex g_File2charsmax(g_File2), "%s/%s"Fileg_playerMaps;
    
        if(!
file_exists(g_File2))
    {
        
write_file(g_File2";--------------- | Lista hartilor pe care meniul vipului este restrictionat | ---------------");
        
write_file(g_File2"");
        
write_file(g_File2";Adaugati mapele una sub alta");
        
write_file(g_File2"");
        
write_file(g_File2"35hp");
        
write_file(g_File2"awp_india");
    }
}

public 
client_putinserver(id)
{
    if(!(
get_user_flags(id)))
        return 
1;
        
    
set_task 2.0"playerIn"id;
    
    
g_JumpNum[id] = 0;
    
g_DoJump[id] = false;
    
g_Round[id] = 0;
    
g_Use[id] = false;
    
g_Menu[id] = true;
    return 
1;
}

    
#if AMXX_VERSION_NUM < 183
public client_disconnect(id)
    
#else
public client_disconnected(id)
    
#endif
{
    if(!(
get_user_flags(id)))
        return 
1;
        
    
set_task 2.0"playerOut"id;
    
    
g_JumpNum[id] = 0;
    
g_DoJump[id] = false;
    
g_Round[id] = 0;
    
g_Use[id] = false;
    
    return 
1;
}

public 
newRound()
    for(new 
032i++)
        
g_Use[i] = false;

public 
playerMenu(id)
{
    if(!
is_user_alive(id) || !(get_user_flags(id)) || g_Use[id])
        return 
1;
    
    new 
menu;
    switch(
cs_get_user_team(id))
    {
        case 
CS_TEAM_T:
        {
            
menu menu_create("\r[\dPlayer-Menu\r] \yTerrorists""Ammunition");
            
menu_additem menu"Ak47+Deagle+Set grenade""1";
            
menu_additem menu"M4a1+Deagle+Set grenade""2";
        }

        case 
CS_TEAM_CT:
        {
            
menu menu_create("\r[\dPlayer-Menu\r] \yCounter-Terorists""Ammunition");
            
menu_additem menu"M4a1+Deagle+Set grenade""1";
            
menu_additem menu"Ak47+Deagle+Set grenade""2";
        }
    }
    
menu_display idmenu0;
    return 
1;
}

public 
Ammunition(idmenuitem)
{
    if(
item == MENU_EXIT)
        return 
1;

    new 
accesscallbackdata[6], szName[64], tag[32];
    
menu_item_getinfo(menuitemaccessdatacharsmax(data), szNamecharsmax(szName), callback);
    
get_pcvar_string g_Cvar[1], tagcharsmax(tag);
    new 
key str_to_num(data);
        
    if(
cs_get_user_team(id) == CS_TEAM_T)
    {
        switch(
key)
        {
            case 
1:
            {
                
StripWeapons idPrimary;
                
StripWeapons idSecondary;
                
give_item id"weapon_knife";
                
give_item id"weapon_ak47";
                
give_item id"weapon_deagle";
                
give_item id"weapon_hegrenade";
                
give_item id"weapon_flashbang";
                
cs_set_user_bpammo idCSW_FLASHBANG2;
                
cs_set_user_bpammo idCSW_AK4790;
                
cs_set_user_bpammo idCSW_DEAGLE35;
                    
#if AMXX_VERSION_NUM < 183
                
ColorChat idGREEN"^3[%s] ^1Ai ales ^4Ak47^1+^4Deagle^1+^4Set grenade^1."tag;
                    
#else
                
client_print_color idprint_team_default"^3[%s] ^1Ai ales ^4Ak47^1+^4Deagle^1+^4Set grenade^1."tag;
                    
#endif
                
g_Use[id] = true;
            }
            
            case 
2:
            {
                
StripWeapons idPrimary;
                
StripWeapons idSecondary;
                
give_item id"weapon_knife";
                
give_item id"weapon_m4a1";
                
give_item id"weapon_deagle";
                
give_item id"weapon_hegrenade";
                
give_item id"weapon_flashbang";                    cs_set_user_bpammo idCSW_FLASHBANG2;
                
cs_set_user_bpammo idCSW_M4A190;
                
cs_set_user_bpammo idCSW_DEAGLE35;
                    
#if AMXX_VERSION_NUM < 183
                
ColorChat idGREEN"^3[%s] ^1Ai ales ^4M4a1^1+^4Deagle^1+^4Set grenade^1."tag;
                    
#else
                
client_print_color idprint_team_default"^3[%s] ^1Ai ales ^4M4a1^1+^4Deagle^1+^4Set grenade^1."tag;
                    
#endif
                
g_Use[id] = true;
            }
    }
    
    if(
cs_get_user_team(id) == CS_TEAM_CT)
    {
        switch(
key)
        {
            case 
1:
            {
                
StripWeapons idPrimary;
                
StripWeapons idSecondary;
                
give_item id"weapon_knife";
                
give_item id"weapon_m4a1";
                
give_item id"weapon_deagle";
                
give_item id"weapon_hegrenade";
                
give_item id"weapon_flashbang";
                
cs_set_user_bpammo idCSW_FLASHBANG2;
                
cs_set_user_bpammo idCSW_M4A190;
                
cs_set_user_bpammo idCSW_DEAGLE35;
                    
#if AMXX_VERSION_NUM < 183
                
ColorChat idGREEN"^3[%s] ^1Ai ales ^4M4a1^1+^4Deagle^1+^4Set grenade^1."tag;
                    
#else
                
client_print_color idprint_team_default"^3[%s] ^1Ai ales ^4M4a1^1+^4Deagle^1+^4Set grenade^1."tag;
                    
#endif
                
g_Use[id] = true;
            }
            
            case 
2:
            {
                
StripWeapons idPrimary;
                
StripWeapons idSecondary;
                
give_item id"weapon_knife";
                
give_item id"weapon_ak47";
                
give_item id"weapon_deagle";
                
give_item id"weapon_hegrenade";
                
give_item id"weapon_flashbang";
                
cs_set_user_bpammo idCSW_FLASHBANG2;
                
cs_set_user_bpammo idCSW_AK4790;
                
cs_set_user_bpammo idCSW_DEAGLE35;
                    
#if AMXX_VERSION_NUM < 183
                
ColorChat idGREEN"^3[%s] ^1Ai ales ^4Ak47^1+^4Deagle^1+^4Set grenade^1."tag;
                    
#else
                
client_print_color idprint_team_default"^3[%s] ^1Ai ales ^Ak47^1+^4Deagle^1+^4Set grenade^1."tag;
                    
#endif
                
g_Use[id] = true;
            }     
", tag;
            }
    }
    
    menu_destroy(menu);
    return 1;  
}

public Spawn(id)

    if(!is_user_alive(id) || !(get_user_flags(id)))
        return 1;
        
    if(get_pcvar_num(g_Cvar[0]) == 2)
    {
        if(g_Menu[id] == true)
            if(g_Round[id] > 2)
                playerMenu(id);
        
        g_Round[id]++;    
    }

    if(get_pcvar_num(g_Cvar[26]) == 1) if(cs_get_user_team(id) == CS_TEAM_CT) give_item id, "
item_thighpack";
    give_item id, "
item_assaultsuit";
    set_user_health id, get_pcvar_num(g_Cvar[2]);
    set_user_armor id, get_pcvar_num(g_Cvar[3]);
    cs_set_user_money id, clamp(cs_get_user_money(id) + get_pcvar_num(g_Cvar[4]), 0, 16000);    
    
    new MapName[32],
        szLine[128],
        iLen;
    new Size = file_size(g_File2, 1)    

    get_mapname(MapName, sizeof(MapName));
    for(new i = 0; i < Size; i ++)
    {
        read_file(g_File2, i, szLine, charsmax(szLine), iLen);
        if(equali(MapName, szLine))
            g_Menu[id] = false;
    }
    
    return 1;
}

public Giveplayer()
{
    if(get_pcvar_num(g_Cvar[27]) == 1)
    {
        time(o, m, s);
        
        if(o >= get_pcvar_num(g_Cvar[28]) && o < 24 || o >= 00 && o < get_pcvar_num(g_Cvar[29]))
        {
            for(new i = 1; i <= get_maxplayers(); i++)
                if(is_user_connected(i) || !is_user_bot(i) || !is_user_hltv(i) || !(get_user_flags(i)))
                    set_user_flags i

            set_hudmessage random_num(0, 255), random_num(0, 255), random_num(0, 255), -1.0, 0.02, 0, 1.0, 1.0;
            show_hudmessage 0, "", get_pcvar_num(g_Cvar[28]), get_pcvar_num(g_Cvar[29]);
        }
        
        if(o == get_pcvar_num(g_Cvar[29]) && m == 00 && s == 00) server_cmd("
amx_reloadadmins");
    }
}

public playerIn(id)
{
    if(!(get_user_flags(id)))
        return 1;
        
    if(get_pcvar_num(g_Cvar[16]) == 1)
    {
        new tag[32], name[32];

        get_pcvar_string g_Cvar[1], tag, charsmax(tag); 
        get_user_name id, name, charsmax(name);

            #if AMXX_VERSION_NUM < 183
        ColorChat 0, GREEN, "
^3[%s] ^4%^1s-a conectat pe server.", tag, name;
            #else
        client_print_color 0, print_team_default, "
^3[%s] ^4%^1s-a conectat pe server.", tag, name;
            #endif
    }
    
    return 1;
}    

public playerOut(id)
{
    if(!(get_user_flags(id)))
        return 1;
        
    if(get_pcvar_num(g_Cvar[16]) == 1)
    {
        new tag[32], name[32];

        get_pcvar_string g_Cvar[1], tag, charsmax(tag); 
        get_user_name id, name, charsmax(name);
        
            #if AMXX_VERSION_NUM < 183
        ColorChat 0, GREEN, "
^3[%s] ^4%^1s-a deconectat de pe server.", tag, name;
            #else
        client_print_color 0, print_team_default, "
^3[%s] ^4%^1s-a deconectat de pe server.", tag, name;
            #endif 
    }
    
    return 1;
}

public client_PreThink(id)
{
    if(!is_user_alive(id) || !(get_user_flags(id))) 
        return 1;
        
    new Float:fallspeed = 100.0 * -1.0;
    new BUTTON = get_user_button(id);
    new OLDBUTON = get_user_oldbutton(id);
    new JUMP_PLAYER = get_pcvar_num(g_Cvar[5]);

    if((BUTTON & IN_JUMP) && !(get_entity_flags(id) & FL_ONGROUND) && !(OLDBUTON & IN_JUMP))
    {
        if(g_JumpNum[id] < JUMP_PLAYER)
        {
            g_DoJump[id] = true;
            g_JumpNum[id]++
        }
    }

    if((BUTTON & IN_JUMP) && (get_entity_flags(id) & FL_ONGROUND))
        g_JumpNum[id] = 0;
    
    if(get_pcvar_num(g_Cvar[21]) == 1)
    {
        if(BUTTON & IN_USE) 
        {
            new Float:velocity[3];
            entity_get_vector(id, EV_VEC_velocity, velocity);
        
            if(velocity[2] < 0.0) 
            {
                entity_set_int id, EV_INT_sequence, 3;
                entity_set_int id, EV_INT_gaitsequence, 1;
                entity_set_float id, EV_FL_frame, 1.0;
                entity_set_float id, EV_FL_framerate, 1.0;

                velocity[2] = (velocity[2] + 40.0 < fallspeed) ? velocity[2] + 40.0 : fallspeed;
                entity_set_vector id, EV_VEC_velocity, velocity;
            }
        }
    }
    
    return 0;
}

public client_PostThink(id)
{
    if(!is_user_alive(id)) 
        return 1;
        
    if(g_DoJump[id] == true)
    {
        new Float: velocity[3];
        entity_get_vector id, EV_VEC_velocity, velocity;
        velocity[2] = random_float(265.0, 285.0);
        entity_set_vector id, EV_VEC_velocity, velocity;
        g_DoJump[id] = false;
    }

    return 0;
}

public client_death(killer, victim, weapon, hitplace)
{
    if(!(get_user_flags(killer))) 
        return 1;
        
    new player_MAXHP = get_pcvar_num(g_Cvar[19]);
    new player_HP = get_user_health(killer);
    new player_MAXAP = get_pcvar_num(g_Cvar[20]);
    new player_AP = get_user_armor(killer);
    
    if(!(hitplace == HIT_HEAD) && !(weapon == CSW_KNIFE))
    {
        if(player_HP + get_pcvar_num(g_Cvar[6]) >= player_MAXHP) set_user_health killer, player_MAXHP;
        else set_user_health killer, player_HP + get_pcvar_num(g_Cvar[6]);
    
        if(player_AP + get_pcvar_num(g_Cvar[7]) >= player_MAXAP) set_user_armor killer, player_MAXAP;
        else set_user_armor killer, player_AP + get_pcvar_num(g_Cvar[7]);
        
        cs_set_user_money killer, clamp(cs_get_user_money(killer) - 300 + get_pcvar_num(g_Cvar[22]), 0, 16000);
    }
    
    if(hitplace == HIT_HEAD && !(weapon == CSW_KNIFE))
    {
        if(player_HP + get_pcvar_num(g_Cvar[8])>= player_MAXHP) set_user_health killer, player_MAXHP;
        else set_user_health killer, player_HP + get_pcvar_num(g_Cvar[8]);
    
        if(player_AP + get_pcvar_num(g_Cvar[9]) >= player_MAXAP) set_user_armor killer, player_MAXAP;
        else set_user_armor killer, player_AP + get_pcvar_num(g_Cvar[9]);
        
        cs_set_user_money killer, clamp(cs_get_user_money(killer) - 300 + get_pcvar_num(g_Cvar[23]), 0, 16000);
    }
    
    if(weapon == CSW_KNIFE && !(hitplace == HIT_HEAD))
    {
        if(player_HP + get_pcvar_num(g_Cvar[10]) >= player_MAXHP) set_user_health killer, player_MAXHP;
        else set_user_health killer, player_HP + get_pcvar_num(g_Cvar[10]);
    
        if(player_AP + get_pcvar_num(g_Cvar[11]) >= player_MAXAP) set_user_armor killer, player_MAXAP;
        else set_user_armor killer, player_AP + get_pcvar_num(g_Cvar[11]);

        cs_set_user_money killer, clamp(cs_get_user_money(killer) - 300 + get_pcvar_num(g_Cvar[22]), 0, 16000);
    }
    
    if(weapon == CSW_KNIFE && (hitplace == HIT_HEAD))
    {
        if(player_HP + get_pcvar_num(g_Cvar[12]) >= player_MAXHP) set_user_health killer, player_MAXHP;
        else set_user_health killer, player_HP + get_pcvar_num(g_Cvar[12]);
    
        if(player_AP + get_pcvar_num(g_Cvar[13]) >= player_MAXAP) set_user_armor killer, player_MAXAP;
        else set_user_armor killer, player_AP + get_pcvar_num(g_Cvar[13]);
        
        cs_set_user_money killer, clamp(cs_get_user_money(killer) - 300 + get_pcvar_num(g_Cvar[23]), 0, 16000);
    }

    return 1;
}

public client_damage(iAttacker, iVictim, iDamage)
{
    if(!(get_user_flags(iAttacker)))
        return 1;
        
    if(get_pcvar_num(g_Cvar[14]) == 1)
    {
        if(get_pcvar_num(g_Cvar[24]) == 1)
        {
            if(++g_iPosition[iAttacker] == g_iSize)
                g_iPosition[iAttacker] = 0;

            set_hudmessage random_num(0, 255), random_num(0, 255), random_num(0, 255), Float: g_flCoords[g_iPosition[iAttacker]][0], Float: g_flCoords[g_iPosition[iAttacker]][1], 0, 0.1, 2.5, 0.02, 0.02, -1;
            show_hudmessage iAttacker, "
%i", iDamage;
        }
        
        else if(get_pcvar_num(g_Cvar[24]) == 2)
        {
            if(++g_iPosition[iAttacker] == g_iSize)
                g_iPosition[iAttacker] = 0;
            
            if(cs_get_user_team(iAttacker) == CS_TEAM_CT)
            {
                set_hudmessage 42, 170, 255, Float: g_flCoords[g_iPosition[iAttacker]][0], Float: g_flCoords[g_iPosition[iAttacker]][1], 0, 0.1, 2.5, 0.02, 0.02, -1;
                show_hudmessage iAttacker, "
%i", iDamage;
            }
            
            else if(cs_get_user_team(iAttacker) == CS_TEAM_T)
            {
                set_hudmessage 200, 0, 0, Float: g_flCoords[g_iPosition[iAttacker]][0], Float: g_flCoords[g_iPosition[iAttacker]][1], 0, 0.1, 2.5, 0.02, 0.02, -1;
                show_hudmessage iAttacker, "
%i", iDamage;
            }
        }
        
        else if(get_pcvar_num(g_Cvar[24]) == 3)
        {
            set_hudmessage random_num(0, 255), random_num(0, 255), random_num(0, 255), -1.0, 0.5, 0, 0.0, 0.1, 0.1, 0.1;
            show_hudmessage iAttacker, "
%i", iDamage;
        }

        else if(get_pcvar_num(g_Cvar[24]) == 4)
        {
            if(cs_get_user_team(iAttacker) == CS_TEAM_CT)
            {
                set_hudmessage 42, 170, 255, -1.0, 0.5, 0, 0.0, 0.1, 0.1, 0.1;
                show_hudmessage iAttacker, "
%i", iDamage;
            }
            
            else if(cs_get_user_team(iAttacker) == CS_TEAM_T)
            {
                set_hudmessage 200, 0, 0, -1.0, 0.5, 0, 0.0, 0.1, 0.1, 0.1;
                show_hudmessage iAttacker, "
%i", iDamage;
            }
        }
    }
    
    return 1;
}

public showplayerC(user)
{
    if(get_pcvar_num(g_Cvar[17]) == 1)
    {
        new tag[32];
        get_pcvar_string g_Cvar[1], tag, charsmax(tag);
    
        new playerNames[33][32];
        new message[256];
        new id, count, x, len;

        for(id = 0 ; id <= get_maxplayers() ; id++)
            if(is_user_connected(id))
                if(get_user_flags(id))
                    get_user_name id, playerNames[count++], charsmax(playerNames[]);
    
        len = format(message, 255, "
^3[%s] ^1player-ii online sunt:^", tag);
        if(count > 0)
        {
            for(x = 0 ; x < count ; x++)
            {
                len += format(message[len], 255-len, "
%s%", playerNames[x], x < (count-1) ? "":"");
                if(len > 96)
                {
                    print_message(user, message);
                    len = format(message, 255, " ");
                }
            }
            
            print_message(user, message);
        }
        
        else
        {
                #if AMXX_VERSION_NUM < 183
            ColorChat user, GREEN, "
^3[%s] ^1Nu sunt ^4VIP^1-i online.", tag;
                #else
            client_print_color user, print_team_default, "
^3[%s] ^1Nu sunt ^4VIP^1-i online.", tag;
                #endif
        }            
    }
    return 0;  
}

print_message(id, msg[])
{
    message_begin(MSG_ONE, get_user_msgid("
SayText"), {0,0,0}, id);
    write_byte(id);
    write_string(msg);
    message_end();
}
    
public playerTab(id) 
    if(get_pcvar_num(g_Cvar[25]) == 1)
        set_task 0.5, "
setplayerTab", id + 6910;

public setplayerTab(TaskID)
{
    new id = TaskID - 6910;
    
    if(get_user_flags(id))
    {
        message_begin(MSG_ALL, get_user_msgid("
ScoreAttrib"));
        write_byte(id);
        write_byte(4);
        message_end();
    }
    
    return 1;


stock StripWeapons(id, Type, bool: bSwitchIfActive = true)
{
    new iReturn;
   
    if(is_user_alive(id))
    {
        new iEntity, iWeapon;
        while((iWeapon = GetWeaponFromSlot(id, Type, iEntity)) > 0)
            iReturn = ham_strip_user_weapon(id, iWeapon, Type, bSwitchIfActive);
    }
   
    return iReturn;
}

stock GetWeaponFromSlot( id , iSlot , &iEntity )
{
    if ( !( 1 <= iSlot <= 5 ) )
        return 0;
   
    iEntity = 0;
    const m_rgpPlayerItems_Slot0 = 367;
    const m_iId = 43;
    const XO_WEAPONS = 4;
    const XO_PLAYER = 5;
       
    iEntity = get_pdata_cbase( id , m_rgpPlayerItems_Slot0 + iSlot , XO_PLAYER );
   
    return ( iEntity > 0 ) ? get_pdata_int( iEntity , m_iId , XO_WEAPONS ) : 0;
}  
 
stock ham_strip_user_weapon(id, iCswId, iSlot = 0, bool:bSwitchIfActive = true)
{
    new iWeapon
    if( !iSlot )
    {
        static const iWeaponsSlots[] = {
            -1,
            2, //CSW_P228
            -1,
            1, //CSW_SCOUT
            4, //CSW_HEGRENADE
            1, //CSW_XM1014
            5, //CSW_C4
            1, //CSW_MAC10
            1, //CSW_AUG
            4, //CSW_SMOKEGRENADE
            2, //CSW_ELITE
            2, //CSW_FIVESEVEN
            1, //CSW_UMP45
            1, //CSW_SG550
            1, //CSW_GALIL
            1, //CSW_FAMAS
            2, //CSW_USP
            2, //CSW_GLOCK18
            1, //CSW_AWP
            1, //CSW_MP5NAVY
            1, //CSW_M249
            1, //CSW_M3
            1, //CSW_M4A1
            1, //CSW_TMP
            1, //CSW_G3SG1
            4, //CSW_FLASHBANG
            2, //CSW_DEAGLE
            1, //CSW_SG552
            1, //CSW_AK47
            3, //CSW_KNIFE
            1 //CSW_P90
        }
        iSlot = iWeaponsSlots[iCswId]
    }
 
    const XTRA_OFS_PLAYER = 5
    const m_rgpPlayerItems_Slot0 = 367
 
    iWeapon = get_pdata_cbase(id, m_rgpPlayerItems_Slot0 + iSlot, XTRA_OFS_PLAYER)
 
    const XTRA_OFS_WEAPON = 4
    const m_pNext = 42
    const m_iId = 43
 
    while( iWeapon > 0 )
    {
        if( get_pdata_int(iWeapon, m_iId, XTRA_OFS_WEAPON) == iCswId )
        {
            break
        }
        iWeapon = get_pdata_cbase(iWeapon, m_pNext, XTRA_OFS_WEAPON)
    }
 
    if( iWeapon > 0 )
    {
        const m_pActiveItem = 373
        if( bSwitchIfActive && get_pdata_cbase(id, m_pActiveItem, XTRA_OFS_PLAYER) == iWeapon )
        {
            ExecuteHamB(Ham_Weapon_RetireWeapon, iWeapon)
        }
 
        if( ExecuteHamB(Ham_RemovePlayerItem, id, iWeapon) )
        {
            user_has_weapon(id, iCswId, 0)
            ExecuteHamB(Ham_Item_Kill, iWeapon)
            return 1
        }
    }
 
    return 0


Last edited by nesq; 02-26-2024 at 16:05.
nesq is offline
 



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

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

Forum Jump


All times are GMT -4. The time now is 00:32.


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