МрачныйВорон, meta keys - shift, control, alt, META(win)
BlzGetTriggerPlayerMetaKey() - проверка, нажаты ли эти кнопки; если кнопка нажата, возвращает число нажатой мета клавиши (не знаю, правильно ли так называть на русском), shift = 1, control = 2, alt = 4, META = 8; если нажаты несколько кнопок, то складывается: shift+control = 3; shift + control + alt = 1+2+4 = 7.
МрачныйВорон, под катом функции для перевода из пикселей в DPI и обратно. Из той наработки, что я кидал выше. На луа.
кат
function PXTODPI()
return 0.6 / BlzGetLocalClientHeight()
end
function DPITOPX()
return BlzGetLocalClientHeight() / 0.6
end
function FrameBoundWidth()
return (BlzGetLocalClientWidth()-BlzGetLocalClientHeight()/600*800)/2
end
function GetScreenPosX(x)
return (-FrameBoundWidth()+x)*PXTODPI()
end
function GetScreenPosY(y)
return y*PXTODPI()
end
function ScreenRelativeX(x)
return (x * DPITOPX()) * (0.8/BlzGetLocalClientWidth())
end
Собственно, GetScreenPosX(x) и GetScreenPosY(y) переводят из пикселей в DPI.
Могу сказать, что размеры точно скалируются, так как если монитор 4:3, то точка отсчета будет 0, 0.
Где-то на хайве были системы с переводм из системы координат вк в пиксели (вроде оно).
Araders, переключи карту на луа и в кастом скрипт вставь код из спойлера, по кнопке сверху (где часы) будет скрывать
код
local show = true
TimerStart(CreateTimer(), 0, false, function()
BlzFrameSetScale(BlzFrameGetChild(BlzGetFrameByName("ConsoleUI",0),5), 0.001)
local hideUI = BlzCreateFrameByType("GLUETEXTBUTTON", "UIButton", BlzGetOriginFrame(ORIGIN_FRAME_GAME_UI, 0), "ScriptDialogButton", 0)
BlzFrameSetAbsPoint(hideUI, FRAMEPOINT_TOP, 0.4, 0.6)
BlzFrameSetSize(hideUI, 0.102, 0.034)
BlzFrameSetText(hideUI, "HIDE UI")
BlzFrameSetTextAlignment(hideUI, TEXT_JUSTIFY_TOP, TEXT_JUSTIFY_LEFT)
local hideTrigger = CreateTrigger()
BlzTriggerRegisterFrameEvent(hideTrigger, hideUI, FRAMEEVENT_CONTROL_CLICK)
TriggerAddAction(hideTrigger, function()
show = not show
BlzHideOriginFrames(not show)
BlzFrameSetVisible(BlzGetFrameByName("ConsoleUIBackdrop",0), show)
for i = 0, 12 do
local button = BlzGetFrameByName("CommandButton_"..i, 0)
BlzFrameSetVisible(button, show)
end
if show then
BlzFrameSetText(hideUI, "HIDE UI")
else
BlzFrameSetText(hideUI, "SHOW UI")
end
end)
DestroyTimer(GetExpiredTimer())
end)
правда работает только на последнем патче (или когда там фрейм чайлды появились), если не на нем, то BlzFrameSetScale(BlzFrameGetChild(BlzGetFrameByName("ConsoleUI",0),5), 0.001) убери и будет работать
Лунные глефы - Q Дрейвена из лола
Круговой бросок - Топоры ЗулДжина из хотса
Выслеживание - ну тут уже постарался
Броня - просто блок, сначала планировалось уклонение, но этого было маловато, добавил отражение
Благословение - почти стандартный рикошет охотницы, только сделан триггерно
тестовую карту делать было чуть чуть лень и, как я понял, всех героев будут кидать на одну карту и там тестить (если ничего не перепутал)
А ещё забыл на третьем уровне блока убрать шанс (там все ещё 100%) (только не говорите никому)
Bergi_Bear, С описаниями беда, не только у этого так, даже обычные, не триггерные могут криво отображаться. У другой способности одна из строк не влезала около 1-2 пикселей и последнее слово переходило на новую строку, из-за этого последняя строка вообще обрезалась.
А для мили головного мозга специально добавил подсказку в конце строки
Отредактирован Padparadscha
» WarCraft 3 / Отлов QWER с помощью jass
BlzGetTriggerPlayerMetaKey() - проверка, нажаты ли эти кнопки; если кнопка нажата, возвращает число нажатой мета клавиши (не знаю, правильно ли так называть на русском), shift = 1, control = 2, alt = 4, META = 8; если нажаты несколько кнопок, то складывается: shift+control = 3; shift + control + alt = 1+2+4 = 7.
» WarCraft 3 / скалируются ли размеры экрана?
Отредактирован Padparadscha
» WarCraft 3 / скалируются ли размеры экрана?
Где-то на хайве были системы с переводм из системы координат вк в пиксели (вроде оно).
» WarCraft 3 / Заклинания на заказ
Отредактирован Padparadscha
» WarCraft 3 / Заклинания на заказ
» WarCraft 3 / [Конкурс Героев] Охотница
Круговой бросок - Топоры ЗулДжина из хотса
Выслеживание - ну тут уже постарался
Броня - просто блок, сначала планировалось уклонение, но этого было маловато, добавил отражение
Благословение - почти стандартный рикошет охотницы, только сделан триггерно
А ещё забыл на третьем уровне блока убрать шанс (там все ещё 100%) (только не говорите никому)
Отредактирован Padparadscha
» WarCraft 3 / [Конкурс Героев] Охотница
Когда перенес строку с радиусом, всё стало нормально
» WarCraft 3 / [Конкурс Героев] Охотница
» WarCraft 3 / [Конкурс Героев] Охотница
Добавил активную часть для выслеживания.
Теперь, при приближении к следам, они появляются более плавно (на гифках не видно)
Добавил диамическое описание для способнойстей
Импорт и готовая карта