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



Also ich poste erstma den Code :

In der blood.cpp, die sich in der cl_dll befindet !
Quellcode:
#include "hud.h"
#include "cl_util.h"
#include "parsemsg.h"
#include <string.h>
#include <stdio.h>

#define MIN_BLOOD 0 // minimaler Bloodwert
#define MAX_BLOOD 100 // maximaler Bloodwert

DECLARE_MESSAGE(m_Blood, Blood)

int CHudBlood::Init(void)
{
HOOK_MESSAGE(Blood);
gHUD.AddHudElem(this);

return 1;
};


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


int CHudBlood::MsgFunc_Blood(const char *pszName,  int iSize, void *pbuf )
{
BEGIN_READ(pbuf, iSize);

   Blood = READ_SHORT();

m_iFlags |= HUD_ACTIVE;
  
return 1;
}


int CHudBlood::Draw(float flTime)
{
   int r,g,b;
   r = 255;
   g = 0;
   b = 0;
  
   if (Blood < MIN_BLOOD) // nur zwischen MIN_BLOOD...
Blood = MIN_BLOOD;
else if (Blood > MAX_BLOOD) // ...und MAX_BLOOD
Blood = MAX_BLOOD;

char string[3]; // Ein String mit 3 Zahlen

_itoa(Blood, string, 10); // Integer "Blood" wird in den String "string" kopiert

gHUD.DrawHudString(ScreenWidth-200, ScreenHeight/2+200, ScreenWidth, "Blood:", r, g, b);
gHUD.DrawHudString(ScreenWidth-140, ScreenHeight/2+200, ScreenWidth, string, r, g, b);

   return 1;
}

In der player.cpp

Quellcode:
void CBasePlayer::AddBlood(float Blood)
{
m_flBloodAmount += Blood;

if (m_flBloodAmount < MIN_BLOOD) // nur zwischen MIN_BLOOD...
m_flBloodAmount = MIN_BLOOD;
else if (m_flBloodAmount > MAX_BLOOD) // ...und MAX_BLOOD
m_flBloodAmount = MAX_BLOOD;

MESSAGE_BEGIN(MSG_ONE, gmsgBlood, NULL, pev); // Die Nachricht an den Client senden
WRITE_SHORT(m_flBloodAmount);
MESSAGE_END();
}

So nun das Prob :

Alles wird fehlerfrei compiled nur das funxt irgendwie dann nicht ! Das HUD Element bird nicht angezeigt ! Aber warum ? Scheint doch alles richtig zu sein ! Hab alles nach dem Geldanzeige im HUD Tut von DHCC gemacht !

Waran kann das liegen ?

THX 2 ALL

--

zum Seitenanfang zum Seitenende Profil || Suche
001
10.10.2001, 17:56
Mazze



Was willst du denn machen?
eine Zahl im HUD ausgeben?
Dann würde ich das nicht in einen string konvertieren sondern einfach die zahl ausgeben!

--

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

zum Seitenanfang zum Seitenende Profil || Suche
002
10.10.2001, 18:27
The_Overmind



du must bei int r,g,b; noch ein a einsetzen. Das is der Alpha Wert.

also
Quellcode:
int r,g,b,a;

und vielleicht
Quellcode:
a = 180; //kannst 180 in alles umändern wie du es willst

zwischen a = 180; und dem DrawString kommt dann noch:

Quellcode:
ScaleColors( r, g, b, a );

So mach ich das immer und das funzt.
Kann natürlich sein daß Mazze recht hat, das du die Zahl nicht in einen String konvertieren, sondern einfach so ausgeben solltest.

--

zum Seitenanfang zum Seitenende Profil || Suche
003
10.10.2001, 20:34
Killing Me Softly



Der einzige Fehler, der mir auffällt, ist
Quellcode:
char string[3]; // Ein String mit 3 Zahlen

da passen zwar 3 Ziffern rein, aber kein abschließendes Null-Byte. Also:

Quellcode:
char string[4]; // Ein String mit 3 Zahlen

Ansonsten geb ich dir recht, eigentlich müsste es funzen. Sicher, dass 'void CBasePlayer::AddBlood(float Blood)' aufgerufen wird?

--

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

zum Seitenanfang zum Seitenende Profil || Suche
004
10.10.2001, 23:47
Lephro



ja 100 %

THX 2 ALL

--

zum Seitenanfang zum Seitenende Profil || Suche
005
11.10.2001, 00:31
SAugSTelle



oho der fehler war das lephro inner server dll m_flBloodAmount verschickt aber inner cleint dll m_Blood ausgeben wollte.. ;D zumindest hab ich mal (den mod machen wir zusammen aber bisher hatet lephro alles gecodet und mir das mal geschickt) alle m_Blood in m_flBloodAmount geendert da gings ^^

--

zum Seitenanfang zum Seitenende Profil || Suche
006
11.10.2001, 00:34
Lephro



haaa gut haste mir ja geschrieben THX

THX 2 ALL

--

zum Seitenanfang zum Seitenende Profil || Suche
007
11.10.2001, 15:15
Lephro



Hmmm wenn ich alle

m_blood in m_flBloodAmount umbennene funxt das trozdem nicht !

THX 2 ALL

--

zum Seitenanfang zum Seitenende Profil || Suche
008
11.10.2001, 15:26
Lephro



Stimmen den die Koordinaten ?

Ach und Overmind ? Wie meinste dat kannst mir ma bitte bitte ein beispiel geben !?

THX 2 ALL

--

zum Seitenanfang zum Seitenende Profil || Suche
009
11.10.2001, 22:49
Lephro



Hmmm .........

Kann mir irgendwer bitte ein Beispiel für sowas geben ich check das nämlich end nicht !

--

zum Seitenanfang zum Seitenende Profil || Suche
010
11.10.2001, 23:04
Basiror



es gibt ne function drawhudnumber schau mal in der hud .h nach ich glaubeda findest du sie

r= red
g= green
b= blue
a= alpha
alpha = 0 ist ganz durchsichtig
alpha=255 is ganz undurchsichtig
du hast zb ein bild und da 4 channels
r g b a
und der alpha wird entsprechend deinem alpha wert transparent gerendert

--

Basiror's Labs Game-Development page

Hifle in form von Tutorials, Artikeln und anderem wird dankbar angenommen

zum Seitenanfang zum Seitenende Profil || Suche