Доступ к архиву

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Отображение здоровья в TextDraw

Статус
В этой теме нельзя размещать новые ответы.

jeffreymcdon

Ученик
Сделал TextDraw в котором отображается здоровье игрока. Но столкнулся с проблемой, что показывает ТД не только твоего здоровья, а и остальных игроков. То есть я зашел на сервер, немного попадал и сбил свое здоровье до 80, зашел друг (у него 100 хп) и у меня получилось 2 ТД которые друг на друге лежат 80 (мое хп) и 100 (хп друга)

Код ниже

во всех new:
Код:
new Text:CheckAmount[MAX_PLAYERS][2];
new Float:AR;
new Float:health;
во всех forward:
Код:
forward checkhealth();
Сами TD (в OnGameModeInit):
Код:
    CheckAmount[playerid][0] = TextDrawCreate(562.999938, 33.185165, " ");
    TextDrawLetterSize(CheckAmount[playerid][0], 0.182999, 0.948740);
    TextDrawAlignment(CheckAmount[playerid][0], 1);
    TextDrawColor(CheckAmount[playerid][0], -1);
    TextDrawSetShadow(CheckAmount[playerid][0], 0);
    TextDrawSetOutline(CheckAmount[playerid][0], 0);
    TextDrawBackgroundColor(CheckAmount[playerid][0], 51);
    TextDrawFont(CheckAmount[playerid][0], 2);
    TextDrawSetProportional(CheckAmount[playerid][0], 1);

    CheckAmount[playerid][1]= TextDrawCreate(581.333068, 32.940723, " ");
    TextDrawLetterSize(CheckAmount[playerid][1], 0.182999, 0.948740);
    TextDrawAlignment(CheckAmount[playerid][1], 1);
    TextDrawColor(CheckAmount[playerid][1], -1);
    TextDrawSetShadow(CheckAmount[playerid][1], 0);
    TextDrawSetOutline(CheckAmount[playerid][1], 0);
    TextDrawBackgroundColor(CheckAmount[playerid][1], 51);
    TextDrawFont(CheckAmount[playerid][1], 2);
    TextDrawSetProportional(CheckAmount[playerid][1], 1);
В OnPlayerSpawn
Код:
SetTimer("checkhealth", 1000, 1);
Сам паблик:
Код:
public checkhealth()
{
   for(new i = GetMaxPlayers()-1; i != -1; i--)
   {
       if(!IsPlayerConnected(i)) continue;
       GetPlayerHealth(i, health);
       GetPlayerArmour(i, AR);
       format(strt, sizeof(strt), "%.0f", health);
       TextDrawSetString(CheckAmount[i][0], strt);
       format(strt, sizeof(strt), "%0.0f", AR);
       TextDrawSetString(CheckAmount[i][1], strt);
   }
   return true;
}
Сама команда:
Код:
CMD:test(playerid)
{
    GetPlayerHealth(playerid, health);
    GetPlayerArmour(playerid, AR);
    format(strt,sizeof(strt),"%.0f",health);
    TextDrawSetString(CheckAmount[playerid][0],strt);
    format(strt,sizeof(strt),"%0.0f",AR);
    TextDrawSetString(CheckAmount[playerid][1],strt);
    TextDrawShowForPlayer(playerid,CheckAmount[playerid][0]);
    TextDrawShowForPlayer(playerid,CheckAmount[playerid][1]);
}
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу