Jump to content

YeTi's SA Coding Tutorial Part One


YeTi

Recommended Posts

YeTi's n00b San Andreas Coding Tutorial

 

I have decided to write a coding tutorial for San Andreas mainly because there aren’t many out there and the ones that are out there don’t explain the code very well. I hope to clear that up in this tutorial. I would just like to point out I have mainly edited my original Vice City coding tutorial so some buts of it might not make sense if you can just point them out I will correct the mistake.

 

The Tools.

 

Just click the tool name to download.

 

I've uploaded BW's San Andreas Mission Builder 0.33 and San Andreas Place Manager onto my site because in this tutorial I will be using the versions on my site and it will be easier to understand using these versions.

 

BW's San Andreas Mission Builder 0.33

San Andreas Place Manager

San Andreas (I’ve used version 1.0)

Notepad Is Sometimes Handy

 

Aim

 

What I aim to teach you in this tutorial is how to:

 

Place Pickups (bribes, health etc.)

How To Understand How The Basic Code

 

Step 1 Backup

 

Right now you have downloaded all of the required tools I strongly recommend that you back up a couple of files. The files I suggest you back up are:

 

main.scm

script.img

default.ide

peds.ide

vehicles.ide

 

If you used the default San Andreas install directory it will be:

 

C:\Program Files\Rockstar Games\Grand Theft Auto San Andreas\data

 

Now default.ide peds.ide vehicles.ide can all be found in here by scrolling down the page.

 

But main.scm and script.img will be in a separate folder in the data directory called “script”.

 

C:\Program Files\Rockstar Games\Grand Theft Auto San Andreas\data\script

 

if you have installed San Andreas somewhere different just follow the directory’s from Grand Theft Auto San Andreas.

 

Create a folder in My Documents called “Original San Andreas Files”. Now copy all of the listed files into there. Now remember where that is because if you f*ck a file up you will be glad you have made the backup it will save you from having to reinstall the game.

 

Step 2 Configuring San Andreas Mission Builder 0.33

 

Before we can use San Andreas Mission Builder 0.33 we need to configure it a bit and set it up ready for use.

 

Firstly download San Andreas Mission Builder 0.33 then unzip it into My Documents. I suggest renaming it to San Andreas Mission Builder 0.33 but it is not required it just makes things easier to understand.

 

Now you have unzipped it the first thing we will do is configure a file called SASCM.INI It will be in the newly unzipped folder. Open it with notepad. To do this right click it then select Open With then in the window that pops up select notepad. Now scroll right down to the bottom of the file and press enter to start a new line. Now copy and paste this into the new line:

 

 

 0A4A=2,%1h% %2h% 0A4B=0,

 

 

Then save and exit the file.

 

Now we need to copy and paste a few files into the San Andreas Mission Builder 0.33 go into your San Andreas data folder:

 

C:\Program Files\Rockstar Games\Grand Theft Auto San Andreas\data

 

And copy the following files into San Andreas Mission Builder 0.33’s folder:

 

default.ide

peds.ide

vehicles.ide

 

Now while we are in the data folder we also need to copy and paste another folder that is in there. Look for a folder called “script”. You guessed it copy and paste that into San Andreas Mission Builder 0.33’s folder.

 

That’s all the configuring done.

 

 

Step 3 Decompiling The Mission Script

 

Now this is a little more complicated than in previous versions of Mission Builders.

 

Firstly run SABuilder03.exe which can be found in the San Andreas Mission Builder 0.33’s folder. Wait for it to load and then select File in the top left corner of the program. Select Open File from the list that drops down.

 

Now you are greeted with an Open File window this involves a little explaining on how to open the file correctly so here I go.

 

user posted image

 

First of all in the bottom left corner of the Open File window you should see a drop down box which allows you to select a file type to open at the minute it should be set to:

 

Text Document (*.txt)

 

Just click the little downward facing arrow and select:

 

All Files (*.*)

 

From the list. Now you need to look at the window on he right you’ll see a folder directory listing and on the left a file directory listing. Now we want to open the file main.scm so select the folder script from the folder directory. This will now update the file directory with the latest files available in that folder. As you can see there are two files:

 

main.scm and

script.img

 

Select main.scm and click Ok.

 

Now a new window pops up.

 

user posted image

 

Look towards the bottom of the new window and you will see the text <new folder> click here delete any text in the text box and type

 

Original SCM

 

Make sure the folder directory is selected on San Andreas Mission Builder 0.33 and click Create Folder.

 

Now you’ll notice that a new folder has been added called Original SCM. Select this in the folder directory and click Ok.

 

This will now begin decompiling the main.scm file. Don’t worry about the time it takes it does take a long time to complete and it may even go white as though it has crashed but do not worry it has not just leave it and when it is done it will display a little report. Just click ok on this report and close San Andreas Mission Builder 0.33.

 

 

Step 4 Pickups

 

Right so we will start with pickups as you know a pickup is bribes, health etc.

 

First we will find and open our decompiled mission script. Go into My Documents and open the San Andreas Mission Builder 0.33 folder scroll down and look for a folder called Original SCM. Open it. When you do you will see a folder called Tables and a text file called Main. Leave the Tables folder alone (it contains files that are required to recompile you’re main.scm file when you have added your code) but the file Main is a decompiled main.scm. So open it in any word processing program.

 

Right so now we will find the code for creating pickups and edit it to place our own pickups in-game. Click Edit then scroll down and click Find and type in bribe. It should highlight the word bribe in this sentence:

 

 

DEFINE OBJECT BRIBE

 

 

This is not what you want so click find next. It should highlight this line now:

 

 

0213: $3345 = create_pickup #BRIBE type  15 at  2743.0  1316.0  8.0

 

 

This is the right code.

 

Right so now I will explain each of the bits of this code:

 

 

0213:

 

 

this bit is called and opcode. Basically an opcode is a name type. 0213: is a unique code name for the bribe pickup. Every thing has got a unique opcode. There should be a full list of opcodes in San Andreas Mission Builder 0.33’s folder.

 

 

$3345

 

 

this is basically just a name that rockstar has given to that line of code.

 

 

 

=create_pickup

 

 

this is what the code does it is creating pickup.

 

 

#BRIBE

 

 

this is what pickup the code is creating it is creating a bribe pickup.

 

 

type 15

 

 

this is just if the code makes the pickup free or not I THINK that 15 is free and 1 is not free so:

 

 

type 15

 

 

should be a free pickup and

 

 

type 1

 

 

should be a buyable pickup.

 

 

at  2743.0  1316.0  8.0

 

 

is the position in the game

 

2743.0 is the x position in the game

1316.0 is the y position in the game

8.0 is the z position in the game.

 

Right so that is all of that code explained I hope you understood it?

 

Now let’s put our own bribe pickup in the game ok?

 

Copy all of the code line and then just add a new line underneath the original code (you can do this by pressing enter but make sure that none of the code is highlighted), then paste your copied code into your newly created space. It should just fill in the line and not add another but it sometimes does if it does just go to the end of your added line and press delete.

 

Right so now let’s edit our code.

 

You need to leave the opcode as it is because as I said before it’s unique to pickups and is needed in the game.

 

 

$3345 =

 

 

this bit we will change as I said before it is the name that rockstar has given to this line of code so lets give our new line of code its own name. Let’s call it

 

 

$mybribe1=

 

 

ok you need to leave the $ sign in front of the name.

 

so now our code should look like this

 

 

0213: $mybribe1 = create_pickup #BRIBE type  15 at  2743.0  1316.0  8.0

 

 

You need to leave

 

 

create_pickup #BRIBE type  15

 

 

this bit as it is because if you remember it is telling the game to create a bribe pickup and make it free.

 

But this bit we will alter

 

 

 at  2743.0  1316.0  8.0

 

 

If you remember this is the position in the game so because we are adding our own pickup we don’t want it in the same place as the proper one do we?

 

No of course not.

 

This is were SA Place Manager comes in handy. Load it up and you should be greeted with a screen like this:

 

user posted image

 

Now load up San Andreas with SA Place Manager running in the background. Roam around SA until you get to the required location. I chose here:

 

user posted image

 

Then ALT+TAB out of the game and in SA Place Manager click add place. You will then be greeted with this window

 

user posted image

 

You then need to click “Click here to insert your current in-game location”. That will then import your location like this:

 

user posted image

 

Now as you can see me co-ordintes are 2510.345 -1687.322 13.57044.

 

So my code would be

 

 

0213: $mybribe1 = create_pickup #BRIBE type  15 at  2510.345 -1687.322 13.57044 

 

 

Now your own added code should look like mine if you used my coordinates if not then the same but with different coordinates.

 

Now we make sure the code is inserted correctly. We now need to test it. This will require recompiling the main.scm.

 

To do this you need to open the main txt file. Then you click Run then Compile wait for it to finish. Then go into the Original SCM folder and copy main.scm and script.img. You then go into the directory and paste them over their originals in the script folder. Now go in-game and test.

 

Remember to start a new game. You have to start a new game after every bit of editing in the main.scm file.

 

user posted image

 

Now as you can see it’s good.

 

That’s it for this tutorial I have covered what I said I would I may write more later if I get bored.

 

Please don’t flame me for this I know some bits are crap and there is likely spelling mistakes I have admitted that so please no flaming.

 

Here are links to my two previous coding tutorials they may help you. Also is a link to part two of my sa coding tutorial.

 

YeTi's VC Coding Tutorial Part One

 

YeTi's VC Coding Tutorial Part Two

 

YeTi's SA Coding Tutorial Part Two

 

YeTi

Edited by YeTi

user posted image
user posted image
R.I.P. Chi Shingi Meiyo

 

21/09/2005 - 07/03/2007

Andolini Mafia Family

 

16/08/2008 - Current

Link to comment
Share on other sites

great tutorial ty

 

TIP:when you press okay to start decompiling the main.scm DON'T TOUCH SA mission builder, if you don't then you will be able to see its progress in the top-left corner of the screen

Link to comment
Share on other sites

Thanks.

 

And as for the tip it is good i had noticed it before but i am seriously impatient tounge.gif .

user posted image
user posted image
R.I.P. Chi Shingi Meiyo

 

21/09/2005 - 07/03/2007

Andolini Mafia Family

 

16/08/2008 - Current

Link to comment
Share on other sites

I believe some pinnage is in order here YeTi, this guide looks great smile.gif

Thanks but they won't pin it they will just add it to the tutorial archive like my last two.

user posted image
user posted image
R.I.P. Chi Shingi Meiyo

 

21/09/2005 - 07/03/2007

Andolini Mafia Family

 

16/08/2008 - Current

Link to comment
Share on other sites

Vercetti Gangsta

Nice tutorial, blah, blah, compliments, compliments. ph34r.gif

Oh yes, could be a good idea to add a link to your two previous coding tutorials and vice versa. smile.gif

Link to comment
Share on other sites

Oh yes, could be a good idea to add a link to your two previous coding tutorials and vice versa. smile.gif

Yeah that is a good idea. Thanks i've done it now.

user posted image
user posted image
R.I.P. Chi Shingi Meiyo

 

21/09/2005 - 07/03/2007

Andolini Mafia Family

 

16/08/2008 - Current

Link to comment
Share on other sites

Thanks. I think i'll start work on part two soon.

user posted image
user posted image
R.I.P. Chi Shingi Meiyo

 

21/09/2005 - 07/03/2007

Andolini Mafia Family

 

16/08/2008 - Current

Link to comment
Share on other sites

  • 2 months later...

confused.gif I followed the instructions on decompiling .SCM's to the letter, but I still keep getting this angry.gif STUPID angry.gif error message:

 

Opcode out of range: 3004h

Address: 0000DAC6h

 

WTF!!!

 

PLEASE HELP!

Edited by K-Dawgg007
Link to comment
Share on other sites

confused.gif I followed the instructions on decompiling .SCM's to the letter, but I still keep getting this angry.gif STUPID angry.gif error message:

 

Opcode out of range: 3004h

Address: 0000DAC6h

 

WTF!!!

 

PLEASE HELP!

I used to get that message i can't remember how i solved it try using a fresh download of SA:MB and a fresh install of SA. If that doesnt work then im out of ideas.

user posted image
user posted image
R.I.P. Chi Shingi Meiyo

 

21/09/2005 - 07/03/2007

Andolini Mafia Family

 

16/08/2008 - Current

Link to comment
Share on other sites

Whoops sorry DP blush.gif . Edited by YeTi

user posted image
user posted image
R.I.P. Chi Shingi Meiyo

 

21/09/2005 - 07/03/2007

Andolini Mafia Family

 

16/08/2008 - Current

Link to comment
Share on other sites

confused.gif I followed the instructions on decompiling .SCM's to the letter, but I still keep getting this  angry.gif STUPID angry.gif  error message:

 

Opcode out of range: 3004h

Address: 0000DAC6h

 

WTF!!!

 

PLEASE HELP!

I used to get that message i can't remember how i solved it try using a fresh download of SA:MB and a fresh install of SA. If that doesnt work then im out of ideas.

Its caused by having an out of date ini with your builder, you can get the latest builder (and ini) somewhere, can't remember where (useful) but I know Craig and Dem both host a copy, I should too really.

Link to comment
Share on other sites

  • 2 months later...

Hy guys i have a problem with gta san andreas mission builder...i have puted in speedmeter in and when i want to open main.scm and put another mod, the mod speedmeter it isn't anymore... WHY...??? please help me...

Link to comment
Share on other sites

Hy guys i have a problem with gta san andreas mission builder...i have puted in speedmeter in and when i want to open main.scm and put another mod, the mod speedmeter it isn't anymore... WHY...??? please help me...

Why did you post this in a tutorial? This tutorial isn't a Troubleshooting topic.

 

As far as i'm aware the only Speedometer mods aren't scm mods they are DirectX Hooks contained within a .dll file. You copy and paste the .dll file into your game directory to use it.

user posted image
user posted image
R.I.P. Chi Shingi Meiyo

 

21/09/2005 - 07/03/2007

Andolini Mafia Family

 

16/08/2008 - Current

Link to comment
Share on other sites

 

Hy guys i have a problem with gta san andreas mission builder...i have puted in speedmeter in and when i want to open main.scm and put another mod, the mod speedmeter it isn't anymore... WHY...??? please help me...

yeh, it happens to me, it renames itself to be something else, mostly the script before with another number on it confused.gif

 

Also, i lost SAMB, can u send a new link, that one has died

 

EDIT: its a bug, doesnt like links from external webs, go here http://yetigamemods.sphosting.com/gta/tools and click SAMB

Edited by ARMax
Link to comment
Share on other sites

Also, i lost SAMB, can u send a new link, that one has died

 

EDIT: its a bug, doesnt like links from external webs, go here http://yetigamemods.sphosting.com/gta/tools and click SAMB

It's a problem with my host, it doesn't like clicks you can get it by right clicking the link and clicking Save Target As or Save Link As.

 

I'll be switching hosts soon so that problem should be sorted out then.

user posted image
user posted image
R.I.P. Chi Shingi Meiyo

 

21/09/2005 - 07/03/2007

Andolini Mafia Family

 

16/08/2008 - Current

