|
Whats wrong
Was ist fallsch
#include "extdll.h"
#include "decals.h"
#include "util.h"
#include "cbase.h"
#include "monsters.h"
#include "weapons.h"
#include "nodes.h"
#include "player.h"
#include "soundent.h"
#include "shake.h"
#include "gamerules.h"
#define WEAPON_M4A1 16
#define M4A1_SLOT 2
#define M4A1_POSITION 2
#define M4A1_WEIGHT 25
#define M4A1_FIRE_DELAY 0.05
#define M4A1_DEFAULT_AMMO 100
#define M4A1_MAX_AMMO 200
#define M4A1_DAMAGE 25
#define MODELV "models/v_M4a1.mdl"
#define MODELW "models/w_M4a1.mdl"
#define MODELP "models/p_M4a1.mdl"
#define MODELSHELLS "models/shell.mdl"
#define SOUNDATTACK1 "weapons/m4a1.wav"
#define M4A1_MODEL_1STPERSON "models/v_M4a1.mdl"
#define M4A1_MODEL_3RDPERSON "models/p_M4a1.mdl"
#define M4A1_MODEL_WORLD "models/w_M4a1.mdl"
#define M4A1_SOUND_SHOOT "weapons/M4a1.wav"
#define M4A1_SOUND_VOLUME 0.75
#define M4A1_OFFSET_FORWARD 2
#define M4A1_OFFSET_RIGHT 1
#define M4A1_OFFSET_UP -1
enum m4a1_e
{
M4A1_ANIM_IDLE1 = 1,
M4A1_ANIM_IDLE11 = 2,
M4A1_ANIM_IDLE2,
M4A1_ANIM_IDLE3,
M4A1_ANIM_SHOOT,
M4A1_ANIM_SHOOT_EMPTY,
M4A1_ANIM_RELOAD,
M4A1_ANIM_RELOAD_NOT_EMPTY,
M4A1_ANIM_DRAW,
M4A1_ANIM_HOLSTER,
M4A1_ANIM_ADD_SILENCER,
M4A1_LONGIDLE = 5,
M4A1_IDLE1,
M4A1_LAUNCH,
M4A1_RELOAD,
M4A1_DEPLOY,
M4A1_FIRE1,
M4A1_FIRE2,
M4A1_FIRE3,
};
class CM4a1 : public CBasePlayerWeapon
{
public:
void Spawn ( );
void Precache ( );
int iItemSlot ( );
int GetItemInfo ( ItemInfo* );
int AddToPlayer( CBasePlayer *pPlayer );
void PrimaryAttack ( );
BOOL Deploy ( );
void Reload( void );
void WeaponIdle ( );
float m_flNextAnimTime;
int m_iShell;
private:
unsigned short m_usM4A1;
};
LINK_ENTITY_TO_CLASS( weapon_m4a1, CM4a1 );
void CM4a1 :: Spawn( )
{
pev->classname = MAKE_STRING( "weapon_M4a1" );
Precache( );
m_iId = WEAPON_M4A1;
SET_MODEL( ENT(pev), M4A1_MODEL_WORLD );
m_iDefaultAmmo = M4A1_DEFAULT_AMMO;
FallInit( );
}
void CM4a1 :: Precache( )
{
PRECACHE_MODEL( M4A1_MODEL_1STPERSON );
PRECACHE_MODEL( M4A1_MODEL_3RDPERSON );
PRECACHE_MODEL( M4A1_MODEL_WORLD );
PRECACHE_SOUND( M4A1_SOUND_SHOOT );
PRECACHE_MODEL( MODELV );
PRECACHE_MODEL( MODELW );
PRECACHE_MODEL( MODELP );
m_iShell = PRECACHE_MODEL ( MODELSHELLS );// brass shellTE_MODEL
PRECACHE_MODEL("models/w_9mmARclip.mdl");
PRECACHE_SOUND("items/9mmclip1.wav");
PRECACHE_SOUND("items/clipinsert1.wav");
PRECACHE_SOUND("items/cliprelease1.wav");
// PRECACHE_SOUND("items/guncock1.wav");
PRECACHE_SOUND ( SOUNDATTACK1 );// H to the K
PRECACHE_SOUND ("weapons/357_cock1.wav");
// m_usM4A1 = PRECACHE_EVENT( 1, "events/m4a1.sc" );
}
// iItemSlot: returns the item slot.
int CM4a1 :: iItemSlot( )
{
return 1;
}
// GetItemInfo: sets a lot of the weapon information.
// Always returns 1.
int CM4a1 :: GetItemInfo( ItemInfo* Info )
{
Info->pszName = STRING( pev->classname );
Info->pszAmmo1 = "uranium";
Info->iMaxAmmo1 = M4A1_MAX_AMMO;
Info->pszAmmo2 = NULL;
Info->iMaxAmmo2 = -1;
Info->iMaxClip = 1;
Info->iSlot = 1;
Info->iPosition = 3;
Info->iFlags = 0;
Info->iId = WEAPON_M4A1;
Info->iWeight = M4A1_WEIGHT;
return 1;
}
int CM4A1::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 CM4a1 :: Deploy( )
{
return DefaultDeploy( M4A1_MODEL_1STPERSON,
M4A1_MODEL_3RDPERSON,
M4A1_ANIM_DRAW,
"onehanded" );
}
// PrimaryAttack: called when the user presses the fire button.
void CM4a1 :: PrimaryAttack( )
{
if( m_pPlayer->m_rgAmmo[m_iPrimaryAmmoType] < 1 ) return;
m_pPlayer->SetAnimation( PLAYER_ATTACK1 );
SendWeaponAnim( M4A1_ANIM_SHOOT );
EMIT_SOUND_DYN( ENT( m_pPlayer->pev ),
CHAN_WEAPON,
M4A1_SOUND_SHOOT,
M4A1_SOUND_VOLUME,
ATTN_NORM,
0,
150 );
m_flNextPrimaryAttack = gpGlobals->time + M4A1_FIRE_DELAY;
m_flTimeWeaponIdle = gpGlobals->time + M4A1_FIRE_DELAY;
m_pPlayer->m_rgAmmo[m_iPrimaryAmmoType] --;
UTIL_MakeVectors( m_pPlayer->pev->v_angle + m_pPlayer->pev->punchangle );
Vector GunPosition = m_pPlayer->GetGunPosition( );
}
//void CM4A1::Reload( void )
//{
// DefaultReload( M4A1_MAX_CLIP, M4A1_RELOAD, 1.5 );
//}
void CM4a1 :: WeaponIdle( )
{
if( m_flTimeWeaponIdle > gpGlobals->time ) return;
m_flTimeWeaponIdle = gpGlobals->time + 555.0;
SendWeaponAnim( M4A1_ANIM_IDLE1 );
SendWeaponAnim( M4A1_ANIM_IDLE11 );
}
class CM4A1AmmoClip : 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_M4A1CLIP_GIVE, "9mm", _9MM_MAX_CARRY) != -1);
if (bResult)
{
EMIT_SOUND(ENT(pev), CHAN_ITEM, "items/9mmclip1.wav", 1, ATTN_NORM);
}
return bResult;
}
};
class CM4A1Chainammo : public CBasePlayerAmmo
{
void Spawn( void )
{
Precache( );
SET_MODEL(ENT(pev), "models/w_chainammo.mdl");
CBasePlayerAmmo::Spawn( );
}
void Precache( void )
{
PRECACHE_MODEL ("models/w_chainammo.mdl");
PRECACHE_SOUND("items/9mmclip1.wav");
}
BOOL AddAmmo( CBaseEntity *pOther )
{
int bResult = (pOther->GiveAmmo( AMMO_CHAINBOX_GIVE, "9mm", _9MM_MAX_CARRY) != -1);
if (bResult)
{
EMIT_SOUND(ENT(pev), CHAN_ITEM, "items/9mmclip1.wav", 1, ATTN_NORM);
}
return bResult;
}
};
--------------------Konfiguration: hl - Win32 Profile--------------------
Kompilierung läuft...
m4a1.cpp
C:\Programme\SourceCode\dlls\m4a1.cpp(146) : error C2653: 'CM4A1' : Keine Klasse oder Namespace
C:\Programme\SourceCode\dlls\m4a1.cpp(148) : error C2352: 'CBasePlayerWeapon::AddToPlayer' : Unzulaessiger Aufruf einer nichtstatischen Member-Funktion
C:\Programme\SourceCode\dlls\weapons.h(329) : Siehe Deklaration von 'AddToPlayer'
C:\Programme\SourceCode\dlls\m4a1.cpp(151) : error C2065: 'm_iId' : nichtdeklarierter Bezeichner
Fehler beim Ausführen von cl.exe.
hl.dll - 3 Fehler, 0 Warnung(en)
--
www.GamersScene.de
|