Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- enum fadeScreenEnumas
- {
- fsTimer,
- fsSteps,
- fsMode,
- fsColor,
- Float:fsPos[ 4 ],
- fsInterior,
- fsVirtualWorld,
- fsSkin,
- fsClearAnimations,
- fsCameraBehindPlayer
- }
- #define FADE_KOKYBE_GERA 1
- #define FADE_KOKYBE_BLOGA 2
- new
- fadeScreen [ MAX_PLAYERS ][ fadeScreenEnumas ],
- Text:fsTextDraw,
- bool:fsTD_sukurtas,
- fadeKokybe_intervalas = 20,
- fadeKokybe_mazinimas = 4
- ;
- stock iScreenFader_Kokybe(id)
- {
- if(id != FADE_KOKYBE_GERA && id != FADE_KOKYBE_BLOGA) return print("somethink wrong with that shiiiiit");
- if( id == FADE_KOKYBE_GERA ) fadeKokybe_intervalas = 20, fadeKokybe_mazinimas = 4;
- else fadeKokybe_intervalas = 100, fadeKokybe_mazinimas = 20;
- return 1;
- }
- stock FadeScreenForPlayer(playerid, mode, color = 0x0FF)
- {
- if(mode != 1 && mode != 2) return printf("KLAIDA iScreenFader naudojime! FadeScreenForPlayer žaidėjui %d mode buvo netinkamas.", playerid);
- if(fadeScreen [ playerid ][ fsSteps ] > 0) return print("KLAIDA iScreenFader naudojime! FadeScreenForPlayer funkcijoje žaidėjas %d jau naudoja ekrano tamsinimą.");
- fadeScreen [ playerid ][ fsSteps ] = 255;
- fadeScreen [ playerid ][ fsMode ] = mode;
- fadeScreen [ playerid ][ fsColor ] = color;
- return fadeScreen [ playerid ][ fsTimer ] = SetTimerEx("FadeScreen", fadeKokybe_intervalas, true, "d", playerid);
- }
- stock FadePlayerPos( playerid, color = 0x0FF, Float:fsPosX, Float:fsPosY, Float:fsPosZ, Float:fsPosA = -1.0, fsInt = -1, fsVW = -1, fsClearAnims = true, fsCamera = false )
- {
- if(fadeScreen [ playerid ][ fsSteps ] > 0) return printf("KLAIDA iScreenFader naudojime! FadePlayerPos funkcijoje žaidėjas %d jau naudoja ekrano tamsinimą.", playerid);
- fadeScreen [ playerid ][ fsSteps ] = 255;
- fadeScreen [ playerid ][ fsMode ] = 1;
- fadeScreen [ playerid ][ fsColor ] = color;
- fadeScreen [ playerid ][ fsPos ][ 0 ] = fsPosX + 1.0;
- fadeScreen [ playerid ][ fsPos ][ 1 ] = fsPosY + 1.0;
- fadeScreen [ playerid ][ fsPos ][ 2 ] = fsPosZ + 1.0;
- fadeScreen [ playerid ][ fsPos ][ 3 ] = fsPosA + 1.0;
- fadeScreen [ playerid ][ fsInterior ] = fsInt + 1;
- fadeScreen [ playerid ][ fsVirtualWorld ] = fsVW + 1;
- fadeScreen [ playerid ][ fsClearAnimations ] = fsClearAnims;
- fadeScreen [ playerid ][ fsCameraBehindPlayer ] = fsCamera;
- return fadeScreen [ playerid ][ fsTimer ] = SetTimerEx( "FadeScreen", fadeKokybe_intervalas, true, "d", playerid );
- }
- stock FadePlayerSkin( playerid, skinID, color = 0x0FF )
- {
- if(fadeScreen [ playerid ][ fsSteps ] > 0) return printf("KLAIDA iScreenFader naudojime! FadePlayerSkin funkcijoje žaidėjas %d jau naudoja ekrano tamsinimą.", playerid);
- fadeScreen [ playerid ][ fsSteps ] = 255;
- fadeScreen [ playerid ][ fsMode ] = 1;
- fadeScreen [ playerid ][ fsColor ] = color;
- fadeScreen [ playerid ][ fsSkin ] = skinID + 1;
- return fadeScreen [ playerid ][ fsTimer ] = SetTimerEx("FadeScreen", fadeKokybe_intervalas, true, "d", playerid);
- }
- forward FadeScreen(playerid);
- public FadeScreen(playerid)
- {
- if(!fsTD_sukurtas)
- {
- fsTextDraw = TextDrawCreate(-159.000000, -288.000000, "iScreenFader by InstincT");
- TextDrawBackgroundColor(fsTextDraw, 255);
- TextDrawFont(fsTextDraw, 0);
- TextDrawLetterSize(fsTextDraw, 0.270000, 88.999687);
- TextDrawColor(fsTextDraw, -1);
- TextDrawSetOutline(fsTextDraw, 0);
- TextDrawSetProportional(fsTextDraw, 1);
- TextDrawSetShadow(fsTextDraw, 1);
- TextDrawUseBox(fsTextDraw, 1);
- TextDrawBoxColor(fsTextDraw, 255);
- TextDrawTextSize(fsTextDraw, 848.000000, 2.000000);
- fsTD_sukurtas = true;
- }
- TextDrawBoxColor(fsTextDraw, GetFadeColor(fadeScreen [ playerid ][ fsSteps ], fadeScreen [ playerid ][ fsMode ], fadeScreen [ playerid ][ fsColor ]));
- TextDrawShowForPlayer(playerid, fsTextDraw);
- fadeScreen [ playerid ][ fsSteps ] -= fadeKokybe_mazinimas;
- if(fadeScreen [ playerid ][ fsSteps ] <= 0)
- {
- KillTimer(fadeScreen [ playerid ][ fsTimer ]);
- if(fadeScreen [ playerid ][ fsMode ] == 2) TextDrawHideForPlayer(playerid, fsTextDraw);
- else
- {
- if(fadeScreen [ playerid ][ fsPos ][ 0 ] != 0.0 && fadeScreen [ playerid ][ fsPos ][ 1 ] != 0.0 && fadeScreen [ playerid ][ fsPos ][ 2 ] != 0.0)
- {
- SetPlayerPos( playerid, fadeScreen [ playerid ][ fsPos ][ 0 ] - 1.0, fadeScreen [ playerid ][ fsPos ][ 1 ] - 1.0, fadeScreen [ playerid ][ fsPos ][ 2 ] - 1.0 );
- fadeScreen [ playerid ][ fsPos ][ 0 ] = 0.0;
- fadeScreen [ playerid ][ fsPos ][ 1 ] = 0.0;
- fadeScreen [ playerid ][ fsPos ][ 2 ] = 0.0;
- if( fadeScreen [ playerid ][ fsPos ][ 3 ] != 0.0 ) SetPlayerFacingAngle(playerid, fadeScreen [ playerid ][ fsPos ][ 3 ] - 1.0), fadeScreen [ playerid ][ fsPos ][ 3 ] = 0.0;
- if( fadeScreen [ playerid ][ fsInterior ] != 0 ) SetPlayerInterior(playerid, fadeScreen [ playerid ][ fsInterior ] - 1), fadeScreen [ playerid ][ fsInterior ] = 0;
- if( fadeScreen [ playerid ][ fsVirtualWorld ] != 0 ) SetPlayerVirtualWorld(playerid, fadeScreen [ playerid ][ fsVirtualWorld ] - 1), fadeScreen [ playerid ][ fsVirtualWorld ] = 0;
- FadeScreenForPlayer( playerid, 2, fadeScreen [ playerid ][ fsColor ] );
- }
- if(fadeScreen [ playerid ][ fsSkin ] != 0) SetPlayerSkin(playerid, fadeScreen [ playerid ][ fsSkin ] - 1 ), fadeScreen [ playerid ][ fsSkin ] = 0, FadeScreenForPlayer(playerid, 2, fadeScreen [ playerid ][ fsColor ]);
- if(fadeScreen [ playerid ][ fsClearAnimations ]) fadeScreen [ playerid ][ fsClearAnimations ] = false, ClearAnimations(playerid);
- if(fadeScreen [ playerid ][ fsCameraBehindPlayer ]) fadeScreen [ playerid ][ fsCameraBehindPlayer ] = false, SetCameraBehindPlayer(playerid);
- }
- }
- return 1;
- }
- stock GetFadeColor( steps, mode, color )
- {
- new
- alpha,
- rgb [ 3 ],
- hex
- ;
- if(mode == 1) alpha = 255 - steps;
- else alpha = 255 - (255 - steps);
- rgb [ 0 ] = (color & 0xFF000000) >>> 24;
- rgb [ 1 ] = (color & 0x00FF0000) >>> 16;
- rgb [ 2 ] = (color & 0x0000FF00) >>> 8;
- hex |= (rgb[ 0 ] & 0xFF) << 24;
- hex |= (rgb[ 1 ] & 0xFF) << 16;
- hex |= (rgb[ 2 ] & 0xFF) << 8;
- hex |= (alpha & 0xFF);
- return hex;
- }
Advertisement
Add Comment
Please, Sign In to add comment