27.12.2012, 04:28
(
Последний раз редактировалось ipsBruno; 27.12.2012 в 07:57.
)
TextDrawFade
Criei agora pela madrugada em alguns minutos uma include para fazer textdrawfade de forma perfeita. Muito melhor que a minha ъltima versгo, pois essa tem os cбlculos precisos e exatos funcionando com qualquer textdraw e qualquer combinaзгo de cor ali colocada.
Alйm do fбcil uso.
Cуdigo da include:
pawn Код:
//=================================================================
//
// TEXT DRAW FADE
//
// Creado por Bruno da Silva
//
//
// ips-team.tk/forum/
// brunodasilva.com
//
//=================================================================
#if defined _textfade_included
#endinput
#endif
#define _textfade_included
stock fade__TextDrawDestroy(Text:draw) {
deleteproperty( _: draw, "fade_textColor");
return TextDrawDestroy (draw);
}
stock fade__TextDrawColor(Text:draw, color) {
setproperty( _: draw, "fade_textColor", color );
return TextDrawColor(draw,color);
}
#define TextDrawDestroy \
fade__TextDrawDestroy
#define TextDrawColor \
fade__TextDrawColor
forward FadeTextDrawTimer ( playerid, textdraw, cor, tempo );
public FadeTextDrawTimer ( playerid, textdraw, cor, tempo ) {
static alpha ;
alpha = 1+ ((cor) & 0xFF);
cor = ( ((cor >> 24) & 0xFF) << 24 |((cor >> 16) & 0xFF) << 16 | ((cor >> 08) & 0xFF) << 8 | alpha);
if(alpha != 255)
{
SetTimerEx ( "FadeTextDrawTimer", tempo, false,
"dddd",
// playerid
// textdraw
// redbluegreenalpha
// tempo
playerid, _: textdraw, cor, tempo
);
}
TextDrawColor( Text: textdraw, cor );
TextDrawShowForPlayer( playerid, Text: textdraw);
return true;
}
stock TextDrawFade( playerid, Text:textdraw, tempo)
{
static cor;
cor = getproperty( _: textdraw, "fade_textColor" );
// essa parte do cуdigo remove a transparкncia
cor = (((cor >> 24) & 0xFF)<<24|((cor >> 16) & 0xFF)<<16|((cor >> 08) & 0xFF)<<8);
// coloca a cor do textdraw para transparкncia zero
TextDrawColor(textdraw, 0);
TextDrawShowForPlayer( playerid, textdraw);
// inicia a contagem para ir mudando a transparencia gradativamente
tempo /= 0xff;
if( tempo == 0 ) {
printf("Para o uso correto da funзгo use um valor maior que 255 em \"tempo\"");
return false;
}
SetTimerEx ( "FadeTextDrawTimer", tempo , false,
"dddd",
// playerid
// textdraw
// redbluegreenalpha
// tempo
playerid, _: textdraw, cor, tempo
);
return true;
}
Modo de uso:
TextDrawFade( PLAYERID, TEXTDRAW, TEMPODEFADE);
playerid = jogador que verб o textdraw
textdraw = id de vosso textdraw
tempofade = tempo para que a cor do textdraw final seja assumida
Demonstraзгo:
[ame]http://www.youtube.com/watch?v=SQwPCZbSfwE[/ame]
Criado por Bruno da Silva
Espero que gostem
Tуpico original postado no fуrum da [iPs]