XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Warcraft> Барахолка
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

Ответ
 
bee
vjass.optimizer
offline
Опыт: 16,615
Активность:
Floating Text

Что делает?

Увеличивает и уменьшает размер тексттага за короткий промежуток времени, тем самым его "подсвечивая". Может быть полезно, если надоело простое создание плавающего текста и вам хочется его как-нибудь разнообразить.
Объяснил не очень, но извиняйте уж.

Как установить?

Скачать карту, вытащить из Custom Script весь код (библиотеку) и вставить в свою карту. Настроить константы на свой вкус и сохранить. При этом у вас должен быть установлен Jass New Gen Pack 5d с последним Jass Helperом.

Как использовать?

Вызывать статический метод add структуры FT
static method add takes texttag tt, string s returns nothing, который принимает указатель на ваш texttag и саму строку, которая показывается.
Остальное система сделает сама.

Запустите карту, в которой показано два примера.
Тексттаг создается при применении способности и при убийстве рабочих :)

Код наработки

» code
Код:
library FloatingText
    
    // created by
    // [XGM.ru] bee
    
    globals
        private constant real period = 1.00 / 40.00
        private constant real rate = 0.001265
        private constant real max = 0.034155
        private constant real min = 0.02277
        private constant real lifetime = 2.00
    endglobals
    
    struct FT
        static FT array data
        static integer count=0
        static timer timer=CreateTimer()
        
        static method tim takes nothing returns nothing
            local FT this
            local integer i=0
            
            loop
                exitwhen i>=.count
                set this=.data[i]
                
                if .b then
                    set .fg=.fg+rate
                    if .fg>max then
                        set .b=false
                    else
                        call SetTextTagText(.tt, .s, .fg)
                    endif
                else
                    set .fg=.fg-rate
                    if .fg<min then
                        call SetTextTagPermanent(.tt, false)
                        call SetTextTagLifespan( .tt, lifetime )
                        call SetTextTagFadepoint( .tt, lifetime-0.1 )
                        
                        call .destroy()
                        set .count=.count-1
                        set .data[i]=.data[.count]
                        set i=i-1
                        
                        if .count==0 then
                            call PauseTimer(.timer)
                        endif
                    else
                        call SetTextTagText(.tt, .s, .fg)
                    endif
                endif
                
                set i=i+1
            endloop
        endmethod
        
        static method add takes texttag tt, string s returns nothing
            set .data[.count]=FT.create()
            set .data[.count].tt=tt
            set .data[.count].fg=min
            set .data[.count].b=true
            set .data[.count].s=s
            
            if .count==0 then
                call TimerStart(.timer,period,true,function FT.tim)
            endif
            
            set .count=.count+1
        endmethod
        
        texttag tt
        real fg
        boolean b
        string s
    endstruct
    
endlibrary

Ссылка

Запилите хоть один комент, форумчане! Хоть кому-нибудь это пригодиться хоть?
Прикрепленные файлы
Тип файла: w3x FloatingText.w3x (15.6 Кбайт, 89 просмотров )
Старый 18.08.2011, 01:20
Master_chan
Полуночный командир
offline
Опыт: 15,660
Активность:
Интересно получилось, хотя было бы неплохо масштабировать во все стороны а не в одну.
И будет куда нубов посылать с глупыми вопросами.
Старый 18.08.2011, 03:31
bee
vjass.optimizer
offline
Опыт: 16,615
Активность:
Я тупанул - сделал так, что функцию можно вызывать уже на созданный тт.
Завтра поправлю, чтоб можно было создать текст в указанных x, y, с указанными r, g, b, a и текстом сразу. А то система итак не торт так она еще и урезанная.
Старый 18.08.2011, 03:46
Rampage
Бицепс
offline
Опыт: 9,722
Активность:
bee, молодчина, то, что нужно.
Старый 18.08.2011, 06:29
16GB
GhostOne User
offline
Опыт: 60,317
Активность:
это как в гиаз реталешейшан орпг, у меня кста те тоже такое запилено в карте, только чуть по другому выглядит
Старый 18.08.2011, 08:07
Clamp
Lost in space
offline
Опыт: 71,158
Активность:
16GB:
у меня кстати тоже такое запилено в карте, только чуть по другому выглядит
у меня тоже, только не "прыгает", а исчезает так (поднимается вверх и уменьшается).
Clamp добавил:
только без структур =\
Старый 18.08.2011, 08:36
Extremator

