17

» XGM Конкурсы / Terrain Contest: Reforged

Кода увидел Terrain Contest Reforged 2020:
Кода увидел участников:

Это юмор, но..
В связи со знатным событием стоит:
Молодым изучить лучшие ландшафты, и не опускать свои "бубенцы", после чего - дать достойный бой мастодонтам.
Старикам стоит "тряхнуть стариной" как никогда, это особое время..(но, креатив молодых может вас сделать!).
Загруженные файлы
17

» XGM Конкурсы / Конкурс героев

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

Похоже автор сам не понял, что сотворил ))
Это же для мастеров - мол ты такое днище, что я даже твои войска воскрешаю.
Десятка за скилл!
17

» WarCraft 3 / Здание прыгает при триггерной замене.

Frostfall:
Высшие силы, дайте мне знак...
Карту вознеси сюда, чтобы высшие силы посмотрели.
17

» WarCraft 3 / Импортировал музыку. не работает!

Кирилл Филипов, поставь действие не в триггер с инициализацией, а в триггер с событием - прошло 0 секунд.
17

» WarCraft 3 / Почему "канал" перестаёт работать при удалении другого?

pro100master, и весь код, два варианта.
GUI
Конверт GUI
Чего-то не подсвечивается...
function Trig_AAA_Func001C takes nothing returns boolean
    if ( ( GetSpellAbilityId() == 'A05Y' ) ) then
        return true
    endif
    if ( ( GetSpellAbilityId() == 'A05X' ) ) then
        return true
    endif
    if ( ( GetSpellAbilityId() == 'A083' ) ) then
        return true
    endif
    return false
endfunction

function Trig_AAA_Conditions takes nothing returns boolean
    if ( not Trig_AAA_Func001C() ) then
        return false
    endif
    return true
endfunction

function Trig_AAA_Actions takes nothing returns nothing
    set bj_forLoopAIndex = 10
    set bj_forLoopAIndexEnd = 12
    loop
        exitwhen bj_forLoopAIndex > bj_forLoopAIndexEnd
        call UnitRemoveAbilityBJ( udg_A_JukSposobnTip[GetForLoopIndexA()], udg_A_JukIgrokaUnit[GetConvertedPlayerId(GetTriggerPlayer())] )
        set bj_forLoopAIndex = bj_forLoopAIndex + 1
    endloop
    call SetPlayerAbilityAvailableBJ( false, 'A07W', ConvertedPlayer(GetConvertedPlayerId(GetTriggerPlayer())) )
endfunction

//===========================================================================
function InitTrig_AAA takes nothing returns nothing
    set gg_trg_AAA = CreateTrigger(  )
    call TriggerRegisterAnyUnitEventBJ( gg_trg_AAA, EVENT_PLAYER_UNIT_SPELL_CAST )
    call TriggerAddCondition( gg_trg_AAA, Condition( function Trig_AAA_Conditions ) )
    call TriggerAddAction( gg_trg_AAA, function Trig_AAA_Actions )
endfunction
function Trig_BBB_Func002Func002Func003C takes nothing returns boolean
    if ( not ( GetSpellAbilityId() == 'A083' ) ) then
        return false
    endif
    return true
endfunction

function Trig_BBB_Func002Func002C takes nothing returns boolean
    if ( not ( GetSpellAbilityId() == 'A05X' ) ) then
        return false
    endif
    return true
endfunction

function Trig_BBB_Func002C takes nothing returns boolean
    if ( not ( GetSpellAbilityId() == 'A05Y' ) ) then
        return false
    endif
    return true
endfunction

function Trig_BBB_Actions takes nothing returns nothing
    if ( Trig_BBB_Func002C() ) then
        call UnitRemoveAbilityBJ( udg_A_JukSposobnTip[10], udg_A_JukIgrokaUnit[1] )
    else
        if ( Trig_BBB_Func002Func002C() ) then
            call UnitRemoveAbilityBJ( udg_A_JukSposobnTip[11], udg_A_JukIgrokaUnit[1] )
        else
            if ( Trig_BBB_Func002Func002Func003C() ) then
                call UnitRemoveAbilityBJ( udg_A_JukSposobnTip[12], udg_A_JukIgrokaUnit[1] )
            else
            endif
        endif
    endif
    call SetPlayerAbilityAvailableBJ( false, 'A07W', ConvertedPlayer(GetConvertedPlayerId(GetTriggerPlayer())) )
endfunction

//===========================================================================
function InitTrig_BBB takes nothing returns nothing
    set gg_trg_BBB = CreateTrigger(  )
    call TriggerRegisterAnyUnitEventBJ( gg_trg_BBB, EVENT_PLAYER_UNIT_SPELL_CAST )
    call TriggerAddAction( gg_trg_BBB, function Trig_BBB_Actions )
endfunction
Загруженные файлы
17

» WarCraft 3 / Какая здесь утечка? (GUI)

Коммунизм, не тот скрин залит, утечек там нет.
Вот нужный: (стало понятно, что из-за смещения)
В первом триггере утечка устранена, с помощью - статьи

Со вторым не получается. Найденная информация представлена частями, понятна разбирающимся. То, что нужно похоже здесь, но разобраться не вышло.
Загруженные файлы
17

» WarCraft 3 / Как подогнать одеваемый доспех под нужную часть юнита?

prog:
ну так у тебя есть координаты кости-аттача, есть координаты накладки в желаемом положении, посчитай разницу и воспроизведи в том файле где только накладка, исходя из того, что ноль координат это так точка, за которую твоя накладка будет крепиться к аттачу...
Сказано - сделано:
  1. Создана точка по координатам аттача.
  2. Далее модель сдвинута так, чтобы точка имела координаты X, Y - 0, Z - 3.
  3. Точка удалена.
Загруженные файлы
17

» WarCraft 3 / Как подогнать одеваемый доспех под нужную часть юнита?

prog, знать бы, как вычислить смещение ).

Сделано через анимацию.
Скелет: Нужно сдвинуть кость в позицию аттача (скрин 3).
Анимки: Создать анимацию "stand".
Движение: Сдвинуть кость к центру, немного выше от 0 по Z (скрин 4).
раскрыть
17

» WarCraft 3 / Редактирование текстур

Принятый ответ
Сохранять нужно в TGA формат.
"Нулевой" фон - прозрачный, либо чёрный в текстурах эффектов.

Пример - GIMP (v2.8)
Перекраска текстуры:
Цвет > Тон-насыщенность - получить нужный цвет, ОK, экспортировать в TGA (снять галку RLE сжатие).
Если нужно отделить рисунок от чёрного фона:
Цвет > Цвет в альфа-канал - выбрать чёрный цвет, OK.
17

» WarCraft 3 / Нужна модель? - Вам сюда!

Ikobot:
Натянуть текстуру на модель чтобы выглядело как на скриншоте.
Откуда этот гемор?
раскрыть
Загруженные файлы
17

» XGM Конкурсы / Mini-Game Contest: Reforged

Были сомнения, но времени появилось больше..
раскрыть
Загруженные файлы
17

» WarCraft 3 / Не работает модель? - Вам сюда!

Можете конвертнуть модели скарабеев из рефоргед в стандартный mdx?
Анимации не важны, нужно получить только вершины на запчасти для переноса в классик-модель.
Модели

UPD: Разобрался как смог:
  • Модели получены с помощью - "Cascview".
  • Конверт - "MDLX Converter 2020" (вершины объединились).
  • Импорт текстур - "War3ModelEditor".
  • Разделение вершин и дальнейшие действия - "Mdlvis".
Загруженные файлы
17

» WarCraft 3 / Действие - ничего не делать

NanO, оно же весь триггер пропустит, а в конец триггера устанавливать не подходит.
KaneThaumaturge:
Или проверяй логической переменной.
Нда.. Надо высыпаться.

Только дошло. "Ничего не делать" необходимо для некоторых "действий", которые не разворачиваются. Но оно было замечено в какой то близардовской карте в развёрнутом, что и сбило столку.
17

» WarCraft 3 / По поводу управления на стрелках

Принятый ответ
Надо же. Не обладая знаниями Jass, в течении 3-х дней пыток, удалось разобраться.

Теперь скорость анимации может изменяется во время движения юнита.
+ независимые передняя и задняя скорости.
+ внешний контроль скоростей анимации, движения и поворота.

Нехитрое дело, изменений не более ~0,5%.
раскрыть