Willkommen ~Gast!
Registrieren || Einloggen || Hilfe/FAQ || Staff
Probleme mit der Registrierung im Forum? Melde dich unter registerEin Bild.
Autor Beitrag
000
01.11.2003, 23:27
Thrillhouse



also ich hab jetzt das nightvision-tutorial von resourcecode.de
durchgeackert und läuft auch soweit ganz gut jetzt hab ich nur
folgendes problem. beim ChangeLevel fadet der bildschirm wieder
von (bei mir jetzt) rot auf normal. scheinbar wird beim changelevel
nicht mehr die CBasePlayer::Spawn nicht mehr aufgerufen. deshalb
würde mich interessiern welche funktion aufgerufen wird nach dem
changelevel...

Cu Thrill

--

zum Seitenanfang zum Seitenende Profil || Suche
001
02.11.2003, 00:05
[RMen]OneStone



Doch wird sie, der Status wird aber nicht gespeichert.
Wie speichert man den Status? Da sing genug Beispiele im Code (hint: savedata, definefield).

--

georg-wicherski@pixel-house.net | http://www.pixel-house.net/ - Coding Resource| http://www.google.de/

zum Seitenanfang zum Seitenende Profil || Suche
002
02.11.2003, 01:11
Thrillhouse



also hier hab ich das ganze zur den variablen hinzugefügt um diese
für den levelwechsel zu sichern.

DEFINE_FIELD( CBasePlayer, m_fNVGActivated, FIELD_BOOLEAN ),

hier setz ich die variable auf true...
kann ich bestätigen da der bildschirm rot fadet

void CBasePlayer::NVGToggle(BOOL activate)
{
if (!m_fNVG)
return;

if (activate && !m_fNVGActivated) {
m_fNVGActivated = TRUE;
UTIL_ScreenFade( this, Vector(70,0,0), 0.01, 0.01, 245, FFADE_OUT | FFADE_STAYOUT | FFADE_MODULATE );
// inform the client about the change
MESSAGE_BEGIN(MSG_ONE, gmsgNVGActivate, NULL, pev);
WRITE_BYTE( 1 );
WRITE_BYTE( m_flNVGBattery );
MESSAGE_END( );

und hier will ich den bildschirm beim spawn erneut rot faden
falls die variable m_fNVGActivated auf true steht

void CBasePlayer::Spawn( void )
{
if(m_fNVGActivated)
UTIL_ScreenFade( this, Vector(0,70,0), 0.01, 0.01, 245, FFADE_OUT | FFADE_STAYOUT | FFADE_MODULATE );

falls irgend wo ein fehler is oder ich was falsch verstanden habe bitte
berichtigt mich...

Cu Thrill

Ps: es funktioniert immer noch net

--


Dieser Beitrag wurde am 02.11.2003 um 01:12 von Thrillhouse{AKB} bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
003
02.11.2003, 12:20
Onkel Dittmeyer



Du musst die Variable natürlich auch noch mit dem Makro RESTORE wiederherstellen.

--

zum Seitenanfang zum Seitenende Profil || Suche
004
02.11.2003, 16:49
Thrillhouse



wie und wo mach ich das? dachte das macht hl von selber beim level-wechsel.

Cu Thrill

--

zum Seitenanfang zum Seitenende Profil || Suche
005
03.11.2003, 15:44
Onkel Dittmeyer



Guck doch einfach mal bei anderen Entities nach wie das Funktioniert - ich habs selbst noch nicht benutzt.

--

zum Seitenanfang zum Seitenende Profil || Suche
006
04.11.2003, 09:57
[ LOD q|p Silver ]



hmmm... wenn du das ganze auch mit batterieanzeige gemacht hast musst du, was ich mich so erinnern kann, drei oder vier variablen speichern..
Quellcode:DEFINE_FIELD( CBasePlayer, m_fNVGActivated, FIELD_BOOLEAN ),
DEFINE_FIELD( CBasePlayer, m_fNVG, FIELD_BOOLEAN ),
...
leider weiß ich jetzt die anderen variablen nicht.. ich habe aber das ganze auch bei mir eingebaut.. wenn du willst kann ich heute abend mal nachsehen..

--

Homepage: THE CONSPIRACY IN SHADOW
Visit : HalfLife-Mods.com, HalfLife.org


Dieser Beitrag wurde am 04.11.2003 um 10:11 von [ LOD q|p Silver ] bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
007
04.11.2003, 16:38
Thrillhouse



ja wäre nett wenn du mal schaun könntest

vor allem ob dein nightvision über nen levelwechsel anbleibt

also so siehts bei mir aus:

DEFINE_FIELD( CBasePlayer, m_fNVG, FIELD_BOOLEAN ),
DEFINE_FIELD( CBasePlayer, m_fNVGActivated, FIELD_BOOLEAN ),

DEFINE_FIELD( CBasePlayer, m_flNVGBattery, FIELD_TIME ),
DEFINE_FIELD( CBasePlayer, m_flNVGUpdate, FIELD_TIME ),
DEFINE_FIELD( CBasePlayer, m_flInfraredUpdate, FIELD_TIME ),

Cu Thrill

--

zum Seitenanfang zum Seitenende Profil || Suche
008
04.11.2003, 17:33
[ LOD q|p Silver ]



ja mein nightvision bleibt an.. mein code ist zu 95% fertig.. allerdings habe ich einige veränderungen gemacht und kann mich speziell an das NVG nicht mehr erinnern.. :) ...ich werde dir heut oder morgen abend nachsehen..

edit:
ich hoffe du sprichst vom SP-Levelchange

--

Homepage: THE CONSPIRACY IN SHADOW
Visit : HalfLife-Mods.com, HalfLife.org


Dieser Beitrag wurde am 04.11.2003 um 17:45 von [ LOD q|p Silver ] bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
009
04.11.2003, 21:38
Thrillhouse



danke :)

ja ich rede vom sp-levelchange

Cu Thrill

--

zum Seitenanfang zum Seitenende Profil || Suche
010
06.11.2003, 10:27
[ LOD q|p Silver ]



guten morgen!
Sorry war gestern abend leider nicht zu hause.. war noch unterwegs :=)
schau dir heute nach.. sorry!

