0
18
10 часов назад
0

» WarCraft 3 / Оптимизация Выполнения Последовательности Кода

Centyrion, ну, либо 2 цикла, либо огромная бд на один цикл, с учётом всех 6 слотов, что также будет большой цикл, из за данных х 6, что по итогу выльется в ещё больше строк кода )
0
18
12 часов назад
Отредактирован EugeAl
0

» WarCraft 3 / Оптимизация Выполнения Последовательности Кода

Centyrion, Попробуй тогда вариант специально под массив. В игре я это не проверял, если что, так что подправь, если потребуется.
function SbornItemArray takes unit hero, integer indMin, integer indMax, integer maxkolvo returns boolean
// indMin - минимальный индекс куска массива, indMax - конечный индекс куска массива
local integer index = 0
local integer arrayindex = 0
local integer kolvo = 0
local integer ItemId = 0

    loop
    exitwhen kolvo == maxkolvo or index >= bj_MAX_INVENTORY

        set ItemId = GetItemTypeId ( UnitItemInSlot ( hero, index) )
        set arrayindex = indMin

        if ItemId > 0 then
            loop// цикл по массиву. Ид предметов в массиве должны располагаться друг за другом, на каждый сборный предмет свой кусок массива.
            exitwhen arrayindex > indMax
                if ItemId == Item[arrayindex] then
                    set kolvo = kolvo + 1
                endif
                set arrayindex = arrayindex + 1
            endloop
        endif

        set index = index + 1
    endloop

    if kolvo == maxkolvo then
        return true
    endif
    return false

endfunction
0
18
13 часов назад
0

» WarCraft 3 / Оптимизация Выполнения Последовательности Кода

Centyrion, пойдет, ведь можно написать примерно так
if SbornItem ( GetTriggerUnit(), Item[1], Item[4], Item[7], Item[3], Item[6], Item[8], 6 ) then
	//выполнять код
endif
0
18
13 часов назад
0

» WarCraft 3 / Оптимизация Выполнения Последовательности Кода

Centyrion, здесь не предметы, а их равкоды ) в аргументы integer можно и ячейки из массива пихать )
0
18
13 часов назад
Отредактирован EugeAl
0

» WarCraft 3 / Оптимизация Выполнения Последовательности Кода

Вот тебе готовая протестированная в разных комбинация функция по проверке всех нужных предметов. Проверяет кол-во, и все ид предметов. Нужно также задать макс кол-во. Если не хватает предметов и инвентаре, или другие предметы, хоть 1, или и то и другое, будет false. Если все предметы есть, в любом порядке, будет true.
function SbornItem takes unit hero, integer iditem1, integer iditem2, integer iditem3, integer iditem4, integer iditem5, integer iditem6, integer maxkolvo returns boolean
local integer index = 0
local integer kolvo = 0
local integer ItemId = 0

    loop
    exitwhen kolvo == maxkolvo or index >= bj_MAX_INVENTORY
        set ItemId = GetItemTypeId ( UnitItemInSlot ( hero, index) )

        if ItemId > 0 then
            if ( ItemId == iditem1 or ItemId == iditem2 ) or ( ItemId == iditem3 or ItemId == iditem4 ) or ( ItemId == iditem5 or ItemId == iditem6 ) then
                set kolvo = kolvo + 1
            endif
        endif

        set index = index + 1
    endloop

    if kolvo == maxkolvo then
        return true
    endif
    return false

endfunction
0
18
21 час назад
0

» WarCraft 3 / Как настроить антимагический амулет?

Амулет, я так понимаю, пассивный, правильно? Тогда попробуй что нибудь вроде:
Амулету дать ауру с баффом (если он предмет и носится на герое и действует на соседних юнитов) или сделать пустышку (если он просто абилка)
Также нужно сделать эти абилки 2х уровневыми
Юнит любой кастует спелл
Если у цели каста есть бафф или пустышка
----Если уровень её равен 1
-------То не кастовать триггерный спелл или кастовать даммикаст очищение на цель
--------Найти героя с аурой или цель
--------Поставить левелы абилки на 2
--------Подождать n секунд
--------Вернуть левелы абилки обратно на 1
----endif
endif
Чтобы не возиться с переменными, лучше исполнить это на джассе.
0
18
2 дня назад
Отредактирован EugeAl
0

» WarCraft 3 / пассивная способность "кража маны" при атаке

MpW, Всё правильно. В начале атаки запускается триггер, и тут можно сделать несколько проверок, чтобы не было ложных срабатываний (например сразу выдавать цели спец абилку пустышку и потом убирать её), отсрочку по времени итд итп. Просто я самый базовый вариант описал, без доработок.
В идеале, конечно же было бы хорошо повесить это на триггер "юнит получает урон", но программисты близов поленились сделать такое событие на Любого юнита, а сделали только на конкретного.
0
18
3 дня назад
0

» WarCraft 3 / Не могу придумать, как сделать ракетный залп - залпом

А разве в абилке Ракеты нельзя настроить кол-во целей? Вроде как можно. По умолчанию там 3 стоит. Вместо 3 можно 6 выставить. Так же ещё у самого танка альянсовского посмотреть, сколько целей разрешено для его атаки по воздуху. Правда, тут ракеты одновременно запускаются...
0
18
3 дня назад
Отредактирован EugeAl
0

» WarCraft 3 / пассивная способность "кража маны" при атаке

