library RPGTest initializer Init uses UnitDex
globals
// Event types
constant integer EVENT_TEST_USE_ITEM = 0
constant integer EVENT_TEST_SPELL_CAST = 1
// System variables
private trigger array IndexTrig
endglobals
function RegisterTestEnter takes code func returns triggercondition
return TriggerAddCondition(IndexTrig[EVENT_HERO_USE_ITEM], Filter(func))
endfunction
function RegisterTestRemove takes code func returns triggercondition
return TriggerAddCondition(IndexTrig[EVENT_HERO_SPELL_CAST], Filter(func))
endfunction
private function onEnter takes nothing returns boolean
return false
endfunction
private function onRemove takes nothing returns boolean
return false
endfunction
private function Init takes nothing returns nothing
local integer i = 11
local player p
set IndexTrig[EVENT_HERO_USE_ITEM] = CreateTrigger()
set IndexTrig[EVENT_HERO_SPELL_CAST] = CreateTrigger()
loop
exitwhen i == 0
set p = Player(i)
call TriggerRegisterPlayerUnitEvent(IndexTrig[EVENT_HERO_USE_ITEM], p, EVENT_PLAYER_UNIT_USE_ITEM, null)
call TriggerRegisterPlayerUnitEvent(IndexTrig[EVENT_HERO_SPELL_CAST], p, EVENT_PLAYER_UNIT_SPELL_CAST, null)
set i = i - 1
endloop
call TriggerAddCondition(IndexTrig[EVENT_HERO_USE_ITEM], Filter(function onEnter))
call TriggerAddCondition(IndexTrig[EVENT_HERO_SPELL_CAST], Filter(function onRemove))
endfunction
endlibrary
))
Если написать функцию RegisterTestEnter (filter) в другом месте, то из call TriggerAddCondition(IndexTrig[EVENT_HERO_USE_ITEM], Filter(function onEnter)) не будет работать
Поэтому сделал отдельно, то есть
Ловим события что предмет нажато, то толкать call TriggerEvaluate(IndexTrig[EVENT_HERO_USE_ITEM]) иначе другого не вижу
Если у вас только 1 героя для 1 игрока то лучше при выбора героя или load сохранить unit героя в переменю по индекса игрока а после чего ловите события что игрок печатал комманду и проверять есть ли герой у игрока в массиве если да то переместить иначе игнорировать
Очень просто береш редактор потом через меню Extensions -> Edit Tiles и там все удаляеш кроме 1 траву и каждый тайлсет имеет квадратный синый он отвечает за склоны, сохраняеш и пересоздаеш карту и будет лишь тайлы без склонов
пф а не проше ли узнать значение регена маны если значение добавить к основному мп то есть
герой имеет 50 мп + 3 мп итог 53 потом расчитиваем за время если зелье дал больше чем 53 который в скором не регенрнули то ловите события что было восполнено мп зельями а не реген
че вы изврашаете? достаточно делать способность "постака ресурсов (Копия канал)" и делает здание для 12 игрока и являет союз всех игроков... и каждый игрок имеет свой технология... если 1 игрок убил 1 босса то изучаем технология для 1 игрока и здание появит для 1 игрока 2 босс кнопкой активный, но остальным закрыто
» RenderEdge / [RenderEdge] Memory Hack
» WarCraft 3 / Возможно оследить какое здание тренирует юнитов!!
» WarCraft 3 / Помощь по созданию ботов для карты, с оплатой
Ред. pro100master
» WarCraft 3 / Почему нельзя создать больше TriggerAddCondition для 1 триггера?
Поэтому сделал отдельно, то есть
» WarCraft 3 / Почему нельзя создать больше TriggerAddCondition для 1 триггера?
» WarCraft 3 / Способности и алгоритмы на заказ
» WarCraft 3 / Только одно улучщение
» WarCraft 3 / Баффы, основанные на одной способности
» WarCraft 3 / Баффы, основанные на одной способности
» WarCraft 3 / Что не так?
» WarCraft 3 / Как сделать такое как на скрине?
» WarCraft 3 / Как сделать такое как на скрине?
» WarCraft 3 / Как сделать такое как на скрине?
» WarCraft 3 / Где находится файл Level bar'а в Варкрафте?
» WarCraft 3 / Что не так?
» WarCraft 3 / Как сделать такое как на скрине?
» WarCraft 3 / Анимации и способности
» WarCraft 3 / Как сделать так чтобы как в лордах европы города меняли владельц
» WarCraft 3 / Ожидание игроков после загрузки
» WarCraft 3 / Хак на память Warcraft3
» WarCraft 3 / Как создавать предметы в нейтральном здании?
» WarCraft 3 / Как повернуть модель декорации в качестве здания?
» WarCraft 3 / Лестница
» WarCraft 3 / а как замедлить время?