Раздел:
Основы
Рано или поздно любой разработчик (Даже в Вар3 модмейкинге) начинает работать в команде, и современные технологии, как всегда помогают облегчить этот процесс. И так встречайте, ультра дешовый, быстрый, крутой, современный, супер, бупер, дупер сборщик карт, на lua и для lua через обмен данных Гихаб.

Сheapack

Сборщик позволяет работать как на версии 131, так и на Reforged версии

Нам потребуется:

  1. Программа для работы с кодом - IntelliJ IDEA , устанавливаем отсюда
  2. Программа для работы с Git репозиториями
  3. Регистрация на Github и создание первого проекта
  4. Перевести карту в режим папки
  5. Установить Chepack
  6. Настройка конфигурационного файла build.lua под свой компьютер или под компьютер нескольких пользователей, если вы работаете в команде

Поехали

Когда все файлы и программы скачаны, чимичанги съедены и на кактусе не осталось колючек, можно приступить к настройке и объединению всего этого в 1 кучу запускаем IntelliJ IDEA и создаём новый проект по кнопке Get From Version Control
Если окно с запросом URL репозитория не открылось, и вас снова просят установить Git - перезагружаем компьютер, и пробуем ещё раз
В качестве URL будет ссылка на ГИТ вашего нового проекта, или проекта другого человека, с кем вы работает в команде
Ссылка будет выглядеть так
Если же вы работает первый раз, создаём новый проект
В итоге должно получиться вот так вот
И нажимаем кнопку
Clone
А потом Далее=>Далее =>Далее => Далее=>Готово (если не понимаете, что там от вас хотят)
в конечном итоге получится вот так:

Проект это просто папка

И её нужно немножко подготовить
Переименовываем нашу папку-карту в map.w3x и перемещаем в папку с проектом
Создаём папку src в ней будут храниться наши скрипты
Можно туда положить конфигурационный файл build.lua в конечном итоге получиться вот так:

Cheapack

Пришло время настроить сборщика!
Да, вот так всё плохо, кнопочку сделать всё хорошо придётся прикручивать самому
Распаковываем Chepack в любую удобную папку и создаём новую конфигурацию в Idea, нажав на Add Configuration
  1. Путь к файлу lua53.exe из папки cheapack-master
  2. Путь к проекту в котором мы работает
  3. Путь к build.lua
  4. Создать
И теперь чтобы запускать сборщика, достаточно нажать 1 на кнопку
Но скорее всего получите много ошибок, а это означает, что пришло время настроить конфигурационный файл

Настраиваем Build.lua

Рассмотрим сразу более сложный вариант, для работы с несколькими пользователями
build.lua
require 'build' {
    --run = 'editor',
    run  = 'game',
}
Думаю тут всё интуитивно понятно, если указать напрямую имена файлов, а не просто путь к папке src, то файлы будут помещены в кастом код именно в этом порядке.
Если всё правильно, правильно, запустится игра или редактор, а в файле war3map.lua появиться обновлённый код из src
Если же нет, то внимательно читаем лог ошибок, и задаём вопросы в этой теме
При первой сборке укажите editor. Если всё правильно то в custom code карты появится собранный код, обязательно сохраните карту в редакторе, чтоб обновить war3map.lua. При последующих сборках код в war3map.lua будет заменяться автоматически и можно будет запускать карту в игре прям из IntelliJ IDEA

Так в чем же суть совместной работы?

Опыта как такового у меня совсем не много, я ещё не успел проникнуться всеми прелестями современных IDE
Но для того, чтобы ваш напарник получил ваш код (или же вы получили изменения, что внёс напарник), ну или просто вы сами поместили новый код в облако нужно просто...
нажать вот это
Но у вас не будет прав изменить файлы и папки в проекте (даже в своём), пока вы не авторизуетесь. Для своего проекта просто вводим учетные данные от сайта github.com, для чужого проекта, руководителю проекта необходимо добавить существующего другого пользователя

Полезные ссылки

`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
0
37
4 года назад
Отредактирован ScorpioT1000
0
Запуск какрты из IDE тоже полезная штука, которую близы никак не добавят)
Почему? Там есть аргумент loadfile
"C:\Games\Warcraft III\Warcraft III.exe" -loadfile "C:\Games\Warcraft III\Maps\(2)BootyBay.w3m"
0
29
4 года назад
Отредактирован nazarpunk
0
Почему? Там есть аргумент loadfile
Аргумент то есть, а вот путь к .exe из IDE как получить? Каждый раз вбивать ручками это гемморойно, особенно при совместной работе.
local config   = {
	nazarpunk   = { -- необходимо указать реальное имя пользователя
		[[D:\Games\Warcraft III\x86_64]],
		[[C:\Users\nazarpunk\IdeaProjects\SF]]
	},
	Bergi       = { -- нескольких пользователей
		[[D:\Games\Blizzard\Warcraft III Beta\x86_64]],
		[[C:\Users\Bergi\IdeaProjects\SpellFighters]]
	},
	['Василий'] = { -- если у пользователя русское имя
		[[E:\Games\Warcraft III Beta\x86_64]],
		[[E:\Idea]]
	}
}
0
37
4 года назад
Отредактирован ScorpioT1000
0
В реестре HKEY_CURRENT_USER\Software\Blizzard Entertainment\Warcraft III InstallPath
0
29
4 года назад
0
ScorpioT1000, не у всех и не всегда
Загруженные файлы
0
37
4 года назад
Отредактирован ScorpioT1000
0
Можно докопаться через
HKEY_CLASSES_ROOT\.w3x
=> HKEY_CLASSES_ROOT\w3x_auto_file
0
29
4 года назад
0
0
37
4 года назад
Отредактирован ScorpioT1000
0
А ярлык поискать?
%ProgramData%\Microsoft\Windows\Start Menu\Programs\Warcraft III

Т.е. уже 2 решения есть:
Поискать installPath. Если нет, поискать ярлык. Если нет, вывести мессаг, что надо указать руками

x86 / x86_64 определять архитектурой ОС
2
13
4 года назад
2
ScorpioT1000, проблема в том что нет ни одного способа, который однозначно даст верный результат
0
29
4 года назад
0
А ярлык поискать?
Он ведёт на лаунчер и нет ярлыка редактора. Да и пользователь мог спокойно его прибить.
Загруженные файлы
0
37
4 года назад
Отредактирован ScorpioT1000
0
Он ведёт на лаунчер и нет ярлыка редактора
Тогда придется ждать, когда человечество изобретёт substr =(

Nelloy, а зачем однозначный результат? Мы самолёт программируем?)
0
13
4 года назад
0
ScorpioT1000, да, иначе код будет работать только на третью ночь после Ивана Купалы.
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.