--

Homepage: THE CONSPIRACY IN SHADOW
Visit : HalfLife-Mods.com, HalfLife.org


Dieser Beitrag wurde am 06.11.2003 um 10:29 von [ LOD q|p Silver ] bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
011
06.11.2003, 23:41
Thrillhouse



kein problem :)

würd mich freuen wenn die antwort auf meine frage noch
am wochenende käm aber wenn net kann man auch nix machen

Cu Thrill

--

zum Seitenanfang zum Seitenende Profil || Suche
012
07.11.2003, 00:23
[ LOD q|p Silver ]



so.. also das ganze ist doch etwas anders als ich in erinnerung hatte:
folgendes musst du mal speichern und mehr nicht:
Quellcode:DEFINE_FIELD( CBasePlayer, m_fNVG, FIELD_BOOLEAN ),
    DEFINE_FIELD( CBasePlayer, m_fNVGActivated, FIELD_BOOLEAN ),
    DEFINE_FIELD( CBasePlayer, m_flNVGBattery, FIELD_INTEGER ),
und das folgende habe ich noch in der initHUD der singleplayer_gamerules und multiplayer_gamerules eingefügt da sonst das ganze nicht richtig funktioniert

Quellcode:// advanced NVG
extern int gmsgNVGActivate;
extern int gmsgNVG;

if (!pl->m_fNVG){
    pl->m_fNVG = FALSE;
    pl->m_fNVGActivated = FALSE;
    pl->m_flNVGBattery = 100;
    pl->m_flNVGUpdate = gpGlobals->time;
    pl->m_flInfraredUpdate = gpGlobals->time;
            
    // inform the client of the correct state, just to be sure
    MESSAGE_BEGIN(MSG_ONE, gmsgNVGActivate, NULL, pl->pev);
        WRITE_BYTE( 0 );    // NVG not activated
        WRITE_BYTE( pl->m_flNVGBattery );
    MESSAGE_END( );

    MESSAGE_BEGIN(MSG_ONE, gmsgNVG, NULL, pl->pev);
        WRITE_BYTE( 0 );    // we don't have NVG any more
        WRITE_BYTE( 0 );
    MESSAGE_END( );
}
// advanced NVG
es kann sein das ich noch eine kleinigkeit geändert habe, war allerdings am anfang meiner MOD geschichte :) das oben genannte sollte dir jedoch schon mal weiterhelfen

--

Homepage: THE CONSPIRACY IN SHADOW
Visit : HalfLife-Mods.com, HalfLife.org


Dieser Beitrag wurde am 07.11.2003 um 00:27 von [ LOD q|p Silver ] bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
013
10.11.2003, 11:42
Thrillhouse



so nach dem ich jetzt endlich nach 2 wochen
mein auto repariern konnte und nimmer mir den ganzen
feierabend unterm auto um die ohren schlagen muss
kann ich mich endlich wieder mit dieser problematik
befassen :)

leider hat dein tip noch nix gebracht silver.
ich hab sogar schon eine funktion in der
singelplayer_gamerules.cpp in die init_hud-funktion
geschrieben die beim player eigentlich nur ein
UTIL_SCREEN_FADE aufruft. Trotzdem bleibt der
Bildschirm bein starten eines singelplayer-games
ohne verfärbung.
wenn ich den gleichen befehl als clientcommand einbinde funktioniert
das Rot-Faden des bildschirm per hand. also
and der Funktion NVGFade kann net liegen die funktioniert so wie
sie soll...

wäre für weitere Tipps sehr dankbar

Cu Thrill

--

zum Seitenanfang zum Seitenende Profil || Suche
014
02.12.2003, 01:22
Thrillhouse



Also ich komm einfach nicht weiter...

ich glaub meine variable m_fNVGActivated wird im save_restore
nicht beachtet obwohl ich sie in dem array durch

DEFINE_FIELD( CBasePlayer, m_fNVGActivated, FIELD_BOOLEAN ),

eingebunden hab.

der aufruf von NVGFade() in der

void CHalfLifeRules :: InitHUD( CBasePlayer *pl )
{
if( pl->m_fNVGActivated)
{
pl->NVGFade();
}
}

funktion fadet den bildschirm auch nicht nach rot.
die funktion funktioniert aber sobald ich die if-anweisung weglasse
deshalb geh ich mal davon aus das die variable über den
Levelwechseln hinweg nicht gespeichert wird...

hat irgendjemand noch nen tipp? ich werd bald wahnsinnig mit
dem scheiss

danke für jedliche hilfe

Cu Thrill

--

zum Seitenanfang zum Seitenende Profil || Suche
015
06.12.2003, 10:55
[ LOD q|p Silver ]



hmmm... sorry war schon lange nicht zu besuch hier :)
eigentlich weiß ich nicht mehr warum es bei dir nicht funktioniert, ich habe das ganze wie oben beschrieben gemacht und bei mir funkts.. das einzige was nicht funktioniert das bei einem echten NEUSTART einen SP-Spiels das NVG gleich dem player gegeben wird, was auch etwas seltsam ist.. denn man kann sonst jedes item dem player beim mapspawn geben nur die nvg nicht???

was bei mir funktioniert ist das nach einem mapchange das nvg an ist, wenn es beim mapchange eingeschalten war.. aber nur mit der funktion in der initHUD..

--

Homepage: THE CONSPIRACY IN SHADOW
Visit : HalfLife-Mods.com, HalfLife.org

zum Seitenanfang zum Seitenende Profil || Suche
016
08.12.2003, 12:25
Thrillhouse



also hast du nur diesen grieselden effekt ohne färbung?
das is nämlich auch mein problem das er nicht rotfadet.
allerdings das griesel durch die client funktion bleibt an...

Cu Thrill

--

zum Seitenanfang zum Seitenende Profil || Suche
017
10.12.2003, 12:37
[ LOD q|p Silver ]



doch er fadet auch.. allerdings bei mir grün und nicht rot.. wenn ich das jetzt nicht verwechsle..

--

Homepage: THE CONSPIRACY IN SHADOW
Visit : HalfLife-Mods.com, HalfLife.org

zum Seitenanfang zum Seitenende Profil || Suche
018
10.12.2003, 16:57
Thrillhouse



ja sollte bei dir grün faden :)
könntest mir ja mal deine icq-nummer geben dann könnte man sich der
problematik besser widmen...

Cu Thrill

--

zum Seitenanfang zum Seitenende Profil || Suche
019
11.12.2003, 16:36
[ LOD q|p Silver ]



hmmm.. ja könnte ich.. ich habe nur ICQ schon seit meine CS Zeit nicht mehr benutzt.. ( 3 jahre her *g* ).. muß mal nachsehen welche nummer das ich habe...

--

Homepage: THE CONSPIRACY IN SHADOW
Visit : HalfLife-Mods.com, HalfLife.org


Dieser Beitrag wurde am 11.12.2003 um 16:36 von [ LOD q|p Silver ] bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche