Araders, Может конечно чего-то забыл, но вроде работает
---
--- Generated by EmmyLua(https://github.com/EmmyLua)
--- Created by Bergi.
--- DateTime: 26.07.2020 11:40
---
do
--Инициализация
TimerStart(CreateTimer(), 0.1, false, function()
perebor = CreateGroup() --глобальная группа для перебора всех юнитов 1 единственная на всю игру, больше групп не надо
InitManaLoosing()-- чтобы не подгрёб сбощик мусора и + у меня дебаггер прикручен к таймерам и + можно делать отложенный старт системы
end)
end
ManaLoosingTable = {} --глобальная таблица, аналог хеша, сделана отдельной для изолированности наработки
DeBuffID = FourCC("A000") -- можно сделать на основе ауры замедления торнадо
DeBuffID2 = FourCC("B000") -- бафф иконки ауры торнадо
ImmuneID = FourCC("A001") -- Бафф иммунитет
Porog=0.2 -- пороговое значение для срабатывания дебафа - 20%%
function InitManaLoosing()
-- Для юнитов изначально стоящих на карте
TrigLESSEQUAL = CreateTrigger() -- триггер для потери маны меньше 20%%
TrigGREATERTHAN = CreateTrigger() -- возврата маны
local NewEntireOnMap = CreateTrigger() -- триггер проверки новых юнитов, созданных триггерно или суммом, ну или просто любых, которых не захватила инициализация карты
TriggerRegisterEnterRectSimple(NewEntireOnMap, bj_mapInitialPlayableArea)
TriggerAddAction(NewEntireOnMap, function()
local EntireUnit = GetTriggerUnit()
ChkUnitForManaDeBuffSystem(EntireUnit) -- ChkUnitForManaDeBuffSystem проверка и добавление юнита
end)
local e = nil
GroupEnumUnitsInRect(perebor, bj_mapInitialPlayableArea, nil) -- перебор всех юнитов стоящих на карте заранее
while true do
e = FirstOfGroup(perebor)
if e == nil then
break
end
ChkUnitForManaDeBuffSystem(e) -- и добавление им события для проверки маны
GroupRemoveUnit(perebor, e)
end
-- Триггеры проверки маны
TriggerAddAction(TrigLESSEQUAL, function()
local hero = GetTriggerUnit()
UnitAddAbility(hero, DeBuffID)
print(GetUnitName(hero) .. " значение маны упало ниже 20%%, добавляем наш дебафф")
end)
TriggerAddAction(TrigGREATERTHAN, function()
local hero = GetTriggerUnit()
if GetUnitAbilityLevel(hero, DeBuffID) > 0 then
print(GetUnitName(hero) .. " значение маны восстановилось, удаляем дебафы")
UnitRemoveAbility(hero, DeBuffID)
UnitRemoveAbility(hero, DeBuffID2)
else
print(" Система дебафа еще не настроена, но событие удаления дебафа отработало корректно")
end
end)
end
function ChkUnitForManaDeBuffSystem(e) -- а вот и событие наше
if UnitAlive(e) and not IsUnitType(e, UNIT_TYPE_STRUCTURE) and BlzGetUnitMaxMana(e) > 1 and GetUnitAbilityLevel(e, ImmuneID) == 0 then
-- условия кому давать или не давать дебафф
local percent = BlzGetUnitMaxMana(e) * Porog
print("добавление событий для отлова падения или восстановления маны юнита " .. GetUnitName(e) .. " пороговое значение " .. percent)
TriggerRegisterUnitManaEvent(TrigLESSEQUAL, e, LESS_THAN_OR_EQUAL, percent)
TriggerRegisterUnitManaEvent(TrigGREATERTHAN, e, GREATER_THAN_OR_EQUAL, percent) --лучше написать просто GREATER_THAN, надо проверять
end
end
Карты нет, так как я не пользуюсь WE, но на дебагах отработало корректно
Вот это всё копируешь в отдельный блок себе, настраиваешь ID баффов, для первого теста даже не обязательно и работает вместе с ГУИ
Есть нюанс, пока не придумал как решить, плохо будет работать для героев, у которых будет расти мана с уровнем, ибо значение задаётся 1 раз в самом начале игры, кароче я уже пожалел, что так сделал, придётся всё заменить на периодическую проверку процента маны, а это уже попробуй сам =)
Была проблема с загрузкой на сайт, уже починили, можешь смело заливать.
Какой предел размера карты для публикации на этом сайте?
100 мегабайт у всего ресурса, но если надо больше и есть что показать, то можно попросить модераторов залить на сайт и + ссылки на облака никто не запрещал.
Вот есть ограничение на игру по сети (8м)
Это где такое? ограничение было только на гарене, и ото оно обходилось через спец патч, сейчас всё хостуется через ирину или последний патч рефорджа
Хотелось бы узнать что сколько кушает. Т.е. какую часть памяти примерно занимают триггеры (300+ штук), какую ландшафт (почти 8 тысяч декораций), юниты на карте, юниты в редакторе, спелы, переменные? На что мне сделать упор в плане оптимизации размера карты? Из моментов, к которым сам пришел это
1 -удаление юнитов с карты и добавление их уже в игре через триггеры,
2 -редактирование стандартных спелов взамен созданию новых на их основе
Можно открыть карту любой mpq программой, разумеется и посмотреть какой файл что кушает, в твоей случае после импорта на 2 месте будут гуи триггеры. Но можно вообще не заморачиваться по поводу размеров в 2020, а на сайте просто был глюк
Когда нибудь сделают конкурс, где будет написано: любой пиар открытая и разработка запрещены. А пока что, если это не запрещено, то разрешено.
Но у тебя Lord_Teo, самое лучшее презентационные видео, как по мне. О комбах нужно было рассказать в игре, а не в ресурсе и не делать их скрытыми, если это основная механика. Например в пассивке и логически обосновать этот эффект, как остатки темной материи или пороховые газы, за счёт которых можно комбинить.
через наличие пасиной способности или чего-то подобного будет проще?
и фиг нужно 2 события получить: мана стала меньше и мана стала больше, а на это ничего нового не завозили, всё так же, хоть на 126 делай, или тебе принципиально увидеть как это на луа?
Araders, могу помочь, так как увидел Lua, но пока не могу понять реализацию до конца. Событие "мана становиться меньше", не хочется как-то использовать по причине того что, аналогиченое событие на отслеживание хп у меня весьма часто крашило, а перебирать всех юнитов на карте раз в секунду, это тоже тяжело, если юнитов будет слишком много, вот я и хз как это реализовать то...
Всё по старому, даммикаст + способов реализаци куча. Самое главное это отследить событие ядовидой ловушки, тут 3 самых очевидных варианта:
Ловушка умерла, значит активировалась, если же сделано на основе колдовской оглушающей ловушки
Вражеский юнит вошел в зону ловушки
Периодическим триггером перебираем юнитов вокруг ловушки в момент её установки и до тех пор пока они жива, как только найден враг ловушка активирована.
Все 3 варианта в свей степени верны и имеют место быть, тут уже зависит от того в какой врубишься
Ну и действие.
Даммикаст отравленного ножа или любого другого яда на каждого юнита в зоне поражения
О дамми кастах всё находим через поиск
DarkLigthing, распечатаю, и поставлю в рамочку, наконец-то хоть кто-то заметил суть, которую я заложил в героя. Максимально похожий в этом плане на моего героя это охотница с сюрикенами и слежкой.
Раскрывается название, благодаря скилу охота.
Раскрывается огромный щит в руке (пассивка)
Раскрываются в более широком плане сюрекены с их отскоками и возвратные механики.
Берём стандарт и делаем то что видим как говориться.
У Дуалшока (великий маг) лучшая способность, если бы была на это отдельная номинация он бы однозначно победил в ней =).
Ну а про остальных я вроде всё и так говорил в ресурсах работ
Extremator, в том то и дело, что он скорее всего уже играл за адмирала, до конкурса ибо он был готов раньше всех, и тут даже не много обидно, что не читал ничего и не рассказывал о синергии способностей и о шляпе адмирала (аганиме), просто кромсание бедных пеонов, а там вообще-то альтернативная концовка есть.
раскрыть
Можно вынудить всех пеонов сесть на лодки, это тоже засчитается как за победу, это же приквел
Ну вот теперь все понятно объяснил, а вообще на будущее, надо проводить типовые конкурсы, чтобы учитывать предыдущие ошибки. И в этом, наличие тестовой карты, было бы не плохо сделать обязательным.
ЛОР оцениваться, а тестовая карта нет, лол. А если тестовая карта это и есть доп? Ибо это самый лучший способ его передать, ведь лор информация с ресурса карты, как и вообще любая информация с ресурса не имеет никакой роли. ЛОР надо что, просто в виде текста в карте лепить? Это же вообще не серьезно. Чем лучше сделана тестовая карта, тем лучше раскрывать лор
Если делать камеру от третьего лица, за спиной персонажа и при этом управление на клаве, обзора нормального как не бывало, не видно что за спиной.
Зачем от 3 лица, это же бе, оставляешь туже самую камеру варика, можно даже свободную.
Вот пожалуйста, WASD на свободной и стандартной камере
Пеонов не буду кидать, ибо уж слишком дофига рекламы своих продуктов в чужом проекте, но там тот же васд на локнутой камере.
Это совершенно меняет суть геймплея, позволяя стрелять в движении, что даёт больше времени на отход, даже с кд стрельбы 1 можно сделать на отходе 5 выстрелов по динозавру, вместо 2
42 мегабайта можно и залить на сайт (я всё сделаю если ты не против)
Всё на английском, нужно об этом предупредить игроков, многих это оттолкнёт, а других притянет
На рефордже всё запустилось, и думаю будет работать (отработало как часы)...
Режим Истории не доступен, я вижу что он в разработке, но думал, что хоть какая-то демка будет, ну ладно
База очень большая, я знал что на ней должны быть магазины, но пришлось поискать побегать. Без визуала вспомогательного который бы мог дать рефордж или мемхак, играть сложно =(.
Боль. Я нафармил 1000 очков и решил рискнуть пойдя на агрессивного динозавра, но с дробовика не прокнул нормальный урон с первого выстрела, и я возродился на базе без очков и денег после своей смерти
Игра должна наказывать за смерти, но не лишать всего, а у меня не было денег даже на патроны, в итоге спустя 20 минут игры я ливнул, это была боль и кара над игроком.
Например моя любимая игр Hollow Knight, не сильно карает за смерть, у меня есть шанс вернуться к точке где я умер, чтобы вернуть обратно свои деньги, если же я умру и второй раз подряд не дойдя до туда, то тогда да (значит я рак, отбирайте всё)
Скрин из игры пока не забыл
Я думаю, что понял всю задумку, но с дефолт управление варкрафта всё плохо, понимаю, что автор возможно выжал все соки из себя в процессе разработки, но без управления на WASD, и поворотом за мышью, я не готов в такое играть (при условии, что я вообще не играю в варкрафт)
Но мб кому-то точно зайдёт, ведь качество у карты есть:
Много видов оружия
Много видов врагов динозавров
Можно играть левой пяткой и чилить, никуда не торопясь, ведь это не онлайн и не пвп, а простая охота с постепенной прокачкой. Возможно я бы зашёл дальше, но потерял всё =( и это оттлкнуло
Английский, хороший английский из РУ сегмента это редкость, карта уже была размещена на хайве?
-- Game API
---@return version
function VersionGet() end -- (native)
---@param whichVersion version
---@return boolean
function VersionCompatible(whichVersion) end -- (native)
---@param whichVersion version
---@return boolean
function VersionSupported(whichVersion) end -- (native)
Гуи + кастом скрипт можно все. Про активацию способностей вообще забудь, ты там не сделаешь отпускание клавиши. В 126 васд микс позволить через обработку событий стрелок все сделать, это на гуи есть точно. На счёт того есть ли функции событий ну гуи в новом патче, я вообще не скажу тебе
Способы есть и через BlzChangeMinimapTerrainTex вполне нормальный, но смысл всего происходящего, я не думаю что можно в карту 126 патча засунуть рефордж код и он заработает в рефордже, такое проверялось?
» XGM Конкурсы / Голосование конкурса героев
» WarCraft 3 / Способности и алгоритмы на заказ
» WarCraft 3 / О размерах карты (вес)
Ред. Берги
» XGM Конкурсы / Голосование конкурса героев
Но у тебя Lord_Teo, самое лучшее презентационные видео, как по мне. О комбах нужно было рассказать в игре, а не в ресурсе и не делать их скрытыми, если это основная механика. Например в пассивке и логически обосновать этот эффект, как остатки темной материи или пороховые газы, за счёт которых можно комбинить.
» WarCraft 3 / Способности и алгоритмы на заказ
» WarCraft 3 / Способности и алгоритмы на заказ
» WarCraft 3 / Как создать способность, Ядовитого цветка?
- Ловушка умерла, значит активировалась, если же сделано на основе колдовской оглушающей ловушки
- Вражеский юнит вошел в зону ловушки
- Периодическим триггером перебираем юнитов вокруг ловушки в момент её установки и до тех пор пока они жива, как только найден враг ловушка активирована.
Все 3 варианта в свей степени верны и имеют место быть, тут уже зависит от того в какой врубишьсяНу и действие.
Даммикаст отравленного ножа или любого другого яда на каждого юнита в зоне поражения
О дамми кастах всё находим через поиск
» XGM Конкурсы / Голосование конкурса героев
Раскрывается название, благодаря скилу охота.
Раскрывается огромный щит в руке (пассивка)
Раскрываются в более широком плане сюрекены с их отскоками и возвратные механики.
Берём стандарт и делаем то что видим как говориться.
У Дуалшока (великий маг) лучшая способность, если бы была на это отдельная номинация он бы однозначно победил в ней =).
Ну а про остальных я вроде всё и так говорил в ресурсах работ
» XGM Конкурсы / Голосование конкурса героев
Ред. Берги
» XGM Конкурсы / Голосование конкурса героев
Глашатай глубин - Kelnaar
Смерть - bifuricated
Генерал Хаоса - WandererKorovan
» XGM Конкурсы / Голосование конкурса героев
» XGM Конкурсы / Голосование конкурса героев
» WarCraft 3 / Carnivores World 0.99
Это совершенно меняет суть геймплея, позволяя стрелять в движении, что даёт больше времени на отход, даже с кд стрельбы 1 можно сделать на отходе 5 выстрелов по динозавру, вместо 2
Ред. Берги
» WarCraft 3 / Смена модели героя
» WarCraft 3 / Как триггерно наложить эффект на юнита?
» WarCraft 3 / Carnivores World 0.99
Ред. Берги
» WarCraft 3 / Carnivores World 0.99
Всё на английском, нужно об этом предупредить игроков, многих это оттолкнёт, а других притянет
База очень большая, я знал что на ней должны быть магазины, но пришлось поискать побегать. Без визуала вспомогательного который бы мог дать рефордж или мемхак, играть сложно =(.
Например моя любимая игр Hollow Knight, не сильно карает за смерть, у меня есть шанс вернуться к точке где я умер, чтобы вернуть обратно свои деньги, если же я умру и второй раз подряд не дойдя до туда, то тогда да (значит я рак, отбирайте всё)
Скрин из игры пока не забыл
Но мб кому-то точно зайдёт, ведь качество у карты есть:
Ред. Берги
» WarCraft 3 / Вызов новых функций версий 1.32+ из карты сделанной для 1.26
» WarCraft 3 / Вызов новых функций версий 1.32+ из карты сделанной для 1.26
Не вижу минусов у bj_MAX_PLAYER_SLOTS
» WarCraft 3 / Вызов новых функций версий 1.32+ из карты сделанной для 1.26
Ред. Берги
» WarCraft 3 / Вызов новых функций версий 1.32+ из карты сделанной для 1.26
12 - 126, 24 - рефордж
» WarCraft 3 / WarCraft Shooter v1.1
» WarCraft 3 / Вызов новых функций версий 1.32+ из карты сделанной для 1.26
Это довольно таки круто
» WarCraft 3 / Вызов новых функций версий 1.32+ из карты сделанной для 1.26
Ред. Берги
» XGM Конкурсы / Голосование конкурса героев
#comment66