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

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

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

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

Мануал Мигающий и переливающийся 3d-текст

OKStyle

Адвокат по делам семейным
Administrator
Wiki Team
Регистрация
4 Мар 2011
Сообщения
7,094
Лучшие ответы
226
Репутация
2,455
Награды
11
В начало мода:
PHP:
new Text3D:atm[кол-во банкоматов], ftxt = 0;
В OnGameModeInit:
PHP:
atm[0] = Create3DTextLabel("Введите: /ATM", 0x008080FF, x, y, z, 40.0, 0); // xyz - ваши координаты
atm[1] = .... // и т.д.
// ....
SetTimer("Flash3DText", 1000, 0);
Вариант 1

В низ мода:
PHP:
forward Flash3DText();
public Flash3DText()

{
    for(new i = sizeof(atm) - 1; i != -1; i--)
    {
        if(ftxt == 1) Update3DTextLabelText(atm[i], 0x00FF00FF, "Введите: /ATM"), ftxt = 0;
        else Update3DTextLabelText(atm[i], 0x0000FFFF, "Введите: /ATM"), ftxt = 1;
    }
    SetTimer("Flash3DText", 1000, 0);
}
Вариант 2

Это для 2х цветов. Для большего количества будет такой вид:
PHP:
public Flash3DText()
{
    for(new i = sizeof(atm) - 1; i != -1; i--)
    {
        switch(ftxt)
        {
            case 0: Update3DTextLabelText(atm[i], 0x00FF00FF, "Введите: /ATM"), ftxt += 1;
            case 1: Update3DTextLabelText(atm[i], 0x0000FFFF, "Введите: /ATM"), ftxt += 1;
            // ... и т.д.
            default: ftxt = 0;
        }
    }
    SetTimer("Flash3DText", 1000, 0);
}
Вариант 3

Если вы хотите, чтобы текст мигал одним цветом, то используйте такую функцию:
PHP:
public Flash3DText()
{
    for(new i = sizeof(atm) - 1; i != -1; i--)
    {
        if(ftxt == 1) Update3DTextLabelText(atm[i], 0xFF000000, "Введите: /ATM"), ftxt = 0;
        else Update3DTextLabelText(atm[i], 0xFF0000FF, "Введите: /ATM"), ftxt = 1;
    }
    SetTimer("Flash3DText", 1000, 0);
}
Примечание: данный способ является более адекватным по сравнению с удалением/созданием лейбла повторно, т.к. при удалении может появиться "левый" id и пропадёт другой текст.

Примечание 2: для тех, кому важно малое кол-во строк, скажу, что можно поставить таймер с повтором, но за коллизию таймеров после рестартов я не отвечаю...

Функция будет выглядеть так:
PHP:
public Flash3DText()
{
    for(new i = sizeof(atm) - 1; i != -1; i--) { if(ftxt == 1) Update3DTextLabelText(atm[i], 0x00FF00FF, "Введите: /ATM"), ftxt = 0; else Update3DTextLabelText(atm[i], 0x0000FFFF, "Введите: /ATM"), ftxt = 1; }
}
Автор: OKStyle
 
Сверху Снизу