0
17
1 год назад
Отредактирован GetLocalPlayer
0

» WarCraft 3 / PETRI BALANS 8.1

Любил играть в оригинальную 1.8. Почему баланс версия стала доминирующий я вообще без понятия.
Но факт остается фактом, в нее играют, в 1.8 нет.
2
17
3 года назад
2

» WarCraft 3 / Счётчик Хендлов на WURST

Прости что не отвечаю на вопрос а просто задаю встречный, а зачем тебе счетчик хэндлов на Wurst?. Счетчик хэндлов быть может полезен для проверки если ты где-то забыл обнулить локальную переменную или используешь утечные BJ-функции, которые втихую плодят объекты. Но Wurst обнуляет локальные переменные автоматически, а со стандартной библиотекой BJ-функции едва ли нужны. В счетчике хэндлов на Wurst едва ли есть смысл.
1
17
3 года назад
1

» WarCraft 3 / Идеи для карты

Zeus Battle. Каждый раз когда тебя поражает вражеский Зевс молнией, клавиатура херачит тебя током.
0
17
3 года назад
0

» WarCraft 3 / Как отследить выключение перевоплощения?

А проверять тип юнита в момент каста абилки не?
А если метаморфоза временная?
0
17
3 года назад
0

» WarCraft 3 / Как отследить выключение перевоплощения?

в общем у меня есть способность которая запрещяется для игрока кастера во время превращения.
А просто убрать эту способность из списка способностей второй формы не работает? Я уже не помню нюансы метаморфозы.
0
17
3 года назад
0

» WarCraft 3 / Хэш-таблицы в vJass

Пока писал на vJass использовал несколько. Как минимум нужна была одна таблица для структуры HashMap и одна для приведения типов (хэндлы в целое и обратно). Все библиотеки, использовавшие хэндл ид как родительский ключ, обращались к одной общей хэш-таблице. Была еще пара случаев где дополнительная таблица сокращала количество писанины, но это частности.
0
17
3 года назад
0

» WarCraft 3 / Работа с массивами в cJass

Массив это примитивная коллекция данных. Оно для этого не предназначено.
Для твоей задачи нужен либо vJass массив как объект, либо реализация списка.
2
17
3 года назад
Отредактирован GetLocalPlayer
2

» Мир безумного / Warcraft 3 Reforged на Unreal Engine 5

Лучше делать свою игру на другом движке.
А из чего это, собсно, складывается, уровень вхождения в редактор карт очень низок, но уровень, необходимый для того чтобы сделать что-то вменяемое и поддерживаемое соответствует уровню, необходимому для труда в геймдеве (да и любой другой IT-сфере), в том числе, за зарплату. Так и получается, что среди модеров вара, с достаточным уровнем навыка, остаются только самые отбитые. Нормальные люди уходят заниматься чем-то интересным.
3
17
3 года назад
3

» Мир безумного / Warcraft 3 Reforged на Unreal Engine 5

Работай оно так просто, WC3 сплагиатили бы еще пятнадцать лет назад. В WC3, по современным меркам, нет ничего сложного. Пример - Diablo 2. Бесчисленное множество клонов к которым юридически не подкопаешься. Ну или просто напиши срипт импорта файлов WC3 в Юнити или Годот, а народ уже сам подтянется.
Но оно видимо так не работает.
0
17
3 года назад
Отредактирован GetLocalPlayer
0

» WarCraft 3 / Минусы отлова урон через орб эффект

rsfghd:
zogorlol, 3 пункт можно пересоздать триггер и снова перерегистрировать юнитов
Где-то, еще на форуме, велось обсуждение о том что события не удаляются и остаются висеть в памяти мертвым грузом. Но это настолько незначительно что можно забыть об их существовании.
zogorlol:
  1. ,,,
  2. ,,,
  3. ,,,
  1. Орб эффекты ломают атаку по нескольким целям, а-ля "Лунный Чакрум".
  2. Крит и баш не являются обрами но подавляют орб-эффекты в момент срабатывания.
  3. Способность "Ракеты" (или в простонародье "Мультишот"), подавляет орб-эффекты.
  4. Переключаемые орб-эффекты, "Огненные Стрелы" и им подобные, подавляют орб-эффект используемый для отлова урона с атаки.
