18

» Unryze Jass API / UjAPI

Вопрос по HandleList, как я понял с помощью него можно сделать в карте свой условный Garbage Collector?
18

» WarCraft 3 / Щит аббадона или же пассивка воина свет из ЖНА

Нанесение урона происходит после события. Логика такова, что ты востановишь юниту здоровье в тот момент когда у него и так максимум, а после наносится урон. Лечится таймером в 0.0 сек. Возможно, еще понадобится добавление способности повышающая макс.здоровье и после окончания таймера ее удаление
18

» WarCraft 3 / [vJass/Jass] не могу понять, что не так с кодом?)

Спросил про функцию, вот ее результат
function GetNearbyUnits takes unit u, real range returns group
    group g = CreateGroup()
    set g = GetUnitsInRangeOfLocAll(range, GetUnitLoc(u))
    call GroupRemoveUnit(g, u)
    return g
endfunction
Утекает переменная, но в целом если задавать уточняющие вопросы сможет написать кое какой код за тебя
18

» WarCraft 3 / [vJass/Jass] не могу понять, что не так с кодом?)

Не было созданой переменной local unit u, она сразу при cоздании юнита прописала set unit u =.
CreateUnit принимает х,у координаты. CreateUnitAtLoc (если не ошибаюсь) на нее можно заменить или создать координаты х,у и
CreateUnit(GetOwningPlayer(caster), 'hfoo', х, у, bj_UNIT_FACING)
18

» WarCraft 3 / Запустить рандом триггер и убрать его

Попробую с пояснением:
переменная - тип Триггер галочка что массив и размер на единицу больше количества триггеров название например MyTriggers,
переменая - тип целочисленная название MyTriggerMax
Событие при инитиализации карты
Установить переменная MyTriggers[1] = триггер из списка
Установить переменная MyTriggers[2] = другой триггер из списка

и так же с остальными которые будут запускатся
В конце установить переменная MyTriggersMax равно количеству установленых триггеров.
Переменной х(любая целочислення) ставим случайное число от 1 до MyTriggerMax
Запускаем триггер MyTriggers[х]
Установить переменную MyTriggers[x] равно MyTriggers[MyTriggerMax], то есть, на место триггера который больше не будет использоваться переносим триггер из конца списка, а максимальное количество списка уменьшим на 1, и тогда конец списка не випадет, так как случайное число от 1 до макс. количества.
Установить переменную MyTriggersMax равную (Арифметика) MyTriggersMax - 1
18

» WarCraft 3 / [vJass/Jass] не могу понять, что не так с кодом?)

function Skill1 takes unit caster returns nothing
    local integer i = 0
    local location loc = GetUnitLoc(caster)
local unit u

    loop
        exitwhen i >= 5
        set i = i + 1
        set loc = OffsetLocation(loc, 128.0, 360.0 / 5.0 * i)
        set u = CreateUnit(GetOwningPlayer(caster), 'hfoo', loc, bj_UNIT_FACING)
        call SetUnitOwner(u, GetOwningPlayer(caster), true)
        set loc = GetUnitLoc(caster)
    endloop

    loop
        set i = 0
        exitwhen i >= 5
        set i = i + 1
        set u = GetNearbyEnemy(caster, 300.0, true)
        if u != null and IsUnitType(u, UNIT_TYPE_HERO) == false and IsUnitType(u, UNIT_TYPE_STRUCTURE) == false then
            call UnitDamageTarget(u, caster, 100, true, false, ATTACK_TYPE_NORMAL, DAMAGE_TYPE_NORMAL, WEAPON_TYPE_WHOKNOWS)
            call KillUnit(GetEnumUnit())
        endif
    endloop
endfunction

Так ошибка исправится, но такой код не подойдет под твою задумку. В нем юниты все время создаются по кругу, а не двигают созданых., урон окружающие наносят кастеру., убивает юнита которого нет., нет проверки что юнит столкновения не являеться кастером.
18

» WarCraft 3 / Пропадают все объекты на карте

Похоже на какой то протектор карт который чистит весь код карти. Нужно через mpq открывать код
18

» WarCraft 3 / [GUI] Шансовое срабатывание яда

Проще триггером при событии атакован, действием повторно атаковать. Также перед действием нужно отключить триггер, а после включить
18

» WarCraft 3 / Изменение переменной в тригере

