Kolorowanie ekranu gracza

Poprawiona funkcja za pomocą której można kolorować ekran graczowi
stock Display_Fade(id,duration,holdtime,fadetype,red,green,blue,alpha)
{
static msgScreenFade;

if( !msgScreenFade ) msgScreenFade = get_user_msgid("ScreenFade")

message_begin( !id ? MSG_ALL : MSG_ONE, msgScreenFade,{0,0,0},id );
write_short( (1<<12) * duration );  // Duration of fadeout
write_short( (1<<12) * holdtime );  // Hold time of color
write_short( fadetype );    // Fade type
write_byte ( red );         // Red
write_byte ( green );       // Green
write_byte ( blue );        // Blue
write_byte ( alpha );       // Alpha
message_end();
}
Opis parametrów:
  • id – podajemy tutaj id gracza któremu ma się pokolorować ekran jeśli podamy 0 zostanie zakolorowany wszystkim
  • duration – ile czasu trwa „wchodzenie” i „wychodzenie” efektu przykład powolne przechodzenie z oślepienia do normalności po dostaniu fleshem tutaj ustawiamy ile to ma trwać 🙂 podajemy w sekundach
  • holdtime – czas trwania w sekundach
  • fadetype – typ oślepienia
    • FFADE_IN 0x0000 // Just here so we don’t pass 0 into the function – pojawianie się oślepienia
    • FFADE_OUT 0x0001 // Fade out (not in) – znikanie oślepienia
    • FFADE_MODULATE 0x0002 // Modulate (don’t blend) – prawdopodobnie połączenie dwóch powyższych flag używane przez np. flesha
    • FFADE_STAYOUT 0x0004 // ignores the duration, stays faded out until new ScreenFade message received – ignoruje parametr trwania ekran będzie kolorwy aż do ponownego wysłania message ScreenFade
  • red , green , blue – kolor oślepienia podajemy w rgb
  • alpha – „moc” oświetlenia od 0 czyli widać wszystko do 255 czyli ekran jest całkowicie pokolorowany

8 komentarzy o “Kolorowanie ekranu gracza

  1. skoro ktoś przekazuje 0 jako parametr to nie chce wiadomości a według ciebie chce nie ma to za bardzo sensu
    po za tym przez taką zmianę usunąłeś możliwość czyszczenia ekranu gracza

  2. A jak można zrobić graczu migający ekran na jakieś kolory ? Set taskiem to chyba nie będzie zbyt dobre, co ?

Dodaj komentarz

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.