CustomGames.ru - Dota 2 пользовательские игры

[FAQ] Общие вопросы [17.03.16]

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Se7eN

  • Продвинутый
  • 298
  • Мощь: 11
  • King
[FAQ] Общие вопросы [17.03.16]
« : 29-06-2015, 07:14:42 »
FAQ по Valve Hammer Editor, скриптингу и прочему в Dota 2.
Этот топик предназначен, чтобы направлять сюда новичков, чтобы сократить количество бессмысленных тем, которые скоро начнут создаваться пачками из за выхода Souce 2 и легкости создания Custom (кастом) карт.

Я уверен в предоставляемой мною информации, и если вы нашли ошибку, напишите мне в ЛС и мы исправим ситуацию. За каждую найденную ошибку я дам вам репутацию.



1. Как сделать чтобы в карте было несколько команд и как регулировать максимальное кол-во игроков в карте?

Спойлер
В папке с вашим проектом есть файл addoninfo.txt

Выглядит так:


Код
"AddonInfo"
{
"TeamCount"  "2" --Количество команд (получается 2 противоборствующие команды)
"maps"  "statwars" --название карты, его нужно обязательно сменить на название ВАШЕЙкарты
"IsPlayable" "1" --можно ли на ней играть (относится больше к тому, будут ли видеть её пользователи в списке карт)
"statwars" --этот блок, касается только карты statwars.vmap, и ТОЛЬКО её!
  {
  "MaxPlayers" "8"  --максимальное кол-во игроков, максимум 20
  }
}

Доп. инфа от неизвестного:
Код
У меня установлен barebones. Для изменения кол-ва команд и их игроков я изменением addon_info.txt не отделался. Ещё нужно отредактировать \vscripts\settings.lua. Там в конце есть строки MAX_NUMBER_OF_TEAMS и CUSTOM_TEAM_PLAYER_COUNT

[свернуть]

2. Какие источники использовать, где можно почитать гайды? (обновлено)

Спойлер
Конечно если изучить википедию, на которой Гейб любезно НЕ ПРЕДОСТАВИЛ информации, то умнее вы не станете. Поэтому мы предлагаем вам полезные ссылки.

https://moddota.com/forums - здесь много всего, обучалки и есть очень сильные картостроители, которые быстро разберут ваш вопрос. Единственное - нужно знать английский или уметь добротно пользоваться гугл транслейтом.

http://www.reddit.com/r/Dota2Modding/ - хороший, англоязычный канал, куча тутов, обучалок, на английском!

https://github.com/ZLOY5/LiA/ - опенсорс проект, карта в топ 10, жизнь на арене, на гитхабе, мигом изучать!)

https://github.com/MNoya/Warchasers - опенсорс проект, перенесенная ещё с Wacraft 3!

https://github.com/Rookdota/RetroDota - ретродота. Тут есть старый инвокер с 27 спеллами, и забытые герои вроде Gambler'a!)

https://github.com/MNoya/DotaCraft - Стараются возродить старые спеллы из варкрафта 3, там есть все юниты из варкрафта третьего со способностями и даже постройками


http://hex6.se/dota/modifier_functions.txt - справочник по функциям модификаторов, более понятно есть в оф. вики

https://raw.githubusercontent.com/dotabuff/d2vpk/master/dota_pak01/scripts/items/items_game.txt - постоянно обновляющийся текстовый файл, содержит "одежду" всех героев в доте2. Отсюда можно "одевать" ваших юнитов, чтобы разнообразить количество юнитов на карте.

https://developer.valvesoftware.com/wiki/Dota_2_Workshop_Tools/Scripting/API#Accessing_the_DOTA_2_Scripting_API_from_Lua - полностью описание всех команд на LUA. Проще говоря АПИшечки, которые нам нужны для кодинга.
[свернуть]

3. С чего вообще начать, как только ты начал моддить?

Спойлер
Прежде всего запастись терпением. На процесс обучения, особенно если у вас нет опыта может уйти от месяца до шести, учитывая насколько вы обучаемы и сколько часов в день готовы потратить.

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

1. Изучить основы библиотеки datadriven. Научиться делать кастомных юнитов, героев, магазины.

2. Изучить скриптинг, lua. Начать писать первые легкие скрипты.
 а) начало, легкие скрипты
 б) связывать скрипты с datadriven, делать первые шаги в lua-способностях
 в) делать уникальные способности, генерируя идеи из фантазии

3. Научиться импортировать модели, иконки. Повышать уникальность карты, путем введения новых фич.

4. Непрерывно записывать идеи, иметь под рукой листочек и ручку. Я делаю так: установил на смарт программу для заметок и набрасываю туда, позже когда я спокоен, то я уже могу развить идею.

5. Смотреть как делают другие, искать популярные опенсорс карты, изучать то, что есть. Например overthrow, adventure_example. Там прекрасные скрипты, иногда даже есть комментарии.

6. Давать мозгу отдых. Бывает, что вы чувствуете что мозг не готов воспринимать так много информации за день, тогда в ход идёт отдых. Расслабьтесь, погуляйте, займитесь спортом, и через денёк вернетесь свежим)

7. Не делать ничего попусту, сформируйте сразу идею вашей карты и постепенно идите к ней.
Любой туториал должен выполнять на вашей карте и дополнять её функционал.
Думайте наперед, сравнивайте, будьте оригинальнее.
[свернуть]

4. Видео уроки есть какие-нибудь?
Спойлер
[свернуть]

Вот этот мне понравился
[свернуть]

Спойлер
- его канал
[свернуть]


5. Все мы сталкиваемся с тем, что в доте на 1 уровне нужно 200 опыта чтобы перейти на след. уровень.
А как сделать чтобы было 30 например?
Как сделать свою кастомную таблицу опыта?

Спойлер
Код
XP_PER_LEVEL_TABLE = {
     0, -- 1
  1000, -- 2
  2500, -- 3
  4500, -- 4
  7000, -- 5
 10000, -- 6
 13000, -- 7
 16000, -- 8
 22000, -- 9
 27000, -- 10
 30000, -- 11
 41000, -- 12
 45000, -- 13
 52000, -- 14
 59500, -- 15
 67500, -- 16
 76000, -- 17
 85000, -- 18
 94500, -- 19
104500, -- 20
115000, -- 21
126000, -- 22
137500, -- 23
149500, -- 24
162000  -- 25
}


Видали такой файл, называется addon_game_mode.lua?
Можно сразу после функции Precache расположить это.
Есть такая функция, я точно сейчас не помню как называется, примерно так: GameMode:InitGameMode()

Воот сюда втыкаете это:
Код
GameMode:SetCustomXPRequiredToReachNextLevel( XP_PER_LEVEL_TABLE )
[свернуть]

6. Можно ли изменить размер карты?

Размер карты можно назначить самостоятельно, при создании оной в редакторе. Не знаю можно ли изменить это на УЖЕ СОЗДАННОЙ карте. Да и вообще, лучше не ошибаться с размерами и взять немного побольше, поскольку вдруг вы захотите расшириться.

7. Как сделать сразу что-то после выбора героя игроком?

В barebones есть отличное событие, которое уже перехвачено, остается лишь вставить код:

Здесь у меня есть 8 точек, и я хочу чтобы как только игрок выберет героя, то героя телепортировало бы в случайную точку, чтобы они сразу не встретились. Этого требует жанр моей карты:
Спойлер
Код
function GameMode:OnPlayerPickHero(event)
  local hIndex = event.heroindex   //заносим индекс героя в локальную переменную
  local unit = EntIndexToHScript(hIndex) //по индексу получаем героя в переменную
  local i = RandomInt(1,8) //выбираем случайную точку из 8
    local wws= "pnt" //строка
    local ww = ("pnt"..i) //конкатенируем (соединяем) строки, так как у меня точки называются pnt1, pnt2 и т.п.
    local ent = Entities:FindByName( nil, ww ) //ищем случайную точку
    local point = ent:GetAbsOrigin() //получаем её координаты
    local player = unit:GetPlayerOwnerID() //получаем ID игрока, у которого телепортируемый герой
    unit:SetAbsOrigin(point) //телепортируем героя в выбранную случайную точку
    FindClearSpaceForUnit(unit, point, false) //это нужно чтобы герой не застрял в земле или на клиффах
    unit:Stop() //так как точка далеко, то возможно герой начнет бежать назад, мы приказываем ему остановиться
    PlayerResource:SetCameraTarget(player, hero) //камеру игрока центрируем на героя
    Timers:CreateTimer(0.1, function()
        PlayerResource:SetCameraTarget(player, nil) //отцепляем камеру
        return nil
    end)
