Willkommen ~Gast!
Registrieren || Einloggen || Hilfe/FAQ || Staff
Probleme mit der Registrierung im Forum? Melde dich unter registerEin Bild.
Autor Beitrag
000
19.02.2002, 18:02
Neuling



Ich habe mir Tutorial von DHCC durch gelesen und ausprobiert. Leider funktioniert das irgendwie nicht. Das Sprite kann ich an der angegebenen Stelle sehen, aber wenn ich es anwählen will passiert nix.
Warum????? Kann mir vielleicht jemand sagen wo mein FEHLER liegt?????

#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 m14_e
{
M14_LONGIDLE = 0,
M14_IDLE1,
M14_LAUNCH,
M14_RELOAD,
M14_DEPLOY,
M14_FIRE1,
M14_FIRE2,
M14_FIRE3,
};

class CM14 : public CBasePlayerWeapon
{
public:
void Spawn( void );
void Precache( void );
int iItemSlot( void ) { return 3; }
int GetItemInfo(ItemInfo *p);
int AddToPlayer( CBasePlayer *pPlayer );

void PrimaryAttack( void );
BOOL Deploy( void );
void Reload( void );
void WeaponIdle( void );
float m_flNextAnimTime;
int m_iShell;
private:
unsigned short m_usM14;
};
LINK_ENTITY_TO_CLASS( weapon_m14, CM14 );
LINK_ENTITY_TO_CLASS( weapon_9mmAR, CM14 );

//=========================================================
//=========================================================

void CM14::Spawn( )
{
pev->classname = MAKE_STRING("weapon_9mmAR"); // hack to allow for old names
Precache( );
SET_MODEL(ENT(pev), "models/w_9mmAR.mdl");
m_iId = WEAPON_M14;

m_iDefaultAmmo = MP5_DEFAULT_GIVE;

FallInit();// get ready to fall down.
}

void CM14::Precache( void )
{
PRECACHE_MODEL("models/v_9mmAR.mdl");
PRECACHE_MODEL("models/w_9mmAR.mdl");
PRECACHE_MODEL("models/p_9mmAR.mdl");

m_iShell = PRECACHE_MODEL ("models/shell.mdl");// brass shellTE_MODEL

PRECACHE_MODEL("models/grenade.mdl"); // grenade

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 ("weapons/hks1.wav");// H to the K
PRECACHE_SOUND ("weapons/hks2.wav");// H to the K
PRECACHE_SOUND ("weapons/hks3.wav");// H to the K

PRECACHE_SOUND( "weapons/glauncher.wav" );
PRECACHE_SOUND( "weapons/glauncher2.wav" );

PRECACHE_SOUND ("weapons/357_cock1.wav");

m_usM14 = PRECACHE_EVENT( 1, "events/mp5.sc" );
}

int CM14::GetItemInfo(ItemInfo *p)
{
p->pszName = STRING(pev->classname);
p->pszAmmo1 = "9mm";
p->iMaxAmmo1 = _9mm_MAX_CARRY;
p->pszAmmo2 = NULL;
p->iMaxAmmo2 = -1;
p->iMaxClip = MP5_MAX_CLIP;
p->iSlot = 0;
p->iPosition = 1;
p->iFlags = 0;
p->iId = m_iId = WEAPON_M14;
p->iWeight = M14_WEIGHT;

return 1;
}

int CM14::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 CM14::Deploy( )
{
return DefaultDeploy( "models/v_9mmAR.mdl", "models/p_9mmAR.mdl", M14_DEPLOY, "9mm" );
}

void CM14::PrimaryAttack()
{
// don't fire underwater
if (m_pPlayer->pev->waterlevel == 3)
{
PlayEmptySound( );
m_flNextPrimaryAttack = gpGlobals->time + 0.15;
return;
}

if (m_iClip <= 0)
{
PlayEmptySound();
m_flNextPrimaryAttack = gpGlobals->time + 0.15;
return;
}

PLAYBACK_EVENT( 0, m_pPlayer->edict(), m_usM14 );

m_pPlayer->m_iWeaponVolume = NORMAL_GUN_VOLUME;
m_pPlayer->m_iWeaponFlash = NORMAL_GUN_FLASH;

m_iClip--;

// player "shoot" animation
m_pPlayer->SetAnimation( PLAYER_ATTACK1 );

Vector vecSrc = m_pPlayer->GetGunPosition( );
Vector vecAiming = m_pPlayer->GetAutoaimVector( AUTOAIM_5DEGREES );

if ( g_pGameRules->IsDeathmatch() )
{
// optimized multiplayer. Widened to make it easier to hit a moving player
m_pPlayer->FireBullets( 1, vecSrc, vecAiming, VECTOR_CONE_6DEGREES, 8192, BULLET_PLAYER_MP5, 2 );
}
else
{
// single player spread
m_pPlayer->FireBullets( 1, vecSrc, vecAiming, VECTOR_CONE_3DEGREES, 8192, BULLET_PLAYER_MP5, 2 );
}

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 = m_flNextPrimaryAttack + 0.2;
if (m_flNextPrimaryAttack < gpGlobals->time)
m_flNextPrimaryAttack = gpGlobals->time + 0.2;

m_flTimeWeaponIdle = gpGlobals->time + RANDOM_FLOAT ( 10, 15 );
}

