←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

Pobranie ilosci amunicji z broni lezacej n...

  • +
  • -
d0naciak's Photo d0naciak 28.05.2013

Pytanie jak w temacie: Jak pobrac ilosc amunicji z broni lezacej na ziemi (secondary i primary osobno jesli da rady).

 

Quote

  • +
  • -
d0naciak's Photo d0naciak 28.05.2013

Filip nic mi to nie mówi niestety. Nie wiem jakie dokladnie parametry podać

Quote

  • +
  • -
radim's Photo radim 28.05.2013

http://wiki.alliedmo...CWeaponBox_(CS)

 

WeaponBox_PackAmmo(iWeaponBox, iAmmoId, iCount)
{
new iMaxCarry = g_iMaxAmmo[iAmmoId]
if( iCount > iMaxCarry )
{
iCount = iMaxCarry
}
set_pdata_int(iWeaponBox, m_rgiszAmmo_Slot0, g_iszAmmoNames[iAmmoId], XTRA_OFS_WEAPONBOX)    //set the weaponbox ammo type?
set_pdata_int(iWeaponBox, m_rgAmmo_Slot0, iCount, XTRA_OFS_WEAPONBOX)    //set the weaponbox ammo number?
}  

Edited by radim, 28.05.2013 17:27.
Quote

  • +
  • -
d0naciak's Photo d0naciak 31.05.2013

@up Nie wiem o co chodzi

 

Quote

  • +
  • -
radim's Photo radim 31.05.2013


Znalazłem jakiś tam przykład zastosowania:
WeaponBox = create_entity(weaponbox)
if( pev_valid(iWeaponBox) )
{
set_pev(iWeaponBox, pev_iuser3, WPNBX_CUSTOM)
 
set_pev(iWeaponBox, pev_owner, id)
 
engfunc(EngFunc_SetOrigin, iWeaponBox, flOrigin)
 
set_pev(iWeaponBox, pev_angles, flAngles)
ExecuteHamB(Ham_Spawn, iWeaponBox)
 
flWpnBxVelocity[0] = random_float(-250.0,250.0)
flWpnBxVelocity[1] = random_float(-250.0,250.0)
set_pev(iWeaponBox, pev_velocity, flWpnBxVelocity)
 
if( !WeaponBox_PackWeapon(iWeaponBox, iWeapon, id) )
{
set_pev(iWeaponBox, pev_flags, FL_KILLME)
}
else
{
iAmmoId = ExecuteHam(Ham_Item_PrimaryAmmoIndex, iWeapon)
 
iBpAmmo = get_pdata_int(id, m_rgAmmo_Player_Slot0 + iAmmoId, XTRA_OFS_PLAYER)
set_pdata_int(id, m_rgAmmo_Player_Slot0 + iAmmoId, 0, XTRA_OFS_PLAYER)    
 
WeaponBox_PackAmmo(iWeaponBox, iAmmoId, iBpAmmo)
 
pev(iWeapon, pev_classname, szWeapon, charsmax(szWeapon))
 
replace(szWeapon, charsmax(szWeapon), "navy", "")
formatex(szModel, charsmax(szModel), "models/w_%s.mdl", szWeapon[7])
 
entity_set_model(iWeaponBox, szModel)
 
const SILENT_WPN_BS = (1<<CSW_USP)|(1<<CSW_M4A1)
 
if( g_iNoSilPluginId > 0
&& g_iNoSilSetModel > 0
&& (1<<cs_get_weapon_id(iWeapon)) & SILENT_WPN_BS )
{
callfunc_begin_i(g_iNoSilSetModel, g_iNoSilPluginId)
callfunc_push_int(iWeaponBox)
callfunc_push_str(szModel)
callfunc_end()
}
 
}
}

Edited by radim, 31.05.2013 08:28.
Quote

  • +
  • -
d0naciak's Photo d0naciak 31.05.2013

Coś takiego ? (Nie wiem czy w pelni dobrze)

new iIloscAmmo = get_pdata_int(iEnt, 73, 4); //Pobieranie ammo z iEnt
Quote