shape1
shape2
shape3
shape4
shape7
shape8

Загрузка текстур


ElBarto

Новичок
21.10.2016
70
1
0
Доброе время суток, пользователи pawno-crmp.ru

Хочу выложить систему под названием 'Загрузка Текстур'. 

1. Создаем переменные:

new
Text: gTexture[18],
playerTextureTimer[MAX_PLAYERS],
PlayerText: pTexture[MAX_PLAYERS];


2. Создаем TextDraw будущего загрузчика текстур:

В CallBack OnGameModeInit:

gTexture[0] = TextDrawCreate(243.5000, 209.1036, !"LD_BEAT:chit");
TextDrawTextSize(gTexture[0], 26.0000, 32.0000);
TextDrawAlignment(gTexture[0], 1);
TextDrawColor(gTexture[0], 303174399);
TextDrawBackgroundColor(gTexture[0], 255);
TextDrawFont(gTexture[0], 4);
TextDrawSetProportional(gTexture[0], 0);
TextDrawSetShadow(gTexture[0], 0);


gTexture[1] = TextDrawCreate(366.7075, 209.1036, !"LD_BEAT:chit");
TextDrawTextSize(gTexture[1], 26.0000, 32.0000);
TextDrawAlignment(gTexture[1], 1);
TextDrawColor(gTexture[1], 303174399);
TextDrawBackgroundColor(gTexture[1], 255);
TextDrawFont(gTexture[1], 4);
TextDrawSetProportional(gTexture[1], 0);
TextDrawSetShadow(gTexture[1], 0);


gTexture[2] = TextDrawCreate(243.5000, 149.3999, !"LD_BEAT:chit");
TextDrawTextSize(gTexture[2], 26.0000, 32.0000);
TextDrawAlignment(gTexture[2], 1);
TextDrawColor(gTexture[2], 303174399);
TextDrawBackgroundColor(gTexture[2], 255);
TextDrawFont(gTexture[2], 4);
TextDrawSetProportional(gTexture[2], 0);
TextDrawSetShadow(gTexture[2], 0);


gTexture[3] = TextDrawCreate(366.7075, 149.3999, !"LD_BEAT:chit");
TextDrawTextSize(gTexture[3], 26.0000, 32.0000);
TextDrawAlignment(gTexture[3], 1);
TextDrawColor(gTexture[3], 303174399);
TextDrawBackgroundColor(gTexture[3], 255);
TextDrawFont(gTexture[3], 4);
TextDrawSetProportional(gTexture[3], 0);
TextDrawSetShadow(gTexture[3], 0);


gTexture[4] = TextDrawCreate(254.5000, 154.6556, !"LD_SPAC:white");
TextDrawTextSize(gTexture[4], 126.0000, 80.8901);
TextDrawAlignment(gTexture[4], 1);
TextDrawColor(gTexture[4], 303174399);
TextDrawBackgroundColor(gTexture[4], 255);
TextDrawFont(gTexture[4], 4);
TextDrawSetProportional(gTexture[4], 0);
TextDrawSetShadow(gTexture[4], 0);


gTexture[5] = TextDrawCreate(247.6999, 162.4223, !"LD_SPAC:white");
TextDrawTextSize(gTexture[5], 10.0000, 64.0000);
TextDrawAlignment(gTexture[5], 1);
TextDrawColor(gTexture[5], 303174399);
TextDrawBackgroundColor(gTexture[5], 255);
TextDrawFont(gTexture[5], 4);
TextDrawSetProportional(gTexture[5], 0);
TextDrawSetShadow(gTexture[5], 0);


gTexture[6] = TextDrawCreate(378.3001, 162.6892, !"LD_SPAC:white");
TextDrawTextSize(gTexture[6], 10.0000, 64.0000);
TextDrawAlignment(gTexture[6], 1);
TextDrawColor(gTexture[6], 303174399);
TextDrawBackgroundColor(gTexture[6], 255);
TextDrawFont(gTexture[6], 4);
TextDrawSetProportional(gTexture[6], 0);
TextDrawSetShadow(gTexture[6], 0);


gTexture[7] = TextDrawCreate(333.7075, 170.5258, !"LD_BEAT:chit");
TextDrawTextSize(gTexture[7], 7.0000, 9.0000);
TextDrawAlignment(gTexture[7], 1);
TextDrawColor(gTexture[7], -6749953);
TextDrawBackgroundColor(gTexture[7], 255);
TextDrawFont(gTexture[7], 4);
TextDrawSetProportional(gTexture[7], 0);
TextDrawSetShadow(gTexture[7], 0);


gTexture[8] = TextDrawCreate(294.2075, 204.1258, !"LD_BEAT:chit");
TextDrawTextSize(gTexture[8], 7.0000, 9.0000);
TextDrawAlignment(gTexture[8], 1);
TextDrawColor(gTexture[8], -6749953);
TextDrawBackgroundColor(gTexture[8], 255);
TextDrawFont(gTexture[8], 4);
TextDrawSetProportional(gTexture[8], 0);
TextDrawSetShadow(gTexture[8], 0);


gTexture[9] = TextDrawCreate(303.2075, 213.4591, !"LD_BEAT:chit");
TextDrawTextSize(gTexture[9], 4.0000, 5.0000);
TextDrawAlignment(gTexture[9], 1);
TextDrawColor(gTexture[9], -6749953);
TextDrawBackgroundColor(gTexture[9], 255);
TextDrawFont(gTexture[9], 4);
TextDrawSetProportional(gTexture[9], 0);
TextDrawSetShadow(gTexture[9], 0);


gTexture[10] = TextDrawCreate(326.2075, 167.4146, !"LD_BEAT:chit");
TextDrawTextSize(gTexture[10], 4.0000, 5.0000);
TextDrawAlignment(gTexture[10], 1);
TextDrawColor(gTexture[10], -6749953);
TextDrawBackgroundColor(gTexture[10], 255);
TextDrawFont(gTexture[10], 4);
TextDrawSetProportional(gTexture[10], 0);
TextDrawSetShadow(gTexture[10], 0);


gTexture[11] = TextDrawCreate(320.0000, 224.2779, !"€A™PY€KA_ЏEKCЏYP");
TextDrawLetterSize(gTexture[11], 0.1860, 0.9342);
TextDrawAlignment(gTexture[11], 2);
TextDrawColor(gTexture[11], -1);
TextDrawBackgroundColor(gTexture[11], 255);
TextDrawFont(gTexture[11], 2);
TextDrawSetProportional(gTexture[11], 1);
TextDrawSetShadow(gTexture[11], 0);


gTexture[12] = TextDrawCreate(261.0000, 209.2889, !"]");
TextDrawLetterSize(gTexture[12], 0.2439, 1.0711);
TextDrawAlignment(gTexture[12], 2);
TextDrawColor(gTexture[12], 555819519);
TextDrawBackgroundColor(gTexture[12], 255);
TextDrawFont(gTexture[12], 2);
TextDrawSetProportional(gTexture[12], 1);
TextDrawSetShadow(gTexture[12], 0);


gTexture[13] = TextDrawCreate(373.5000, 166.3556, !"]");
TextDrawLetterSize(gTexture[13], 0.2439, 1.0711);
TextDrawAlignment(gTexture[13], 2);
TextDrawColor(gTexture[13], 555819519);
TextDrawBackgroundColor(gTexture[13], 255);
TextDrawFont(gTexture[13], 2);
TextDrawSetProportional(gTexture[13], 1);
TextDrawSetShadow(gTexture[13], 0);


gTexture[14] = TextDrawCreate(358.0000, 196.2223, !"]");
TextDrawLetterSize(gTexture[14], 0.1729, 0.8346);
TextDrawAlignment(gTexture[14], 2);
TextDrawColor(gTexture[14], 555819519);
TextDrawBackgroundColor(gTexture[14], 255);
TextDrawFont(gTexture[14], 2);
TextDrawSetProportional(gTexture[14], 1);
TextDrawSetShadow(gTexture[14], 0);


gTexture[15] = TextDrawCreate(283.5000, 169.4667, !"]");
TextDrawLetterSize(gTexture[15], 0.1729, 0.8346);
TextDrawAlignment(gTexture[15], 2);
TextDrawColor(gTexture[15], 555819519);
TextDrawBackgroundColor(gTexture[15], 255);
TextDrawFont(gTexture[15], 2);
TextDrawSetProportional(gTexture[15], 1);
TextDrawSetShadow(gTexture[15], 0);


gTexture[16] = TextDrawCreate(334.5000, 214.2667, !"]");
TextDrawLetterSize(gTexture[16], 0.1729, 0.8346);
TextDrawAlignment(gTexture[16], 2);
TextDrawColor(gTexture[16], 555819519);
TextDrawBackgroundColor(gTexture[16], 255);
TextDrawFont(gTexture[16], 2);
TextDrawSetProportional(gTexture[16], 1);
TextDrawSetShadow(gTexture[16], 0);


gTexture[17] = TextDrawCreate(260.5000, 176.9333, !"]");
TextDrawLetterSize(gTexture[17], 0.1729, 0.8346);
TextDrawAlignment(gTexture[17], 2);
TextDrawColor(gTexture[17], 555819519);
TextDrawBackgroundColor(gTexture[17], 255);
TextDrawFont(gTexture[17], 2);
TextDrawSetProportional(gTexture[17], 1);
TextDrawSetShadow(gTexture[17], 0);


В CallBack OnPlayerConnect:


pTexture[playerid] = CreatePlayerTextDraw(playerid, 318.5000, 183.1555, "0%");
PlayerTextDrawLetterSize(playerid, pTexture[playerid], 0.4474, 1.7991);
PlayerTextDrawAlignment(playerid, pTexture[playerid], 2);
PlayerTextDrawColor(playerid, pTexture[playerid], -1);
PlayerTextDrawBackgroundColor(playerid, pTexture[playerid], 255);
PlayerTextDrawFont(playerid, pTexture[playerid], 3);
PlayerTextDrawSetProportional(playerid, pTexture[playerid], 1);
PlayerTextDrawSetShadow(playerid, pTexture[playerid], 0);


3. Создаем CallBack LoadScreenCallBack:

forward LoadScreenCallBack(playerid, rate, count);
public LoadScreenCallBack(playerid, rate, count)
{
if(count >= 16)
{
playerTextureTimer[playerid] = 0;
for(new t; t < 18; t++) TextDrawHideForPlayer(playerid, gTexture[t]);
PlayerTextDrawHide(playerid, pTexture[playerid]);
TogglePlayerControllable(playerid, 1);
}
else
{
new string[5], fixcount = count + 1;
if(playerTextureTimer[playerid]) playerTextureTimer[playerid] = SetTimerEx("LoadScreenCallBack", rate, 0, "iii", playerid, rate, fixcount);
valstr(string, floatround(floatdiv(fixcount*100, 16)));
strcat(string, "%");
PlayerTextDrawSetString(playerid, pTexture[playerid], string);
}
}


4. Создаем stock который будет запускать загрузку текстур:

stock ShowPlayerLoadScreen(playerid, time)
{
if(playerTextureTimer[playerid]) KillTimer(playerTextureTimer[playerid]);
PlayerTextDrawSetString(playerid, pTexture[playerid], !"0%");


for(new t; t < 18; t++) TextDrawShowForPlayer(playerid, gTexture[t]);
PlayerTextDrawShow(playerid, pTexture[playerid]);

TogglePlayerControllable(playerid, 0);
playerTextureTimer[playerid] = SetTimerEx(!"LoadScreenCallBack", (1000 * time) / 17, 0, !"iii", playerid, (1000 * time) / 17, 0);
}


Пример использования данного Загрузчика текстур:

ShowPlayerLoadScreen(playerid, 3); - прописываем данный сток с playerid, и временем.
Время загрузчика текстур - 3 секунды


AAYZo94V8MM.jpg