offline
Опыт: 39,428
Активность:
в имбе что-то похожее с критами ))))
тока там он ещё и летит в верх как обычно...
Старый 18.08.2011, 08:39
bee
vjass.optimizer
offline
Опыт: 16,615
Активность:
Цитата:
Сообщение от Extremator
в имбе что-то похожее с критами ))))
тока там он ещё и летит в верх как обычно...
нее) я вдохновился старинной картой Uther Party)
Старый 18.08.2011, 09:32
Feast Keny
Kicked by DragonSpirit
offline
Опыт: 106
Активность:
Ээээ... Я не понял :) Но понял :(
Старый 18.08.2011, 09:54
LuNa_aDa
Trolling For Ever
offline
Опыт: 12,610
Активность:
Прикольно сделано, только вот исчезновение текстага какое то банально, прыгнул / присел и не двигаясь исчез. Было бы классно, если бы он плавно затухал
Старый 18.08.2011, 11:12
bee
vjass.optimizer
offline
Опыт: 16,615
Активность:
Hell_oy, так он плавно и затухает) только не сильно заметно) ибо на исчезновение дается 0.10 секунды)
Старый 19.08.2011, 00:21
LuNa_aDa
Trolling For Ever
offline
Опыт: 12,610
Активность:
bee, установи побольше - красивее будет
Старый 19.08.2011, 00:39
Ferox
Дело - дрянь
offline
Опыт: 11,273
Активность:
bee, такое реально на GUI сделать?
Старый 19.08.2011, 00:56
bee
vjass.optimizer
offline
Опыт: 16,615
Активность:
LuXan, да, спокойно, но меня не проси)
Старый 19.08.2011, 01:18
Helpmeplz

offline
Опыт: 11,738
Активность:
Цитата:
Я тупанул - сделал так, что функцию можно вызывать уже на созданный тт.
Завтра поправлю, чтоб можно было создать текст в указанных x, y, с указанными r, g, b, a и текстом сразу. А то система итак не торт так она еще и урезанная.

не совсем удобно
система должна создавать эффект над текстагом, а не сам текстаг
функция add должна принимать текстаг, период времени, начальный и конечный размер(причем размеры задавать в гуи варианте, т.к. это удобней)
Старый 19.08.2011, 12:32
bee
vjass.optimizer
offline
Опыт: 16,615
Активность:
Цитата:
не совсем удобно
система должна создавать эффект над текстагом, а не сам текстаг
функция add должна принимать текстаг, период времени, начальный и конечный размер
такое можно сделать, на досуге пофанюсь
Цитата:
(причем размеры задавать в гуи варианте, т.к. это удобней)
имеешь ввиду в целых числах? ~10-11?
Старый 19.08.2011, 20:52
Helpmeplz

offline
Опыт: 11,738
Активность:
bee, да
Старый 19.08.2011, 21:11
Feast Keny
Kicked by DragonSpirit
offline
Опыт: 106
Активность:
Сделайте пожалуйста на ГУИ...
Старый 24.09.2011, 08:12
Master_chan
Полуночный командир
offline
Опыт: 15,660
Активность:
Feast_Keny:
Сделайте пожалуйста на ГУИ...
NO
Старый 24.09.2011, 09:12
Oxygen D
Вернулся
offline
Опыт: 5,180
Активность:
Интересно)
можно было и без структур
Нупикам local FT и destroy морочно будет.
Старый 25.09.2011, 23:03
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 05:10.