Search In
• More options...
Find results that contain...
Find results in...

• 0

# Easy script switcher [PC v1 only]

## Question

Edit: From OrionSR: MAIN-SA-V2-PC.rar

Read the notes near the end of the script switcher topic for instructions on how to adapt

Easy script switcher for GTA SA

...to swap between v1, v2, Hot Coffee and Spaceeinstein's All In One Mod

...or toggle the CLEO library off/on

Current Version: v0.7 -- released September 25 2008

Easy disabling and enabling of the CLEO library (if installed).

Start GTASA from within the script switcher: normal or nosplash (if nosplash.exe present).

Supported versions of Spaceeinstein's All In One Mod: v2.6 --> v3.0

Related topics

Purpose

While helping other players with their missions I often had to switch my v1 scripts to v2 or even the Hot Coffee mod. Since repetitive file copying got sort of tiring for me I made this little batch file to do the job for me. Support for Spaceeinstein's All In One Mod was included by request from v0.3 on and the script is written in a way that should allow more future extensions, if wished for. Drop a line here if you want something else included and I'll see what I can do.

Since CLEO scripts have become an issue in the Chain Game, a routine to easily toggle them off or on has been added.

Systems

• Written on and only tested on WinXP .
• grishb reports that it also works on Vista . Judging from what I hear about Vista you'll very likely have to manually change permissions for some folders, see "Basics" below.
• Due to the registry reading feature it might not run on Win2K . You must have Win2K Support Tools installed, but since there are syntax differences for the command 'reg.exe' in WinXP and Win2K Support Tools it may still not run on 2K.
Instructions

Basics

• This program needs write access in your GTA SA script folder (e.g. 'C:\Program Files\GTA San Andreas\data\script'). Log in as administrator and grant write access to the user account running GTA SA and the scriptchanger (or ask your system administrator to do this for you). This needs to be done only once - if at all. On a standard Win2K/XP installation you probably *won't* have to do it because all standard user accounts have full admin rights there (incl. write access everywhere). With Vista you most likely *will* have to do it.
• If you're using the Spaceeinstein Mod, you will also need write access in '..\text'.
• If you're using CLEO, you will also need write access in your game's main directory.
• GTA SA v2 has restricted modding abilities and needs to be downgraded before you can switch scripts.
• You can still use this program no matter whichever version of GTA SA you run, because all this program does is copy script files around. If your game won't run after this it could be due to your script files being incompatible with your game.
• You don't *have* to use *all* the possible options - just ignore all instructions for folders/files you are not going to use. If you pick an unexisting selection in the menu by mistake, you'll get an error message and your currently installed scripts will remain unaltered.
• The CLEO toggle is not a clean (un-)install routine; all it does is rename the file cleo.asi to cleo.asi.bup and back. This seems to do the trick for me.
• The currently installed scripts are determined via file compare with the contents of your '..\data\script\v1', 'v2', etc folders. Be careful to put the right scripts into the right folder, otherwise you'll get inaccurate information.
First Installation
• Make backup copies of all your different version script files!!!
• Make backup copies of '..\text\american.gxt' if you're using the spaceeinstein mod)!!!
• Make a backup copy of '..\cleo.asi' if you're using the CLEO library!!!
• Make sure you have write access in the folders specified above in the first 3 paragraphs of 'Basics'.
• Go to your GTA SA script folder (e.g. 'C:\Program Files\GTA San Andreas\data\script').
• In there create subfolders called 'v1', 'v2', 'hc' & 'sp' (all file & folder names without ' ' of course).
• Put the script files ('main.scm' and 'script.img') of v1 into the subfolder 'v1', those of v2 into subfolder 'v2' and those of Hot Coffee into subfolder 'hc'.
• Put all the files of the spaceeinstein mod ('main.scm', 'script.img' and 'american.gxt') into the subfolder 'sp'.
• Unzip 'sa_scriptchange.bat' to any convenient location.
Updating the Scriptchanger
• Make sure your scriptchanger is not running and simply overwrite your old 'sa_scriptchange.bat' with the new one.
• If you're updating from pre v0.6 and using the CLEO library: Make a backup copy of '..\cleo.asi' and make sure you have write access in the game's main folder.
Changing between different *supported* versions of the Spaceeinstein Mod
• Replace the contents of your '..\data\script\sp' folder.
• Switch to spaceeinstein.
• You can leave this version of the scriptchanger running while you do this.
• You'll be told which version of the Spaceeinstein mod you're running.
Using this program
• Double-click 'sa_scriptchange.bat', make your choice & press [Enter]. That's basically it.
• For multiple script swaps you can leave this program running in the background while playing, but always make sure the game itself isn't running when you change the scripts .
Disclaimer

use at own risk ...yaddayadda... comes as is ...bleh... no warranties ...blurp... etc...

...and make those backups first

Changelog

v0.7

• start GTASA from within the script switcher

• new routine to determine the installed scripts

• label file not needed anymore, old one(s) will be deleted

v0.6

• added CLEO toggle (disable/enable if installed)

• enabled changing to a script version the program thinks is already installed

v0.5

• updated Spaceeinstein routine to support multiple versions of the mod

• currently supported versions: v2.6 --> v3.0

• content of label file gives exact installed version

• reversed the formatting of the text output to pre-0.41 (liked it better after all)

v0.41

• updated Spaceeinstein support to v2.8

• very minor change in the formatting of the text output (blank line shoving, basically)

v0.4

• changed the way the game's path will be read from the registry (dropped using the GUID due to rare bug reports and Wolf68k's invaluable input)

• updated support for Spaceeinstein's All In One Mod to the current version v2.6

• overhauled instructions incl. a few comments on updating, Win2K, Vista, write access & modding of SA v2

v0.3

• added Spaceeinstein's All In One Mod (v1.7.1) as a possible selection; existing '..\text\american.gxt' will be backuped to '..\text\american.orig.gxt'

• program will run in a loop until you exit

• complete structural overhaul, hopefully makes future extensions easier to work in

• changed location of the label file (see instructions); changed extension of label file to .ini; old label files will automatically be converted

• label file is no dummy anymore but will be read to find out the currently installed game scripts

v0.2

• paths will be automatically read from the windows registry - no more manual editing of the file

• a few security checks added - e.g. your installation will not be changed if you select Hot Coffee but don't have those script files

Thanks...

• to Wolf68k for priceless help (especially with the registry stuff) and for mirroring the downloads,

• to Plaka for pinning this topic and providing a download mirror,

• to DrSnuggles for webspace,

• to hmvartak for suggesting the 'Start Game' feature

• to OrionSR for coding help and testing

• and to all those testing, using & feedbacking.

As usual: Feel free to comment & improve & expand to cover more mods etc...

Enjoy,

rubregg

Edited by lil weasel

## Recommended Posts

• 0
@rubregg: Just to let you know, Spaceeinstein Mod v3.0 is now available. So, maybe you can include that too.

I've just noticed this. ...since 3.0 is now out, what about skipping 2.9 and going directly to 3.0??

##### Share on other sites
• 0
@rubregg: Just to let you know, Spaceeinstein Mod v3.0 is now available. So, maybe you can include that too.

I've just noticed this. ...since 3.0 is now out, what about skipping 2.9 and going directly to 3.0??

That's a good idea. Go for it.

##### Share on other sites
• 0

ah hell, let's make it properly...

Update v0.50 released

NEW: supports multiple versions of the Spaceeinstein mod: v2.6 --> v3.0

--> see it all in the edited top of thread

As usual - please use, comment, improve, enjoy

##### Share on other sites
• 0

@NiSsAn_BoY and other Vista users:

The script switcher *should* work on Vista but permissions for the scripts' folders have to be set properly. AFAIK a normal user account on Vista does not have write/delete access in programs' installation folders. The accounts for users running the script switcher must have write access in [gtasa.installation.folder]\data\script. I think on Vista this write access has to be granted manually.

