Установщики Source Модификаций
< Ru
This article needs more links to other articles to help integrate it into the encyclopedia. Please help improve this article by adding links that are relevant to the context within the existing text.
January 2024
January 2024
Дополнительная благодарность пользователю Garry Newman за предоставление основы установщика мода.
Для этого, вам потребуется NSIS и HM NIS Edit.
Примечание:Для автоматизации списка файлов, используйте NSIS Script Wizard в HM NIS Edit, затем скопируйте список в
setup.nsi
.Примечание:Вы можете быть уверены, что используется ZIP -сжатая версия мода для загрузки. Это позволит людям с плохим интернетом получить ваш мод.
Код из setup.nsi
!define PRODUCT_NAME "Название Мода" !define PRODUCT_VERSION "Версия" !define PRODUCT_PUBLISHER "Команда Разработчиков/Название Компании" !define PRODUCT_WEB_SITE "Веб-Сайт мода" !define APPID 220 !define MODDIR "Корневая директория мода" ;(например, cstrike) !define LOCALDIR "C:\Program Files\Valve\Steam\SteamApps\SourceMods" ;Это значение должно быть установлено в зависимости от PC, на котором происходит компиляция !define MUI_ICON "Иконка Установщика" ;Это локальное расположение иконки, используемой для установщика. !define FULL_GAME_NAME "Полное Название Игры" ;Это название, определенное в gameinfo.txt ;В имени файла удалите все двоеточия, а также любые другие недействительные символы !define DESKICO "Иконка на Рабочем Столе" ;Это локальное расположение иконки, используемой для рабочего стола. ;Имя иконки должно совпадать с установленной в gameinfo.txt ;В имени файла удалите все двоеточия, а также любые другие недействительные символы ;Раскомментируйте, если вы не хотите создавать иконки на рабочем столе: ;!define NO_DESKTOP_ICON ;Раскомментируйте, если вы хотите использовать ZipDLL ;Для этого, Zip файл должен находится в КОРНЕВОЙ ДИРЕКТОРИИ ;!define ZIPDLL ;======НЕ РЕДАКТИРУЙТЕ====== !ifdef ZIPDLL !include "zipdll.nsh" !endif var ICONDIR var STEAMEXE !include "MUI.nsh" !define MUI_ABORTWARNING !insertmacro MUI_PAGE_COMPONENTS !insertmacro MUI_PAGE_INSTFILES !insertmacro MUI_LANGUAGE "English" Name "${PRODUCT_NAME} ${PRODUCT_VERSION}" OutFile "${PRODUCT_NAME}.exe" ShowInstDetails show Section "Mod Files" FILES SetOverwrite ifdiff SetOutPath "$INSTDIR" !ifdef ZIPDLL File "${LOCALDIR}\${MODDIR}.zip" StrCpy $R0 "$INSTDIR\${MODDIR}.zip" ZipDLL::extractall "$R0" "$INSTDIR" Delete "$R0" !else File /r "${LOCALDIR}\${MODDIR}" !endif !ifndef NO_DESKTOP_ICON SetOutPath "$ICONDIR" File "${DESKICO}" !endif SectionEnd !ifndef NO_DESKTOP_ICON Section "Desktop Shortcut" SHORTCUT SetOutPath "$DESKTOP" CreateShortcut "${FULL_GAME_NAME}.lnk" $STEAMEXE \ '-applaunch ${APPID} -game "$INSTDIR"' "$ICONDIR\${FULL_GAME_NAME}.ico" SectionEnd !endif Page custom Finish Function Finish MessageBox MB_OK|MB_ICONEXCLAMATION "Steam must be restarted for the game to show on the games list." FunctionEnd Function .onInit ReadRegStr $R0 HKLM "Software\Valve\Steam" InstallPath ReadRegStr $R1 HKCU "Software\Valve\Steam" SourceModInstallPath IfErrors lbl_error 0 StrCpy $INSTDIR "$R1" !ifndef NO_DESKTOP_ICON StrCpy $ICONDIR "$R0\steam\games" SectionSetFlags ${SHORTCUT} 0 StrCpy $STEAMEXE "$R0\steam.exe" !endif SectionSetFlags ${FILES} 17 Return lbl_error: ClearErrors SectionSetFlags ${FILES} 17 FunctionEnd
См. Также
- Поддержка Пользовательских Модов Steam
- NSIS Wiki
- ZipDLL plug-in — поддержка распаковки Zip
- UnTGZ plug-in — поддержка распаковки Gzip & Bzip2
- @icon sushi
- Это потрясающая программа для работы с иконками. Поддерживает XP иконки.
- Это потрясающая программа для работы с иконками, доступна в триальной версии.
- Это пошаговый учебник, по созданию установщика для Steam игр. В основном для CS:S и Day of Defeat но может использоваться для любой VALVe игры, которая требует автоматического поиска пути к модам в Steam директории. Используйте для установки Модов, Карт, Моделей... любого контента. Все упомянутые в статье инструменты являются бесплатными.