SCM Coding FAQ
Frequently Asked QuestionsGeneralI want to learn coding, what do I have to do?
First notice that you don't learn coding within 24 hours, you have to put time and effort in it. There are several tutorials which can help you learning coding, best tutorial is the Coding Bible (Part I
and Part II
).I want to make my own missions, how can I do that?
If you want to do it by coding, so not using other mods (like Design Your Own Mission
), you can try this tutorial
.Who wants to code my ideas?
First, there is a thread for this kind of topics. You can find it here
. But don't have high hopes, because most likely your idea won't be coded, because it takes a lot of time to make a scm script. When you desperately want something to be coded, I advise you to learn coding yourself.What is CLEO?
CLEO contains several things:
More about CLEOCLEO TutorialI want to have two .scm mods at the same time!
- Custom scripts: with these scripts the user doesn't have to start new game.
- New opcodes
Most likely, this is not easy. You can use them seperate by using MPACK
. More then one CLEO-script is possible, but only if they don't have a conflict.Which software do I need to edit the main.scm?
There are two major programs for this: SannyBuilder
and Mission Builder
. Can I use SCM coding for GTA IV modding?
No, it is a different language. However, you can use the knowledge of scm, because the III-era opcodes look a lot like the functions in IV scripting.
No, but you CAN use the knowledge of how mission scripts are put together and what most of the opcodes do (save a few extra parameters here and there) to help in creating scripts for IVSannyBuilder errorsI'm getting an error in SannyBuilder: not enough actual parameters!
There are too few parameters in this opcode. Look at an example of the opcode, so you can compare it. Also check if there nee to be commas or not, this is a common mistake. For example:
|0100: actor $PLAYER_ACTOR in_sphere 1793.068, -1904.254, 12.3989 radius 4.0 4.0 4.0 sphere 1 in_car |
This is wrong, because the commas should not be in there.Compiler error: "Label 'loop' redeclared."
This means that you are jumping to a label whose name is twice used in the code. Compiler error: "Incorrect number of conditions, 9 max".
Most likely you will have a loop which contains only one condition, but you said "if or". For example:
I have another error, what do I have to do?
8248: not model #NRG500 available
Use the SannyBuilder explanations: select help when you get the error.AnimationIngame errorsThe game freezes, I can't do anything with my PC!
This is a very frequent bug: you forgot a wait somewhere in your code. Any loop in your code should at least 1 wait opcode. I will advise you to play SA in a window, then you can stop it with CTRL-ALT-DELETE.
Another solution is to run this program: http://tjbp.net/upload/GTA_SA_Killer.zip
. Simply press F7 and gta_sa.exe is killed.Help! My game crashes!
Sadlye, there isn't a clear answer for this, but you can do something. First, you have to see when it crashes. When the game starts? When there is a condition true? This way you can exclude parts of the code, so looking for the mistake will be easier. Then, when you know which part causes the crash, you have to eliminate possible wrong opcodes. Just put // before it, and test again. If the game doesn't crash, you know which opcode contains the fault. Then you have to find out what is wrong about this opcode. There is also an CLEO add-on (SCMLOG.cleo), which logs the opcodes, so you can see which opcode was the last one before the crash.
When you don't find the problem, you can post it this forum. Be sure you are doing the following things:
1. Make a topictitle which refer to your problem.
2. Describe what the fault is.
3. Post your code, and mark which code is causing the problem. Otherwise people aren't willing to check your code.
4. Add scmlog.log to the post.
5. Give all possible information about the script/problem.Nothing happens ingame!
This surely is too little information. This could happen when you forgot to compile, this can also happen because your code is stuck in a loop, due to some coding mistake.CodingI can't find an opcode...
Use the opcode search tool (Tools > Ide tools > Opcode search or CTRL+ALT+2), or typ a word/opcode in SannyBuilder and press (repeatedly) F1.What is the difference between Player_Char and player_Actor?
$Player_Char: Used with opcodes that you can only use for the player (like 0109: player $PLAYER_CHAR money += 1000000)
$Player_Actor: Used with opcodes that you can use for all actors (like 00A1: put_actor $PLAYER_ACTOR at 345.5621 306.2212 998.4484)Is there a difference between editing the main.scm of SA and VC?
Yes there are many things added in SA, like external scripts and some opcodes and constructs.Where can I find the object ID's?
You can use Mapviewer
If you know the model name, you can find the object by using CTRL+ALT+H in SannyBuilder. You can also take a look at this site Where can I find the model-names of pedestrians, weapons and vehicles?
For pedestrians you can use Ped Editor
. For pictures of all peds you can look here
For Vice City you can look here
For weapons you can look in the help-files of SannyBuilder (SCM Documentation > GTA SA > Weapon Numbers).
For vehicles you can open vehicles.ide, located in the data folder (Program Files\Rockstar Games\GTA San Andreas\Data), or take a look at this site
. It is also possible to use this tool
.Why isn't my FXT text showing up?
Either you named it too long or you could have had two spaces between the second part of the line instead of one or you have a space at the endGXT editor to edit american.gxt
I use Hammers SAgxtEditor. Version 1.3 was the latest and cant be found on famous download pages. Its still available at thegtaplace
All gxt name entries are numbers by default. It needs to inject an ini-file to inject the entrynames. Hammer posted one but its disappeared. Get the ini here: http://zazmahall.de/ZAZGTASANATORIUM/zazmo...merican_ini.zip
Then click on search icon (field glas) and choose "String List Match", a window opens. click on Open, change in open screen the file extension to "ALL FILES *.*" Open then american.ini, confirm with OK. But it injects not all, only the half. But you can also inject it manual. Maybe you found IE10 in main.scm. Sso use search function(click on field glasses) of gxtEditor and search for IE10. You will find the injected entry and the text for displaying also.
Note: there are 2 different search functions:
"Find Name" means: search for exact entry of main.scm or exe like fem_ok
"Find Value" means: search for any word of the text
Important: if you have changed text so click first on an other entry before you save the file
In addition there was made a complete translation of american.gxt as textfile from AleX AciD.
Dont know where it can be downloadable
I uploade it at rapidshare:http://rapidshare.com/files/198843515/Kopi...A_text.txt.html
GXT texts for all supported games can be found in the Sanny Builder\help\GXT Strings folder. How can I get coord ingame?
You can use this tool
or the coords tool in Sanny Builder.How can I change the keys used in a mod?
Take a look at this topic
(written by James227uk
)Game crashes when opening gta_sa.exe
This is related to your EXE being incompatible. Download this EXE:http://public.sannybuilder.com/gtasa_exe_idb/compact.rar
Password to archive is CVehicle
(Note: C and V MUST be in caps)Game crashes on loading bar
One of your scripts is not working when the game loads. Try deleting the script you most recently added. If it still crashes remove all your scripts and try the game. If it still crashes it's not the scripts that's the problem. You've modded another file and that is causing the crash. If it doesn't crash now, try adding each of your scripts back one by one. When the game crashes, remove the script you just added.Game crashes when pressing appropriate key
The script you have added is causing the crash. Something is wrong with the script code after the keypress. Consider telling the script author in the topic or by PM if possible.Game crashes when in an area
There are 2 reasons for this. Either something is wrong with the script, or there is something sort of conflict between this script and another. Try removing all but this script and see if it still crashes. If it doesn't, there is a conflict. If it does consider writing to the mod authorCorrections and additions are appreciated.Thanks to:
Last update: This post has been edited by Dutchy3010 on Monday, Aug 24 2009, 15:52