screenfade_util.inc
Just here so we don't pass 0 into the function
VIP Сървъри
Всички сървъри
#if defined _screenfade_util_included
#endinput
#endif
#define _screenfade_util_included
#define FFADE_IN 0x0000 // Just here so we don't pass 0 into the function
#define FFADE_OUT 0x0001 // Fade out (not in)
#define FFADE_MODULATE 0x0002 // Modulate (don't blend)
#define FFADE_STAYOUT 0x0004 // ignores the duration, stays faded out until new ScreenFade message received
enum {
Red,
Green,
Blue
};
stock FixedUnsigned16(Float:flValue, iScale)
{
new iOutput;
iOutput = floatround(flValue * iScale);
if ( iOutput < 0 )
iOutput = 0;
if ( iOutput > 0xFFFF )
iOutput = 0xFFFF;
return iOutput;
}
stock UTIL_ScreenFade(id=0,iColor[3]={0,0,0},Float:flFxTime=-1.0,Float:flHoldTime=0.0,iAlpha=0,iFlags=FFADE_IN,bool:bReliable=false,bool:bExternal=false)
{
if( id && !is_user_connected(id))
return;
new iFadeTime;
if( flFxTime == -1.0 )
{
iFadeTime = 4;
}
else
{
iFadeTime = FixedUnsigned16( flFxTime , 1<<12 );
}
static gmsgScreenFade;
if( !gmsgScreenFade )
{
gmsgScreenFade = get_user_msgid("ScreenFade");
}
new MSG_DEST;
if( bReliable )
{
MSG_DEST = id ? MSG_ONE : MSG_ALL;
}
else
{
MSG_DEST = id ? MSG_ONE_UNRELIABLE : MSG_BROADCAST;
}
if( bExternal )
{
emessage_begin( MSG_DEST, gmsgScreenFade, _, id );
ewrite_short( iFadeTime );
ewrite_short( FixedUnsigned16( flHoldTime , 1<<12 ) );
ewrite_short( iFlags );
ewrite_byte( iColor[Red] );
ewrite_byte( iColor[Green] );
ewrite_byte( iColor[Blue] );
ewrite_byte( iAlpha );
emessage_end();
}
else
{
message_begin( MSG_DEST, gmsgScreenFade, _, id );
write_short( iFadeTime );
write_short( FixedUnsigned16( flHoldTime , 1<<12 ) );
write_short( iFlags );
write_byte( iColor[Red] );
write_byte( iColor[Green] );
write_byte( iColor[Blue] );
write_byte( iAlpha );
message_end();
}
}
stock UTIL_FadeToBlack(id,Float:fxtime=3.0,bool:bReliable=false,bool:bExternal=false)
{
UTIL_ScreenFade(id, _, fxtime, fxtime, 255, FFADE_OUT|FFADE_STAYOUT,bReliable,bExternal);
}
КАК ДА ИЗПОЛЗВАМ
Добави в началото на .sma файла:
#include <screenfade_util>
1. Изтегли
Свали файла от бутона по-горе
2. Копирай
Постави в
scripting/include/3. Включи
Добави #include директивата
4. Компилирай
Използвай amxxpc или scripting/compile.exe