Any Vista users running the script switcher? Does it work? Feedback is still highly appreciated.

@James_Bond:

When you run the script switcher for the first time it cannot find a label file. As long as you followed the instructions (i.e. created the subfolders and put the scripts you want to switch in there) it shouldn't matter that the script switcher can't tell you which version you're currently running. You should still be able to switch scripts. After the first successful switch the label file will have been created and the script switcher will tell you which script version you're currently running.

@Deuce Deuce:

(...) when I run sa_scriptchange I get the error, "The system was unable to find the specified registry key or value." Could it be because my installation lies in C:\Program Files\GTA San Andreas rather than C:\Program Files\Rockstar Games\GTA San Andreas?

In which case, should I just go ahead and create a 'Rockstar Games' folder and move the 'GTA San Andreas' folder in there?

EDIT: Moving the directory to C:\Program Files\Rockstar Games\GTA San Andreas didn't seem to resolve the issue...

Normaly it does not matter at all where the game was installed, because the game's installation path is read from the windows registry:

::.................................NEW METHOD (from v0.4)......................................::for /f "skip=2 tokens=3*" %%G in ('reg query "HKLM\SOFTWARE\Rockstar Games\GTA San Andreas\Installation" /v Exepath') do set GAMEPATH=%%G %%Hset GAMEPATH=%GAMEPATH:\gta_sa.exe=%

"HKLM\SOFTWARE\Rockstar Games\GTA San Andreas\Installation" is a registry key from which the value for 'Exepath' is read (first line). This returns the full path to the gta_sa.exe *file*, but we only want the installation *folder*, so "\gta_sa.exe" is subtracted in the second line.

Maybe Deuce's russian version creates a different registry key, or none at all.

Here's a quick and dirty work-around:

Replace this:

::.................................NEW METHOD (from v0.4)......................................::for /f "skip=2 tokens=3*" %%G in ('reg query "HKLM\SOFTWARE\Rockstar Games\GTA San Andreas\Installation" /v Exepath') do set GAMEPATH=%%G %%Hset GAMEPATH=%GAMEPATH:\gta_sa.exe=%

with this:

::.................................NEW METHOD (from v0.4)......................................::set GAMEPATH="C:\your\gtasa\installation\folder"

This should work, but only as long as the game is installed in C:\your\gtasa\installation\folder.

