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



Hiho Leutz,
Hab mir vor kurzen das Money-Tutorial von resourcecode.de zu Herzen genommen, ein paar kleinere Änderungen dran vorgenommen und dann als Energie-Eigenschaft implementiert. Mein Problem ist nun dass das nun nicht angezeigt wird. Weiss jemand woran das liegen könnte? Wie gesagt ist zu 90% identisch mit dem aus dem Money Tutorial.

--

zum Seitenanfang zum Seitenende Profil || Suche
001
28.04.2004, 19:12
Onkel Dittmeyer



Code her.

--

zum Seitenanfang zum Seitenende Profil || Suche
002
28.04.2004, 20:20
Pharao2k



energy.cpp:
Quellcode:#include "hud.h"
#include "cl_util.h"
#include "parsemsg.h"
#include <string.h>
#include <stdio.h>

#define MIN_MONEY 0
#define MAX_MONEY 100

DECLARE_MESSAGE(m_Energy, Energy)

int CHudEnergy::Init(void)
{
    HOOK_MESSAGE(Energy);
    gHUD.AddHudElem(this);

    this->m_iEnergy = 80;
    this->m_fFade = 0;

    return 1;
};

int CHudEnergy::VidInit(void)
{
    return 1;
};

int CHudEnergy::MsgFunc_Energy(const char *pszName,  int iSize, void *pbuf )
{
    BEGIN_READ(pbuf, iSize);
    
      m_iEnergy = READ_SHORT();

    m_iFlags |= HUD_ACTIVE;
  
    return 1;
}

void CHudEnergy::GetEnergy(int Energy)
{
    m_iEnergy += Energy;
}

int CHudEnergy::Draw(float flTime)
{

    int r, g, b, x, y, a;

    UnpackRGB(r,g,b, RGB_YELLOWISH);

    a = 100;

    ScaleColors(r, g, b, a );

            y = ScreenHeight - 110;
            for (int itempx = 1 ; itempx <= m_iEnergy / 10; itempx++)
            {
                x = 10 + itempx * 25; //10 blöcke à 50px mit 5px Abstand
                FillRGBA(x, y, 20, 20, r, g, b, a);
            }
            FillRGBA(33,y-2,2+(10*25)-2,1,r,g,b,a); // Oberer Balken
            FillRGBA(33,y+22,2+(10*25)-2,1,r,g,b,a); // Unterer Balken
            FillRGBA(33,y-2,1,24,r,g,b,a); // Linker Balken
            FillRGBA(33+2+(10*25)-3,y-2,1,24,r,g,b,a); // Rechter Balken
            FillRGBA(100,100,100,100,128,128,128,128);
            gHUD.DrawHudNumber(40+(10*25), y, DHN_3DIGITS | DHN_DRAWZERO, m_iEnergy, r, g, b);

    return 1;
}

hud.h:
Quellcode:class CHudEnergy : public CHudBase
{
public:
      int Init(void);
      int VidInit(void);
      int Draw(float flTime);
      int MsgFunc_Energy(const char *pszName,  int iSize, void *pbuf );
      void GetEnergy(int Energy);

private:
      int m_iEnergy;
      float m_fFade;
};
Quellcode:(Zeile 632)
    CHudEnergy            m_Energy;
hud.cpp:
Quellcode:(Zeile 341)
    m_Energy.Init();
Quellcode:/Zeile 490)
    m_Energy.VidInit();
das sind die änderungen in der cl_dll, ich hab zwar noch ein paar neue variablen und so in der hl.dll, aber das hat ja nix mit dem zu tun dass es nicht angezeigt wird.

--

zum Seitenanfang zum Seitenende Profil || Suche
003
28.04.2004, 21:26
Killing Me Softly



Ich muss gestehen, das ich mir die Draw-Funktion nicht im Detail angesehen habe. Laut deinem ersten Post siehst du nix, rein gar nix, nichtmal ansatzweise - richtig? Falls ja, bist du dir sicher, das du überhaupt ne Message vom Server schickst (ohne die wird nämlich nix angezeigt). Setzt testweise einfach mal das m_iFlags |= HUD_ACTIVE; in CHudEnergy::Init() rein.

--

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

zum Seitenanfang zum Seitenende Profil || Suche
004
28.04.2004, 22:53
Pharao2k



ok nu funzt es, vielen dank ^^

--

zum Seitenanfang zum Seitenende Profil || Suche