Установщики Source Модификаций
< Ru
Jump to navigation
Jump to search
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.
setup.nsi.Код из 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 директории. Используйте для установки Модов, Карт, Моделей... любого контента. Все упомянутые в статье инструменты являются бесплатными.