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



moin moin

so ich hab mir mal nen neues item im "longjump"-stil gemacht ....

class CAmmoItem : public CItem
{
void Spawn( void )
{
Precache( );
SET_MODEL(ENT(pev), "models/can.mdl");
CItem::Spawn( );
}
void Precache( void )
{
PRECACHE_MODEL ("models/can.mdl");
PRECACHE_SOUND ("capture.wav");
}
BOOL MyTouch( CBasePlayer *pPlayer )
{
/*if ( pPlayer->m_fLongJump )
{
return FALSE;
}*/

if ( ( pPlayer->pev->weapons & (1<<WEAPON_SUIT) ) )
{
pPlayer->m_fAmmoItem = TRUE;// player now has longjump module

//g_engfuncs.pfnSetPhysicsKeyValue( pPlayer->edict(), "slj", "1" );

EMIT_SOUND_DYN(ENT(pPlayer->pev), CHAN_ITEM, "capture.wav", 1, ATTN_NORM, 0, 94 + RANDOM_LONG(0,0xf));

MESSAGE_BEGIN( MSG_ONE, gmsgItemPickup, NULL, pPlayer->pev );
WRITE_STRING( STRING(pev->classname) );
MESSAGE_END();

EMIT_SOUND_SUIT( pPlayer->edict(), "!HEV_A1" ); // Play the longjump sound UNDONE: Kelly? correct sound?
return TRUE;
}
return FALSE;
}
};

LINK_ENTITY_TO_CLASS( item_ammoitem, CAmmoItem );

so, geht auch wunderbar, hab mal getestet, damit longzujumpen, geht auch (natürlich muss ich da g_engfuncs.... entkommentieren :)) ...

so, nun wollt ich, das der player, der das item aufhebt ammo bekommt ....

mit pPlayer->m_rgAmmo[m_iPrimaryAmmoType]++; gehts nich, weil m_iPrim... nich declariert is .... so hab ich gedacht, machen wir das halt mal inner waffen.cpp ...

void CShotgun::GetAmmo()
{
if( m_fAmmoItem = TRUE )
{
m_pPlayer->m_rgAmmo[m_iPrimaryAmmoType]++;
}
else
{
PlayEmptySound( );
return;
}
}

ober natürlich noch gevoidet ... und BOOL m_fAmmoItem; -> passiert aba ingame nix ..

ich nehme mal ganz stark an, das das in der waffen.cpp geboolte fAmmoItem nich das selbe is, wie das ausser items.h .... wie verweis ich dahin, oder wie mach ich das im allgemeinen?!

thx

--

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

zum Seitenanfang zum Seitenende Profil || Suche
001
13.03.2002, 18:54
Killing Me Softly



Also wenn, dann würde ich alles erstmal in die MyTouch-Funktion klatschen.

1. Beispiel: du möchtest, das der Spieler eine bestimmte Munitionsart aufnimmt
statt
Quellcode:
pPlayer->m_fAmmoItem = TRUE;

schreibst du
Quellcode:
pPlayer->GiveAmmo( 125, "_9mm", 125 ); //als Beispiel

2. Beispiel: du möchtest, das der Spieler Munition bekommt für die Waffe, die er gerade in der Hand hält
Quellcode:

if (m_pPlayer->m_pActiveItem && m_pPlayer->m_pActiveItem->PrimaryAmmoIndex()>=0)
m_pPlayer->m_rgAmmo[m_pPlayer->m_pActiveItem->PrimaryAmmoIndex()]+=10;

(sollte funktionieren, hab's nicht getestet).

--

Der Horizont vieler Menschen ist ein Kreis mit Radius Null - und das nennen sie ihren Standpunkt.


Dieser Beitrag wurde am 13.03.2002 um 18:54 von Killing Me Softly bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
002
13.03.2002, 18:58
Mexil



In deiner Shotguncode, greifst du auf m_fAmmoItem zu, diese Variabel bezieht sich auf CSHOTGUN, da du ja keine Klasse davor angefuehrt hast!! Aber die m_fAmmoItem Variabel hat du ja fuer den Player gesetzt! Du muesstest das umschreiben in

if(m_pPlayer->m_fAmmoItem == TRUE)

Wenn ich das richtig verstanden hab...

EDIT -> Das mit dem Ammotype duerfte eigentlich egal sein... muesste so wie er das oben hat eigentlich auch funktionieren!

--


Move In!

VISIT US Move In!


Dieser Beitrag wurde am 13.03.2002 um 18:59 von Mexil bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
003
13.03.2002, 19:02
Exec



gut, ich werds nachher gleich mal testen!

thx

--

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

zum Seitenanfang zum Seitenende Profil || Suche
004
13.03.2002, 19:05
Mexil



Aber ich versteh eh nicht ganz, wie du das Ding vor hast aufzurufen! Also die GetAmmo Funktion....

--


Move In!

VISIT US Move In!

zum Seitenanfang zum Seitenende Profil || Suche
005
13.03.2002, 19:15
Exec



ich auch nich *g* war halt son gedanken-sprung ... theoreisch müsste ich da noch ne think-fkt reinhaun ... aba ich probiers mal nach eure variante ...

--

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

zum Seitenanfang zum Seitenende Profil || Suche
006
13.03.2002, 19:48
Mexil



Also eine Ahnung davon was machen vor hat und wie man das vorhat, sollte man eigentlich schon vorhaben, bevor man sowas anfaengt*gg* sonst kann das ja nicht viel werden....

--


Move In!

VISIT US Move In!

zum Seitenanfang zum Seitenende Profil || Suche
007
13.03.2002, 20:02
Exec



jo *G*

also so, wie ihr beschrieben habt gehts ...

nur eines wird mir nich klar ... der will einfach nich annehmen, das pPlayer->m_fAmmoItem jetzt TRUE is ....

ich hab mal nur so aus test inne waffe reingehaun:

if ( m_pPlayer->m_fAmmoItem = TRUE )
{
schiesst schneller, als normal (bin jetzt zu faul, das zu kopieren ..)
}
else
{
schiesst normal
}

nur, das will er nich!
wenn ich das aber mit pPlayer->exp_level = 3; //nur als bsp mache, dann gehts .... obwohl er dann ganz komisch zuckt, beim schiessen .... (also, wien schnelles, ungleichmäßiges schiessen)

woran könnte das liegen?

ps: hab in der player.cpp auch unten bei spawn mal m_fAmmoItem = FALSE; reingehaun, ohne wirkung ....

--

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

zum Seitenanfang zum Seitenende Profil || Suche
008
13.03.2002, 20:15
Mexil



Hast du evtl. unten in deiner PA Funktion noch deine alte m_flNextPrimaryAttack = xxx; drin gelassen? Versuch das Ding doch mal zu debuggen, ob der die Ifschleife wirklich correkt durchgeht... oder geb den Wert von m_flAmmoItem aus....

Was hast du denn jetzt geaendert? Das was ich dir gesagt hatte oder das von KMS?

--


Move In!

VISIT US Move In!

zum Seitenanfang zum Seitenende Profil || Suche
009
13.03.2002, 20:23
Exec



so wies kms gemacht hat ... ok, ich debug das vieh morgen mal, hab jetzt kein bock mehr drauf, muss jetzt zocken :)

--

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

zum Seitenanfang zum Seitenende Profil || Suche
010
16.03.2002, 11:22
[GOD]ShadowLord



if ( m_pPlayer->m_fAmmoItem = TRUE )
???
du meinast sicher
if ( m_pPlayer->m_fAmmoItem == TRUE )

--

they come in peace - and go in pieces

zum Seitenanfang zum Seitenende Profil || Suche