Опытные разработчики поделитесь опытом

soofft91

Пользователь
19 Ноя 2019
15
1
1) Только начинаю разбираться с созданием модов и самое бесячие на данном этапе это постоянно перезапускать карту для проверки изменений в скриптах lua. Может есть какая-то консольная команда чтобы пререзагрузить скрипты не перезапуская карту? Или какие-то инструменты для дебага?

2) Какой сторонний софт/сервисы используете?

3) Дико неудобно что карта находится в 2 разных папках. Как при такой структуре настроить GIT?
 

SniperX

Друзья CG
26 Фев 2018
539
100
Проект
Dota 2x4
1) Только начинаю разбираться с созданием модов и самое бесячие на данном этапе это постоянно перезапускать карту для проверки изменений в скриптах lua. Может есть какая-то консольная команда чтобы пререзагрузить скрипты не перезапуская карту? Или какие-то инструменты для дебага?

2) Какой сторонний софт/сервисы используете?

3) Дико неудобно что карта находится в 2 разных папках. Как при такой структуре настроить GIT?
1) script_reload
2) Notepad++ (Стиль Monokai), GCFScape, D2AC1.0 (некоторые D2AC2.0)
3) 321.PNG
 
  • Нравится
Реакции: soofft91

soofft91

Пользователь
19 Ноя 2019
15
1
Спасибо!
А что насчет инфы из файлов "npc_abilities_custom.txt" и тд, ее можно таким же образом перезагружать?
 

kain

Активный
2 Окт 2015
125
63
steamcommunity.com
Проект
GreenCircleTD
Спасибо!
А что насчет инфы из файлов "npc_abilities_custom.txt" и тд, ее можно таким же образом перезагружать?
нельзя, я при запуске аддона закрываю ассет браузер когда надо работать только со скриптами абилками и локализацией, ассет браузер можно вызвать в консоли ошибок (VConsole2)
в добавок для ускорения перезапустить карту(или загрузить с нуля) можно командой dota_launch_custom_game названиеаддона названиекарты (файл vmap, писать без расширения )
локализация в 90% случаев вообще не надо перезагружать (тоже самое с css и xml js вроде)
команда dota_check_localization покажет какие из данных не локализованы (вроде по всей доте а не только твой аддон)
 
  • Нравится
  • Вооу
Реакции: vulkantsk и soofft91

kain

Активный
2 Окт 2015
125
63
steamcommunity.com
Проект
GreenCircleTD
возможно имелось ввиду конкретно настроить то что папки на компе в разных местах для git это не особо приемлемо в рамках одного проекта.

я сделал батник (стыдный - не покажу) , но копать в сторону win тулзы MKLINK спараметром /J
имено параметр /j нужен нам для папок. (ссылки делаем тулзой в контент и гейм)
Bash:
mklink /J "...git_project\content\dota_addons\ВАШ_АДДОН" "...Steam\steamapps\common\dota 2 beta\content\dota_addons\ВАШ АДДОН"
mklink /J  "...git_project\game\dota_addons\ВАШ_АДДОН" "...Steam\steamapps\common\dota 2 beta\game\dota_addons\ВАШ АДДОН"

Работаю непосредственно с папками аддона в стиме, git push из другой папки
Иногда MKLINK слетает (хз в чем прикол , винда, git или еще что в системе, поэтому сделал батник).

mklink_1.jpg
mklink_2.jpg
mklink_3.jpg

PS если это действительно можно сделать средствами VSCODE буду признателен за пояснения.
 
  • Нравится
Реакции: vulkantsk и soofft91

LAPKI

Продвинутый
26 Окт 2018
271
61
возможно имелось ввиду конкретно настроить то что папки на компе в разных местах для git это не особо приемлемо в рамках одного проекта.

я сделал батник (стыдный - не покажу) , но копать в сторону win тулзы MKLINK спараметром /J
имено параметр /j нужен нам для папок. (ссылки делаем тулзой в контент и гейм)
Bash:
mklink /J "...git_project\content\dota_addons\ВАШ_АДДОН" "...Steam\steamapps\common\dota 2 beta\content\dota_addons\ВАШ АДДОН"
mklink /J  "...git_project\game\dota_addons\ВАШ_АДДОН" "...Steam\steamapps\common\dota 2 beta\game\dota_addons\ВАШ АДДОН"

Работаю непосредственно с папками аддона в стиме, git push из другой папки
Иногда MKLINK слетает (хз в чем прикол , винда, git или еще что в системе, поэтому сделал батник).


PS если это действительно можно сделать средствами VSCODE буду признателен за пояснения.
https://dev.to/phillipdodd/how-to-set-up-github-projects-in-a-vs-code-workspace-2j27 https://code.visualstudio.com/docs/editor/multi-root-workspaces https://www.itwriting.com/blog/1141...io-code-workspace-to-a-github-repository.html
 

kain

Активный
2 Окт 2015
125
63
steamcommunity.com
Проект
GreenCircleTD
ладно не поняли друг друга) с таким успехом можно было просто ссылку на гугл дать.
1 ссылка - гайд настройка существующего github проекта в vscode.
2 "рабочая область vscode" разные папки в едином пространстве - хорошая штука
3 настройка проекта из vscode в github (1 ссылкa наоборот).

возможно я проглядел - но рабочую область с разными папками vscode не может закидывать в 1 проект гит (в нем лишь стандартный функционал гит через меню vscode)
В нашем случае, в кастомках (благодаря "умным" Валве) без костылей из вне (т.е. только git или +vscode) нельзя в 1 проекте github вести обе папки.

PS никого не заставляю, принуждаю и прочее диктаторство - каждый ***чит как хочет.
 

soofft91

Пользователь
19 Ноя 2019
15
1
возможно имелось ввиду конкретно настроить то что папки на компе в разных местах для git это не особо приемлемо в рамках одного проекта.

я сделал батник (стыдный - не покажу) , но копать в сторону win тулзы MKLINK спараметром /J
имено параметр /j нужен нам для папок. (ссылки делаем тулзой в контент и гейм)
Bash:
mklink /J "...git_project\content\dota_addons\ВАШ_АДДОН" "...Steam\steamapps\common\dota 2 beta\content\dota_addons\ВАШ АДДОН"
mklink /J  "...git_project\game\dota_addons\ВАШ_АДДОН" "...Steam\steamapps\common\dota 2 beta\game\dota_addons\ВАШ АДДОН"

Работаю непосредственно с папками аддона в стиме, git push из другой папки
Иногда MKLINK слетает (хз в чем прикол , винда, git или еще что в системе, поэтому сделал батник).


PS если это действительно можно сделать средствами VSCODE буду признателен за пояснения.
Спасибо, буду пробывать! А то я уже думал сам написать скрипт на ноде который смотрит за изменениями в файлах и копирует их в нужные директории доты.
 

LAPKI

Продвинутый
26 Окт 2018
271
61
ладно не поняли друг друга) с таким успехом можно было просто ссылку на гугл дать.
1 ссылка - гайд настройка существующего github проекта в vscode.
2 "рабочая область vscode" разные папки в едином пространстве - хорошая штука
3 настройка проекта из vscode в github (1 ссылкa наоборот).

возможно я проглядел - но рабочую область с разными папками vscode не может закидывать в 1 проект гит (в нем лишь стандартный функционал гит через меню vscode)
В нашем случае, в кастомках (благодаря "умным" Валве) без костылей из вне (т.е. только git или +vscode) нельзя в 1 проекте github вести обе папки.

PS никого не заставляю, принуждаю и прочее диктаторство - каждый ***чит как хочет.
ну там описывается, если быть точным во 2й ссылке как прикрутить свой workspace к git'у
 

kain

Активный
2 Окт 2015
125
63
steamcommunity.com
Проект
GreenCircleTD
ну там описывается, если быть точным во 2й ссылке как прикрутить свой workspace к git'у
ключевое - при следовании инструкции(2 ссылка) - из воркспайса предлагают выбрать в какой папке инициализировать (создать) репозитарий. но только 1 репозитарий на 1 папку из воркспайса.
Проблема кастомок что у них 2 папки и корень этих папок (где обычно располагается и корень репозитария) не позволит тебе создать больше 1 репозитария (корень доты).

Всем у кого не возникает жжения в 5 точке от структуры аддонов valve , мой совет/инструкция не нужны.
Это исключительно для тех кто хочет разрабатывать кастомку в команде с использованием github или кто приучен к инструменту git
 

LAPKI

Продвинутый
26 Окт 2018
271
61
ключевое - при следовании инструкции(2 ссылка) - из воркспайса предлагают выбрать в какой папке инициализировать (создать) репозитарий. но только 1 репозитарий на 1 папку из воркспайса.
Проблема кастомок что у них 2 папки и корень этих папок (где обычно располагается и корень репозитария) не позволит тебе создать больше 1 репозитария (корень доты).

Всем у кого не возникает жжения в 5 точке от структуры аддонов valve , мой совет/инструкция не нужны.
Это исключительно для тех кто хочет разрабатывать кастомку в команде с использованием github или кто приучен к инструменту git
Инициализируешь гит в корне, в .gitignore закидываешь все папки кроме папок кастомки
 

kain

Активный
2 Окт 2015
125
63
steamcommunity.com
Проект
GreenCircleTD
Инициализируешь гит в корне, в .gitignore закидываешь все папки кроме папок кастомки
минусы:
  • большой файл gitingore (размер, или кол-во информации)
  • 1 проект на всю папку с аддонами
  • необходимость контролировать что бы валве втихую не добавили какой либо мусор.