0
17
3 года назад
0

» WarCraft 3 / LoadAgentHandle или LoadUnitHandle?

Независимо от того, что ты сохраняешь, trigger, group, timer, что-то еще, ты сохраняешь в таблицу просто handle. Поэтому существует функция HaveSavedHandle, но нет функции HaveSavedPlayer или HaveSavedUnit. По той же причине код
Jass
function MyFunc takes nothing returns nothing
    local unit u = CreateUnit(GetLocalPlayer(), 'hfoo', 0, 0, 0)
    local hashtable hash = InitHashtable()
    
    call SaveUnitHandle(hash, 0, 0, u)
    call SavePlayerHandle(hash, 0, 0, GetLocalPlayer())
    
    if LoadUnitHandle(hash, 0, 0) == null then
        call BJDebugMsg("No unit.")
    else
        call BJDebugMsg("There's a unit in the hashtable.")
    endif
    
    if LoadPlayerHandle(hash, 0, 0) == null then
        call BJDebugMsg("No palyer.")
    else
        call BJDebugMsg("There's a player in the hashtable.")
    endif
endfunction
Выдаст сообщение "No unit", потому что мы замещаем в таблице сохраненный handle юнита на handle игрока. Едва ли оно затрагивает скорость работы, но как оно там с приведением типов следует спрашивть Дралича. Что-то там должно быть раз внутренний баг хэш-таблицы позволяет преобразовать почти любой handle в integer и наоборот.
3
17
3 года назад
3

» WarCraft 3 / Китайский сервер

Спойлер
2
17
3 года назад
Отредактирован GetLocalPlayer
2

» WarCraft 3 / Хеш-таблица на ГУИ.

PT153:
В JNGP они либо плохо работают, либо удалены. Они есть ы обычном WE.
Они на месте. Как они в принципе могут "плохо работать".
0
17
3 года назад
0

» WarCraft 3 / Объясните код

а зачем все эти извращения с vjass и cjass, если есть обычный jass
Это просто инструменты. Кому оно нужно а кому нет, личное дело каждого.
0
17
3 года назад
0

» WarCraft 3 / Что лучше таймер или триггер?

Осторожнее с этим. Так легко скатиться в кододрочерство, где программирование перерождается из инструмента творчества в решении реальных задач в пустое программирование ради программирования. Сегодня ты сравниваешь таймеры с триггерами, а завтра с пеной у рта доказываешь, что только последнее нубло использует хэш-таблцы, а если у тебя в карте их больше одной, то ты и вовсе унтерменш.
0
17
3 года назад
Отредактирован GetLocalPlayer
0

» WarCraft 3 / Безопасное выделение hashtable

В описанной тобой способности данные просто сохраняются на хэндл таймера, все работает индивидуально и не перебивает друг друга.
Хорошо, мы сохраняем данные по хэндлу таймера. Затем я применил яд повторно, до того как он закончил свое действие. То есть, обновил оставшееся время действия. Как я найду таймер, чтобы обновить данные?
0
17
3 года назад
0

» WarCraft 3 / Безопасное выделение hashtable

KaneThaumaturge:
GetLocalPlayer, Если сделаю с одной хэш-таблицей мне полагается приз?
Тебя куда-то не туда унесло.
0
17
3 года назад
Отредактирован GetLocalPlayer
0

» WarCraft 3 / Безопасное выделение hashtable

GetLocalPlayer, А можно пример способности?
Просто описать? Тогда яд.
Травит цель, нанося 100 ед. урона каждую секунду в течении 15 секунд. Перезарядка 1 секунда. Эффекты от разных кастеров на одну цель друг друга не перебивают, каждый работает индивидуально.
0
17
3 года назад
Отредактирован GetLocalPlayer
0

» WarCraft 3 / Безопасное выделение hashtable

Создать группу целей и привязать ее к кастеру.
Ну так тебе нужно хранить данные не по кастер + группа целей, а кастер + цель. Для каждой цели каждого кастера свой индивидуальный набор данных.