Ru/Source Mod Installers
< 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 директории. Используйте для установки Модов, Карт, Моделей... любого контента. Все упомянутые в статье инструменты являются бесплатными.