Seite 1 von 1

Armor und Health anzeigen beim Crosshair Over anzeigen

Verfasst: 23.06.2009, 09:46
von nobody-no
Hi,

Ich bin dabei ein Quake3 Mod zu schreiben und komme bei einer Sache nicht weiter. Ich möchte es gerne so hinbekommen, das wenn ich mit dem Crosshair auf einen Player zeige, nicht nur der Name sondern auch Health und Armor angezeigt wird. Ich nutze diesen Code in der cg.draw.c ( CG_DrawCrosshairNames )

if (cgs.clientinfo[cg.crosshairClientNum].health){
playerstat = va("Health: %i Armor: %i",
cgs.clientinfo[ cg.crosshairClientNum ].health,
cgs.clientinfo[ cg.crosshairClientNum ].armor);
w = CG_DrawStrlen( playerstat ) * SMALLCHAR_WIDTH;
CG_DrawSmallString( 320 - w / 2, 190, playerstat, color[3] * 0.5 );
}

Im TDM Modus klappt es einwandfrei, aber im FAA Modus wird nichts angezeigt. Ich habe anstelle von playerstat auch stats, singelstat und vieles mehr versucht aber es funktioniert nicht.


Bei diesem Code hier

cgs.clientinfo[cg.crosshairClientNum].health;
playerstat = va("Health: %i Armor: %i",
cgs.clientinfo[ cg.crosshairClientNum ].health,
cgs.clientinfo[ cg.crosshairClientNum ].armor);
w = CG_DrawStrlen( playerstat ) * SMALLCHAR_WIDTH;
CG_DrawSmallString( 320 - w / 2, 190, playerstat, color[3] * 0.5 );


Sieht man im FFA Modus unter dem Crosshair Health und Armor, aber die Health und Armor anzeige funktioniert nicht. Entweder steht hinter Health und Armor 0 oder irgendein anderer falscher Wert, der nicht funktioniert.

Im TDM Modus klappt alles einwandfrei, aber im FFA da wo es klappen sollte, bekomme ich es einfach nicht hin.

Vielleicht weiss ja jemand Rat hier.

Danke

Grüsse :)

Verfasst: 23.06.2009, 11:12
von Roughael
wer lesen kann is klar im vorteil.
folgendes steht im code:
int health; // you only get this info about your teammates

such mal nach CG_ParseTeamInfo, das dürfte dir weiterhelfen.

Verfasst: 23.06.2009, 11:27
von nobody-no
Danke Dir

Verfasst: 23.06.2009, 18:55
von nobody-no
Hi,

ich habe bis jetzt schon viel selber hinbekommen, aber hier komme ich nicht weiter. Ich habe mir die Zeile CG_ParseTeamInfo in cg_servercmds genaustens angeschaut und alles mögliche versucht inkl. If bedingungen neuen Commands, aber ich komme nicht weiter.

Würdest Du mir noch ein bischen helfen? Das wäre sehr nett von Dir.
Kannst Dir ja wenn Du lust hast mein Mod mal testen. Ich habe komlett neue Sounds eingefügt, selber zusammen gemixt und vieles mehr. Die Client PK3 findest Du auf http://www.quake3.kilu.de.

Danke Dir

Grüsse

Verfasst: 23.06.2009, 20:28
von Roughael
mit der funktion selber wirst du nicht weiterkommen, diese wird nur für teamgames ausgeführt und es sind auch nur für teamspieler daten vorhanden.
du musst simpel gesagt mit trap_SendServerCommand deine benötigten daten an den clienten senden, und beim clienten in CG_ServerCommand die daten wieder einsammeln und auswerten.

Verfasst: 23.06.2009, 20:35
von nobody-no
Danke Dir. Muss ich die Befehle in die cg.draw.c ( CG_DrawCrosshairNames ) schreiben?

Grüsse