Установщики Source Модификаций
< Ru
Jump to navigation
Jump to search
Template:Otherlang2 Дополнительная благодарность пользователю Garry Newman за предоставление основы установщика мода.
Для этого, вам потребуется NSIS и HM NIS Edit.
Код из 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 директории. Используйте для установки Модов, Карт, Моделей... любого контента. Все упомянутые в статье инструменты являются бесплатными.