21

» WarCraft 3 / Как закрепить плавающий текст вверху экрана?

Кажется получилось сделать:
function SuperTextPrinter( toPlayer, duration, message )
    local GAME_UI = BlzGetOriginFrame( ORIGIN_FRAME_GAME_UI, 0 )
    local tooltip = BlzCreateFrameByType("TEXT", "", GAME_UI, "", 0)

    BlzFrameSetPoint( tooltip, FRAMEPOINT_TOP, GAME_UI, FRAMEPOINT_TOP, 0.0, -0.03 )
    BlzFrameSetText( tooltip, message )
    BlzFrameSetVisible( tooltip, GetLocalPlayer( ) == toPlayer )
    BlzFrameSetScale( tooltip, 2.0 )

    if duration > 0.0 then
        TimerStart( CreateTimer( ), duration - 1.0, false, function( )
            local alpha = 0xFF

            TimerStart( GetExpiredTimer( ), 0.03125, true, function( )
                alpha = alpha - 0x08

                if alpha >= 0x00 then
                    BlzFrameSetAlpha( tooltip, alpha )

                else
                    DestroyTimer( GetExpiredTimer( ) )
                    BlzDestroyFrame( tooltip )
                end
            end )
        end )

        return nil

    else
        return tooltip
    end
end
Сделал через setScale.
Загруженные файлы
21

» WarCraft 3 / Как закрепить плавающий текст вверху экрана?

    FrameFont "MasterFont", 0.013, "",
0.013 это же размер шрифта, да? Попробывал все варинаты, а размер шрифта всё равно не меняется.
NazarPunk, есть ли хоть маленький шанс найти нужный мне шрифт с нужным размером здесь
21

» WarCraft 3 / Способность огненный голем

Берём способность эксгумации у нежити и выставляем количество уровней на два. Появится новое поле для трупа второго уровня. Там не будет ничего написано. Копираем его через Ctrl+C и вставляем через Ctrl+V куда нужно. Если так сделать, там даже пробелов не будет (можно проверить чeрез Shift+Enter).
21

» WarCraft 3 / Как закрепить плавающий текст вверху экрана?

Hate, зачем мне этот мультибоард, если близы добавили нативную поддержку делать то же самое?
К тому же, по-моему, в карте нельзя использовать больше одного мультибоарда.
21

» WarCraft 3 / Как закрепить плавающий текст вверху экрана?

NazarPunk, если в двух словах, то мне нужна функция из мемхака:
    function SuperTextPrinter takes string s, integer color, real staytime returns nothing
        call CallThisCallWith4Args( pPrintText1, RMem( pGameClass2 ), GetStringAddress( s ), mR2I( staytime ), color )
    endfunction
21

» WarCraft 3 / Как закрепить плавающий текст вверху экрана?

NazarPunk, здесь Вы просто переместили надпись, а мне нужно создать свой текст
Здесь я вывел через SetPlayerState( ) надпись на экране, как видно на скрине, эта надпись намного крупнее.
Загруженные файлы
21

» WarCraft 3 / Как закрепить плавающий текст вверху экрана?

NazarPunk, а почему текст не похож? Я попытался имзенить размер, но он не меняется. Расположение тоже не получается сделать по центру.
Походу это просто текст на экране, а не сообщение о расходах.
SetSize меняет не размер, а местонахождение...
21

» WarCraft 3 / Как закрепить плавающий текст вверху экрана?

prog, а Вы не знаете как это сделать? Я пытался, но ничего не смог сделать, едниственное, что смог сделать, это сдвинуть в места "Нет расходов" и только то, что вызывается во время игры, а сам свою создать никак не могу.
        local mainFrame = BlzGetOriginFrame( ORIGIN_FRAME_TOP_MSG, 0 )
        local text      = BlzCreateFrame( "ResourceBarUpkeepText", mainFrame, 0, 0 )

        SetPlayerState( Player(0), PLAYER_STATE_RESOURCE_FOOD_USED, 99 )

        BlzFrameSetText( text, "P I C K   H E R O" )
        BlzFrameSetVisible( text, true )

        BlzFrameSetPoint( text, FRAMEPOINT_TOP, mainFrame, FRAMEPOINT_CENTER, 0.0, 0.0 )

        print( "ASD" )
21

» WarCraft 3 / проблема с ландшафтом

PT153, основная причина - это некрасивый вид склонов, но скоро выйдет рефордж, а там они будут нормально выглядеть.
21

» WarCraft 3 / проблема с ландшафтом

NazarPunk, я обычно (всегда) делаю через клифы.
Стоит также сказать, что раньше тайлсет карты был Outland (Глушь). Так как вместо воды была бездна, этих косяков карты не было видно. Сейчас решил изменить тайлсет и вижу этот ужас.
21

» WarCraft 3 / проблема с ландшафтом

PT153, там же при создании карты по дефолту стоит 2, я там никогда не меняю.
21

» WarCraft 3 / Официально стал доступен PTR 1.31

Данные карты больше не портятся при сохранении
Это про строки, которые по кд ломались?
21

» WarCraft 3 / Как переходить на lua?

prog, я сейчас пишу код в vscode, а затем через ctrl+c и ctrl+v переношу в редактор триггеров.
21

» WarCraft 3 / Как переходить на lua?

сразу скажу - все они работают вне WE
ай, блин. Тогда уж лучше вручную править war3map.lua
21

» WarCraft 3 / Как переходить на lua?

Но есть и другие инструменты, в том числе такие которые копируют синтаксис инжекта в мейн из жассхелпера.
Про это хотелось бы узнать подробнее.
21

» WarCraft 3 / Как переходить на lua?

prog, не совсем понял, что вы написали. Но возник другой вопрос, можно ли здесь переменную math.pi сделать приватной?
math = { }

math.pi = 3.14

function math.abs( a )
    if a >= 0 then
        return a
    else
        return -a
    end
end
21

» WarCraft 3 / Как переходить на lua?

Как написать свою библиотеку (как math) в Lua?
math = { }

math.pi = 3.14

function math.abs( a )
    if a >= 0 then
        return a
    else
        return -a
    end
end
21

» WarCraft 3 / Официально стал доступен PTR 1.31

А зачем задисейблили кнопку "Конвертировать в текст"?
И теперь не нужно писать beginusercode.
Загруженные файлы
21

» WarCraft 3 / Заклинание: Волна Воды

NazarPunk, спасибо. Поставил бы плюсиков, да кончились они.(
max = 3 на одного пользователя
21

» WarCraft 3 / Заклинание: Волна Воды

NazarPunk, спасибо большое. Теперь всё стало намного понятнее. Не могли ли бы Вы также рассказать про *in*:
for i = 0, 10, in do
Что за ключевое слово такое?

NazarPunk, еще хотел бы узнать о функциях в Lua.
function varName( ) return 0 end
varName = function( ) return 0 end
Это одно и то же или нет? Все функции в Lua - переменные? Я пришел к такому после того, как объявил две функции с одинаковыми именами, а при вызове этой функции вызывалась та, что ниже находилась, выглядит так, будто перезаписали переменную.