You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
38 lines
2.1 KiB
38 lines
2.1 KiB
#include "extdll.h" |
|
#include "util.h" |
|
#include "cbase.h" |
|
#include "monsters.h" |
|
#include "weapons.h" |
|
#include "nodes.h" |
|
#include "player.h" |
|
|
|
LINK_ENTITY_TO_CLASS( weapon_example, CExampleGun ); |
|
|
|
void CExampleGun::Spawn( ) |
|
{ |
|
pev->classname = MAKE_STRING("weapon_example"); // здесь имя энтити которое надо будет затем вписать в фгд |
|
Precache( ); |
|
SET_MODEL(ENT(pev), "models/w_9mmAR.mdl"); // Тут должна быть модель вашего оружия |
|
m_iId = WEAPON_EXAMPLE; |
|
|
|
m_iDefaultAmmo = 50; |
|
FallInit(); |
|
} |
|
|
|
void CExampleGun::Precache( void ) { // Тут вы прекешите звуки и модели для вашего оружия PRECACHE_MODEL("models/v_9mmAR.mdl"); PRECACHE_MODEL("models/w_9mmAR.mdl"); PRECACHE_MODEL("models/p_9mmAR.mdl"); |
|
|
|
PRECACHE_SOUND("items/9mmclip1.wav"); |
|
|
|
PRECACHE_SOUND("items/clipinsert1.wav"); PRECACHE_SOUND("items/cliprelease1.wav"); |
|
|
|
PRECACHE_SOUND ("weapons/hks1.wav"); PRECACHE_SOUND ("weapons/hks2.wav"); PRECACHE_SOUND ("weapons/hks3.wav"); |
|
|
|
// this is to hook your client-side event m_usExampleFire = PRECACHE_EVENT( 1, "events/example.sc" ); } |
|
|
|
int CExampleGun::GetItemInfo(ItemInfo *p) { p->pszName = STRING(pev->classname); p->pszAmmo1 = "9mm"; p->iMaxAmmo1 = 200; p->iMaxClip = -1; p->iSlot = 0; // слот в худе ( помните также, что елси здесь вы написали например 2 то в игре будет занят 3 слот, т.к в коде исчесление начинаеться от нуля) p->iPosition = 1; // позиция в слоте ( то же самое что и в слоте - елси вам надо занять 4 позицию , то пишите 3 в коде) p->iFlags = 0; p->iId = m_iId = WEAPON_EXAMPLE; p->iWeight = MP5_WEIGHT; //p->pszAmmo2 = NULL; //p->iMaxAmmo2 = -1; |
|
|
|
return 1; } |
|
|
|
int CExampleGun::AddToPlayer( CBasePlayer *pPlayer ) { if ( CBasePlayerWeapon::AddToPlayer( pPlayer ) ) { MESSAGE_BEGIN( MSG_ONE, gmsgWeapPickup, NULL, pPlayer->pev ); WRITE_BYTE( m_iId ); MESSAGE_END(); return TRUE; } return FALSE; } |
|
|
|
С |