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

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

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

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

Работа с pragres bara

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

Anteik

Умник
Здравствуйте!Недавно я делал себе сис-му голода,жажды и тд. Решил сделать всё это при помощи progress bara, а вот урока не нашел...Вот думаю это кому нибудь будет полезно:
Давайте рассмотрим функции:

CreateProgressBar(x, y, width, height, color, max)//создаём

DestroyProgressBar(barid)//Удаляем

ShowProgressBarForPlayer(playerid, barid)//Показываем игроку

HideProgressBarForPlayer(playerid, barid)//Прячем игроку

ShowProgressBarForAll(barid)//Показываем всем

HideProgressBarForAll(barid)//Прячем для всех

SetProgressBarValue(barid, value)//Задаём значение

GetProgressBarValue(barid)//Узнаём значение

SetProgressBarMaxValue(barid, max)//Максимальное значение

SetProgressBarColor(barid, color)//Меняем цвет

UpdateProgressBar(barid, playerid=INVALID_PLAYER_ID)//Обновляем
Пример как создавать бары:
Допустим у нас есть сис-ма голода и отвечает за неё "pEda"
Мы добавили include:

PHP:
#include <progress>
Создадим new:
PHP:
new Bar:EdaBar[MAX_PLAYERS];
Создаём бар:
Допустим в public OnPlayerConnect(playerid)
PHP:
EdaBar[playerid] = CreateProgressBar(548.00, 27.00, 58.50, 3.50, -1048321, 100.0);//корды  ̶с̶п̶и̶з̶д̶и̶л̶ позаимствовал
Показываем его:
PHP:
ShowProgressBarForPlayer(playerid, EdaBar[playerid]);
В ежесекундный таймер:
(Если у вас есть колбэк OnPlayerUpdate, то вам сюда: Тык)
PHP:
    SetProgressBarValue(EdaBar[playerid], PlayerInfo[playerid][pEda]);
    UpdateProgressBar(EdaBar[playerid], playerid);
Готово!Мы создали наш бар!Теперь он будет показывать нашу сытость!
Сис-ма голода для теста:
В enum pInfo:
PHP:
pEda,
В public OnPlayerConnect:
PHP:
PlayerInfo[playerid][pEda] = 0;
Засовываем в команду/регистрацию/паблик входа:
PHP:
PlayerInfo[playerid][pEda] = 100;
Когда купил хот-дог/ввёл команду:
PHP:
PlayerInfo[playerid][pEda] += 7;
В public OnPlayerDeath:
PHP:
PlayerInfo[playerid][pEda] = 50;
В ежесекундный таймер:
PHP:
if(PlayerInfo[playerid][pEda] > 100) PlayerInfo[playerid][pEda] = 100;
К forward:
PHP:
forward PlEda(playerid);
Создадим new:
PHP:
new Eda[MAX_PLAYERS];
В OnPlayerConnect:
PHP:
Eda[playerid] = SetTimerEx("PlEda", 180000, 1, "d", playerid);
Вконец мода:
PHP:
public PlEda(playerid){    PlayerInfo[playerid][pEda] -= 1;    return 1;}
Теперь можно тестить!Вы можете сделать сохранения и довести до ума данную сис-му(Если вам надо).
Термины:
Сис-ма - Система

Бар - progress bar
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу