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

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

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

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

[Урок] Использование "CreateDynamic3DTextLabel".

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

Unreal

Изучающий
Регистрация
28 Ноя 2011
Сообщения
934
Лучшие ответы
0
Репутация
697
На форуме подобного урока нету, а всем я надеюсь было бы интересно знать как же все таки сделать статистику предположим материалов у армии "Зона 51".
Взял ее потому что щас много кто пользуется модом RLS.

Мы будем делать обновляющийся 3DText со статистикой кол-ва материалов у з51.

Для начала нам надо добавить ко всем new переменную отвечающую за последующие действия с 3д текстом.

PHP:
new Text3D:StatZona; // StatZona заменять на свое можно.
Далее нам надо добавить сам 3Dtext, мы идем в public OnGameModeInit.

PHP:
format(string,sizeof(string),"Материалов на Зоне 51\n%d", armmatbi);
StatZona  = CreateDynamic3DTextLabel(string,COLOR_YELLOW,-111.5784,-111.2751,11.0039,30.0,INVALID_PLAYER_ID,INVALID_PLAYER_ID,0,-1,-1,-1,100.0);
[HR][/HR]
Разберем:
COLOR_YELLOW - Цвет текста.
-1845.5784,-1617.2751,24.0039 - Координаты по X, Y, Z
30.0 - Дальность видимости нашего 3д текста.
INVALID_PLAYER_ID,INVALID_PLAYER_ID - чаще всего используется для проверки, есть ли игрок / id на сервере
0 - будет виден 3д текст сквозь обьекты, если то 0 то нет.
-1 - вирт. мир
-1 - ID интерьера.
-1 - playerid.
100.0 - Прозрачность 3д текста.

[HR][/HR]

Теперь разберемся с
PHP:
format(string,sizeof(string),"Материалов на Зоне 51\n%d", armmatbi);
%d - это мы используем для того чтоб показывало нам значения, в данном случае armmatbi.

Теперь создадим Update для обновления нашего 3д текста.

Вставлять Update в конец мода желательно.

Назовем его к примеру UpdateMatArm


PHP:
UpdateMatArm()
    {
        new string[156];
                format(string,sizeof(string),"Материалов на Зоне 51\n%d",armmatbi);
        UpdateDynamic3DTextLabelText(StatZona, COLOR_YELLOW, string);
        return true;
    }
Тут я думаю все понятно.
Теперь чтоб при взятие оружия со склада, или наоборот положить материалы на склад наш 3д текст обновлялся мы вот эту вот функцию.
PHP:
UpdateMatArm();
Добавляем в те комманды где ложим маты или в пикапы где берем оружия.
Пример:
Код:
if(pickupid == gunarm[0])
        {
                    if(PlayerInfo[playerid][pMember] != 19) return SendClientMessage(playerid, COLOR_WHITE,"Вы не солдат Зоны 51!");
                    if(PlayerInfo[playerid][pGun51Time] > 0) return SendClientMessage(playerid,COLOR_GRAD1,"Брать оружие можно раз в 5 минут");
            if(armmatbi <= 0) return SendClientMessage(playerid,COLOR_GRAD1,"На складе нет оружия!");
            GiveFreemanGun(playerid, 24, 100);
            GiveFreemanGun(playerid, 31, 200);
            SetPlayerArmourAC(playerid, 100);
            SetPlayerHealthAC(playerid,100);
            PlayerInfo[playerid][pHP] = 100;            armmatbi -= 100;            PlayerInfo[playerid][pGun51Time] = 60;            SendClientMessage(playerid, COLOR_ISPOLZUY,"Вам выдано: Deagle (100),M4 (200), Бронижелет, Сухой паёк");
                        UpdateMatArm(); // Функция обновления нашего 3д текста.        }
Вот что у нас получится.



P.S Я извиняюсь может за неправильное описание самой сис-мы, но думаю послужит как образец.
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу