Sanny Builder provides the end-user the following features:
Double-clicking the opcode description in the status bar opens the library's page with this opcode's full description in the browser.
If the current edit mode uses the library documentation there is a text in the status bar telling the version of the documentation, e.g.
SBL v0.119. The version may vary from mode to mode.
Clicking the library version text in the status bar brings up a popup menu from which you can check if there are newer versions and download them. If you enable
Automatic updatesoption Sanny Builder will check the updates and download them on startup.
You can bookmark a line by pressing
Ctrl+Shift+0..9and then get back to it by pressing
Ctrl+0..9. To delete all bookmarks, use the menu option
Edit->Clear All Bookmarks.
Alternatively you can go to a particular line using the
Go To Linefeature. Press
Ctrl+G, enter the line number and the editor will move the cursor to it.
The IDE allows to quickly navigate to some points of interest in the code without using the
To go to the line marked with a label (e.g,
:MyLabel), put the cursor on the label reference (
@MyLabel) and press
Alt+Right. If the label exists, the cursor position will change.
Similarly, to navigate to the start of a function or mission, use
Alt+Righton the function or mission name.
To return back to the previous position, press
Alt+Left. Keep pressing if you had more than one navigation.
- a number of parameters for the current opcode;
Ctrl+Alt+1when GTA San Andreas is running and the Coords Manager window will appear. You can read the player's coordinates from the game memory and modify them there.
In the top edit line you can enter the XYZ coordinates, delimited by the space character or the comma character
,. Additionally, you can insert the player's coordinates in the script source by pressing
Ctrl+Shift+C. To insert the player's z-angle, press
You can record a key pressing sequence (macro) and playback it later. Consider the following code:
$Actor = Actor.Create(CivMale, #MALE01, 100.0, 100.0, 10.0)
$ActorWithGun = Actor.Create(CivMale, #MALE01, 110.0, 100.0, 20.0)
$Gang01 = Actor.Create(CivMale, #MALE01, 120.0, 100.0, 30.0)
$Gang02 = Actor.Create(CivMale, #MALE01, 130.0, 100.0, 40.0)
$Killer = Actor.Create(CivMale, #MALE01, 140.0, 100.0, 50.0)
$ActorWithoutGun = Actor.Create(CivMale, #MALE01, 150.0, 100.0, 60.0)
Say, you need to exchange the actor's handles in each pair (i.e have
$Actor, and vice versa).
Place the cursor in the first line before
Ctrl+M. The editor immediately begins recording all keys - so be careful!
- 1.Press and hold
Ctrland press the
Right Arrowbutton once
- 3.Press the
Down Arrowbutton. The cursor must be on the second line with the global variable in the clipboard
- 6.Press the
- 8.Press the
Now the first two lines should look like these:
$ActorWithGun = Actor.Create(CivMale, 100.0, 100.0, 10.0)
$Actor = Actor.Create(CivMale, 110.0, 100.0, 20.0)
with the cursor being in the beginning of the first line. Now press
Ctrl+Mto stop recording.
You can playback the recorded sequence by pressing
Ctrl+P. Place the cursor in the beginning of the third line, press
Ctrl+Pand the actor handles will be swapped.
During recording, you can pause/unpause it by pressing
Sanny Builder allows using a mission name in the opcode
start_mission. The mission name is the label defined with a
DEFINE MISSIONcommand. Say, you have:
DEFINE MISSION 10 AT @MYMISSION
start_mission 10you can write
To call the mission names list, press
Ctrl+Space. The cursor has to be directly after the
Since v3.2.0 Sanny supports custom mission titles for each available edit mode. They are stored in the
missions.txtfile. This file is used by the disassembler to add the title as a comment on line with mission define (
DEFINE MISSION) or start (
SCMfile contains custom-made missions you may edit the
missions.txtto have the correct titles after disassembling.
You can configure up to
9apps to run when you need them. Each app has its own hotkey for your convenience. You may also pass the parameters to your app if needed. To pass the name of the currently opened file use the special word
Since v3.7.0 it's also possible to pass the variables
@game:that represent Sanny Builder directory and current game directory respectively into the command-line parameters of the external app:
Sanny Builder is able to check if a new version is available. To use this feature go to menu
Help->Check for update.... The editor will connect to a remote server and if a newer version is available it prompts the download and install.
The editor can also check for an update during startup if you enable this option in the updater window.