24

» WarCraft 3 / Официально стал доступен PTR 1.31

сам жасс ни что иное как огрызок от луа,
Откуда дровишки?
не будет сжасса, вжасса
Под Lua они и не особо нужны - большая часть того что умеют эти парсеры Lua делает из коробки и местами даже лучше.

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

Но еще много че не запилили, а так бы хотелось, все события что есть в игре
Большую часть запилят, скорее всего - это не последний апдейт и не последнее расширение списка нативок.
quq_CCCP:
Все вышеперечисленное можно и на жасс сделать
Так-то, это и на брейнфаке сделать можно, вопрос в удобстве использования, времени на разработку и необходимости в сторонних тулзах вроде мемхака.
24

» WarCraft 3 / Официально стал доступен PTR 1.31

quq_CCCP, конверт JASS->Lua имеет ценность только в качестве костыля для совместимости и ускорения первичного переноса карты т.к. сам по себе Lua намного более гибкий и функциональный язык.
Один из самых простых примеров и в то же время один из самых сносящих заклиненный на JASS мозг - заводим один глобальный массив-таблицу, дальше складываем туда по хендлу объекта еще один массив-таблицу для каждого игрового обьекта, а туда пишем произвольные данные которые должны быть привязаны к этому объекту. Все, готово условно бесконечное хранилище произвольных данных, с привязкой по хендлу, высокой скоростью работы и доступом к данным вида GlobalData[Handle].fieldName где GlobalData это имя глобального массива-таблицы, Handle это хендл обьекта, а fieldName произвольные имена полей. Аналогично делается база данных для чего-либо, только вместо хендла берем ID/равкод.
Единственное что - я не нашел пока способа писать в луа коде равкоды так чтобы они конвертировались в число при сохранении карты. Из гуя равкоды при конвертации в Lua заменяются сразу числом, так что возможно этой фичи еще нет, а может и не будет.
24

» WarCraft 3 / Официально стал доступен PTR 1.31

quq_CCCP, статью-исследование о том как оно там сейчас работает - не рано. Как и статью о том, какие перспективы и возможности дает факт использования Lua вместо JASS. Да, еще может и будет меняться список нативок, может поменяться список ограничений наложеных на Lua, но общие принципы почти наверняка останутся без изменений.
24

» WarCraft 3 / Официально стал доступен PTR 1.31

quq_CCCP, да ясен пень, что еще все будет меняться, а баги фикситься.

Немного поковырял Lua, и вот что я могу сказать: for-in и ООП компилируются, но не работают.
По результатам моих тестов, как минимум функции в таблицах и for-in через ipairs работают в текущей версии PTR.

Эх, где бы свободного времени урвать чтобы всерьез сесть и по ковырять Lua в варе пару вечеров и оформить результаты в статью...
24

» WarCraft 3 / Официально стал доступен PTR 1.31

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

upd:
А нет, частично работает - код в специальном блоке кода более-менее конвертится, в отличии от конвертированных в код триггеров, на которых все работали раньше.
24

» WarCraft 3 / IF проверка

quq_CCCP, pro100master, где же вы были лет пять назад, когда мне эти знания пригодились бы xD
24

» WarCraft 3 / IF проверка

quq_CCCP, и это даже без мемхака? Что-то я упустил, видимо, а может память уже подводит.
24

» WarCraft 3 / IF проверка

Насколько я знаю, способов прямой проверки события нет.
24

» WarCraft 3 / Идеальная система опыта и добычи золота в мультиплеере

Прежде всего, идеальной системы не бывает - под каждую ситуацию какие-то системы подойдут лучше, какие-то хуже и только в похожих ситуациях одна и та же система даст одинаково хорошие результаты.
У меня в одной карте была запланирована и почти полностью реализована такая система:
  • Есть список "титулов", которыми могут обладать игроки. Разных титулов намного больше чем максимум игроков в карте в один момент времени.
  • Каждый титул дает свои плюсы и минусы. В частности, у каждого титула есть свой фиксированный инком и ценность в поинтах.
  • Есть общие титулы, которые могут быть получены многими игроками одновременно, а есть уникальные, доступные только одному игроку в один момент времени.
  • Только один титул может быть активен для одного игрока в один момент времени, выбирается либо вручную игроком из доступных либо автоматически по поинтам среди доступных.
  • Автоматическая смена титулов и выдача инкома происходит по таймеру. Если игрок заказал смену титула вручную, то он получит его также в следующую итерацию таймера, если еще будет удовлетворять условиям получения.
  • Условия получения титулов могут быть самыми разными, будь то первое место в таблице или выполнение квеста или самая большая дубина.
  • Помимо фиксированного инкома для каждого титула, все достижения игроков за итерацию таймера суммируются и распределяются в соответствии с титулами. В том числе так распределяется золото за убийство крипов.
  • В момент срабатывания таймера сперва распределяется фиксированный инком по титулам, потом происходит смена титулов и потом происходит распределение наград за достижения в этой итерации.
  • В общем случае, чем сложнее получение и удержание титула, тем выше у него фиксированный инком и тем выше доля наград за достижения.
