// This file was decompiled using SASCM.ini published by GTAG (http://gtag.gtagaming.com/opcode-database) on 14.6.2013
{$CLEO .cs}
//-------------MAIN---------------
wait 0
:Noname_4
wait 0
if or
not Player.Defined($PLAYER_CHAR)
not $ONMISSION == 0
else_jump @Noname_38
jump @Noname_1020
:Noname_38
if
4@ == 0
else_jump @Noname_466
if
09AE: actor $PLAYER_ACTOR driving_train
else_jump @Noname_459
0@ = Actor.CurrentCar($PLAYER_ACTOR)
02E3: 16@ = car 0@ speed
0A97: 2@ = car 0@ struct
2@ += 1488
0A8D: 2@ = read_memory 2@ size 4 virtual_protect 0
if and
key_down 81
2@ == 0
not 16@ >= 1.38
8981: not train 0@ wrecked
else_jump @Noname_459
6@ = 49
5@ = 1
:Noname_167
if
5@ == 10
else_jump @Noname_192
6@ = 96
:Noname_192
if
key_down 6@
else_jump @Noname_431
078A: 7@ = get_train 0@ carriage 5@ handle
5@ -= 1
078A: 1@ = get_train 0@ carriage 5@ handle
if and
056E: car 7@ defined
056E: car 1@ defined
else_jump @Noname_424
0A97: 8@ = car 7@ struct
0A97: 3@ = car 1@ struct
3@ += 1492
8@ += 1488
0A8C: write_memory 8@ size 4 value 0 virtual_protect 0
0A8C: write_memory 3@ size 4 value 0 virtual_protect 0
Car.StorePos(7@, 10@, 11@, 12@)
Car.StorePos(1@, 13@, 14@, 15@)
050A: 9@ = distance_between_XYZ 10@ 11@ 12@ and_XYZ 13@ 14@ 15@
9@ -= 0.2
4@ = 1
print "CARRIAGES WERE DETACHED" 3000
jump @Noname_459
jump @Noname_431
:Noname_424
jump @Noname_459
:Noname_431
6@ += 1
5@ += 1
5@ > 19
else_jump @Noname_167
:Noname_459
jump @Noname_1020
:Noname_466
if
056E: car 7@ defined
else_jump @Noname_1013
if
8205: not actor $PLAYER_ACTOR near_car 7@ radius 600.0 600.0 600.0 flag 0
else_jump @Noname_537
07BD: destroy_train 7@
4@ = 0
jump @Noname_1020
:Noname_537
if
89AE: not actor $PLAYER_ACTOR driving_train
else_jump @Noname_558
07BE: remove_references_to_train 7@
:Noname_558
if
056E: car 1@ defined
else_jump @Noname_994
Car.StorePos(7@, 10@, 11@, 12@)
Car.StorePos(1@, 13@, 14@, 15@)
050A: 16@ = distance_between_XYZ 10@ 11@ 12@ and_XYZ 13@ 14@ 15@
if
0025: 9@ > 16@ // (float)
else_jump @Noname_987
02E3: 16@ = car 1@ speed
if
16@ > 11.11
else_jump @Noname_886
0085: 6@ = 0@ // (int)
5@ = 0
:Noname_688
if
5@ == 1
else_jump @Noname_714
0085: 6@ = 7@ // (int)
:Noname_714
0A97: 2@ = car 6@ struct
:Noname_722
not 2@ == 0
else_jump @Noname_853
0A8E: 17@ = 2@ + 64 // int
0A8E: 18@ = 2@ + 1465 // int
0A8D: 19@ = read_memory 17@ size 4 virtual_protect 0
0A8D: 20@ = read_memory 18@ size 1 virtual_protect 0
08C3: clear 19@ bit 2
08C3: clear 19@ bit 17
08BD: set 20@ bit 0
0A8C: write_memory 17@ size 4 value 19@ virtual_protect 0
0A8C: write_memory 18@ size 1 value 20@ virtual_protect 0
2@ += 1492
0A8D: 2@ = read_memory 2@ size 4 virtual_protect 0
jump @Noname_722
:Noname_853
5@ += 1
5@ > 1
else_jump @Noname_688
07BE: remove_references_to_train 7@
jump @Noname_980
:Noname_886
0A97: 8@ = car 7@ struct
0A97: 3@ = car 1@ struct
8@ += 1488
[SPOILER="
0A8C: write_memory 8@ size 4 value 3@ virtual_protect 0
3@ += 1492
8@ -= 1488
0A8C: write_memory 3@ size 4 value 8@ virtual_protect 0
print "CARRIAGES WERE ATTACHED" 3000
:Noname_980
4@ = 0
:Noname_987
jump @Noname_1006
:Noname_994
07BE: remove_references_to_train 7@
4@ = 0
:Noname_1006
jump @Noname_1020
:Noname_1013
4@ = 0
:Noname_1020
jump @Noname_4