плюсы:
  • они есть ?

мой способ:
  • не трогаем доту от слова совсем (античит валве, восстановление доты итд)
  • размер gitignore (сейчас у меня 4 строки , см скриншот)
  • каждая кастомка может иметь свой репозитарий независимо.
  • полноценная работа гит с обычным локальным репозитарием напрямую с кастомкой.
  • гит проект имеет доступ только к 2 папкам (любое действие не принесет хаоса в папку доты и других кастомок)
  • людям не работающим с гит - всего 1 батник нужен и программа GitHub Desktop
Например дизайнер, или 3D моделлер, звук итд которые знать не знают как устроен гит или как работать.

а можно просто каждый раз при необходимости ходить и копировать ручками из папок аддона в локальный реп, или создавать архив с папками аддона и архив заливать куда вам надо.... кому что удобнее/привычнее.

1574663929701.png

PS никому ничего не доказываю, но считаю диалог оконченным. Кому нужна помощь с батником пишите - чем с могу помогу.
Если LAPKI считает свои инструкции более правильными, полезными или оптимальными ок - никаких возражений)
 
  • Нравится
Реакции: soofft91

LAPKI

Продвинутый
26 Окт 2018
271
61
минусы:
  • большой файл gitingore (размер, или кол-во информации)
  • 1 проект на всю папку с аддонами
  • необходимость контролировать что бы валве втихую не добавили какой либо мусор.
плюсы:
  • они есть ?

мой способ:
  • не трогаем доту от слова совсем (античит валве, восстановление доты итд)
  • размер gitignore (сейчас у меня 4 строки , см скриншот)
  • каждая кастомка может иметь свой репозитарий независимо.
  • полноценная работа гит с обычным локальным репозитарием напрямую с кастомкой.
  • гит проект имеет доступ только к 2 папкам (любое действие не принесет хаоса в папку доты и других кастомок)
  • людям не работающим с гит - всего 1 батник нужен и программа GitHub Desktop
Например дизайнер, или 3D моделлер, звук итд которые знать не знают как устроен гит или как работать.

а можно просто каждый раз при необходимости ходить и копировать ручками из папок аддона в локальный реп, или создавать архив с папками аддона и архив заливать куда вам надо.... кому что удобнее/привычнее.

Посмотреть вложение 755

PS никому ничего не доказываю, но считаю диалог оконченным. Кому нужна помощь с батником пишите - чем с могу помогу.
Если LAPKI считает свои инструкции более правильными, полезными или оптимальными ок - никаких возражений)
Ну я так понимаю ты копируешь папки в отдельную папку и там инициализируешь git и заливаешь в репозиторий, следовательно у меня вопрос, как ты поступаешь с git clone, git merge, как реализуется взаимодействие с ветками гита(все это важно при разработке в команде)
P. S. Я не пытаюсь доказать свою правоту так как не работал с гитом в контексте доты, мне просто интересно
 

kain

Активный
2 Окт 2015
125
63
steamcommunity.com
Проект
GreenCircleTD
Ну я так понимаю ты копируешь папки в отдельную папку и там инициализируешь git и заливаешь в репозиторий,
я ничего не копирую
создание символьной ссылки на файл или каталог
https://ab57.ru/cmdlist/mklink.html

следовательно у меня вопрос, как ты поступаешь с git clone, git merge, как реализуется взаимодействие с ветками гита(все это важно при разработке в команде)
Благодаря этим манипуляциям, в системе я создаю прозрачный доступ к папкам.
Git и другие программы (проводник тоже, но отображает как ярлык) не видят ничего не обычного, смотри блок-схему ниже.

1574734125264.png
 

soofft91

Пользователь
19 Ноя 2019
15
1
@kain довольно сложно для новичков (никого не имею в виду) написал, если говорить простым языком, то получается както так:

У меня на компе есть папка с аддоном (например на рабочем столе), в этой папке есть две папки "game" и "content" (содержимое их понятно). С помощью команды MKLINK я создаю "умный ярлык" в соответствующих разделах доты:
"…Steam\steamapps\common\dota 2 beta\content\dota_addons\MYMOD"
"...Steam\steamapps\common\dota 2 beta\game\dota_addons\MYMOD"

Благодаря этим манипуляциям все изменения в моей папке с аддоном переносятся в папку доты. Возможно так будет понятней:)

Вообще как говорил @kain это нужно только тем кто привык к git'у и/или работает в команде опять же через git. А если и так норм, то лучше не заморачиваться, благо вариант с добавлением "рабочей области" в vs code, устраняет жопоболь от 2х каталогов.

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

как ты поступаешь с git clone, git merge, как реализуется взаимодействие с ветками гита(все это важно при разработке в команде)
Я пока не вижу никаких отличий в работе с любым другим проектом, все тоже самое.
 
  • Нравится
Реакции: kain
Реклама: