[Include] TextDrawFade nнvel hard
#1

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;
}
Salve como textfade.inc


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]
Reply


Messages In This Thread
TextDrawFade nнvel hard - by ipsBruno - 27.12.2012, 04:28
Re: TextDrawFade nнvel hard - by jpeg - 27.12.2012, 04:37
Respuesta: TextDrawFade nнvel hard - by ipsBruno - 27.12.2012, 04:40
Re: TextDrawFade nнvel hard - by EditPawn - 27.12.2012, 04:41
Respuesta: TextDrawFade nнvel hard - by ipsBruno - 27.12.2012, 04:44
Re: Respuesta: TextDrawFade nнvel hard - by EditPawn - 27.12.2012, 04:46
Re: TextDrawFade nнvel hard - by zSuYaNw - 27.12.2012, 04:50
Respuesta: TextDrawFade nнvel hard - by ipsBruno - 27.12.2012, 05:00
Re: Respuesta: TextDrawFade nнvel hard - by zSuYaNw - 27.12.2012, 05:10
Respuesta: TextDrawFade nнvel hard - by ipsBruno - 27.12.2012, 05:14

Forum Jump:


Users browsing this thread: 3 Guest(s)