В той карте предполагалось что все игроки в одной команде, но система может быть легко адаптирована и под несколько команд.
Предметы, если я правильно помню, распределялись двумя путями - предметы по проще, вроде расходников, доставались первому поднявшему, а более крутые раздавались через "аукцион" - один игрок в итоге выкупал предмет, а остальные получали золото.
В той карте у героев не было опыта в обычном его понимании, так что система его не регулировала.
Еще были планы добавить "прокачку" некоторых титулов, когда выполнение определенных условий или удержание титула достаточное время могло бы улучшить титул до следующего в цепочке, с более крупными бонусами, чтобы игроки схватившие титул в начале должны были продолжать крутиться чтобы их не обошли другие игроки, но это надо было на живых игроках тестировать и баланс подбирать, а карта не дожила до этого.
24

» StarCraft 2 / Атака по области

Проще всего - посмотреть как сделана атака танка, очевидно.
24

» StarCraft 2 / дополнения хотс и лотв для редактора

У меня не было шансов найти решение этой проблемы - я серьезно что-то делал в редакторе во времена когда он даже не стартовал без подтверждения лицензии.
24

» StarCraft 2 / дополнения хотс и лотв для редактора

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

Переключения может и нет в самой игре, но редактор это отдельный мир, не надо путать теплое с мягким и костыли с кирпичами.

Специально потратил время когда прошлый коммент писал - есть melee тип карты, у него на выбор три кнопки списком (у тебя, возможно, одна), есть arcade тип карты и у него либо на выбор те-же три (у тебя, возможно, одна) кнопки, либо расширенный режим с ручным добавлением.
24

» StarCraft 2 / дополнения хотс и лотв для редактора

Mikhail54, Насколько я помню, там раньше была кнопка открывающая расширенное меню добавления зависимостей помимо базового списка, может там?

upd:
Если точнее, у melee карт выбор только из списка, а у arcade или список или ручная настройка.
Еще стоит проверить что стоит в настройках тестового запуска, там есть выбор дополнения от которого стартует тест melee карт из редактора.

А еще, если кто не знает, редактор докачивает файлы данных для кампаний отдельно от основной игры по своим каким-то одному ему ведомым причинам.
24

» Мир безумного / WoW теперь и на Windows 7 поддерживает DirectX 12

Есть, например, много специального, узкоспециализированного софта, который на 10 просто не идет, а альтернатив нет и обновлений не предвидится. Более того, есть софт, который даже с аэро в 7 конфликтует, не то что с 8 и 10.
Вот рядовым пользователям которые дальше интернет-браузера и пары игрушек не ходят - 10, наверно, лучше.
24

» Мир безумного / Unreal Engine на GDC 2019

Стоит упомянуть очень важную вещь - анонс эпиковских онлайн сервисов и SDK под них. С расчетом под работу в "любом движке в любом сторе". Это не так красочно, как система разрушения, конечно, но не менее важно.
24

» Мир безумного / Сотрудники Blizzard «плачут и обнимаются»

Ну не факт, далеко не факт, что при необходимости всё можно так "легко" починить.
Да что вы такое говорите, можно же нажать кнопку "починить все" и все будет работать. Нет, нельзя.

адреса и оффсеты найдут.
А толку от адресов и оффсетов, если близы поставили защиту от вмешательства в память и закрыли дырки через которые это делалось из кода карты?
24

» Мир безумного / Сотрудники Blizzard «плачут и обнимаются»

Они это настолько "хотели", что только сейчас додумались до нормальной системы.
Если я правильно помню, изначально там любой скин можно было купить за деньги напрямую и никакой внутренней валюты не было. А потом я перестал играть потому как команды нет, с рандомами грустно, а свободного времени становилось все меньше.
24

» WarCraft 3 / Получить имя функции в jass как строку

Как вариант - можно написать свой внешний парсер для замены и простановки отладочной информации и скормить ему j файл, а результат обратно импортировать в отладочную версию карты..
24

» WarCraft 3 / Возможна ли без JASS автоматическая добыча древесины?

В той же Java ситуация со строками такая же, например.
В джаве начиная с 1.8 нет пермгена, который не подлежит чистке, и строки теперь вполне себе подвержены сборке мусора. А еще, в джаве есть инструменты для работы со строками, не генерирующие по отдельной строке на каждую конкатенацию, позволящие собрать в буфере всю строку прежде чем записывать результат в пул строк.
24

» StarCraft 2 / Ищу русификатор триггеров для Старкрафт2

будут русские триггеры
Я бы не был так в этом уверен. Близы вроде отказывались от локализации триггеров.
24

» Мир безумного / Сотрудники Blizzard «плачут и обнимаются»

Странная какая-то инфа в новости, как обычно - прибыль люто падает у активижна в целом, а статья почему-то ориентирована именно на близард.
24

» XGM Team / XGM в дискорде

Что мешает юзерам наделать клонов или ввести путаницу с именами аккаунтов?
Решаемо через привязку аккаунта сайта и аккаунта дискорда, запрет смены ников на сервере и принудительное проставление серверных ников в соответствии с именем пользователя на сайте (если пользователю указан серверный ник, то на этом сервере его всегда будет показывать под этим ником, сколько бы он ни менял имя пользователя в дискорде). Правда чтобы это работало желателен бот и интеграция со стороны сайта, руками тоже можно, но очень напряжно. А клоны просто отсекаются по принципу "нет привязки - нет доступа".
24

» XGM Team / XGM в дискорде

Не помешало бы поле "дискорд" в профиле здесь на сайте.