Текущее время: 19 апр 2018, 14:57




Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Gtalark Installer for GTA SA 
Автор Сообщение
Аватара пользователя
Beatles is a live!

Зарегистрирован: 17 фев 2007, 00:00
Сообщения: 1559
Откуда: NikoLive!
Сказал спасибо: 209
Спасибо сказали: 121
Ukraine (ua)
Сообщение Gtalark Installer for GTA SA
Тут будем обсуждать и делится кодом инсталлера модов. Пока мне удалось написать batch инсталлер, который может копировать файлы, заменять файлы в gta3.img (на базе Spark console), делать бекапы и деинсталировать моды. Весь пакет скриптов и утилит я помещаю в SXF модуль архива rar. Который после распаковки в директорию с гта, сам запускает скрипт установки. Файлы для установки я помещаю в папку
Код:
/%GTASA%/GtaLark.com/%Modname%/

а резервные файлы помещаются при установке в
Код:
/%GTASA%/Backups/%Modname%/


Вот собственно пример кода на примере мода New CJ's House:
Код:
:## Installer scripted by SerDIDG

@title New CJ's House Installer
@echo New CJ's House
@echo by SerDIDG and Zex_NOS
@echo www.gtalark.com
@echo ------------------------------------------
@echo This program install this mod into your GTA San Andreas.
@echo He also creates backups of your original files.
@echo To uninstall this mod, run Uninstall CJ's House.bat from GTA game folder.
@echo After install, rebuild gta3.img archive!
@echo ------------------------------------------
@echo Press any key to install...
@pause>nul
@echo ------------------------------------------
@echo Installing...
@echo ------------------------------------------
copy data\object.dat "Backups\CJ's House\data\object.dat" /Y
copy data\maps\generic\dynamic2.IDE "Backups\CJ's House\data\maps\generic\dynamic2.IDE" /Y
copy data\maps\La\LAe2.IDE "Backups\CJ's House\data\maps\La\LAe2.IDE" /Y

copy "GtaLark.com\CJ's House\data\object.dat" data\object.dat /Y
copy "GtaLark.com\CJ's House\data\maps\generic\dynamic2.IDE" data\maps\generic\dynamic2.IDE /Y
copy "GtaLark.com\CJ's House\data\maps\La\LAe2.IDE" data\maps\La\LAe2.IDE /Y
@echo ------------------------------------------
@img.exe -script install.dat
@echo ------------------------------------------
@echo The mod is installed!
@echo Rebuild gta3.img archive!
@echo Enjoy!
@echo ------------------------------------------
@echo Press any key to exit...
@pause>nul
@rd /S /Q "GtaLark.com\CJ's House"
@del /F /Q install.bat install.dat


Справку по каждой комманде можно найти в коммандной строке выполнил комманду
Код:
help [комманда]

Первая часть скрипта отвечает за заголовок окна и коментарии, вторая часть за создание резервных копий файлов и установку изменённых файлов в игру, третяя - за запуск спарк консоли (img.exe) со скриптом install.dat. А четвёртая - за удаление установочных файлов.

Вот код скрипта install.dat:
Код:
-open "models\gta3.img"
-export "grd_bySD.dff" "Backups\CJ's House"
-export "myCjDoor.dff" "Backups\CJ's House"
-export "newcjhouse_lae2.txd" "Backups\CJ's House"
-export "carlshou1_lae2.dff" "Backups\CJ's House"
-export "cjsaveg.dff" "Backups\CJ's House"
-export "lae2_4.col" "Backups\CJ's House"
-export "lae2_landhub03.dff" "Backups\CJ's House"
-export "lae2_landhub04.dff" "Backups\CJ's House"
-export "lae2_stream0.ipl" "Backups\CJ's House"
-export "laeast2_lod.txd" "Backups\CJ's House"
-export "LOD1carlshou1_LAe.dff" "Backups\CJ's House"
-export "lodcjsaveg.dff" "Backups\CJ's House"