Link to comment
Share on other sites

  • 5 months later...
  • 1 year later...
Wait,if you edit the main.scm wouldint you have to start a new game.Even when you load a existing game?
Link to comment
Share on other sites

Wait,if you edit the main.scm wouldint you have to start a new game.Even when you load a existing game?

Yeah.

Yl8KS.jpg
Link to comment
Share on other sites

  • 1 month later...
  • 4 weeks later...

Help! Followed all step by step and decided to add the bribe right in front of CJ where he spawns when starting a new game. When starting a new game, the game crashes to desktop after running for about half a second(enough to see that the bribe IS in place). Any1 tell me what could I have done wrong? suicidal.gif

Link to comment
Share on other sites

  • 4 months later...
[MenaceMovies]

Hi,

 

I encountered some problems when using Sanny Builder 3 to compile the main.txt file.

 

"Not enough actual parameters, expected 6 params."

 

Here's my code.

 

 

$mybribel = Pickup.Create(#BRIBE, 15, 422.7573, 422.7573, 422.7573)

 

 

Help would be greatly appretiated, thanks.

 

EDIT: I fixed it, I forgot to add the 15 before my coordinates tounge2.gif

 

 


 

EDIT: Another problem now. The pickup doesn't appear. The coordinates are correct because when I teleport to them (via Place manager) they work correctly. Just the pickup doesn't appear. Does any one know the reason for this?

Edited by [MenaceMovies]
Link to comment
Share on other sites

  • 1 month later...

I was wondering, could anyone post a list of objects that can be placed with this code.

I don't want to add more bribes suicidal.gif

Link to comment
Share on other sites

I've been asking alot lately but im no good at modding!!! >.<

 

Anyway I compiled my newest mod and it showed up with no problems... BUT after it compiled it said something about there not being enough memory...

 

 

error...

 

Memory beyond the defined range has been accessed. Use

 

DEFINE MEMORY 47249

 

or higher to allocate enough memore. Then recompile

--- Then after it says success...

 

I believe this would mean that the thing wouldn't of compiled properly and missed out some things? It came up with the message during the 'Jumps' or something process...

 

So how do I allocate enough memory? Do I have to edit a file? And If so, which one and where in the file do I put this 'DEFINE MEMORY 47259' (Or higher)?

 

Big thanks to anyone who helps... Im creating something good...

 

 

 

UPDATE: Figured It""" cool.gif

Edited by Deji
Link to comment
Share on other sites

' date='Mar 19 2008, 16:10'] Hi,

 

I encountered some problems when using Sanny Builder 3 to compile the main.txt file.

 

"Not enough actual parameters, expected 6 params."

 

Here's my code.

 

 

$mybribel = Pickup.Create(#BRIBE, 15, 422.7573, 422.7573, 422.7573)

 

 

Help would be greatly appretiated, thanks.

 

EDIT: I fixed it, I forgot to add the 15 before my coordinates tounge2.gif

 

 


 

EDIT: Another problem now. The pickup doesn't appear. The coordinates are correct because when I teleport to them (via Place manager) they work correctly. Just the pickup doesn't appear. Does any one know the reason for this?

That code is 100% wrong... (Well, more like 60% wrong...)

 

EXAMPLE OF WORKING CODE:

 

 

0213: $NAME = create_pickup #BRIBE type  15 at  2442.840  -1720.8540  13.770340

 

 

Just change the co ords and name per code... Hope this helps!

Link to comment
Share on other sites

  • 3 weeks later...
PreciousWall

i use this code and its working tounge2.gif

 

 

0213: $3395 = create_pickup #BRIBE type  15 at  2510.345 -1687.322 13.57044

 

user posted image

Edited by darkdude
Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
  • 1 User Currently Viewing
    0 members, 0 Anonymous, 1 Guest

×
×
  • Create New...

Important Information

By using GTAForums.com, you agree to our Terms of Use and Privacy Policy.