Web: http://installer.gtaskins.com
Forums : http://board.gtaskins.com
email : LithJoe@gtaskins.com
Bug Fixes Since v0.1
0.1a : Fixed bug with replacefile() not creating a backup copy of file
replaced.
0.1a : Script bug fixed that caused addfile/replacefile/deletefile
not to function.
0.1a : This readme now correctly identifys the commands replacefile/addfile/deletefile.
0.1a : some other command reference mistakes concerning the script
functions fixed.
Introduction
What is GTA3 modification installer generator?
GTA3 modification installer generator allows authors of gta3 modifications
(such as new cars and others) to easily distribute there creations without
having to worry about complicated installation instructions for users.
GTA3 modification installer generator will simply and quickly generate
a single standalone installation exe (containing all modification files)
capable of installing the most complicated of mods.
How do i use GTA3 modification installer generator?
All the author of the mod is required to do is write a very simple
installation script.
input files
generator output
files
******************* **************
*
* * magic box *
* desc.txt * >>>>>> *that
creates* >>>>>> install.exe
* script.txt *
* the simple *
* other mod files * *
easy to use*
*
* * installer *
******************* **************
so once you have created all the files you need for your installer
(see below) open the generator.exe. Select 'add files'. Add all the files
your installer will need (including your desc.txt and script.txt). Verify
all the files needed are in the list, click the 'generate installer' button,
you will now have a install.exe in the same folder as generator.exe. You
can now test your exe.
How To write a desc.txt file
The desc.txt file stores all the information
on how the installer will look to the end user, currently, you can set
the Title and description of the installer. Heres how to do it: (this text
file does not include the line numbers below this is just so i can show
you how it should be created)
Line 1 : Installer title should be placed here
Line 2 : Description will continue for the
rest of the text file, it will be line wrapped automatically
Line 3 : this is still the description.....
Line 4 : so is this
As you can see the format is very simple place the title on the first line and the rest of the description below, if you want to leave a blank line type a single e on that line, an example desc.txt is shown below:
Full Winged Dodo Mod
A simple test mod that will replace the original
dodo with a full winged version
e
Simply press the install button below to install
the mod
e
Created By LithJoe
How To write a script.txt file
Ok this is the the brain, of the installer, get this bit wrong and
you wont be installing anything ;). This file tells the installer exactly
what to do, you write these commands ina very simple scripting language,
an example script file can be seen below:
imagereplace("\models\gta3.img","manana.dff")
imagereplace("\models\txd.img","manana.txd")
replacescriptline("\data\default.ide","100, manana,","100,
manana, manana, car, MANANA, MANANA,
poorfamily, 10, 7, 0, 161, 0.6")
As you can see the script file is very simple, you can find a fully list of commands with examples in the command reference below, but before you rush off the read that, heres afew pointers
ensure you write the commands exactly as seen below are a few examples of INCORRECT commands
imagereplace("models\gta3.img","manana.dff")
< WRONG the path is missing the leading \ all paths should start with
\
imagereplace( "\models\gta3.img" , "manana.dff" )
< WRONG spaces have been placed between the " and the commas/brackets
imagereplace ("\models\gta3.img","manana.dff")
< WRONG a space has been added between the command and the opening bracket
as you can see the compilier is currently quite picky about the format
of the commands, create them carefully though and you wont have a problem.
You can add as many command as you like to the script file (theres a limit
of about 32k commands) in any order you wish. Also if you create any dodgy
scripts the generated exe will probably crash, it will deffenatly function
incorrectly, so be carefull with the typing :).
Command Reference
command list
imagereplace("imagefile","filename")
imageadd("imagefile","filename")
imagedelete("imagefile","filename")
replacefile("filename")
addfile("filename")
deletefile("filename")
replacescriptline("filename","searchstring","newstring")
insertscriptlinea("filename","searchstring","newstring")
insertscriptlineb("filename","searchstring","newstring")
Imagereplace
Function : Replaces the specified file inside of the specified image file with a file of the corrisponding name in the exe
Syntax : Imagereplace("imagefile","filename")
Example : Imagereplace("\models\gta3.img","dodo.dff") < this will replace dodo.dff in \models\gta3.img with the dodo.dff included in the exe
Presumes : The Image file exists. The image file contains the file to be replaced. The file to be replaced has been included in the exe
Notes : A backup of the replaced file will be
placed in \backup\<modtitle>\ automatically
Imageadd
Function : Adds the specified file from the exe to the specified image file
Syntax : imageadd("imagefile","filename")
Example : imageadd("\models\gta3.img","dodo.dff") < this will add dodo.dff from the exe into \models\gta3.img
Presumes : The Image file exists. The image file DOES NOT contain the file to be added. The file to be added has been included in the exe
Notes : NONE
Imagedelete
Function : deletes the specified file from the specified image file
Syntax : imagedelete("imagefile","filename")
Example : imagedelete("\models\gta3.img","dodo.dff") < this will delete dodo.dff from \models\gta3.img
Presumes : The Image file exists. The image file contains the file to be deleted.
Notes : A backup of the deleted file will be placed in \backup\<modtitle>\ automatically
replacefile
Function : Replaces the specified file with a file of the corrisponding name in the exe
Syntax : replacefile("filename")
Example : replacefile("\models\misc.txd") < this will replace\models\misc.txd with the misc.txd included in the exe
Presumes : The to replace file exists. The file to be replaced has been included in the exe
Notes : A backup of the replaced file will be
placed in \backup\<modtitle>\ automatically
addfile
Function : Adds the specified file with a file of the corrisponding name in the exe
Syntax : addfile("filename")
Example : addfile("\models\new.txd") < this will copy new.txd from the exe to \models\new.txd
Presumes : The file to be added has been included in the exe
Notes : This is basically a copy function
deletefile
Function : deletes the specified file
Syntax : deletefile("filename")
Example : deletefile("\models\gta3.img") < this will delete \models\gta3.img
Presumes : The file to be deleted exists.
Notes : A backup of the deleted file will be placed in \backup\<modtitle>\ automatically
replacescriptline
Function : Replaces a specified line in a text file with a new line
syntax : replacescriptline("filename","searchstring","newstring")
Example : replacescriptline("\data\default.ide","100, manana,","100, manana, manana, car, MANANA, MANANA, poorfamily, 10, 7, 0, 161, 0.6")
presumes : The text file exists
Notes : A backup of the modified file will be placed in \backup\<modtitle>\ automatically
the "searchstring" can be a part or complete line, or part of a line, but the whole line will be replaced, an exmaple of this is below
replacescriptline("\data\default.ide","100, manana,","100, manana, manana, car, MANANA, MANANA, poorfamily, 10, 7, 0, 161, 0.6")
will do exactly the same as
replacescriptline("\data\default.ide","100, manana, manana, car, MANANA, MANANA, poorfamily, 14, 3, 2, 161, 0.6","100, manana, manana, car, MANANA, MANANA, poorfamily, 10, 7, 0, 161, 0.6")
BUT if the user has modified the original file
and your trying to search for it the top one would be better, as the bottom
one might not match the search criteria.
insertscriptlinea
Function : Inserts a specified line in a text file ABOVE the specified seach string
syntax : insertscriptlinea("filename","searchstring","newstring")
Example : insertscriptlinea("\data\default.ide","100, manana,","100, manana, manana, car, MANANA, MANANA, poorfamily, 10, 7, 0, 161, 0.6")
presumes : The text file exists
Notes : A backup of the modified file will be placed in \backup\<modtitle>\ automatically
the "searchstring" can be a part or complete line, or part of a line, The line line will be inserted above the line the search string was found on, an exmaple of this is below
insertscriptlinea("\data\default.ide","100, manana,","100, manana, manana, car, MANANA, MANANA, poorfamily, 10, 7, 0, 161, 0.6")
will do exactly the same as
insertscriptlinea("\data\default.ide","100, manana, manana, car, MANANA, MANANA, poorfamily, 14, 3, 2, 161, 0.6","100, manana, manana, car, MANANA, MANANA, poorfamily, 10, 7, 0, 161, 0.6")
BUT if the user has modified the original file
and your trying to search for it the top one would be better, as the bottom
one might not match the search criteria.
insertscriptlineb
Function : Inserts a specified line in a text file BELOW the specified seach string
syntax : insertscriptlineb("filename","searchstring","newstring")
Example : insertscriptlineb("\data\default.ide","100, manana,","100, manana, manana, car, MANANA, MANANA, poorfamily, 10, 7, 0, 161, 0.6")
presumes : The text file exists
Notes : A backup of the modified file will be placed in \backup\<modtitle>\ automatically
the "searchstring" can be a part or complete line, or part of a line, The line line will be inserted below the line the search string was found on, an exmaple of this is below
insertscriptlineb("\data\default.ide","100, manana,","100, manana, manana, car, MANANA, MANANA, poorfamily, 10, 7, 0, 161, 0.6")
will do exactly the same as
insertscriptlineb("\data\default.ide","100, manana, manana, car, MANANA, MANANA, poorfamily, 14, 3, 2, 161, 0.6","100, manana, manana, car, MANANA, MANANA, poorfamily, 10, 7, 0, 161, 0.6")
BUT if the user has modified the original file
and your trying to search for it the top one would be better, as the bottom
one might not match the search criteria.
Closing comments
I have included a sample install script in the zip file so people can see how a finished one looks, if you just add all the file in the mini folder and press generate installer the sample will be compiled.
For troubleshooting help bug reports and anything else you might need to use the generator please contact me one of the following ways (forums are recommended).
Web: http://installer.gtaskins.com
Forums : http://board.gtaskins.com
email : LithJoe@gtaskins.com
By LithJoe, have fun.