000
02.05.2002, 22:40
Bufferoverflow
|
Serwas, also hab da n kleines problem mit ner Waffe ( jaja mal wieder ) und zwar is die Waffe ne kleine Uzi ( model is das mac10.mdl von counter-strike ) und basiert auf dem Code von der MP5 nach dem Tutorial auf DHCC von Icarus und Retro gecoded.
Jetzt hab ich volgendes Problem:
1.Ich seh das v_model und p_model nicht 2.Bei der Waffenauswahl oben im HUD steht nur die MAC drinn wenn ich sie in der Hand hab 3.Ich hab keine Traclines einschusslöcher...nur das licht vom muzzlflash
da is mal die mac10.cpp:
#include "extdll.h" #include "util.h" #include "cbase.h" #include "monsters.h" #include "weapons.h" #include "nodes.h" #include "player.h" #include "soundent.h" #include "gamerules.h"
enum mac10_e { MAC10_IDLE1 = 0, MAC10_RELOAD, MAC10_DRAW, MAC10_SHOOT1, MAC10_SHOOT2, MAC10_SHOOT3, };
LINK_ENTITY_TO_CLASS( weapon_mac10, CMAC10 );
void CMAC10 :: Spawn( ) { pev->classname = MAKE_STRING("weapon_mac10"); Precache( ); SET_MODEL(ENT(pev), "models/w_mac10.mdl"); m_iId = WEAPON_MAC10;
m_iDefaultAmmo = MAC10_DEFAULT_GIVE;
FallInit(); }
void CMAC10 :: Precache( void ) { PRECACHE_MODEL("models/v_mac10.mdl"); PRECACHE_MODEL("models/w_mac10.mdl"); PRECACHE_MODEL("models/p_mac10.mdl");
m_iShell = PRECACHE_MODEL ("models/shell.mdl");
PRECACHE_MODEL("models/w_9mmARclip.mdl"); PRECACHE_SOUND("items/9mmclip1.wav");
PRECACHE_SOUND("weapons/mac10_clipin.wav"); PRECACHE_SOUND("weapons/mac10_clipout.wav");
PRECACHE_SOUND ("weapons/mac10-1.wav"); PRECACHE_SOUND ("weapons/mac10-2.wav"); PRECACHE_SOUND ("weapons/mac10-3.wav");
PRECACHE_SOUND ("weapons/357_cock1.wav");
m_usMAC10 = PRECACHE_EVENT( 1, "events/mac10.sc" ); }
int CMAC10 :: GetItemInfo(ItemInfo *p) { p->pszName = STRING(pev->classname); p->pszAmmo1 = "45ACP"; p->iMaxAmmo1 = MAC10_MAX_CARRY; p->pszAmmo2 = NULL; p->iMaxAmmo2 = -1; p->iMaxClip = MAC10_MAX_CLIP; p->iSlot = 0; p->iPosition = 1; p->iFlags = 0; p->iId = m_iId = WEAPON_MAC10; p->iWeight = MAC10_WEIGHT;
return 1; }
int CMAC10 :: 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; }
BOOL CMAC10 :: Draw( ) { return DefaultDeploy( "models/v_mac10.mdl", "models/p_mac10.mdl", MAC10_DRAW, "mac10" ); }
void CMAC10 :: PrimaryAttack() { if (m_iClip <= 0) { PlayEmptySound(); m_flNextPrimaryAttack = 0.15; return; }
m_pPlayer->m_iWeaponVolume = NORMAL_GUN_VOLUME; m_pPlayer->m_iWeaponFlash = NORMAL_GUN_FLASH;
m_iClip--;
m_pPlayer->pev->effects = (int)(m_pPlayer->pev->effects) | EF_MUZZLEFLASH;
m_pPlayer->SetAnimation( PLAYER_ATTACK1 );
Vector vecSrc = m_pPlayer->GetGunPosition( ); Vector vecAiming = m_pPlayer->GetAutoaimVector( AUTOAIM_5DEGREES ); Vector vecDir;
#ifdef CLIENT_DLL if ( !bIsMultiplayer() ) #else if ( !g_pGameRules->IsMultiplayer() ) #endif { vecDir = m_pPlayer->FireBulletsPlayer( 1, vecSrc, vecAiming, VECTOR_CONE_3DEGREES, 8192, BULLET_PLAYER_MAC10, 2, 0, m_pPlayer->pev, m_pPlayer->random_seed ); } else { vecDir = m_pPlayer->FireBulletsPlayer( 1, vecSrc, vecAiming, VECTOR_CONE_3DEGREES, 8192, BULLET_PLAYER_MAC10, 2, 0, m_pPlayer->pev, m_pPlayer->random_seed ); }
int flags; #if defined( CLIENT_WEAPONS ) flags = FEV_NOTHOST; #else flags = 0; #endif
PLAYBACK_EVENT_FULL( flags, m_pPlayer->edict(), m_usMAC10, 0.0, (float *)&g_vecZero, (float *)&g_vecZero, vecDir.x, vecDir.y, 0, 0, 0, 0 );
if (!m_iClip && m_pPlayer->m_rgAmmo[m_iPrimaryAmmoType] <= 0) // HEV suit - indicate out of ammo condition m_pPlayer->SetSuitUpdate("!HEV_AMO0", FALSE, 0);
m_flNextPrimaryAttack = UTIL_WeaponTimeBase() + 0.09;
if ( m_flNextPrimaryAttack < UTIL_WeaponTimeBase() ) m_flNextPrimaryAttack = UTIL_WeaponTimeBase() + 0.09;
m_flTimeWeaponIdle = UTIL_WeaponTimeBase() + UTIL_SharedRandomFloat( m_pPlayer->random_seed, 10, 15 ); }
void CMAC10 :: Reload( void ) { if ( m_pPlayer->ammo_9mm <= 0 ) return;
DefaultReload( MAC10_MAX_CLIP, MAC10_RELOAD, 3.1 ); }
void CMAC10 :: WeaponIdle( void ) { ResetEmptySound( );
m_pPlayer->GetAutoaimVector( AUTOAIM_5DEGREES );
if ( m_flTimeWeaponIdle > UTIL_WeaponTimeBase() ) return;
int iAnim; switch ( RANDOM_LONG( 0, 1 ) ) { case 0: iAnim = MAC10_IDLE1; break; default: case 1: iAnim = MAC10_IDLE1; break; }
SendWeaponAnim( iAnim );
m_flTimeWeaponIdle = UTIL_SharedRandomFloat( m_pPlayer->random_seed, 10, 15 ); // how long till we do this again. }
class CMAC10AmmoClip : public CBasePlayerAmmo { void Spawn( void ) { Precache( ); SET_MODEL(ENT(pev), "models/w_9mmARclip.mdl"); CBasePlayerAmmo::Spawn( ); } void Precache( void ) { PRECACHE_MODEL ("models/w_9mmARclip.mdl"); PRECACHE_SOUND("items/9mmclip1.wav"); } BOOL AddAmmo( CBaseEntity *pOther ) { int bResult = (pOther->GiveAmmo( AMMO_MAC10CLIP_GIVE, "45ACP", MAC10_MAX_CARRY) != -1); if (bResult) { EMIT_SOUND(ENT(pev), CHAN_ITEM, "items/9mmclip1.wav", 1, ATTN_NORM); } return bResult; } };
LINK_ENTITY_TO_CLASS( ammo_mac10, CMAC10AmmoClip );
Wenn ihr noch mehr infos braucht schreit einfach :)
--
|