end
[свернуть]

8. Как разбить исходный файл со способностями, юнитами, предметами на отдельные txt файлы?
Dota 2 ModKit умеет создавать в папке npc 4 папки для предметов героев, юнитов и абилок. В эти папки можно скидывать .txt файлы с любым названием. При нажатии на кнопку программа прочитает все файлы в папке и соберет из них цельный .txt файл(4 файла для 4х папок). Можно почитать документацию на том же GitHub'e: github.com/Myll/Dota-2-ModKit

9. Где взять список косметических предметов на героев из itemlist?
Полный список на 20.07.2015 от CryDeS
: gist.github.com/e...9bdde620c8b4ed6e1
Если вручную прописать прекеш каждого героя не загружая при каждой подгрузке гейммода itemlist, все будет работать быстрее, т.к не нужно загружать объемный файл, не нужно его записывать в переменную, и не нужно сортировать.

10. Что такое barebones? (правильно произосится "баребоунз")
Это библиотека, которая существенно облегчает работу новичкам, так как все события уже отловлены и код можно писать мгновенно.
Ещё там можно настраивать различные параметры:
  • максимального уровня героя
  • отключать анноунсеры дота 2 (фб, и анонсы типа "дабл килл"),
  • ставить кастомную таблицу опыта,
  • убирать с экрана ненужные кнопки (кнопка курьера, глиф, верхнюю панель героев и таймер дня/ночи).
Скачать barebones https://github.com/bmddota/barebones

Начинать следует именно с её подробного изучения, особенно новичкам.
В репозитории, чуть ниже есть мини-гайд по установке barebones, если не знаете английский используйте гугл-транслейт и не стесняйтесь спрашивать здесь, на форуме.

11. Можно ли при изменений скриптов, не загружать карту заново?
Да, если скрипт не входит в игровые константы. То есть если вы изменили стартовое золото или ещё, что обрабатывается исключительно при загрузке карты, то вы можете не выходя из доты, прописать в консоли script_reload, и ваш скрипт обработается заново.

Пример: вы написали скриптовую способность и случайно ошиблись символом. Допустим написали ubit вместо unit. Вы заходите в доту, применяете способность и консоль ругается на эту строку.
Вы исправляете ошибку и пишете script_reload, и не выходя из доты проверяете её.

12. Можно ли как то ускорить процесс компиляции карты?
Естественно. Если вы меняете скрипты, то заново компилировать ничего вам не нужно. Снимаете все галочки в компилере, кроме Bring Engine To The Front и Load Map in Engine. И как только вы нажимаете Build, карта запускается мгновенно.

13. Как выглядит процесс перевода карты на другие языки?
Просто как работа в текстовом файле. На английский переводить карты обязательно, так как бОльшую часть
целевой аудитории доты представляют китайцы и другие народы, которые владеют английским. В китае почти 90% знает английский.

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

14. Можно ли открыть/взломать карту, которую я скачал в стиме?
Да, конечно. Есть утилита GCFScape, которую легко найти в гугле. Эта программа весом в 500 кб, может открыть любой проект, и вы получите готовые исходники. Также она используется чтобы вытаскивать родные иконки и различные файлы вроде npc_units.txt.

« Последнее редактирование: 17-03-2016, 13:51:11 от Se7eN »

Оффлайн doter.ua

  • Друзья CG
  • 272
  • Мощь: 1
Re: [Гайд] Общие вопросы last upd (26.06.15)
« Ответ #1 : 29-06-2015, 08:01:51 »
1. Как сделать чтобы в карте было несколько команд и как регулировать максимальное кол-во игроков в карте?

Спойлер
В папке с вашим проектом есть файл addoninfo.txt

Выглядит так:


Код
"AddonInfo"
{
"TeamCount"  "2" --Количество команд (получается 2 противоборствующие команды)
"maps"  "statwars" --название карты
"IsPlayable" "1" --не трогайте, это отвечает за работу карты
"statwars"
  {
  "MaxPlayers" "8"  --максимальное кол-во игроков
  }
}
[свернуть]
Макс плеерс больше 10 работает?
гайды
сурпрайз mthfckr :D

[свернуть]

Оффлайн Se7eN

  • Продвинутый
  • 298
  • Мощь: 11
  • King
Re: [Гайд] Общие вопросы last upd (26.06.15)
« Ответ #2 : 29-06-2015, 09:48:07 »
Лимит на 10 игроков, ждём фикса от вольво.

В варике можно было 12 играющих сделать)

Оффлайн -ExotiC-

  • Администратор
  • 344
  • Мощь: 3
  • Забанен
Re: [FAQ] Общие вопросы 4.upd 29.06.15
« Ответ #3 : 30-06-2015, 08:49:50 »
Топик перемещен и добавлен в FAQ на главной.

Оффлайн -ExotiC-

  • Администратор
  • 344
  • Мощь: 3
  • Забанен
Re: [FAQ] Общие вопросы 7 [12.07.15]
« Ответ #4 : 19-07-2015, 20:36:02 »
Обновлено.

Оффлайн vanjavs

  • 6
  • Мощь: 0
Re: [FAQ] Общие вопросы [20.07.15]
« Ответ #5 : 17-09-2015, 05:11:48 »
Спойлер
FAQ по Valve Hammer Editor, скриптингу и прочему в Dota 2.
Этот топик предназначен, чтобы направлять сюда новичков, чтобы сократить количество бессмысленных тем, которые скоро начнут создаваться пачками из за выхода Souce 2 и легкости создания Custom (кастом) карт.

Я уверен в предоставляемой мною информации, и если вы нашли ошибку, напишите мне в ЛС и мы исправим ситуацию. За каждую найденную ошибку я дам вам репутацию.



1. Как сделать чтобы в карте было несколько команд и как регулировать максимальное кол-во игроков в карте?

Спойлер
В папке с вашим проектом есть файл addoninfo.txt

Выглядит так:


Код
"AddonInfo"
{
"TeamCount"  "2" --Количество команд (получается 2 противоборствующие команды)
"maps"  "statwars" --название карты
"IsPlayable" "1" --не трогайте, это отвечает за работу карты
"statwars"
  {
  "MaxPlayers" "8"  --максимальное кол-во игроков
  }
}

Доп. инфа от неизвестного:
Код
У меня установлен barebones. Для изменения кол-ва команд и их игроков я изменением addon_info.txt не отделался. Ещё нужно отредактировать \vscripts\settings.lua. Там в конце есть строки MAX_NUMBER_OF_TEAMS и CUSTOM_TEAM_PLAYER_COUNT

[свернуть]

2. Какие источники использовать, где можно почитать гайды? (обновлено)

Спойлер
Конечно если изучить википедию, на которой Гейб любезно НЕ ПРЕДОСТАВИЛ информации, то умнее вы не станете. Поэтому мы предлагаем вам полезные ссылки.

https://moddota.com/forums - здесь много всего, обучалки и есть очень сильные картостроители, которые быстро разберут ваш вопрос

http://www.reddit.com/r/Dota2Modding/ - хороший, англоязычный канал, куча тутов, обучалок

https://github.com/ZLOY5/LiA/ - опенсорс проект, карта в топ 10, жизнь на арене, на гитхабе, мигом изучать!)

https://github.com/MNoya/Warchasers - опенсорс проект, карта тоже в топе, warchasers!

https://github.com/Rookdota/RetroDota - ретродота. Тут есть старый инвокер с 27 спеллами, и забытые герои вроде Gambler'a!)

https://github.com/MNoya/DotaCraft - Стараются возродить старые спеллы из варкрафта 3, там есть
спеллы стандартных героев в Datadriven, lua

http://hex6.se/dota/modifier_functions.txt - справочник по функциям модификаторов, более понятно есть в оф. вики

https://raw.githubusercontent.com/dotabuff/d2vpk/master/dota_pak01/scripts/items/items_game.txt - постоянно обновляющийся текстовый файл, содержит "одежду" всех героев в доте2. Прочитав о wearables, вы сможете понять это с полпинка)

https://developer.valvesoftware.com/wiki/Dota_2_Workshop_Tools/Scripting/API#Accessing_the_DOTA_2_Scripting_API_from_Lua - полностью описание всех команд на LUA. Проще говоря АПИшечки, которые нам нужны для кодинга.
[свернуть]

3. С чего вообще начать, как только ты начал моддить?

Спойлер
Прежде всего запастись терпением. На процесс обучения, особенно если у вас нет опыта может уйти от месяца до шести, учитывая насколько вы обучаемы и сколько часов в день готовы потратить.

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

1. Изучить основы библиотеки datadriven. Научиться делать кастомных юнитов, героев, магазины.

2. Изучить скриптинг, lua. Начать писать первые легкие скрипты.
 а) начало, легкие скрипты
 б) связывать скрипты с datadriven, делать первые шаги в lua-способностях
 в) делать уникальные способности, генерируя идеи из фантазии

3. Научиться импортировать модели, иконки. Повышать уникальность карты, путем введения новых фич.

4. Непрерывно записывать идеи, иметь под рукой листочек и ручку. Я делаю так: установил на смарт программу для заметок и набрасываю туда, позже когда я спокоен, то я уже могу развить идею.

5. Смотреть как делают другие, искать популярные опенсорс карты, изучать то, что есть. Например overthrow, adventure_example. Там прекрасные скрипты, иногда даже есть комментарии.

6. Давать мозгу отдых. Бывает, что вы чувствуете что мозг не готов воспринимать так много информации за день, тогда в ход идёт отдых. Расслабьтесь, погуляйте, займитесь спортом, и через денёк вернетесь свежим)

7. Не делать ничего попусту, сформируйте сразу идею вашей карты и постепенно идите к ней.
Любой туториал должен выполнять на вашей карте и дополнять её функционал.
Думайте наперед, сравнивайте, будьте оригинальнее.
[свернуть]

4. Видео уроки есть какие-нибудь?
Спойлер
[свернуть]

Вот этот мне понравился
[свернуть]

Спойлер
- его канал
[свернуть]


5. Все мы сталкиваемся с тем, что в доте на 1 уровне нужно 200 опыта чтобы перейти на след. уровень.
А как сделать чтобы было 30 например?
Как сделать свою кастомную таблицу опыта?

Спойлер
Код
XP_PER_LEVEL_TABLE = {
     0, -- 1
  1000, -- 2
  2500, -- 3
  4500, -- 4
  7000, -- 5
 10000, -- 6
 13000, -- 7
 16000, -- 8
 22000, -- 9
 27000, -- 10
 30000, -- 11
 41000, -- 12
 45000, -- 13
 52000, -- 14
 59500, -- 15
 67500, -- 16
 76000, -- 17
 85000, -- 18
 94500, -- 19
104500, -- 20
115000, -- 21
126000, -- 22
137500, -- 23
149500, -- 24
162000  -- 25
}


Видали такой файл, называется addon_game_mode.lua?
Можно сразу после функции Precache расположить это.
Есть такая функция, я точно сейчас не помню как называется, примерно так: GameMode:InitGameMode()

Воот сюда втыкаете это:
Код
GameMode:SetCustomXPRequiredToReachNextLevel( XP_PER_LEVEL_TABLE )
[свернуть]

6. Можно ли изменить размер карты?

На данный момент вообще нет возможности сделать этого.

7. Как сделать сразу что-то после выбора героя игроком?

В barebones есть отличное событие, которое уже перехвачено, остается лишь вставить код:

Здесь у меня есть 8 точек, и я хочу чтобы как только игрок выберет героя, то героя телепортировало бы в случайную точку, чтобы они сразу не встретились. Этого требует жанр моей карты:
Спойлер
Код
function GameMode:OnPlayerPickHero(event)
  local hIndex = event.heroindex   //заносим индекс героя в локальную переменную
  local unit = EntIndexToHScript(hIndex) //по индексу получаем героя в переменную
  local i = RandomInt(1,8) //выбираем случайную точку из 8
    local wws= "pnt" //строка
    local ww = ("pnt"..i) //конкатенируем (соединяем) строки, так как у меня точки называются pnt1, pnt2 и т.п.
    local ent = Entities:FindByName( nil, ww ) //ищем случайную точку
    local point = ent:GetAbsOrigin() //получаем её координаты
    local player = unit:GetPlayerOwnerID() //получаем ID игрока, у которого телепортируемый герой
    unit:SetAbsOrigin(point) //телепортируем героя в выбранную случайную точку
    FindClearSpaceForUnit(unit, point, false) //это нужно чтобы герой не застрял в земле или на клиффах
    unit:Stop() //так как точка далеко, то возможно герой начнет бежать назад, мы приказываем ему остановиться
    PlayerResource:SetCameraTarget(player, hero) //камеру игрока центрируем на героя
    Timers:CreateTimer(0.1, function()
        PlayerResource:SetCameraTarget(player, nil) //отцепляем камеру
        return nil
    end)
