Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Clavador Mar-2012
- #if !defined MAX_BUFFER
- #define MAX_BUFFER 24
- #endif
- #if !defined PLY_MX
- #define PLY_MX MAX_PLAYERS
- #endif
- #define PLAYERS_MAXIMUM GetMaxPlayers();
- #define TextDraw_Grow(%1,%2,%3,%4,%5,%6,%7,%8) T_Stuff[%1][timer] = SetTimerEx("TextDrawGrow",1,true,"ddddddff",%1,%2,%3,%4,%7,%8); \
- T_Stuff[%1][minimum] = %5; \
- T_Stuff[%1][maximum] = %6
- #define TextDraw_FadeIn(%1,%2,%3,%4,%5,%6) T_Stuff[%1][timer] = SetTimerEx("TextDrawFadeIn",%3,true,"ddddd",%1,%2,%4); \
- T_Stuff[%1][minimum] = %5; \
- T_Stuff[%1][maximum] = %6
- #define TextDraw_Pulsate(%1,%2,%3,%4,%5,%6) T_Stuff[%1][timer] = SetTimerEx("TextDrawPulsate",%4,true,"dddd",%1,%2,%3); \
- T_Stuff[%1][minimum] = %5; \
- T_Stuff[%1][maximum] = %6
- #define TextDraw_Hide(%1,%2,%3) T_Stuff[%1][minimum] = %2; \
- T_Stuff[%1][maximum] = %3; \
- HideDynamicTextDraws( %1 )
- #define min_buffer T_Stuff[playerid][minimum]
- #define max_buffer T_Stuff[playerid][maximum]
- enum Stuff
- {
- timer,
- minimum,
- maximum,
- count,
- bool:show,
- Float:txt_x,
- Float:txt_y
- }
- new T_Stuff[PLY_MX][Stuff];
- new Text:T_Buffer[MAX_BUFFER];
- // THIS IS CALLED WHEN ANIMATION FINISHES
- forward OnAnimFinish( playerid, index );
- forward TextDrawGrow( playerid, index, anim_speed, duration, Float:max_x, Float:max_y ); // GROWS FROM 0 TO X
- forward TextDrawFadeIn( playerid, index, duration ); // SHOWS FROM MIN TO MAX
- forward HideDynamicTextDraws( playerid ); // HIDES FROM MIN TO MAX
- forward TextDrawPulsate( playerid, index, repetitions ); // SHOWS AND HIDES FROM MIN TO MAX WITH X REPETITIONS
- public TextDrawGrow( playerid, index, anim_speed, duration, Float:max_x, Float:max_y )
- {
- new i = min_buffer;
- if( T_Stuff[playerid][txt_x] < max_x ) T_Stuff[playerid][txt_x] += max_x / anim_speed;
- if( T_Stuff[playerid][txt_y] < max_y ) T_Stuff[playerid][txt_y] += max_y / anim_speed;
- while( i < max_buffer )
- {
- TextDrawLetterSize( T_Buffer[i], T_Stuff[playerid][txt_x], T_Stuff[playerid][txt_y] );
- TextDrawShowForPlayer( playerid, T_Buffer[i] );
- i++;
- }
- if( T_Stuff[playerid][txt_x] >= max_x && T_Stuff[playerid][txt_y] >= max_y )
- {
- T_Stuff[playerid][txt_x] = T_Stuff[playerid][txt_y] = 0;
- KillTimer( T_Stuff[playerid][timer] );
- SetTimerEx("OnAnimFinish",duration,false,"dd",playerid,index);
- }
- return 1;
- }
- public TextDrawFadeIn( playerid, index, duration )
- {
- if( min_buffer < max_buffer )
- {
- TextDrawShowForPlayer( playerid, T_Buffer[min_buffer] );
- printf( "min: %d", min_buffer );
- min_buffer++;
- }
- else
- {
- KillTimer( T_Stuff[playerid][timer] );
- SetTimerEx("OnAnimFinish",duration,false,"dd",playerid,index);
- }
- return 1;
- }
- public TextDrawPulsate( playerid, index, repetitions )
- {
- new i = min_buffer;
- if( !T_Stuff[playerid][show] )
- {
- if( i == max_buffer )
- {
- TextDrawShowForPlayer( playerid, T_Buffer[i] );
- }
- else
- {
- while( i < max_buffer )
- {
- TextDrawShowForPlayer( playerid, T_Buffer[i] );
- i++;
- }
- }
- T_Stuff[playerid][show] = true;
- }
- else
- {
- if( i == max_buffer )
- {
- TextDrawShowForPlayer( playerid, T_Buffer[i] );
- }
- else
- {
- while( i < max_buffer )
- {
- TextDrawShowForPlayer( playerid, T_Buffer[i] );
- i++;
- }
- }
- T_Stuff[playerid][show] = false;
- }
- if( T_Stuff[playerid][count] > repetitions )
- {
- T_Stuff[playerid][count] = 0;
- KillTimer( T_Stuff[playerid][timer] );
- OnAnimFinish( playerid, index );
- }
- else T_Stuff[playerid][count]++;
- return 1;
- }
- public HideDynamicTextDraws( playerid )
- {
- if( max_buffer < 0 ) max_buffer = MAX_BUFFER;
- while( min_buffer < max_buffer )
- {
- TextDrawHideForPlayer( playerid, T_Buffer[min_buffer] );
- min_buffer++;
- }
- return 1;
- }
- stock StopTextDrawAnimations( playerid )
- {
- T_Stuff[playerid][count] = 0;
- KillTimer( T_Stuff[playerid][timer] );
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement