• 0
Antoxa39

[закрыто] Вопрос по TextDraw

Вопросы

 

Спойлер

 


//Player Textdraws:

new PlayerText:Textdraw0[MAX_PLAYERS];
new PlayerText:Textdraw1[MAX_PLAYERS];
new PlayerText:Textdraw2[MAX_PLAYERS];
new PlayerText:Textdraw3[MAX_PLAYERS];
new PlayerText:Textdraw4[MAX_PLAYERS];
new PlayerText:Textdraw5[MAX_PLAYERS];
new PlayerText:Textdraw6[MAX_PLAYERS];
new PlayerText:Textdraw7[MAX_PLAYERS];
new PlayerText:Textdraw8[MAX_PLAYERS];
new PlayerText:Textdraw9[MAX_PLAYERS];
new PlayerText:Textdraw10[MAX_PLAYERS];
new PlayerText:Textdraw11[MAX_PLAYERS];
new PlayerText:Textdraw12[MAX_PLAYERS];
new PlayerText:Textdraw13[MAX_PLAYERS];
new PlayerText:Textdraw14[MAX_PLAYERS];
new PlayerText:Textdraw15[MAX_PLAYERS];
new PlayerText:Textdraw16[MAX_PLAYERS];
new PlayerText:Textdraw17[MAX_PLAYERS];
new PlayerText:Textdraw18[MAX_PLAYERS];
new PlayerText:Textdraw19[MAX_PLAYERS];
new PlayerText:Textdraw20[MAX_PLAYERS];
new PlayerText:Textdraw21[MAX_PLAYERS];
new PlayerText:Textdraw22[MAX_PLAYERS];
new PlayerText:Textdraw23[MAX_PLAYERS];
new PlayerText:Textdraw24[MAX_PLAYERS];
new PlayerText:Textdraw25[MAX_PLAYERS];


Textdraw0[playerid] = CreatePlayerTextDraw(playerid, 635.000000, 383.185119, "spedom:1");
PlayerTextDrawLetterSize(playerid, Textdraw0[playerid], 0.000000, 0.000000);
PlayerTextDrawTextSize(playerid, Textdraw0[playerid], -176.250061, 51.333259);
PlayerTextDrawAlignment(playerid, Textdraw0[playerid], 2);
PlayerTextDrawColor(playerid, Textdraw0[playerid], -1);
PlayerTextDrawSetShadow(playerid, Textdraw0[playerid], 0);
PlayerTextDrawSetOutline(playerid, Textdraw0[playerid], 21);
PlayerTextDrawFont(playerid, Textdraw0[playerid], 4);

Textdraw1[playerid] = CreatePlayerTextDraw(playerid, 554.583374, 400.296325, "spedom:2");
PlayerTextDrawLetterSize(playerid, Textdraw1[playerid], 0.000000, 0.000000);
PlayerTextDrawTextSize(playerid, Textdraw1[playerid], 10.416663, 11.925930);
PlayerTextDrawAlignment(playerid, Textdraw1[playerid], 1);
PlayerTextDrawColor(playerid, Textdraw1[playerid], -1);
PlayerTextDrawSetShadow(playerid, Textdraw1[playerid], 0);
PlayerTextDrawSetOutline(playerid, Textdraw1[playerid], 0);
PlayerTextDrawFont(playerid, Textdraw1[playerid], 4);

Textdraw2[playerid] = CreatePlayerTextDraw(playerid, 609.999938, 425.703735, "spedom:3");
PlayerTextDrawLetterSize(playerid, Textdraw2[playerid], 0.000000, 0.000000);
PlayerTextDrawTextSize(playerid, Textdraw2[playerid], 5.833327, 6.740751);
PlayerTextDrawAlignment(playerid, Textdraw2[playerid], 1);
PlayerTextDrawColor(playerid, Textdraw2[playerid], -1);
PlayerTextDrawSetShadow(playerid, Textdraw2[playerid], 0);
PlayerTextDrawSetOutline(playerid, Textdraw2[playerid], 0);
PlayerTextDrawFont(playerid, Textdraw2[playerid], 4);

Textdraw3[playerid] = CreatePlayerTextDraw(playerid, 604.166687, 425.703735, "spedom:3");
PlayerTextDrawLetterSize(playerid, Textdraw3[playerid], 0.000000, 0.000000);
PlayerTextDrawTextSize(playerid, Textdraw3[playerid], 5.416645, 5.703701);
PlayerTextDrawAlignment(playerid, Textdraw3[playerid], 1);
PlayerTextDrawColor(playerid, Textdraw3[playerid], -1);
PlayerTextDrawSetShadow(playerid, Textdraw3[playerid], 0);
PlayerTextDrawSetOutline(playerid, Textdraw3[playerid], 0);
PlayerTextDrawFont(playerid, Textdraw3[playerid], 4);

Textdraw4[playerid] = CreatePlayerTextDraw(playerid, 598.333251, 419.481475, "spedom:3");
PlayerTextDrawLetterSize(playerid, Textdraw4[playerid], 0.000000, 0.000000);
PlayerTextDrawTextSize(playerid, Textdraw4[playerid], 4.583312, 6.222198);
PlayerTextDrawAlignment(playerid, Textdraw4[playerid], 1);
PlayerTextDrawColor(playerid, Textdraw4[playerid], -1);
PlayerTextDrawSetShadow(playerid, Textdraw4[playerid], 0);
PlayerTextDrawSetOutline(playerid, Textdraw4[playerid], 0);
PlayerTextDrawFont(playerid, Textdraw4[playerid], 4);

Textdraw5[playerid] = CreatePlayerTextDraw(playerid, 592.500000, 412.222229, "spedom:3");
PlayerTextDrawLetterSize(playerid, Textdraw5[playerid], 0.000000, 0.000000);
PlayerTextDrawTextSize(playerid, Textdraw5[playerid], 6.666687, 7.777770);
PlayerTextDrawAlignment(playerid, Textdraw5[playerid], 1);
PlayerTextDrawColor(playerid, Textdraw5[playerid], -1);
PlayerTextDrawSetShadow(playerid, Textdraw5[playerid], 0);
PlayerTextDrawSetOutline(playerid, Textdraw5[playerid], 0);
PlayerTextDrawFont(playerid, Textdraw5[playerid], 4);

Textdraw6[playerid] = CreatePlayerTextDraw(playerid, 592.500000, 404.444458, "spedom:3");
PlayerTextDrawLetterSize(playerid, Textdraw6[playerid], 0.000000, 0.000000);
PlayerTextDrawTextSize(playerid, Textdraw6[playerid], 7.500000, 6.222229);
PlayerTextDrawAlignment(playerid, Textdraw6[playerid], 1);
PlayerTextDrawColor(playerid, Textdraw6[playerid], -1);
PlayerTextDrawSetShadow(playerid, Textdraw6[playerid], 0);
PlayerTextDrawSetOutline(playerid, Textdraw6[playerid], 0);
PlayerTextDrawFont(playerid, Textdraw6[playerid], 4);

Textdraw7[playerid] = CreatePlayerTextDraw(playerid, 595.416687, 395.629638, "spedom:3");
PlayerTextDrawLetterSize(playerid, Textdraw7[playerid], 0.000000, 0.000000);
PlayerTextDrawTextSize(playerid, Textdraw7[playerid], 4.583312, 5.185180);
PlayerTextDrawAlignment(playerid, Textdraw7[playerid], 1);
PlayerTextDrawColor(playerid, Textdraw7[playerid], -1);
PlayerTextDrawSetShadow(playerid, Textdraw7[playerid], 0);
PlayerTextDrawSetOutline(playerid, Textdraw7[playerid], 0);
PlayerTextDrawFont(playerid, Textdraw7[playerid], 4);

Textdraw8[playerid] = CreatePlayerTextDraw(playerid, 600.833435, 389.407409, "spedom:3");
PlayerTextDrawLetterSize(playerid, Textdraw8[playerid], 0.000000, 0.000000);
PlayerTextDrawTextSize(playerid, Textdraw8[playerid], 4.166625, 4.666687);
PlayerTextDrawAlignment(playerid, Textdraw8[playerid], 1);
PlayerTextDrawColor(playerid, Textdraw8[playerid], -1);
PlayerTextDrawSetShadow(playerid, Textdraw8[playerid], 0);
PlayerTextDrawSetOutline(playerid, Textdraw8[playerid], 0);
PlayerTextDrawFont(playerid, Textdraw8[playerid], 4);

Textdraw9[playerid] = CreatePlayerTextDraw(playerid, 607.916687, 386.814819, "spedom:3");
PlayerTextDrawLetterSize(playerid, Textdraw9[playerid], 0.000000, 0.000000);
PlayerTextDrawTextSize(playerid, Textdraw9[playerid], 4.583312, 4.148132);
PlayerTextDrawAlignment(playerid, Textdraw9[playerid], 1);
PlayerTextDrawColor(playerid, Textdraw9[playerid], -1);
PlayerTextDrawSetShadow(playerid, Textdraw9[playerid], 0);
PlayerTextDrawSetOutline(playerid, Textdraw9[playerid], 0);
PlayerTextDrawFont(playerid, Textdraw9[playerid], 4);

Textdraw10[playerid] = CreatePlayerTextDraw(playerid, 612.916687, 382.666687, "spedom:3");
PlayerTextDrawLetterSize(playerid, Textdraw10[playerid], 0.000000, 0.000000);
PlayerTextDrawTextSize(playerid, Textdraw10[playerid], 7.916625, 9.333312);
PlayerTextDrawAlignment(playerid, Textdraw10[playerid], 1);
PlayerTextDrawColor(playerid, Textdraw10[playerid], -1);
PlayerTextDrawSetShadow(playerid, Textdraw10[playerid], 0);
PlayerTextDrawSetOutline(playerid, Textdraw10[playerid], 0);
PlayerTextDrawFont(playerid, Textdraw10[playerid], 4);

Textdraw11[playerid] = CreatePlayerTextDraw(playerid, 622.500000, 388.888916, "spedom:3");
PlayerTextDrawLetterSize(playerid, Textdraw11[playerid], 0.000000, 0.000000);
PlayerTextDrawTextSize(playerid, Textdraw11[playerid], 5.000000, 5.703674);
PlayerTextDrawAlignment(playerid, Textdraw11[playerid], 1);
PlayerTextDrawColor(playerid, Textdraw11[playerid], -1);
PlayerTextDrawSetShadow(playerid, Textdraw11[playerid], 0);
PlayerTextDrawSetOutline(playerid, Textdraw11[playerid], 0);
PlayerTextDrawFont(playerid, Textdraw11[playerid], 4);

Textdraw12[playerid] = CreatePlayerTextDraw(playerid, 625.833312, 396.148162, "spedom:3");
PlayerTextDrawLetterSize(playerid, Textdraw12[playerid], 0.000000, 0.000000);
PlayerTextDrawTextSize(playerid, Textdraw12[playerid], 5.416687, 5.185150);
PlayerTextDrawAlignment(playerid, Textdraw12[playerid], 1);
PlayerTextDrawColor(playerid, Textdraw12[playerid], -1);
PlayerTextDrawSetShadow(playerid, Textdraw12[playerid], 0);
PlayerTextDrawSetOutline(playerid, Textdraw12[playerid], 0);
PlayerTextDrawFont(playerid, Textdraw12[playerid], 4);

Textdraw13[playerid] = CreatePlayerTextDraw(playerid, 629.583312, 403.925933, "spedom:3");
PlayerTextDrawLetterSize(playerid, Textdraw13[playerid], 0.000000, 0.000000);
PlayerTextDrawTextSize(playerid, Textdraw13[playerid], 4.166687, 4.666656);
PlayerTextDrawAlignment(playerid, Textdraw13[playerid], 1);
PlayerTextDrawColor(playerid, Textdraw13[playerid], -1);
PlayerTextDrawSetShadow(playerid, Textdraw13[playerid], 0);
PlayerTextDrawSetOutline(playerid, Textdraw13[playerid], 0);
PlayerTextDrawFont(playerid, Textdraw13[playerid], 4);

Textdraw14[playerid] = CreatePlayerTextDraw(playerid, 627.083312, 411.185180, "spedom:3");
PlayerTextDrawLetterSize(playerid, Textdraw14[playerid], 0.000000, 0.000000);
PlayerTextDrawTextSize(playerid, Textdraw14[playerid], 6.666687, 6.740753);
PlayerTextDrawAlignment(playerid, Textdraw14[playerid], 1);
PlayerTextDrawColor(playerid, Textdraw14[playerid], -1);
PlayerTextDrawSetShadow(playerid, Textdraw14[playerid], 0);
PlayerTextDrawSetOutline(playerid, Textdraw14[playerid], 0);
PlayerTextDrawFont(playerid, Textdraw14[playerid], 4);

Textdraw15[playerid] = CreatePlayerTextDraw(playerid, 622.500000, 421.037048, "spedom:3");
PlayerTextDrawLetterSize(playerid, Textdraw15[playerid], 0.000000, 0.000000);
PlayerTextDrawTextSize(playerid, Textdraw15[playerid], 7.916687, 4.666656);
PlayerTextDrawAlignment(playerid, Textdraw15[playerid], 1);
PlayerTextDrawColor(playerid, Textdraw15[playerid], -1);
PlayerTextDrawSetShadow(playerid, Textdraw15[playerid], 0);
PlayerTextDrawSetOutline(playerid, Textdraw15[playerid], 0);
PlayerTextDrawFont(playerid, Textdraw15[playerid], 4);

Textdraw16[playerid] = CreatePlayerTextDraw(playerid, 620.000000, 423.111083, "spedom:3");
PlayerTextDrawLetterSize(playerid, Textdraw16[playerid], 0.000000, 0.000000);
PlayerTextDrawTextSize(playerid, Textdraw16[playerid], 4.166687, 9.851867);
PlayerTextDrawAlignment(playerid, Textdraw16[playerid], 1);
PlayerTextDrawColor(playerid, Textdraw16[playerid], -1);
PlayerTextDrawSetShadow(playerid, Textdraw16[playerid], 0);
PlayerTextDrawSetOutline(playerid, Textdraw16[playerid], 0);
PlayerTextDrawFont(playerid, Textdraw16[playerid], 4);

Textdraw17[playerid] = CreatePlayerTextDraw(playerid, 525.833312, 420.000000, "spedom:4");
PlayerTextDrawLetterSize(playerid, Textdraw17[playerid], 0.000000, 0.000000);
PlayerTextDrawTextSize(playerid, Textdraw17[playerid], 9.166687, 11.925933);
PlayerTextDrawAlignment(playerid, Textdraw17[playerid], 1);
PlayerTextDrawColor(playerid, Textdraw17[playerid], -1);
PlayerTextDrawSetShadow(playerid, Textdraw17[playerid], 0);
PlayerTextDrawSetOutline(playerid, Textdraw17[playerid], 0);
PlayerTextDrawFont(playerid, Textdraw17[playerid], 4);

Textdraw18[playerid] = CreatePlayerTextDraw(playerid, 538.333557, 421.555541, "spedom:5");
PlayerTextDrawLetterSize(playerid, Textdraw18[playerid], 0.000000, 0.000000);
PlayerTextDrawTextSize(playerid, Textdraw18[playerid], 11.250000, 10.888885);
PlayerTextDrawAlignment(playerid, Textdraw18[playerid], 1);
PlayerTextDrawColor(playerid, Textdraw18[playerid], -1);
PlayerTextDrawSetShadow(playerid, Textdraw18[playerid], 0);
PlayerTextDrawSetOutline(playerid, Textdraw18[playerid], 0);
PlayerTextDrawFont(playerid, Textdraw18[playerid], 4);

Textdraw19[playerid] = CreatePlayerTextDraw(playerid, 555.833312, 422.592590, "spedom:6");
PlayerTextDrawLetterSize(playerid, Textdraw19[playerid], 0.000000, 0.000000);
PlayerTextDrawTextSize(playerid, Textdraw19[playerid], 7.916687, 8.814819);
PlayerTextDrawAlignment(playerid, Textdraw19[playerid], 1);
PlayerTextDrawColor(playerid, Textdraw19[playerid], -1);
PlayerTextDrawSetShadow(playerid, Textdraw19[playerid], 0);
PlayerTextDrawSetOutline(playerid, Textdraw19[playerid], 0);
PlayerTextDrawFont(playerid, Textdraw19[playerid], 4);

