17

» WarCraft 3 / Фокус фрейма-кнопки, v1.31

native BlzFrameSetFocus takes framehandle frame, boolean flag returns nothing
а ещё можно к кнопке или фрейму прикрепить tooltip который будет отображаться при наведении на фрейм
--menu - родительский элемент кнопки
function AttachTooltip(menu, button, text)
    local tooltip = BlzCreateFrameByType("TEXT", "StandardInfoTextTemplate", menu, "StandardInfoTextTemplate", 0)
    BlzFrameSetSize(tooltip, 0.148, 0.02)
    BlzFrameSetPoint(tooltip, FRAMEPOINT_BOTTOMLEFT, menu, FRAMEPOINT_BOTTOMLEFT, 0.015, 0.015)
    BlzFrameSetTextAlignment(tooltip, TEXT_JUSTIFY_TOP, TEXT_JUSTIFY_LEFT)
    BlzFrameSetText(tooltip, text)
    BlzFrameSetTooltip(button, tooltip)
end
на хайве тоже достаточно инфы:
17

» WarCraft 3 / Геометрические функции - проекция

GetLocalPlayer, Спасибо, позаимствовал функцию из вурста:
function PolarProjectionXYZ(x, y, z, dist, GroundAngle, FacingAngle)
    --FacingAngle - 0-360
    --GroundAngle - 0-180
    local x1 = x + dist*SinBJ(GroundAngle)*CosBJ(FacingAngle)
    local y1 = y + dist*SinBJ(GroundAngle)*SinBJ(FacingAngle)
    local z1 = z + dist*CosBJ(GroundAngle)
    --
    return x1,y1,z1
end
17

» WarCraft 3 / Общее здание

Есть комба способностей, которая позволяет видеть и использовать спеллы юнита:
Загруженные файлы
17

» WarCraft 3 / Random point in region

находим центр региона, берём 360, делим на кол-во юнитов, раскидываем на рандомное расстояние от 200 до 400(? или больше) с помощью функции
lua

function PolarProjectionXY(x, y, dist, angle)
    local PPx = x + dist * Cos(angle * bj_DEGTORAD)
    local PPy = y + dist * Sin(angle * bj_DEGTORAD)
    return PPx, PPy
end
//-----------
jass

globals
real PPx
real PPy
endglobals

function PolarProjectionXY takes real x, real y, real dist, real angle returns nothing
    PPx = x + dist * Cos(angle * bj_DEGTORAD)
    PPy = y + dist * Sin(angle * bj_DEGTORAD)
endfunction
17

» WarCraft 3 / подменить war3map.lua на свой кастомный

теоретически можно сохранить карту как папку, заменять оригинальный скрипт на свой, и потом уже собирать в архив
17

» WarCraft 3 / Бета версия Warcraft III Reforged 1.32

На вин7 кто-нибудь запускал?
Ловлю фатал сразу после запуска.
Просто пролетала информация что только на десятке пашет D:
17

» WarCraft 3 / Десинхроны людей вначале карты

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

» WarCraft 3 / Кастомный блинк

Способ создавать юнитов не оправдал себя, но способ с предметом работает как часы.
NazarPunk:
Мне уже кажется что проблема в клиффе, ибо даже покрытый блокаторами, на нём всё ещё можно создать юнита и закинуть наверх предмет.
Странно, на перемещении предмета библиотека основана и у меня не получалось на клифф закинуть. Сбросьте карту.
Поправка: Закинуть наверх предмет через выкладывание из героя, когда герой сам застрял на клиффе.

Странно, что хоть близзы хоть и убрали возможность триггерно кидать 100 предметов в один пиксель, но даже простым райт кликом можно это обойти, если найти точку куда дропнуть предмет:
Загруженные файлы
17

» WarCraft 3 / Кастомный блинк

Способ с блокаторами и юнитом работает, но клифф всё ещё держится (даммики для наглядности):
Мне уже кажется что проблема в клиффе, ибо даже покрытый блокаторами, на нём всё ещё можно создать юнита и закинуть наверх предмет.
Походу пора добавлять ещё один слой проверки в виде ректов, куда нельзя тпхаться.
17

» WarCraft 3 / Деструктиблы, смерть, анимация

Darknessay, при выборе модельки для юнита из РО, эта моделька проигрывается слева, под миникартой
Там же можно посмотреть название и длительность анимаций.
17

» WarCraft 3 / Возможна ли без JASS автоматическая добыча древесины?

Утечки удаляются в момент выхода из карты, чем дольше игра виснет когда тыкаешь ок на лоадскрине, тем больше было утечек
это тестил утечные тексттаги, минут за 10 набралось 2кк, утекало по 50 тт каждые 0.01 сек
вар стал требовать почти 1гб озу, ну и фпс дико просел после 1.5кк
Загруженные файлы
17

» WarCraft 3 / Вода при использовании TerrainDeformCrater

ааа, вы всю локу ниже опускаете
хз, умеет ли вар с таким работать xD
почти везде используют водяного даммика
17

» WarCraft 3 / Вода при использовании TerrainDeformCrater

триггерно высота склона не понижается, он остаётся прежним, подробнее тут
даммик с моделькой "понижение уровня воды" в помощь
17

» WarCraft 3 / ТАймер

хештаблица или глобалка?
или юзайте 2 таймера,а на второй кидайте ссылку на 1й...
17

» WarCraft 3 / Телепортация по областям в соответствии с координатами

Это может пригодиться:
    public real PPx
    public real PPy

    public function PolarProjection takes unit u, real dist, real angle returns nothing
        set PPx=GetUnitX(u)+dist*Cos(angle*bj_DEGTORAD)
        set PPy=GetUnitY(u)+dist*Sin(angle*bj_DEGTORAD)
    endfunction
    
    public function PolarProjectionXY takes real x, real y, real dist, real angle returns nothing
        set PPx=x+dist*Cos(angle*bj_DEGTORAD)
        set PPy=y+dist*Sin(angle*bj_DEGTORAD)
    endfunction
17

» WarCraft 3 / Конверт

Ну тип можно на хендл фильтра чтонибудь записать, например юнита.
А в фильтре проверять, что на нём записано и пропускать что нужно.
Видел где-то такое, но сам не тестил.
17

» WarCraft 3 / Диалоги. Непонятная ситуация

>>Но при нажатии кнопка обрабатывается неправильно, будто бы игнорируя 1 игрока и обрабатывается для 2 игрока (исходя из того что пишет [Дебаг] нажата кнопка №2, но может быть я ошибаюсь).
Мб где-то слетела бж функция GetConvertedPlayerID и изза этого цифорки поломались
Тык
function GetConvertedPlayerId takes player whichPlayer returns integer
    return GetPlayerId(whichPlayer) + 1
endfunction