(...and be careful to leave the "set SCRIPTPATH" line untouched, it's right underneath what I just quoted.)

Deuce, which windows are you running? If it's Win2K then this problem has to be expected, I think the reg query command is different there...

...oh and Thanks everyone who helped out here while I was away

Edited by rubregg

##### Share on other sites
• 0

@rubregg: When I reinstalled I chose the 'normal' directory C:\Program Files\Rockstar Games\GTA San Andreas. I've tried the new bit of code you provided, but it leaves me with the same problem. Do I literally keep the "C:\your\gtasa\installation\folder" or do I change it to the correct location in which the game lies? ie, C:\Program Files\Rockstar Games\GTA San Andreas

Is there a way I can check where the game has installed the registry files?

EDIT: This is exactly what I'm getting..

Edited by Deuce Deuce

##### Share on other sites
• 0

@Deuce:

First of all: there is *no* problem in the picture you posted. If you run the script switcher for the first time there cannot be a lable file, this will be created after your first *successful* switch. Have you actually tried switching scripts? If so, what message do you get when you try switching?

Is there a way I can check where the game has installed the registry files?
Yes there is. fyi, there won't be any installed registry files, the windows registry is a beast of its own. The game writes some registry keys and puts values for variables into them. Amongst others there's the key HKLM\SOFTWARE\Rockstar Games\GTA San Andreas\Installation which has a variable Exepath (HKLM stands for HKEY_LOCAL_MACHINE).

You can either manually check out the registry via start - execute - regedit but I do *not recommend* that unless you know exactly what you're doing. You can completely f*ck up your system if you fiddle around with regedit. If you only look and don't change anything you should be safe though. Use at own risk!

I *do recommend* you check out the needed registry key via console. Open a console / DOS window (either from the start menu (it's somewhere in the windows accessories) or with start - execute - cmd

Type this (or copy-paste - mind, in a console window you can only paste via right mouse button, ctrl-v won't work)

reg query "HKLM\SOFTWARE\Rockstar Games\GTA San Andreas\Installation" /v Exepath

and press [Enter]. You'll get some output and the right bit of the bottom line should be the path to your gta_sa.exe. If this is your correct path, then the script switcher should work as is, without using the work-around I posted yesterday.

As for that work-around, I'd suggest using that as a 'last resort' only, let's try to get things working normally first. If that won't work and you use the work-around, you do *not* literally keep the "C:\your\gtasa\installation\folder". If you installed in C:\Program Files\Rockstar Games\GTA San Andreas your line will have to read

set GAMEPATH="C:\Program Files\Rockstar Games\GTA San Andreas"

(no backslash at the end, path has to be in inverted commas)

Sooo..... the next things you should do:

- try out actually switching scripts

- if you get an error, please report back what the program tells you

- check out your registry entry via the console method I described and see if there's your correct path there

Hope this helps

##### Share on other sites
• 0

Thanks for your on-going help; it's been resolved now (by changing the game path to the appropriate place). I've switched between v1, v2 and Hot Coffee successfully. Nice tool!

##### Share on other sites
• 0

There is one small thing i need to get cleared. Now with rubregg's easy script switcher i can install v1 and play all the v1 SnP's but when i try to switch to v2, all the v2 game loads crash. Should i need to convert the ID? because mine is v1 exe version. thats the only problem??

##### Share on other sites
• 0

My exe is v1 but I'm still able to switch between scripts in order to play save files for whatever particular version.

##### Share on other sites
• 0

Thanks for your on-going help; it's been resolved now (by changing the game path to the appropriate place). I've switched between v1, v2 and Hot Coffee successfully. Nice tool!
Good to hear you got it to work ...just a little heads-up, if by "changing the game path" you mean you used the work-around you'll have to be careful when reinstalling the game - you'll have to use the same installation path, otherwise the script switcher won't work anymore.

There is one small thing i need to get cleared. Now with rubregg's easy script switcher i can install v1 and play all the v1 SnP's but when i try to switch to v2, all the v2 game loads crash. Should i need to convert the ID? because mine is v1 exe version. thats the only problem??
So when you switch back to v2, what message do you get from the script switcher? Are you sure you put the v2 script files in [gtasa]\data\script\v2 ?? Your game crashing upon loading sounds as if the wrong script files are in place. As for file ID, the v1 exe doesn't check the file ID. Do you have a downgraded v2? I don't know how a downgraded v2 behaves, maybe it checks the ID so you could as well try out converting the save's ID.

##### Share on other sites
• 0

There is one small thing i need to get cleared. Now with rubregg's easy script switcher i can install v1 and play all the v1 SnP's but when i try to switch to v2, all the v2 game loads crash. Should i need to convert the ID? because mine is v1 exe version. thats the only problem??
So when you switch back to v2, what message do you get from the script switcher? Are you sure you put the v2 script files in [gtasa]\data\script\v2 ?? Your game crashing upon loading sounds as if the wrong script files are in place. As for file ID, the v1 exe doesn't check the file ID. Do you have a downgraded v2? I don't know how a downgraded v2 behaves, maybe it checks the ID so you could as well try out converting the save's ID.

There's no error messages in Script Switcher Rubregg, it says successfully installed v2. Maybe you're right. I must have got the wrong scripts in place. v1 works perfectly.. Thanks Rubregg.

##### Share on other sites
• 0
There's no error messages in Script Switcher Rubregg, it says successfully installed v2. Maybe you're right. I must have got the wrong scripts in place. v1 works perfectly.

If it says "successfully installed v2" then the script files have been copied from

[gtasa]\data\script\v2

to

[gtasa]\data\script

If something with the copying process goes wrong you should get an error message.

Make sure your v1 script files are in

[gtasa]\data\script\v1

and your v2 script files in

[gtasa]\data\script\v2

If you did have v1 scripts in your v2 folder and switched to v2, the script switcher will give you wrong information on the currently installed scripts (because it thinks it has installed the v2 scripts which were in fact v1 scripts in the wrong folder).

So make absolutely sure the right scripts are in the right subfolder and then run the script switcher. Ignore the message about the currently installed version and switch back and forth once or twice, then the label file should match the correct version. Or delete the label file and start over. The label file is called current-install-xx.ini (xx=installed version; v1, v2, hc or sp) and located in the same folder as the script switcher.

##### Share on other sites
• 0

Guys I want to say something that it's very useful and make it easy to us when completing SnP's :

In ANY PAGE of GTAForums the sentence "Modding questions belong in the modding forums!" is showen

I just want someone from the ' MODS ' to put another sentence that says (at least put it in the Mission Help section) : " Include your Version in your topic title" .

I'm asking for this becuase there's some people that don't put what version do they have, and we have to enter the topic to know, or sometimes they don't show thier version in the whole topic.

I mean If you have V2, and someone is requesting for V1, the topic starter says in the topic title that's he has V1 , so you don't have to enter the topic to see, it's very annoying. I hope you guys understand what I mean.

##### Share on other sites
• 0

@ Naseem Srour

In ANY PAGE of GTAForums the sentence "Modding questions belong in the modding forums!" is showen
No, that's only in the Gameplay forum. On every page in Mission Help it already tells you the exact posting format for SnPs. Some people read it and some don't. Also, the gtasnp uploader tells you which version a save file is, so I don't think it's that big a deal anymore.

But anyway, this is way off topic here... If you want a discussion on this please start a new topic.

##### Share on other sites
• 0

Update v0.6 released

NEW:

• Easy disabling and enabling of the CLEO library (if installed).

• It's now possible to re-install a script version the program thinks is already running (makes things easier for users of SannyBuilder).

--> see it all in the edited top of thread (http://www.gtaforums.com/index.php?showtopic=244165&view=findpost&p=3688363)

As usual - please use, comment, improve, enjoy

##### Share on other sites
• 0

Hello, It don't work for me.

i'm using Vista and Do what you said in Readme.

Ah,Nice tool

##### Share on other sites
• 0
Hello, It don't work for me.

i'm using Vista and Do what you said in Readme.

Ah,Nice tool

What's the error message you're getting?

If you're on Vista you will manually have to set writing permissions for some folders. It's in the section "Basics" in the readme.

##### Share on other sites
• 0

It didn't found the v2 & Spaceinstein Script.And don't recognize the SA Version.

##### Share on other sites
• 0

Have you downloaded the v2 and Spaceeinstein scripts from the first post? The switcher does not support Spaceeinstein mod versions prior to v2.6.

And what do you mean 'don't recognize the SA version'? If you're saying that no version is recognized by the switcher, it means that you haven't installed the game correctly. Try reinstalling it.

##### Share on other sites
• 0

On first run the script switcher will give a message like "currently installed version - don't know, no label file found". Nothing wrong with that. The program will create that label file during the first successful switching and from then on will read it to determine the currently installed version.

Script files are not included in the release, you'll have to manually download them from the links given in the topic. You only need the ones you want to use.

##### Share on other sites
• 0
On first run the script switcher will give a message like "currently installed version - don't know, no label file found". Nothing wrong with that. The program will create that label file during the first successful switching and from then on will read it to determine the currently installed version.

Hmm, that's strange. I have uninstalled and reinstalled SA numerous times, but every single time, the switcher correctly identified the version. But before running the switcher, I always placed all the 4 types of script files into the Data\script folder. So, maybe that's why it always showed me the previous script that I had active.

##### Share on other sites
• 0

The script switcher will read what it thinks is the "currently installed version" from the label file current-install-xx.ini. If you had last switched to v1 and then uninstalled and reinstalled a v1 game, then it would have "identified" the correct scripts. Same for v2 / v2. It won't show correct scripts if you switch to v2 and then reinstall a v1 game.

I should probably implement a proper script detection routine for future versions...

##### Share on other sites
• 0

After re-install the game The Tool Working !

Very Nice rubregg, Keep it up !

##### Share on other sites
• 0
The script switcher will read what it thinks is the "currently installed version" from the label file current-install-xx.ini. If you had last switched to v1 and then uninstalled and reinstalled a v1 game, then it would have "identified" the correct scripts. Same for v2 / v2. It won't show correct scripts if you switch to v2 and then reinstall a v1 game.

I have a v1 game and I'm normally running the v2 scripts for the Chain Game. I don't seem to remember what version it showed after a reinstall. But it definitely didn't show "currently installed version - don't know, no label file found". In any case, I'll have to take a rain check on that one. I'll report back if I find anything weird.

And oh, fantastic job on the new version. I can't thank you enough.

##### Share on other sites
• 0

I think we might have a misunderstanding here. "don't know - no label file found" will only appear on the first run of the script switcher (or if you run the script switcher from a changed location or if you manually deleted the label file). The label file belongs to the script switcher and won't get deleted if you uninstall SA.

Anyway - glad it works for you and glad you like the new version.

##### Share on other sites
• 0

Wait, I'm confused. I have a v1 game and I switch to v2 scripts using the switcher. Then I uninstall the game and reinstall it. Now, if I run the switcher again,

1. Will it show the correct version (i.e. v1) even if I don't have the v2 scripts in place yet?

2. Will it show the version as v2 if I put the v2 scripts in place?

##### Share on other sites
• 0

The Script Switcher will always show the last version it switched to and will never know about any manual script changes.

So answer to question 1: no, in that case it will still show v2

and

2: if by 'putting in place' you mean 'put the v2 scripts into ..\data\script\v2' --> then it'll still tell you v2 and incorrectly so. If you manually put the v2 scripts into ..\data\script then it'll still tell you v2 and this time it's correct because you manually 'installed' v2 scripts.

##### Share on other sites
• 0

Ahh, all clear now. Thanks.

##### Share on other sites
• 0
Ahh, all clear now. Thanks.

Good to hear - and glad to help

##### Share on other sites
• 0

Nice work rubregg!

I have little suggestion for your tool. If you make some minor changes in batch file, it can be used to start the game too.

::

echo.

echo      change to [1] v1, [2] v2, [h] Hot Coffee, Spaceeinstein or [e] Start game

echo      or

set /p PRESSEDKEY=      [c] toggle CLEO status (disable/enable)  /  [q] quit:

::

if %PRESSEDKEY%==1 (set NEWVER=v1) else (

if %PRESSEDKEY%==2 (set NEWVER=v2) else (

if %PRESSEDKEY%==h (set NEWVER=hc) else (

if %PRESSEDKEY%==s (set NEWVER=sp) else (

if %PRESSEDKEY%==c (goto :CLEO) else (

if %PRESSEDKEY%==q (goto :eof) else (

if %PRESSEDKEY%==e (start gta_sa.exe) else (

)

)

)

)

)

)

)

Above code will ask user to press 'e' to start game or if below code is used, it will automatically start game after

switching files.

................OUTPUT / SUCCESS / RAAAH............

::

echo.

echo.

echo.

echo    successfully installed %NEWMESSAGE%

set OLDVER=%NEWVER%

start gta_sa.exe  // or nosplash.exe

goto :eof

And I think save games can also be switched by this tool. I would really like to see this feature in your tool.

## Create an account

Register a new account