Начнём.Клонировать будем пистолет.Это самое простое.=) Открываем Visual Studio и запускаем любой из solution'ов(Game-2003.sln или Game-2005.sln). ___________________ | | | Cерверная часть | |__________________|
Теперь, когда перед нами тонны файлов, мы идём в серверную часть проэкта(server_hl2).Тут мы находим папку HL2 DLL. _______________________________________________________________________________________________________ Влезаем в неё и ищем файл weapon_pistol.cpp.Когда находим открываем. _______________________________________________________________________________________________________ Копируем весь код. Теперь ищем папку HL2 DLL, правой кнопкой мыши жмём на ней и выбираем Add New Item. _______________________________________________________________________________________________________ Вылезет окошко, где вам надо будет выбрать тип файла, название и куда запихивать.В строке Name должно быть название, в строке Location - место, где будет лежать файл.Ну и тип файла - C++ File(.cpp)Называйте ваше чудо как хотите, но выглядеть оно должно так - weapon_<название пушки>.Я создам desert eagle, надеюсь никто не возражает?=)) _______________________________________________________________________________________________________ Копируем в новый файлик код пистолета.Время редактирования.Теперь в новом файлике нужно сменить все названия pistol на название вашего оружия.В моём случае это будет - deagle.Менять нужно с учётом регистра написанных слов, тоесть если написано PISTOL то и менять нада на DEAGLE, pistol на deagle, Pistol на Deagle.Менять нужно всё, КРОМЕ(!!!) названий анимации(начинаются на act).Примеры строк - ACT_IDLE_PISTOL.Для того чтобы не рыскать по всему коду слова pistol, делаем так - жмём комбинацию CTRL+F вбиваем слово для поиска(pistol), ставим внизу поиск в Current Document и жмём Find Next. _______________________________________________________________________________________________________ ___________________ | | | Клиентовская часть | |__________________|
Теперь, когда все названия изменены, примимся за клиентовскую часть(client_hl2).
Опять же ищем папку HL2 DLL.Находим, открываем. _______________________________________________________________________________________________________ В HL2 DLL ище файл c_weapon__stubs_hl2.cpp.Открываем.Находим строку STUB_WEAPON_CLASS( weapon_pistol, WeaponPistol, C_BaseHLCombatWeapon ); Копируем её и вставляем и меняем на: STUB_WEAPON_CLASS( weapon_<название вашего оружия>, Weapon<название вашего оружия>, C_BaseHLCombatWeapon ); _______________________________________________________________________________________________________ Всё с кодингом мы закончили.Компилируйте проэкт. ____________________ | | | Написание скрипта | |___________________|
Теперь идём по адресу, где расположен ваш мод в папке Steam.Например: C:\Program Files\Valve\Steam\SteamApps\SourceMods\Ваш мод Заходим в папку scripts.Создаём .txt файл и называем его как вы назвали ваше оружие.Например: weapon_deagle.txt Cоздали?Хорошо.Теперь открываем weapon_pistol.txt в папке scripts, копируем весь текст и вставляем в weapon_deagle.txt, с некоторыми изменениями. Ставим в строке bucket значение 2 - Номер столбца в строке Ставим в строке bucket_position значение 2 - Номер позиции в столбце Ну и в строке printname пишем название, которое хоти видеть в игре. _______________________________________________________________________________________________________
____________________ | | | Запуск | |___________________|
Теперь осталось правильно запустить. Ошибкой будет, если вы сразу полезете в Steam и будете запускать мод от туда.И через ярлычок не нужно.Если вы так запустите, то оружия в игре не обнаружите.В консоли вам выдадут сообщение, что нету такого оружия.Так что делаем по-другому. Идём в папку с исходниками вашего мода, там где есчо папки: src materialsrc modelsrc mapsrc Пример папки: F:\Scratch Mod В этой папке вы найдёте 4 batch файла.Нам нужен run_mod.bat .Запускаем его.После того как загрузится ваш мод, загружаем карту и пишем в консоли: give weapon_<название вашего оружия> Например: give weapon_deagle Всё!Оружие у вас.
____________________ | | | Моделька | |___________________|
Чтобы желаемая моделька работала с вашим оружием, открываем скрипт вашего оружия(в папке scripts). Находим строки: "viewmodel" "models/weapons/v_pistol.mdl" "playermodel" "models/weapons/w_pistol.mdl" И меняем их на соответственные названия.
Спасибо за внимание.=)))
|