Русское сообщество по скриптингу

Аргументы в ScreeenFade и ScreenShacke  [Решено]

Все вопросы по скриптингу для AMXX, помощь в редактировании плагинов.

Модераторы: Subb98, liFe iS GoOD

Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела "Болтовня".
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.

В данном разделе форума разрешено создавать темы, касающие только скриптинга для AMX Mod X.

Правила при создании новой темы:
1. При вставке кода плагина необходимо использовать тег [code=php].
2. Любые изображения должны быть загружены, как вложения к вашему сообщению.
3. При описании проблемы или запросе на помощь в редактировании плагина обязательно выкладывайте исходник sma плагина.

Аргументы в ScreeenFade и ScreenShacke  [Решено]

Сообщение oReo » 15 сен 2017, 17:09

Кто может объяснить что обозначают параметры в функциях UTIL_ScreenShake и Util_ScreenFade плз

Код: Выделить всё
// ScreenFade 
enum ( <<=){ 
    FFADE_IN
, // Just here so we don't pass 0 into the function 
    FFADE_OUT = 1, // Fade out (not in) 
    FFADE_MODULATE, // Modulate (don't blend) 
    FFADE_STAYOUT // ignores the duration, stays faded out until new ScreenFade message received 
} 

enum 
{ 
    _Red
, 
    _Green
, 
    _Blue 
}; 

stock UTIL_ScreenFade
(const id=0,const iColor[3]={0,0,0},const Float:flFxTime=-1.0,const Float:flHoldTime=0.0,const iAlpha=0,const 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 msgScreenFade 
= 0; 
    if
( !msgScreenFade ) 
    
{ 
        msgScreenFade 
= 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, msgScreenFade, _, 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, msgScreenFade, _, 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); 
} 

// ScreenShake 
stock Util_ScreenShake(id, Float:duration, Float:frequency, Float:amplitude) 
{ 
    static ScreenShake 
= 0; 
    if
( !ScreenShake ) 
    
{ 
        ScreenShake 
= get_user_msgid("ScreenShake"); 
    
} 
    message_begin
( id ? MSG_ONE_UNRELIABLE : MSG_BROADCAST, ScreenShake, _, id); 
    write_short
( FixedUnsigned16( amplitude, 1<<12 ) ); // shake amount 
    write_short( FixedUnsigned16( duration, 1<<12 ) ); // shake lasts this long 
    write_short( FixedUnsigned16( frequency, 1<<) ); // shake noise frequency 
    message_end(); 

Название темы скорректировано // Subb98
деструктор решает все проблемы: нет переменной - нет проблемы (с) Subb98
Аватара пользователя
oReo
 
Сообщения: 144
Зарегистрирован: 24 май 2017, 05:59
Предупреждения: 1
Благодарил (а): 10 раз.
Поблагодарили: 5 раз.
Опыт программирования: Около 3 месяцев
Языки программирования: Pawn

Re: Аргументы в ScreeenFade и ScreenShacke

Сообщение Subb98 » 16 сен 2017, 10:48

«Очень хорошо. Лучше вы, чем я» © Donald J. Trump
Аватара пользователя
Subb98
Модератор
 
Сообщения: 4838
Зарегистрирован: 24 мар 2011, 19:42
Откуда: г. Пермь
Благодарил (а): 1272 раз.
Поблагодарили: 2186 раз.
Опыт программирования: Больше трех лет
Языки программирования: Pawn, PHP


Вернуться в Скриптинг

Кто сейчас на конференции

Сейчас этот форум просматривают: Bing [Bot], Google [Bot] и гости: 4