10

» WarCraft 3 / Проверка на удаленного юнита

quq_CCCP, даже если юнит мертв, это не значит что с ним нельзя что-то делать. Даже упомянутое изменение уровня способности имеет смысл, если к примеру юниту на время повышался уровень способности, или может стоит тупо повысить уровень абилки но из-за того что юнит сдох не возвращать прежний через время?
10

» WarCraft 3 / Проверка на удаленного юнита

ScorpioT1000, если юнит уже был мертв, то ничего не изменится, в тоже время убив юнита вызовется событие его смерти что не всегда нужно.
10

» WarCraft 3 / Проверка на удаленного юнита

markonenumber, you can test on empty map, but idk reforged editor has define or not, i know exist JNGP for reforged but never use it. Without define you will have to manually write it all
10

» WarCraft 3 / Проверка на удаленного юнита

quq_CCCP, UNIT_TYPE_DEAD может выдать true даже если юнит не был удален, что касаемо мемхака - не все его используют + он не работает на рефордже
10

» WarCraft 3 / Проверка на удаленного юнита

N7 Molot, только LoadUnitHandle может выдать null, но если таймер работает с глобалками, например проходит по боссам или героям игроков то результат будет не тем. Поэтому одной лишь проверки на u == null недостаточно, если юнит может быть удален триггерно (не знаю насчёт удаления трупа, удаляется если есть ссылки или нет)
Код (в 4 случаях из 5 будет "u != null")
globals
    hashtable hash = InitHashtable()
    unit udg_u = null
endglobals

define PRINT_UNIT = {
    if (u == null) then
        call BJDebugMsg("null")
    else
        call BJDebugMsg("not null")
    endif
}

function TimerExpired takes nothing returns nothing
    local unit u = LoadUnitHandle(hash, GetHandleId(GetExpiredTimer()), 0)
    // LoadUnitHandle проверяет внутри удален ли юнит, если он там был, если да - возвращает null
    PRINT_UNIT
    set u = udg_u
    PRINT_UNIT
    set u = null
    call FlushChildHashtable(hash, GetHandleId(GetExpiredTimer()))
    call DestroyTimer(GetExpiredTimer())
endfunction

function Trig_test_Actions takes nothing returns nothing
    local unit u = CreateUnit(Player(0), 'hfoo', 0, 0, 0)
    local timer t = CreateTimer()
    set udg_u = u
    call SaveUnitHandle(hash, GetHandleId(t), 0, u)
    call TimerStart(t, 1.0, false, function TimerExpired)
    set t = null
    
    PRINT_UNIT
    call RemoveUnit(u)
    PRINT_UNIT
    call TriggerSleepAction(1.0)
    PRINT_UNIT
    
    set u = null
endfunction

function InitTrig_test takes nothing returns nothing
    set gg_trg_test = CreateTrigger()
    call TriggerRegisterTimerEventSingle(gg_trg_test, 1.0)
    call TriggerAddAction(gg_trg_test, function Trig_test_Actions)
endfunction
10

» WarCraft 3 / Joumae Saori [Blue Archive]

Anime Chan, удобно, но вопрос в том будет такое же качество текстур в классике или хуже (лимит 512 для blp)
10

» WarCraft 3 / Проверка на удаленного юнита

N7 Molot, код ниже во всех случаях выдаст "u != null"
define PRINT_UNIT = {
    if (u == null) then
        call BJDebugMsg("null")
    else
        call BJDebugMsg("not null")
    endif
}

function Trig_asd_Actions takes nothing returns nothing
    local unit u = CreateUnit(Player(0), 'hfoo', 0, 0, 0)
    
    PRINT_UNIT
    call RemoveUnit(u)
    PRINT_UNIT
    call TriggerSleepAction(1.0)
    PRINT_UNIT
    
    set u = null
endfunction
10

» WarCraft 3 / Проверка на удаленного юнита

EugeAl, способ через SetUnitX\Y + GetUnitX\Y как и GetUnitName более накладны по ресурсам чем сравнение типа юнита(если происходит не в одном потоке) или UserData которая тоже менее накладная ибо устанавливается только 1 раз при удалении юнита
10

» WarCraft 3 / Проверка на удаленного юнита

