By Fragpoint: Bei diesem Tutorial handelt es sich um eine Übersetzung von http://developer.valvesoftware.com/wiki/NightVision
Alle Rechte liegen beim dortigen Verfasser, ich gehe davon aus, dass er "Backofen" das Recht erteilt hat, eine übersetzte Version auszuarbeiten.
Soo erst ma herzlich willkommen zu meinem ersten TuT!
Für dieses TuT braucht man Visual Studio .NET 2003 mit den anderen versionen geht es soviel ich weiß nicht!!
Also als erstes öffnet man im Client projekt im Unterordner Source Files die Datei view_scene.cpp
Dann fügt ihr irgendwo unter der Zeile 221 (mit [strg]+[g] kommt man am schnellsten zu den Zeilen) das hier ein
//Precache Night Vision
CLIENTEFFECT_MATERIAL( "HUDoverlays/nightvision" )
Dann muss man folgenden Code ganz unten einfügen (also ich habs jetzt unter #endif gepackt und nicht ganz ans ende)
//NightVision
static void ScreenOver_f( void )
{
IMaterial *pMaterial = materials->FindMaterial( "HUDoverlays/nightvision", TEXTURE_GROUP_OTHER, true );
//This is the texture we are going to use for the 'effect' - never use an ext on material files
{
static bool bDisplayed = false;
if( bDisplayed )
{
// turn it off
view->SetScreenOverlayMaterial( NULL );
// Deactivate the 'light'
cvar->FindVar("mat_fullbright")->SetValue(0);
CLocalPlayerFilter filter;
C_BaseEntity::EmitSound( filter, 0, "Nightfall.NightVisOff" );
//play the off sound
}
else
{
// turn it on
view->SetScreenOverlayMaterial( pMaterial );
//this is the HUDoverlays/nightvision texture we made a pointer to above
// Activate the 'light'
cvar->FindVar("mat_fullbright")->SetValue(1);
CLocalPlayerFilter filter;
C_BaseEntity::EmitSound( filter, 0, "Nightfall.NightVisOn" );
//On we go - play a sound to let the player know that the NV is on
}
bDisplayed = !bDisplayed;
//check if fullbright has been disabled, or enabled
if (cvar->FindVar("mat_fullbright")->GetInt() == 1)//is it on?
cvar->FindVar("mat_fullbright")->SetValue(0);//well turn it off.
}
}
static ConCommand r_screenover( "r_screenover", ScreenOver_f );Dann sollte es so aussehen, wenn man dann kompiliert hat!

Dann sind wir mit dem coden auch schon fertig und es geht mit den sounds weiter!
Also da erstellt ihr als erstes die im Verzeichnis XXX\SourceMods\<DeineMod>\scripts\ die Datei game_sounds_nightvision.txt
Da schreibt ihr dann folgendes rein
"Nightfall.NightVisOn"
{
"channel" "CHAN_STATIC"
"volume" "0.8"
"soundlevel" "SNDLVL_GUNFIRE"
"pitch" "85,95"
"rndwave"
{
"wave" "Pfad\zum\sound.wav"
}
}
"Nightfall.NightVisOff"
{
"channel" "CHAN_STATIC"
"volume" "0.8"
"soundlevel" "SNDLVL_GUNFIRE"
"pitch" "85,95"
"rndwave"
{
"wave" "Pfad\zum\sound.wav"
}
} Dann müsst ihr logischweise den richtigen pfad angeben! Dann muss man nur noch die Datei XXX\SourceMods\<DeineMod>\scripts\game_sounds_manifest.txt öffnen und unten eine Zeile hinzufügen "precache_file" "scripts/game_sounds_nightvision.txt" Dann sind wir fast fertig! Wenn wir jetzt das gerade erschaffene consolen kommando r_screenover benutzen würden, dann würden wir nur einen Lila schwarzen Bildschirm bekommen! Um das zu fixxen muss man einfach dieses material sich laden http://rapidshare.de/files/32982668/material.rar.html (in den materials ordner entpacken)!EDIT:
Und am Ende würde das dann etwa so aussehen!

EDIT2:
PS:Sorry hab ne schlechte umgebung gewählt, um den screenshot zu machen :ugly: :ugly: :ugly: