Steal nerves, мне не нужно отслеживать выделение, есть нативные функции для получения мыши в глобальных координатах в 1.29+. Проецирую их на экран. Например, на скриншоте все слоты инвентаря - спецэффекты.
native BlzSetSpecialEffectScale takes effect whichEffect, real scale returns nothing
не дает изменить соотношение сторон.
BlzPlaySpecialEffect - вообще нет в common.j
ApEJI, ресет хранит только последнее изменение.
Рандомный ландшафт сделать играбельным в большем масштабе намного сложнее, а еще сложнее сделать его интересным, многообразным и логичным. Честно говоря, не увидел чего-то необычного в наработке. Тем более на гуи... Фу-фу-фу, простите...
Стоит ввести возможность работать с графическим конвеером, при должной реализации со стороны близардов это может породить кучу универсальных и не очень библиотек.
Делал подобное с его помощью, достаточно геморно. Создавал отдельную карту с которой надо скопировать, там все выставлял кастомными декорациями. Потом прогонял программу и в карте куда хочу записать этот ландшафт нужно создать такие же разрушаемые объекты как декорации в первой с теми же id. Работало замечательно
avuremybe, через EVENT_PLAYER_UNIT_ISSUED_UNIT_ORDER удалось получить предмет-цель, но не предмет-кастер
Все получилось
EVENT_PLAYER_UNIT_ISSUED_UNIT_ORDER
цель:
GetOrderTargetItem()
слот в котором использованный:
slot = GetIssuedOrderId() - 852008
Pergin, через мемхак пока нельзя поменять модель "на лету". Можно изменить модель у типа юнита, но применяется это тольно к новым. То есть меняешь это поле у типа юнитов и все те кто появится после этого будут с другой моделькой
quq_CCCP, не нашел такой функции( Нужно это для следующего:
Есть системка (через структуры), которая контролирует параметры каждого отдельного юнита(атаку, макс хп, криты, резист, скейлы навыков и т.д.). Инвентарь 2х6 (надетое и рюкзак), генератор случайных предметов(основанный на вышеупомянутой системе). Чтобы при использовании предмета, он одевался, на нем должна быть способность. Если приказ у всех одинаковый - используются все одновременно. Таким образом, необходимо сделать стэк незанятых "каналов" и выдавать их предмету в процессе генерации. Так как у разных игроков id приказа может быть один и тот же, нужно всего 12 абилок и 12 стэков для реализации. 12 стэков по 12 так как планируется рпг
quq_CCCP, мне бы то что есть, хочу уже до ума довести систему свою наработку (генерация предметов со случайными параметрами), сейчас завис на выводе списка статов в инвентаре. Не подскажешь, где инфу по смещениям у юнитов(как было выяснено предмет - юнит) накопать?
Да и на моем примитивном уровне большая часть функций не нужны)
Clamp, чтобы не привязываться к какому бы то ни было ресурсу, требующему отдельной установки
Как вариант выгружать библиотеку средствами мемхака, а нативки вызывать неявно через ExecuteFunc.
Второй вариант: собранную библиотеку внедрять в карту побайтно, сделав асемблерную вставку, должно работать, но надо знать куда втыкать
по идее есть 2 исхода для первого варианта, на первом запуске карты народ будет ловить десинк или же все сразу заведется
Так что думаю вполне реально сделать отрисовку кастомного UI таким образом
Ред. Nelloy
» WarCraft 3 / Синхронизация.
protected unit instance = CreateUnit(dummy_owner, ui_dummy2d_id, 0, 0, 0)
override function setPos (vec3 world_pos)
this.instance.setPosFly(vec3(world_pos.x, world_pos.y, world_pos.z - world_pos.toVec2().getTerrainZ()))
Ред. Nelloy
» WarCraft 3 / Синхронизация.
Ред. Nelloy
» WarCraft 3 / Синхронизация.
не дает изменить соотношение сторон.
BlzPlaySpecialEffect - вообще нет в common.j
» WarCraft 3 / Тест на десинк.
» WarCraft 3 / Динамическое создание ландшафта (Wurst)
» WarCraft 3 / Динамическое создание ландшафта (Wurst)
Рандомный ландшафт сделать играбельным в большем масштабе намного сложнее, а еще сложнее сделать его интересным, многообразным и логичным. Честно говоря, не увидел чего-то необычного в наработке. Тем более на гуи... Фу-фу-фу, простите...
» WarCraft 3 / Как добавить наработку на сайт?
Ред. Nelloy
» Мир безумного / WarCraft III Reforged - WE (что хотите увидеть?)
Расширение возможностей code
Wurst-подобный язык и другой синтаксический сахар
» Мир безумного / WarCraft III Reforged - WE (что хотите увидеть?)
» WarCraft 3 / Как копировать данные ландшфат?
» WarCraft 3 / Blizzard готовят Producer Update для Warcraft 3
» WarCraft 3 / Как сделать что бы мобы бегали за тобой и юзали спелы
» WarCraft 3 / Игровой интерфейс
Ред. Nelloy
» WarCraft 3 / Использование предмета на предмет
Все получилось
EVENT_PLAYER_UNIT_ISSUED_UNIT_ORDER
GetOrderTargetItem()
слот в котором использованный:
slot = GetIssuedOrderId() - 852008
Ред. Nelloy
» WarCraft 3 / Предметы(memhach)
set gg_trg_UseItem = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_UseItem, EVENT_PLAYER_UNIT_ISSUED_ORDER )
call TriggerAddAction( gg_trg_UseItem, function Trig_UseItem_Actions )
endfunction
function Trig_UseItem_Actions не вызывается при использовании предмета
А, разобрался
» WarCraft 3 / Предметы(memhach)
» WarCraft 3 / Предметы(memhach)
» WarCraft 3 / Как триггерно поменять модель юнита
Ред. Nelloy
» WarCraft 3 / Предметы(memhach)
Есть системка (через структуры), которая контролирует параметры каждого отдельного юнита(атаку, макс хп, криты, резист, скейлы навыков и т.д.). Инвентарь 2х6 (надетое и рюкзак), генератор случайных предметов(основанный на вышеупомянутой системе). Чтобы при использовании предмета, он одевался, на нем должна быть способность. Если приказ у всех одинаковый - используются все одновременно. Таким образом, необходимо сделать стэк незанятых "каналов" и выдавать их предмету в процессе генерации. Так как у разных игроков id приказа может быть один и тот же, нужно всего 12 абилок и 12 стэков для реализации. 12 стэков по 12 так как планируется рпг
» WarCraft 3 / MemHack
» WarCraft 3 / MemHack
Да и на моем примитивном уровне большая часть функций не нужны)
» WarCraft 3 / MemHack
Ред. Nelloy
» WarCraft 3 / Проблема с аое ДоТ-ой
» RenderEdge / [RenderEdge] Графическая модификация для WarCraft III
Ред. Nelloy
» RenderEdge / [RenderEdge] Графическая модификация для WarCraft III
Как вариант выгружать библиотеку средствами мемхака, а нативки вызывать неявно через ExecuteFunc.
Второй вариант: собранную библиотеку внедрять в карту побайтно, сделав асемблерную вставку, должно работать, но надо знать куда втыкать
по идее есть 2 исхода для первого варианта, на первом запуске карты народ будет ловить десинк или же все сразу заведется
Так что думаю вполне реально сделать отрисовку кастомного UI таким образом