-import "GtaLark.com\CJ's House\grd_bySD.dff"
-import "GtaLark.com\CJ's House\myCjDoor.dff"
-import "GtaLark.com\CJ's House\newcjhouse_lae2.txd"
-import "GtaLark.com\CJ's House\carlshou1_lae2.dff"
-import "GtaLark.com\CJ's House\cjsaveg.dff"
-import "GtaLark.com\CJ's House\lae2_4.col"
-import "GtaLark.com\CJ's House\lae2_landhub03.dff"
-import "GtaLark.com\CJ's House\lae2_landhub04.dff"
-import "GtaLark.com\CJ's House\lae2_stream0.ipl"
-import "GtaLark.com\CJ's House\laeast2_lod.txd"
-import "GtaLark.com\CJ's House\LOD1carlshou1_LAe.dff"
-import "GtaLark.com\CJ's House\lodcjsaveg.dff"
-save
-close


Первая часть отвечает за создания резервных копий файлов из gta3.img, вторая - за установку файлов в архив gta3.img.

В следующем посту напишу готовый код деинсталятора и набор утилит и скриптов для создания инсталлера и запаковки деинсталлера в *.exe файл.

PS Сейчас веду работы по написанию скрипта для утилиты sed, с помощью который можно заменять строки в текстовых файлах.

_________________


12 авг 2008, 00:38
Профиль Отправить email ICQ WWW
Спасибо сказали: DimazzzZ
Аватара пользователя
Respected
Respected

Зарегистрирован: 26 окт 2004, 23:00
Сообщения: 2937
Откуда: St.-Petersburg
Сказал спасибо: 206
Спасибо сказали: 244
Russia (ru)
Сообщение Re: Gtalark Installer for GTA SA
ОпенСурс рулит :) Я считаю не стоит делать лишние папки... Лучше:

Для модов:

Код:
/%GTASA%/GtaLark.com/Mods/%Modname%/


Для бэкапов:

Код:
/%GTASA%/GtaLark.com/Backups/%Modname%/


А вообщем молодцом, как говорит Хэнкок :D Если б что-то такое своё, да не на базе спарка :) Но дос тоже ничё пока ))

_________________
Изображение


12 авг 2008, 01:04
Профиль Отправить email WWW
Аватара пользователя
Beatles is a live!

Зарегистрирован: 17 фев 2007, 00:00
Сообщения: 1559
Откуда: NikoLive!
Сказал спасибо: 209
Спасибо сказали: 121
Ukraine (ua)
Сообщение Re: Gtalark Installer for GTA SA
Можно и так, всёравно для деинстала всёравно где будут беки. Я тут слышал, что можно к bat приделать графическйи интерфейс, нужно будет глянуть. А вобще инсталлер можно собрать в ashampo installer creator (вроде так), и в него запаковать спарк консоль.

_________________


12 авг 2008, 01:36
Профиль Отправить email ICQ WWW
Аватара пользователя
Respected
Respected

Зарегистрирован: 26 окт 2004, 23:00
Сообщения: 2937
Откуда: St.-Petersburg
Сказал спасибо: 206
Спасибо сказали: 244
Russia (ru)
Сообщение Re: Gtalark Installer for GTA SA
Я имею ввиду делать не на основе конструктора лего, а на C или Delphi или ещё чём-то. А про папки я предложил, потому что пользователю будет удобнее, а не инсталлеру. Лично мне лишние папки в руте не нужны :(

_________________
Изображение


12 авг 2008, 01:46
Профиль Отправить email WWW
Аватара пользователя
Beatles is a live!

Зарегистрирован: 17 фев 2007, 00:00
Сообщения: 1559
Откуда: NikoLive!
Сказал спасибо: 209
Спасибо сказали: 121
Ukraine (ua)
Сообщение Re: Gtalark Installer for GTA SA
Ок, предложение выполню, согласен. Сорри, в языках програмирования не силён вобще.

_________________


12 авг 2008, 01:48
Профиль Отправить email ICQ WWW
Спасибо сказали: DimazzzZ
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 5 ] 


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
 cron
Powered by phpBB © phpBB Group.
Based on Avalon by Vjacheslav Trushkin.
Adapted by SerDIDG & DimazzzZ
 
Gtalark.com © 2004 - 2008
Powered by PHP-Nuke kernel ©

Контакты | Правила
img Rambler's Top100 yaca top HotLog Rating@Mail.ru SpyLOG Valid CSS!