Willkommen ~Gast!
Registrieren || Einloggen || Hilfe/FAQ || Staff
Probleme mit der Registrierung im Forum? Melde dich unter registerEin Bild.
Autor Beitrag
000
08.05.2001, 15:37
Lorkes



Hallo, ich wollte die MP5 so verändern, dass sie die selbe Munition wie die Egon/Gauss verwendet, Laserstrahlen statt Patronen schiesst und nicht mehr nachgeladen werden muss. Bis jetzt habe ich neue Sounds eingebunden (hat geklappt :), den Streufaktor veringert (hab keine auswirkungen gesehen) und die Schussfrequenz verringert (klappte auch *freu*). Jetzt macht meine Munitionsanzeige im Hud lustige Sachen. Am Anfang sieht alles normal aus, Sekondary Ammo (grenade Launcher) wird nicht angezeigt (hab ich deaktiviert) und nur ein Munitionstyp wird angezeigt (also kein Clip). Sobald ich aber anfange zu schiessen gehen meine clip Schüsse rauf und die eigentliche Munition bleibt unverändert. Sie gehen dann bis zum Limit 128 und dann wieder runter. Endlosschleife (natürlich nur wenn ich schiesse). Wie kommt das? Ich habe folgende Änderungen vorgenommen:

weapons.h

vorher
nacher

#define URANIUM_MAX_CARRY 100
#define URANIUM_MAX_CARRY 200

#define MP5_MAX_CLIP 50
#define MP5_DEFAULT_AMMO 25
#define MP5_MAX_CLIP WEAPON_NOCLIP
// #denine MP5_DEFAULT_AMMO gelöscht

#define MP5_DEFAULT_GIVE 25
#define MP5_DEFAULT_AMMO 25
#define MP5_DEFAULT_GIVE 50
// #define MP5_DEFAULT_AMMO gelöscht

#define AMMO_URANIUMBOX_GIVE 20
#define AMMO_URANIUMBOX_GIVE 50

mp5.cpp

int CMP5::GetItemInfo(ItemInfo *p)
{
p->pszName = STRING(pev->classname);
p->pszAmmo1 = "uranium";
p->iMaxAmmo1 = URANIUM_MAX_CARRY;
p->pszAmmo2 = "NULL";
p->iMaxAmmo2 = -1;
p->iMaxClip = MP5_MAX_CLIP;
p->iSlot = 2;
p->iPosition = 0;
p->iFlags = 0;
p->iId = m_iId = WEAPON_MP5;
p->iWeight = MP5_WEIGHT;

return 1;
}

So, das wars glaube ich. Kann hieraus jemand einen Fehler erkennen?

--

zum Seitenanfang zum Seitenende Profil || Suche
001
08.05.2001, 16:56
Hanky



Habe die selben fehler...deshalb auch schonmal gefragt.. das mit den 200 geht bei mir leider auch nicht..

..schau mal in meinem Thread Magazingrössenbegrenzung, da waren Tipps! (nicht von mir!! :))

(das mit dem iMaxAmmo2 usw kannst ganz killen.. den SecondaryAttack auch..

nur mal so als Info!

--

hankYs Page

zum Seitenanfang zum Seitenende Profil || Suche
002
08.05.2001, 16:57
Firo9



den ersten fehler sehe ich hier
p->pszAmmo2 = "NULL";
das muss p->pszAmmo2 = NULL; heißen sonst ist es ein string, tut hier aber nix zur sache.
du hast MP5_MAX_CLIP 2x defniert einmal mit 50 schussclip einmal ohne clip...
und alles andere auch 2x definiert...
und du soltest überprüfen ob in deiner primaryattack
m_pPlayer->m_rgAmmo[m_iPrimaryAmmoType] -= X;
steht statt
m_iClip--; oder so ähnlich

--

cya,
Firo9

zum Seitenanfang zum Seitenende Profil || Suche
003
08.05.2001, 17:39
Lorkes



Danke, aber das mit der doppelten hab ich als Vorher->Nachher dingens gemeint. Natürlich habe ich es nicht doppelt definiert.

[edit]

Ich glaub die Zeile, die du meinst ist diese:

if (!m_iClip && m_pPlayer->m_rgAmmo[m_iPrimaryAmmoType] <= 0)
// HEV suit - indicate out of ammo condition

So sieht sie bei mir aus.

--

zum Seitenanfang zum Seitenende Profil || Suche