makkad, проверил в потоке и все так (странно что оно при RemoveUnit сразу не обнуляет, ну или это сделано для ситуации описаной мной выше)
Добавил этот способ тоже
10

» WarCraft 3 / Проверка на удаленного юнита

makkad, только что проверил, после RemoveUnit он тот-же. Ну и думаю это к лучшему, ибо в случае когда взаимодействие идет с типом юнита то все пройдет гладко и без ошибок (но это при условии что событие должно обрабатыватся даже если юнит удален)
10

» WarCraft 3 / Циклы и их лимиты (+ способы обхода лимитов)

Есть более простой обходной путь - TriggerSleepAction но у него свои минусы, а так его внедрение например в Save-Load фиксит поломку сейва (система от Joker) но нужно будет блочить на время сейва доступ к команде если есть глобальные переменные (чего валом в той же системе Joker)
10

» WarCraft 3 / Авто прокачка способностей (LVL UP + Изучение)

EugeAl, добавил реализацию с повышением уровня, список способностей указывается как и в триггере с черным списком
10

» WarCraft 3 / Авто прокачка способностей (LVL UP + Изучение)

rsfghd,
Изначальные версии на чистом jass, обычная и с лимитом (указал что нужно подставить число для лимита вместо макроса для чистого jass)
А так нет возможности выбрать несколько языков у ресурса
+ могу добавить альтернативную реализацию уже без макросов
10

» WarCraft 3 / Авто прокачка способностей (LVL UP + Изучение)

Добавил 6 реализаций (в сумме 8)
3 на jass и 3 на gui (2 состоят из custom script из-за отсутствия exitwhen на GUI)
10

» WarCraft 3 / Rpg Arena

Сегодня великое событие - 500 + скачиваний.
Фанаты всё ещё помнят шедевральную карту!
Автор карты перевел ее на рефордж, но уже сам понимает что была плохая идея и не знает как обратно конвенртнуть ее на классику. Может ему удастся это сделать, но я не смог помочь.
10

» WarCraft 3 / Death is not Escape

Автор, хоть ты сделаешь в таком стиле карту, даже прикрутив богаж фреймов - хгм тебя ждёт только оскорбления и унижения со стороны пользователей, так как хгм воспитал или кто-то другой - неизвестно. Но! На сайте особым путем выступает вот такое отношение:
Изначально я не планировал выставлять карту на XGM, однако мне посоветовал это бывший модератор XGM.
В основном хейт карты из-за доната, хотя в отличии от той же ZM666 карту можно пройти Solo full F2P.
Про ландшафт: я ранее уже писал это но у меня большие проблемы с ним, поэтому мне приходилось давать его на переделку другим игрокам карты, и на данный момент он в разы лучше чем был раньше.
Локализация: мне уже ранее писали про это, однако при использовании программ для перевода карты она просто ломается, в дальнейшем я планировал перевести карту без стороннего софта но тут возникает проблема - на Reforged карту сложно запустить из-за плохой совместимости + часть функционала не работает на нем.
Прошу прощения за задержку в ответе, в основном захожу на XGM только по надобности, удачи и добра.

Карта - "китайская копия" Zombie666, даже героев назвал так же, как и предметы, даже модели, лол, да и милльон статов, что также присуще вышеупомянутому родителю, и т.д. Совпадений очень много...
К сожалению, скопировать ту изюминку, что присуще картам похожего типа от Goblin Workshop не получилось.
Короче, было так: чувак поиграл в карты от гоблинов, больше всего понравилось зомбаки, увидел там донат на статы(вообще та карта нацелена на донатных игроков, что мне не нравится :/ ). Решил сделать такую же карту, чтобы так же лутать бабки, чутка изменил смысл(на отъ*сь), чтобы уж точно была не копией, вот и все
Какой плохой автор, из 19 героев у 4 модельки как в ZM666, а ведь у 1 даже название как в ZM.
Что уж там, наглости хватило из 600 предметов назвать 20-30 предметов схожими названиями с другой карты, на кол его!
Про статы не уместно, во многих картах где растут цифры такое, хотя миллионы статов? Ни 1 предмет столько не дает.
Если бы карта была "нацелена" на донатных игроков ее нельзя было бы пройти в одиночку без доната...
"Решил сделать такую же карту, чтобы так же лутать бабки, чутка изменил смысл(на отъ*сь), чтобы уж точно была не копией, вот и все":
Да как автор посмел, тратит время на карту еще и смеет монетизировать ее.
Слуш, ну если у тебя не тянет ничего кроме Warcraft 3 то это лишь твои проблемы, если геймплей похож на 1 из карт игры это не означает что он слизан с этой же карты, хотя в данном примере который ты привел явно другой геймплей, я вообще не понимаю как можно сравнивать Hero Defence с RPG. Да и если тебе не нравится гринд - иди играй во всякие LTD, Legend of Worlds (хотя тут тоже присутствует гринд, но не на нем акцент).
10

