Доступ к готовым решениям

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

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

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

Мануал Футер со статистикой.

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

nonamepawn

Новичок
Доброго времени суток.
Сегодня я помогу сделать в вашем моде удобную статистику в низу экрана, хорошо подойдет для дм, тдм и т.п серверов.
​

Начнем с создания TextDraw:

В ваш PlayerInfo или, что там у вас связанное с игроков добавим pTextDraws[2].
Если нет, то создайте, если у вас уже создан какой-то свой массив не забудьте изменить в моем коде PlayerInfo на свое.
В OnPlayerConnect вставим создание.

PHP:
	PlayerInfo[playerid][pTextDraws][0] = CreatePlayerTextDraw(playerid, -0.625000, 425.850036, "_"); // Фон футера.
	PlayerTextDrawLetterSize(playerid, PlayerInfo[playerid][pTextDraws][0], 0.000000, 2.687500);
	PlayerTextDrawTextSize(playerid, PlayerInfo[playerid][pTextDraws][0], 657.500000, 0.000000);
	PlayerTextDrawAlignment(playerid, PlayerInfo[playerid][pTextDraws][0], 1);
	PlayerTextDrawColor(playerid, PlayerInfo[playerid][pTextDraws][0], -1);
	PlayerTextDrawUseBox(playerid, PlayerInfo[playerid][pTextDraws][0], 1);
	PlayerTextDrawBoxColor(playerid, PlayerInfo[playerid][pTextDraws][0], 255);
	PlayerTextDrawSetShadow(playerid, PlayerInfo[playerid][pTextDraws][0], 0);
	PlayerTextDrawSetOutline(playerid, PlayerInfo[playerid][pTextDraws][0], 0);
	PlayerTextDrawBackgroundColor(playerid, PlayerInfo[playerid][pTextDraws][0], 255);
	PlayerTextDrawFont(playerid, PlayerInfo[playerid][pTextDraws][0], 1);
	PlayerTextDrawSetProportional(playerid, PlayerInfo[playerid][pTextDraws][0], 1);
	PlayerTextDrawSetShadow(playerid, PlayerInfo[playerid][pTextDraws][0], 0);

	PlayerInfo[playerid][pTextDraws][1] = CreatePlayerTextDraw(playerid, 6.479227, 429.750030, "_"); // Текст футера
	PlayerTextDrawLetterSize(playerid, PlayerInfo[playerid][pTextDraws][1], 0.400000, 1.600000);
	PlayerTextDrawAlignment(playerid, PlayerInfo[playerid][pTextDraws][1], 1);
	PlayerTextDrawColor(playerid, PlayerInfo[playerid][pTextDraws][1], -1);
	PlayerTextDrawSetShadow(playerid, PlayerInfo[playerid][pTextDraws][1], 0);
	PlayerTextDrawSetOutline(playerid, PlayerInfo[playerid][pTextDraws][1], 0);
	PlayerTextDrawBackgroundColor(playerid, PlayerInfo[playerid][pTextDraws][1], 255);
	PlayerTextDrawFont(playerid, PlayerInfo[playerid][pTextDraws][1], 1);
	PlayerTextDrawSetProportional(playerid, PlayerInfo[playerid][pTextDraws][1], 1);
	PlayerTextDrawSetShadow(playerid, PlayerInfo[playerid][pTextDraws][1], 0);
Теперь создадим саму функцию которая будет вызываться, когда нужно обновить наш футер.
Вставляем функцию в мод и изменяем форматирование текста под себя,

PHP:
stock UpdatePlayerFooter(playerid)
{
    static string[MAX_STRING];
    format(string, sizeof(string), "~b~~h~NAME: ~w~%s ~b~~h~RANK: ~w~NONE ~b~~h~KILLS: ~w~%d ~b~~h~DEATHS: ~w~%d", GetPlayerNameEx(playerid), PlayerInfo[playerid][pKills], PlayerInfo[playerid][pDeaths]); // Изменяйте под себя, здесь указаны значения для примера. 
	return PlayerTextDrawSetString(playerid, PlayerInfo[playerid][pTextDraws][1], string); // Обновляем текст на экране.
}
Так же не забывайте показать наш футер

Например в OnPlayerSpawn добавьте.

PHP:
PlayerTextDrawShow(playerid, PlayerInfo[playerid][pTextDraws][0]);
PlayerTextDrawShow(playerid, PlayerInfo[playerid][pTextDraws][1]);
Так же перед показам футера его нужно обновить, для этого мы создавали функцию UpdatePlayerFooter(playerid)

Перед показом футера добавьте команду
PHP:
UpdatePlayerFooter(playerid);
Все готов, чтобы обновить наш футер после какого либо действия вставьте просто нашу функцию UpdatePlayerFooter(playerid)

Например

PHP:
public OnPlayerDeath(playerid, killerid, reason)
{
	PlayerInfo[killerid][pKills] += 1;
	PlayerInfo[playerid][pDeaths] += 1;
    
	UpdatePlayerFooter(playerid);
	UpdatePlayerFooter(killerid);
	return true;
}
Если будут вопросы, задавайте в ЛС.
Так же не забыл про скриншот.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу