Короче немогу решить траблу при компиле
выдает : Функция не может иметь 1 аргумент.
Все работает если брать цифры например
pPlayer->SetFOV( 0, 0 );
делаю короче бинокль.
мне нужно присвоить слово к переменной типа
pPlayer->SetFOV( g_nZoomFOV[m_nZoomLevel] );
потому что листинг идёт из списка ниже
путём прибавления FOV
enum ZoomMode_t
{
Zoom_Exit = 0,
Zoom_In,
Zoom_Out
};
//-----------------------------------------------------------------------------
// Уровни зума на смену.
//-----------------------------------------------------------------------------
static int g_nZoomFOV[] =
{
0,
40,
30,
20,
10,
5
};
А вот код использования переменных выше
void CWeaponBinoculars::Zoom( ZoomMode_t eMode )
{
CBasePlayer *pPlayer = ToBasePlayer( GetOwner() );
if ( !pPlayer )
{
return;
}
switch ( eMode )
{
//
// Stop zooming with the binoculars.
//
case Zoom_Exit:
{
if ( m_nZoomLevel != 0 )
{
pPlayer->ShowViewModel(true);
WeaponSound( SPECIAL2 );
pPlayer->SetFOV( 0, 0 );
m_nZoomLevel = 0;
}
break;
}
//
// Zoom in.
//
case Zoom_In:
{
if (( m_nZoomLevel + 1 ) < ( sizeof( g_nZoomFOV ) / sizeof( g_nZoomFOV[0] )))
{
m_nZoomLevel++;
WeaponSound( SPECIAL1 );
pPlayer->SetFOV( g_nZoomFOV[m_nZoomLevel] );
if (g_nZoomFOV[m_nZoomLevel] != 0)
{
pPlayer->ShowViewModel(false);
}
}
else
{
// Can't zoom in any further; play a special sound.
WeaponSound( RELOAD );
}
m_fNextZoom = gpGlobals->curtime + BINOCULARS_ZOOM_RATE;
break;
}
//
// Zoom out.
//
case Zoom_Out:
{
if ( m_nZoomLevel > 0 )
{
m_nZoomLevel--;
WeaponSound( SPECIAL2 );
pPlayer->SetFOV( g_nZoomFOV[m_nZoomLevel] );
if ( g_nZoomFOV[m_nZoomLevel] == 0 )
{
pPlayer->ShowViewModel(true);
}
}
m_fNextZoom = gpGlobals->curtime + BINOCULARS_ZOOM_RATE;
break;
}
default:
{
break;
}
}
}