» WarCraft 3 / Death is not Escape

Нахожусь в вечном поиске интересных solo-rpg на прохождение.
Тем не менее, hack-n-slash (гринд) может быть интересен, поэтому решил дать этой карте шанс.
Начнем с плюсов:
  1. Сходу я скачал очень свежую версию + дополнительные материалы по крафту, шансам дропа и т.д. Это на мой взгляд интересное решение, если оформишь их в pdf или в виде веб-страницы - будет лучше. (upd: увидел, что есть сайт)
  2. Карта честно заявляет о своем жанре, так же делает некоторые попытки дать поиграть в сюжет перед тем, как начнется тот самый гринд. Так делают все проекты, чтобы казуалам так же было интересно.
Чаще такое делается через уровни сложности. Здесь же просто с определенного момента у мобов становится в несколько раз больше статов.
  1. Прелоад абилок, предметов и т.д., выглядит неплохо, хотя не знаю на сколько это грамотно реализовано.
Что я тут увидел:
  1. Мыльный лоадскрин, который сходу создает плохое впечатление. У той же твилы в 2006 году было приятнее.
  2. Взял героя палач, у него 4 стандартные абилки. Зачем существует система прокачки абилок через +, если фактически никакого билдинга нет, и прокачать можно только 1 конкретную абилку раз в несколько уровней? Если бы способности качались бы автоматом, то было бы лучше и убралась лишняя механика.
  3. Орфографические ошибки, какие-то странные штуки по типу "инвокера", "админ панель" и т.д. выглядят кринжово и ломают игровое погружение. Как сочетаются персонажи из вахи и аниме тоже не совсем понял. Все это идет по квестам к "деду степану". Т.е. сеттинга и стиля как такового нет. Даже дота которая "оллстарс" имеет какой-то общий стиль персонажей. У некоторых противников даже нет звуков ударов.
  4. Плоская карта с предварительно расставленными противниками. Зачем у них статы по 999999, если это не на что не влияет? Если вы включаете какие-то механики в игру, то используете их. Не используете - не включайте, убирайте. Проще = лучше в данном случае.
  5. Тестовая команда -quest выглядит тоже странно. Неужели не было вариантов поприличнее?
Гринд (hack-n-slash) интересен помимо результата (выбивания шмотки +100000 статов с шансом 0.00001%) еще и процессом - генерацией противников (система аффиксов), генерацией предметов, игровых ситуаций. Интересными абилками и механиками (отличный пример - лост арк).
Убить 100к скелетов, чтобы набить золото и перейти на следующих скелетов у которых в 10 раз больше статов - это не гринд и не интересно.
Рекомендую посмотреть на успешные проекты в жанре (poe, diablo 3, lost ark) и изучить их сильные стороны.
Мой вердикт - радует то что автор пытается создать много контента, но я считаю что ему нужно больше вникнуть в суть жанра и понять чем он интересен для игроков, и приложить свои силы именно в эти аспекты.
Благодарю за комментарий, и потраченное время на карту!

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

Про палача: у него не все способности стандартные, однако требуется переработка героя

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

Не совсем понял про скелетов, в ближайшее время попробую Lost Ark.
Благодарю за советы и критику постараюсь учесть вышеупомянутое.
(P.S про сочетание героев: по лору персонажи были перемещены из разных миров в тот где происходят события, из-за чего допускается отсутствие общего стиля персонажей)

