12

» Резьня / Вышла новая версия Резьни 1.74beta

Bergi_Bear, спс) Ну вообще это ремейк старой Резьни. Тут я запарился с Jass.
sleep, ну вообще области по краям тоже покрыты водой, только это мелкая вода. В будущем планирую разместить по краям некоторые объекты так что оставлю там мелкую воду)
12

» WarCraft 3 / WC3RusTextOptimizer

Extremator:
а ещё можно заменять Ы на b и l (bl)
Но слова начинающиеся с большой буквы Ы редко попадаются
Не знаю есть ли в этом смысл т.к по-моему русские символы и так занимают места как 2 латинских если не ошибаюсь)
12

» WarCraft 3 / Анти обзор

quq_CCCP, срать в тапки ультра сложностью отличная идея:D
Раньше вроде кто-то писал про битые модели в тумане войны которые вызывают краш. Хотя наверное это спровоцирует краш у всех.
И ещё видел костыльный способ в одной карте, там стоял неподвижный юнит с 0 обзора и дальней атакой и чуть подальше от него нейтрально-враждебный. Если этот враждебный юнит получал урон игроку засчитывался проигрыш. Я не знаю как это работает с МХ но если открыть карту в начальных настройках засчитывало поражение)
Ну самый норм способ получается мемхак
12

» WarCraft 3 / Как сохранить доп характиристики от книг во время морфа ?

Вот тут в статье есть про морф через руны. Это самый лучший способ по моему. Хотя зависит от задачи.
12

» WarCraft 3 / Блок урона во время - Юнит Получает Урон

PrincePhoenix, возможно я не прав но каменная броня срабатывает до события - Юнит Получил Урон поэтому у меня и не работает.
quq_CCCP, лечение получается просто результат нужен немного иной. Есть много способностей которые прерываются уроном. Я использую свои нестандартные способности с похожими механиками, только для прерывания проверяю если урон >1 то бафф слетает.
Неуязвимость не подходит т.к мобы перестают бить цель.
Возможно есть какая-то способность или способ который бы мог мне помочь. Поэтому и обратился с вопросом.
quq_CCCP, мне нужно найти способ заблокировать урон или снизить его так чтобы он стремился к нулю)
12

» Резьня / Вышла новая версия Резьни 1.70 beta

Бордер, скорее всего ты играл в старую. Это ремейк. Не думаю что 7 волн можно проходить пол дня.
12

» Резьня / Вышла новая версия Резьни 1.70 beta

Komkozavr, ну возможно так как там набор из 12 советов и они могут повторяться.
Надо сделать список того, что ещё не сделано и будет добавлено в следующих версиях, чтобы не шокировать тех кто играет в первый раз)
12

» Резьня / Вышла новая версия Резьни 1.70 beta

Komkozavr, ну насчет героев и предметов которые не покупаются карта пока сырая. Наверное забыл убрать недоделаные предметы хотя их всего штуки 3-4 и так же забыл поправить описания)
Насчет меню я никогда не любил команды, хотя это вроде как стандарт для варика. Мне кажется визуализация лучше.
Насчет "коровьей лепёхи"... наверное стоит обдумать появление такого предмета;\
Вот насчет 5-го пункта не понял. Ты про советы?) Какая там реклама? Там в советах есть всего одно сообщение рекламирующее группу. Не ужели это так плохо?)
12

» WarCraft 3 / Пропали анимации эффектов

У меня была проблема изза глючного порта наушников) Во всех картах эффекты со звуком которые создавались функцией не появлялись. Я выдернул наушники и перезагрузил комп. Всё заработало)
12

» WarCraft 3 / Как применить способность по id?

Никак. У каждой способности есть строчный id приказа. Например у способности "канал" его можно настраивать. Например если у тебя способность на основе канала кастуется без цели можешь дать ей id приказа stomp и через функцию IssueImmidateOrder ( unit, "stomp" ) приказать использовать эту способность. Если используешь способность на базе "канала" которая применяется на точку или цель возьми айдишники приказа со собобностями котоыре пременяются на точку или юнита соответственно. Например огненный столб для каста на точку и молот бури для каста на цель. Если тебе нужно использовать ванильную способность из варика просто узнай ее order id)
П.С. в названии функции может быть ошибка так как редактора не было под рукой)
12

» WarCraft 3 / Сделал модель,путь меняется при открытии файла

Misha34, если модель не открывается проблемы в модели или текстуре. Проверь путь текстуры.
12

» WarCraft 3 / Небо

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

» Резьня / Вышла новая версия Резьни 1.70 beta

Komkozavr, незнаю) Честно говоря я не особо играл в другие дефенсы и арены. В своё время много играл в X Hero Siege и Moo Moo. В жна играл пару раз в ранние версии, но мне не оч понравилось.
12

» WarCraft 3 / Изменения анимации снаряда атаки

quq_CCCP, возможно я что-то не так сделал, но сфера не заменяет снаряд атаки и более того она кидает снаряд в точку куда кастуется заклинания что мне совершенно не к чему. Я взял сферу молний с 0% шансом. На сколько помню доту там мьёльнир вырубал орбы только когда срабатывала способность, а с шансом в 0% она не срабатывает вообще.
12

» WarCraft 3 / GetLocalPlayer () и ShowUnit ()

Я где-то читал что можно создавать разный тип юнита передавая в функцию CreateUnit свой unitID для кажого игрока. Но я так пологаю если эти юниты буду продавать предметы это может превести к дисинхрону. Я прав?
12

» WarCraft 3 / GetUnitsInRange и condition. Ловля мертвых героев.

