quq_CCCP, даже если юнит мертв, это не значит что с ним нельзя что-то делать. Даже упомянутое изменение уровня способности имеет смысл, если к примеру юниту на время повышался уровень способности, или может стоит тупо повысить уровень абилки но из-за того что юнит сдох не возвращать прежний через время?
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
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
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
EugeAl, способ через SetUnitX\Y + GetUnitX\Y как и GetUnitName более накладны по ресурсам чем сравнение типа юнита(если происходит не в одном потоке) или UserData которая тоже менее накладная ибо устанавливается только 1 раз при удалении юнита
makkad, проверил в потоке и все так (странно что оно при RemoveUnit сразу не обнуляет, ну или это сделано для ситуации описаной мной выше)
Добавил этот способ тоже
makkad, только что проверил, после RemoveUnit он тот-же. Ну и думаю это к лучшему, ибо в случае когда взаимодействие идет с типом юнита то все пройдет гладко и без ошибок (но это при условии что событие должно обрабатыватся даже если юнит удален)
Есть более простой обходной путь - TriggerSleepAction но у него свои минусы, а так его внедрение например в Save-Load фиксит поломку сейва (система от Joker) но нужно будет блочить на время сейва доступ к команде если есть глобальные переменные (чего валом в той же системе Joker)
Сегодня великое событие - 500 + скачиваний.
Фанаты всё ещё помнят шедевральную карту!
Автор карты перевел ее на рефордж, но уже сам понимает что была плохая идея и не знает как обратно конвенртнуть ее на классику. Может ему удастся это сделать, но я не смог помочь.
Автор, хоть ты сделаешь в таком стиле карту, даже прикрутив богаж фреймов - хгм тебя ждёт только оскорбления и унижения со стороны пользователей, так как хгм воспитал или кто-то другой - неизвестно. Но! На сайте особым путем выступает вот такое отношение:
Изначально я не планировал выставлять карту на 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 (хотя тут тоже присутствует гринд, но не на нем акцент).
Нахожусь в вечном поиске интересных solo-rpg на прохождение.
Тем не менее, hack-n-slash (гринд) может быть интересен, поэтому решил дать этой карте шанс.
Начнем с плюсов:
Сходу я скачал очень свежую версию + дополнительные материалы по крафту, шансам дропа и т.д. Это на мой взгляд интересное решение, если оформишь их в pdf или в виде веб-страницы - будет лучше. (upd: увидел, что есть сайт)
Карта честно заявляет о своем жанре, так же делает некоторые попытки дать поиграть в сюжет перед тем, как начнется тот самый гринд. Так делают все проекты, чтобы казуалам так же было интересно.
Чаще такое делается через уровни сложности. Здесь же просто с определенного момента у мобов становится в несколько раз больше статов.
Прелоад абилок, предметов и т.д., выглядит неплохо, хотя не знаю на сколько это грамотно реализовано.
Что я тут увидел:
Мыльный лоадскрин, который сходу создает плохое впечатление. У той же твилы в 2006 году было приятнее.
Взял героя палач, у него 4 стандартные абилки. Зачем существует система прокачки абилок через +, если фактически никакого билдинга нет, и прокачать можно только 1 конкретную абилку раз в несколько уровней? Если бы способности качались бы автоматом, то было бы лучше и убралась лишняя механика.
Орфографические ошибки, какие-то странные штуки по типу "инвокера", "админ панель" и т.д. выглядят кринжово и ломают игровое погружение. Как сочетаются персонажи из вахи и аниме тоже не совсем понял. Все это идет по квестам к "деду степану". Т.е. сеттинга и стиля как такового нет. Даже дота которая "оллстарс" имеет какой-то общий стиль персонажей. У некоторых противников даже нет звуков ударов.
Плоская карта с предварительно расставленными противниками. Зачем у них статы по 999999, если это не на что не влияет? Если вы включаете какие-то механики в игру, то используете их. Не используете - не включайте, убирайте. Проще = лучше в данном случае.
Тестовая команда -quest выглядит тоже странно. Неужели не было вариантов поприличнее?
Гринд (hack-n-slash) интересен помимо результата (выбивания шмотки +100000 статов с шансом 0.00001%) еще и процессом - генерацией противников (система аффиксов), генерацией предметов, игровых ситуаций. Интересными абилками и механиками (отличный пример - лост арк).
Убить 100к скелетов, чтобы набить золото и перейти на следующих скелетов у которых в 10 раз больше статов - это не гринд и не интересно.
Рекомендую посмотреть на успешные проекты в жанре (poe, diablo 3, lost ark) и изучить их сильные стороны.
Мой вердикт - радует то что автор пытается создать много контента, но я считаю что ему нужно больше вникнуть в суть жанра и понять чем он интересен для игроков, и приложить свои силы именно в эти аспекты.
Благодарю за комментарий, и потраченное время на карту!
К сожалению загрузочный экран(изображение) мыльный из-за того что он был сделан в игре, после чего обрезались лишние детали, а уже после нужно было разрезать его на части чтобы сделать текстуры под модель загрузочного экрана(использовалась кастомная, ибо при тех что обычно используют расплывается текст, и даже при сильном приближении он был слабочитабельным)
Про палача: у него не все способности стандартные, однако требуется переработка героя
-quest простая реализация отображения задания которая не нагружает карту, уже предлагали сделать отображение в той же таблице однако я не уверен в том что нагрузка будет так-же низка, ибо обновление таблицы происходит ежесекундно из-за чего на слабых ПК происходят микро-зависания.
Не совсем понял про скелетов, в ближайшее время попробую Lost Ark.
Благодарю за советы и критику постараюсь учесть вышеупомянутое.
(P.S про сочетание героев: по лору персонажи были перемещены из разных миров в тот где происходят события, из-за чего допускается отсутствие общего стиля персонажей)
Фига там мастер смерти древний, норм модели не нашлось? Хотя, там стилистика карты больше под кубики нацелена
Не совсем понял про какую модель шлось в сообщении, ибо по названию ее можно отнести к разным юнитам на карте(из нежити). Однако если она действительна плоха то думаю вы находили модель получше и сможете предоставить ее для замены если она в общем доступе ;3
1 пункт от Волчачка: 1.5 Злоупотребление форматированием. Обращайтесь по нику пользователя, а не цитируйте весь его текст, к которому вы обращаетесь. Или же цитируйте лишь те части, по которым вы обращаетесь к вашему собеседнику. Не надо цитировать всё сообщение. Уважайте своего собеседника и других пользователей xgm.
Этот человек настолько позаботился об оптимизации карты, что сделал её в два раза больше чем нужно, респект таким картоделам
И да, зачем пририсовывать анимедевочку к интерфейсу, не предназначенному для анимедевочек? Неужто в сети Интернет нет ни одного анимеинтерфейса, который бы понравился автору больше, чем криво пририсованная анимедевочка к антуражу каких-нибудь Безликих? Какой-то удивительный слой метаиронии. Судя по возможности воскрешения персонажа за донат, здесь имеется такая поразительная высокотехнологичная магия, как 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ейс нужно заменить, и в новогоднем обновлении он будет заменен.
Благодарю за ваш коментарий, надеюсь на дальнейшие идеи по улучшению карты, и адекватную критику.
Автор потрудился над статьей, все прекрасно понятно и работает, единственное что стоит упомянуть - есть сайты которые автоматически обрезают изображение на N частей =)
» WarCraft 3 / Проверка на удаленного юнита
» WarCraft 3 / Проверка на удаленного юнита
» WarCraft 3 / Проверка на удаленного юнита
» WarCraft 3 / Проверка на удаленного юнита
Ред. nik5960nik
» WarCraft 3 / Проверка на удаленного юнита
» WarCraft 3 / Joumae Saori [Blue Archive]
» WarCraft 3 / Проверка на удаленного юнита
» WarCraft 3 / Проверка на удаленного юнита
» WarCraft 3 / Проверка на удаленного юнита
Добавил этот способ тоже
» WarCraft 3 / Проверка на удаленного юнита
» WarCraft 3 / Циклы и их лимиты (+ способы обхода лимитов)
» WarCraft 3 / Авто прокачка способностей (LVL UP + Изучение)
» WarCraft 3 / Авто прокачка способностей (LVL UP + Изучение)
Ред. nik5960nik
» WarCraft 3 / Авто прокачка способностей (LVL UP + Изучение)
Изначальные версии на чистом jass, обычная и с лимитом (указал что нужно подставить число для лимита вместо макроса для чистого jass)
+ могу добавить альтернативную реализацию уже без макросов
» WarCraft 3 / Авто прокачка способностей (LVL UP + Изучение)
подтвердили, нормально оформил?
» WarCraft 3 / Авто прокачка способностей (LVL UP + Изучение)
Ред. nik5960nik
» WarCraft 3 / Авто прокачка способностей (LVL UP + Изучение)
3 на jass и 3 на gui (2 состоят из custom script из-за отсутствия exitwhen на GUI)
» WarCraft 3 / Rpg Arena
» Counter-Strike 1.6 / ZMT Bots
Ред. nik5960nik
» WarCraft 3 / Death is not Escape
Что уж там, наглости хватило из 600 предметов назвать 20-30 предметов схожими названиями с другой карты, на кол его!
Да как автор посмел, тратит время на карту еще и смеет монетизировать ее.
Ред. nik5960nik
» WarCraft 3 / Death is not Escape
Благодарю за советы и критику постараюсь учесть вышеупомянутое.
» WarCraft 3 / Death is not Escape
Указаные выше размеры fайлов учитываются без сжатия картой + данный размер расчитан на диске
Так-же раних версиях карты после сохранения герой умерал, как в тех же Zombie666 и Goblin Survival, но после это было убрано и на карте появились предметы которые дают доп. жизни(перерождения) - при смерти героя он воскрешается и получает неуязвимость на 5-10 сек.
Так-же уточню что авторы коментариев прикопались к карте, которая находится в бета-тестировании, и подчеркнули что она сделана "тяп-ляп" хотя даже не знали что карте уже 2 года(не смотря на то, что какой-то период разработка была приостановлена и\или велась не активно).
Благодарю за ваш коментарий, надеюсь на дальнейшие идеи по улучшению карты, и адекватную критику.
» WarCraft 3 / Загрузочный экран FullHD (Ремейк by PAMEXI)
» WarCraft 3 / Death is not Escape