22

» WarCraft 3 / Перезапись глобальных переменных

вроде нет
сейчас проверил
выдает все как надо без перемешивания, 1 к 1, затем 2 к 2
Загруженные файлы
22

» WarCraft 3 / Как сделать проверку Дальний/Ближний бой?

еще можно дать нужным юнитам абилку без иконки (например предметную +0 атаки) и проверять что она у них есть
22

» WarCraft 3 / Нужна помощь с тригерами

можно
есть действия деформации рельефа и смены текстуры земли в триггерах
см. в категории Окружение
Change Terrain Type и Create Terrain Deformation
22

» WarCraft 3 / Применение способности на определённое здание

вроде как кулдаун не запускается, если в момент применения способности юнита переместить триггером в какое-нибудь другое место (например, на несколько точек вправо)
22

» WarCraft 3 / Способности и алгоритмы на заказ

Заклинание готово!

Заказчик: Roy Mustang
Способность: Persistent shell
Выполнено: Да

GUI, скопировать в свою карту переменные, юнита pshell_dummy (спецэффект при срабатывании блока), способность и бафф, затем оба триггера (кроме инициализации карты).
Загруженные файлы
22

» WarCraft 3 / Как заставить dummy кастить мой скилл?

никто еще не написал что id надо менять там где данные за уровни, а не в текст - порядок строк?
22

» WarCraft 3 / Перенос героя

Мб равкоды разные
в одной карте герой 'H001' а в другой 'H005'
22

» WarCraft 3 / Как прикрепить одного юнита к другому?

Сохранять координаты обоих юнитов
каждые 0.04 секунд:
сравнивать текущие координаты с сохраненными у обоих юнитов
находить разницу среднюю по x и среднюю по y и сдвигать обоих на это среднее от сохраненных
затем сохранять эти новые координаты
1
real x1 = GetUnitX(unit1)
real old_x1 = Load(...)
...
real dx = ((x1-old_x1)+(x2-old_x2))/2
real dy = ((y1-old_y1)+(y2-old_y2))/2
old_x1 += dx; old_y1 += dy; SetUnitPosition(unit1,old_x1,old_y1); Save(...)
old_x2 += dx; old_y2 += dy; SetUnitPosition(unit2,old_x2,old_y2); Save(...)
Если надо их просто держать впритык все время, то просто перемещать второго каждые 0.04 сек. в ту же точку, где сейчас первый
22

» WarCraft 3 / Перемещение героя на арену по команде

Name Legion, первый триггер ничего не делает, кроме того что выключает сам себя
и зачем каждый раз проверять одно и то же условие по четыре раза?
22

» WarCraft 3 / Перемещение героя на арену по команде

всмысле 1 а не 2?
только герой и будет, для этого ты и проверяешь условие что Picked unit is Герой
Загруженные файлы
22

» WarCraft 3 / Перемещение героя на арену по команде

Name Legion, сначала удали эту огромную строку
и вместо нее всей сделай Боевая единица - move Picked unit...
22

» WarCraft 3 / Перемещение героя на арену по команде

Name Legion, ты перебираешь юнитов, пока перебираешь юнитов
то есть сперва у тебя в действиях триггера идет перебор
даьше ты проверяешь, что этот юнит герой
а потом если он герой, то опять зачем-то проверяешь уловия триггера (которые уже и так проверены выше) и перебираешь всех юнитов - вот этого не должно быть
22

» WarCraft 3 / Перемещение героя на арену по команде

где-то я уже это видел
у тебя неправильное действие
замени ту огроменную последнюю строку в своем триггере на просто перемещение Picked unit куда нужно
22

» WarCraft 3 / Как заставить лучников в башне стрелять?

Проблема с мультишотом в том, что если на башню нападет один воин, то из пяти лучников будет стрелять только один (каждый доп. выстрел стреляет в свою отдельную цель)
а еще в том, что два лучника могут стрелять сразу в трех врагов (нельзя сделать меньше двух дополнительных целей)
22

» WarCraft 3 / Не запускаются карты. Возможно беда со скриптами

в тех картах скорее всего используется ретурн баг
который в варкрафте с 1.24 версии не работает
22

» WarCraft 3 / Передача от отряда

Не можыт быт
там в коде этой функции указано, что действия выполняются только если локальный игрок в указанной группе игроков
так что у других игроков эти действия не выполняются
кинь скриншот триггера
1
function TransmissionFromUnitWithNameBJ takes force toForce, unit whichUnit, string unitName, sound soundHandle, string message, integer timeType, real timeVal, boolean wait returns nothing
    call TryInitCinematicBehaviorBJ()

    // Ensure that the time value is non-negative.
    set timeVal = RMaxBJ(timeVal, 0)

    set bj_lastTransmissionDuration = GetTransmissionDuration(soundHandle, timeType, timeVal)
    set bj_lastPlayedSound = soundHandle

    if (IsPlayerInForce(GetLocalPlayer(), toForce)) then
        // Use only local code (no net traffic) within this block to avoid desyncs.

        if (whichUnit == null) then
            // If the unit reference is invalid, send the transmission from the center of the map with no portrait.
            call DoTransmissionBasicsXYBJ(0, PLAYER_COLOR_RED, 0, 0, soundHandle, unitName, message, bj_lastTransmissionDuration)
        else
            call DoTransmissionBasicsXYBJ(GetUnitTypeId(whichUnit), GetPlayerColor(GetOwningPlayer(whichUnit)), GetUnitX(whichUnit), GetUnitY(whichUnit), soundHandle, unitName, message, bj_lastTransmissionDuration)
            if (not IsUnitHidden(whichUnit)) then
                call UnitAddIndicator(whichUnit, bj_TRANSMISSION_IND_RED, bj_TRANSMISSION_IND_BLUE, bj_TRANSMISSION_IND_GREEN, bj_TRANSMISSION_IND_ALPHA)
            endif
        endif
    endif

    if wait and (bj_lastTransmissionDuration > 0) then
        // call TriggerSleepAction(bj_lastTransmissionDuration)
        call WaitTransmissionDuration(soundHandle, timeType, timeVal)
    endif

endfunction
у меня при выводе для "группа игроков - игрок 2 синий" красному ничего не выводится
22

» WarCraft 3 / Проверьте, пожалуйста, триггеры!

а не, атакованный юнит это триггерный юнит
function GetAttackedUnitBJ takes nothing returns unit
    return GetTriggerUnit()
endfunction
22

» WarCraft 3 / Проверьте, пожалуйста, триггеры!

если оно выключается, оно же включится когда-нибудь? а события то останутся
если только не удалять и пересоздавать триггер (занося его в все ту же переменную gg_trg_WS_Damage и не забывая добавить условия и действия)
22

» WarCraft 3 / Проверьте, пожалуйста, триггеры!

событие юнит получает урон не должно добавляться на одного юнита несколько раз
у тебя второй триггер будет срабатывать много раз за каждое попадание
добавляй юнитов которым уже создано событие в отряд и проверяй что они не внем
22

» WarCraft 3 / Как или где можно получить новые карты путей для здания?

  1. посмотреть путь (pathtextures\16x16Simple.tga или вроде того)
  2. открыть mpq master, war3modeleditor или подобную прогу, открыть ею архив war3.mpq
  3. найти в архиве нужную текстуру по этому пути и достать из архива
  4. открыть текстуру графредактором, поменять размер на нужный (20х20 пикселей?), рисовать там текстуру как надо (розовый 255-0-255 - непроходимый, синий 0-0-255 - нельзя строить, прозрачный - проходимый)
  5. импорт в свою карту
  6. указать в редакторе объектов свою текстуру пути