end
[свернуть]

8. Как разбить исходный файл со способностями, юнитами, предметами на отдельные txt файлы?
Dota 2 ModKit умеет создавать в папке npc 4 папки для предметов героев, юнитов и абилок. В эти папки можно скидывать .txt файлы с любым названием. При нажатии на кнопку программа прочитает все файлы в папке и соберет из них цельный .txt файл(4 файла для 4х папок). Можно почитать документацию на том же GitHub'e: github.com/Myll/Dota-2-ModKit

9. Где взять список косметических предметов на героев из itemlist?
Полный список на 20.07.2015 от CryDeS
: gist.github.com/e...9bdde620c8b4ed6e1
Если вручную прописать прекеш каждого героя не загружая при каждой подгрузке гейммода itemlist, все будет работать быстрее, т.к не нужно загружать объемный файл, не нужно его записывать в переменную, и не нужно сортировать.
[свернуть]

Кстати говоря про размер карты, ее уже можно менять.
Может я не так понял. Вы имеете ввиду созданную карту?
« Последнее редактирование: 17-09-2015, 05:20:03 от vanjavs »

Оффлайн oplkill

  • 34
  • Мощь: 0
  • Jungle race и Simple Dota 2 Editor
Re: [FAQ] Общие вопросы [20.07.15]
« Ответ #6 : 07-01-2016, 08:39:13 »
Вот еще вопросы-ответы
Как заменить героя игрока. И почему после его замены остается труп старого?
Для того чтобы заменить персонажа используется функция ReplaceHeroWith, которая возвращает ново-созданного героя
Код
local newHero = PlayerResource:ReplaceHeroWith(PlayerID, "npc_dota_hero_name", gold, xp)
Чтобы старый герой исчезал, надо включить респавн, но с любым временем респавна.
Код
ENABLE_HERO_RESPAWN = true



Как спрятать и показать юнита или героя?
Код
unit:AddNoDraw() -- Прятает unit
unit:RemoveNoDraw() -- Показывает обратно unit





Чем открыть файл vjs_c или где исходники панорамы?
vjs_c это собранные редактором файлы, из исходников находящиеся в:
dota 2 beta/content/dota_addons/<имя мода>/




Спасибо за ответы: Илья и CryDeS

Оффлайн CryDeS

  • Друзья CG
  • 1208
  • Мощь: 12
Re: [FAQ] Общие вопросы [20.07.15]
« Ответ #7 : 07-01-2016, 12:45:26 »
Вот еще вопросы-ответы
Как заменить героя игрока. И почему после его замены остается труп старого?
Для того чтобы заменить персонажа используется функция ReplaceHeroWith, которая возвращает ново-созданного героя
Код
local newHero = PlayerResource:ReplaceHeroWith(PlayerID, "npc_dota_hero_name", gold, xp)
Чтобы старый герой исчезал, надо включить респавн, но с любым временем респавна.
Код
ENABLE_HERO_RESPAWN = true



Как спрятать и показать юнита или героя?
Код
unit:AddNoDraw() -- Прятает unit
unit:RemoveNoDraw() -- Показывает обратно unit





Чем открыть файл vjs_c или где исходники панорамы?
vjs_c это собранные редактором файлы, из исходников находящиеся в:
dota 2 beta/content/dota_addons/<имя мода>/




Спасибо за ответы: Илья и CryDeS
ENABLE_HERO_RESPAWN есть только в barebones, те кто делают без него столкнутся только в одном случае с этой проблемой(если включат эту функцию которая и в баребонс прописана так же)
А исходники есть только в твоих модах, и в режимах от valve, исходники чужих карт так не взять, ну, почти. vjs_c можно открыть блокнотом, удалить первую строку и вставить то что там должно по логике вещей быть. А с исходниками текстур, моделей, карт вроде бы есть декомпилятор на moddota, но я в виду своей криворукости не смог его заставить работать, мб у кого то выйдет.

Оффлайн Илья

  • Супермодератор
  • 2041
  • Мощь: 19
Re: [FAQ] Общие вопросы [20.07.15]
« Ответ #8 : 29-02-2016, 10:25:50 »
Парень постарался( даже этот ресурс прорекламировал) и сделал вполне неплохой урок по работе с юнитами.



Лично я от туда вынес (наконец-то нашел его) официальный таймер, а то до этого пользовался ток таймерами от bmd.