Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define ALPHA(%1,%2) \
- ((%1 & ~0xFF) | clamp(%2, 0x00, 0xFF))
- new PlayerText:fader_textdraw[MAX_PLAYERS];
- new FadeTimer[MAX_PLAYERS];
- new bool:FadeTimerActive[MAX_PLAYERS];
- new CurrentAlpha[MAX_PLAYERS];
- public OnPlayerConnect(playerid)
- {
- KillTimer(FadeTimer[playerid]);
- FadeTimerActive[playerid] = false;
- SetTimerEx("CreateFaderTextDraw", 300, false, "d", playerid);
- #if defined fad_OnPlayerConnect
- return fad_OnPlayerConnect(playerid);
- #else
- return 1;
- #endif
- }
- #if defined _ALS_OnPlayerConnect
- #undef OnPlayerConnect
- #else
- #define _ALS_OnPlayerConnect
- #endif
- #define OnPlayerConnect fad_OnPlayerConnect
- #if defined fad_OnPlayerConnect
- forward fad_OnPlayerConnect(playerid);
- #endif
- forward CreateFaderTextDraw(playerid);
- public CreateFaderTextDraw(playerid)
- {
- fader_textdraw[playerid] = CreatePlayerTextDraw(playerid, 0.0, 0.0, "~r~");
- PlayerTextDrawTextSize(playerid, fader_textdraw[playerid], 640, 480);
- PlayerTextDrawLetterSize(playerid, fader_textdraw[playerid], 0.0, 50.0);
- PlayerTextDrawUseBox(playerid, fader_textdraw[playerid], 1);
- return true;
- }
- stock FadePlayerScreen(playerid, updaterate, color, alphastart = 0, alphaend = 255, bool:backtostart = false)
- {
- if(FadeTimerActive[playerid])
- {
- KillTimer(FadeTimer[playerid]);
- FadeTimerActive[playerid] = false;
- PlayerTextDrawHide(playerid, fader_textdraw[playerid]);
- }
- if(alphastart == 0 && alphaend == 0) return false;
- CurrentAlpha[playerid] = alphastart;
- PlayerTextDrawHide(playerid, fader_textdraw[playerid]);
- PlayerTextDrawBoxColor(playerid, fader_textdraw[playerid], ALPHA(color, alphastart));
- PlayerTextDrawShow(playerid, fader_textdraw[playerid]);
- FadeTimer[playerid] = SetTimerEx("FaderUpdate", 50, true, "dddddd", playerid, updaterate, color, alphastart, alphaend, backtostart);
- FadeTimerActive[playerid] = true;
- return true;
- }
- forward FaderUpdate(playerid, updaterate, color, alphastart, alphaend, backtostart);
- public FaderUpdate(playerid, updaterate, color, alphastart, alphaend, backtostart)
- {
- if(alphastart > alphaend)
- {
- if(CurrentAlpha[playerid] <= alphaend)
- {
- KillTimer(FadeTimer[playerid]);
- FadeTimerActive[playerid] = false;
- if(backtostart)
- {
- FadeTimer[playerid] = SetTimerEx("FaderUpdate", 50, true, "dddddd", playerid, updaterate, color, alphaend, alphastart, false);
- }
- else PlayerTextDrawHide(playerid, fader_textdraw[playerid]);
- return true;
- }
- CurrentAlpha[playerid] -= updaterate;
- }
- else if(alphastart < alphaend)
- {
- if(CurrentAlpha[playerid] >= alphaend)
- {
- KillTimer(FadeTimer[playerid]);
- FadeTimerActive[playerid] = false;
- if(backtostart)
- {
- FadeTimer[playerid] = SetTimerEx("FaderUpdate", 50, true, "dddddd", playerid, updaterate, color, alphaend, alphastart, false);
- }
- else PlayerTextDrawHide(playerid, fader_textdraw[playerid]);
- return true;
- }
- CurrentAlpha[playerid] += updaterate;
- }
- PlayerTextDrawHide(playerid, fader_textdraw[playerid]);
- PlayerTextDrawBoxColor(playerid, fader_textdraw[playerid], ALPHA(color, CurrentAlpha[playerid]));
- PlayerTextDrawShow(playerid, fader_textdraw[playerid]);
- return true;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement