View difference between Paste ID: KGStZZBd and ZBK9mj9h
SHOW: | | - or go back to the newest paste.
1
enum fadeScreenEnumas
2
{
3
	fsTimer,
4
	fsSteps,
5
	fsMode,
6
	fsColor,
7
	Float:fsPos[ 4 ],
8
	fsInterior,
9
	fsVirtualWorld,
10
	fsSkin,
11
	fsClearAnimations,
12
	fsCameraBehindPlayer
13
}
14
15
#define FADE_KOKYBE_GERA 1
16
#define FADE_KOKYBE_BLOGA 2
17
18
new
19
	fadeScreen [ MAX_PLAYERS ][ fadeScreenEnumas ],
20
	Text:fsTextDraw,
21
	bool:fsTD_sukurtas,
22
	fadeKokybe_intervalas = 20,
23
	fadeKokybe_mazinimas = 4
24
;
25
26
stock iScreenFader_Kokybe(id)
27
{
28
	if(id != FADE_KOKYBE_GERA && id != FADE_KOKYBE_BLOGA) return print("somethink wrong with that shiiiiit");
29
	if( id == FADE_KOKYBE_GERA ) fadeKokybe_intervalas = 20, fadeKokybe_mazinimas = 4;
30
	else fadeKokybe_intervalas = 100, fadeKokybe_mazinimas = 20;
31
	return 1;
32
}
33
34
stock FadeScreenForPlayer(playerid, mode, color = 0x0FF)
35
{
36
	if(mode != 1 && mode != 2) return printf("KLAIDA iScreenFader naudojime! FadeScreenForPlayer žaidėjui %d mode buvo netinkamas.", playerid);
37
	if(fadeScreen [ playerid ][ fsSteps ] > 0) return print("KLAIDA iScreenFader naudojime! FadeScreenForPlayer funkcijoje žaidėjas %d jau naudoja ekrano tamsinimą.");
38
	fadeScreen [ playerid ][ fsSteps ] = 255;
39
	fadeScreen [ playerid ][ fsMode ] = mode;
40
	fadeScreen [ playerid ][ fsColor ] = color;
41
	return fadeScreen [ playerid ][ fsTimer ] = SetTimerEx("FadeScreen", fadeKokybe_intervalas, true, "d", playerid);
42
}
43
44
stock FadePlayerPos( playerid, color = 0x0FF, Float:fsPosX, Float:fsPosY, Float:fsPosZ, Float:fsPosA = -1.0, fsInt = -1, fsVW = -1, fsClearAnims = true, fsCamera = false )
45
{
46
	if(fadeScreen [ playerid ][ fsSteps ] > 0) return printf("KLAIDA iScreenFader naudojime! FadePlayerPos funkcijoje žaidėjas %d jau naudoja ekrano tamsinimą.", playerid);
47
	fadeScreen [ playerid ][ fsSteps ] = 255;
48
	fadeScreen [ playerid ][ fsMode ] = 1;
49
	fadeScreen [ playerid ][ fsColor ] = color;
50
	fadeScreen [ playerid ][ fsPos ][ 0 ] = fsPosX + 1.0;
51
	fadeScreen [ playerid ][ fsPos ][ 1 ] = fsPosY + 1.0;
52
	fadeScreen [ playerid ][ fsPos ][ 2 ] = fsPosZ + 1.0;
53
	fadeScreen [ playerid ][ fsPos ][ 3 ] = fsPosA + 1.0;
54
	fadeScreen [ playerid ][ fsInterior ] = fsInt + 1;
55
	fadeScreen [ playerid ][ fsVirtualWorld ] = fsVW + 1;
56
	fadeScreen [ playerid ][ fsClearAnimations ] = fsClearAnims;
57
	fadeScreen [ playerid ][ fsCameraBehindPlayer ] = fsCamera;
58
	return fadeScreen [ playerid ][ fsTimer ] = SetTimerEx( "FadeScreen", fadeKokybe_intervalas, true, "d", playerid );
59
}
60
61
stock FadePlayerSkin( playerid, skinID, color = 0x0FF )
62
{
63
	if(fadeScreen [ playerid ][ fsSteps ] > 0) return printf("KLAIDA iScreenFader naudojime! FadePlayerSkin funkcijoje žaidėjas %d jau naudoja ekrano tamsinimą.", playerid);
64
	fadeScreen [ playerid ][ fsSteps ] = 255;
65
	fadeScreen [ playerid ][ fsMode ] = 1;
66
	fadeScreen [ playerid ][ fsColor ] = color;
67
	fadeScreen [ playerid ][ fsSkin ] = skinID + 1;
68
	return fadeScreen [ playerid ][ fsTimer ] = SetTimerEx("FadeScreen", fadeKokybe_intervalas, true, "d", playerid);
69
}
70
71
forward FadeScreen(playerid);
72
public FadeScreen(playerid)
73
{
74
	if(!fsTD_sukurtas)
75
	{
76
		fsTextDraw = TextDrawCreate(-159.000000, -288.000000, "iScreenFader by InstincT");
77
		TextDrawBackgroundColor(fsTextDraw, 255);
78
		TextDrawFont(fsTextDraw, 0);
79
		TextDrawLetterSize(fsTextDraw, 0.270000, 88.999687);
80
		TextDrawColor(fsTextDraw, -1);
81
		TextDrawSetOutline(fsTextDraw, 0);
82
		TextDrawSetProportional(fsTextDraw, 1);
83
		TextDrawSetShadow(fsTextDraw, 1);
84
		TextDrawUseBox(fsTextDraw, 1);
85
		TextDrawBoxColor(fsTextDraw, 255);
86
		TextDrawTextSize(fsTextDraw, 848.000000, 2.000000);
87
		fsTD_sukurtas = true;
88
	}
89
	TextDrawBoxColor(fsTextDraw, GetFadeColor(fadeScreen [ playerid ][ fsSteps ], fadeScreen [ playerid ][ fsMode ], fadeScreen [ playerid ][ fsColor ]));
90
	TextDrawShowForPlayer(playerid, fsTextDraw);
91
	fadeScreen [ playerid ][ fsSteps ] -= fadeKokybe_mazinimas;
92
	if(fadeScreen [ playerid ][ fsSteps ] <= 0)
93
	{
94
		KillTimer(fadeScreen [ playerid ][ fsTimer ]);
95
		if(fadeScreen [ playerid ][ fsMode ] == 2) TextDrawHideForPlayer(playerid, fsTextDraw);
96
		else
97
		{
98
			if(fadeScreen [ playerid ][ fsPos ][ 0 ] != 0.0 && fadeScreen [ playerid ][ fsPos ][ 1 ] != 0.0 && fadeScreen [ playerid ][ fsPos ][ 2 ] != 0.0)
99
			{
100
				SetPlayerPos( playerid, fadeScreen [ playerid ][ fsPos ][ 0 ] - 1.0, fadeScreen [ playerid ][ fsPos ][ 1 ] - 1.0, fadeScreen [ playerid ][ fsPos ][ 2 ] - 1.0 );
101
				fadeScreen [ playerid ][ fsPos ][ 0 ] = 0.0;
102
				fadeScreen [ playerid ][ fsPos ][ 1 ] = 0.0;
103
				fadeScreen [ playerid ][ fsPos ][ 2 ] = 0.0;
104
				if( fadeScreen [ playerid ][ fsPos ][ 3 ] != 0.0 ) SetPlayerFacingAngle(playerid, fadeScreen [ playerid ][ fsPos ][ 3 ] - 1.0), fadeScreen [ playerid ][ fsPos ][ 3 ] = 0.0;
105
				if( fadeScreen [ playerid ][ fsInterior ] != 0 ) SetPlayerInterior(playerid, fadeScreen [ playerid ][ fsInterior ] - 1), fadeScreen [ playerid ][ fsInterior ] = 0;
106
				if( fadeScreen [ playerid ][ fsVirtualWorld ] != 0 ) SetPlayerVirtualWorld(playerid, fadeScreen [ playerid ][ fsVirtualWorld ] - 1), fadeScreen [ playerid ][ fsVirtualWorld ] = 0;
107
				FadeScreenForPlayer( playerid, 2, fadeScreen [ playerid ][ fsColor ] );
108
			}
109
			if(fadeScreen [ playerid ][ fsSkin ] != 0) SetPlayerSkin(playerid, fadeScreen [ playerid ][ fsSkin ] - 1 ), fadeScreen [ playerid ][ fsSkin ] = 0, FadeScreenForPlayer(playerid, 2, fadeScreen [ playerid ][ fsColor ]);
110
			if(fadeScreen [ playerid ][ fsClearAnimations ]) fadeScreen [ playerid ][ fsClearAnimations ] = false, ClearAnimations(playerid);
111
			if(fadeScreen [ playerid ][ fsCameraBehindPlayer ]) fadeScreen [ playerid ][ fsCameraBehindPlayer ] = false, SetCameraBehindPlayer(playerid);
112
		}
113
	}
114
	return 1;
115
}
116
117
stock GetFadeColor( steps, mode, color )
118
{
119
	new
120
		alpha,
121
		rgb [ 3 ],
122
		hex
123
	;
124
	if(mode == 1) alpha = 255 - steps;
125
	else alpha = 255 - (255 - steps);
126
	rgb [ 0 ] = (color & 0xFF000000) >>> 24;
127
	rgb [ 1 ] = (color & 0x00FF0000) >>> 16;
128
	rgb [ 2 ] = (color & 0x0000FF00) >>> 8;
129
	hex |= (rgb[ 0 ] & 0xFF) << 24;
130
	hex |= (rgb[ 1 ] & 0xFF) << 16;
131
	hex |= (rgb[ 2 ] & 0xFF) << 8;
132
	hex |= (alpha & 0xFF);
133
	return hex;
134
}