Фига там мастер смерти древний, норм модели не нашлось? Хотя, там стилистика карты больше под кубики нацелена
Не совсем понял про какую модель шлось в сообщении, ибо по названию ее можно отнести к разным юнитам на карте(из нежити). Однако если она действительна плоха то думаю вы находили модель получше и сможете предоставить ее для замены если она в общем доступе ;3
1 пункт от Волчачка: 1.5 Злоупотребление форматированием. Обращайтесь по нику пользователя, а не цитируйте весь его текст, к которому вы обращаетесь. Или же цитируйте лишь те части, по которым вы обращаетесь к вашему собеседнику. Не надо цитировать всё сообщение. Уважайте своего собеседника и других пользователей xgm.
10

» WarCraft 3 / Death is not Escape

Этот человек настолько позаботился об оптимизации карты, что сделал её в два раза больше чем нужно, респект таким картоделам

И да, зачем пририсовывать анимедевочку к интерфейсу, не предназначенному для анимедевочек? Неужто в сети Интернет нет ни одного анимеинтерфейса, который бы понравился автору больше, чем криво пририсованная анимедевочка к антуражу каких-нибудь Безликих? Какой-то удивительный слой метаиронии. Судя по возможности воскрешения персонажа за донат, здесь имеется такая поразительная высокотехнологичная магия, как Save-Load система. Что ж, и на том спасибо.
В общем, это всё очень грустно. Глядя на такие вещи, понимаешь, что Warcraft III в моменте своей смерти. С каждым днём мы всё дальше от Бога...
Размер карты
Проблема размера карты заключается в кол-ве кастомных моделей и иконок, на версию 0.72fix2 модели занимают 38.7МБ(из них 6МБ - аниме модели), иконки же 20МБ.
Указаные выше размеры fайлов учитываются без сжатия картой + данный размер расчитан на диске
Интерfейс
Когда искал аниме интерfейс не смог найти(плохо искал), однако когда-то играл в старую карту где был похожий интерfейс, и я лишь добавил одного из героев карты на используемый интерfейс(ночных эльfов), в том самом месте где и в упомянутой карте размещен аниме персонаж.
Воскрешения за "донат"
Эта возможность была добавлена в 0.45-0.50(ПТБ с 0.30) версии карты, и на данный момент ее получали игроки в розыгрышах на сервере Discord, другими словами никто не "донатил" на это.
Так-же раних версиях карты после сохранения герой умерал, как в тех же Zombie666 и Goblin Survival, но после это было убрано и на карте появились предметы которые дают доп. жизни(перерождения) - при смерти героя он воскрешается и получает неуязвимость на 5-10 сек.
Коментарии выше
Ответа на коментарии выше не последовало ибо они направлены исключительно на хейт карты, авторы коментариев не проиграли и часу на карте но затронули такие вещи как баланс, персонажей, мобов, предметы и наличие доната(по большей части весь хейт из-за этого, хотя карту проходили, и проходят F2P игроки).
Так-же уточню что авторы коментариев прикопались к карте, которая находится в бета-тестировании, и подчеркнули что она сделана "тяп-ляп" хотя даже не знали что карте уже 2 года(не смотря на то, что какой-то период разработка была приостановлена и\или велась не активно).
Оптимизация
В предзагрузке карты(инициализация) карта подгружает всех героев, способности, модели и героев из-за чего загрузка является долгой однако благодаря этому играя нет пролагов, или зависаний как в той же World of Legends когда игрок выбрал героя и у всех зависло. Так-же размер карты изначально был выбран максимальным ибо часть триггеров использует непосредственно координаты на карте, вместо ранее созданых в редакторе областей.
Итог
Я согласен с тем что интерfейс нужно заменить, и в новогоднем обновлении он будет заменен.
Благодарю за ваш коментарий, надеюсь на дальнейшие идеи по улучшению карты, и адекватную критику.
10

» WarCraft 3 / Загрузочный экран FullHD (Ремейк by PAMEXI)

Автор потрудился над статьей, все прекрасно понятно и работает, единственное что стоит упомянуть - есть сайты которые автоматически обрезают изображение на N частей =)
10

» WarCraft 3 / Death is not Escape

бо есть же единичные карты где гриндить весело(Да,такое бывает)
Можно списочек?:)
The World, HM RPG, ORPG Druidica, ORPG Zombie666(На любителя), Goblin Survival(Да-да тут тоже гринд)