Ben "Cerbera" Millard Updated: 5th September 2004 This file contains the vehicle model numbers so that you can (hopefully reliably) use cars in any level. It also contains the most elemental of FUTURECAR related codeing. If you feel you know it all take a look anyway you see some intriguing use of a parameter you didn't think did anything. The GTA mission code vocabulary is vast, and its usage basically infinite. As such I intend to provide exhaustive tutorials only to the most basic methods of using the basic objects (cars, peds, doors etc.) and the basic commands (STEAL, REMAP, OPEN etc.) which are requred for the basic code. What I hope to achieve is to show you all the simpliest intracacies for you to expand upon and create imaginative, professional code - particularly the profesional side, as we create levels and code to provide alternatives to the original game code, and so it should be just as bullet-proof. Mine is glichable, but not crashable. I feel that is the least that can be asked of a coder, and as such the tone for these guides will be less than jouvial, but hopefully informative, intuitive and inspiring! Syntax for objects ------------------ 200 1 (200,200,2) OBJECT 41 512 CUBE CO-ORDS^ OBJECT^ ^FACING TYPE ANGLE Syntax for commands ------------------- 2000 COMMAND 200 2001 2000 -1 1000 CONTROL^ TRUE^ ^FALSE ^WAIT ^POINTS OBJECT LINE LINE TIME GAINED The first thing you need to know is above. It's fairly simple, but there are variations for the object lines, such as with DOORS and specialist triggers i.e. CARDESTROY_TRIG, CARSTUCK_TRIG etc used normally for when you have a car to hijack or destroy. These triggers have their co-ord set as (0,0,0) and will follow the vehicle specified in their syntax. The commands are basically the same, but the WAIT TIME value is sometimes used as a second object, such as the LOCATE command. This command will prove true when the first object encounters the second. Angle ----- 0 South 128 South-East 256 East 384 North-East 512 North 670 North-West 768 West 896 South-West 1024 South (again) Model Guide ----------- Liberty City: 00 Viper GTS 01 VW Beetle 02 Countash 03 Harley 04 Police Car 05 Ambulance 06 Land Rover 07 [not featured] 09 Bus 12 Train 13 Boat 14 Porsche Roadster 19 Jeep 21 Ford Mustang 22 Taxi 25 Chevy Impala 26 Jugular 27 Ford F-100 28 Porsche Turbo 31 Bulldog 34 Dodge Challenger 35 Cadillac Limosine 37 Tank 41 Superbike 42 Fire Engine 43 School Bus 44 Tanker 45 TV Van 46 Transit Van 47 [Model Car] 50 [not featured] 51 [not featured] 52 [(blue) 00] 54 Mundano 55 [not featured] 58 Plymouth 61 [not featured] 62 [see 14] 63 [not featured] 64 Plymouth Saloon 65 [not featured] 66 [not featured] 70 Buick Regal 72 Ford Thunderbird 74 [not featured] 75 [not featured] 76 Corvette Stingray 77 [not featured] 78 [not featured] 79 [not featured] 80 Morgan 4 81 [not featured] 82 [not featured] 83 [not featured] 86 [not featured] 99 [not researched] San Andreas: 01 VW Beetle 03 Harley 04 Police Car 05 Ambulance 06 Land Rover 07 Juggernaut 09 Bus 12 Tram 13 Boat 19 Jeep 22 Taxi 31 Bulldog 35 Yakuza Limo 37 Tank 41 Superbike 42 Fire Engine 43 Jesus Bus 44 Tanker 45 TV Van 46 Transit Van 47 [Model Car] 50 Roadster 51 Hippie Combi 53 Viper GTS 54 Mundano 55 Viper RT/10 58 Plymouth 61 Speeder 62 Porsche Roadster 63 Custom '57 64 Plymouth Saloon 65 Chevy Pickup 66 Ferrari GTO 70 Buick Regal 71 Custom Beetle 73 [not featured] 74 Porsche Carrera 76 Corvette Stingray 79 Camaro Z28 86 Cadillac Limosine 99 A.P.C. Vice City: (Check VC-One vehicles list.) FUTURECAR missions ------------------ This section shows how car code is (VERY) basically used. The below code assumes you have the below line in the same section as the PLAYER statement. Type the commands after the -1 after the PLAYER line, once the STARTUP section is initiated by a TRIGGER. 2002 (200,200,2) FUTURECAR 41 512 CUBE CO-ORDS ^ VEHICLE^ ^CAR TYPE ANGLE Cheering on entry ----------------- 100 STEAL 2002 0 100 -1 1000 VEHICLE LINE^ WAIT^ ^CARJACKING TIME BONUS This is the line to use when you want hte cheering when the PLAYER steals a specific car. The 100 is in the 'FALSE' position, meaning that if the car is not yet stolen it should go to line 100, which has the effect of testing again. The -1 in the 'SPECIAL' position shows to wait forever. If this is was set to 30, it would keep testing 30 times then skip to the next line. When th PLAYER enters the car, the 0 in the 'TRUE' position indicates that no special line is to be jumped to, and so the command processor falls through to the next line. By using a 0 in place of the -1 a single test is made. Advanced uses ------------- 100 STEAL 2002 200 100 30 1000 102 MOBILE_BRIEF 0 0 0 0 1000 [FAILED MISSION CODE] 110 DONOWT 0 -1 -1 0 0 200 MOBILE_BRIEF 0 0 0 0 1001 [ACCEPTED MISSION CODE] 210 DONOWT 0 -1 -1 0 0 Here the PLAYER is required to steal the car within 30 frames which is about one second. If he does, command jumps to 200 (as 200 is in the 'TRUE' position) where a positive phone call indicates what he is to do with the car. If the PLAYER fails to steal the car, command falls to 102 where a negative call is shown and mission failed code occurs. Checking for destruction ------------------------ 100 DESTROY 2002 0 0 -1 0 VEHICLE LINE^ WAIT^ ^REWARD TIME BONUS If you wish for a car NOT to be destroyed the above line is preffered. If it is to be destroyed the 100 should be placed in the 'TRUE' section and 0 in the 'FALSE' position. This line is conventionally KICKSTARTED before the 'STEAL' line, and then KILLED at the end of the mission, or is set off by the car being destroyed, as is demonstrated later. Another way is to use a CARDESTROY_TRIG object, but that is only required in complicated scenarios. Both are used in my mission code, and once you have become familiar with what actually happens in the mission (GOOD IDEA: Pause the game and WRITE what is happening!!) you can begin learning to 'read' the mission code as I can.