// This file was decompiled using SASCM.ini published by GTAG (http://gtag.gtagaming.com/opcode-database) on 14.6.2013
{$CLEO .cs}
{$USE file}
{$USE SAMPFUNCS}
0000: NOP
:NONAME_2
wait 0
SAMP.Available
jf @NONAME_2
31@ = Render.CreateFont("Arial Black", 10, 5)
0BFC: set_global_var "font" = 31@
0B34: samp register_client_command "VehicleRecording" to_label @NONAME_2636
0B34: samp register_client_command "VehicleRecordingLoop" to_label @NONAME_2478
chatmsg "{FF0000}/VehicleRecording:{FFFFFF} to get help!" -1
:NONAME_156
wait 0
if
Actor.Driving($PLAYER_ACTOR)
jf @NONAME_1806
if and
not SAMP.ChatInputOpened
key_down 79
jf @NONAME_773
:NONAME_193
wait 0
not key_down 79
jf @NONAME_193
TIMERA = 0
if
0AAB: file_exists "CLEO\VehicleRecording.path"
jf @NONAME_286
0B00: delete_file "CLEO\VehicleRecording.path" // IF and SET
:NONAME_286
chatmsg "{FF0000}Vehicle Recording:{FFFFFF} recording a new path!!" -1
0@ = Actor.CurrentCar($PLAYER_ACTOR)
0407: store_coords_to 1@ 2@ 3@ from_car 0@ with_offset 0.0 0.0 0.0
018A: 29@ = create_checkpoint_at 1@ 2@ 3@
31@ = File.Open("CLEO\VehicleRecording.path", "wb+")
:NONAME_439
wait 0
if
not Actor.Driving($PLAYER_ACTOR)
jf @NONAME_557
chatmsg "{FF0000}Vehicle Recording:{FFFFFF} just saved ur ass from a crash. Recording failed." -1
jump @NONAME_679
:NONAME_557
call @NONAME_2263 0
if
TIMERA > 200
jf @NONAME_668
TIMERA = 0
0@ = Actor.CurrentCar($PLAYER_ACTOR)
0407: store_coords_to 1@ 2@ 3@ from_car 0@ with_offset 0.0 0.0 0.0
02E3: 4@ = car 0@ speed
File.Write(31@, 16, 1@)
018C: play_sound 1052 at 0.0 0.0 0.0
:NONAME_668
key_down 79
jf @NONAME_439
:NONAME_679
Marker.Disable(29@)
File.Close(31@)
chatmsg "{FF0000}Vehicle Recording:{FFFFFF} recording has been stopped." -1
:NONAME_758
wait 0
not key_down 79
jf @NONAME_758
:NONAME_773
if
not SAMP.ChatInputOpened
jf @NONAME_1806
if or
30@ == 1
key_down 80
jf @NONAME_1806
:NONAME_808
wait 0
not key_down 80
jf @NONAME_808
if
0AAB: file_exists "CLEO\VehicleRecording.path"
jf @NONAME_1806
chatmsg "{FF0000}Vehicle Recording:{FFFFFF} playing the path now!" -1
31@ = File.Open("CLEO\VehicleRecording.path", "rb")
:NONAME_964
wait 0
if
not Actor.Driving($PLAYER_ACTOR)
jf @NONAME_1064
chatmsg "{FF0000}Vehicle Recording:{FFFFFF} just saved ur ass from a crash." -1
jump @NONAME_1719
:NONAME_1064
if and
not SAMP.ChatInputOpened
key_down 80
jf @NONAME_1088
jump @NONAME_1719
:NONAME_1088
0@ = Actor.CurrentCar($PLAYER_ACTOR)
File.Read(31@, 4, 1@)
File.Read(31@, 4, 2@)
File.Read(31@, 4, 3@)
File.Read(31@, 4, 4@)
File.Read(31@, 4, 1@)
File.Read(31@, 4, 2@)
File.Read(31@, 4, 3@)
File.Read(31@, 4, 4@)
:NONAME_1176
wait 0
if
not Actor.Driving($PLAYER_ACTOR)
jf @NONAME_1342
chatmsg "{FF0000}Vehicle Recording:{FFFFFF} just saved ur ass from a crash." -1
30@ = 0
chatmsg "{FF0000}Vehicle Recording:{FFFFFF} disabled looping." -1
jump @NONAME_1707
:NONAME_1342
if
key_down 80
jf @NONAME_1430
30@ = 0
chatmsg "{FF0000}Vehicle Recording:{FFFFFF} disabled looping." -1
jump @NONAME_1707
:NONAME_1430
call @NONAME_2120 0
0407: store_coords_to 6@ 7@ 8@ from_car 0@ with_offset 0.0 0.0 0.0
call @NONAME_1813 4 1@ 2@ 6@ 7@
02E3: 5@ = car 0@ speed
if
0025: 5@ > 4@ // (float)
jf @NONAME_1535
call @NONAME_2410 0
jump @NONAME_1545
:NONAME_1535
call @NONAME_2444 0
:NONAME_1545
SAMP.Convert3DCoordsToScreen(1@, 2@, 3@, 9@, 10@)
SAMP.Convert3DCoordsToScreen(6@, 7@, 8@, 11@, 12@)
if
00C2: sphere_onscreen 1@ 2@ 3@ radius 5.0
jf @NONAME_1669
Render.DrawLine(11@, 12@, 9@, 10@, 2, -65536)
Render.DrawPolygon(9@, 10@, 10, 10, 14, 0, -16777216)
Render.DrawPolygon(11@, 12@, 10, 10, 14, 0, -16777216)
:NONAME_1669
0100: actor $PLAYER_ACTOR in_sphere 1@ 2@ 3@ radius 5.0 5.0 5.0 sphere 0 in_car
jf @NONAME_1176
:NONAME_1707
File.EOF(31@)
jf @NONAME_964
:NONAME_1719
chatmsg "{FF0000}Vehicle Recording:{FFFFFF} playing has been stopped!" -1
File.Close(31@)
:NONAME_1791
wait 0
not key_down 80
jf @NONAME_1791
:NONAME_1806
jump @NONAME_156
:NONAME_1813
call @NONAME_2085 4 0@ 1@ 2@ 3@ 31@
30@ = Actor.Angle($PLAYER_ACTOR)
30@ -= 360.0
0097: make 30@ absolute_float
005B: 31@ += 30@ // (float)
02F6: 30@ = sine 31@ // (float)
02F7: 31@ = cosine 31@ // (float)
0604: get_Z_angle_for_point 30@ 31@ store_to 31@
if and
31@ > 180.0
355.0 > 31@
jf @NONAME_1982
SAMP.SetGameKeyState(0, -255)
if
200.0 > 31@
jf @NONAME_1969
SAMP.SetGameKeyState(6, 255)
jump @NONAME_1975
:NONAME_1969
SAMP.SetGameKeyState(6, 0)
:NONAME_1975
jump @NONAME_2080
:NONAME_1982
if and
31@ > 5.0
180.0 >= 31@
jf @NONAME_2068
SAMP.SetGameKeyState(0, 255)
if
31@ > 160.0
jf @NONAME_2055
SAMP.SetGameKeyState(6, 255)
jump @NONAME_2061
:NONAME_2055
SAMP.SetGameKeyState(6, 0)
:NONAME_2061
jump @NONAME_2080
:NONAME_2068
SAMP.SetGameKeyState(0, 0)
SAMP.SetGameKeyState(6, 0)
:NONAME_2080
ret 0
:NONAME_2085
0063: 0@ -= 2@ // (float)
0063: 1@ -= 3@ // (float)
0604: get_Z_angle_for_point 0@ 1@ store_to 4@
ret 1 4@
:NONAME_2120
if
Actor.Driving($PLAYER_ACTOR)
jf @NONAME_2258
0@ = Actor.CurrentCar($PLAYER_ACTOR)
0407: store_coords_to 1@ 2@ 3@ from_car 0@ with_offset 0.0 0.0 0.0
0BFD: 31@ = get_global_var "font"
SAMP.Convert3DCoordsToScreen(1@, 2@, 3@, 4@, 5@)
6@ = Render.FontDrawLength(31@, "PLAYING")
6@ /= 2
0062: 4@ -= 6@ // (int)
Render.DrawText(31@, "PLAYING", 4@, 5@, -65536)
:NONAME_2258
ret 0
:NONAME_2263
if
Actor.Driving($PLAYER_ACTOR)
jf @NONAME_2405
0@ = Actor.CurrentCar($PLAYER_ACTOR)
0407: store_coords_to 1@ 2@ 3@ from_car 0@ with_offset 0.0 0.0 0.0
0BFD: 31@ = get_global_var "font"
SAMP.Convert3DCoordsToScreen(1@, 2@, 3@, 4@, 5@)
6@ = Render.FontDrawLength(31@, "RECORDING")
6@ /= 2
0062: 4@ -= 6@ // (int)
Render.DrawText(31@, "RECORDING", 4@, 5@, -65536)
:NONAME_2405
ret 0
:NONAME_2410
0@ = 12006488
0@ += 12
0A8C: write_memory 0@ size 1 value 255 virtual_protect 0
ret 0
:NONAME_2444
0@ = 12006488
0@ += 32
0A8C: write_memory 0@ size 1 value 255 virtual_protect 0
ret 0
:NONAME_2478
if
30@ == 1
jf @NONAME_2569
30@ = 0
chatmsg "{FF0000}Vehicle Recording:{FFFFFF} disabled looping." -1
jump @NONAME_2634
:NONAME_2569
30@ = 1
chatmsg "{FF0000}Vehicle Recording:{FFFFFF} enabled looping." -1
:NONAME_2634
SAMP.CmdRet
:NONAME_2636
chatmsg "{FF0000}Vehicle Recording:{FFFFFF} made by Opcode.eXe ;)" -1
chatmsg "{FF0000}Vehicle Recording:{FFFFFF} use O to start/stop recording." -1
chatmsg "{FF0000}Vehicle Recording:{FFFFFF} press P to play/stop the recorded path." -1
chatmsg "{FF0000}Vehicle Recording:{FFFFFF} write /VehicleRecordingLoop play it without stopping." -1
SAMP.CmdRet