EnergyFrost:
Так в чем проблема сделать так, как я сказал. А случайность юнита из группы определять через while и exitwhen GetRandomInt(1, кол-во героев в группе) ==1
Да я уже все сделал как бы. Просто не могу понять почем GroupEnumUnitsInRange( gr, x, y, rng, filter ) не ловит дохлых геров)
Вот как я сделал респаун и GetUnitX и GetUnitY нормально ловят координаты дохлого героя.
p.s: в коде много функций из моей либы и не только так что не пугайтесь
function Trig_SoulLantern_Conditions takes nothing returns boolean
    return msc_check_item_for_id ( GetTriggerUnit (), GetIssuedOrderId (), 'Pr1L' )
endfunction

function Trig_SoulLantern_Actions takes nothing returns nothing
    local unit u = GetTriggerUnit ()
    local real x1 = GetOrderPointX ()
    local real y1 = GetOrderPointY ()
    local unit trg 
    local item it = msc_get_item_by_o_id ( u, GetIssuedOrderId () )
    local group gr = CreateGroup ()
    local real x2
    local real y2
    local real dist
    local integer i = 0
    loop
        set x2 = GetUnitX ( msc_Players.msc_player[i].hero )
        set y2 = GetUnitY ( msc_Players.msc_player[i].hero )
        set dist = msc_dist_between ( x1, x2, y1, y2 )
        if ( dist < 300.0 ) and ( IsUnitType ( msc_Players.msc_player[i].hero , UNIT_TYPE_DEAD ) ) then
            call GroupAddUnit ( gr, msc_Players.msc_player[i].hero )
        endif
        set i = i + 1
        exitwhen ( i == msc_Players.player_count )
    endloop
        
    set trg = GroupPickRandomUnit ( gr )
    
    if ( trg != null ) and ( GetItemCharges ( it ) > 0 ) then
        call CrossRespawn.respawn ( trg, 50.0, 50.0, GetUnitX ( trg ), GetUnitY ( trg ) )
    else
        if ( trg == null ) then
            call SimError ( GetOwningPlayer ( u ), "Можно применять только на могилы" )
        endif
        if ( GetItemCharges ( it ) == 0 ) then
            call SimError ( GetOwningPlayer ( u ), "Зарядите Фонарь при помощи Крестов" )
        endif
        call SetItemPosition ( it, 0, 0 )
        call msc_give_item_delay ( u, it, 0.00 )
    endif
    
    call DestroyGroup ( gr )
    set u = null
    set trg = null
    set it = null
    set gr = null
endfunction

//===========================================================================
function InitTrig_SoulLantern takes nothing returns nothing
    set gg_trg_SoulLantern = CreateTrigger(  )
    call TriggerRegisterAnyUnitEventBJ( gg_trg_SoulLantern, EVENT_PLAYER_UNIT_ISSUED_POINT_ORDER )
    call TriggerAddCondition( gg_trg_SoulLantern, Condition( function Trig_SoulLantern_Conditions ) )
    call TriggerAddAction( gg_trg_SoulLantern, function Trig_SoulLantern_Actions )
endfunction
12

» WarCraft 3 / GetUnitsInRange и condition. Ловля мертвых героев.

Не знаю но у меня GetUnitX и GetUnitY без проблем ловят координаты мертвых героев.
12

» WarCraft 3 / GetUnitsInRange и condition. Ловля мертвых героев.

GF RaiseD:
абила с выбором цели которая кастуется на область
Мог бы перефразировать?
Способность на базе "Канала" с типом наведения "цель - точка".
12

» WarCraft 3 / GetUnitsInRange и condition. Ловля мертвых героев.

EnergyFrost:
EvilPenguin, как? Паралльельные массивы или Revive? Или условие поставил <=0?
У меня в мапе и так есть массив героев, а точнее массив игроков ( эт структура ) и в этой структуре указан герой которым владеет игрок ну и стата игрока. Так что я просто пробегаюсь по нему и если герой мертв и расстояние от него до точки каста < 100, то долбавляю его в группу на респ. Потом из группы выбираю рандомного и ресаю. Группа нужна на случай если несколько игроков умерло рядом. Без группы ресался герой который стоит первее по списку, а так какой никакой рандом)
Для меня до сих пор загадка почему GetUnitsInRange не видит мертвых героев. Условие вроде правильное. А ловить юнитов проверкой хп <=0 не вариант я от нее вообще отказался. Например у меня есть герой которому я постоянно даю и меняю "зеленую" силу и в итоге если он умирает то его здоровье больше нуля и он даже начинает регенится ( он мертвый при этом ) это было наглядно видно в мультиборде куда я вывожу хп. В итоге проверка на хп < 0 не даст эффекта потому что хп > 0 но герой при этом мертвый кстати если поставить мертвому юниту хп >0 то поидеи он как раз начинает ловится функцией GetUnitsInRange. Я замечал это на одном своем скиле где на месте некоторых мертвых юнитов появлялись эффекты. Так как раз для отсева живых от мертвых я юзал ( GetWidgetLife ( GetFilterUnit () ) > 0.405 )
12

» WarCraft 3 / GetUnitsInRange и condition. Ловля мертвых героев.

EnergyFrost:
Ты как его воскрешаешь? Черещ Revive? Может быть он после смерти меняет координаты на другие. Если группа пуста, значит какое-то условие кривое и скорее всего второе. Попробуй проверять хп <=0.
Как вариант на крайняк. При смерти героя заносишь его в стек. Запоминаешь отдельно его координаты в паралелльном массиве. И при касте абилки пробегаешься по массиву юнитов. И делаешь выборку из тех, чьи координаты подошли.
Так и сделал)
12

» WarCraft 3 / GetUnitsInRange и condition. Ловля мертвых героев.

quq_CCCP:
События не не слышал?
причем здесь события?
Мне нужно мертвого героя найти в обласи и добавить в группу при использовании способности.