Скорее всего, тебе нужно просто из списка выбрать. Жми не изменить, а на темпреал
18

» WarCraft 3 / Доска Статистики

Возможно ошибка в коде, попробуй
local integer l = 0
local integer i = 0
loop
exitwhen i >= 10
if GetPlayerSlotState(Player(i)) == PLAYER_SLOT_STATE_PLAYING and GetPlayerSlotState(Player(i)) != PLAYER_SLOT_STATE_EMPTY then
call MultiboardSetRowCount(udg_MB, l + 2)
set l = l + 1
endif
set i = i + 1
endloop
18

» WarCraft 3 / Нанесение урона триггерным способом

Возьми не int, a real, есть событие которое сработает когда значение будет равно(наверно можно больше,меньше) нужному тебе.
18

» WarCraft 3 / Нанесение урона триггерным способом

Урон такой же. Там можно выбрать тип урона, чтоб нанести чистый урон, учитывалась броня или маг.резист.
Второй вопрос не совсем понял, но правильной постройке триггера глюков не будет.
18

» WarCraft 3 / [GUI] Тригер "отказывает" в запуске карты, или крашит игру.

Centyrion, Может способность не для героя, либо юнит не герой. Краш бывает, если проводить манипуляции с характеристиками на простых юнитах
18

» WarCraft 3 / Опыт после убийства крипа

Измени событие, там есть Generic unit і добавь условие что: тип юнита Trigger unit равно бандит
18

» Unryze Jass API / UjAPI

И да, забыл добавить, Y2 ограничение имеет, откуда Y3? Напоминаю, что столбов (X) 4 (0-3) а строк (Y) 3 (0-2). И получается 4 * 3 = 12 (11 индекс). А ты хочешь получить 4 * 4 = 16ый индекс, вопрос откуда и куда.
Я ошибся с обозначением х,у. Позиция х2 и у2 = Child(0). -1 индекс указал чисто проверить, думал если Child(0) = x2;y2 и Child(10) = x0;y0 то -1 может быть x3;y2
ОШИБКА
This application has encountered a critical error:

FATAL ERROR!

Program:	D:\Games\WarCraft3\Warcraft 3 Frozen Throne\war3.exe
Exception:	0xC0000005 (ACCESS_VIOLATION) at 0023:0222279A

The instruction at '0x0222279A' referenced memory at '0x00000010'.
The memory could not be 'read'. 
18

» WarCraft 3 / jass Переменные

Ты серьёзно предлагаешь использовать вэйт?
Нет, я прелагаю вартант как не потерять "объект" когда используют вэйт.
18

» WarCraft 3 / jass Переменные

Borodach, Но если такая функция будет вызвана 2 раза за короткое время, первый last created может затеряться. Особенно если функция растянута во времени, то есть имеет вейты.
nazarpunk, Так даже в гуи она проблемы может создать... Last created group хорошо это показывает, с утечками групп.
Нужно сначала создать локальную, затем создать юнита/кнопку/текстаг или другое, локальную установить = lastCreated и только потом вейт, тогда ничего не затеряеться.
Именно в групах создаеться локальная и она же возвращаеться, то есть не проходит очистка
18

» WarCraft 3 / Помощь с таймерами, подсчёт скорости прокаста способностей

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

» WarCraft 3 / jass Переменные

SсRealm, get last created что либо - это вообще бредовая выдумка, с кучей проблем в работе. Особенно если постоянно юзать её, а не для первоначального определения чего либо. Зачем её ввести в гуи - непонятно. Лучше бы локалки ввели.
Такая штука, что функция, к примеру, должна вернуть "хендл". После возврата значения, все последующие команды не выполняться, та созданная локальная зависнет в памяти и у тебя не получится устранить утечку. Так вот ети глобальные lastCreated, удобний "транспортировщик" чтоб избежать утечек.
18

» WarCraft 3 / Есть ли эффекты атаки, снимаемые рассеиванием чар?

Орба замедления. В стандартн вешает замедление которое снимаеться. Но можно настроить и другой эффект.
18

» Unryze Jass API / UjAPI

Название примерное, смысл что любые "доп. услуги" из UJAPI не откроют карту.
18

» Unryze Jass API / UjAPI

Нашел "кнопку" обновления. И сейчас при установке флажка "LoadLibrary" крашит варкрафт. Путь на war3.exe указан.
Если не стоит, то карта не открывается с одной глобальной
framehandle Frame