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



Moinsen

Gibt es eigentlich eine Funktion mit der man festellen kann wieviel ammo man für eine waffe hat? Wenn ja wo?
Z.b so ähnlich wie die HasNamedPlayerItem Funktion?
Mit der kann ich abfragen ob man die waffe hat oder nicht.
Dies jetzt halt nur für Ammo

Vielen Dank schon mal im Voraus

Viele grüße Duffy

--

zum Seitenanfang zum Seitenende Profil || Suche
001
25.01.2002, 17:31
[RMen]OneStone



Also nur soviel:
- Jede Waffe hat Munition
- Jede Waffe ist von CBaseWeapon abgeleitet
- In der CBaseWeapon gibt es einen int m_iClip
- In jeder PrimaryAttack der MP5 steht m_iClip--;

Daraus folgt:
Quellcode:
{
CBaseWeapon *p_Weapon = (...); //Hol dir den Pointer auf deine Waffe...
p_Weapon->m_iClip = 100;           //Setze Ammo auf 10
}

--

georg-wicherski@pixel-house.net | http://www.pixel-house.net/ - Coding Resource| http://www.google.de/


Dieser Beitrag wurde am 25.01.2002 um 17:32 von [RMen]OneStone bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
002
25.01.2002, 19:55
Killing Me Softly



Zitat:
[RMen]OneStone postete
...In jeder PrimaryAttack der MP5 steht m_iClip--;...
[/code]

Wieviel PrimaryAttacks hat den die MP5? *g*

Und damit der Post nicht ganz so sinnlos ist. In m_iClip steht nicht die Gesamtanzahl, sondern nur, wieviel noch im Magazin ist.

Jeder Spieler hat ein Array, in dem die Gesamtanzahl (abzüglich dem, was sich im Magazin befindet) gespeichert ist (CBasePlayer::m_rgAmmo[]). Die Waffe selbst hat eine (genauergenommen 2) Variablen, wo der Index der Munition vermerkt ist (CBaseWeapon::m_iPrimaryAmmoType bzw. CBaseWeapon::m_iSecondaryAmmoType).

Die Gesamtanzahl errechnet sich also aus:
m_iClip + m_pPlayer->m_rgAmmo[m_iPrimaryAmmoType]

--

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

zum Seitenanfang zum Seitenende Profil || Suche