prog, скачай мою карту и запусти её. В Documents\WarCraft III\CustomMapData\test будут логи подгрузки данных. Лучше всего запускать из редактора, в config.txt меньше мусора будет. В 1.31 весь прелоад находится не в папке с варом, а в документах.
Во время config war3MapSkin.txt не подгружается, я сам его подгружаю, но это не помогает.
Разница от простого изменения данных игрового интерфейса лишь в том, что новые названия рас будут на экране загрузки, если не будет нестандартного.
карта загружается -> происходит подгрузка данных карты, которые остаются до запуска следующей карты
Запуска = до полной загрузки карты. Данные о имени рас подгружаются после запуска карты, а экран рисуется до загрузки и не меняется далее.
Поэтому, если после карты с нестандартными именами запустить со стандартными, на экране загрузки будут нестандартные имена (если они вообще отображаются), а после в лобби и на следующем экране загрузки имена вновь будут стандартными.
Нет, CHANNEL и FINISH ловят все способности. Различия на channel и не channel нет.
оно наступает после снятия маны и начала перезарядки способности.
Это не так. Мана и кд снимаются ПОСЛЕ завершения триггера с EFFECT событием или после паузы в нём.
Почему же нужно использовать EFFECT
Кратко: EFFECT означает фактический старт каста способности, когда cast time способности и cast point юнита прошли.
Дополнительно:
Во время этого события игрок уже может юнита контролировать, до этого - нет. Также если до этого события сбить каст, то юнит заново начнёт кастовать, после и во время этого события - нет. ENDCAST не может сработать раньше EFFECT, либо во время, либо после.
Лучше убрать лишнюю информацию и оставить только нужную.
if GetSpellAbilityId() == FourCC('A001') then
-- spell1
return
elseif GetSpellAbilityId() == FourCC('A002') then
-- spell2
return
elseif GetSpellAbilityId() == FourCC('A003') then
-- spell3
return
end
return тут не нужен.
local SPEED_INC = SPEED / (1 / TIMER_PERIOD) -- расстояние, которое снаряд пройдёт на каждый тик таймера
local SPEED_INC = SPEED * TIMER_PERIOD
Деление может только запутать читателя. Расстояние = скорость * время, это все знают.
return DestroyTimer(GetExpiredTimer())
Зачем возвращать nil? Это запутает не подкованных читателей.
Перед удалением периодические таймеры нужно ставить на паузу.
Исодя из этого, перепишем полёт исходя не из расстояния, а от времени.
"Исходя". А ниже сломалось форматирование. Опечатку заметил только из-за того, что браузер подчеркнул в цитате.
while true do
Так будет лучше.
local target = FirstOfGroup(GROUP)
while target ~= nil do -- если можно просто while target do, то так и сделать.
-- actions
target = FirstOfGroup(GROUP)
end
Так как у даммика нет модели, то касты способностей проходят моментально. Потому приказы даммику можно отдавать в цикле.
Насчет модели не уверен, всё же стоит занулять cast point и cast backswing у даммика, а cast time у самой способности занулять всегда. Кастовать в цикле можно не все способности (например, способности с молниями нельзя), зависит от способности. Как правило таргетные способности со снарядом можно.
Которому тоже можно посвятить целую статью.
Она есть, но лично я бы написал свою, так как в той даммик делается из дурного юнита.
Статья хорошая. Осталось поправить все недочеты, и будет очень хорошо.
8gabriel8, карта загружается -> происходит подгрузка данных карты, которые остаются до запуска следующей карты -> карта перезагружается\закрывается -> в лобби и во время загрузки используются данные карты.
Работает только в синглплеере.
NazarPunk, бывает, что лицензионных видит старый варик. А если просто скопировать варик куда-то и никак не взаимодействовать до установки лицензии, то и лицензия ничего не обнаружит.
Разве текстовая информация не перезагружается при запуске новой карты?
Перезагружается, после запуска карты имена становятся такими, какими они указаны в карте. Они остаются в игре до запуска новой карты.
Я вот что придумал.
После первого запуска карта сразу же закроется, при повторном - нет. При следующем вновь закроется.
Закрытие можно заменить перезапуском.
Вариант с перезапуском.
Saturin, в стандарте игрок проигрывает, если у него 0 строений. Стоит отметить, что стандартные условия победи и поражения - это куча триггеров, которые создаются 1 действием в GUI. Необходимо изучить blizzard.j и в карте написать аналоги функций по победе и поражению.
Yury13, можно в названии предмета в самом конце указать цвет фона описаний, но так как фон немного прозрачный, то данную приписку порой будет заметно. И, как уже сказал 8gabriel8, включите NumLock, если есть доп. панель с цифрами на клавиатуре.
Naadir, в 1.31 нет папки Maps, все данные пользователя находятся в папке "Документы". Никита21, запустите лаунчер WC3 и нажмите Repair (Проверить).
После этого нажмите Launch, в открывшейся игре нажмите на Battle.net. Появится окошко обновления, если есть обновление. Иначе появится экран входа в Battle.net.
Например, я смогу подключить к проекту git и удобно вести разработку кода, где по-файлово будет разложено всё содержимое каждого модуля с кодом моей карты.
Это можно и сейчас делать. Всё равно при сохранении карты весь код пихается в один файл war3map.j или war3map.lua, который каждый раз создаётся заново.
» WarCraft 3 / Переименование расы
В 1.31 весь прелоад находится не в папке с варом, а в документах.
» WarCraft 3 / Переименование расы
» WarCraft 3 / Переименование расы
» WarCraft 3 / Переименование расы
Поэтому, если после карты с нестандартными именами запустить со стандартными, на экране загрузки будут нестандартные имена (если они вообще отображаются), а после в лобби и на следующем экране загрузки имена вновь будут стандартными.
Ред. PT153
» WarCraft 3 / [lua] Двигаем снаряды
Дополнительно:
Во время этого события игрок уже может юнита контролировать, до этого - нет. Также если до этого события сбить каст, то юнит заново начнёт кастовать, после и во время этого события - нет. ENDCAST не может сработать раньше EFFECT, либо во время, либо после.
Перед удалением периодические таймеры нужно ставить на паузу.
» WarCraft 3 / Ворота для опр. игроков
» WarCraft 3 / Ворота для опр. игроков
Ред. PT153
» WarCraft 3 / [lua] Двигаем снаряды
» WarCraft 3 / Герой крашит игру
Ред. PT153
» WarCraft 3 / Переименование расы
Работает только в синглплеере.
» WarCraft 3 / Вылетает редактор когда дотрагиваюсь до ландшафта.
Ред. PT153
» WarCraft 3 / Переименование расы
После первого запуска карта сразу же закроется, при повторном - нет. При следующем вновь закроется.
Закрытие можно заменить перезапуском.
Вариант с перезапуском.
» WarCraft 3 / Эволюция юнита через проверку уровня
» WarCraft 3 / Условия победы/поражения
» WarCraft 3 / Вылетает редактор когда дотрагиваюсь до ландшафта.
Ред. PT153
» WarCraft 3 / Переименование расы
» WarCraft 3 / Названия артефактов
Ред. PT153
» WarCraft 3 / Вылетает редактор когда дотрагиваюсь до ландшафта.
Никита21, запустите лаунчер WC3 и нажмите Repair (Проверить).
» WarCraft 3 / Условия победы/поражения
Опиши конкретнее, что нужно, для всех типов игроков.
» WarCraft 3 / Актуальность cJass
» WarCraft 3 / Ошибка
Вот карта, триггеры ресетнуты к стандартным.
» WarCraft 3 / Вылетает редактор когда дотрагиваюсь до ландшафта.
» WarCraft 3 / Условия победы/поражения
Ред. PT153
» WarCraft 3 / Актуальность cJass
Ред. PT153
» WarCraft 3 / Актуальность cJass