function AddLocalEffect takes string eff, real x, real y, player pl returns effect
local string e = ""
if (GetLocalPlayer() == pl) then
set e = eff
endif
return AddSpecialEffect(e, x, y)
endfunction
Вряд ли это можно назвать хорошо. Эта та часть синтаксиса, что приводит к серьезной неразберихе. Подумать только, совершенно неявное приведение. PT153:
Про этот сахар написано в мануале JassHelper? Я вот что-то не помню.
Да, написано. В самом низу, в ченжлоге
0.A.0.0
. or this. are not required anymore to use members. Note that this may cause issues if for some (incredibly weird) reason you try to use global variables from a method of a struct that has variables of the same name. To disable this feature, you can add [noimplicitthis] to jasshelper.conf.
Improved the syntax error when you place a function inside a struct.
Code values might get implicitly casted to boolexpr in some occasions, specifically, when using them as arguments for natives/bjfunc that take boolexpr. More cases will get added when type safety gets on its way for more stuff...
Я не включил этот момент в перевод, о чем в итоге сам напрочь забыл.Все таки стоило.
а внутри фильтров можно делать абсолютно все необходимые действия
Объявляя столько глобальных переменных, сколько требуется алгоритму внутри фильтра, просто для копирования значений из локальных переменных. В результате мы существенно добавляем писанины, делая код объемным и непоследовательным.
Кстати говоря, фильтр, это boolexpr, то бишь handle
call GroupEnumUnitsInRange(bj_lastCreatedGroup, x, y, range, Condition(function filter))
Или
call GroupEnumUnitsInRange(bj_lastCreatedGroup, x, y, range, Filter(function filter))
Как написал ScopteRectuS, занести кастера в переменную и обращаться к этой переменной внутри функции фильтра.
Но вообще есть мнение, что использование фильтра - подход вульгарный из-за отсутствия возможности работы с локальными переменными внутри вызывающей функции и, собсно, большого числа вызовов этой самой функции фильта на каждого юнита. Обычно в группу собираю всех юнитов, перебирая их вручную через цикл
Пример
local unit caster = GetTriggerUnit()
local player casterPlayer = GetOwningPlayer(caster)
local group allTargets = CreateGroup()
local unit target
call GroupEnumUnitsInRange(allTargets, x, y, range, null)
loop
set target = FirstOfGroup(allTargets)
exitwhen target == null
if IsUnitEnemy(target, casterPlayer) then
// Твои действия
endif
endloop
LongbowMan, новая версия перешла на новую систему хранения данных CASC. MPQ архивы в игре больше не используются, только для карт. Перечисленные тобой программы работают именно с MPQ архивами.
Ну дело в том что покупка-то разовая. Для людей купивших лицензионную копию игры в год выхода, это была трата на 15 лет вперед. 15 000 за стиральную машину это вроде тоже дорого, но с другой стороны, ты же не покупаешь стиральную машину каждый месяц. Простите за аналогию.
Всех комментариев не читал, так что не в курсе если был, вот вольный перевод инсайдерской информации.
Спойлер
- Поддержка классических игр была начата с целью сохранения игр Blizzard ставших иконой индустрии.
- Переход к работе над Warcraft III это абсолютно естественный шаг после Starcraft.
- Из-за выхода обновлений оригинальной игры было достаточно сложно хранить информацию о ремастере под покровом тайны.
- Будет несправедливо сказать, что графика оригинальной игры менее успешна нежели ее геймплей, поэтому она так же подверглась обновлению.
- Изначально планировалось сделать новую графику более мультяшной, однако результат выглядел слишком похожим на многие другие игры.
- Команда разработчиков смотрела на синематики Mists of Pandaria как на основу для внешнего вида орков и людей в Warcraft III: Reforged.
- Не считая некоторых мелочей, Warcraft III: Reforged использует движок оригинальной игры.
- Инструменты задействованные в разработке графики будут так же доступны сообществу вместе с редактором карт.
- Именно сообщество сохраняло игру живой все эти годы и команда разработчиков хочет за это отплатить.
- Команда извлекла множество уроков из разработки прочих RTS игр в их арсенале и хочет применить полученные знания к Warcraft III: Reforged.
- Команда хочет чтобы локации, известные вам по World of Warcraft, были лучше продемонстрированы в ремастере и были приближены непосредственно к WoW.
- Команда пыталась внести множество качественных улучшений в текущую версию игры, чтобы подготовиться к ремастеру. Этот процесс включат в себя выпуск патчей.
- Команда хотела избавиться от тех ограничений, что более не являются проблемой в современных играх.
- В кои-то веке не нужно открывать порт 6112 для создания пользовательских игр!
- Warcraft III: Reforged будет добавлен в лаунчер Battle.net.
- В конце концов, Warcraft III продолжает развиваться. Увиденная вами графика была действительно добавлена поверх движка оригинальной игры.
- Движок World of Warcraft был основан на движке Warcraft III. Команда разработчиков взяла в Warcraft III: Reforged те изменения и уроки, которые смогла извлечь из WoW.
- Всякая анимация и эффекты взяты из движка оригинальной игры.
- Команда разработчиков не хочет разделять сообщество и потому пытается сохранить привязку оригинальной игры.
- Команда сможет добавить множество индивидуальных черт игре с ее новой инфраструктурой, но лишь до тех пор, пока геймплей неизменен.
- Художники немного ограничены старой анимацией игры.
- Все созданные за прошедшие годы карты для оригинальной игры должны быть доступны для загрузки в Warcraft III: Reforged с новыми графическими ассетами.
- Команда разработчиков хотела поднять силу менее используемых героев до уровня, например, Охотника на Демонов.
- Команда связывалась с игроками по всему миру, дабы направить изменения проводимые над игрой в нужное русло.
- Команда хочет хочет продолжить взаимодействовать с сообществом дабы создать игру, которая удовлетворит игроков.
- Команда так же совершила несколько важных шагов дабы ускорить выход игры.
- Они так же сотрудничают и нанимают людей из сообщества, чтобы быть уверенными - игра не уйдет далеко от оригинала.
- UI был разделен, чтобы разработчики карт могли произвольно изменять интерфейс, чего они не могли делать в прошлом.
- Команда разработчиков хочет чтобы в первый же день после выхода игры было доступно множество карт над которыми можно будет работать в новом редакторе.
- Карты со множеством багов или просто неработоспособные будут рассмотрены отдельно.
- Все используемые в разработке инструменты будут так же доступны вместе с руководством по использованию.
- Графика и звук оригинальной игры будут по прежнему доступны по желанию.
- Оригинальные модели и текстуры так же будут выглядеть намного лучше.
- Будет добавлен функционал для слияния вашего аккаунта с Battle.net для сохранения всех рекордов и достижений.
- Команда разработчиков не хочет диктовать вам, как правильно играть. Это ваша игра!
- Команда хочет внести улучшения в функцию объединения игроков. У вас появится возможность встать в очередь из группы в 2 игрока для объединения с двумя другими игроками в игре 4x4.
- Главное сейчас - это сохранение игры, однако существует и потенциальная возможность для новых историй и кампаний в будущем.
- Вход в Очищение Стратхольма был пемещен на юг вместе с Артасом, чтобы больше соответствовать версии аналогичного подземелья WoW дополнения Wrath of the Lich King.
- Сообществу необходимо сплотиться чтобы научить игре новых игроков.
quq_CCCP, не стану вдаваться в демагогию на счет былого, но с новыми патчами не резонней обновить карту?
И что важнее, а зачем вообще нужно было идти в ногу с новой дотой? Дота всегда была достоянием сообщества и ее общим творением, почему не продолжить ее обновлять в том же духе, вместо попыток скопировать сомнительное творение Valve.
Ну старые проекты ты наверно забросил потому что они тебе надоели. Никакой патч твои проекты не освежит, всё в твоих руках.
На счёт перехода, то игроки переходить со временем будут. На пиратках играли по двум причинам. Первая, это отсутствие денег. В далёком 2004, скажем, 1000 рублей на игру, это была очень серьёзная сумма. Сейчас, это пара недель экономии на школьных обедах. Вторая причина, это отсутствие официальных серверов. Да и для жителя СНГ, к которому безлимитный интернет пришёл очень нескоро, играть была возможность только на пиратских серверах своего провайдера. Ни то ни другое сейчас не проблема. Так что стоит или нет, вопрос странный. Хочешь - переходи, не хочешь - не переходи. Ты же там не деньги зарабатывать собираешься. Не понравится, подаришь ключик какому-нибудь знакомому на новый год, порадуешь человека, дело тоже хорошее.
» WarCraft 3 / Можно ли проиграть спецэффект только для отдельного игрока?
» WarCraft 3 / JASS GroupEnumUnitsInRange фильтр
PT153:
Ред. GetLocalPlayer
» WarCraft 3 / JASS GroupEnumUnitsInRange фильтр
» WarCraft 3 / Какие типы карт вы предпочитаете?
» WarCraft 3 / JASS GroupEnumUnitsInRange фильтр
» WarCraft 3 / JASS GroupEnumUnitsInRange фильтр
» WarCraft 3 / JASS GroupEnumUnitsInRange фильтр
PT153:
Ред. GetLocalPlayer
» WarCraft 3 / JASS GroupEnumUnitsInRange фильтр
Кстати говоря, фильтр, это boolexpr, то бишь handle
» WarCraft 3 / JASS GroupEnumUnitsInRange фильтр
» WarCraft 3 / Blizzcon: Анонсирован WarCraft III Reforged (remaster)
» WarCraft 3 / Blizzcon: Анонсирован WarCraft III Reforged (remaster)
» WarCraft 3 / Какая способность лучше всего подходит для бафов
» WarCraft 3 / Версия варика выше 1.26а. Смысл?
» WarCraft 3 / Blizzcon: Анонсирован WarCraft III Reforged (remaster)
Ред. GetLocalPlayer
» WarCraft 3 / Blizzcon: Анонсирован WarCraft III Reforged (remaster)
» WarCraft 3 / Насколько актуально делать упор на версию 1.29/1.30?
И что важнее, а зачем вообще нужно было идти в ногу с новой дотой? Дота всегда была достоянием сообщества и ее общим творением, почему не продолжить ее обновлять в том же духе, вместо попыток скопировать сомнительное творение Valve.
» WarCraft 3 / Насколько актуально делать упор на версию 1.29/1.30?
» WarCraft 3 / Насколько актуально делать упор на версию 1.29/1.30?
» WarCraft 3 / Насколько актуально делать упор на версию 1.29/1.30?
Clamp:
» WarCraft 3 / Насколько актуально делать упор на версию 1.29/1.30?
Ред. GetLocalPlayer
» WarCraft 3 / Версия варика выше 1.26а. Смысл?
» WarCraft 3 / Версия варика выше 1.26а. Смысл?
» WarCraft 3 / Как сделать магазин,где можно покупать урон/ману и пр. на перса?
» WarCraft 3 / Где лежат стандартные модели Warcraft 3.
» WarCraft 3 / Утечка. Пик юнитов.