Guest User

[INC]iScreenFader 1.0 by InstincT

a guest
Jun 12th, 2012
300
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 2.86 KB | None | 0 0
  1. /*
  2.  
  3.         iScreenFader 1.0
  4.         pabaigta 2012m. Birželio 12d 13:34
  5.  
  6.         Autorius: InstincT
  7.         Keisti kreditus draudžiama! Pakeitęs kreditus autoriumi netapsi!
  8.  
  9.         funkcijos
  10.             FadeScreenForPlayer( playerid, mode )
  11.             playerid - žaidėjo ID
  12.             mode - užtemdymo rėžimas. Jų yra du tipai:
  13.                 FADE_IN - užtemdyti(po truputį padaryti ekraną juodą)
  14.                 FADE_OUT - atitemdyti(po truputį padaryti ekraną matomą)
  15.  
  16.         callbackai
  17.             OnFadeComplete( playerid, mode )
  18.                 playerid - žaidėjo ID
  19.                 mode - užtemdymo rėžimas
  20.  
  21.         changelogas
  22.             2012m. Birželio 12d. - išleista
  23.  
  24. */
  25.  
  26.  
  27. #define FADE_IN 1
  28. #define FADE_OUT 2
  29.  
  30. forward OnFadeComplete( playerid, mode );
  31.  
  32.  
  33.  
  34.  
  35. enum fadeScreenEnumas
  36. {
  37.     fsTD_sukurtas,
  38.     Text:fsTextDraw,
  39.     fsTimer,
  40.     fsSteps,
  41.     fsMode
  42. }
  43.  
  44. new
  45.     fadeScreen[ MAX_PLAYERS ][ fadeScreenEnumas ]
  46. ;
  47.  
  48.  
  49. stock FadeScreenForPlayer( playerid, mode )
  50. {
  51.     if( mode != FADE_IN && mode != FADE_OUT ) return 0;
  52.     fadeScreen[ playerid ][ fsSteps ] = 255;
  53.     fadeScreen[ playerid ][ fsMode ] = mode;
  54.     fadeScreen[ playerid ][ fsTimer ] = SetTimerEx( "FadeScreen", 5, true, "d", playerid );
  55.     return 1;
  56. }
  57.  
  58. forward FadeScreen( playerid );
  59. public FadeScreen( playerid )
  60. {
  61.     if( !fadeScreen[ playerid ][ fsTD_sukurtas ] )
  62.     {
  63.         fadeScreen[ playerid ][ fsTextDraw ] = TextDrawCreate( -159.000000, -288.000000, "iScreenFader by InstincT" );
  64.         TextDrawBackgroundColor( fadeScreen[ playerid ][ fsTextDraw ], 255 );
  65.         TextDrawFont( fadeScreen[ playerid ][ fsTextDraw ], 0 );
  66.         TextDrawLetterSize( fadeScreen[ playerid ][ fsTextDraw ], 0.270000, 88.999687 );
  67.         TextDrawColor( fadeScreen[ playerid ][ fsTextDraw ], -1 );
  68.         TextDrawSetOutline( fadeScreen[ playerid ][ fsTextDraw ], 0 );
  69.         TextDrawSetProportional( fadeScreen[ playerid ][ fsTextDraw ], 1 );
  70.         TextDrawSetShadow( fadeScreen[ playerid ][ fsTextDraw ], 1 );
  71.         TextDrawUseBox( fadeScreen[ playerid ][ fsTextDraw ], 1 );
  72.         TextDrawBoxColor( fadeScreen[ playerid ][ fsTextDraw ], 255 );
  73.         TextDrawTextSize( fadeScreen[ playerid ][ fsTextDraw ], 848.000000, 2.000000 );
  74.         fadeScreen[ playerid ][ fsTD_sukurtas ] = true;
  75.     }
  76.     TextDrawBoxColor( fadeScreen[ playerid ][ fsTextDraw ], GetFadeColor( playerid, fadeScreen[ playerid ][ fsMode ] ) );
  77.     TextDrawShowForPlayer( playerid, fadeScreen[ playerid ][ fsTextDraw ] );
  78.     fadeScreen[ playerid ][ fsSteps ]--;
  79.     if( fadeScreen[ playerid ][ fsSteps ] <= 0 )
  80.     {
  81.         KillTimer( fadeScreen[ playerid ][ fsTimer ] );
  82.         if( fadeScreen[ playerid ][ fsMode ] == FADE_OUT )
  83.         {
  84.             TextDrawHideForPlayer( playerid, fadeScreen[ playerid ][ fsTextDraw ] );
  85.         }
  86.         CallRemoteFunction( "OnFadeComplete", "dd", playerid, fadeScreen[ playerid ][ fsMode ] );
  87.         return 1;
  88.     }
  89.     return 1;
  90. }
  91.  
  92. stock GetFadeColor( playerid, mode )
  93. {
  94.     if( mode == FADE_IN ) return 255 - fadeScreen[ playerid ][ fsSteps ];
  95.     else return 255 - ( 255 - fadeScreen[ playerid ][ fsSteps ] );
  96. }
Advertisement
Add Comment
Please, Sign In to add comment