Streamed Script

From GTAMods Wiki
Revision as of 22:51, 23 December 2008 by Seemann (talk | contribs) (How 2.0)
Jump to navigation Jump to search

An external script is a script file used only in San Andreas that is outside the main script file, the main.scm. An external script is a compiled binary file having an extension .scm. It contains the opcodes which are parsed by the game in the same way as the ones located at the main.scm. The difference from an ordinary SCM file is that an external script has no header. All the info about it is compiled at the main.scm header.
External scripts are located in the script.img file in the data/script folder. The file is usually decompiled along with the main.scm. The maximum number of external scripts that can be defined is 82. The maximum number of external scripts that can be used simultaneously is 70. The game currently has 78 defined external scripts.

How 2.0

In order to add more external script files, you have to define the number of files you are going to use:
DEFINE EXTERNAL_SCRIPTS 78
Add the external script to the list with this:
DEFINE SCRIPT NAME AT LABEL
At the end of the file add your code in.

Opcodes

You can use the following opcodes to do stuff to your script file.
07D3 - I don't know how this work
0884 - Or this
08A9 - Loads the external script
08AB - Checks if the external script has been loaded
08E8 - Assigns an external script to a ped's model
090F - Ends the external script (doesn't seem to work)
0910 - Releases an external script from the memory (not tested!)
0913 - Runs the external script after it has been loaded
0914 - No operation in PC and XBox versions
091C - Gets an actor within a sphere of the object using an external script
0926 - Gets the status of the external script, 0 if not loaded
0928 - Activates the external script when near the ped's model
0929 - Activates the external script when near the object's model

List of Scripts

The following is a list of external scripts that is used in the game.

Number Name Description
0 PLAYER_PARACHUTE Controls the player's parachute
1 PARACHUTE Controls the AI's parachute
2 BCESAR2 Smoke's money from Los Santos to San Fierro
3 BCESAR3 Smoke's yay from San Fierro to Los Santos
4 SLOT_MACHINE Slot machine
5 ROULETTE Roulette
6 OTB_SCRIPT Off track betting machine
7 ARCADE Arcade game mission checker (not the game itself)
8 VENDING_MACHINE Vending machines (both food and drinks)
9 FOOD_VENDOR Food vendors
10 GATES_SCRIPT Airport gates
11 GYMBIKE Bike
12 GYMBENCH Bench
13 GYMTREAD Treadmill
14 GYMDUMB Dumbell
15 BASKETB Basketball
16 VIDPOK Video poker machine
17 BLACKJ Blackjack
18 WHEELO Wheel of Fortune
19 DEALER Drug dealer
20 HOME_BRAINS Hobo's AI
21 POOL_SCRIPT Pool
22 LOWR_CONT Lowrider contest
23 BURG_BRAINS Burglary's ped AI
24 GF_MEETING Girlfriend meeting
25 GF_DATE Girlfriend date
26 GF_SEX Girlfriend sex
27 CASINO_AMBIENCE Casino ambience
28 BAR_AMBIENCE Bar ambience
29 FOODBRAINS Restaurant's ped AI
30 OTB_AMBIENCE Off track betting ambience
31 STRIP_AMBIENCE Strip club ambience
32 PLANES Airline traveling
33 TRAINS Being a passenger in the train
34 ZERO_AMBIENCE Zero's RC Shop ambience
35 DANCE DDR
36 SHOPKEEPER Restaurant shopkeeper AI
37 CUSTOMER_PANIC Ped's panic AI
38 BAR_STAFF Bartender AI
39 BOUNCER Bouncer AI
40 OTB_STAFF OTB staff AI
41 PCHAIR Restaurant ped in chair AI
42 PCUSTOM Restaurant ped not in chair AI
43 OTBWTCH OTB ped AI
44 OTBSLP Ped betting OTB AI
45 OTBTILL Ped walking around OTB AI
46 FBOOTHR Ped eating food AI
47 FBOOTHL Ped eating food AI
48 BARGUY Barman AI
49 PEDROUL Roulette gamer AI
50 PEDCARD Card gamer AI
51 PEDSLOT Slot-machine gamer AI
52 DANCER Club dancer AI
53 STRIPW Strip dancing female
54 STRIPM Strip dancing male
55 BROWSE Inside police HQ cop browsing folder or locker
56 COPSIT Office workers sitting in offices (Planning Department)
57 COPLOOK Inside police HQ cop looking at posters
58 TICKET Train ticket machine AI
59 SHOPPER Ped shopping AI
60 AMMU Ammunation
61 TATTOO Tattoo
62 BARBER Barber
63 WARDROBE Player's wardrobe
64 CLOTHES Clothes
65 JUNKFUD Food selection
66 CARMOD1 Mod garage
67 CRANE1 San Fierro and Las Venturas construction site cranes
68 CRANE2 IE ship crane
69 CRANE3 Quarry crane
70 CARPARK1 Random car for carpark generators
71 IMPOUND Impound lots
72 VALET Valet
73 PHOTO Suicide photographer
74 PRISONR Prisoner AI
75 CAMERA Homie's camera holding AI
76 DEBT Casino debt
77 HOTDOG Hotdog van

Problems

There is one main problem with external scripts: the script doesn't work if you save while the script is running. If you reload the game, the external script will be disabled. You have to force the script to end before saving to prevent this from happening.