void CM14::Reload( void )
{
DefaultReload( MP5_MAX_CLIP, M14_RELOAD, 1.5 );
}

void CM14::WeaponIdle( void )
{
ResetEmptySound( );

m_pPlayer->GetAutoaimVector( AUTOAIM_5DEGREES );

if (m_flTimeWeaponIdle > gpGlobals->time)
return;

int iAnim;
switch ( RANDOM_LONG( 0, 1 ) )
{
case 0:
iAnim = M14_LONGIDLE;
break;

default:
case 1:
iAnim = M14_IDLE1;
break;
}

SendWeaponAnim( iAnim );

m_flTimeWeaponIdle = gpGlobals->time + RANDOM_FLOAT ( 10, 15 );// how long till we do this again.
}

class CM14AmmoClip : 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_M14CLIP_GIVE, "9mm", _9mm_MAX_CARRY) != -1);
if (bResult)
{
EMIT_SOUND(ENT(pev), CHAN_ITEM, "items/9mmclip1.wav", 1, ATTN_NORM);
}
return bResult;
}
};
LINK_ENTITY_TO_CLASS( ammo_mp5clip, CM14AmmoClip );
LINK_ENTITY_TO_CLASS( ammo_9mmAR, CM14AmmoClip );

class CM14Chainammo : 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;
}
};
LINK_ENTITY_TO_CLASS( ammo_9mmbox, CM14Chainammo );

--

zum Seitenanfang zum Seitenende Profil || Suche
001
19.02.2002, 18:05
Retro



lalalala

--

shielding people from their own stupidity is an evolutionary step backwards anyway.

/* God is dead!............Nietzsche */
/* Nietzsche is dead!......God */
/* Nietzsche is God!.......The Dead */

zum Seitenanfang zum Seitenende Profil || Suche
002
19.02.2002, 18:09
CabaL



das liegt nicht an deiner m4.cpp.
schau halt mal wo das mit der sprite festgelegt ist und fixe dein prob, wenn du kein c++ kannst und nicht weiss was zu tun, dann lern lieber erst c++
@retro das war aber spam >:/

--

..::I've carved my soul to shreds in service of the Cabal. What little humanity I retain is corrupted by the Beast, which has grown stronger with every life I've taken::.

zum Seitenanfang zum Seitenende Profil || Suche
003
19.02.2002, 18:33
Retro



Das sollte eher pure Ignoranz ausdrücken...

--

shielding people from their own stupidity is an evolutionary step backwards anyway.

/* God is dead!............Nietzsche */
/* Nietzsche is dead!......God */
/* Nietzsche is God!.......The Dead */

zum Seitenanfang zum Seitenende Profil || Suche
004
19.02.2002, 18:34
CabaL



ja cih weiss, ist schon etwas frech son riesenstück code hier reinzuposten, aber sehs doch so: wir alle haben klein angefangen, und viele sind es noch(/me) :)

--

..::I've carved my soul to shreds in service of the Cabal. What little humanity I retain is corrupted by the Beast, which has grown stronger with every life I've taken::.

zum Seitenanfang zum Seitenende Profil || Suche
005
19.02.2002, 18:43
Neuling



Wie meinst du das mit der sprite????????????????

--

zum Seitenanfang zum Seitenende Profil || Suche
006
19.02.2002, 18:45
CabaL



ich nehm mal an das hier der fehler liegt:
Quellcode:
p->iSlot = 0;
p->iPosition = 1;

änder es in:
Quellcode:
p->iSlot = 4;
p->iPosition = 3;

dann sollte es klappen

--

..::I've carved my soul to shreds in service of the Cabal. What little humanity I retain is corrupted by the Beast, which has grown stronger with every life I've taken::.

zum Seitenanfang zum Seitenende Profil || Suche
007
19.02.2002, 20:55
Neuling



funtioniert nicht
Jetzt habe ich nochnicht mal ein sprite

--

zum Seitenanfang zum Seitenende Profil || Suche
008
19.02.2002, 21:00
Erasor



Haste ne txt Datei für deine Waffe angelegt ?

--

zum Seitenanfang zum Seitenende Profil || Suche
009
19.02.2002, 21:06
Neuling



ja habe ich, es kommen auch keine fehler wenn ich alles compiliere (KOMMISCHES WORT ) ich bekomm sie einfach nicht.

--

zum Seitenanfang zum Seitenende Profil || Suche
010
19.02.2002, 21:12
Exec



geb mal in die console "give weapon_m14" ein! meistens bekommt man die dann auch .... schreib dann mal, obs ging, ob fehler kamen, etc

--

"selbermachen rockt am meisten :D" - -LeJean-

zum Seitenanfang zum Seitenende Profil || Suche
011
19.02.2002, 21:25
Neuling



als ich den befehl eingab kamm so ein klicken als würde man die waffe aufheben, aber haben tu ich sie immer noch nicht.

--

zum Seitenanfang zum Seitenende Profil || Suche
012
19.02.2002, 21:55
Neuling



ich wollt nur mal sagen das ich es geschafft hab.
der fehler lag in der m14.cpp

--

zum Seitenanfang zum Seitenende Profil || Suche