30

» WarCraft 3 / Порча

Для чего нужно действие с целителем?
Потому что гугл мне выдал убрать порчу.
Неужто так сложно?
Загруженные файлы
30

» WarCraft 3 / Порча

если что я пользуюсь стандартным мапэдитором
Головой нужно пользоватья((
Загруженные файлы
30

» WarCraft 3 / Предмет: Божественный Щит

ScopteRectuS:
NazarPunk, UnitAlive - нативная функция же.
блин, по запаре не то скопривовал, хотел
native UnitAlive takes unit u returns boolean
Написал тест для проверки проверки
native UnitAlive takes unit u returns boolean
// !nocjass
//! zinc
library Start {

    unit U;
    
    function msg(string s, boolean b){
        string hp = R2S(GetWidgetLife(U));
        if (b) {BJDebugMsg(s + " - |cff00ff00Жив|r: |cff909090" + hp+"|r" ); }
        else { BJDebugMsg(s + " - |cffff0000Мёртв: |cff909090" + hp+"|r"); }
    }
    
    function IsUnitAlive(unit target) -> boolean {
        return GetWidgetLife(target) > 0.405 && !IsUnitType(target, UNIT_TYPE_DEAD) && GetUnitTypeId(target) != 0;
    }
    
    function test(string s){
        BJDebugMsg("|c55000099------"+s+"|r");
        msg("UnitAlive", UnitAlive(U));
        msg("IsUnitAliveBJ", IsUnitAliveBJ(U));
        msg("GetWidgetLife(U) > 0.405", GetWidgetLife(U) > 0.405);
        msg("IsUnitAlive",IsUnitAlive(U));
    }

    function onInit(){
        TimerStart(CreateTimer(), 0.01, false, function(){
            U = CreateUnit(Player(0), 'hfoo', GetStartLocationX(0), GetStartLocationY(0), GetRandomReal(0, 360));
            test("CreateUnit");
            KillUnit(U);
            test("KillUnit");
            SetWidgetLife(U, 30);
            test("SetWidgetLife(U, 30)");
            RemoveUnit(U);
            test("RemoveUnit(U)");
        });
        
    }
}
//! endzinc
// !endnocjass
Загруженные файлы
30

» WarCraft 3 / Предмет: Божественный Щит

Вот все функции для проверки жив ли юнит
function IsUnitAliveBJ takes unit whichUnit returns boolean
    return not IsUnitDeadBJ(whichUnit)
endfunction
function IsUnitDeadBJ takes unit whichUnit returns boolean
    return GetUnitState(whichUnit, UNIT_STATE_LIFE) <= 0
endfunction
function UnitAlive takes unit u returns boolean
    return not IsUnitType(u, UNIT_TYPE_DEAD) and GetUnitTypeId(u) != 0
endfunction
Так что их можно суммировать и написать мегафункцию
function IsUnitAlive(unit target) -> boolean {
    return GetWidgetLife(target) > 0.405 && !IsUnitType(target, UNIT_TYPE_DEAD) && GetUnitTypeId(target) != 0;
}
30

» WarCraft 3 / Спел похищение жизни!

Принятый ответ
я не знаю как через триггеры это сделать
Для этого на сайте и существуют статьи.
30

» WarCraft 3 / Смерть в лаве

Лучше сделай триггер, который будет обрабатывать всю карту и проверять точки
Для воды уже сделали, но он долго регион строит.
30

» WarCraft 3 / Предмет: Божественный Щит

respect_gg, пусть играют во что им вздумается, я код пишу и он работать должен. Хэндлы утекали когда я добавлял герою руну с божественным щитом, а если бы не текли, то всёравно нужно создвать два дополнительных объекта в РО, что напрягает.
30

» WarCraft 3 / Предмет: Божественный Щит

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

» WarCraft 3 / Предмет: Божественный Щит

Для кого это вообще создавалось?
Ну так сделайте лучше на гуи без хэштаблиц))
30

» WarCraft 3 / Предмет: Божественный Щит

тогда мемхак может запустить кд у такой способности а игрок нет
Если было бы в нативках, то сам бы использовал. Но из-за костыля с заменой предмета у меня бонусом получилась замена иконки и описания, чего просто так уже не сделаешь)
30

» WarCraft 3 / Предмет: Божественный Щит

но карта 100% рабочая и запускает везде где только можно
Может в новой винде дело, сейчас переутановлю вар, попробую ещё раз.
Bergi_Bear:
проафкал 10 минут
Не проафкал, а не вкурил что куда нажимать.
30

» WarCraft 3 / Предмет: Божественный Щит

но надо что-то в константах подкрутить чтобы передать кд
Если бы можно было передать кд, было бы вообще отлично.
Bergi_Bear:
В моей карте про сларков 15 предметов и способностей имеют пассивную перезарядку
хотел потестить, но видимо у меня варкрафт неправильный((
Загруженные файлы
30

» WarCraft 3 / Предмет: Божественный Щит

quq_CCCP, значит остаётся писать универсальную систему и внутри 100500 проверок/костылей, чтобы всё работало)
30

» WarCraft 3 / Предмет: Божественный Щит

quq_CCCP:
Увы это работает криво, пока многие дефолтные абилки блочат инвентарь.
А какой есть выбор?
  • мемхак
  • не использовать блок инвентаря
  • не использовать эту систему
30

» WarCraft 3 / Предмет: Божественный Щит

о по какому принципу идёт перезарядка? героя активирует подменный предмет? если да, то получется что на прервётся текущий приказ
Замена предмета и UnitUseItem который работает коряво и сбивает приказ. Пробовал давать руну с абилкой, но это две лишние способности и хэндлы утекали.
Как бы это делается 1 строчкой на мемхаке
Хотел бы я увидеть эту волшебную строчку, но не спорю мемхак бы помог в отслеживании/установке кд.

Сейчас хочу сделать универсальную систему, посмотрю что получится.
30

» WarCraft 3 / Козырная пешка (RPG)

либо нагороженная система дамми-клон итемов с перекладывание
Не такая система и нагороженная))
30

» WarCraft 3 / Смерть в лаве

Насколько мне известно, воскрешение создаёт нового юнита
Тоже так думал, но проверка показала, что нет.
PT153:
передвижения точки нет в стандартном WE
Зато у скачавших будет причина переходить на JNGP или JASS)
30

» WarCraft 3 / Смерть в лаве

PT153, был на работе и затупил. Думал, что вы имеете ввиду, что мёртвые юниты удаляются из группы автоматически(
DeathOnLavaRemoveUnit не удаляет из группы героев и если его отключат, чтоб использовать Воскрешение, то добавлена проверка, что юнит жив и триггер не будет спамить эффектами.
30

» WarCraft 3 / Смерть в лаве

На мёртвых героях, ведь они не удаляются.
На юнитах тоже.
pro100master, для начала нужно хотябы проверку по четырём точкам сделать.
30

» WarCraft 3 / Смерть в лаве

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