View Single Post
Bugsy
AMX Mod X Moderator
Join Date: Feb 2005
Location: NJ, USA
Old 06-11-2022 , 11:52   Re: (Request) Is still impossible to pick up more than 1 weapon?
Reply With Quote #37

Hardly tested
PHP Code:

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

new const Version[] = "0.1";

enum WeaponSlots
{
    
Slot1 1,
    
Slot2
}
    
public 
plugin_init() 
{
    
register_plugin"Drop BP Ammo with Weapon" Version "bugsy" );
   
    
register_forwardFM_SetModel "SetModel" );
    
RegisterHamHam_AddPlayerItem "player" "AddPlayerItem" );
}

public 
SetModeliEntity , const szModel[] )
{
    new 
szClassname32 ] , iWeaponEntID iWeaponSlot iBPAmmo;
    
    
peviEntity pev_classname szClassname charsmaxszClassname ) );
    
    if ( 
equal szClassname "weaponbox" ) )
    {
        if ( 
pev_valid( ( iWeaponEntID GetWeaponEntityFromWeaponboxiEntity iWeaponSlot ) ) ) )
        {
            if ( ( 
iBPAmmo cs_get_user_bpammopeviEntity pev_owner ) , cs_get_weapon_idiWeaponEntID ) ) ) )
                
set_peviWeaponEntID pev_iuser2 iBPAmmo );
        }
    }


public 
AddPlayerItemiPlayer iEntity )
{
    new 
iBPAmmo peviEntity pev_iuser2 );
    
    if ( 
iBPAmmo )
        
cs_set_user_bpammoiPlayer cs_get_weapon_idiEntity ) , iBPAmmo );
}

GetWeaponEntityFromWeaponboxiWeaponBox , &iWeaponSlot )
{
    new const 
m_rgpPlayerItems_Weaponbox] = { 34 35 , ... };
    new 
iWeaponEntID;

    for ( new 
WeaponSlots:iSlot Slot1 iSlot <= Slot2 iSlot++ )
    {
        if ( ( 
iWeaponEntID get_pdata_cbaseiWeaponBox m_rgpPlayerItems_Weaponbox] + _:iSlot ) ) > )
        {
            
iWeaponSlot _:iSlot;
            break;
        }
    }    
    
    return ( 
iWeaponEntID ) ? iWeaponEntID 0;

__________________

Last edited by Bugsy; 06-11-2022 at 19:39.
Bugsy is offline