Краткое пособие по созданию и настройке мода на движке Source©. (по состоянию на 14.11.11) (то есть пока вэльв опять какую-то хрень не утворили с SDK) 1) Создаем мод. Открываем SourceSDK, выбираем Source Engine 2007 (только на нем можно
создать мод, потом перенесем на наш двиг), нажимаем CreateMod
Далее HL2 SP
Пишем путь к
моду (устанавливаем в папку Steam\steamapps\sourcemods\mymod_01) Имя мода mymod_01 ВНИМАНИЕ! Избегайте пробелов в имени мода, т. к. это повлечет за собой копирования файлов в 2 разные папки!
Ждем пока
скопируются файлы
Убираем опцию Open readme
file и нажимаем Finish. Стим
предложит открыть страницу справки, но если что- вот ссылка на русском языке
(много полезной инфы, поиск неисправностей, ответы на вопросы и т. д.) : Теперь мы можем запускать мод со стима, но он не подключен к Source SDK.
2) Подключаем к Source SDK. Жмем Game Configurations
-> Add , и пишем те данные которые мы писали
в первом шаге: Name: mymod_01 Directory: C:\Steam\steamapps\sourcemods\mymod_01
Жмем ок.
Переключим туда и обратно на любую конфигурацию в Engineversion для обновления
конфигурации. Теперь можно
работать в SDK:
В свойствах
запуска мода в стиме для разработчиков обычно прописывается команда -dev (по желанию): *) отключает
вступительные видеоролики; *)
показывает отладочную информацию об ошибках в игре (отключение ее командой developer 0 (developer2
+показ аутпутов)); *) отключает
backroundmaps!
(намного ускоряет загрузку игры, но при создании фоновых карт отключите ее)
Если вы
создаете карту в мультиплеерной игре и не хотите чтобы подключались другие люди
пропишите команду +sv_lan 1 ).
3) Настройка мода: Открываем файл Steam\steamapps\sourcemods\mymod_01\gameinfo.txt Видим\добавим
инфу: Примечание: если значения (пути) содержат пробелы-
берем в кавычки "". "GameInfo" {
game
"mymod_01"
//имямода. Отображается в стиме и в
панеле задач при запуске. title
"HALF-LIFE'" title2
"== episode two =="
//этот и предыдущий параметры
отображают текст имени мода в главном меню игры.
gamelogo 0
//отображать название мода в виде символов или в виде картинки. (Осозданиитакогочудапопозже).
type
singleplayer_only //или multiplayer_only. Тип мода. developerStridemann // ник разработчика мода developer_url http://stridemann.com // Сайт разработчика мода. Должно начинаться с http:// manual http://
//путь к справочному пособию мода. Может быть локальным файлом. icon
"resource/mymod_01"
//путь к иконке мода. FileSystem
{
SteamAppId
420
ToolsAppId
211
SearchPaths
{
Game
|gameinfo_path|.
Game
|all_source_engine_paths|ep2
Game
|all_source_engine_paths|episodic
Game
|all_source_engine_paths|hl2 }
} } Примечание: * title2 "== episode two ==" //Можно создать несколько заголовков: title 3, title 4 и т. д. Внимание: текст не будет отображаться (а в 99,9 % случаев так и есть) измените в файле resource\clientscheme.res параметр "HalfLife2" переменной ClientTitleFont на любой стандартный Windows (их можно посмотреть даже в блокноте).* icon "resource/mymod_01" //путь к иконке мода. Требования: 16x16 TGA. Большие 32px иконки, которые отображаются в детальном виде должны находится там же где и обычная 16px иконка, и называется должна <icon>_big.tga. Чтобы прозрачность работала, TGA должен быть сохранен в режиме 32-bit с включенным альфа-каналом.SearchPaths подключаются по приоритету! Бинарники загружаются с первой подключеной директории. Т. е. если после hl2 мы вписали бы portal, то не смогли бы пользоватся порталами. Если вы хотите использовать бинарники портала, вы должны просто поместить его поисковой путь выше Ep2. (Излишне говорить, что если эти бинарники в папке вашего мода, тогда будут загружены они.)Чисто для разработчиков еще одна фича.Для быстрого доступа к читам (а они понадобятся) создаем (или редактируем) файл autoexec.cfg в папке мода \cfg Пишем в формате: bind "кнопка" "команда". Если при нажатии кнопки хотим выполнить 2 команды, то пишем их через символ ;
bind "c" "impulse 101; sv_cheats 1" // получить все оружие bind "]" "god; sv_cheats 1" // бессмертие bind "n" "noclip; sv_cheats 1" // летать сквозь стены
Доп. команды:
"ent_fire !picker kill" // убить объект находящийся под прицелом "give npc_zombie" // создать зомби на месте игрока (зомби создается прям в игроке, так что вылететь из него можно noclip'ом) "ent_fire door_01 open" // открыть через аутпут дверь door_01. С помощью команды ent_fire можно выполнять аутпуты на любые энтити и события.
Траблшутинг Если вы увидите такой беспредел как я раз увидел:
..то мне помогло удаление парочки
ненужных модов в папке Steam\steamapps\sourcemods.
4) Добавление Своего Лого в Меню >Пример< Установите параметр gamelogo 1 в gameinfo.txt. Создайте \resource\GameLogo.res с этого шаблона:
Resource/GameLogo.res { GameLogo { ControlName EditablePanel fieldName GameLogo xpos 0 ypos 0 zpos 50 wide 400 tall 100 autoResize 1 pinCorner 0 visible 1 enabled 1 offsetX -20 offsetY -15 } Logo { ControlName ImagePanel fieldName Logo xpos 0 ypos 0 zpos 50 wide 400 tall 100 visible 1 enabled 1 image ../logo/TF2_Logo scaleImage 1 } } Что делать после создания мода?: http://developer.valvesoftware.com/wiki/Mod_wizard_complete:ru Русский алфавитный справочник: http://developer.valvesoftware.com/wiki/Category:Russian Source SDK FAQ: http://developer.valvesoftware.com/wiki/Category:Source_SDK_FAQ:ru Дизайн уровней FAQ: http://developer.valvesoftware.com/wiki/Category:Level_Design_FAQ:ru
Использованные материалы: http://developer.valvesoftware.com/wiki/Gameinfo http://developer.valvesoftware.com/wiki/Gameinfo.txt:ru http://developer.valvesoftware.com/wiki/Adding_Your_Logo_to_the_Menu:ru |