Textdraw20[playerid] = CreatePlayerTextDraw(playerid, 570.833312, 419.481475, "spedom:7");
PlayerTextDrawLetterSize(playerid, Textdraw20[playerid], 0.000000, 0.000000);
PlayerTextDrawTextSize(playerid, Textdraw20[playerid], 12.500000, 12.962982);
PlayerTextDrawAlignment(playerid, Textdraw20[playerid], 1);
PlayerTextDrawColor(playerid, Textdraw20[playerid], -1);
PlayerTextDrawSetShadow(playerid, Textdraw20[playerid], 0);
PlayerTextDrawSetOutline(playerid, Textdraw20[playerid], 0);
PlayerTextDrawFont(playerid, Textdraw20[playerid], 4);

Textdraw21[playerid] = CreatePlayerTextDraw(playerid, 605.000000, 398.222259, "1000");
PlayerTextDrawLetterSize(playerid, Textdraw21[playerid], 0.251250, 1.195555);
PlayerTextDrawAlignment(playerid, Textdraw21[playerid], 1);
PlayerTextDrawColor(playerid, Textdraw21[playerid], -1);
PlayerTextDrawSetShadow(playerid, Textdraw21[playerid], 0);
PlayerTextDrawSetOutline(playerid, Textdraw21[playerid], 1);
PlayerTextDrawBackgroundColor(playerid, Textdraw21[playerid], 51);
PlayerTextDrawFont(playerid, Textdraw21[playerid], 0);
PlayerTextDrawSetProportional(playerid, Textdraw21[playerid], 1);

Textdraw22[playerid] = CreatePlayerTextDraw(playerid, 605.833068, 409.111114, "KM/H");
PlayerTextDrawLetterSize(playerid, Textdraw22[playerid], 0.186249, 1.019259);
PlayerTextDrawAlignment(playerid, Textdraw22[playerid], 1);
PlayerTextDrawColor(playerid, Textdraw22[playerid], -1);
PlayerTextDrawSetShadow(playerid, Textdraw22[playerid], -1225);
PlayerTextDrawSetOutline(playerid, Textdraw22[playerid], 0);
PlayerTextDrawBackgroundColor(playerid, Textdraw22[playerid], 51);
PlayerTextDrawFont(playerid, Textdraw22[playerid], 3);
PlayerTextDrawSetProportional(playerid, Textdraw22[playerid], 1);

Textdraw23[playerid] = CreatePlayerTextDraw(playerid, 565.833435, 397.703735, "I I I I");
PlayerTextDrawLetterSize(playerid, Textdraw23[playerid], 0.242500, 1.822963);
PlayerTextDrawAlignment(playerid, Textdraw23[playerid], 1);
PlayerTextDrawColor(playerid, Textdraw23[playerid], -1);
PlayerTextDrawSetShadow(playerid, Textdraw23[playerid], 3);
PlayerTextDrawSetOutline(playerid, Textdraw23[playerid], 0);
PlayerTextDrawBackgroundColor(playerid, Textdraw23[playerid], 51);
PlayerTextDrawFont(playerid, Textdraw23[playerid], 0);
PlayerTextDrawSetProportional(playerid, Textdraw23[playerid], 1);

Textdraw24[playerid] = CreatePlayerTextDraw(playerid, 543.750000, 386.814758, "00000");
PlayerTextDrawLetterSize(playerid, Textdraw24[playerid], 0.175000, 0.900000);
PlayerTextDrawAlignment(playerid, Textdraw24[playerid], 1);
PlayerTextDrawColor(playerid, Textdraw24[playerid], -1);
PlayerTextDrawSetShadow(playerid, Textdraw24[playerid], 0);
PlayerTextDrawSetOutline(playerid, Textdraw24[playerid], 1);
PlayerTextDrawBackgroundColor(playerid, Textdraw24[playerid], 51);
PlayerTextDrawFont(playerid, Textdraw24[playerid], 2);

Textdraw25[playerid] = CreatePlayerTextDraw(playerid, 567.500122, 382.666595, "KM");
PlayerTextDrawLetterSize(playerid, Textdraw25[playerid], 0.165000, 0.822222);
PlayerTextDrawAlignment(playerid, Textdraw25[playerid], 1);
PlayerTextDrawColor(playerid, Textdraw25[playerid], -2139062017);
PlayerTextDrawSetShadow(playerid, Textdraw25[playerid], 0);
PlayerTextDrawSetOutline(playerid, Textdraw25[playerid], 1);
PlayerTextDrawBackgroundColor(playerid, Textdraw25[playerid], 51);
PlayerTextDrawFont(playerid, Textdraw25[playerid], 2);
PlayerTextDrawSetProportional(playerid, Textdraw25[playerid], 1);

 


Мне их вывести надо, когда игрок за рулем,я понял только одно if(PLAYER_STATE_DRIVER)

{

 

}

Все,больше ничего. А как сделать спидометр,надеюсь сам разберусь)

Поделиться сообщением


Ссылка на сообщение

3 ответа на этот вопрос

  • 2

@Antoxa39, в функции OnPlayerStateChange, соответственно, где у вас осуществляется проверка на то, сел ли игрок за руль, необходимо вызвать функции отображения TextDraw'ов:

// в OnPlayerStateChange
if (newstate == PLAYER_STATE_DRIVER) {
    PlayerTextDrawShow(playerid, Textdraw0);
    PlayerTextDrawShow(playerid, Textdraw1);
    // ...
    PlayerTextDrawShow(playerid, Textdraw24);
    PlayerTextDrawShow(playerid, Textdraw25);
}

Дабы не прописывать так 26 строк для отображения и скрытия спидометра, обычно создают массив из текстдравов, например, так:

#define MAX_SPEEDOMETER_TEXTDRAWS 26
new PlayerText:TextDrawSpeedometer[MAX_SPEEDOMETER_TEXTDRAWS][MAX_PLAYERS];

Далее переименуйте все свои текстдравы по следующему алгоритму: Textdraw0 на TextDrawSpeedometer[playerid][0], Textdraw1 на TextDrawSpeedometer[playerid][1] и так далее. Сделать это можно в любом текстовом редакторе. В результате ваш код в OnPlayerConnect (или где у вас идет создание текстдравов) будет выглядеть примерно так:

TextDrawSpeedometer[0][playerid] = CreatePlayerTextDraw(playerid, 635.000000383.185119"spedom:1");
PlayerTextDrawLetterSize(playerid, TextDrawSpeedometer[0][playerid], 0.0000000.000000);
PlayerTextDrawTextSize(playerid, TextDrawSpeedometer[0][playerid], -176.25006151.333259);
PlayerTextDrawAlignment(playerid, TextDrawSpeedometer[0][playerid], 2);
PlayerTextDrawColor(playerid, TextDrawSpeedometer[0][playerid], -1);
PlayerTextDrawSetShadow(playerid, TextDrawSpeedometer[0][playerid], 0);
PlayerTextDrawSetOutline(playerid, TextDrawSpeedometer[0][playerid], 21);
PlayerTextDrawFont(playerid, TextDrawSpeedometer[0][playerid], 4);
// ...

Тогда для отображения останется использовать лишь один цикл:

 

// в OnPlayerStateChange

if (newstate == PLAYER_STATE_DRIVER) {
    for (new i = 0; i < MAX_SPEEDOMETER_TEXTDRAWS; i++) {
        PlayerTextDrawShow(playerid, TextDrawSpeedometer[i][playerid]);
    }
}

Ну, и, соответственно, когда игрок покидает транспортное средство (то есть его предыдущие состояние oldstate - PLAYER_STATE_DRIVER), необходимо скрыть текстдравы:

// в OnPlayerStateChange

if (oldstate == PLAYER_STATE_DRIVER) {
    for (new i = 0; i < MAX_SPEEDOMETER_TEXTDRAWS; i++) {
        PlayerTextDrawShow(playerid, TextDrawSpeedometer[i][playerid]);
    }   
}

 

Поделиться сообщением


Ссылка на сообщение
  • 0

@Cawfee 

@Antoxa39 

 + ещё немного:

if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
{
    // ...
}

Данный участок кода можно вставлять где угодно. Функция GetPlayerState возвращает нынешний статус игрока, после чего можно "сравнивать" его с нужными вам статусами

Поделиться сообщением


Ссылка на сообщение
Гость
Эта тема закрыта для публикации ответов.
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу