:
Destination Time
:
Present Time
:
Last Time Departed
peter

K.A.T.T Mod update thread

Recommended Posts

Ok guys this is a dedicated thread for updates on my K.A.T.T edit for San andreas

Have fun everyone and when it gets to a stage of an actual release I will ask permission to release

I will not put a download link without permission from the people I got the scripts from

I of course edited scripts and a texture to make K.A.T.T

I reworked the texture

I made a custom voice for K.A.T.T

as of now K.A.T.T has almost no weapons

now what does K.A.T.T feature?

A garage to make DeLorean time machines

Flying mode

Nuclear bomb

Time circuits

Pursuit mode ( makes him go really fast)

Turbo boost ( makes him jump high)

A voice

A re-fillable Mr fusion

Night vision

it also features the bttf 1 and III and Railroad DeLorean along with the time train

Rogers locamotive to push the railroad Delorean

Custom texture

so here we go for today then hmm

26/03/2014

http://www.youtube.com/watch?v=88wgz0q5Hdw

Fixed the time machines so they time travel

added time train and rogers locamotive

added garage

scripts and edits by myself, Delorean88MP and BTTFModMachine

Texture re edit by me

K.A.T.T voice by me

I forgot who I got the Crysis DeLoreans from

* edit*

I am cutting out SPM mode altogether it is just too much hassle to make a model then figure out how to texture it

***** UPDATE 02/04/2014*****

https://www.youtube.com/watch?v=6qMu6SbAXlo&feature=youtu.be

( Video is only a preview)

New texture for K.A.T.T

Movie accurate effects

Movie accurate flying ( Thanks uokka)

Now includes ALL DeLoreans 1-3rr

K.I.T.T scanner for K.A.T.T

more to come...any help is appreciated and you will be credited

**** UPDATE 02/07/2014****

https://www.youtube.com/watch?v=iMmxDbLZrdQ

Time circuits AND time travel enabled for the time train

Doctor who TARDIS sfx for teleport to marker script

note : can someone help me with the sound problem for the time train thanks

****UPDATE 04/07/2014****

https://www.youtube.com/watch?v=9n6oOlEh4Hs

You can now spawn all the DeLoreans using the numberline ranging from 1 - 6, number 1 - 4 are for the movie DeLoreans

5 is for the time train and 6 is for KATT

All DeLoreans minus the RR DeLorean can time travel at 88 MPH

Time Train sounds fixed (sorta) the door sounds are still DeLorean but sparks sounds do not loop like last time thanks to BTTFModMachine for the help on that one

Teleport to marker with TARDIS sfx mapped only to KATT

something I forgot to mention is that the boost sounds and the take off sounds are way too low for some reason

all Time circuits in this has a multi function mode where you can fly (cheat code version) and float on water (cheat code version)

I won't be able to use it till the time circuits are fixed and don't crash when I press 0 on the num pad...it activates an old script and tries to turn any Del into the sparrow

if someone wants to help feel free to edit the script...just ask for it

**** UPDATE 12/07/2014****

https://www.youtube.com/watch?v=EaLnSfpLVII

New sparks for K.A.T.T

Fixed the 0 on the num pad glitch ( thanks to uokka)

Added 2nd flying mode for K.A.T.T

Added float on water

added fly and float on water as an all in one option

Fixed the TARDIS (optional thing)

removed night vision mode (it was a weird thing)

thanks to DeLorean88mp, uokka, BTTFModMachine and everyone who helped with this

**** UDATE 23/07/2014****

https://www.youtube.com/watch?v=gG9ikH7O5kU&feature=youtu.be

Removed secondary flight and swimming modes

Applied patch so cars do not float away when hit

Fixed SFX for pursuit mode and turbo boost

bugs with certain sound SFX

Each DeLorean used by a different character

**** UDATE 29/07/2014****

https://www.youtube.com/watch?v=8ceyOi1KrCs

New sparks and implosion wormhole for K.A.T.T ( More orange over blue)

New wormhole Exit, yellow, blue then yellow

updated the sparks and effects on bttf 3 delorean

off topic stuff

TARDIS now materialises in front of player

TARIDS can teleport to the marker on the map

TARDIS can teleport randomly to any location and time

gives out sonic screw driver on entry

proper sfx for TARDIS in flight

TARDIS thrusts forward at max speed with the push of the left mouse button

**** UPDATE 6/08/2014****

https://www.youtube.com/watch?v=gt47EPa_7Jo

Gave K.A.T.T a colour changing wormhole

merged K.A.T.T with Delorean88mp's mod pack

added uokka's flying script

all of this came from a failure yesterday so I'm happy its all working

**** UDATE 11/08/2014****

https://www.youtube.com/watch?v=6wbBc2Q2rwI&feature=youtu.be

ok to start your mondays off here is a little K.A.T.T update :3
whats in it this time?

K.I.T.T
K.A.R.R
Telltale bttf 2 delorean
green wormhole (without editing the effects.fxp) unforunatly its for all Deloreans that use a wormhole implosion

the white boxes when you turn on KITT's scanner needs some work

KARR's version needs work too

Thanks to BTTF KR mode team for KITT and KARR...

I can't figure out how to make their buttons appear on screen :(

also if anyone from that modding team reads this please do fix the amazing lag in the game please <3

its a great mod pack but a lot of bugs

**** UPDATE 16/08/2014****

https://www.youtube.com/watch?v=h-gS0uR8S88

New wormholes for Deloreans 1 through RR

Green wormhole for K.A.T.T

More interface stuff for K.I.T.T

A little bit of interface stuff for K.A.R.R

K.I.T.T and K.A.R.R have protect mode so they will follow you and can be activated at the same time ( by getting into each car and activating it )

BTTF1 delorean has white smoke pass by after entering the worm hole

All DeLoreans including K.A.T.T has their engine turned off after time travel ( it is turned on again by holding down i )

**** UPDATE 19/08/2014****

https://www.youtube.com/watch?v=hFLuG--l58Y

Ok this update is coming in late because the site went down :o

A second BTTF3 RR delorean assigned to 1 on the number line
Programists train script ported to K.A.T.T mod pack

There are a few bugs in this like the trains new model not actually touching the RR del
in the mini mission the RR del doesn't always time travel at 88MPH
and when marty says 70 its not synched up with the spedonetre ( might be because I am using delorean88mp's spedometer

**** UPDATE 02/09/2014****

https://www.youtube.com/watch?v=Ei8_ivaqDDk

Hoverboard (script by puma and model by someone else)
Crysis bttf 1 DeLorean
Iced up DeLorean ( thanks to uokka)
Lybians and new plutonium location
Docs garage and house by loadgamePL
New smoke effect when you cutscene timetravel via bttf 1 delorean

**** UPDATE 07/09/2014****

https://www.youtube.com/watch?v=NGNXgPGECyc

I've got a lot planned for you in this episode now whats in this episode?

keep in mind I broke the game so I had to re-build...not bad eh?


Dell KARR

New dmc 12 delorean from forza motorsport 3 with the engine sounds from the delorean in Gran turismo on the psp

New spawn options for:
K.A.T.T
BTTF1 delorean
BTTF2 delorean

just ignore the sound glitches it happens

KATT and KARR both have scanners ( KATT's one is a mistake so he has 2 scanners)

BTTF1 delorean stays cold for much longer like in the movie

the other deloreans minus the BTTF1 delorean have their cold.s files restored to what they were before

**** UDATE 28/09/2014****

https://www.youtube.com/watch?v=8ZjIyBVGvQI&feature=youtu.be

sorry its been a while but I took time off to catch up on anime, manga etc etc and my music remixes :3

whats new?

New shade of yellow for K.A.R.R's coils
New Mr fusion chamber for K.A.R.R
Whole new interior for K.A.T.T
New coil colour for K.A.T.T ( two tone black over red)
A slightly re-textured Teltale delorean ( note for BTTFModMachine and uokka and trance it only looks stainless steel in the shadows and away from sunlight)
Removed K.A.T.T's scanner and the same for K.A.R.R

I know there is no implosion for the BTTF2 del but it will get fixed soon enough

I need to re-add the comet RR del spawn code for the train mini mission thing

I removed K.A.T.T's scanner and K.A.R.R's scanner along with their knight rider abilities on the basis it majorly glitched out, you'd press + to turn on the time circuits AND the scanner along with its abilities....yeah...will work on that

**** UPDATE 24/10/2014****

https://www.youtube.com/watch?v=0g7OaEQrAig&feature=youtu.be

Ok so you guys know the site was down which stopped me from updating my mod update thread but I have been handy at work re-building the mod pack on this new pc ;)

A list of new features

K.A.T.T has new coils
K.A.R.R has a new timetravel script ( with new effects)
I introduce the A.I.M car as my test time machine from the A.I.M mod pack
K.A.T.T has his nuclear bomb back
K.A.T.T and K.A.R.R have turbo boost
K.A.R.R has a new set of handling and ide lines
A.I.M and K.A.R.R have bi-directional wheels, when you handbrake the rear wheels turn in the opposite direction of the front wheels

I introduce the crysis BTTF3 and BTTF3 RR deloreans with hoverboards inside them

Doctor who daleks replace the rhino tanks

**** UPDATE 16/11/2014****

https://www.youtube.com/watch?v=vnD8yyx2ing

Hey guys I took a hiatus because I re-built this mod pack again but this time I used modloader as to minimise the bugs.

Thank uokka for the tip ;)

ok so what's new?

I've got a color mod installed so that the red and other colors will shine in the sunlight

There is a guard tower next to the hanger in the airstrip

new sparks for all deloreans using sparks.s

new spark sounds for K.A.T.T.
new spark sounds for the A.I.M test time machine
skin selector is back....yay?

the game would crash instantly as soon as I tried to switch skins but not anymore

turbo boost and its sound is back (it used to be silent and other commands used it for no reason

the TARDIS makes a return

changed K.A.T.T.'s implosion to large explosion

I hope you guys and gals and timelords/time ladies enjoy this

not long till a download O_O should I just rar it all up or make it into a torrent??

**** UPDATE 10/12/2014****

https://www.youtube.com/watch?v=N2_fFteSgUU&feature=youtu.be

added a download link to the mod pack

added tommy lu's updated TARDIS (not included in the pack, an older one is included)

new TARDIS de-materialization sound ( from tommylu's update and then edited by me)

replaced the train script back too delorean88mp's

**** UPDATE 01/01/2015****

https://www.youtube.com/watch?v=KakRQd9jgp0

its an unofficial update but I've ported K.A.T.T over to the A.I.M mod pack

he has a new look, taking over the bttf 1 time machine ( I can't recolour the crysis deloreans properly due to one texture covering a lot of things)

he has all the same stuff as before

but the time travel is much more simplified (from the A.I.M pack) just push a single button and go

dual mini guns that fire

he can hover

he can sort of fly

and I show off tommylu's new TARDIS and stuff

**** UPDATE 08/01/2015****

https://www.youtube.com/watch?v=AqHYYmESVPQ

I mess around with some skins

K.A.T.T has his SPM mode back (with a lovely animation that only adds pieces to the car and does not switch to another model) in the way that I have always wanted.

I fixed all the coils for the BTTF 1 delroean through too RR delorean

when the coils lit up their used to be a solid blue colour inside the coils well I removed that so the coils only glow in all the time machines

I re-textured san andreas, new map etc etc

added an updated version of tommylu's TARDIS into my pack with k9, psychic paper etc

also if you download tommylu's current doctor who pack make sure to put it into a clean install and update cleo, I can't use all of the features due to me running cleo 4.1.3.3.30F

anyways I think thats it, please enjoy

****UPDATE 13/02/2015****

https://www.youtube.com/watch?v=DH_rJU8embM

its been a while cuz I've been ill.....I hate being ill

I've brought back programmists code for KITT and KARR and I will not distribute it either -_-

I've re-named the deloreans in docs garage

I've added text to the blank selection boxes when spawning in K.A.T.T and Delo K.A.R.R

I think thats it

have fun

****UPDATE 22/06/2015****

https://www.youtube.com/watch?v=LOrShaJo3zc

ok I've been away for too long..... but I'm back

I've made a version of deloK.A.R.R based off his season 3 build

both deloK.A.R.R's have time circuits and abilities

removed SPM from K.A.T.T

Edited by peter
  • Like 1

Share this post


Link to post
Share on other sites

That train 'tryes' to fly with my hover scripts but boost & un-flip scripts seem to be missing / inactive. Only the liftoff scritp works.

(In case you wanna use my stuff; feel free to do so - no need to ask)

I guess you have some of LoadgamePL's stuff and maybe also his Crysis DeLo model edits.

I'll watch the rest later.

Share this post


Link to post
Share on other sites

I actually have no idea about the time train...I looked high and low for it and found it on a russian website, it is pretty much you're scripts for it, there is no time circuits for it, you cannot get out of hover mode and you can't properly fly forward

Share this post


Link to post
Share on other sites

Very nice!

That RC script always gave me trouble. :P

I have working time train hover scripts and a garage spawn script for the time train.

I also have a script that fixes the floating away cars in years greater than 2010, if you're interested.

I don't think those are LoadGamePL's crysis deloreans. I have them. The Mr. Fusion on those is completely whited out in color.

Share this post


Link to post
Share on other sites

why thank you, errm there is no time circuits for the time train so I'd need to get a hold of some, and the hover script for the time train would be great thanks, so you know the time train is for the coach :P

took ages to get rogers locamotive and time train because I had to sign up for the russian website :(

Share this post


Link to post
Share on other sites

In case you want to disable the cheat that makes cars fly away when hit, see this thread:

http://www.bttfhillvalley.co.uk/forum/index.php?showtopic=4189#entry80891

Oh, @4:20 in the second video.. you spawn another delorean which is nearly impossible to control (steering). That's a bug in my hover scripts (caused by destroying the other del before). Workaround is to activate, and then just deactivate hover mode.

Share this post


Link to post
Share on other sites

the cars floating away is pretty funny also the buggy cars are just weird but what ev....so whats your take on the new K.A.T.T?

Share this post


Link to post
Share on other sites

Great job with the KATT mod update!

I was thinking of making my own Knight Industries vehicle, but I couldn't figure out what voice to use for it. :P

Share this post


Link to post
Share on other sites

I actually made my own voice for K.A.T.T then used the voice script from K.I.T.T to get it going

Share this post


Link to post
Share on other sites

I had to watch the vid without sound - effects look good. q:

When I was about to post this some hours ago, my PC crashed. I think it's goinig to die.

Share this post


Link to post
Share on other sites

well my pc stopped telling the right time...yeah....effects are movie accurate from what I believe...also I need a hand with the flying stuff...or more to the point of a model for bttf 2 flying delorean but like the crysis delorean....I want the old flying stuff from the mini mod for the normal del's and your flying script uokka for K.A.T.T

Share this post


Link to post
Share on other sites

This could be tricky because, in order for all scripts (both original or my edited) to work together, global CLEO variables are used.

You would have to change the original scripts to check for vehicle models, where it currently only checks the global CLEO variable that holds the currently driven time machine.

Typing it out, it doesn't sound too tricky, actually. But I'm more like guessing.

Share this post


Link to post
Share on other sites

I think I may have worded wrong... I need a flying version of the crysis flying DeLorean...both scripts work properly...yours and the ones that came with the mini mod..no hitches its just a model and texture I am looking for :P the effects for the flying del using the mini mod script is accurate :P

Share this post


Link to post
Share on other sites

The flying model for the crysis delorean is just a delorean with no wheels. The flying part is achieved in vehicles.ide by setting the model to "heli" type. The flying crysis delorean in game will have dummy wheels from the 0.2e delorean, which does not look nice and is not accurate to the crysis delorean model (unless you change the animation models in bttf.img and make your own dff's for the dummy wheels). You should use uokka's hover for the crysis delorean.

Share this post


Link to post
Share on other sites

yeah but I'd need an edited model without wheels if someone were to supply the model for it

Share this post


Link to post
Share on other sites

Nice update!

To fix your time train sounds, just load more global audio streams in date.cs.

Like:

0@ = Audiostream.Load("CLEO\AUDIO\REENTRY_TRAIN.MP3")
0AB3: var 935 = 0@

Then, in door.s, use a local variable to link to the global variable.

0AB4: 25@ = var 935 

Finally, use if then statements to tell the game to play the sound only for the train door sound:

:DOOR_756
if
  Car.Id(0@) == #COACH
then
//play when opening model coach door
Audiostream.LinkToCar(25@, 0@)
Audiostream.PerformAction(25@, STOP)
Audiostream.PerformAction(25@, PLAY)
else
//play when opening a door to a model other than coach
Audiostream.LinkToCar(22@, 0@)
Audiostream.PerformAction(22@, STOP)
Audiostream.PerformAction(22@, PLAY)
end //always end if statements

You would have to do this twice for both the left and right doors.

I actually have more than two door sounds in my door.s. One for the train, one for the blue delorean, one for each of the the BTTF1, BTTF2, BTTF3 deloreans, etc. You can add else if statements to include more door sounds for more models.

Share this post


Link to post
Share on other sites

Thats pretty awesome thanks for that :D :D

Now all I need to do is fix my model problem with the TARDIS...its the sea sparrow and when I get into it the game outright crashes

Share this post


Link to post
Share on other sites

Cool!

Your time train time travel sounds seem a little inaccurate. Try using the sounds from 0.2e rather than the ones that came with the train.

You should also use uokka's unflip script. It saved me a lot when using the time train hover.

I'd have to see your script to find out why your sounds are so low in volume.

Also, why do the BTTF1 and BTTF2 deloreans have an orange wormhole? In the movie they had a blue wormhole.

Share this post


Link to post
Share on other sites

Delorean 1 through 3 use the same script along wih KATT....since its the only one I could modify to have those effects that can travel at 88 mph..

also for sound which script would you like? date.cs? also one more thing could you mod my time travel script a little? so that when you press 0 on the numpad it won't try to change the car model then crash the game

Share this post


Link to post
Share on other sites

To "remove" hover mode, mod the BTTF3 time travel script to act like the BTTF2 time travel script. That's what I did. I have the script, along with uokka's telltale wormhole as a download:

UPDATE 8/8/13: uokka's telltale wormhole and edited time_help.cs. http://goo.gl/WnVHDa

Time travel effects start at 80 MPH for this script.

Share this post


Link to post
Share on other sites

hmm ok...the time travel script I use for KATT is the one from the mini mod on this website...I just need it edited so that the cars don't try to go into flight when you push 0 on the num pad

Share this post


Link to post
Share on other sites

just to make things easier for anyone who wants to view it and lend a hand

here is the code I am using...its a modified time travel .s script

// This file was decompiled using SASCM.ini published by Seemann (http://sannybuilder.com/files/SASCM.rar) on 13.10.2007
{$E}

//-------------MAIN---------------
thread 'TIME' 
27@ = 0 
28@ = 0 
29@ = 0 
30@ = 0 
31@ = 0 
33@ = 5000 
0A92: create_custom_thread "DOOR.S" 0@  
if 
   Car.Wrecked(0@)
else_jump @TIME_182 
0085: 29@ = 0@ // (int) 
30@ = Object.Create(18641, 11@, 12@, 13@)
Object.Angle(30@) = 14@
02F7: 15@ = cosine 14@ // (float) 
02F6: 14@ = sine 14@ // (float) 
14@ *= -1.0 
16@ = 0.0 
17@ = 1000 
20@ = -1 
22@ = -1 
gosub @TIME_1333 

:TIME_182
wait 0 
if 
   Player.Defined($PLAYER_CHAR)
else_jump @TIME_576 
if 
   Car.Wrecked(0@)
else_jump @TIME_340 
if 
   Object.Exists(7@)
else_jump @TIME_254 
Object.RemoveReferences(7@)
Object.RemoveReferences(8@)
Object.RemoveReferences(9@)
Object.RemoveReferences(10@)

:TIME_254
if 
   Object.Exists(27@)
else_jump @TIME_275 
Object.Destroy(27@)

:TIME_275
wait 10 
0AB4: 0@ = var 8 
if 
   not Car.Wrecked(0@)
else_jump @TIME_323 
0338: set_car 0@ visibility 1 
gosub @TIME_2871 
jump @TIME_340 

:TIME_323
0AB4: 24@ = var 903 
Audiostream.PerformAction(24@, STOP)
0A93: end_custom_thread 

:TIME_340
Car.SetImmunities(0@, 0, 0, 0, 1, 1)
053F: set_car 0@ tires_vulnerability 0 
if 
   Actor.InCar($PLAYER_ACTOR, 0@)
else_jump @TIME_497 
if 
  31@ == 0 
else_jump @TIME_455 
31@ = 1 
0AB3: var 1 = 1@ 
0AB3: var 3 = 3@ 
0AB3: var 4 = 4@ 
0AB3: var 5 = 5@ 
0AB3: var 6 = 6@ 
0AB3: var 8 = 0@ 
jump @TIME_490 

:TIME_455
0AB4: 1@ = var 1 
0AB4: 3@ = var 3 
0AB4: 4@ = var 4 
0AB4: 5@ = var 5 
0AB4: 6@ = var 6 

:TIME_490
jump @TIME_504 

:TIME_497
31@ = 0 

:TIME_504
if 
  1@ == 1 
  2@ == 2 
else_jump @TIME_536 
gosub @TIME_10620 

:TIME_536
0AB1: call_scm_func @TIME_3172 2 0@ 2@ 2@  
gosub @TIME_3860 
gosub @TIME_3672 
gosub @TIME_583 

:TIME_576
jump @TIME_182 

:TIME_583
if 
  33@ >= 5000 
else_jump @TIME_2221 
if 
  33@ >= 6000 
else_jump @TIME_629 
33@ = 5500 

:TIME_629
02E3: 15@ = car 0@ speed 
if and
  1@ == 1 
  2@ == 2 
  15@ > 39.5 
else_jump @TIME_2221 
0AB3: var 12 = 0 
29@ = 0 
0AB4: 24@ = var 903 
Audiostream.PerformAction(24@, STOP)
if 
   not Model.Available(18641)
else_jump @TIME_721 
Model.Load(18641)

:TIME_721
if 
   Actor.InCar($PLAYER_ACTOR, 0@)
else_jump @TIME_1251 
0AB3: var 0 = 1 
0AB4: 30@ = var 11 
if 
  30@ == 0 
else_jump @TIME_1049 
0AB4: 24@ = var 900 
Audiostream.PerformAction(24@, STOP)
Audiostream.PerformAction(24@, PLAY)
0169: set_fade_color_RGB 255 255 255 
fade 0 0 
03BA: clear_cars_from_cube_cornerA -100000.0 -100000.0 -100000.0 cornerB 100000.0 100000.0 100000.0 
042B: clear_peds_from_cube_cornerA -100000.0 -100000.0 -100000.0 cornerB 100000.0 100000.0 100000.0 
06DB: destroy_all_trains 
0395: clear_area 2 at 11@ 12@ 13@ radius 100000.0 
Player.ClearWantedLevel($PLAYER_CHAR)
0AB3: var 9 = 1 
wait 100 
0085: 5@ = 3@ // (int) 
0085: 6@ = 4@ // (int) 
fade 1 100 
0AB3: var 0 = 0 
066B: 18@ = attach_particle "YELLOWEXPLOSION" to_car 0@ with_offset 0.0 0.0 0.0 flag 1 
064C: make_particle 18@ visible 
064F: remove_references_to_particle 18@ 
064B: 18@ = create_particle "VIOLETRASBROS" at 11@ 12@ 13@ type 1 
064C: make_particle 18@ visible 
064F: remove_references_to_particle 18@
2@ = 1 
29@ = 0 
33@ = 0 
wait 100 
0A92: create_custom_thread "COLD.S" 0@  
0A92: create_custom_thread "VENT.S" 0@  
return 
jump @TIME_1244 

:TIME_1049
0A8D: 2@ = read_memory 11120212 size 1 virtual_protect 0 
0A8C: write_memory 11120212 size 1 value 0 virtual_protect 0 
07CC: set_player $PLAYER_CHAR button_15 0 
03BF: set_player $PLAYER_CHAR ignored_by_everyone 1 
gosub @TIME_2223 
wait 500 
0169: set_fade_color_RGB 0 0 0 
fade 0 750 
wait 750 
0650: destroy_particle 18@ 
0650: destroy_particle 19@ 
03BA: clear_cars_from_cube_cornerA -100000.0 -100000.0 -100000.0 cornerB 100000.0 100000.0 100000.0 
042B: clear_peds_from_cube_cornerA -100000.0 -100000.0 -100000.0 cornerB 100000.0 100000.0 100000.0 
06DB: destroy_all_trains 
0395: clear_area 2 at 11@ 12@ 13@ radius 100000.0 
Player.ClearWantedLevel($PLAYER_CHAR)
0AB3: var 9 = 1 
wait 2000 
fade 1 500 
wait 1000 

:TIME_1244
jump @TIME_1410 

:TIME_1251
gosub @TIME_2223 

:TIME_1258
wait 10 
00BF: 19@ = current_time_hours, 18@ = current_time_minutes 
19@ *= 100 
005A: 19@ += 18@ // (int) 
0AB4: 18@ = var 7 
if and
003C:   3@ == 18@ // (int) 
003C:   4@ == 19@ // (int) 
else_jump @TIME_1326 
jump @TIME_1333 

:TIME_1326
jump @TIME_1258 

:TIME_1333
Model.Load(18631)
Model.Load(18632)
Model.Load(18634)
Model.Load(18635)
Model.Load(29@)
038B: load_requested_models 

:TIME_1360
if 
   Model.Available(18631)
   Model.Available(18632)
   Model.Available(18634)
   Model.Available(18635)
   Model.Available(29@)
else_jump @TIME_1403 
jump @TIME_1410 

:TIME_1403
jump @TIME_1360 

:TIME_1410
0AB4: 24@ = var 0 
if 
  24@ == 1 
else_jump @TIME_1581 
0AB4: 24@ = var 11 
if 
  24@ == 1 
else_jump @TIME_1574 
0AB4: 24@ = var 902 
Audiostream.PerformAction(24@, STOP)
Audiostream.PerformAction(24@, PLAY)
064B: 18@ = create_particle "YELLOWEXPLOSION" at 11@ 12@ 13@ type 1 
064C: make_particle 18@ visible 
064F: remove_references_to_particle 18@ 
064B: 18@ = create_particle "VIOLETRASBROS" at 11@ 12@ 13@ type 1 
064C: make_particle 18@ visible 
064F: remove_references_to_particle 18@ 
wait 750 
064B: 18@ = create_particle "YELLOWEXPLOSION" at 11@ 12@ 13@ type 1 
064C: make_particle 18@ visible 
064F: remove_references_to_particle 18@ 
064B: 18@ = create_particle "VIOLETRASBROS" at 11@ 12@ 13@ type 1 
064C: make_particle 18@ visible 
064F: remove_references_to_particle 18@ 
wait 700 

:TIME_1574
jump @TIME_1695 

:TIME_1581
0AB4: 24@ = var 902 
Audiostream.PerformAction(24@, STOP)
Audiostream.PerformAction(24@, PLAY)
064B: 18@ = create_particle "YELLOWEXPLOSION" at 11@ 12@ 13@ type 1 
064C: make_particle 18@ visible 
064F: remove_references_to_particle 18@ 
064B: 18@ = create_particle "VIOLETRASBROS" at 11@ 12@ 13@ type 1 
064C: make_particle 18@ visible 
064F: remove_references_to_particle 18@ 
wait 750 
064B: 18@ = create_particle "YELLOWEXPLOSION" at 11@ 12@ 13@ type 1 
064C: make_particle 18@ visible 
064F: remove_references_to_particle 18@ 
064B: 18@ = create_particle "VIOLETRASBROS" at 11@ 12@ 13@ type 1 
064C: make_particle 18@ visible 
064F: remove_references_to_particle 18@ 
wait 700 

:TIME_1695
064B: 18@ = create_particle "YELLOWEXPLOSION" at 11@ 12@ 13@ type 1 
064C: make_particle 18@ visible 
064F: remove_references_to_particle 18@ 
064B: 18@ = create_particle "VIOLETRASBROS" at 11@ 12@ 13@ type 1 
064C: make_particle 18@ visible 
064F: remove_references_to_particle 18@ 
if 
   Car.Wrecked(0@)
else_jump @TIME_1839 
0AB4: 24@ = var 8 
0@ = Car.Create(29@, 11@, 12@, 13@)
0A92: create_custom_thread "DOOR.S" 0@  
if 
   Car.Wrecked(24@)
else_jump @TIME_1813 
0AB3: var 8 = 0@ 

:TIME_1813
if 
   Car.Model(0@) == #SPARROW
else_jump @TIME_1839 
gosub @TIME_2871 

:TIME_1839
07C3: get_object 30@ axis_angle_relation_to 20@ 21@ 22@ 23@ 
Object.RemoveReferences(30@)
0684: detach_car 0@ 11@ 12@ 13@ collision_detection 0 
0338: set_car 0@ visibility 1 
099A: set_car 0@ collision_detection 1 
0918: unknown_car 0@ driver_flag 1 
0A1C: set_helicopter 0@ play_engine_sounds 1 
if 
   Actor.InCar($PLAYER_ACTOR, 0@)
else_jump @TIME_1959 
0A8C: write_memory 11120212 size 1 value 2@ virtual_protect 0 
07CC: set_player $PLAYER_CHAR button_15 1 
03BF: set_player $PLAYER_CHAR ignored_by_everyone 0 
jump @TIME_1976 

:TIME_1959
03A2: set_car 0@ action 3 
Car.SetSpeedInstantly(0@, 0.0)

:TIME_1976
Car.PutAt(0@, 11@, 12@, 13@)
07C6: set_car 0@ axis_angle_relation_to 20@ 21@ 22@ 23@ 
07D5: set_car 0@ velocity_in_direction_XYZ 14@ 15@ 16@ rotation_velocitiesXY 0.0 0.0 unk 0.0 
Car.Health(0@) = 17@
if 
   Object.Exists(27@)
else_jump @TIME_2067 
0750: set_object 27@ visibility 1 

:TIME_2067
if 
   Object.Exists(7@)
else_jump @TIME_2111 
0750: set_object 7@ visibility 1 
0750: set_object 8@ visibility 1 
0750: set_object 9@ visibility 1 
0750: set_object 10@ visibility 1 

:TIME_2111
0AB3: var 0 = 0 
Model.Destroy(18631)
Model.Destroy(18632)
Model.Destroy(18634)
Model.Destroy(18635)
Model.Destroy(29@)
2@ = 1 
29@ = 0 
33@ = 0 
wait 100 
0A92: create_custom_thread "COLD.S" 0@  
0A92: create_custom_thread "VENT.S" 0@  
if 
   Car.Model(0@) == #SPARROW
else_jump @TIME_2221 
gosub @TIME_10939 

:TIME_2221
return 

:TIME_2223
   not Model.Available(18641)
else_jump @TIME_2246 
wait 10 
jump @TIME_2223 

:TIME_2246
0085: 5@ = 3@ // (int) 
0085: 6@ = 4@ // (int) 
0407: store_coords_to 11@ 12@ 13@ from_car 0@ with_offset 0.0 0.0 0.0 
07C5: get_car 0@ axis_angle_relation_to 20@ 21@ 22@ 23@ 
06A2: get_car 0@ velocity_in_direction_XYZ 14@ 15@ 16@ 
17@ = Car.Health(0@)
Car.Health(0@) = 1000
29@ = Car.Model(0@)
30@ = Object.Create(18641, 11@, 12@, 13@)
07C4: set_object 30@ axis_angle_relation_to 20@ 21@ 22@ 23@ 
if 
   Actor.InCar($PLAYER_ACTOR, 0@)
else_jump @TIME_2539 
0338: set_car 0@ visibility 0 
099A: set_car 0@ collision_detection 0 
0918: unknown_car 0@ driver_flag 0 
0A1C: set_helicopter 0@ play_engine_sounds 0 
if 
   Object.Exists(27@)
else_jump @TIME_2450 
0750: set_object 27@ visibility 0 

:TIME_2450
if 
   Object.Exists(7@)
else_jump @TIME_2494 
0750: set_object 7@ visibility 0 
0750: set_object 8@ visibility 0 
0750: set_object 9@ visibility 0 
0750: set_object 10@ visibility 0 

:TIME_2494
0939: attach_car 0@ to_object 30@ with_offset 0.0 0.0 0.0 rotation 0.0 0.0 0.0 
jump @TIME_2601 

:TIME_2539
if 
   Object.Exists(27@)
else_jump @TIME_2560 
Object.Destroy(27@)

:TIME_2560
if 
   Object.Exists(7@)
else_jump @TIME_2596 
Object.Destroy(7@)
Object.Destroy(8@)
Object.Destroy(9@)
Object.Destroy(10@)

:TIME_2596
Car.Destroy(0@)

:TIME_2601
14@ /= 50.0 
15@ /= 50.0 
16@ /= 50.0 
0AB4: 24@ = var 901 
Audiostream.PerformAction(24@, STOP)
Audiostream.PerformAction(24@, PLAY)
064B: 18@ = create_particle "IMPLOSION_BTTF3" at 11@ 12@ 13@ type 1 
064C: make_particle 18@ visible 
064F: remove_references_to_particle 18@ 
066D: 18@ = attach_particle "FIRETRAIL_BTTF3" to_object 30@ with_offset -0.98 -1.5 -0.75 flag 0.0 
064C: make_particle 18@ visible 
066D: 19@ = attach_particle "FIRETRAIL_BTTF3" to_object 30@ with_offset 0.98 -1.5 -0.75 flag 0.0 
064C: make_particle 19@ visible 
if 
  29@ == 469 
else_jump @TIME_2824 
wait 750 
0650: destroy_particle 18@ 
0650: destroy_particle 19@ 
wait 2500 
jump @TIME_2829 

:TIME_2824
wait 3250 

:TIME_2829
return 
0085: 2@ = 0@ // (int) 
0072: 2@ /= 1@ // (int) 
006A: 2@ *= 1@ // (int) 
0062: 0@ -= 1@ // (int) 
0AB2: ret 1 0@ 

:TIME_2871
if 
   Car.Model(0@) == #SPARROW
else_jump @TIME_3170 
if 
   Object.Exists(7@)
else_jump @TIME_2926 
Object.Destroy(7@)
Object.Destroy(8@)
Object.Destroy(9@)
Object.Destroy(10@)

:TIME_2926
7@ = Object.Create(18631, 0.0, 0.0, 0.0)
8@ = Object.Create(18632, 0.0, 0.0, 0.0)
9@ = Object.Create(18634, 0.0, 0.0, 0.0)
10@ = Object.Create(18635, 0.0, 0.0, 0.0)
0681: attach_object 7@ to_car 0@ with_offset -1.15 0.0 -0.3 rotation 0.0 0.0 0.0 
0681: attach_object 8@ to_car 0@ with_offset 1.15 0.0 -0.3 rotation 0.0 0.0 0.0 
0681: attach_object 9@ to_car 0@ with_offset -1.15 0.0 -0.3 rotation 0.0 -90.0 0.0 
0681: attach_object 10@ to_car 0@ with_offset 1.15 0.0 -0.3 rotation 0.0 90.0 0.0 

:TIME_3170
return 

:TIME_3172
if 
   not 1@ == 2 
else_jump @TIME_3664 
if 
   not Actor.InCar($PLAYER_ACTOR, 0@)
else_jump @TIME_3617 
1@ = 0 
0407: store_coords_to 2@ 3@ 4@ from_car 0@ with_offset 0.0 -2.5 0.0 
if and
00E1:   player 0 pressed_key 4 
00FF:   actor $PLAYER_ACTOR sphere 0 in_sphere 2@ 3@ 4@ radius 0.75 0.75 2.0 on_foot 
else_jump @TIME_3610 
Player.CanMove($PLAYER_CHAR) = False
5@ = Car.Angle(0@)
05D4: AS_actor $PLAYER_ACTOR rotate_angle 5@ 
wait 250 
Player.CanMove($PLAYER_CHAR) = True
04ED: load_animation "CRIB" 

:TIME_3336
84EE:   not animation "CRIB" loaded 
else_jump @TIME_3362 
wait 10 
jump @TIME_3336 

:TIME_3362
6@ = 0.0 

:TIME_3372
wait 10 
08A6: set_car 0@ componentA 1 rotation_to 6@ 
6@ += 0.2 
  6@ > 1.0 
else_jump @TIME_3372 
0AB4: 20@ = var 907 
wait 250 
0605: actor $PLAYER_ACTOR perform_animation_sequence "CRIB_USE_SWITCH" IFP_file "CRIB" 4.0 loop 1 0 0 0 time 3000 // versionA 
wait 500 
Audiostream.PerformAction(20@, STOP)
Audiostream.PerformAction(20@, PLAY)
wait 1100 
Audiostream.PerformAction(20@, STOP)
Audiostream.PerformAction(20@, PLAY)
wait 1100 
Audiostream.PerformAction(20@, STOP)
Audiostream.PerformAction(20@, PLAY)
wait 300 
04EF: release_animation "CRIB" 
1@ = 2 
6@ = 1.0 

:TIME_3557
wait 10 
08A6: set_car 0@ componentA 1 rotation_to 6@ 
6@ -= 0.2 
  0.0 > 6@ 
else_jump @TIME_3557 
08A6: set_car 0@ componentA 1 rotation_to 0.0 

:TIME_3610
jump @TIME_3664 

:TIME_3617
if 
  1@ == 0 
else_jump @TIME_3664 
0AB4: 20@ = var 906 
Audiostream.PerformAction(20@, STOP)
Audiostream.PerformAction(20@, PLAY)
1@ = 1 

:TIME_3664
0AB2: ret 1 1@ 

:TIME_3672
gosub @TIME_6405 
if 
  33@ >= 5000 
else_jump @TIME_3858 
02E3: 15@ = car 0@ speed 
if and
  15@ > 35.75 
  1@ == 1 
else_jump @TIME_3766 
if 
   not 29@ >= 5 
else_jump @TIME_3759 
29@ += 1 

:TIME_3759
jump @TIME_3791 

:TIME_3766
if 
  29@ > 0 
else_jump @TIME_3791 
29@ -= 1 

:TIME_3791
if 
   Car.Model(0@) == #BULLET
else_jump @TIME_3826 
0AB1: call_scm_func @TIME_8077 2 0@ 29@  

:TIME_3826
gosub @TIME_9482 
0AB1: call_scm_func @TIME_9609 4 0@ 1@ 2@ 28@ 28@  

:TIME_3858
return 

:TIME_3860
if 
  32@ > 1000 
else_jump @TIME_3887 
32@ = 1000 

:TIME_3887
0AB4: 25@ = var 13 
if and
  25@ == 1 
   Player.InRemoteMode($PLAYER_CHAR)
else_jump @TIME_3953 
25@ = Player.RC_car($PLAYER_CHAR)
if 
803B:   not  0@ == 25@ // (int) 
else_jump @TIME_3946 
return 

:TIME_3946
jump @TIME_4004 

:TIME_3953
if 
   Actor.InCar($PLAYER_ACTOR, 0@)
else_jump @TIME_4002 
if and
8AB0:   not key_pressed 106 
80E1:   not player 0 pressed_key 4 
else_jump @TIME_3995 
return 

:TIME_3995
jump @TIME_4004 

:TIME_4002
return 

:TIME_4004
if 
   not 32@ >= 500 
else_jump @TIME_4025 
return 

:TIME_4025
if 
   Actor.InCar($PLAYER_ACTOR, 0@)
else_jump @TIME_4051 
07CC: set_player $PLAYER_CHAR button_15 0 

:TIME_4051
if 
   Car.Model(0@) == #BULLET
else_jump @TIME_4093 
25@ = 469 
0AB4: 24@ = var 904 
jump @TIME_4128 

:TIME_4093
if 
   Car.Model(0@) == #SPARROW
else_jump @TIME_4128 
25@ = 541 
0AB4: 24@ = var 905 

:TIME_4128
Model.Load(18631)
Model.Load(18632)
Model.Load(18634)
Model.Load(18635)
Model.Load(25@)
038B: load_requested_models 

:TIME_4155
gosub @TIME_6253 
wait 10 
if 
   Model.Available(25@)
   Model.Available(18631)
   Model.Available(18632)
   Model.Available(18634)
   Model.Available(18635)
else_jump @TIME_4209 
jump @TIME_4216 

:TIME_4209
jump @TIME_4155 

:TIME_4216
Audiostream.PerformAction(24@, STOP)
Audiostream.PerformAction(24@, PLAY)
0AB3: var 2 = 1 
if 
  25@ == 541 
else_jump @TIME_4729 
26@ = 90.0 

:TIME_4265
gosub @TIME_6253 
wait 10 
26@ -= 5.0 
26@ *= -1.0 
0681: attach_object 9@ to_car 0@ with_offset -1.15 0.0 -0.3 rotation 0.0 26@ 0.0 
26@ *= -1.0 
0681: attach_object 10@ to_car 0@ with_offset 1.15 0.0 -0.3 rotation 0.0 26@ 0.0 
   not 26@ > 0.0 
else_jump @TIME_4265 
26@ = 1.15 

:TIME_4405
gosub @TIME_6253 
wait 10 
26@ -= 0.02 
26@ *= -1.0 
0681: attach_object 7@ to_car 0@ with_offset 26@ 0.0 -0.3 rotation 0.0 0.0 0.0 
0681: attach_object 9@ to_car 0@ with_offset 26@ 0.0 -0.3 rotation 0.0 0.0 0.0 
26@ *= -1.0 
0681: attach_object 8@ to_car 0@ with_offset 26@ 0.0 -0.3 rotation 0.0 0.0 0.0 
0681: attach_object 10@ to_car 0@ with_offset 26@ 0.0 -0.3 rotation 0.0 0.0 0.0 
   not 26@ > 0.85 
else_jump @TIME_4405 

:TIME_4607
gosub @TIME_6253 
wait 10 
0407: store_coords_to 11@ 12@ 13@ from_car 0@ with_offset 0.0 0.0 0.0 
02CE: 14@ = ground_z_at 11@ 12@ 13@ 
0063: 13@ -= 14@ // (float) 
if 
  13@ > 5.0 
else_jump @TIME_4697 
jump @TIME_4709 

:TIME_4697
81F3:   not car 0@ in_air 
else_jump @TIME_4607 

:TIME_4709
Object.Destroy(7@)
Object.Destroy(8@)
Object.Destroy(9@)
Object.Destroy(10@)

:TIME_4729
07C5: get_car 0@ axis_angle_relation_to 20@ 21@ 22@ 23@ 
06A2: get_car 0@ velocity_in_direction_XYZ 14@ 15@ 16@ 
14@ /= 50.0 
15@ /= 50.0 
16@ /= 50.0 
17@ = Car.Health(0@)
if 
   Actor.InCar($PLAYER_ACTOR, 0@)
else_jump @TIME_4923 
0407: store_coords_to 11@ 12@ 13@ from_car 0@ with_offset 0.0 -3.0 0.0 
Camera.SetPosition(11@, 12@, 13@, 0.0, 0.0, 0.0)
0407: store_coords_to 11@ 12@ 13@ from_car 0@ with_offset 0.0 0.0 -0.75 
0460: set_camera_transverse_delay 0.0 time 10 
Camera.PointAt(11@, 12@, 13@, 1)

:TIME_4923
0407: store_coords_to 11@ 12@ 13@ from_car 0@ with_offset 0.0 0.0 50.0 
046C: 18@ = car 0@ driver 
if 
   not Actor.Dead(18@)
else_jump @TIME_4990 
0362: remove_actor 18@ from_car_and_place_at 11@ 12@ 13@ 

:TIME_4990
if 
8431:   not car 0@ passenger_seat_free 0 
else_jump @TIME_5058 
0432: 19@ = get_actor_handle_from_car 0@ passenger_seat 0 
if 
   not Actor.Dead(19@)
else_jump @TIME_5058 
13@ += 5.0 
0362: remove_actor 19@ from_car_and_place_at 11@ 12@ 13@ 

:TIME_5058
0407: store_coords_to 11@ 12@ 13@ from_car 0@ with_offset 0.0 0.0 -0.75 
if 
   Object.Exists(27@)
else_jump @TIME_5108 
Object.Destroy(27@)

:TIME_5108
Car.Destroy(0@)
0@ = Car.Create(25@, 11@, 12@, 13@)
0A92: create_custom_thread "DOOR.S" 0@  
Car.SetSpeedInstantly(0@, 0.0)
07C6: set_car 0@ axis_angle_relation_to 20@ 21@ 22@ 23@ 
07D5: set_car 0@ velocity_in_direction_XYZ 14@ 15@ 16@ rotation_velocitiesXY 0.0 0.0 unk 0.0 
Car.Health(0@) = 17@
Car.SetImmunities(0@, 0, 0, 0, 1, 1)
if 
   not Actor.Dead(18@)
else_jump @TIME_5273 
036A: put_actor 18@ in_car 0@ 
if 
   Actor.InCar($PLAYER_ACTOR, 0@)
else_jump @TIME_5273 
0AB3: var 8 = 0@ 

:TIME_5273
if 
   not Actor.Dead(19@)
else_jump @TIME_5299 
0430: put_actor 19@ into_car 0@ passenger_seat 0 

:TIME_5299
0AB4: 11@ = var 13 
if 
  11@ == 1 
else_jump @TIME_5331 
0AB3: var 8 = 0@ 

:TIME_5331
Car.RemoveReferences(0@)
if 
  25@ == 469 
else_jump @TIME_5775 
7@ = Object.Create(18631, 0.0, 0.0, 0.0)
8@ = Object.Create(18632, 0.0, 0.0, 0.0)
9@ = Object.Create(18634, 0.0, 0.0, 0.0)
10@ = Object.Create(18635, 0.0, 0.0, 0.0)
066B: 11@ = attach_particle "COLDSMOKE" to_car 0@ with_offset -0.85 0.8 -0.425 flag 1 
064C: make_particle 11@ visible 
066B: 12@ = attach_particle "COLDSMOKE" to_car 0@ with_offset 0.85 0.8 -0.425 flag 1 
064C: make_particle 12@ visible 
066B: 13@ = attach_particle "COLDSMOKE" to_car 0@ with_offset -0.85 -0.6 -0.425 flag 1 
064C: make_particle 13@ visible 
066B: 14@ = attach_particle "COLDSMOKE" to_car 0@ with_offset 0.85 -0.6 -0.425 flag 1 
064C: make_particle 14@ visible 
26@ = -0.85 
0681: attach_object 7@ to_car 0@ with_offset 26@ 0.0 -0.3 rotation 0.0 0.0 0.0 
0681: attach_object 9@ to_car 0@ with_offset 26@ 0.0 -0.3 rotation 0.0 0.0 0.0 
26@ *= -1.0 
0681: attach_object 8@ to_car 0@ with_offset 26@ 0.0 -0.3 rotation 0.0 0.0 0.0 
0681: attach_object 10@ to_car 0@ with_offset 26@ 0.0 -0.3 rotation 0.0 0.0 0.0 

:TIME_5775
gosub @TIME_6253 
wait 10 
if 
   Actor.InCar($PLAYER_ACTOR, 0@)
else_jump @TIME_5809 
Camera.Restore
Camera.SetBehindPlayer

:TIME_5809
if 
  25@ == 469 
else_jump @TIME_6180 
26@ = 0.85 

:TIME_5838
gosub @TIME_6253 
wait 10 
26@ += 0.02 
26@ *= -1.0 
0681: attach_object 7@ to_car 0@ with_offset 26@ 0.0 -0.3 rotation 0.0 0.0 0.0 
0681: attach_object 9@ to_car 0@ with_offset 26@ 0.0 -0.3 rotation 0.0 0.0 0.0 
26@ *= -1.0 
0681: attach_object 8@ to_car 0@ with_offset 26@ 0.0 -0.3 rotation 0.0 0.0 0.0 
0681: attach_object 10@ to_car 0@ with_offset 26@ 0.0 -0.3 rotation 0.0 0.0 0.0 
  26@ >= 1.15 
else_jump @TIME_5838 
26@ = 0.0 

:TIME_6050
gosub @TIME_6253 
wait 0 
26@ += 5.0 
26@ *= -1.0 
0681: attach_object 9@ to_car 0@ with_offset -1.15 0.0 -0.3 rotation 0.0 26@ 0.0 
26@ *= -1.0 
0681: attach_object 10@ to_car 0@ with_offset 1.15 0.0 -0.3 rotation 0.0 26@ 0.0 
  26@ >= 90.0 
else_jump @TIME_6050 

:TIME_6180
0AB3: var 2 = 0 
0AB3: var 13 = 0 
Model.Destroy(25@)
Model.Destroy(18631)
Model.Destroy(18632)
Model.Destroy(18634)
Model.Destroy(18635)
0650: destroy_particle 11@ 
0650: destroy_particle 12@ 
0650: destroy_particle 13@ 
0650: destroy_particle 14@ 
32@ = 0 
07CC: set_player $PLAYER_CHAR button_15 1 
return 

:TIME_6253
gosub @TIME_3672 
if 
  25@ == 469 
else_jump @TIME_6294 
0AB4: 24@ = var 904 
jump @TIME_6321 

:TIME_6294
if 
  25@ == 541 
else_jump @TIME_6321 
0AB4: 24@ = var 905 

:TIME_6321
Audiostream.PerformAction(24@, PAUSE)
gosub @TIME_583 
if 
  25@ == 469 
else_jump @TIME_6369 
0AB4: 24@ = var 904 
jump @TIME_6396 

:TIME_6369
if 
  25@ == 541 
else_jump @TIME_6396 
0AB4: 24@ = var 905 

:TIME_6396
Audiostream.PerformAction(24@, RESUME)
return 

:TIME_6405
02E3: 15@ = car 0@ speed 
0AB4: 30@ = var 1 
if or
   not 33@ >= 1500 
  33@ >= 5000 
else_jump @TIME_6594 
if and
  30@ == 1 
  15@ > 33.5 
else_jump @TIME_6566 
gosub @TIME_6617 
if 
   not Object.Exists(27@)
else_jump @TIME_6559 
27@ = Object.Create(18636, 0.0, 0.0, 0.0)
0681: attach_object 27@ to_car 0@ with_offset 0.0 0.0 0.0 rotation 0.0 0.0 0.0 

:TIME_6559
jump @TIME_6587 

:TIME_6566
if 
   Object.Exists(27@)
else_jump @TIME_6587 
Object.Destroy(27@)

:TIME_6587
jump @TIME_6615 

:TIME_6594
if 
   Object.Exists(27@)
else_jump @TIME_6615 
Object.Destroy(27@)

:TIME_6615
return 

:TIME_6617
0AB1: call_scm_func @TIME_7963 4 0@ 1.025 2.15 -0.2  
0AB1: call_scm_func @TIME_7963 4 0@ 1.0 2.25 -0.2  
0AB1: call_scm_func @TIME_7963 4 0@ 0.975 2.35 -0.2  
0AB1: call_scm_func @TIME_7963 4 0@ 0.95 2.4 -0.2  
0AB1: call_scm_func @TIME_7963 4 0@ 0.85 2.45 -0.2  
0AB1: call_scm_func @TIME_7963 4 0@ 0.75 2.45 -0.2  
0AB1: call_scm_func @TIME_7963 4 0@ 0.65 2.45 -0.2  
0AB1: call_scm_func @TIME_7963 4 0@ 0.55 2.45 -0.2  
0AB1: call_scm_func @TIME_7963 4 0@ 0.45 2.45 -0.2  
0AB1: call_scm_func @TIME_7963 4 0@ 0.35 2.45 -0.2  
0AB1: call_scm_func @TIME_7963 4 0@ 0.25 2.45 -0.2  
0AB1: call_scm_func @TIME_7963 4 0@ 0.15 2.45 -0.2  
0AB1: call_scm_func @TIME_7963 4 0@ 0.05 2.45 -0.2  
0AB1: call_scm_func @TIME_7963 4 0@ 0.3 -0.875 0.615  
0AB1: call_scm_func @TIME_7963 4 0@ 0.4 -0.875 0.615  
0AB1: call_scm_func @TIME_7963 4 0@ 0.5 -0.875 0.615  
0AB1: call_scm_func @TIME_7963 4 0@ 0.6 -0.875 0.615  
0AB1: call_scm_func @TIME_7963 4 0@ 0.7 -0.88 0.575  
0AB1: call_scm_func @TIME_7963 4 0@ 0.75 -0.89 0.525  
0AB1: call_scm_func @TIME_7963 4 0@ 0.8 -0.9 0.475  
0AB1: call_scm_func @TIME_7963 4 0@ 0.85 -0.91 0.425  
0AB1: call_scm_func @TIME_7963 4 0@ 0.9 -0.92 0.375  
0AB1: call_scm_func @TIME_7963 4 0@ 0.95 -0.93 0.325  
0AB1: call_scm_func @TIME_7963 4 0@ 1.0 -0.94 0.275  
0AB1: call_scm_func @TIME_7963 4 0@ 1.05 -0.95 0.255  
0AB1: call_scm_func @TIME_7963 4 0@ 1.1 -0.98 0.22  
0AB1: call_scm_func @TIME_7963 4 0@ 1.07 -1.05 0.19  
0AB1: call_scm_func @TIME_7963 4 0@ 1.065 -1.15 0.19  
0AB1: call_scm_func @TIME_7963 4 0@ 1.06 -1.25 0.19  
0AB1: call_scm_func @TIME_7963 4 0@ 1.055 -1.35 0.19  
0AB1: call_scm_func @TIME_7963 4 0@ 1.05 -1.45 0.19  
0AB1: call_scm_func @TIME_7963 4 0@ 1.045 -1.55 0.19  
0AB1: call_scm_func @TIME_7963 4 0@ 1.04 -1.65 0.19  
0AB1: call_scm_func @TIME_7963 4 0@ 1.035 -1.75 0.19  
0AB1: call_scm_func @TIME_7963 4 0@ 1.03 -1.8 0.19  
0AB1: call_scm_func @TIME_7963 4 0@ 1.04 -1.85 0.14  
0AB1: call_scm_func @TIME_7963 4 0@ 1.05 -1.9 0.09  
0AB1: call_scm_func @TIME_7963 4 0@ 1.06 -1.95 0.04  
0AB1: call_scm_func @TIME_7963 4 0@ 1.06 -2.0 -0.01  
0AB1: call_scm_func @TIME_7963 4 0@ 1.05 -2.05 -0.06  
0AB1: call_scm_func @TIME_7963 4 0@ 1.04 -2.07 -0.11  
0AB1: call_scm_func @TIME_7963 4 0@ 1.03 -2.09 -0.16  
0AB1: call_scm_func @TIME_7963 4 0@ 1.02 -2.11 -0.21  
0AB1: call_scm_func @TIME_7963 4 0@ 1.0 -2.13 -0.26  
0AB1: call_scm_func @TIME_7963 4 0@ 0.95 -2.15 -0.31  
0AB1: call_scm_func @TIME_7963 4 0@ 0.9 -2.17 -0.31  
0AB1: call_scm_func @TIME_7963 4 0@ 0.85 -2.17 -0.31  
0AB1: call_scm_func @TIME_7963 4 0@ 0.8 -2.17 -0.31  
return 

:TIME_7963
066B: 4@ = attach_particle "COIL" to_car 0@ with_offset 1@ 2@ 3@ flag 1 
064C: make_particle 4@ visible 
064F: remove_references_to_particle 4@ 
if 
   not 1@ == 0.0 
else_jump @TIME_8072 
1@ *= -1.0 
066B: 4@ = attach_particle "COIL" to_car 0@ with_offset 1@ 2@ 3@ flag 1 
064C: make_particle 4@ visible 
064F: remove_references_to_particle 4@ 

:TIME_8072
0AB2: ret 0 

:TIME_8077
if 
  1@ > 0 
else_jump @TIME_8343 
066C: 2@ = attach_particle "PLASMA_BTTF3" to_car 0@ with_offset -0.98 -1.75 -0.4 rotation 0.0 0.0 0.0 flag 1 
064C: make_particle 2@ visible 
064F: remove_references_to_particle 2@ 
066C: 2@ = attach_particle "PLASMA_BTTF3" to_car 0@ with_offset 0.98 -1.75 -0.4 rotation 0.0 0.0 0.0 flag 1 
064C: make_particle 2@ visible 
064F: remove_references_to_particle 2@ 
066C: 2@ = attach_particle "PLASMA_BTTF3L" to_car 0@ with_offset -0.98 1.0 -0.5 rotation 0.0 0.0 0.0 flag 1 
064C: make_particle 2@ visible 
064F: remove_references_to_particle 2@ 
066C: 2@ = attach_particle "PLASMA_BTTF3" to_car 0@ with_offset 0.98 1.0 -0.5 rotation 0.0 0.0 0.0 flag 1 
064C: make_particle 2@ visible 
064F: remove_references_to_particle 2@ 

:TIME_8343
if 
  1@ > 1 
else_jump @TIME_8593 
066C: 2@ = attach_particle "PLASMA_BTTF3" to_car 0@ with_offset -0.98 -1.8 -0.5 rotation 0.0 0.0 0.0 flag 1 
064C: make_particle 2@ visible 
064F: remove_references_to_particle 2@ 
066C: 2@ = attach_particle "PLASMA_BTTF3" to_car 0@ with_offset 0.98 -1.8 -0.5 rotation 0.0 0.0 0.0 flag 1 
064C: make_particle 2@ visible 
064F: remove_references_to_particle 2@ 
066C: 2@ = attach_particle "PLASMA_BTTF3" to_car 0@ with_offset -0.98 0.95 -0.6 rotation 0.0 0.0 0.0 flag 1 
064C: make_particle 2@ visible 
064F: remove_references_to_particle 2@ 
066C: 2@ = attach_particle "PLASMA_BTTF3" to_car 0@ with_offset 0.98 0.95 -0.6 rotation 0.0 0.0 0.0 flag 1 
064C: make_particle 2@ visible 
064F: remove_references_to_particle 2@ 

:TIME_8593
if 
  1@ > 1 
else_jump @TIME_8843 
066C: 2@ = attach_particle "PLASMA_BTTF3" to_car 0@ with_offset -0.98 -1.85 -0.6 rotation 0.0 0.0 0.0 flag 1 
064C: make_particle 2@ visible 
064F: remove_references_to_particle 2@ 
066C: 2@ = attach_particle "PLASMA_BTTF3" to_car 0@ with_offset 0.98 -1.85 -0.6 rotation 0.0 0.0 0.0 flag 1 
064C: make_particle 2@ visible 
064F: remove_references_to_particle 2@ 
066C: 2@ = attach_particle "PLASMA_BTTF3" to_car 0@ with_offset -0.98 0.9 -0.7 rotation 0.0 0.0 0.0 flag 1 
064C: make_particle 2@ visible 
064F: remove_references_to_particle 2@ 
066C: 2@ = attach_particle "PLASMA_BTTF3" to_car 0@ with_offset 0.98 0.9 -0.7 rotation 0.0 0.0 0.0 flag 1 
064C: make_particle 2@ visible 
064F: remove_references_to_particle 2@ 

:TIME_8843
if 
  1@ > 2 
else_jump @TIME_9093 
066C: 2@ = attach_particle "PLASMA_BTTF3" to_car 0@ with_offset -0.98 -2.0 -0.7 rotation 0.0 0.0 0.0 flag 1 
064C: make_particle 2@ visible 
064F: remove_references_to_particle 2@ 
066C: 2@ = attach_particle "PLASMA_BTTF3" to_car 0@ with_offset 0.98 -2.0 -0.7 rotation 0.0 0.0 0.0 flag 1 
064C: make_particle 2@ visible 
064F: remove_references_to_particle 2@ 
066C: 2@ = attach_particle "PLASMA_BTTF3" to_car 0@ with_offset -0.98 0.75 -0.7 rotation 0.0 0.0 0.0 flag 1 
064C: make_particle 2@ visible 
064F: remove_references_to_particle 2@ 
066C: 2@ = attach_particle "PLASMA_BTTF3" to_car 0@ with_offset 0.98 0.75 -0.7 rotation 0.0 0.0 0.0 flag 1 
064C: make_particle 2@ visible 
064F: remove_references_to_particle 2@ 

:TIME_9093
if 
  1@ > 3 
else_jump @TIME_9343 
066C: 2@ = attach_particle "PLASMA_BTTF3" to_car 0@ with_offset -0.98 -2.15 -0.7 rotation 0.0 0.0 0.0 flag 1 
064C: make_particle 2@ visible 
064F: remove_references_to_particle 2@ 
066C: 2@ = attach_particle "PLASMA_BTTF3" to_car 0@ with_offset 0.98 -2.15 -0.7 rotation 0.0 0.0 0.0 flag 1 
064C: make_particle 2@ visible 
064F: remove_references_to_particle 2@ 
066C: 2@ = attach_particle "PLASMA_BTTF3" to_car 0@ with_offset -0.98 0.6 -0.7 rotation 0.0 0.0 0.0 flag 1 
064C: make_particle 2@ visible 
064F: remove_references_to_particle 2@ 
066C: 2@ = attach_particle "PLASMA_BTTF3" to_car 0@ with_offset 0.98 0.6 -0.7 rotation 0.0 0.0 0.0 flag 1 
064C: make_particle 2@ visible 
064F: remove_references_to_particle 2@ 

:TIME_9343
if 
  1@ > 4 
else_jump @TIME_9477 
066C: 2@ = attach_particle "PLASMA_BTTF3" to_car 0@ with_offset -0.98 0.45 -0.7 rotation 0.0 0.0 0.0 flag 1 
064C: make_particle 2@ visible 
064F: remove_references_to_particle 2@ 
066C: 2@ = attach_particle "PLASMA_BTTF3" to_car 0@ with_offset 0.98 0.45 -0.7 rotation 0.0 0.0 0.0 flag 1 
064C: make_particle 2@ visible 
064F: remove_references_to_particle 2@ 

:TIME_9477
0AB2: ret 0 

:TIME_9482
02E3: 15@ = car 0@ speed 
0AB4: 30@ = var 1 
if and
  33@ >= 5100 
  15@ > 35.75 
  30@ == 1 
  2@ == 2 
else_jump @TIME_9607 
33@ = 5000 
if 
  29@ == 1 
else_jump @TIME_9591 
0A92: create_custom_thread "sparks_BTTF3.s" 0@   
jump @TIME_9607 

:TIME_9591
0A92: create_custom_thread "sparks_BTTF3.s" 0@  

:TIME_9607
return 

:TIME_9609
02E3: 4@ = car 0@ speed 
0AB4: 20@ = var 903 
0AB4: 30@ = var 1 
20@ = Audiostream.State(15@)
if and
  30@ == 1 
  4@ > 35.75 
else_jump @TIME_9721 
3@ = 1 
if and
  1@ == 1 
   not 15@ == 1 
else_jump @TIME_9714 
Audiostream.PerformAction(20@, STOP)
Audiostream.PerformAction(20@, PLAY)

:TIME_9714
jump @TIME_9753 

:TIME_9721
if 
   not 3@ == 0 
else_jump @TIME_9753 
3@ = 0 
Audiostream.PerformAction(20@, STOP)

:TIME_9753
if and
  1@ == 1 
  2@ == 2 
else_jump @TIME_10602 
if 
  4@ > 36.7 
else_jump @TIME_9862 
066C: 5@ = attach_particle "REGWORMHOLE10" to_car 0@ with_offset 0.0 4.0 0.15 rotation 0.0 0.0 0.0 flag 1 
jump @TIME_10602 

:TIME_9862
if 
  4@ > 36.6 
else_jump @TIME_9945 
066C: 5@ = attach_particle "REGWORMHOLE9" to_car 0@ with_offset 0.0 4.0 0.15 rotation 0.0 0.0 0.0 flag 1 
jump @TIME_10602 

:TIME_9945
if 
  4@ > 36.5 
else_jump @TIME_10028 
066C: 5@ = attach_particle "REGWORMHOLE8" to_car 0@ with_offset 0.0 4.0 0.15 rotation 0.0 0.0 0.0 flag 1 
jump @TIME_10602 

:TIME_10028
if 
  4@ > 36.4 
else_jump @TIME_10111 
066C: 5@ = attach_particle "REGWORMHOLE7" to_car 0@ with_offset 0.0 4.0 0.15 rotation 0.0 0.0 0.0 flag 1 
jump @TIME_10602 

:TIME_10111
if 
  4@ > 36.3 
else_jump @TIME_10194 
066C: 5@ = attach_particle "REGWORMHOLE6" to_car 0@ with_offset 0.0 4.0 0.15 rotation 0.0 0.0 0.0 flag 1 
jump @TIME_10602 

:TIME_10194
if 
  4@ > 36.2 
else_jump @TIME_10277 
066C: 5@ = attach_particle "REGWORMHOLE5" to_car 0@ with_offset 0.0 4.0 0.15 rotation 0.0 0.0 0.0 flag 1 
jump @TIME_10602 

:TIME_10277
if 
  4@ > 36.1 
else_jump @TIME_10360 
066C: 5@ = attach_particle "REGWORMHOLE4" to_car 0@ with_offset 0.0 4.0 0.15 rotation 0.0 0.0 0.0 flag 1 
jump @TIME_10602 

:TIME_10360
if 
  4@ > 36.0 
else_jump @TIME_10443 
066C: 5@ = attach_particle "REGWORMHOLE3" to_car 0@ with_offset 0.0 4.0 0.15 rotation 0.0 0.0 0.0 flag 1 
jump @TIME_10602 

:TIME_10443
if 
  4@ > 35.9 
else_jump @TIME_10526 
066C: 5@ = attach_particle "REGWORMHOLE2" to_car 0@ with_offset 0.0 4.0 0.15 rotation 0.0 0.0 0.0 flag 1 
jump @TIME_10602 

:TIME_10526
if 
  4@ > 35.8 
else_jump @TIME_10602 
066C: 5@ = attach_particle "REGWORMHOLE1" to_car 0@ with_offset 0.0 4.0 0.15 rotation 0.0 0.0 0.0 flag 1 

:TIME_10602
064C: make_particle 5@ visible 
064F: remove_references_to_particle 5@ 
0AB2: ret 1 3@ 

:TIME_10620
if 
044B:   actor $PLAYER_ACTOR on_foot 
else_jump @TIME_10937 
077E: get_active_interior_to 24@ 
if and
  24@ == 0 
044B:   actor $PLAYER_ACTOR on_foot 
   Player.Controllable($PLAYER_CHAR)
0AB0:   key_pressed 90 
else_jump @TIME_10937 
0AB4: 24@ = var 12 
if 
  24@ == 0 
else_jump @TIME_10924 
0AB4: 24@ = var 8 
if 
003B:   0@ == 24@ // (int) 
else_jump @TIME_10917 
if 
   Car.Model(0@) == #BULLET
else_jump @TIME_10763 
0AB3: var 13 = 1 
gosub @TIME_4025 
jump @TIME_10768 

:TIME_10763
0825: set_helicopter 0@ instant_rotor_start 

:TIME_10768
Car.StorePos(0@, 11@, 12@, 13@)
13@ += 10.0 
03A2: set_car 0@ action 3 
Car.StorePos(0@, 11@, 12@, 14@)
0063: 14@ -= 13@ // (float) 

:TIME_10821
   not 14@ >= 0.0 
else_jump @TIME_10906 
wait 10 
Car.StorePos(0@, 11@, 12@, 14@)
0063: 14@ -= 13@ // (float) 
07D5: set_car 0@ velocity_in_direction_XYZ 0.0 0.0 0.015 rotation_velocitiesXY 0.0 0.0 unk 0.0 
jump @TIME_10821 

:TIME_10906
wait 1000 
0AB3: var 12 = 1 

:TIME_10917
jump @TIME_10937 

:TIME_10924
0AB3: var 12 = 0 
gosub @TIME_10939 

:TIME_10937
return 

:TIME_10939
if and
   not Actor.InCar($PLAYER_ACTOR, 0@)
   Car.Model(0@) == #SPARROW
else_jump @TIME_11259 
Car.StorePos(0@, 11@, 12@, 13@)

:TIME_10980
wait 10 
if 
   not Car.Wrecked(0@)
else_jump @TIME_11259 
gosub @TIME_6405 
02CE: 13@ = ground_z_at 11@ 12@ 13@ 
13@ += 10.0 
0743: heli 0@ fly_to 11@ 12@ 13@ altitude 13@ 13@ 
02E3: 14@ = car 0@ speed 
if and
01AD:   car 0@ sphere 0 near_point 11@ 12@ radius 10.0 10.0 
   not 14@ >= 2.5 
else_jump @TIME_11252 
02CE: 14@ = ground_z_at 11@ 12@ 13@ 
04A2: set_heli 0@ fly_to 11@ 12@ 14@ altitude_between 0.0 and 0.0 

:TIME_11141
wait 10 
if 
   not Car.Wrecked(0@)
else_jump @TIME_11232 
gosub @TIME_6405 
Car.StorePos(0@, 11@, 12@, 13@)
02CE: 14@ = ground_z_at 11@ 12@ 13@ 
0063: 13@ -= 14@ // (float) 
if 
  13@ > 5.0 
else_jump @TIME_11232 
jump @TIME_11141 

:TIME_11232
0AB3: var 13 = 1 
gosub @TIME_4025 
jump @TIME_11259 

:TIME_11252
jump @TIME_10980 

:TIME_11259
return 

Share this post


Link to post
Share on other sites