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



Hi!
Ich will, dass wenn man auf dem Secondary Fire Knopf drückt, dass dann permanent Munition abgezogen wird! Das wird man wohl mit ner Think Funktion machen!
Also ich habs so gemacht:

Quellcode:
void CVibro::SecondaryAttack()
{
    if(Active)
        Active = false;

    else
        Active = true;

    m_flNextSecondaryAttack = gpGlobals->time + 0.5;
}

void CVibro::AmmoWaste( void )
{
    if(Active)
        m_pPlayer->m_rgAmmo[m_iPrimaryAmmoType] -= 2;

    ALERT(at_console, "halao");

    pev->nextthink = gpGlobals->time + 5.0;
}

Aufgerufen wird die Funktion hier:

Quellcode:
void CVibro::Spawn( )
{
    Precache( );
    m_iId = WEAPON_VIBRO;
    SET_MODEL(ENT(pev), "models/w_vibrodagger.mdl");
    m_iClip = -1;

    SetThink( &CVibro::AmmoWaste );

Man sollte doch meinen, dass immer diese Ausgabe aufgerufen wird....das wird sie aber nicht!
Kein einziges mal!

thx
Matze

--

BattleTech-MOD:
http://bthl.unitedgaming.net/

zum Seitenanfang zum Seitenende Profil || Suche
001
27.03.2002, 19:37
TheTinySteini



Soll der SecondaryAttack sozusagen als Schalter dienen? Also Klick->loslassen->Munition wird abgezogen->Klick->loslassen->Keine Munitionsverschwendung mehr?
Falls nicht, würd ich die Abfrage nämlich direkt in die SecondaryAttack bauen.
Das &CVibro:: bei SetThink( &CVibro::AmmoWaste ); würd ich wegnehmen.

--

TheTinySteini
Coder Poke646
"Don't Panic" - Hitchhiker's Guide to the Galaxy

zum Seitenanfang zum Seitenende Profil || Suche
002
27.03.2002, 19:41
Exec



vibro *lol* naja egal :)

also was thevoice schon gesagt hat, ich würd das &CVIBRO:: weglassn ...

--

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

zum Seitenanfang zum Seitenende Profil || Suche
003
28.03.2002, 12:24
Mazze



Zitat:
da_EXE postete
was thevoice schon gesagt hat...[/i]

Ahm.....bei mir hat TheVoice noch gar nicht geantwortet....

Ja gut.... das &CVibro:: muss eigentlich hin!
Das hat ja Valve aus faulheitsgründen weggelassen!

Wenn ihr wollt mach ich es weg....

Ja, genau TTT! Wie ein Schalter soll das sein! Natürlich wird der Schaden, den er verursacht auch größer, sonst wärs ja unlogisch!

PS: Vibro......ja! Das ist nicht das was ihr denkt! ;)
Das kommt aus BattleTech (siehe Sig)! Genauer heißt das Ding Vibrodolch oder Vibrokanta!

EDIT:
Ich habs grad getestet ohne das &CVibro::
Keine Veränderung!

--

BattleTech-MOD:
http://bthl.unitedgaming.net/


Dieser Beitrag wurde am 28.03.2002 um 13:33 von Mazze bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
004
28.03.2002, 15:04
Exec



*lol* ich meinte natürlich ttt -> war gestern down *lol* sorry .... fangen bei mit "the" an ... naja :)

--

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

zum Seitenanfang zum Seitenende Profil || Suche
005
28.03.2002, 17:47
TheTinySteini



Also, dann würd ich das so machen:

Quellcode:void CVibro::SecondaryAttack()
{
   if( !active )
   {
      active = true;
      SetThink( AmmoWaste );
      pev->nextthink = gpGlobals->time; // ersten ammo-happen jetzt gleich sofort verbrauchen
   } else {
      active = false;
      SetThink( NULL );
   }
   m_flNextSecondaryAttack = glGlobals->time + 0.5;
}

void CVibro::AmmoWaste( void )
{
   m_pPlayer->m_rgAmmo[m_iPrimaryAmmoType] -= 2;  
   pev->nextthink = gpGlobals->time + 5.0;
}

--

TheTinySteini
Coder Poke646
"Don't Panic" - Hitchhiker's Guide to the Galaxy

zum Seitenanfang zum Seitenende Profil || Suche
006
03.04.2002, 23:44
Mazze



hab den Thread fast vergessen.....

Also DANKE für die Ausführliche Lösung!
Scheint zu funktionieren!

--

BattleTech-MOD:
http://bthl.unitedgaming.net/

zum Seitenanfang zum Seitenende Profil || Suche