Триггер
Юнит атакован
Если у атакующего есть пассивка пустышка Кража маны (уровень абилки больше 0)
То Назначить кол-во маны атакуемому - его текущая мана минус кол-во украденной маны
И Назначить кол-во маны атакующему - его текущая мана плюс кол-во украденной маны
Остальное можно доработать по усмотрению
1
18
5 дней назад
1

» RenderEdge / [RenderEdge] Графическая модификация для WarCraft III

ScorpioT1000, Попробовал. Установил видеонастройки на минимум, убрал нормал маппинг у террейна. Итого - ФПС - на пустом месте 40-50, на городе - 6,7, с видом от 3 лица - 2,5 ! Меньше 2,5 не упало.
0
18
5 дней назад
0

» RenderEdge / [RenderEdge] Графическая модификация для WarCraft III

ScorpioT1000, Да, с ними было бы еще лучше) но ФПС бы сидел на 0,5 или того меньше. Хотя, для скриншотов и этого хватит. )
0
18
5 дней назад
0

» RenderEdge / [RenderEdge] Графическая модификация для WarCraft III

Рецензия на публикацию
Поюзал программку. Для скриншотов красивых - самое то, особенно если модели лучше стандартных, тени прямо супер прорисовывает. Выглядит, как почти современная игра. (Ну, середины нулевых :D) Сочетается с кастомным глобальным освещением и погодными эффектами. Но для игры не годится, начинаются лютые тормоза, FPS падает в 8 !!! раз примерно (и это при том, что комп у меня тянет ведьмака 3 и гта 5 на нормальных настройках!). Если при этом включить свободную камеру, то 1 - перестают работать jass скрипты, связанные с камерой и зумом, 2 - если поставить камеру, как при виде от 3 лица, FPS падает еще в 1,5 раза.
FPS при обычном запуске (обведен в красную рамку)
FPS при запуске с Рендер Едже - видно карты нормалей у террейна, динамические тени и измененный угол глобального освещения. (ФПС обведен в красную рамку)
0
18
5 дней назад
0

» WarCraft 3 / способность "защитная аура"

Будет ли работать, если в РО у абилки выставить разрешенные цели - сам воин? Проверь это сначала. Или это обычная аура?
0
18
6 дней назад
0

» Хроники Вальдиона. Начало / Модели зданий людей

Уберсплатов для замка не хватает, и нормали у крыш поправить, а в целом хорошо)) чем то напоминает здания от Эльрата...
0
18
6 дней назад
Отредактирован EugeAl
0

» WarCraft 3 / Ломается система динамичной цены найма юнита

Я бы проще сделал, но не так красиво - поставил бы событие завершения производства, и если денег нет, то спрятать и удалить юнита и дать сообщение игроку что нибудь в духе "недостаточно средств для производства"
И ещё можно после события сразу отловить ид приказа самой казармы, и если он больше 0, то отдать приказ казарме отмена, но это не точно.
0
18
1 неделю назад
0

» WarCraft 3 / Создание случайного юнита, не соответствующего ландшафту

nazarpunk, Не стоит. Хочешь разбираться в Func004Func004CFunc002 и подобной писанине от гуи кода? :D
0
18
1 неделю назад
0

» WarCraft 3 / Задания в редакторе отобразить определенным игрокам

nazarpunk, Кто то может быть и сейчас не знает, для них и написал, посмотрят, узнают. Не только мы читаем этот тред.
0
18
1 неделю назад
0

» WarCraft 3 / Задания в редакторе отобразить определенным игрокам

nazarpunk, собственно ответ Анрайза
Десинхает не сохранение разных значений (да и Player существует всегда, потому GetLocalPlayer не создаёт новый хендл). И да, так можно, но читаемость кода сильно пострадает ради пары наносекунд разницы по скорости.
0
18
1 неделю назад
0

» WarCraft 3 / Возможность поворота всей карты

Нет, только камеру развернуть если. В самой карте всё статично сделано, жёсткая система координат итд.
0
18
1 неделю назад
Отредактирован EugeAl
0

» WarCraft 3 / Задания в редакторе отобразить определенным игрокам

nazarpunk, запрещает движок, точнее отсутствие доступа к его исходникам. Тогда бы разбирался.
Мб, потом когда нибудь протестирую и верну назад, хотя не обязательно, у меня мало где используется гет локал плэйер
И ещё я написал Анрайзу, у него есть код движка.
0
18
1 неделю назад
0

» WarCraft 3 / Warcraft III - MultiWindow

ScorpioT1000, спасибо, я запишу себе куда нибудь про эту прогу ) она явно очень полезная, ведь у меня всё слетело, а это головная боль была...
1
18
1 неделю назад
1

» WarCraft 3 / Warcraft III - MultiWindow

PT153, короче, снёс 8ку, поставил 10ку, все пакеты поставил, все пашет нормально)
0
18
1 неделю назад
0

» WarCraft 3 / GetLocalPlayer()

MpW, Еще было бы хорошо, если бы сюда добавили пример со звуками. Проверил сейчас на функции StartSound, запускал игру в режиме локальной сети через Multiwindow, у красного игрока был звук, у синего не было. То есть можно сделать локальный звук без десинка.
nazarpunk, к чему плодить 100500 статей, усложняя обучение? Если каждый будет свою статью пилить, будет каша из статей.
0
18
1 неделю назад
0

» Администрация XGM / Удаление своих комментариев

ScorpioT1000, Спасибо большое. Работает)