// This file was decompiled using SASCM.ini published by GTAG (http://gtag.gtagaming.com/opcode-database) on 14.6.2013
{$CLEO .cs}
//-------------MAIN---------------
0000: NOP
0662: printstring "Script by Ded_Fedot"
:Label000019
wait 400
SAMP.Available
jf @Label000019
wait 0
if
0AAB: file_exists "SAMPFUNCS\CDD.sf"
jf @Label000062
gosub @Label001247
end_thread
:Label000062
wait 0
if
0AAB: file_exists "CLEO\CarFunc.cs"
jf @Label00008B
goto @Label000094
:Label00008B
gosub @Label001247
end_thread
:Label000094
chatmsg "{00A2FF}CarFunc.cs {8EE438}успешно загружен" -1
chatmsg "{FFFFFF}Автор: {E53838}Ded_Fedot" -1
chatmsg "{FFFFFF}Обзор команд - {8EE438}/cinfo" -1
chatmsg "{FFFFFF}Специально для {E53838}Prime-Hack.Net {FFFFFF}и {00A2FF}BlastHack.Net" -1
0B34: samp register_client_command "bc" to_label @Label00049F
0B34: samp register_client_command "bcm" to_label @Label000657
0B34: samp register_client_command "bcc" to_label @Label0007A6
0B34: samp register_client_command "ctp" to_label @Label0008A9
0B34: samp register_client_command "chp" to_label @Label000DC7
0B34: samp register_client_command "crp" to_label @Label0009AC
0B34: samp register_client_command "mrp" to_label @Label000AAF
0B34: samp register_client_command "coordz" to_label @Label000EB5
0B34: samp register_client_command "cinfo" to_label @Label000B1E
gosub @Label000FA7
:Label0001E4
wait 0
if
29@ == 1
jf @Label00025F
Actor.StorePos(4@, 6@, 7@, 8@)
005B: 8@ += 14@ // (float)
SAMP.SendEnterVehicle(1@, 0)
wait 200
Car.Health(3@) = 12@
Car.PutAt(3@, 6@, 7@, 8@)
call @Label0010B3 1 3@
0ACC: show_text_lowpriority "Car ~r~TP ~w~to ~g~Player" time 3000
:Label00025F
29@ = 0
if
28@ == 1
jf @Label0002C7
SAMP.SendEnterVehicle(1@, 0)
wait 200
Car.Health(3@) = 12@
Car.PutAt(3@, 9@, 10@, 11@)
call @Label0010B3 1 3@
0ACC: show_text_lowpriority "Car ~r~TP ~w~to ~g~Marker" time 3000
:Label0002C7
28@ = 0
if
27@ == 1
jf @Label000333
Car.StorePos(3@, 15@, 16@, 17@)
SAMP.SendEnterVehicle(1@, 0)
wait 200
Car.Health(3@) = 5
Car.PutAt(3@, 15@, 16@, 17@)
call @Label0010B3 1 3@
0ACC: show_text_lowpriority "Car ~g~Destroyed" time 3000
:Label000333
27@ = 0
if
26@ == 1
jf @Label0003AB
Actor.StorePos($PLAYER_ACTOR, 18@, 19@, 20@)
19@ -= 2.0
SAMP.SendEnterVehicle(1@, 0)
wait 200
Car.PutAt(3@, 18@, 19@, 20@)
call @Label0010B3 1 3@
0ACC: show_text_lowpriority "Car ~r~TP ~w~to ~g~Player" time 3000
:Label0003AB
26@ = 0
if
25@ == 1
jf @Label000417
Car.StorePos(3@, 15@, 16@, 17@)
SAMP.SendEnterVehicle(1@, 0)
wait 200
0A30: repair_car 3@
Car.PutAt(3@, 15@, 16@, 17@)
call @Label0010B3 1 3@
Car.RemoveReferences(3@)
0ACC: show_text_lowpriority "Car ~g~Repair" time 3000
:Label000417
25@ = 0
if
24@ == 1
jf @Label000491
4@ = Actor.CurrentCar($PLAYER_ACTOR)
jf @Label000491
0A30: repair_car 4@
wait 100
0407: store_coords_to 1@ 2@ 3@ from_car 4@ with_offset -1.5 0.0 0.0
0362: remove_actor $PLAYER_ACTOR from_car_and_place_at 1@ 2@ 3@
0ACC: show_text_lowpriority "Car ~g~Repair" time 3000
wait 1000
Car.RemoveReferences(4@)
:Label000491
24@ = 0
goto @Label0001E4
:Label00049F
if
29@ == 0
jf @Label00064E
SAMP.IsCommandTyped(0@)
if
0AD4: 0@ = scan_string 0@ format "%d %d" 1@ 2@
jf @Label000528
if
SAMP.IsPlayerConnected(2@)
jf @Label0005AC
3@ = SAMP.GetVehicleHandleBySAMPVehicleID(1@)
if
056E: car 3@ defined
jf @Label0005D5
4@ = SAMP.GetActorHandleByPlayerID(2@)
13@ = SAMP.GetPlayerNickname(2@)
if
056D: actor 4@ defined
jf @Label000613
29@ = 1
SAMP.CmdRet
:Label000528
29@ = 0
chatmsg "{F7DF00}Неверный формат команды. {FFFFFF}Пример: {F7DF00}/bc {0080FF}[ID] {FFFFFF}машины {0080FF}[ID] {FFFFFF}игрока" -1
SAMP.CmdRet
:Label0005AC
29@ = 0
chatmsg "{F7DF00}Игрока нет в сети" -1
SAMP.CmdRet
:Label0005D5
29@ = 0
chatmsg "{F7DF00}Машина вне зоны стрима / Не существует" -1
SAMP.CmdRet
:Label000613
29@ = 0
chatmsg "Игрок {F7DF00}%s {FFFFFF}вне зоны стрима" -1 13@
SAMP.CmdRet
:Label00064E
29@ = 0
SAMP.CmdRet
:Label000657
if
28@ == 0
jf @Label00079D
SAMP.IsCommandTyped(0@)
if
0AD4: 0@ = scan_string 0@ format "%d" 1@
jf @Label0006C0
if
0AB6: store_target_marker_coords_to 9@ 10@ 11@ // IF and SET
jf @Label000729
3@ = SAMP.GetVehicleHandleBySAMPVehicleID(1@)
if
056E: car 3@ defined
jf @Label00075F
28@ = 1
SAMP.CmdRet
:Label0006C0
28@ = 0
chatmsg "{F7DF00}Неверный формат команды. {FFFFFF}Пример: {F7DF00}/bcm {0080FF}[ID] {FFFFFF}машины" -1
SAMP.CmdRet
:Label000729
28@ = 0
chatmsg "{F7DF00}Вы не поставили метку на карту" -1
SAMP.CmdRet
:Label00075F
28@ = 0
chatmsg "{F7DF00}Машина вне зоны стрима / Не существует" -1
SAMP.CmdRet
:Label00079D
28@ = 0
SAMP.CmdRet
:Label0007A6
if
27@ == 0
jf @Label0008A0
SAMP.IsCommandTyped(0@)
if
0AD4: 0@ = scan_string 0@ format "%d" 1@
jf @Label0007F9
3@ = SAMP.GetVehicleHandleBySAMPVehicleID(1@)
if
056E: car 3@ defined
jf @Label000862
27@ = 1
SAMP.CmdRet
:Label0007F9
27@ = 0
chatmsg "{F7DF00}Неверный формат команды. {FFFFFF}Пример: {F7DF00}/bcc {0080FF}[ID] {FFFFFF}машины" -1
SAMP.CmdRet
:Label000862
27@ = 0
chatmsg "{F7DF00}Машина вне зоны стрима / Не существует" -1
SAMP.CmdRet
:Label0008A0
27@ = 0
SAMP.CmdRet
:Label0008A9
if
26@ == 0
jf @Label0009A3
SAMP.IsCommandTyped(0@)
if
0AD4: 0@ = scan_string 0@ format "%d" 1@
jf @Label0008FC
3@ = SAMP.GetVehicleHandleBySAMPVehicleID(1@)
if
056E: car 3@ defined
jf @Label000965
26@ = 1
SAMP.CmdRet
:Label0008FC
26@ = 0
chatmsg "{F7DF00}Неверный формат команды. {FFFFFF}Пример: {F7DF00}/ctp {0080FF}[ID] {FFFFFF}машины" -1
SAMP.CmdRet
:Label000965
26@ = 0
chatmsg "{F7DF00}Машина вне зоны стрима / Не существует" -1
SAMP.CmdRet
:Label0009A3
26@ = 0
SAMP.CmdRet
:Label0009AC
if
25@ == 0
jf @Label000AA6
SAMP.IsCommandTyped(0@)
if
0AD4: 0@ = scan_string 0@ format "%d" 1@
jf @Label0009FF
3@ = SAMP.GetVehicleHandleBySAMPVehicleID(1@)
if
056E: car 3@ defined
jf @Label000A68
25@ = 1
SAMP.CmdRet
:Label0009FF
25@ = 0
chatmsg "{F7DF00}Неверный формат команды. {FFFFFF}Пример: {F7DF00}/crp {0080FF}[ID] {FFFFFF}машины" -1
SAMP.CmdRet
:Label000A68
25@ = 0
chatmsg "{F7DF00}Машина вне зоны стрима / Не существует" -1
SAMP.CmdRet
:Label000AA6
25@ = 0
SAMP.CmdRet
:Label000AAF
if
24@ == 0
jf @Label000B15
if
Actor.Driving($PLAYER_ACTOR)
jf @Label000ADA
24@ = 1
SAMP.CmdRet
:Label000ADA
24@ = 0
chatmsg "{F7DF00}Необходимо быть за рулем автомобиля" -1
SAMP.CmdRet
:Label000B15
24@ = 0
SAMP.CmdRet
:Label000B1E
0AC6: 21@ = label @Label000B5C offset
SAMP.ShowDialog(1, "{FFFFFF}Обзор команд", 21@, "{FFFFFF}Закрыть", "", 0)
SAMP.CmdRet
// это СТРОКИ, а не крипт, смотреть и редактировать можно через HxD
// https://mh-nexus.de/en/hxd/
:Label000B5C
hex
7B 46 33 44 32 33 30 7D 2F 62 63 20 7B 46 46 46
46 46 46 7D 2D 20 D2 E5 EB E5 EF EE F0 F2 E8 F0
EE E2 E0 F2 FC 20 E0 E2 F2 EE 20 EA 20 E8 E3 F0
EE EA F3 20 28 CC EE E6 ED EE 20 E2 E7 EE F0 E2
E0 F2 FC 2C 20 EC EE E6 ED EE 20 EF F0 EE F1 F2
EE 20 F2 E5 EB E5 EF EE F0 F2 E8 F0 EE E2 E0 F2
FC 29 0A 7B 46 33 44 32 33 30 7D 2F 62 63 6D 20
7B 46 46 46 46 46 46 7D 2D 20 D2 E5 EB E5 EF EE
F0 F2 E8 F0 EE E2 E0 F2 FC 20 E0 E2 F2 EE 20 ED
E0 20 EC E5 F2 EA F3 20 28 CC EE E6 ED EE 20 E2
E7 EE F0 E2 E0 F2 FC 2C 20 EC EE E6 ED EE 20 EF
F0 EE F1 F2 EE 20 F2 E5 EB E5 EF EE F0 F2 E8 F0
EE E2 E0 F2 FC 29 0A 7B 46 33 44 32 33 30 7D 2F
62 63 63 20 7B 46 46 46 46 46 46 7D 2D 20 C2 E7
EE F0 E2 E0 F2 FC 20 E0 E2 F2 EE 20 ED E0 20 EC
E5 F1 F2 E5 0A 7B 46 33 44 32 33 30 7D 2F 63 74
70 20 7B 46 46 46 46 46 46 7D 2D 20 D2 E5 EB E5
EF EE F0 F2 E8 F0 EE E2 E0 F2 FC 20 E0 E2 F2 EE
20 EA 20 F1 E5 E1 E5 0A 7B 46 33 44 32 33 30 7D
2F 63 68 70 20 7B 46 46 46 46 46 46 7D 2D 20 D3
F1 F2 E0 ED EE E2 E8 F2 FC 20 EA EE EB 2D F7 20
48 50 20 E0 E2 F2 EE 20 28 D3 F1 F2 E0 ED E0 E2
EB E8 E2 E0 E5 EC 20 ED E0 20 F1 E2 EE B8 20 F3
F1 EC EE F2 F0 E5 ED E8 FF 2C 20 E4 EB FF 20 EA
EE EC E0 ED E4 20 2F 62 63 2C 20 2F 62 63 6D 29
0A 7B 46 33 44 32 33 30 7D 2F 63 72 70 20 7B 46
46 46 46 46 46 7D 2D 20 CF EE F7 E8 ED E8 F2 FC
20 E0 E2 F2 EE 20 ED E0 20 F0 E0 F1 F1 F2 EE FF
ED E8 E8 0A 7B 46 33 44 32 33 30 7D 2F 6D 72 70
20 7B 46 46 46 46 46 46 7D 2D 20 CF EE F7 E8 ED
E8 F2 FC 20 E0 E2 F2 EE 20 E2 20 EA EE F2 EE F0
EE EC 20 E2 FB 20 ED E0 F5 EE E4 E8 F2 E5 F1 FC
20 28 D0 E0 E1 EE F2 E0 E5 F2 20 E7 E0 20 F0 F3
EB E5 EC 29 0A 7B 46 33 44 32 33 30 7D 2F 63 6F
6F 72 64 7A 20 7B 46 46 46 46 46 46 7D 2D 20 D3
F1 F2 E0 ED EE E2 E8 F2 FC 20 E2 FB F1 EE F2 F3
20 F2 E5 EB E5 EF EE F0 F2 E0 20 E0 E2 F2 EE 20
EA 20 E8 E3 F0 EE EA F3 20 28 C4 EB FF 20 EA EE
EC E0 ED E4 FB 20 2F 62 63 29 00
end
:Label000DC7
0B35: samp 0@ = get_last_command_params
if
0AD4: 0@ = scan_string 0@ format "%d" 12@
jf @Label000E54
0AF1: write_int 12@ to_ini_file "CLEO\INI\CarFunc.ini" section "Setting" key "HealthCar"
chatmsg "{F7DF00}HealthCar {0080FF}[%d] {F7DF00}установлено" -1 12@
SAMP.CmdRet
:Label000E54
chatmsg "{F7DF00}Неверный формат команды. {FFFFFF}Пример: {F7DF00}/chp {0080FF}[Кол-ч] {FFFFFF}HP" -1
SAMP.CmdRet
:Label000EB5
SAMP.IsCommandTyped(0@)
if
0AD4: 0@ = scan_string 0@ format "%f" 14@
jf @Label000F3D
0AF3: write_float 14@ to_ini_file "CLEO\INI\CarFunc.ini" section "Setting" key "Coord Z"
chatmsg "{F7DF00}Высота {0080FF}[%f] {F7DF00}установлена" -1 14@
SAMP.CmdRet
:Label000F3D
chatmsg "{F7DF00}Неверный формат команды. {FFFFFF}Пример: {F7DF00}/coordz {0080FF}[2.0] {FFFFFF}координата" -1
SAMP.CmdRet
:Label000FA7
if
0AAB: file_exists "CLEO\INI\CarFunc.ini"
jf @Label000FD5
wait 0
goto @Label001055
:Label000FD5
if
8AE4: not directory_exists "CLEO\INI"
jf @Label000FF8
0AE5: create_directory "CLEO\INI" // IF and SET
:Label000FF8
0AF1: write_int 5 to_ini_file "CLEO\INI\CarFunc.ini" section "Setting" key "HealthCar"
0AF3: write_float 2.0 to_ini_file "CLEO\INI\CarFunc.ini" section "Setting" key "Coord Z"
:Label001055
0AF0: 12@ = get_int_from_ini_file "CLEO\INI\CarFunc.ini" section "Setting" key "HealthCar"
0AF2: 14@ = get_float_from_ini_file "CLEO\INI\CarFunc.ini" section "Setting" key "Coord Z"
return
:Label0010B3
if
1@ = SAMP.GetSAMPVehicleIDByCarHandle(0@)
jf @Label001247
alloc 31@ 63
0C0D: struct 31@ offset 0 size 2 = 1@
0C0D: struct 31@ offset 2 size 2 = 0
0C0D: struct 31@ offset 4 size 2 = 0
0C0D: struct 31@ offset 6 size 2 = 0
0A97: 17@ = car 0@ struct
17@ += 20
0A8D: 17@ = read_memory 17@ size 4 virtual_protect 0
0C0D: struct 31@ offset 8 size 4 = 18@
0C0D: struct 31@ offset 12 size 4 = 19@
0C0D: struct 31@ offset 16 size 4 = 20@
0C0D: struct 31@ offset 20 size 4 = 21@
0407: store_coords_to 24@ 23@ 22@ from_car 0@ with_offset 0.0 0.0 0.0
0C0D: struct 31@ offset 24 size 4 = 24@
0C0D: struct 31@ offset 28 size 4 = 23@
0C0D: struct 31@ offset 32 size 4 = 22@
0A97: 22@ = car 0@ struct
22@ += 68
0A8D: 21@ = read_memory 22@ size 4 virtual_protect 0
22@ += 4
0A8D: 20@ = read_memory 22@ size 4 virtual_protect 0
22@ += 4
0A8D: 19@ = read_memory 22@ size 4 virtual_protect 0
0C0D: struct 31@ offset 36 size 4 = 21@
0C0D: struct 31@ offset 40 size 4 = 20@
0C0D: struct 31@ offset 44 size 4 = 19@
18@ = Car.Health(0@)
0093: 17@ = integer 18@ to_float
0C0D: struct 31@ offset 48 size 4 = 17@
17@ = Actor.Health($PLAYER_ACTOR)
0C0D: struct 31@ offset 52 size 1 = 17@
29@ = BitStream.New()
BitStream.Write(29@, 200, BS_TYPE_BYTE, 1)
BitStream.Write(29@, 31@, BS_TYPE_ARRAY, 63)
RakNet.LiteSend(29@)
BitStream.Delete(29@)
free 31@
:Label001247
ret 0