Ru/Source Mod Installers

Дополнительная благодарность пользователю 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
= См. Также =
* 
* NSIS Wiki
* ZipDLL plug-in — поддержка распаковки 
* UnTGZ plug-in — поддержка распаковки & 
* @icon sushi
:Это потрясающая программа для работы с иконками. Поддерживает XP иконки.
* IconXP
:Это потрясающая программа для работы с иконками, доступна в триальной версии.
* Базвый Установщик NSIS Для Steam Контента и Модов. dodbits.com
:Это пошаговый учебник, по созданию установщика для Steam игр. В основном для CS:S и Day of Defeat но может использоваться для любой VALVe игры, которая требует автоматического поиска пути к модам в Steam директории. Используйте для установки Модов, Карт, Моделей... любого контента. Все упомянутые в статье инструменты являются бесплатными.
Category:Russian