#1 17-04-2010 15:37

FeniX-256
Registered: 26-10-2009
Posts: 12

Декомпиляция accessory.cs

Доброго времени суток уважаемые. Хотел посмотреть данный мод (accessory.cs) изнутри, пробовал декомпилировать через консоль, но мои попытки не увенчались успехом... Быть может, у кого-нибудь есть исходники?
Т.к. по всей видимости в этом моде используется эмуляция выстрела в точку прицела (06BC?), конкретно интересует эта самая эмуляция выстрелов в моде smile

Last edited by FeniX-256 (17-04-2010 15:38)

Offline

#2 17-04-2010 18:23

CLEO Xakep
From: Chernobyl
Registered: 14-04-2010
Posts: 30
Website

Re: Декомпиляция accessory.cs

У меня вот что декомпилилось...

// This file was decompiled using SASCM.INI published by Seemann (http://sannybuilder.com/files/SASCM.rar) on 13.10.2007

{$VERSION 3.1.0027}
{$CLEO .cs}

//-------------MAIN---------------
03A4: name_thread 'ACCES X    м}ьяЦ  8     DOMWM хяяя      OMWе	CHEAT1      м}ьяЦ  8     DOMWM nяяя      OMWе	CHEAT8   хяяяP (Пяя   	 Д         НМL?
   
  	 
    Ц !     ?бЂ M Јюяя–
   
    
hex
 01 20 04 20 06 20 03 1E 20 01 EC 7D FC FF D6 20
 04 20 38 20 07 20 20 1E 20 01 20 01 44 4F 4D 57
 4D 20 01 F5 FF FF FF 04 20 07 20 20 1E 20 01 20
 01 20 4F 4D 57 E5 03 09 43 48 45 41 54 31 20 20
 01 20 04 20 06 20 03 1E 20 01 EC 7D FC FF D6 20
 04 20 38 20 07 20 20 1E 20 01 20 01 44 4F 4D 57
 4D 20 01 6E FF FF FF 04 20 07 20 20 1E 20 01 20
 01 20 4F 4D 57 E5 03 09 43 48 45 41 54 38 20 20
 02 20 01 F5 FF FF FF 50 20 01 28 CF FF FF
end
068D: get_camera_position_to 8199@ 8200@ 8201@ 
04C4: store_coords_to 8202@ 8203@ 8204@ from_actor $2051 with_offset 1.356316E-19 1.356316E-19 0.8 
050A: 8197@ = distance_between_XYZ 8199@ 8200@ 8201@ and_XYZ 8202@ 8203@ 8204@ 
hex
 D6 20 04 15 21 20 03 05 20 06 20 20 20 3F
end
80E1:   not player 32 pressed_key 6 
hex
 4D 20 01 A3 FE FF FF 96 0A 02 0C 20 03 20 20 0A
 20
end
020A: set_car  door_status_to 8224@ 
hex
 05 75 04 8D 0A 03 20 20 20 03 20 20 04 01
end
0A8D: 8201@ = read_memory 8224@ size 1 virtual_protect 32 
hex
 0A 20 03 20 20 05 A2 02
end
0A8D: 8224@ = read_memory 8224@ size 1 virtual_protect 32 
hex
 D6 20 04 03 19 20 03 08 20 04 7F 1B 20 04 0F 03
 09 20 29 20 03 20 20 04 02 2B 20 04 07 03 20 20
 4D 20 01 B5 FF FF FF 0A 20 03 20 20 04 01
end
04B8: get_weapon_data_from_actor $2051 weapon_group 8224@ weapon 8193@ ammo 8195@ model 8194@ 
hex
 D6 20 04 01
end
8039:   not  8193@ == 32 
8039:   not  8195@ == 32 
hex
 4D 20 01 B5 FF FF FF C4 04 02 0C 20 06 20 20 20
 20
end
0204:   actor  near_car 1.356316E-19 radius -50.03137 8196@ flag 8197@ in_car 
hex
 03 06 20 07 01 03 02 20 03 04 20 03 05 20 03 06
 20 03 03 20
end
070A: AS_actor $2051 attach_to_object 8195@ offset 1.356316E-19 1.356316E-19 1.356316E-19 on_bone 6 16 perform_animation "NULL" IFP_file "NULL" time 1 
0382: set_object 8195@ collision_detection 32 
hex
 85 20 03 20 20 03 01 20 12 20 03 20 20 04 70 0A
 20 03 20 20 01 C0 AA C8 20 8D 0A 03 20 20 04 04
 04 20 03 1B 20 0A 20 03 20 20 04 1A
end
0A8D: 8218@ = read_memory 8224@ size 2 virtual_protect 32 
hex
 0A 20 03 20 20 04 02 8D 0A 03 20 20 04 04 04 20
 03 16 20 0A 20 03 20 20 04 04
end
0A8D: 8215@ = read_memory 8224@ size 4 virtual_protect 32 
hex
 0A 20 03 20 20 04 04 8D 0A 03 20 20 04 04 04 20
 03 18 20 0A 20 03 20 20 04 18
end
0A8D: 8217@ = read_memory 8224@ size 4 virtual_protect 32 
0A9F: 8224@ = current_thread_pointer 
hex
 0A 20 03 20 20 04 10 8D 0A 03 20 20 04 04 04 20
 03 20 20 0E 20 03 20 20 01 82 CD FF FF 0A 20 03
 01 20 04 EA 12 20 03 01 20 04 02 5A 20 03 20 20
 03 01 20 16 20 03 01 20 03 20 20 04 02 04 20 03
 20 20 93 20 03 20 20 03 20 20 13 20 03 19 20 06
 20 20 F0 41 73 20 03 20 20 03 19 20 07 20 03 19
 20 06 20 20 7A 44 73 20 03 19 20 03 20 20 92 20
 03 19 20 03 19 20
end
0390: load_txd_dictionary 'mod_acc  dot scope dark black sec_he sec_sg sec_fb sec_st 	spr_on 
lgt_on 	sgt_laser sgt_dot 
sgt_x35 sgt_x70рGVGWGbG.‹  P (ПяяЦ  HVHWHbH.M >ьяяЦ    
038F: load_texture "dot" as 1 // Load dictionary with 0390 first 
038F: load_texture "scope" as 2 // Load dictionary with 0390 first 
038F: load_texture "dark" as 3 // Load dictionary with 0390 first 
038F: load_texture "black" as 4 // Load dictionary with 0390 first 
038F: load_texture "sec_he" as 5 // Load dictionary with 0390 first 
038F: load_texture "sec_sg" as 6 // Load dictionary with 0390 first 
038F: load_texture "sec_fb" as 7 // Load dictionary with 0390 first 
038F: load_texture "sec_st" as 8 // Load dictionary with 0390 first 
038F: load_texture "spr_on" as 9 // Load dictionary with 0390 first 
038F: load_texture "lgt_on" as 10 // Load dictionary with 0390 first 
038F: load_texture "sgt_laser" as 11 // Load dictionary with 0390 first 
038F: load_texture "sgt_dot" as 12 // Load dictionary with 0390 first 
038F: load_texture "sgt_x35" as 13 // Load dictionary with 0390 first 
038F: load_texture "sgt_x70" as 14 // Load dictionary with 0390 first 
03F0: enable_text_draw 1 
0247: load_model #GRENADE 
0247: load_model #TEARGAS 
0247: load_model #FLARE 
0247: load_model 1582 
038B: load_requested_models 
hex
 01 20 04 20 50 20 01 28 CF FF FF D6 20 04 20 48
 02 05 56 01
end
0248:   model #TEARGAS available 
0248:   model #FLARE available 
0248:   model 1582 available 
hex
 4D 20 01 3E FC FF FF D6 20 04 06 19 20 03 15 20
 04 01
end
82D8:   not actor $2051 current_weapon == 25 
82D8:   not actor $2051 current_weapon == 26 
82D8:   not actor $2051 current_weapon == 27 
82D8:   not actor $2051 current_weapon == 35 
82D8:   not actor $2051 current_weapon == 36 
82D8:   not actor $2051 current_weapon == 37 
hex
 4D 20 01 D1 FB FF FF 81 08 02 08 20 04 20 8D 06
 03 07 20 03 08 20 03 09 03 09 20 C4 04 02 0C 20
 06 20 20 20 20
end
0204:   actor  near_car 1.356316E-19 radius 0.8 8202@ flag 8203@ in_car 
hex
 03 0C 03 07 20 03 08 20 03 09 20 03 0A 20 03 0B
 20 03 0C 20 03 05 20 D6 20 04 04 21 20 03 05 20
 06 20 20 20 3F 19 20 03 1D 20 04 03
end
82D8:   not actor $2051 current_weapon == 34 
82D8:   not actor $2051 current_weapon == 35 
82D8:   not actor $2051 current_weapon == 36 
hex
 4D 20 01 5C FA FF FF C4 04 02 0C 20 06 20 20 20
 20
end
0204:   actor  near_car 1.356316E-19 radius -50.03137 8196@ flag 8197@ in_car 
hex
 03 06 20 07 01 05
end
062E: unknown_get_actor 8196@ task 8197@ status_store_to 8198@ // ret 7 if not found 
hex
 03 0E 20 50 07 03 0E 20 04 20
end
09CA: set_object 8206@ immunities BP 1 FP 1 EP 1 CP 1 MP 1 
069B: attach_object 8206@ to_actor $2051 with_offset 1.356316E-19 1.356316E-19 -0.6254902 rotation 1.356316E-19 1.356316E-19 1.356316E-19 
0682: detach_object 8206@ 1.356316E-19 1.356316E-19 1.356316E-19 collision_detection 32 
0470: 8205@ = actor $2051 current_weapon 
04F4: put_actor $2051 into_turret_on_object 8206@ offset_from_object_origin 1.356316E-19 1.356316E-19 0.3 orientation 32 both_side_angle_limit 360.251 lock_weapon 8205@ 
0382: set_object 8206@ collision_detection 1 
0392: make_object 8206@ moveable 1 
0906: set_object 8206@ mass_to 50.03137 // float 
0908: set_object 8206@ turn_mass_to 50000.13 // float 
0172: 8205@ = actor $2051 Z_angle 
hex
 0F 20 03 0D 20 06 20 20 B4 42
end
0858: set_player $2050 scan_horizon_to_angle 8205@ rotation_speed 3602.008 
0A8D: 8194@ = read_memory 548858926 size 1 virtual_protect 32 
0A8C: write_memory 548858926 size 1 value 1 virtual_protect 32 
hex
 01 20 04 20 50 20 01 28 CF FF FF D6 20 04 04 CA
 01 AF F8 FF FF 9F 05 03 0E 20 03 07 20 03 08 20
 03 0C 20 94 04 04 20 03 07 20 03 08 20 03 09 20
 03 09 20 93 20 03 07 20 03 07 20 93 20 03 08 20
 03 08 20 17 20 03 07 20 06 20 20 40 42 17 20 03
 08 20 06 20 20 40 42 72 01 02 0C 20 03 09 20 53
 04 03 0E 20 06 20 20 20 20 06 20 20 20 20 03 09
 20 A2 05 03 0E 20 06 20 20 20 20 06 20 20 20 20
 06 20 20 20 20 87 20 03 0D 20 03 07 20 87 20 03
 07 20 03 08 20 13 20 03 08 20 06 20 20 80 BF F6
 03 09 20 03 0B 20 6B 20 03 07 20 03 0A 20 6B 20
 03 08 20 03 0B 20
end
02F7: 8202@ = sine 8201@ // (float) 
02F6: 8203@ = cosine 8201@ // (float) 
hex
 6B 20 03 0A 20 03 0D 20 6B 20 03 0B 20 03 0D 20
 5B 20 03 07 20 03 0A 20 5B 20 03 08 20 03 0B 20
end
01BB: store_object 8206@ position_to 8202@ 8203@ 8201@ 
02CE: 8202@ = ground_z_at 8202@ 8203@ 8201@ 
hex
 0B 20 03 0A 20 06 20 20 20 3F 63 20 03 09 20 03
 0A 20 87 20 03 0B 20 03 09 20 13 20 03 09 20 06
 20 20 DC C1 D6 20 04 01 21 20 03 09 20 06 20 20
 20 20 25 20 03 09 20 03 0C 20 4D 20 01 E6 F8 FF
 FF 87 20 03 0C 20 03 09 20 D6 20 04 01 23 20 06
 20 20 20 3F 03 0B 20 23 20 06 CD CC 8C 3F 03 0C
 20 4D 20 01 BD F8 FF FF 07 20 03 0C 20 06 CD CC
 8C 3F
end
0381: throw_object 8206@ velocity_in_direction 8199@ 8200@ 8204@ 
068D: get_camera_position_to 8199@ 8200@ 8201@ 
04C4: store_coords_to 8202@ 8203@ 8204@ from_actor $2051 with_offset 1.356316E-19 1.356316E-19 0.8 
050A: 8197@ = distance_between_XYZ 8199@ 8200@ 8201@ and_XYZ 8202@ 8203@ 8204@ 
068D: get_camera_position_to 8199@ 8200@ 8201@ 
04C4: store_coords_to 8202@ 8203@ 8204@ from_actor $2051 with_offset 1.356316E-19 1.356316E-19 0.8 
050A: 8197@ = distance_between_XYZ 8199@ 8200@ 8201@ and_XYZ 8202@ 8203@ 8204@ 
hex
 D6 20 04 20
end
03CA:   object 8206@ exists 
hex
 4D 20 01 04 F8 FF FF D6 20 04 16 E1 20 04 20 04
 04 E1 20 04 20 04 06 E1 20 04 20 04 11 4D 20 01
 0C D0 FF FF D6 20 04 15 21 20 03 05 20 06 20 20
 20 3F
end
80E1:   not player 32 pressed_key 6 
hex
 4D 20 01 61 F6 FF FF 96 0A 02 0C 20 03 20 20 0A
 20
end
020A: set_car  door_status_to 8224@ 
hex
 05 1C 07 8D 0A 03 20 20 04 04 04 20 03 20 20 D6
 20 04 20 39 20 03 20 20 04 20 4D 20 01 51 F4 FF
 FF D6 20 04 20 CA 03 03 1F 20 4D 20 01 A6 F7 FF
end
08FF:   object -1776279805 received_damage_type s$768 
0320: 
hex
 20 20 0A 20 03 20 20 05 75 04
end
0A8D: 8200@ = read_memory 8224@ size 1 virtual_protect 32 
hex
 0A 20 03 20 20 04 01 8D 0A 03 20 20 20 03 20 20
 05 A2 02 8D 0A 03 20 20 20 20 D6 20 04 03 19 20
 03 08 20 04 7F 1B 20 04 0F 03 09 20 29 20 03 20
 20 04 02 2B 20 04 07 03 20 20 4D 20 01 0C D0 FF
 FF 96 0A 02 0C 20 03 20 20 0A 20
end
020A: set_car  door_status_to 8224@ 
hex
 05 7C 04 8D 0A 03 20 20 04 04 04 20 03 20 20 D6
 20 04 20 39 80 03 20 20 04 20 4D 20 01 61 F6 FF
 FF 0A 20 03 20 20 04 2C
end
0A8D: 8224@ = read_memory 8224@ size 4 virtual_protect 32 
hex
 D6 20 04 20
end
8039:   not  8224@ == 32 
hex
 4D 20 01 61 F6 FF FF 0A 20 03 20 20 04 08
end
0A8D: 8224@ = read_memory 8224@ size 4 virtual_protect 32 
hex
 D6 20 04 20
end
8039:   not  8224@ == 32 
hex
 4D 20 01 61 F6 FF FF 0A 20 03 20 20 04 30
end
0A8D: 8196@ = read_memory 8224@ size 4 virtual_protect 32 
hex
 0A 20 03 20 20 04 04 8D 0A 03 20 20 04 04 04 20
 03 05 20 0A 20 03 20 20 04 04
end
0A8D: 8198@ = read_memory 8224@ size 4 virtual_protect 32 
068D: get_camera_position_to 8199@ 8200@ 8201@ 
hex
 63 20 03 04 20 03 07 20 63 20 03 05 20 03 08 20
 63 20 03 06 20 03 09 20 02 20 01 6C F1 FF FF 8D
 06 03 07 20 03 08 20 03 09 20
end
04C4: store_coords_to 8202@ 8203@ 8204@ from_actor $2051 with_offset 1.356316E-19 1.356316E-19 0.8 
050A: 8197@ = distance_between_XYZ 8199@ 8200@ 8201@ and_XYZ 8202@ 8203@ 8204@ 
hex
 D6 20 04 15
end
8021:   not  8197@ > 0.6254902 
hex
 E1 20 04 20 04 06 4D 20 01 DC F1 FF FF 8E 06 03
 04 20 03 05 20 03 06 20 63 20 03 04 20 03 07 20
 63 20 03 05 20 03 08 20 63 20 03 06 20 03 09 20
end
0509: 8197@ = distance_between_XY 8196@ 8197@ and_XY 1.356316E-19 1.356316E-19 
hex
 50 20 01 83 CE FF FF 01 08 03 0D 20 01 08 03 06
 20 06 20 17 20 03 06 20 06 20 20 0C 42 13 20 03
 06 20 06 9A 99 99 BF 0B 20 03 06 20 06 33 33 83
 41 73 20 03 0D 20 03 06 20
end
04C4: store_coords_to 8202@ 8203@ 8204@ from_actor $2051 with_offset 1.356316E-19 1.356316E-19 0.8 
050A: 8197@ = distance_between_XYZ 8199@ 8200@ 8201@ and_XYZ 8202@ 8203@ 8204@ 
hex
 D6 20 04 20 21 20 03 05 20 06 20 20 20 3F 4D 20
 01 0E F5 FF FF 8D 0A 01 A4 EF C3 20 04 04 04 20
 03 06 20 13 20 03 0D 20 06 CD CC CC 3F 73 20 03
 0D 20 03 06 20 5B 20 03 04 20 03 0D 20 6B 20 03
 0D 20 03 06 20 17 20 03 0D 20 06 CD CC CC 3F 02
 20 01 04 F5 FF FF 07 20 03 0D 20 06 20 20 20 20
end
02F7: 8197@ = sine 8196@ // (float) 
02F6: 8198@ = cosine 8196@ // (float) 
hex
 13 20 03 06 20 06 20 20 80 BF 17 20 03 0D 20 06
 20 20 48 43
end
0656: get_angle 8196@ absolute_degrees_to 8196@ 
hex
 0B 20 03 04 20 06 20 20 87 C3 97 20 03 04 20 17
 20 03 04 20 06 20 20 B4 42 6B 20 03 04 20 03 04
 20 6B 20 03 04 20 03 0D 20 C4 04 02 0C 20 03 04
 20 03 06 03 06 20 03 05 20 03 04 20 03 05 20 03
 06 20 C4 04 02 0C 20 06 20 20 20 20
end
0204:   actor  near_car 1.356316E-19 radius 1.356316E-19 8199@ flag 8200@ in_car 
0903: NOP 
hex
 20 63 20 03 04 20 03 07 20 63 20 03 05 20 03 08
 20 63 20 03 06 20 03 09 20 8D 06 03 07 20 03 08
 20 03 09 20 02 20 01 6C F1 FF FF 8D 0A 01 90 44
 B7 20 04 04 04 20 03 07 20 8D 0A 03 07 20 04 04
 04 20 03 08 20 0A 20 03 07 20 04 08
end
0A8D: 8201@ = read_memory 8199@ size 4 virtual_protect 32 
hex
 12 20 03 09 20 05 C4 07 5A 20 03 09 20 03 08 20
 D6 20 04 01 2D 20 03 20 20 03 08 20 1D 20 03 09
 20 03 20 20 4D 20 01 39 F2 FF FF 0A 20 03 07 20
 04 FC
end
0A8D: 8201@ = read_memory 8199@ size 4 virtual_protect 32 
hex
 85 20 03 07 20 03 20 20 62 20 03 07 20 03 08 20
 16 20 03 07 20 05 C4 07 5A 20 03 09 20 03 07 20
end
0A8D: 8201@ = read_memory 8201@ size 1 virtual_protect 32 
hex
 12 20 03 07 20 05 20 01 5A 20 03 07 20 03 09 20
 D6 20 04 20
end
056D:   actor 8199@ defined 
hex
 4D 20 01 39 F2 FF FF D6 20 04 15 CA 83 03 1F 20
end
803B:   not  8222@ == 8199@ // (int) 
hex
 4D 20 01 EA F2 FF FF D6 20 04 20 CA 03 03 1F 20
 4D 20 01 6D F3 FF 20 85 20 03 1E 20 03 07 20 C4
 04 03 1E 20 06 20 20 20 20 06 20 20 20 20 06 20
 20 48 C2 03 07 20 03 08 20 03 09 20
end
0107: 8223@ = create_object 1582 at 8199@ 8200@ 8201@ 
070A: AS_actor 8222@ attach_to_object 8223@ offset 0.15 1.356316E-19 1.356316E-19 on_bone 1 16 perform_animation "NULL" IFP_file "NULL" time 1 
0382: set_object 8223@ collision_detection 32 
0566: link_object 8223@ to_interior 1 
0750: set_object 8223@ visibility 32 
09CA: set_object 8223@ immunities BP 1 FP 1 EP 1 CP 1 MP 1 
hex
 D6 20 04 20
end
8474:   not actor 8222@ near_object_in_cube 8223@ radius 0.6254902 0.6254902 1.50098 flag 32 
hex
 4D 20 01 80 F2 FF FF 0A 07 03 1E 20 03 1F 20 06
 9A 99 19 3E 06 20 20 20 20 06 20 20 20 20 04 01
end
0382: set_object 8223@ collision_detection 32 
0750: set_object 8223@ visibility 32 
09CA: set_object 8223@ immunities BP 1 FP 1 EP 1 CP 1 MP 1 
0420: unsupported_in_sa 
hex
 03 1F 20 06 20 20 20 20 06 20 20 20 20 06 20 20
 20 20 03 04 20 03 05 20 03 06 20 8D 06 03 07 20
 03 08 20 03 09 20 63 20 03 04 20 03 07 20 63 20
 03 05 20 03 08 20 63 20 03 06 20 03 09 20 02 20
 01 6C F1 FF FF 0A 20 03 20 20 04 14
end
0A8D: 8224@ = read_memory 8224@ size 4 virtual_protect 32 
hex
 0A 20 03 20 20 04 30 8D 0A 03 20 20 04 04 04 20
 03 04 20 0A 20 03 20 20 04 04
end
0A8D: 8197@ = read_memory 8224@ size 4 virtual_protect 32 
hex
 0A 20 03 20 20 04 04 8D 0A 03 20 20 04 04 04 20
 03 06 20 0B 20 03 06 20 06 20 20 20 3F 02 20 01
 6C F1 FF FF
end
04C4: store_coords_to 8196@ 8197@ 8198@ from_actor $2051 with_offset 1.356316E-19 1.00098 1.356316E-19 
04C4: store_coords_to 8199@ 8200@ 8201@ from_actor $2051 with_offset 1.356316E-19 1.356316E-19 1.356316E-19 
hex
 63 20 03 04 20 03 07 20 63 20 03 05 20 03 08 20
 63 20 03 06 20 03 09 20 20 04 03 03 20 03 16 20
 03 17 20 03 18 20 03 07 20 03 08 20 03 09 20 02
 20 01 6C F1 FF FF
end
050A: 8205@ = distance_between_XYZ 8196@ 8197@ 8198@ and_XYZ 1.356316E-19 1.356316E-19 1.356316E-19 
hex
 73 20 03 04 20 03 0D 20 73 20 03 05 20 03 0D 20
 73 20 03 06 20 03 0D 20 20 04 03 03 20 06 20 20
 20 20 06 20 20 20 20 06 20 20 20 20 03 0A 20 03
 0B 20 03 0C 03 07 20 03 08 20 03 09 20 03 0A 20
 03 0B 20 03 0C 20 03 0D 20 0B 20 03 0D 20 06 20
 20 20 3F 6B 20 03 04 20 03 0D 20 6B 20 03 05 20
 03 0D 20 6B 20 03 06 20 03 0D 20 5B 20 03 07 20
 03 04 20 5B 20 03 08 20 03 05 20 5B 20 03 09 20
 03 06 20 17 20 03 0D 20 06 20 20 20 41 73 20 03
 04 20 03 0D 20 73 20 03 05 20 03 0D 20 73 20 03
 06 20 03 0D 20 06 20 03 20 20 04 20 87 20 03 0A
 20 03 07 20 87 20 03 0B 20 03 08 20 87 20 03 0C
 20 03 09 20 5B 20 03 07 20 03 04 20 5B 20 03 08
 20 03 05 20 5B 20 03 09 20 03 06 20 D6 20 04 20
 39 20 03 20 20 04 0A 4D 20 01 0B F0 FF FF 87 20
 03 12 20 03 07 20 87 20 03 13 20 03 08 20 87 20
 03 14 20 03 09 20 D6 20 04 15 39 20 03 1D 20 04
 02 39 20 03 1D 20 04 03 4D 20 01 12 F0 FF FF D5
 04 03 07 20 03 08 20 03 09 20 06 CD CC 4C 3D 04
 20 04 20 05 FF 20 04 20 04 20 02 20 01 9A EC FF
 FF D6 20 04 20 BD 86 03 07 20 03 08 20 03 09 20
 03 0A 20 03 0B 20 03 0C 20 04 01 04 01 04 01 04
 01 04 20 4D 20 01 AF EC FF FF 63 20 03 07 20 03
 04 20 63 20 03 08 20 03 05 20 63 20 03 09 20 03
 06 20 17 20 03 04 20 06 20 20 20 41 17 20 03 05
 20 06 20 20 20 41 17 20 03 06 20 06 20 20 20 41
 06 20 03 20 20 04 20 87 20 03 0A 20 03 07 20 87
 20 03 0B 20 03 08 20 87 20 03 0C 20 03 09 20 5B
 20 03 07 20 03 04 20 5B 20 03 08 20 03 05 20 5B
 20 03 09 20 03 06 20 D6 20 04 20 BD 86 03 07 20
 03 08 20 03 09 20 03 0A 20 03 0B 20 03 0C 20 04
 01 04 01 04 01 04 01 04 20 4D 20 01 CB EC FF FF
 63 20 03 07 20 03 04 20 63 20 03 08 20 03 05 20
 63 20 03 09 20 03 06 20 17 20 03 04 20 06 20 20
 20 41 17 20 03 05 20 06 20 20 20 41 17 20 03 06
 20 06 20 20 20 41 06 20 03 20 20 04 20 87 20 03
 0A 20 03 07 20 87 20 03 0B 20 03 08 20 87 20 03
 0C 20 03 09 20 5B 20 03 07 20 03 04 20 5B 20 03
 08 20 03 05 20 5B 20 03 09 20 03 06 20 D6 20 04
 20 BD 86 03 07 20 03 08 20 03 09 20 03 0A 20 03
 0B 20 03 0C 20 04 01 04 01 04 01 04 01 04 20 4D
 20 01 E7 EC FF FF 63 20 03 07 20 03 04 20 63 20
 03 08 20 03 05 20 63 20 03 09 20 03 06 20 17 20
 03 04 20 06 20 20 20 41 17 20 03 05 20 06 20 20
 20 41 17 20 03 06 20 06 20 20 20 41 06 20 03 20
 20 04 20 87 20 03 0A 20 03 07 20 87 20 03 0B 20
 03 08 20 87 20 03 0C 20 03 09 20 5B 20 03 07 20
 03 04 20 5B 20 03 08 20 03 05 20 5B 20 03 09 20
 03 06 20 D6 20 04 20 BD 86 03 07 20 03 08 20 03
 09 20 03 0A 20 03 0B 20 03 0C 20 04 01 04 01 04
 20 04 01 04 20 4D 20 01 B5 ED FF FF 87 20 03 12
 20 03 07 20 87 20 03 13 20 03 08 20 87 20 03 14
 20 03 09 20 63 20 03 07 20 03 04 20 63 20 03 08
 20 03 05 20 63 20 03 09 20 03 06 20 D6 20 04 15
 39 20 03 1D 20 04 02 39 20 03 1D 20 04 03 4D 20
 01 BC ED FF FF D5 04 03 07 20 03 08 20 03 09 20
 06 CD CC 4C 3D 04 20 04 20 05 FF 20 04 20 04 20
 02 20 01 EE EC FF FF D6 20 04 20 BD 86 03 07 20
 03 08 20 03 09 20 03 0A 20 03 0B 20 03 0C 20 04
 20 04 20 04 01 04 20 04 20 4D 20 01 03 ED FF FF
 87 20 03 12 20 03 07 20 87 20 03 13 20 03 08 20
 87 20 03 14 20 03 09 20 13 20 03 04 20 06 20 20
 D0 41 13 20 03 05 20 06 20 20 D0 41 13 20 03 06
 20 06 20 20 D0 41 63 20 03 07 20 03 04 20 63 20
 03 08 20 03 05 20 63 20 03 09 20 03 06 20 D6 20
 04 15 39 20 03 1D 20 04 02 39 20 03 1D 20 04 03
 4D 20 01 0A ED FF FF D5 04 03 07 20 03 08 20 03
 09 20 06 CD CC 4C 3D 04 20 04 20 05 FF 20 04 20
 04 20 02 20 01 EE EC FF FF 0A 20 03 20 20 04 01
 19 20 03 20 20 04 09 4D 20 01 79 EE FF FF 02 20
 01 D2 EC FF FF 0A 20 03 20 20 04 01 19 20 03 20
 20 04 09 4D 20 01 0F EF FF FF 02 20 01 B6 EC FF
 FF 0A 20 03 20 20 04 01 19 20 03 20 20 04 09 4D
 20 01 A5 EF FF FF 02 20 01 9A EC FF FF 0A 20 03
 20 20 04 01 19 20 03 20 20 04 0A 4D 20 01 A0 F0
 FF FF D6 20 04 15 39 20 03 1D 20 04 02 39 20 03
 1D 20 04 03 4D 20 01 A6 E5 FF FF 0B 20 03 18 20
 06 CD CC CC BD 20 04 03 03 20 03 16 20 03 17 20
 03 18 20 03 07 20 03 08 20 03 09 20 0B 20 03 18
 20 06 CD CC CC 3D 87 20 03 0A 20 03 12 20 87 20
 03 0B 20 03 13 20 87 20 03 0C 20 03 14 20 63 20
 03 0A 20 03 07 20 63 20 03 0B 20 03 08 20 63 20
 03 0C 20 03 09 20
end
050A: 8205@ = distance_between_XYZ 8202@ 8203@ 8204@ and_XYZ 1.356316E-19 1.356316E-19 1.356316E-19 
hex
 17 20 03 0D 20 06 CD CC CC 3C 73 20 03 0A 20 03
 0D 20 73 20 03 0B 20 03 0D 20 73 20 03 0C 20 03
 0D 20 5B 20 03 07 20 03 0A 20 5B 20 03 08 20 03
 0B 20 5B 20 03 09 20 03 0C 20
end
04D5: create_corona_at 8199@ 8200@ 8201@ radius 0.01 type 32 flare 32 RGB 8320 32 32 
hex
 5B 20 03 07 20 03 0A 20 5B 20 03 08 20 03 0B 20
 5B 20 03 09 20 03 0C 20
end
04D5: create_corona_at 8199@ 8200@ 8201@ radius 0.01 type 32 flare 32 RGB 124 32 32 
hex
 5B 20 03 07 20 03 0A 20 5B 20 03 08 20 03 0B 20
 5B 20 03 09 20 03 0C 20
end
04D5: create_corona_at 8199@ 8200@ 8201@ radius 0.01 type 32 flare 32 RGB 120 32 32 
hex
 5B 20 03 07 20 03 0A 20 5B 20 03 08 20 03 0B 20
 5B 20 03 09 20 03 0C 20
end
04D5: create_corona_at 8199@ 8200@ 8201@ radius 0.01 type 32 flare 32 RGB 116 32 32 
hex
 5B 20 03 07 20 03 0A 20 5B 20 03 08 20 03 0B 20
 5B 20 03 09 20 03 0C 20
end
04D5: create_corona_at 8199@ 8200@ 8201@ radius 0.01 type 32 flare 32 RGB 112 32 32 
hex
 5B 20 03 07 20 03 0A 20 5B 20 03 08 20 03 0B 20
 5B 20 03 09 20 03 0C 20
end
04D5: create_corona_at 8199@ 8200@ 8201@ radius 0.01 type 32 flare 32 RGB 108 32 32 
hex
 5B 20 03 07 20 03 0A 20 5B 20 03 08 20 03 0B 20
 5B 20 03 09 20 03 0C 20
end
04D5: create_corona_at 8199@ 8200@ 8201@ radius 0.01 type 32 flare 32 RGB 104 32 32 
hex
 5B 20 03 07 20 03 0A 20 5B 20 03 08 20 03 0B 20
 5B 20 03 09 20 03 0C 20
end
04D5: create_corona_at 8199@ 8200@ 8201@ radius 0.01 type 32 flare 32 RGB 100 32 32 
hex
 5B 20 03 07 20 03 0A 20 5B 20 03 08 20 03 0B 20
 5B 20 03 09 20 03 0C 20
end
04D5: create_corona_at 8199@ 8200@ 8201@ radius 0.01 type 32 flare 32 RGB 96 32 32 
hex
 5B 20 03 07 20 03 0A 20 5B 20 03 08 20 03 0B 20
 5B 20 03 09 20 03 0C 20
end
04D5: create_corona_at 8199@ 8200@ 8201@ radius 0.01 type 32 flare 32 RGB 92 32 32 
hex
 5B 20 03 07 20 03 0A 20 5B 20 03 08 20 03 0B 20
 5B 20 03 09 20 03 0C 20
end
04D5: create_corona_at 8199@ 8200@ 8201@ radius 0.01 type 32 flare 32 RGB 88 32 32 
hex
 5B 20 03 07 20 03 0A 20 5B 20 03 08 20 03 0B 20
 5B 20 03 09 20 03 0C 20
end
04D5: create_corona_at 8199@ 8200@ 8201@ radius 0.01 type 32 flare 32 RGB 84 32 32 
hex
 5B 20 03 07 20 03 0A 20 5B 20 03 08 20 03 0B 20
 5B 20 03 09 20 03 0C 20
end
04D5: create_corona_at 8199@ 8200@ 8201@ radius 0.01 type 32 flare 32 RGB 80 32 32 
hex
 5B 20 03 07 20 03 0A 20 5B 20 03 08 20 03 0B 20
 5B 20 03 09 20 03 0C 20
end
04D5: create_corona_at 8199@ 8200@ 8201@ radius 0.01 type 32 flare 32 RGB 76 32 32 
hex
 5B 20 03 07 20 03 0A 20 5B 20 03 08 20 03 0B 20
 5B 20 03 09 20 03 0C 20
end
04D5: create_corona_at 8199@ 8200@ 8201@ radius 0.01 type 32 flare 32 RGB 72 32 32 
hex
 5B 20 03 07 20 03 0A 20 5B 20 03 08 20 03 0B 20
 5B 20 03 09 20 03 0C 20
end
04D5: create_corona_at 8199@ 8200@ 8201@ radius 0.01 type 32 flare 32 RGB 68 32 32 
hex
 5B 20 03 07 20 03 0A 20 5B 20 03 08 20 03 0B 20
 5B 20 03 09 20 03 0C 20
end
04D5: create_corona_at 8199@ 8200@ 8201@ radius 0.01 type 32 flare 32 RGB 64 32 32 
hex
 5B 20 03 07 20 03 0A 20 5B 20 03 08 20 03 0B 20
 5B 20 03 09 20 03 0C 20
end
04D5: create_corona_at 8199@ 8200@ 8201@ radius 0.01 type 32 flare 32 RGB 60 32 32 
hex
 5B 20 03 07 20 03 0A 20 5B 20 03 08 20 03 0B 20
 5B 20 03 09 20 03 0C 20
end
04D5: create_corona_at 8199@ 8200@ 8201@ radius 0.01 type 32 flare 32 RGB 56 32 32 
hex
 5B 20 03 07 20 03 0A 20 5B 20 03 08 20 03 0B 20
 5B 20 03 09 20 03 0C 20
end
04D5: create_corona_at 8199@ 8200@ 8201@ radius 0.01 type 32 flare 32 RGB 52 32 32 
hex
 5B 20 03 07 20 03 0A 20 5B 20 03 08 20 03 0B 20
 5B 20 03 09 20 03 0C 20
end
04D5: create_corona_at 8199@ 8200@ 8201@ radius 0.01 type 32 flare 32 RGB 48 32 32 
hex
 5B 20 03 07 20 03 0A 20 5B 20 03 08 20 03 0B 20
 5B 20 03 09 20 03 0C 20
end
04D5: create_corona_at 8199@ 8200@ 8201@ radius 0.01 type 32 flare 32 RGB 44 32 32 
hex
 5B 20 03 07 20 03 0A 20 5B 20 03 08 20 03 0B 20
 5B 20 03 09 20 03 0C 20
end
04D5: create_corona_at 8199@ 8200@ 8201@ radius 0.01 type 32 flare 32 RGB 40 32 32 
hex
 5B 20 03 07 20 03 0A 20 5B 20 03 08 20 03 0B 20
 5B 20 03 09 20 03 0C 20
end
04D5: create_corona_at 8199@ 8200@ 8201@ radius 0.01 type 32 flare 32 RGB 36 32 32 
hex
 5B 20 03 07 20 03 0A 20 5B 20 03 08 20 03 0B 20
 5B 20 03 09 20 03 0C 20
end
04D5: create_corona_at 8199@ 8200@ 8201@ radius 0.01 type 32 flare 32 RGB 32 32 32 
hex
 5B 20 03 07 20 03 0A 20 5B 20 03 08 20 03 0B 20
 5B 20 03 09 20 03 0C 20
end
04D5: create_corona_at 8199@ 8200@ 8201@ radius 0.01 type 32 flare 32 RGB 28 32 32 
hex
 5B 20 03 07 20 03 0A 20 5B 20 03 08 20 03 0B 20
 5B 20 03 09 20 03 0C 20
end
04D5: create_corona_at 8199@ 8200@ 8201@ radius 0.01 type 32 flare 32 RGB 24 32 32 
hex
 5B 20 03 07 20 03 0A 20 5B 20 03 08 20 03 0B 20
 5B 20 03 09 20 03 0C 20
end
04D5: create_corona_at 8199@ 8200@ 8201@ radius 0.01 type 32 flare 32 RGB 20 32 32 
hex
 5B 20 03 07 20 03 0A 20 5B 20 03 08 20 03 0B 20
 5B 20 03 09 20 03 0C 20
end
04D5: create_corona_at 8199@ 8200@ 8201@ radius 0.01 type 32 flare 32 RGB 16 32 32 
hex
 5B 20 03 07 20 03 0A 20 5B 20 03 08 20 03 0B 20
 5B 20 03 09 20 03 0C 20
end
04D5: create_corona_at 8199@ 8200@ 8201@ radius 0.01 type 32 flare 32 RGB 12 32 32 
hex
 5B 20 03 07 20 03 0A 20 5B 20 03 08 20 03 0B 20
 5B 20 03 09 20 03 0C 20
end
04D5: create_corona_at 8199@ 8200@ 8201@ radius 0.01 type 32 flare 32 RGB 8 32 32 
hex
 5B 20 03 07 20 03 0A 20 5B 20 03 08 20 03 0B 20
 5B 20 03 09 20 03 0C 20
end
04D5: create_corona_at 8199@ 8200@ 8201@ radius 0.01 type 32 flare 32 RGB 4 32 32 
050A: 8205@ = distance_between_XYZ 8196@ 8197@ 8198@ and_XYZ 1.356316E-19 1.356316E-19 1.356316E-19 
hex
 73 20 03 04 20 03 0D 20 73 20 03 05 20 03 0D 20
 73 20 03 06 20 03 0D 20 D6 20 04 05
end
82D8:   not actor $2051 current_weapon == 25 
82D8:   not actor $2051 current_weapon == 26 
82D8:   not actor $2051 current_weapon == 27 
82D8:   not actor $2051 current_weapon == 35 
82D8:   not actor $2051 current_weapon == 36 
82D8:   not actor $2051 current_weapon == 37 
hex
 4D 20 01 A7 E4 FF FF 85 20 03 20 20 03 15 20 16
 20 03 20 20 04 02 62 20 03 20 20 03 15 20 D6 20
 04 01 39 20 03 20 20 04 20 E1 20 04 20 04 0A 4D
 20 01 FF E4 FF FF 0A 20 03 15 20 04 01 D6 20 04
 01 39 80 03 20 20 04 20
end
80E1:   not player 32 pressed_key 10 
hex
 4D 20 01 A7 E4 FF FF 0A 20 03 15 20 04 01 D6 20
 04 20 39 20 03 15 20 04 02 4D 20 01 C7 E4 FF FF
end
0881: set_player $2050 able_to_shoot_weapons 32 
hex
 D6 20 04 20 39 20 03 15 20 04 04 4D 20 01 A7 E4
 FF FF
end
0881: set_player $2050 able_to_shoot_weapons 1 
hex
 06 20 03 15 20 04 20 85 20 03 20 20 03 11 20 16
 20 03 20 20 04 02 62 20 03 20 20 03 11 20 D6 20
 04 01 39 20 03 20 20 04 20 E1 20 04 20 04 0B 4D
 20 01 6A E4 FF FF 0A 20 03 11 20 04 01 D6 20 04
 01 39 80 03 20 20 04 20
end
80E1:   not player 32 pressed_key 11 
hex
 4D 20 01 1D E4 FF FF 0A 20 03 11 20 04 01 D6 20
 04 20 39 20 03 11 20 04 04 4D 20 01 1D E4 FF FF
 D6 20 04 20
end
06B3:   searchlight 8208@ active 
hex
 4D 20 01 24 E4 FF FF B2 06 03 10 20 06 20 03 11
 20 04 20 85 20 03 20 20 03 1C 20 16 20 03 20 20
 04 02 62 20 03 20 20 03 1C 20 D6 20 04 01 39 20
 03 20 20 04 20 E1 20 04 20 04 08 4D 20 01 E0 E3
 FF FF 0A 20 03 1C 20 04 01 D6 20 04 01 39 80 03
 20 20 04 20
end
80E1:   not player 32 pressed_key 8 
hex
 4D 20 01 A8 E3 FF FF 0A 20 03 1C 20 04 01 D6 20
 04 20 39 20 03 1C 20 04 0A 4D 20 01 A8 E3 FF FF
 06 20 03 1C 20 04 20 D6 20 04 05 D8 82 02 0C 20
 04 19
end
82D8:   not actor $2051 current_weapon == 26 
82D8:   not actor $2051 current_weapon == 27 
82D8:   not actor $2051 current_weapon == 35 
82D8:   not actor $2051 current_weapon == 36 
82D8:   not actor $2051 current_weapon == 37 
hex
 4D 20 01 45 DF FF FF 85 20 03 20 20 03 1D 20 16
 20 03 20 20 04 02 62 20 03 20 20 03 1D 20 D6 20
 04 01 39 20 03 20 20 04 20 E1 20 04 20 04 09 4D
 20 01 36 E3 FF FF 0A 20 03 1D 20 04 01 D6 20 04
 01 39 80 03 20 20 04 20
end
80E1:   not player 32 pressed_key 9 
hex
 4D 20 01 39 E1 FF FF 7B 09 03 03 20 05 F7 03 0A
 20 03 1D 20 04 01 D6 20 04 20 39 20 03 1D 20 04
 04 4D 20 01 8F E1 FF FF
end
068D: get_camera_position_to 8199@ 8200@ 8201@ 
04C4: store_coords_to 8202@ 8203@ 8204@ from_actor $2051 with_offset 1.356316E-19 1.356316E-19 0.8 
050A: 8197@ = distance_between_XYZ 8199@ 8200@ 8201@ and_XYZ 8202@ 8203@ 8204@ 
hex
 D6 20 04 03 21 20 03 05 20 06 20 20 20 3F
end
82D8:   not actor $2051 current_weapon == 34 
82D8:   not actor $2051 current_weapon == 35 
82D8:   not actor $2051 current_weapon == 36 
hex
 4D 20 01 8F E1 FF FF C4 04 02 0C 20 06 20 20 20
 20
end
0204:   actor  near_car 1.356316E-19 radius -10.00784 8196@ flag 8197@ in_car 
hex
 03 06 20 07 01 05
end
062E: unknown_get_actor 8196@ task 8197@ status_store_to 8198@ // ret 7 if not found 
hex
 03 0E 20 50 07 03 0E 20 04 20
end
09CA: set_object 8206@ immunities BP 1 FP 1 EP 1 CP 1 MP 1 
069B: attach_object 8206@ to_actor $2051 with_offset 1.356316E-19 1.356316E-19 -0.6254902 rotation 1.356316E-19 1.356316E-19 1.356316E-19 
0682: detach_object 8206@ 1.356316E-19 1.356316E-19 1.356316E-19 collision_detection 32 
0470: 8205@ = actor $2051 current_weapon 
04F4: put_actor $2051 into_turret_on_object 8206@ offset_from_object_origin 1.356316E-19 1.356316E-19 0.3 orientation 32 both_side_angle_limit 360.251 lock_weapon 8205@ 
0382: set_object 8206@ collision_detection 1 
0392: make_object 8206@ moveable 1 
0906: set_object 8206@ mass_to 50.03137 // float 
0908: set_object 8206@ turn_mass_to 50000.13 // float 
0172: 8205@ = actor $2051 Z_angle 
hex
 0F 20 03 0D 20 06 20 20 B4 42
end
0858: set_player $2050 scan_horizon_to_angle 8205@ rotation_speed 3602.008 
0A8D: 8194@ = read_memory 548858926 size 1 virtual_protect 32 
0A8C: write_memory 548858926 size 1 value 1 virtual_protect 32 
hex
 D6 20 04 20 39 20 03 1D 20 04 0A 4D 20 01 39 E1
 FF FF D6 20 04 03
end
03CA:   object 8206@ exists 
82D8:   not actor $2051 current_weapon == 34 
82D8:   not actor $2051 current_weapon == 35 
82D8:   not actor $2051 current_weapon == 36 
hex
 4D 20 01 40 E1 FF FF 8C 0A 01 2E EC B6 20 04 20
end
0465: remove_actor $2051 from_turret_mode 
0108: destroy_object 8206@ 
hex
 06 20 03 1D 20 04 20 D6 20 04 15 39 20 03 1D 20
 04 04 39 20 03 1D 20 04 05 4D 20 01 98 E0 FF FF
end
038D: draw_texture 3 position 40.03137 224.5005 size 80.06274 480.251 RGBA 8447 32 32 8447 
038D: draw_texture 1 position 200.1255 224.5005 size 240.1255 480.251 RGBA 8447 32 32 8447 
038D: draw_texture 1 position 440.251 224.5005 size -240.1255 480.251 RGBA 8447 32 32 8447 
038D: draw_texture 3 position 600.502 224.5005 size 80.06274 480.251 RGBA 8447 32 32 8447 
hex
 D6 20 04 20 19 20 03 1D 20 04 05 4D 20 01 45 DF
 FF FF
end
038D: draw_texture 4 position 40.03137 224.5005 size 80.06274 480.251 RGBA 32 32 32 8447 
038D: draw_texture 2 position 200.1255 104.5627 size 240.1255 240.1255 RGBA 32 32 32 8447 
038D: draw_texture 2 position 440.251 104.5627 size -240.1255 240.1255 RGBA 32 32 32 8447 
038D: draw_texture 2 position 200.1255 344.501 size 240.1255 -240.1255 RGBA 32 32 32 8447 
038D: draw_texture 2 position 440.251 344.501 size -240.1255 -240.1255 RGBA 32 32 32 8447 
038D: draw_texture 4 position 600.502 224.5005 size 80.06274 480.251 RGBA 32 32 32 8447 
hex
 D6 20 04 15 39 20 03 1D 20 04 04 39 20 03 1D 20
 04 05 4D 20 01 97 DF FF FF 22 09 06 20 20 48 42
 06 20 20 48 42 04 04 15 39 20 03 1D 20 04 06 39
 20 03 1D 20 04 07 4D 20 01 6E DF FF FF 22 09 06
 20 20 A0 41 06 20 20 A0 41 04 04 15 39 20 03 1D
 20 04 08 39 20 03 1D 20 04 09 4D 20 01 45 DF FF
 FF 22 09 06 20 20 20 41 06 20 20 20 41 04 01 69
 67 BA 20 04 01 04 20 03 20 20 D6 20 04 20
end
8039:   not  8224@ == 32 
hex
 4D 20 01 F1 DD FF FF D6 20 04 20 19 20 03 1C 20
 04 01 4D 20 01 D8 DE FF FF 85 20 03 20 20 03 1C
 20 16 20 03 20 20 20 03 20 20 04 04
end
038D: draw_texture 8224@ position 400.251 28.01569 size 160.1255 160.1255 RGBA 8447 8447 8447 8447 
hex
 D6 20 04 20 19 20 03 15 20 04 01 4D 20 01 8B DE
 FF FF 85 20 03 20 20 03 15 20 16 20 03 20 20 04
 02 0A 20 03 20 20 04 08
end
038D: draw_texture 8224@ position 498.251 52.03137 size 160.1255 160.1255 RGBA 8447 8447 8447 8447 
hex
 D6 20 04 20 19 20 03 11 20 04 01 4D 20 01 3E DE
 FF FF 85 20 03 20 20 03 11 20 16 20 03 20 20 04
 02 0A 20 03 20 20 04 09
end
038D: draw_texture 8224@ position 444.251 76.06274 size 160.1255 160.1255 RGBA 8447 8447 8447 8447 
hex
 D6 20 04 20 19 20 03 1D 20 04 01 4D 20 01 F1 DD
 FF FF 85 20 03 20 20 03 1D 20 16 20 03 20 20 04
 02 0A 20 03 20 20 04 0A
end
038D: draw_texture 8224@ position 412.251 70.06274 size 160.1255 160.1255 RGBA 8447 8447 8447 8447 
hex
 D6 20 04 20 19 20 03 11 20 04 01 4D 20 01 06 DC
 FF FF D6 20 04 20
end
06B3:   searchlight 8208@ active 
hex
 4D 20 01 CA DD FF FF B2 06 03 10 20 0B 20 03 18
 20 06 CD CC CC BD 20 04 03 03 20 03 16 20 03 17
 20 03 18 20 03 07 20 03 08 20 03 09 20 0B 20 03
 18 20 06 CD CC CC 3D 87 20 03 0A 20 03 12 20 87
 20 03 0B 20 03 13 20 87 20 03 0C 20 03 14 20 63
 20 03 0A 20 03 07 20 63 20 03 0B 20 03 08 20 63
 20 03 0C 20 03 09 03 0A 20 03 0B 20 03 0C 20 06
 20 20 20 20 06 20 20 20 20 06 20 20 20 20 03 0D
 20 17 20 03 0D 20 06 20 20 C8 41 73 20 03 0A 20
 03 0D 20 73 20 03 0B 20 03 0D 20 73 20 03 0C 20
 03 0D 20 5B 20 03 0A 20 03 07 20 5B 20 03 0B 20
 03 08 20 D6 20 04 01 23 20 06 20 20 F0 40 03 0C
 20 31 20 03 0C 20 06 20 20 20 40 4D 20 01 F7 DC
 FF FF 07 20 03 0C 20 06 20 20 F0 40 D6 20 04 01
 23 20 06 20 20 20 40 03 0C 20 31 20 03 0C 20 20
 C0 4D 20 01 CE DC FF FF 07 20 03 0C 20 06 20 20
 20 C0 0B 20 03 0C 20 06 20 20 20 C0 5B 20 03 0C
 20 03 09 20 B1 06 03 07 20 03 08 20 03 09 20 03
 0A 20 03 0B 20 03 0C 20 06 20 20 A0 41 06 CD CC
 CC 3C 03 10 20 63 20 03 0A 20 03 07 20 63 20 03
 0B 20 03 08 20 63 20 03 0C 20 03 09 20 17 20 03
 0A 20 06 20 20 C8 41 17 20 03 0B 20 06 20 20 C8
 41 17 20 03 0C 20 06 20 20 C8 41 07 20 03 0D 20
 06 20 20 20 20 06 20 03 20 20 04 01 5B 20 03 07
 20 03 0A 20 5B 20 03 08 20 03 0B 20 5B 20 03 09
 20 03 0C 20 0B 20 03 0D 20 06 20 20 80 3E E5 09
 03 07 20 03 08 20 03 09 20 05 FF 03 05 FF 03 05
 FF 03 03 0D 20 0A 20 03 20 20 04 01 19 20 03 20
 20 04 19 4D 20 01 54 DC FF FF D6 20 04 15 E1 20
 04 20 04 04 E1 20 04 20 04 11 4D 20 01 F6 D8 FF
 FF 96 0A 02 0C 20 03 20 20 0A 20
end
020A: set_car  door_status_to 8224@ 
hex
 05 18 07 8D 0A 03 20 20 04 01 04 20 03 0D 20 12
 20 03 0D 20 04 1C 04 1C
end
0A96: 8224@ = actor $2051 struct 
hex
 5A 20 03 20 20 03 0D 20 0A 20 03 20 20 05 A4 05
end
0A8D: 8205@ = read_memory 8224@ size 4 virtual_protect 32 
hex
 D6 20 04 01 1B 20 0D 20
end
8019:   not  8213@ > 1 
hex
 4D 20 01 A6 DA FF FF 96 0A 02 0C 20 03 20 20 0A
 20
end
020A: set_car  door_status_to 8224@ 
0405: unsupported_in_sa 
hex
 05 8D 0A 03 20 20 0D 20 D6 20 04 20 19 20 03 0D
 20 04 01 4D 20 01 A6 DA FF FF
end
0A8C: write_memory 8224@ size 2 value 32 virtual_protect 32 
0420: unsupported_in_sa 
hex
 03 03 20 03 16 20 03 17 20 03 18 20 03 07 20 03
 08 20 03 09 20 87 20 03 0A 20 03 12 20 87 20 03
 0B 20 03 13 20 87 20 03 0C 20 03 14 20 63 20 03
 0A 20 03 07 20 63 20 03 0B 20 03 08 20 63 20 03
 0C 20 03 09 03 0A 20 03 0B 20 03 0C 20 06 20 20
 20 20 06 20 20 20 20 06 20 20 20 20 03 0D 20 73
 20 03 0D 20 03 1B 20 73 20 03 0A 20 03 0D 20 73
 20 03 0B 20 03 0D 20 73 20 03 0C 20 03 0D 20 5B
 20 03 0A 20 03 07 20 5B 20 03 0B 20 03 08 20 5B
 20 03 0C 20 03 09 03 07 20 03 08 20 03 09 20 03
 0A 20 03 0B 20 03 0C 20 D6 20 04 02 1B 20 0D 20
 19 20 03 15 20 04 01 1D 20 03 21 20 03 19 20 4D
 20 01 F6 D8 FF FF D6 20 04 05
end
82D8:   not actor $2051 current_weapon == 25 
82D8:   not actor $2051 current_weapon == 26 
82D8:   not actor $2051 current_weapon == 27 
82D8:   not actor $2051 current_weapon == 35 
82D8:   not actor $2051 current_weapon == 36 
82D8:   not actor $2051 current_weapon == 37 
hex
 4D 20 01 F6 D8 FF FF 20 04 03 03 20 03 16 20 03
 17 20 03 18 20 03 07 20 03 08 20 03 09 20 87 20
 03 0A 20 03 12 20 87 20 03 0B 20 03 13 20 87 20
 03 0C 20 03 14 20 63 20 03 0A 20 03 07 20 63 20
 03 0B 20 03 08 20 63 20 03 0C 20 03 09 20
end
050A: 8205@ = distance_between_XYZ 8202@ 8203@ 8204@ and_XYZ 1.356316E-19 1.356316E-19 1.356316E-19 
hex
 73 20 03 0D 20 03 1B 20 73 20 03 0A 20 03 0D 20
 73 20 03 0B 20 03 0D 20 73 20 03 0C 20 03 0D 20
 5B 20 03 0A 20 03 07 20 5B 20 03 0B 20 03 08 20
 5B 20 03 0C 20 03 09 20
end
06BC: create_M4_shoot_from 8199@ 8200@ 8201@ target 8202@ 8203@ 8204@ energy 8218@ 
058A: create_gun_flash_from 8199@ 8200@ 8201@ to 8202@ 8203@ 8204@ 
018C: play_sound 1135 at 8199@ 8200@ 8201@ 
0A96: 8224@ = actor $2051 struct 
hex
 0A 20 03 20 20 05 18 07
end
0A8D: 8205@ = read_memory 8224@ size 1 virtual_protect 32 
hex
 12 20 03 0D 20 04 1C 96 0A 02 0C 20 03 20 20 5A
 20
end
020A: set_car  door_status_to 8224@ 
hex
 03 0D 20 0A 20 03 20 20 05 A8 05 8D 0A 03 20 20
 04 04 04 20 03 0D 20 0E 20 03 0D 20 04 01
end
0A8C: write_memory 8224@ size 4 value 8205@ virtual_protect 32 
hex
 D6 20 04 20 1B 20 0D 20 4D 20 01 FD D8 FF FF 0A
 20 03 20 20 04 FC
end
0A8C: write_memory 8224@ size 4 value 2 virtual_protect 32 
hex
 06 20 03 21 20 04 20 D6 20 04 01 E1 20 04 20 04
 13 19 20 03 20 20 05 EE 02 4D 20 01 13 D0 FF FF
 D6 20 04 20 39 20 03 1C 20 04 02 4D 20 01 71 D6
 FF FF 06 20 03 20 20 01 B8 91 C8 20
end
0A8D: 8199@ = read_memory 8224@ size 4 virtual_protect 32 
hex
 D6 20 04 20 39 20 03 07 20 04 20 4D 20 01 89 D6
 FF FF 0A 20 03 20 20 01 48 6E 37 FF 16 20 03 20
 20 04 09 0A 20 03 20 20 01 10 91 C8 20 C4 04 02
 0C 20 06 20 20 20 20
end
0204:   actor  near_car 1.356316E-19 radius -3.001961 8199@ flag 8200@ in_car 
0903: NOP 
0720: NOP 
hex
 01 05 56 01 03 07 20 03 08 20 03 09 20 03 0F 20
 0B 20 03 18 20 06 CD CC 4C BD
end
069A: attach_object 8207@ to_object 8195@ with_offset 8214@ 8215@ 8216@ rotation 1.356316E-19 1.356316E-19 1.356316E-19 
0682: detach_object 8207@ 1.356316E-19 1.356316E-19 1.356316E-19 collision_detection 32 
09CA: set_object 8207@ immunities BP 32 FP 32 EP 1 CP 32 MP 32 
hex
 13 20 03 04 20 06 20 20 48 42 13 20 03 05 20 06
 20 20 48 42 13 20 03 06 20 06 20 20 48 42
end
0381: throw_object 8207@ velocity_in_direction 8196@ 8197@ 8198@ 
0382: set_object 8207@ collision_detection 1 
04D9: object 8207@ set_scripted_collision_check 1 
0906: set_object 8207@ mass_to 1.00098 // float 
0908: set_object 8207@ turn_mass_to 1.00098 // float 
0420: unsupported_in_sa 
hex
 03 03 20 03 16 20 03 17 20 03 18 20 03 07 20 03
 08 20 03 09 20 0B 20 03 16 20 06 20 20 80 3F 20
 04 03 03 20 03 16 20 03 17 20 03 18 20 03 0A 20
 03 0B 20 03 0C 20 0B 20 03 16 20 06 20 20 80 BF
 0B 20 03 18 20 06 CD CC 4C 3D
end
058A: create_gun_flash_from 8199@ 8200@ 8201@ to 8202@ 8203@ 8204@ 
058A: create_gun_flash_from 8199@ 8200@ 8201@ to 8202@ 8203@ 8204@ 
058A: create_gun_flash_from 8199@ 8200@ 8201@ to 8202@ 8203@ 8204@ 
018C: play_sound 1144 at 8199@ 8200@ 8201@ 
0A98: 8199@ = object 8207@ struct 
0A8C: write_memory 8224@ size 4 value 8199@ virtual_protect 32 
hex
 0A 20 03 20 20 01 F0 6E 37 FF 12 20 03 20 20 04
 09 0A 20 03 20 20 01 A8 91 C8 20 8C 0A 03 20 20
 04 04 04 10 04 20 0A 20 03 20 20 04 04 96 0A 02
 0C 20 03 07 20 8C 0A
end
020A: set_car  door_status_to 8224@ 
0404: unsupported_in_sa 
hex
 03 07 20 04 20 0A 20 03 20 20 04 08
end
0A8D: 8199@ = read_memory 548916100 size 4 virtual_protect 32 
hex
 0A 20 03 07 20 05 AC 0D
end
0A8C: write_memory 8224@ size 4 value 8199@ virtual_protect 32 
hex
 0A 20 03 20 20 04 04 8C 0A 03 20 20 20 01 71 D6
 FF FF 0A 20 03 20 20 04 24 19 20 03 20 20 01 14
 96 C8 20 4D 20 01 C1 D8 FF FF D6 20 04 20 39 20
 03 1C 20 04 04 4D 20 01 D7 D3 FF FF 06 20 03 20
 20 01 B8 91 C8 20
end
0A8D: 8199@ = read_memory 8224@ size 4 virtual_protect 32 
hex
 D6 20 04 20 39 20 03 07 20 04 20 4D 20 01 EF D3
 FF FF 0A 20 03 20 20 01 48 6E 37 FF 16 20 03 20
 20 04 09 0A 20 03 20 20 01 10 91 C8 20 C4 04 02
 0C 20 06 20 20 20 20
end
0204:   actor  near_car 1.356316E-19 radius -3.001961 8199@ flag 8200@ in_car 
0903: NOP 
0720: NOP 
hex
 01 05 57 01 03 07 20 03 08 20 03 09 20 03 0F 20
 0B 20 03 18 20 06 CD CC 4C BD
end
069A: attach_object 8207@ to_object 8195@ with_offset 8214@ 8215@ 8216@ rotation 1.356316E-19 1.356316E-19 1.356316E-19 
0682: detach_object 8207@ 1.356316E-19 1.356316E-19 1.356316E-19 collision_detection 32 
09CA: set_object 8207@ immunities BP 32 FP 32 EP 1 CP 32 MP 32 
hex
 13 20 03 04 20 06 20 20 48 42 13 20 03 05 20 06
 20 20 48 42 13 20 03 06 20 06 20 20 48 42
end
0381: throw_object 8207@ velocity_in_direction 8196@ 8197@ 8198@ 
0382: set_object 8207@ collision_detection 1 
04D9: object 8207@ set_scripted_collision_check 1 
0906: set_object 8207@ mass_to 1.00098 // float 
0908: set_object 8207@ turn_mass_to 1.00098 // float 
0420: unsupported_in_sa 
hex
 03 03 20 03 16 20 03 17 20 03 18 20 03 07 20 03
 08 20 03 09 20 0B 20 03 16 20 06 20 20 80 3F 20
 04 03 03 20 03 16 20 03 17 20 03 18 20 03 0A 20
 03 0B 20 03 0C 20 0B 20 03 16 20 06 20 20 80 BF
 0B 20 03 18 20 06 CD CC 4C 3D
end
058A: create_gun_flash_from 8199@ 8200@ 8201@ to 8202@ 8203@ 8204@ 
058A: create_gun_flash_from 8199@ 8200@ 8201@ to 8202@ 8203@ 8204@ 
058A: create_gun_flash_from 8199@ 8200@ 8201@ to 8202@ 8203@ 8204@ 
018C: play_sound 1144 at 8199@ 8200@ 8201@ 
066D: 8205@ = attach_particle "teargasAD" to_object 8207@ with_offset 1.356316E-19 1.356316E-19 0.1 flag 1 
064C: make_particle 8205@ visible 
064F: remove_references_to_particle 8205@ 
0A98: 8199@ = object 8207@ struct 
0A8C: write_memory 8224@ size 4 value 8199@ virtual_protect 32 
hex
 0A 20 03 20 20 01 F0 6E 37 FF 12 20 03 20 20 04
 09 0A 20 03 20 20 01 A8 91 C8 20 8C 0A 03 20 20
 04 04 04 11 04 20 0A 20 03 20 20 04 04 96 0A 02
 0C 20 03 07 20 8C 0A
end
020A: set_car  door_status_to 8224@ 
0404: unsupported_in_sa 
hex
 03 07 20 04 20 0A 20 03 20 20 04 08
end
0A8D: 8199@ = read_memory 548916100 size 4 virtual_protect 32 
hex
 0A 20 03 07 20 05 20 4E
end
0A8C: write_memory 8224@ size 4 value 8199@ virtual_protect 32 
hex
 0A 20 03 20 20 04 04 8C 0A 03 20 20 20 01 D7 D3
 FF FF 0A 20 03 20 20 04 24 19 20 03 20 20 01 14
 96 C8 20 4D 20 01 55 D6 FF FF D6 20 04 20 39 20
 03 1C 20 04 06 4D 20 01 6B D1 FF FF 06 20 03 20
 20 01 B8 91 C8 20
end
0A8D: 8199@ = read_memory 8224@ size 4 virtual_protect 32 
hex
 D6 20 04 20 39 20 03 07 20 04 20 4D 20 01 83 D1
 FF FF 0A 20 03 20 20 01 48 6E 37 FF 16 20 03 20
 20 04 09 0A 20 03 20 20 01 10 91 C8 20 C4 04 02
 0C 20 06 20 20 20 20
end
0204:   actor  near_car 1.356316E-19 radius -3.001961 8199@ flag 8200@ in_car 
0903: NOP 
0720: NOP 
hex
 01 05 62 01 03 07 20 03 08 20 03 09 20 03 0F 20
 0B 20 03 18 20 06 CD CC 4C BD
end
069A: attach_object 8207@ to_object 8195@ with_offset 8214@ 8215@ 8216@ rotation 1.356316E-19 1.356316E-19 1.356316E-19 
0682: detach_object 8207@ 1.356316E-19 1.356316E-19 1.356316E-19 collision_detection 32 
09CA: set_object 8207@ immunities BP 32 FP 32 EP 1 CP 32 MP 32 
hex
 13 20 03 04 20 06 20 20 48 42 13 20 03 05 20 06
 20 20 48 42 13 20 03 06 20 06 20 20 48 42
end
0381: throw_object 8207@ velocity_in_direction 8196@ 8197@ 8198@ 
0382: set_object 8207@ collision_detection 1 
04D9: object 8207@ set_scripted_collision_check 1 
0906: set_object 8207@ mass_to 1.00098 // float 
0908: set_object 8207@ turn_mass_to 1.00098 // float 
0420: unsupported_in_sa 
hex
 03 03 20 03 16 20 03 17 20 03 18 20 03 07 20 03
 08 20 03 09 20 0B 20 03 16 20 06 20 20 80 3F 20
 04 03 03 20 03 16 20 03 17 20 03 18 20 03 0A 20
 03 0B 20 03 0C 20 0B 20 03 16 20 06 20 20 80 BF
 0B 20 03 18 20 06 CD CC 4C 3D
end
058A: create_gun_flash_from 8199@ 8200@ 8201@ to 8202@ 8203@ 8204@ 
058A: create_gun_flash_from 8199@ 8200@ 8201@ to 8202@ 8203@ 8204@ 
058A: create_gun_flash_from 8199@ 8200@ 8201@ to 8202@ 8203@ 8204@ 
018C: play_sound 1144 at 8199@ 8200@ 8201@ 
0A98: 8199@ = object 8207@ struct 
0A8C: write_memory 8224@ size 4 value 8199@ virtual_protect 32 
hex
 0A 20 03 20 20 01 F0 6E 37 FF 12 20 03 20 20 04
 09 0A 20 03 20 20 01 A8 91 C8 20 8C 0A 03 20 20
 04 04 04 11 04 20 0A 20 03 20 20 04 04 96 0A 02
 0C 20 03 07 20 8C 0A
end
020A: set_car  door_status_to 8224@ 
0404: unsupported_in_sa 
hex
 03 07 20 04 20 0A 20 03 20 20 04 08
end
0A8D: 8199@ = read_memory 548916100 size 4 virtual_protect 32 
hex
 0A 20 03 07 20 05 10 27
end
0A8C: write_memory 8224@ size 4 value 8199@ virtual_protect 32 
hex
 0A 20 03 20 20 04 04 8C 0A 03 20 20 20 01 6B D1
 FF FF 0A 20 03 20 20 04 24 19 20 03 20 20 01 14
 96 C8 20 4D 20 01 BB D3 FF FF D6 20 04 20 39 20
 03 1C 20 04 08 4D 20 01 13 D0 FF FF 20 04 03 03
 20 03 16 20 03 17 20 03 18 20 03 07 20 03 08 20
 03 09 20 87 20 03 0A 20 03 12 20 87 20 03 0B 20
 03 13 20 87 20 03 0C 20 03 14 20 63 20 03 0A 20
 03 07 20 63 20 03 0B 20 03 08 20 63 20 03 0C 20
 03 09 03 0A 20 03 0B 20 03 0C 20 06 20 20 20 20
 06 20 20 20 20 06 20 20 20 20 03 0D 20 17 20 03
 0D 20 06 20 20 20 42 73 20 03 0A 20 03 0D 20 73
 20 03 0B 20 03 0D 20 73 20 03 0C 20 03 0D 20 5B
 20 03 0A 20 03 07 20 5B 20 03 0B 20 03 08 20 5B
 20 03 0C 20 03 09 20 06 20 03 20 20 04 20
end
0208: 8196@ = random_float_in_ranges -1.50098 1.50098 
0208: 8197@ = random_float_in_ranges -1.50098 1.50098 
0208: 8198@ = random_float_in_ranges -1.50098 1.50098 
hex
 5B 20 03 04 20 03 0A 20 5B 20 03 05 20 03 0B 20
 5B 20 03 06 20 03 0C 20
end
06BC: create_M4_shoot_from 8199@ 8200@ 8201@ target 8196@ 8197@ 8198@ energy 15 
058A: create_gun_flash_from 8199@ 8200@ 8201@ to 8196@ 8197@ 8198@ 
097B: play_audio_at_object 8195@ event 1157 
097A: play_audio_at 8199@ 8200@ 8201@ event 1157 
hex
 0A 20 03 20 20 04 01 19 20 03 20 20 04 07 4D 20
 01 B4 D0 FF FF 06 20 03 20 20 04 20 02 20 01 5C
 FA FF FF D6 20 04 20 CA 03 03 1F 20 4D 20 01 F7
 CF FF 20 D6 20 04 20 B3 06 03 10 20 4D 20 01 E2
 CF FF FF B2 06 03 10 20 D6 20 04 06 19 20 03 15
 20 04 01 D8 82 02 0C 20 04 19
end
82D8:   not actor $2051 current_weapon == 26 
82D8:   not actor $2051 current_weapon == 27 
82D8:   not actor $2051 current_weapon == 35 
82D8:   not actor $2051 current_weapon == 36 
82D8:   not actor $2051 current_weapon == 37 
hex
 4D 20 01 9F CF FF FF 81
end
0208: &22021 = random_float_in_ranges 1056@(2049@,1v) 18720@ 
hex
 01 49 02 05 57 01
end
0249: release_model #FLARE 
0249: release_model 1582 
hex
 D6 20 04 04
end
03CA:   object 8206@ exists 
hex
 19 20 03 1D 20 04 03 D8 82 02 0C 20 04 22
end
82D8:   not actor $2051 current_weapon == 35 
82D8:   not actor $2051 current_weapon == 36 
hex
 4D 20 01 3D CF FF FF 8C 0A 01 2E EC B6 20 04 20
end
0465: remove_actor $2051 from_turret_mode 
0108: destroy_object 8206@ 
0687: clear_actor $2051 task 
hex
 01 20 04 20
end
03F0: enable_text_draw 32 
0391: release_txd_dictionary 
hex
 01 20 04 32 02 20 01 B5 FF FF FF D6 20 04 20 CA
 C8 20
end
0A8D: 8199@ = read_memory 8224@ size 4 virtual_protect 32 
hex
 D6 20 04 20 3B 20 03 07 20 03 08 20 4D 20 01 9D
 CE FF FF 0A 20 03 20 20 01 F0 6E 37 FF 12 20 03
 20 20 20 03 20 20 01 B4 91 C8 20 8D 0A 01 84 CB
 B7 20 04 04 04 20 03 07 20 8C 0A 03 20 20 04 04
 03 07 20 04 20 02 20 01 85 CE FF FF 0A 20 03 20
 20 04 04 19 20 03 20 20 01 8C 91 C8 20 4D 20 01
 F8 CE FF FF 51 20
end
0509: 8196@ = distance_between_XY 8197@ 8198@ and_XY 1.356316E-19 1.356316E-19 
hex
 73 20 03 05 20 03 04 20 73 20 03 06 20 03 04 20
end
0509: 8196@ = distance_between_XY 8197@ 8198@ and_XY 1.356316E-19 1.00098 
hex
 06 20 03 20 20 04 20 17 20 03 04 20 06 20 20 20
 40 6B 20 03 04 20 03 04 20 87 20 03 06 20 03 04
 20 13 20 03 04 20 06 20 20 80 BF 0B 20 03 04 20
 06 20 20 80 3F FB 01 03 04 20 03 04 20 13 20 03
 04 20 06 20 20 80 BF 0B 20 03 04 20 06 20 20 80
 3F 6B 20 03 04 20 03 04 20 5B 20 03 04 20 03 06
 20 FB 01 03 04 20 03 04 20 0A 20 03 20 20 04 01
 19 20 03 20 20 04 0B 4D 20 01 42 CE FF FF 13 20
 03 04 20 06 20 20 80 45 13 20 03 04 20 06 20 20
 34 43 17 20 03 04 20 06 DB 0F 49 40 D6 20 04 20
 21 20 03 05 20 06 20 20 20 20 4D 20 01 84 CD FF
 FF 13 20 03 04 20 06 20 20 80 BF 0B 20 03 04 20
 06 20 20 B4 43 51 20 32 20 2D 20 26 20 22 20 32
 20 28 20 4B 20 5A 20 4B 20 4B 20 4B 20 0F 20 0F
 20 3A 20 3A 20 30 20 68 01

Я ничего почти ничего не понял...

Судя по всему тут защита Hex кодом...:wow:

Last edited by CLEO Xakep (17-04-2010 18:25)


~Надо уметь жить~
~1 правило хакера - не убей и не повреди без особой нужды~

Offline

#3 17-04-2010 18:24

~AquaZ~
Registered: 01-03-2010
Posts: 726

Re: Декомпиляция accessory.cs

Ух Ё! Умнее ничего сказать не могу... Это скорее всего ассемблерные вставки...

Offline

#4 17-04-2010 18:42

CLEO Xakep
From: Chernobyl
Registered: 14-04-2010
Posts: 30
Website

Re: Декомпиляция accessory.cs

ИДА тебе в помощь


~Надо уметь жить~
~1 правило хакера - не убей и не повреди без особой нужды~

Offline

#5 17-04-2010 18:44

~AquaZ~
Registered: 01-03-2010
Posts: 726

Re: Декомпиляция accessory.cs

А мне-то зачем?

Offline

#6 17-04-2010 18:53

Sanchez
Registered: 18-08-2006
Posts: 280

Re: Декомпиляция accessory.cs

@FeniX-256 - _http://pastebin.com/BZziV2BT

Offline

#7 17-04-2010 22:08

CLEO Xakep
From: Chernobyl
Registered: 14-04-2010
Posts: 30
Website

Re: Декомпиляция accessory.cs

Sorry...not be you


~Надо уметь жить~
~1 правило хакера - не убей и не повреди без особой нужды~

Offline

#8 18-04-2010 05:32

FeniX-256
Registered: 26-10-2009
Posts: 12

Re: Декомпиляция accessory.cs

Всем спасибо, санчезу особенное smile

Offline

#9 18-04-2010 07:44

GTASA
Registered: 13-09-2008
Posts: 476

Re: Декомпиляция accessory.cs

Вот исходник этого скрипта:

{$VERSION 3.1.0023}
{$CLEO .cs}

thread 'ACCES'

{
 0@ Memory 
 1@ Current Weapon
 2@ Weapon Model / Aim Mode
 3@ Weapon Obj
 4@ Aim X
 5@ Aim Y
 6@ Aim Z
 7@ X
 8@ Y
 9@ Z
10@ X
11@ Y
12@ Z
13@ Distance
14@ Turret Dummy
15@ Greande
16@ Flash Light
17@ Flash Flag
18@ Aim X
19@ Aim Y
20@ Aim Z
21@ Sirenced Flag
22@ Fire X
23@ Fire Y
24@ Fire Z
25@ Fire Time
26@ Damage
27@ Range
28@ Sub Weapon
29@ Scope Flag
30@ Locked Actpr
31@ Locked Obj
32@ Secondary Timer
33@ Primary Timer 
}

const
KEY_LGT = 11
KEY_SEC = 8
KEY_SGT = 9
KEY_SPR = 10
KEY_SWS = 19
end

:ACCES_I
wait 0
0006: 30@ = -229908 
if 
0038:   &0(30@,1i) == 0x574D4F44
jf @ACCES_I
0004: &0(30@,1i) = 0x574D4F00
03E5: show_text_box 'CHEAT1'

:ACCES_0
wait 0
0006: 30@ = -229908 
if 
0038:   &0(30@,1i) == 0x574D4F44
then
    0004: &0(30@,1i) = 0x574D4F00
    03E5: show_text_box 'CHEAT8'
    jump @ACCES_I
end
gosub @ACCES_GREN
068D: get_camera_position_to 7@ 8@ 9@
04C4: store_coords_to 10@ 11@ 12@ from_actor $PLAYER_ACTOR with_offset 0.0 0.0 0.8
050A: 5@ = distance_between_XYZ 7@ 8@ 9@ and_XYZ 10@ 11@ 12@
if or
0021:   5@ > 0.5
80E1:   not player 0 pressed_key 6 
jf @ACCES_1
0A96: 0@ = actor $PLAYER_ACTOR struct
000A: 0@ += 0x475 
0A8D: 8@ = read_memory 0@ size 1 virtual_protect 0
000A: 0@ += 0x1
0A8D: 9@ = read_memory 0@ size 1 virtual_protect 0
000A: 0@ += 0x2A2
0A8D: 0@ = read_memory 0@ size 1 virtual_protect 0
if and
0019:   8@ > 0x7F 
001B:   0xF > 9@ 
0029:   0@ >= 2 
002B:   7 >= 0@ 
jf @ACCES_0

:ACCES_1
000A: 0@ += 1 
04B8: get_weapon_data_from_actor $PLAYER_ACTOR weapon_group 0@ weapon 1@ ammo 3@ model 2@ 
if and
8039:   not 1@ == 0
8039:   not 3@ == 0
jf @ACCES_0
04C4: store_coords_to 4@ 5@ 6@ from_actor $PLAYER_ACTOR with_offset 0.0 0.0 -50.0
0107: 3@ = create_object 2@ at 4@ 5@ 6@
070A: AS_actor $PLAYER_ACTOR attach_to_object 3@ offset 0.0 0.0 0.0 on_bone 6 16 perform_animation "NULL" IFP_file "NULL" time 1 
0382: set_object 3@ collision_detection 0 
0085: 0@ = 1@ // (int) 
0012: 0@ *= 0x70
000A: 0@ += 0xC8AAC0
0A8D: 27@ = read_memory 0@ size 4 virtual_protect 0
000A: 0@ += 0x1A
0A8D: 26@ = read_memory 0@ size 2 virtual_protect 0
000A: 0@ += 0x2
0A8D: 22@ = read_memory 0@ size 4 virtual_protect 0
000A: 0@ += 0x4
0A8D: 23@ = read_memory 0@ size 4 virtual_protect 0
000A: 0@ += 0x4                                    
0A8D: 24@ = read_memory 0@ size 4 virtual_protect 0 
000A: 0@ += 0x18                                    
0A8D: 25@ = read_memory 0@ size 4 virtual_protect 0 
0A9F: 0@ = current_thread_pointer
000A: 0@ += 0x10
0A8D: 0@ = read_memory 0@ size 4 virtual_protect 0
000E: 0@ -= @ACCES_ANIM
000A: 1@ += -22
0012: 1@ *= 2 
005A: 0@ += 1@ // (int) 
0016: 1@ /= 2 
000A: 1@ += 22
0A8D: 0@ = read_memory 0@ size 2 virtual_protect 0
0093: 0@ = integer 0@ to_float 
0013: 25@ *= 30.0
0073: 0@ /= 25@ // (float) 
0007: 25@ = 1000.0 
0073: 25@ /= 0@ // (float) 
0092: 25@ = float 25@ to_integer 
0390: load_txd_dictionary 'mod_acc' 
038F: load_texture "dot" as 1 // Load dictionary with 0390 first 
038F: load_texture "scope" as 2 // Load dictionary with 0390 first 
038F: load_texture "dark" as 3 // Load dictionary with 0390 first 
038F: load_texture "black" as 4 // Load dictionary with 0390 first 
038F: load_texture "sec_he" as 5 // Load dictionary with 0390 first 
038F: load_texture "sec_sg" as 6 // Load dictionary with 0390 first 
038F: load_texture "sec_fb" as 7 // Load dictionary with 0390 first 
038F: load_texture "sec_st" as 8 // Load dictionary with 0390 first 
038F: load_texture "spr_on" as 9 // Load dictionary with 0390 first 
038F: load_texture "lgt_on" as 10 // Load dictionary with 0390 first 
038F: load_texture "sgt_laser" as 11 // Load dictionary with 0390 first 
038F: load_texture "sgt_dot" as 12 // Load dictionary with 0390 first 
038F: load_texture "sgt_x35" as 13 // Load dictionary with 0390 first 
038F: load_texture "sgt_x70" as 14 // Load dictionary with 0390 first 
03F0: enable_text_draw 1 
0247: load_model #GRENADE
0247: load_model #TEARGAS
0247: load_model #FLARE
0247: load_model 1582
038B: load_requested_models 

:ACCES_2
wait 0
gosub @ACCES_GREN
if
0248:   model #GRENADE available 
0248:   model #TEARGAS available 
0248:   model #FLARE available 
0248:   model 1582 available 
jf @ACCES_2
if and
0019:   21@ > 1
82D8:   not actor $PLAYER_ACTOR current_weapon == 25 
82D8:   not actor $PLAYER_ACTOR current_weapon == 26 
82D8:   not actor $PLAYER_ACTOR current_weapon == 27 
82D8:   not actor $PLAYER_ACTOR current_weapon == 35 
82D8:   not actor $PLAYER_ACTOR current_weapon == 36 
82D8:   not actor $PLAYER_ACTOR current_weapon == 37 
then 
    0881: set_player $PLAYER_CHAR able_to_shoot_weapons 0
end
068D: get_camera_position_to 7@ 8@ 9@
04C4: store_coords_to 10@ 11@ 12@ from_actor $PLAYER_ACTOR with_offset 0.0 0.0 0.8
050A: 5@ = distance_between_XYZ 7@ 8@ 9@ and_XYZ 10@ 11@ 12@
if and
0021:   5@ > 0.5
0019:   29@ > 3
82D8:   not actor $PLAYER_ACTOR current_weapon == 34 
82D8:   not actor $PLAYER_ACTOR current_weapon == 35 
82D8:   not actor $PLAYER_ACTOR current_weapon == 36 
then 
    04C4: store_coords_to 4@ 5@ 6@ from_actor $PLAYER_ACTOR with_offset 0.0 0.0 -50.0
    0107: 14@ = create_object 1582 at 4@ 5@ 6@
    0750: set_object 14@ visibility 0 
    09CA: set_object 14@ immunities BP 1 FP 1 EP 1 CP 1 MP 1 
    069B: attach_object 14@ to_actor $PLAYER_ACTOR with_offset 0.0 0.0 -0.5 rotation 0.0 0.0 0.0 
    0682: detach_object 14@ 0.0 0.0 0.0 collision_detection 0 
    0470: 13@ = actor $PLAYER_ACTOR current_weapon 
    04F4: put_actor $PLAYER_ACTOR into_turret_on_object 14@ offset_from_object_origin 0.0 0.0 0.3 orientation 0 both_side_angle_limit 360.0 lock_weapon 13@
    0382: set_object 14@ collision_detection 1
    0392: make_object 14@ moveable 1 
    0906: set_object 14@ mass_to 50.0 // float 
    0908: set_object 14@ turn_mass_to 50000.0 // float 
    0172: 13@ = actor $PLAYER_ACTOR Z_angle 
    000F: 13@ -= 90.0 
    0858: set_player $PLAYER_CHAR scan_horizon_to_angle 13@ rotation_speed 3600.0 
    0A8D: 2@ = read_memory 0xB6EC2E size 1 virtual_protect 0
    0A8C: write_memory 0xB6EC2E size 1 value 1 virtual_protect 0
end

:ACCES_3
wait 0
gosub @ACCES_GREN
if and
03CA:   object 14@ exists 
0019:   29@ > 3
82D8:   not actor $PLAYER_ACTOR current_weapon == 34 
82D8:   not actor $PLAYER_ACTOR current_weapon == 35 
82D8:   not actor $PLAYER_ACTOR current_weapon == 36 
then 
    059F: get_object 14@ velocity_in_direction 7@ 8@ 12@ 
    0494: get_joystick 0 data_to 7@ 8@ 9@ 9@ 
    0093: 7@ = integer 7@ to_float 
    0093: 8@ = integer 8@ to_float 
    0017: 7@ /= 48.0 
    0017: 8@ /= 48.0 
    0172: 9@ = actor $PLAYER_ACTOR Z_angle 
    0453: set_object 14@ XY_rotation 0.0 0.0 angle 9@ 
    05A2: set_object 14@ rotation_velocity_about_an_axis 0.0 0.0 0.0 through_center_of_mass 
    0087: 13@ = 7@ // (float) 
    0087: 7@ = 8@ // (float) 
    0013: 8@ *= -1.0
    02F6: 10@ = cosine 9@ // (float) 
    02F7: 11@ = sine 9@ // (float) 
    006B: 7@ *= 10@ // (float) 
    006B: 8@ *= 11@ // (float) 
    02F7: 10@ = sine 9@ // (float) 
    02F6: 11@ = cosine 9@ // (float) 
    006B: 10@ *= 13@ // (float) 
    006B: 11@ *= 13@ // (float) 
    005B: 7@ += 10@ // (float) 
    005B: 8@ += 11@ // (float) 
    01BB: store_object 14@ position_to 10@ 11@ 9@
    02CE: 10@ = ground_z_at 10@ 11@ 9@
    000B: 10@ += 0.5
    0063: 9@ -= 10@ // (float) 
    0087: 11@ = 9@ // (float) 
    0013: 9@ *= -27.5
    if and
    0021:   9@ > 0.0 
    0025:   9@ > 12@ // (float) 
    then
        0087: 12@ = 9@ // (float) 
    end
    if and
    0023:   0.5 > 11@ 
    0023:   1.1 > 12@ 
    then
        0007: 12@ = 1.1
    end
    0381: throw_object 14@ velocity_in_direction 7@ 8@ 12@ 
end
068D: get_camera_position_to 7@ 8@ 9@
04C4: store_coords_to 10@ 11@ 12@ from_actor $PLAYER_ACTOR with_offset 0.0 0.0 0.8
050A: 5@ = distance_between_XYZ 7@ 8@ 9@ and_XYZ 10@ 11@ 12@
068D: get_camera_position_to 7@ 8@ 9@
04C4: store_coords_to 10@ 11@ 12@ from_actor $PLAYER_ACTOR with_offset 0.0 0.0 0.8
050A: 5@ = distance_between_XYZ 7@ 8@ 9@ and_XYZ 10@ 11@ 12@
if
03CA:   object 14@ exists 
then
    if or
    00E1:   player 0 pressed_key 4 
    00E1:   player 0 pressed_key 6 
    00E1:   player 0 pressed_key 17 
    jf @ACCES_8 
end
if or
0021:   5@ > 0.5
80E1:   not player 0 pressed_key 6 
jf @ACCES_4
0A96: 0@ = actor $PLAYER_ACTOR struct
000A: 0@ += 0x71C
0A8D: 0@ = read_memory 0@ size 4 virtual_protect 0
if
0039:   0@ == 0
jf @ACCES_5
if
03CA:   object 31@ exists 
then
    0108: destroy_object 31@ 
end
0A96: 0@ = actor $PLAYER_ACTOR struct
000A: 0@ += 0x475 
0A8D: 8@ = read_memory 0@ size 1 virtual_protect 0
000A: 0@ += 0x1
0A8D: 9@ = read_memory 0@ size 1 virtual_protect 0
000A: 0@ += 0x2A2
0A8D: 0@ = read_memory 0@ size 1 virtual_protect 0
if and
0019:   8@ > 0x7F 
001B:   0xF > 9@ 
0029:   0@ >= 2 
002B:   7 >= 0@ 
jf @ACCES_8
0A96: 0@ = actor $PLAYER_ACTOR struct
000A: 0@ += 0x47C
0A8D: 0@ = read_memory 0@ size 4 virtual_protect 0
if and
8039:   not 0@ == 0
jf @ACCES_4
000A: 0@ += 0x2C
0A8D: 0@ = read_memory 0@ size 4 virtual_protect 0
if
8039:   not 0@ == 0
jf @ACCES_4
000A: 0@ += 0x8
0A8D: 0@ = read_memory 0@ size 4 virtual_protect 0
if
8039:   not 0@ == 0
jf @ACCES_4
000A: 0@ += 0x30
0A8D: 4@ = read_memory 0@ size 4 virtual_protect 0
000A: 0@ += 0x4
0A8D: 5@ = read_memory 0@ size 4 virtual_protect 0
000A: 0@ += 0x4                                    
0A8D: 6@ = read_memory 0@ size 4 virtual_protect 0 
068D: get_camera_position_to 7@ 8@ 9@
0063: 4@ -= 7@ // (float) 
0063: 5@ -= 8@ // (float) 
0063: 6@ -= 9@ // (float)
jump @ACCES_7

:ACCES_4
068D: get_camera_position_to 7@ 8@ 9@
04C4: store_coords_to 10@ 11@ 12@ from_actor $PLAYER_ACTOR with_offset 0.0 0.0 0.8
050A: 5@ = distance_between_XYZ 7@ 8@ 9@ and_XYZ 10@ 11@ 12@
if or
8021:   not 5@ > 0.5
00E1:   player 0 pressed_key 6 
jf @ACCES_6 
068E: get_camera_target_point_to 4@ 5@ 6@
0063: 4@ -= 7@ // (float) 
0063: 5@ -= 8@ // (float) 
0063: 6@ -= 9@ // (float) 
0509: 5@ = distance_between_XY 4@ 5@ and_XY 0.0 0.0
gosub @ATAN 
0801: get_camera_zoom_factor_to 13@ // float 
0801: get_camera_zoom_factor_to 6@ // float 
0017: 6@ /= 35.0
0013: 6@ *= -1.2
000B: 6@ += 16.4 
0073: 13@ /= 6@ // (float) 
04C4: store_coords_to 10@ 11@ 12@ from_actor $PLAYER_ACTOR with_offset 0.0 0.0 0.8
050A: 5@ = distance_between_XYZ 7@ 8@ 9@ and_XYZ 10@ 11@ 12@
if 
0021:   5@ > 0.5 
then
    0A8D: 6@ = read_memory 0xC3EFA4 size 4 virtual_protect 0
    0013: 13@ *= 1.6
    0073: 13@ /= 6@ // (float) 
    005B: 4@ += 13@ // (float) 
    006B: 13@ *= 6@ // (float) 
    0017: 13@ /= 1.6 
else
    0007: 13@ = 0.0 
end 
02F7: 5@ = sine 4@ // (float) 
02F6: 6@ = cosine 4@ // (float) 
0013: 6@ *= -1.0
0017: 13@ /= 200.0 
0656: get_angle 4@ absolute_degrees_to 4@ 
000B: 4@ += -270.0
0097: make 4@ absolute_float 
0017: 4@ /= 90.0 
006B: 4@ *= 4@ // (float) 
006B: 4@ *= 13@ // (float) 
04C4: store_coords_to 4@ 5@ 6@ from_actor $PLAYER_ACTOR with_offset 4@ 6@ 5@
04C4: store_coords_to 7@ 8@ 9@ from_actor $PLAYER_ACTOR with_offset 0.0 0.0 0.0
0063: 4@ -= 7@ // (float) 
0063: 5@ -= 8@ // (float) 
0063: 6@ -= 9@ // (float)
068D: get_camera_position_to 7@ 8@ 9@
jump @ACCES_7

:ACCES_5
0A8D: 7@ = read_memory 0xB74490 size 4 virtual_protect 0
0A8D: 8@ = read_memory 7@ size 4 virtual_protect 0
000A: 7@ += 8 
0A8D: 9@ = read_memory 7@ size 4 virtual_protect 0
0012: 9@ *= 0x7C4
005A: 9@ += 8@ // (int)
if and 
002D:   0@ >= 8@ // (int) 
001D:   9@ > 0@ // (int) 
then
    000A: 7@ += -4 
    0A8D: 9@ = read_memory 7@ size 4 virtual_protect 0
    0085: 7@ = 0@ // (int) 
    0062: 7@ -= 8@ // (int) 
    0016: 7@ /= 0x7C4
    005A: 9@ += 7@ // (int) 
    0A8D: 9@ = read_memory 9@ size 1 virtual_protect 0
    0012: 7@ *= 0x100
    005A: 7@ += 9@ // (int) 
    if
    056D:   actor 7@ defined 
    then
        if or
        83CA:   not object 31@ exists 
        803B:   not 30@ == 7@ // (int)
        then 
            if
            03CA:   object 31@ exists 
            then
                0108: destroy_object 31@ 
            end
            0085: 30@ = 7@ // (int) 
            04C4: store_coords_to 7@ 8@ 9@ from_actor 30@ with_offset 0.0 0.0 -50.0
            0107: 31@ = create_object 1582 at 7@ 8@ 9@
            070A: AS_actor 30@ attach_to_object 31@ offset 0.15 0.0 0.0 on_bone 1 16 perform_animation "NULL" IFP_file "NULL" time 1 
            0382: set_object 31@ collision_detection 0
            0566: link_object 31@ to_interior 1 
            0750: set_object 31@ visibility 0 
            09CA: set_object 31@ immunities BP 1 FP 1 EP 1 CP 1 MP 1 
        end
        if
        8474:   not actor 30@ near_object_in_cube 31@ radius 0.5 0.5 1.5 flag 0 
        then
            070A: AS_actor 30@ attach_to_object 31@ offset 0.15 0.0 0.0 on_bone 1 16 perform_animation "NULL" IFP_file "NULL" time 1 
            0382: set_object 31@ collision_detection 0
            0750: set_object 31@ visibility 0 
            09CA: set_object 31@ immunities BP 1 FP 1 EP 1 CP 1 MP 1 
        end
        0400: store_coords_to 4@ 5@ 6@ from_object 31@ with_offset 0.0 0.0 0.0 
        068D: get_camera_position_to 7@ 8@ 9@
        0063: 4@ -= 7@ // (float) 
        0063: 5@ -= 8@ // (float) 
        0063: 6@ -= 9@ // (float) 
        jump @ACCES_7
    end
end
000A: 0@ += 0x14
0A8D: 0@ = read_memory 0@ size 4 virtual_protect 0
000A: 0@ += 0x30
0A8D: 4@ = read_memory 0@ size 4 virtual_protect 0
000A: 0@ += 0x4
0A8D: 5@ = read_memory 0@ size 4 virtual_protect 0
000A: 0@ += 0x4
0A8D: 6@ = read_memory 0@ size 4 virtual_protect 0
000B: 6@ += 0.5
jump @ACCES_7

:ACCES_6
04C4: store_coords_to 4@ 5@ 6@ from_actor $PLAYER_ACTOR with_offset 0.0 1.0 0.0
04C4: store_coords_to 7@ 8@ 9@ from_actor $PLAYER_ACTOR with_offset 0.0 0.0 0.0
0063: 4@ -= 7@ // (float) 
0063: 5@ -= 8@ // (float) 
0063: 6@ -= 9@ // (float) 
0400: store_coords_to 7@ 8@ 9@ from_object 3@ with_offset 22@ 23@ 24@
jump @ACCES_7

:ACCES_7
050A: 13@ = distance_between_XYZ 4@ 5@ 6@ and_XYZ 0.0 0.0 0.0
0073: 4@ /= 13@ // (float) 
0073: 5@ /= 13@ // (float) 
0073: 6@ /= 13@ // (float) 
0400: store_coords_to 10@ 11@ 12@ from_object 3@ with_offset 0.0 0.0 0.0 
050A: 13@ = distance_between_XYZ 7@ 8@ 9@ and_XYZ 10@ 11@ 12@
000B: 13@ += 0.5
006B: 4@ *= 13@ // (float) 
006B: 5@ *= 13@ // (float) 
006B: 6@ *= 13@ // (float) 
005B: 7@ += 4@ // (float) 
005B: 8@ += 5@ // (float) 
005B: 9@ += 6@ // (float)
0017: 13@ /= 10.0 
0073: 4@ /= 13@ // (float) 
0073: 5@ /= 13@ // (float) 
0073: 6@ /= 13@ // (float) 
for 0@ = 0 to 10
    0087: 10@ = 7@ // (float) 
    0087: 11@ = 8@ // (float) 
    0087: 12@ = 9@ // (float) 
    005B: 7@ += 4@ // (float) 
    005B: 8@ += 5@ // (float) 
    005B: 9@ += 6@ // (float)
    if
    0039:   0@ == 10
    then
        0087: 18@ = 7@ // (float) 
        0087: 19@ = 8@ // (float) 
        0087: 20@ = 9@ // (float) 
        if or
        0039:   29@ == 2
        0039:   29@ == 3
        then
            04D5: create_corona_at 7@ 8@ 9@ radius 0.05 type 0 flare 0 RGB 255 0 0
        end 
        break
    end
    if 
    86BD:   not no_obstacles_between 7@ 8@ 9@ and 10@ 11@ 12@ solid 1 car 1 actor 1 object 1 particle 0 
    then
        0063: 7@ -= 4@ // (float) 
        0063: 8@ -= 5@ // (float) 
        0063: 9@ -= 6@ // (float) 
        0017: 4@ /= 10.0 
        0017: 5@ /= 10.0 
        0017: 6@ /= 10.0 
        for 0@ = 0 to 9
            0087: 10@ = 7@ // (float) 
            0087: 11@ = 8@ // (float) 
            0087: 12@ = 9@ // (float) 
            005B: 7@ += 4@ // (float) 
            005B: 8@ += 5@ // (float) 
            005B: 9@ += 6@ // (float)
            if 
            86BD:   not no_obstacles_between 7@ 8@ 9@ and 10@ 11@ 12@ solid 1 car 1 actor 1 object 1 particle 0 
            then
                0063: 7@ -= 4@ // (float) 
                0063: 8@ -= 5@ // (float) 
                0063: 9@ -= 6@ // (float) 
                0017: 4@ /= 10.0 
                0017: 5@ /= 10.0 
                0017: 6@ /= 10.0 
                for 0@ = 0 to 9
                    0087: 10@ = 7@ // (float) 
                    0087: 11@ = 8@ // (float) 
                    0087: 12@ = 9@ // (float) 
                    005B: 7@ += 4@ // (float) 
                    005B: 8@ += 5@ // (float) 
                    005B: 9@ += 6@ // (float)
                    if 
                    86BD:   not no_obstacles_between 7@ 8@ 9@ and 10@ 11@ 12@ solid 1 car 1 actor 1 object 1 particle 0 
                    then
                        0063: 7@ -= 4@ // (float) 
                        0063: 8@ -= 5@ // (float) 
                        0063: 9@ -= 6@ // (float) 
                        0017: 4@ /= 10.0 
                        0017: 5@ /= 10.0 
                        0017: 6@ /= 10.0 
                        for 0@ = 0 to 9
                            0087: 10@ = 7@ // (float) 
                            0087: 11@ = 8@ // (float) 
                            0087: 12@ = 9@ // (float) 
                            005B: 7@ += 4@ // (float) 
                            005B: 8@ += 5@ // (float) 
                            005B: 9@ += 6@ // (float)
                            if 
                            86BD:   not no_obstacles_between 7@ 8@ 9@ and 10@ 11@ 12@ solid 1 car 1 actor 0 object 1 particle 0 
                            then
                                0087: 18@ = 7@ // (float) 
                                0087: 19@ = 8@ // (float) 
                                0087: 20@ = 9@ // (float) 
                                0063: 7@ -= 4@ // (float) 
                                0063: 8@ -= 5@ // (float) 
                                0063: 9@ -= 6@ // (float) 
                                if or
                                0039:   29@ == 2
                                0039:   29@ == 3
                                then
                                    04D5: create_corona_at 7@ 8@ 9@ radius 0.05 type 0 flare 0 RGB 255 0 0
                                end 
                                break
                            end
                            if 
                            86BD:   not no_obstacles_between 7@ 8@ 9@ and 10@ 11@ 12@ solid 0 car 0 actor 1 object 0 particle 0 
                            then
                                0087: 18@ = 7@ // (float) 
                                0087: 19@ = 8@ // (float) 
                                0087: 20@ = 9@ // (float) 
                                0013: 4@ *= 26.0
                                0013: 5@ *= 26.0
                                0013: 6@ *= 26.0
                                0063: 7@ -= 4@ // (float) 
                                0063: 8@ -= 5@ // (float) 
                                0063: 9@ -= 6@ // (float) 
                                if or
                                0039:   29@ == 2
                                0039:   29@ == 3
                                then
                                    04D5: create_corona_at 7@ 8@ 9@ radius 0.05 type 0 flare 0 RGB 255 0 0
                                end 
                                break
                            end
                        end
                        break
                    end
                end
                break
            end 
        end  
        break
    end
end
if or
0039:   29@ == 2
0039:   29@ == 3
then
    000B: 24@ += -0.1
    0400: store_coords_to 7@ 8@ 9@ from_object 3@ with_offset 22@ 23@ 24@
    000B: 24@ += 0.1
    0087: 10@ = 18@ // (float) 
    0087: 11@ = 19@ // (float) 
    0087: 12@ = 20@ // (float) 
    0063: 10@ -= 7@ // (float) 
    0063: 11@ -= 8@ // (float) 
    0063: 12@ -= 9@ // (float) 
    050A: 13@ = distance_between_XYZ 10@ 11@ 12@ and_XYZ 0.0 0.0 0.0
    0017: 13@ /= 0.025 
    0073: 10@ /= 13@ // (float) 
    0073: 11@ /= 13@ // (float) 
    0073: 12@ /= 13@ // (float) 
    005B: 7@ += 10@ // (float) 
    005B: 8@ += 11@ // (float) 
    005B: 9@ += 12@ // (float) 
    04D5: create_corona_at 7@ 8@ 9@ radius 0.01 type 0 flare 0 RGB 128 0 0 
    005B: 7@ += 10@ // (float) 
    005B: 8@ += 11@ // (float) 
    005B: 9@ += 12@ // (float) 
    04D5: create_corona_at 7@ 8@ 9@ radius 0.01 type 0 flare 0 RGB 124 0 0 
    005B: 7@ += 10@ // (float) 
    005B: 8@ += 11@ // (float) 
    005B: 9@ += 12@ // (float) 
    04D5: create_corona_at 7@ 8@ 9@ radius 0.01 type 0 flare 0 RGB 120 0 0 
    005B: 7@ += 10@ // (float) 
    005B: 8@ += 11@ // (float) 
    005B: 9@ += 12@ // (float) 
    04D5: create_corona_at 7@ 8@ 9@ radius 0.01 type 0 flare 0 RGB 116 0 0 
    005B: 7@ += 10@ // (float) 
    005B: 8@ += 11@ // (float) 
    005B: 9@ += 12@ // (float) 
    04D5: create_corona_at 7@ 8@ 9@ radius 0.01 type 0 flare 0 RGB 112 0 0 
    005B: 7@ += 10@ // (float) 
    005B: 8@ += 11@ // (float) 
    005B: 9@ += 12@ // (float) 
    04D5: create_corona_at 7@ 8@ 9@ radius 0.01 type 0 flare 0 RGB 108 0 0 
    005B: 7@ += 10@ // (float) 
    005B: 8@ += 11@ // (float) 
    005B: 9@ += 12@ // (float) 
    04D5: create_corona_at 7@ 8@ 9@ radius 0.01 type 0 flare 0 RGB 104 0 0 
    005B: 7@ += 10@ // (float) 
    005B: 8@ += 11@ // (float) 
    005B: 9@ += 12@ // (float) 
    04D5: create_corona_at 7@ 8@ 9@ radius 0.01 type 0 flare 0 RGB 100 0 0 
    005B: 7@ += 10@ // (float) 
    005B: 8@ += 11@ // (float) 
    005B: 9@ += 12@ // (float) 
    04D5: create_corona_at 7@ 8@ 9@ radius 0.01 type 0 flare 0 RGB 96 0 0 
    005B: 7@ += 10@ // (float) 
    005B: 8@ += 11@ // (float) 
    005B: 9@ += 12@ // (float) 
    04D5: create_corona_at 7@ 8@ 9@ radius 0.01 type 0 flare 0 RGB 92 0 0 
    005B: 7@ += 10@ // (float) 
    005B: 8@ += 11@ // (float) 
    005B: 9@ += 12@ // (float) 
    04D5: create_corona_at 7@ 8@ 9@ radius 0.01 type 0 flare 0 RGB 88 0 0 
    005B: 7@ += 10@ // (float) 
    005B: 8@ += 11@ // (float) 
    005B: 9@ += 12@ // (float) 
    04D5: create_corona_at 7@ 8@ 9@ radius 0.01 type 0 flare 0 RGB 84 0 0 
    005B: 7@ += 10@ // (float) 
    005B: 8@ += 11@ // (float) 
    005B: 9@ += 12@ // (float) 
    04D5: create_corona_at 7@ 8@ 9@ radius 0.01 type 0 flare 0 RGB 80 0 0 
    005B: 7@ += 10@ // (float) 
    005B: 8@ += 11@ // (float) 
    005B: 9@ += 12@ // (float) 
    04D5: create_corona_at 7@ 8@ 9@ radius 0.01 type 0 flare 0 RGB 76 0 0 
    005B: 7@ += 10@ // (float) 
    005B: 8@ += 11@ // (float) 
    005B: 9@ += 12@ // (float) 
    04D5: create_corona_at 7@ 8@ 9@ radius 0.01 type 0 flare 0 RGB 72 0 0 
    005B: 7@ += 10@ // (float) 
    005B: 8@ += 11@ // (float) 
    005B: 9@ += 12@ // (float) 
    04D5: create_corona_at 7@ 8@ 9@ radius 0.01 type 0 flare 0 RGB 68 0 0 
    005B: 7@ += 10@ // (float) 
    005B: 8@ += 11@ // (float) 
    005B: 9@ += 12@ // (float) 
    04D5: create_corona_at 7@ 8@ 9@ radius 0.01 type 0 flare 0 RGB 64 0 0 
    005B: 7@ += 10@ // (float) 
    005B: 8@ += 11@ // (float) 
    005B: 9@ += 12@ // (float) 
    04D5: create_corona_at 7@ 8@ 9@ radius 0.01 type 0 flare 0 RGB 60 0 0 
    005B: 7@ += 10@ // (float) 
    005B: 8@ += 11@ // (float) 
    005B: 9@ += 12@ // (float) 
    04D5: create_corona_at 7@ 8@ 9@ radius 0.01 type 0 flare 0 RGB 56 0 0 
    005B: 7@ += 10@ // (float) 
    005B: 8@ += 11@ // (float) 
    005B: 9@ += 12@ // (float) 
    04D5: create_corona_at 7@ 8@ 9@ radius 0.01 type 0 flare 0 RGB 52 0 0 
    005B: 7@ += 10@ // (float) 
    005B: 8@ += 11@ // (float) 
    005B: 9@ += 12@ // (float) 
    04D5: create_corona_at 7@ 8@ 9@ radius 0.01 type 0 flare 0 RGB 48 0 0 
    005B: 7@ += 10@ // (float) 
    005B: 8@ += 11@ // (float) 
    005B: 9@ += 12@ // (float) 
    04D5: create_corona_at 7@ 8@ 9@ radius 0.01 type 0 flare 0 RGB 44 0 0 
    005B: 7@ += 10@ // (float) 
    005B: 8@ += 11@ // (float) 
    005B: 9@ += 12@ // (float) 
    04D5: create_corona_at 7@ 8@ 9@ radius 0.01 type 0 flare 0 RGB 40 0 0 
    005B: 7@ += 10@ // (float) 
    005B: 8@ += 11@ // (float) 
    005B: 9@ += 12@ // (float) 
    04D5: create_corona_at 7@ 8@ 9@ radius 0.01 type 0 flare 0 RGB 36 0 0 
    005B: 7@ += 10@ // (float) 
    005B: 8@ += 11@ // (float) 
    005B: 9@ += 12@ // (float) 
    04D5: create_corona_at 7@ 8@ 9@ radius 0.01 type 0 flare 0 RGB 32 0 0 
    005B: 7@ += 10@ // (float) 
    005B: 8@ += 11@ // (float) 
    005B: 9@ += 12@ // (float) 
    04D5: create_corona_at 7@ 8@ 9@ radius 0.01 type 0 flare 0 RGB 28 0 0 
    005B: 7@ += 10@ // (float) 
    005B: 8@ += 11@ // (float) 
    005B: 9@ += 12@ // (float) 
    04D5: create_corona_at 7@ 8@ 9@ radius 0.01 type 0 flare 0 RGB 24 0 0 
    005B: 7@ += 10@ // (float) 
    005B: 8@ += 11@ // (float) 
    005B: 9@ += 12@ // (float) 
    04D5: create_corona_at 7@ 8@ 9@ radius 0.01 type 0 flare 0 RGB 20 0 0 
    005B: 7@ += 10@ // (float) 
    005B: 8@ += 11@ // (float) 
    005B: 9@ += 12@ // (float) 
    04D5: create_corona_at 7@ 8@ 9@ radius 0.01 type 0 flare 0 RGB 16 0 0 
    005B: 7@ += 10@ // (float) 
    005B: 8@ += 11@ // (float) 
    005B: 9@ += 12@ // (float) 
    04D5: create_corona_at 7@ 8@ 9@ radius 0.01 type 0 flare 0 RGB 12 0 0 
    005B: 7@ += 10@ // (float) 
    005B: 8@ += 11@ // (float) 
    005B: 9@ += 12@ // (float) 
    04D5: create_corona_at 7@ 8@ 9@ radius 0.01 type 0 flare 0 RGB 8 0 0 
    005B: 7@ += 10@ // (float) 
    005B: 8@ += 11@ // (float) 
    005B: 9@ += 12@ // (float) 
    04D5: create_corona_at 7@ 8@ 9@ radius 0.01 type 0 flare 0 RGB 4 0 0 
end 
050A: 13@ = distance_between_XYZ 4@ 5@ 6@ and_XYZ 0.0 0.0 0.0
0073: 4@ /= 13@ // (float) 
0073: 5@ /= 13@ // (float) 
0073: 6@ /= 13@ // (float) 
if and
82D8:   not actor $PLAYER_ACTOR current_weapon == 25 
82D8:   not actor $PLAYER_ACTOR current_weapon == 26 
82D8:   not actor $PLAYER_ACTOR current_weapon == 27 
82D8:   not actor $PLAYER_ACTOR current_weapon == 35 
82D8:   not actor $PLAYER_ACTOR current_weapon == 36 
82D8:   not actor $PLAYER_ACTOR current_weapon == 37 
then
    0085: 0@ = 21@ // (int) 
    0016: 0@ /= 2 
    0012: 0@ *= 2 
    0062: 0@ -= 21@ // (int) 
    if and
    0039:   0@ == 0
    00E1:   player 0 pressed_key KEY_SPR 
    then
        000A: 21@ += 1 
    end
    if and
    8039:   not 0@ == 0
    80E1:   not player 0 pressed_key KEY_SPR 
    then
        000A: 21@ += 1
        if 
        0039:   21@ == 2
        then
            0881: set_player $PLAYER_CHAR able_to_shoot_weapons 0 
        end
        if 
        0039:   21@ == 4
        then
            0881: set_player $PLAYER_CHAR able_to_shoot_weapons 1 
            0006: 21@ = 0
        end
    end
end 
0085: 0@ = 17@ // (int) 
0016: 0@ /= 2 
0012: 0@ *= 2 
0062: 0@ -= 17@ // (int) 
if and
0039:   0@ == 0
00E1:   player 0 pressed_key KEY_LGT 
then
    000A: 17@ += 1 
end
if and
8039:   not 0@ == 0
80E1:   not player 0 pressed_key KEY_LGT 
then
    000A: 17@ += 1
    if 
    0039:   17@ == 4
    then
        if
        06B3:   searchlight 16@ active 
        then
            06B2: destroy_searchlight 16@ 
        end
        0006: 17@ = 0
    end
end
0085: 0@ = 28@ // (int) 
0016: 0@ /= 2 
0012: 0@ *= 2 
0062: 0@ -= 28@ // (int) 
if and
0039:   0@ == 0
00E1:   player 0 pressed_key KEY_SEC
then
    000A: 28@ += 1 
end
if and
8039:   not 0@ == 0
80E1:   not player 0 pressed_key KEY_SEC 
then
    000A: 28@ += 1
    if 
    0039:   28@ == 10
    then
        0006: 28@ = 0
    end
end
if and
82D8:   not actor $PLAYER_ACTOR current_weapon == 25 
82D8:   not actor $PLAYER_ACTOR current_weapon == 26 
82D8:   not actor $PLAYER_ACTOR current_weapon == 27 
82D8:   not actor $PLAYER_ACTOR current_weapon == 35 
82D8:   not actor $PLAYER_ACTOR current_weapon == 36 
82D8:   not actor $PLAYER_ACTOR current_weapon == 37 
then
    0085: 0@ = 29@ // (int) 
    0016: 0@ /= 2 
    0012: 0@ *= 2 
    0062: 0@ -= 29@ // (int) 
    if and
    0039:   0@ == 0
    00E1:   player 0 pressed_key KEY_SGT
    then
        000A: 29@ += 1 
    end
    if and
    8039:   not 0@ == 0
    80E1:   not player 0 pressed_key KEY_SGT 
    then
        097B: play_audio_at_object 3@ event 1015 
        000A: 29@ += 1
        if 
        0039:   29@ == 4
        then
            068D: get_camera_position_to 7@ 8@ 9@
            04C4: store_coords_to 10@ 11@ 12@ from_actor $PLAYER_ACTOR with_offset 0.0 0.0 0.8
            050A: 5@ = distance_between_XYZ 7@ 8@ 9@ and_XYZ 10@ 11@ 12@
            if and
            0021:   5@ > 0.5
            82D8:   not actor $PLAYER_ACTOR current_weapon == 34 
            82D8:   not actor $PLAYER_ACTOR current_weapon == 35 
            82D8:   not actor $PLAYER_ACTOR current_weapon == 36 
            then 
                04C4: store_coords_to 4@ 5@ 6@ from_actor $PLAYER_ACTOR with_offset 0.0 0.0 -10.0
                0107: 14@ = create_object 1582 at 4@ 5@ 6@
                0750: set_object 14@ visibility 0 
                09CA: set_object 14@ immunities BP 1 FP 1 EP 1 CP 1 MP 1 
                069B: attach_object 14@ to_actor $PLAYER_ACTOR with_offset 0.0 0.0 -0.5 rotation 0.0 0.0 0.0 
                0682: detach_object 14@ 0.0 0.0 0.0 collision_detection 0 
                0470: 13@ = actor $PLAYER_ACTOR current_weapon 
                04F4: put_actor $PLAYER_ACTOR into_turret_on_object 14@ offset_from_object_origin 0.0 0.0 0.3 orientation 0 both_side_angle_limit 360.0 lock_weapon 13@
                0382: set_object 14@ collision_detection 1
                0392: make_object 14@ moveable 1 
                0906: set_object 14@ mass_to 50.0 // float 
                0908: set_object 14@ turn_mass_to 50000.0 // float 
                0172: 13@ = actor $PLAYER_ACTOR Z_angle 
                000F: 13@ -= 90.0 
                0858: set_player $PLAYER_CHAR scan_horizon_to_angle 13@ rotation_speed 3600.0 
                0A8D: 2@ = read_memory 0xB6EC2E size 1 virtual_protect 0
                0A8C: write_memory 0xB6EC2E size 1 value 1 virtual_protect 0
            end
        end
        if 
        0039:   29@ == 10
        then
            if and
            03CA:   object 14@ exists 
            82D8:   not actor $PLAYER_ACTOR current_weapon == 34 
            82D8:   not actor $PLAYER_ACTOR current_weapon == 35 
            82D8:   not actor $PLAYER_ACTOR current_weapon == 36 
            then 
                0A8C: write_memory 0xB6EC2E size 1 value 2@ virtual_protect 0
                0465: remove_actor $PLAYER_ACTOR from_turret_mode 
                0108: destroy_object 14@ 
            end
            0006: 29@ = 0
        end
    end
    if or
    0039:   29@ == 4
    0039:   29@ == 5
    then
        038D: draw_texture 3 position 40.0 224.5 size 80.0 480.0 RGBA 255 0 0 255 
        038D: draw_texture 1 position 200.0 224.5 size 240.0 480.0 RGBA 255 0 0 255 
        038D: draw_texture 1 position 440.0 224.5 size -240.0 480.0 RGBA 255 0 0 255 
        038D: draw_texture 3 position 600.0 224.5 size 80.0 480.0 RGBA 255 0 0 255 
    end
    if
    0019:   29@ > 5
    then
        038D: draw_texture 4 position 40.0 224.5 size 80.0 480.0 RGBA 0 0 0 255 
        038D: draw_texture 2 position 200.0 104.5 size 240.0 240.0 RGBA 0 0 0 255 
        038D: draw_texture 2 position 440.0 104.5 size -240.0 240.0 RGBA 0 0 0 255 
        038D: draw_texture 2 position 200.0 344.5 size 240.0 -240.0 RGBA 0 0 0 255 
        038D: draw_texture 2 position 440.0 344.5 size -240.0 -240.0 RGBA 0 0 0 255 
        038D: draw_texture 4 position 600.0 224.5 size 80.0 480.0 RGBA 0 0 0 255 
        if or
        0039:   29@ == 4
        0039:   29@ == 5
        then
            0922: set_camera_zoom_in_factor 50.0 out_factor 50.0 timelimit 100 mode 1 
        end
        if or
        0039:   29@ == 6
        0039:   29@ == 7
        then
            0922: set_camera_zoom_in_factor 20.0 out_factor 20.0 timelimit 100 mode 1 
        end
        if or
        0039:   29@ == 8
        0039:   29@ == 9
        then
            0922: set_camera_zoom_in_factor 10.0 out_factor 10.0 timelimit 100 mode 1 
        end
    end
end
0A8D: 0@ = read_memory 0xBA6769 size 1 virtual_protect 0
if
8039:   not 0@ == 0
then
    if
    0019:   28@ > 1 
    then
        0085: 0@ = 28@ // (int) 
        0016: 0@ /= 2 
        000A: 0@ += 4 
        038D: draw_texture 0@ position 400.0 28.0 size 128.0 128.0 RGBA 255 255 255 255
    end 
    if
    0019:   21@ > 1 
    then
        0085: 0@ = 21@ // (int) 
        0016: 0@ /= 2 
        000A: 0@ += 8 
        038D: draw_texture 0@ position 498.0 52.0 size 128.0 128.0 RGBA 255 255 255 255
    end 
    if
    0019:   17@ > 1 
    then
        0085: 0@ = 17@ // (int) 
        0016: 0@ /= 2 
        000A: 0@ += 9 
        038D: draw_texture 0@ position 444.0 76.0 size 128.0 128.0 RGBA 255 255 255 255
    end 
    if
    0019:   29@ > 1 
    then
        0085: 0@ = 29@ // (int) 
        0016: 0@ /= 2 
        000A: 0@ += 10
        038D: draw_texture 0@ position 412.0 70.0 size 128.0 128.0 RGBA 255 255 255 255
    end 
end
if
0019:   17@ > 1 
then
    if
    06B3:   searchlight 16@ active 
    then
        06B2: destroy_searchlight 16@ 
    end
    000B: 24@ += -0.1
    0400: store_coords_to 7@ 8@ 9@ from_object 3@ with_offset 22@ 23@ 24@
    000B: 24@ += 0.1
    0087: 10@ = 18@ // (float) 
    0087: 11@ = 19@ // (float) 
    0087: 12@ = 20@ // (float) 
    0063: 10@ -= 7@ // (float) 
    0063: 11@ -= 8@ // (float) 
    0063: 12@ -= 9@ // (float) 
    050A: 13@ = distance_between_XYZ 10@ 11@ 12@ and_XYZ 0.0 0.0 0.0
    0017: 13@ /= 25.0 
    0073: 10@ /= 13@ // (float) 
    0073: 11@ /= 13@ // (float) 
    0073: 12@ /= 13@ // (float) 
    005B: 10@ += 7@ // (float) 
    005B: 11@ += 8@ // (float) 
    if and
    0023:   7.5 > 12@ 
    0031:   12@ >= 2.5
    then
        0007: 12@ = 7.5
    end
    if and
    0023:   2.5 > 12@ 
    0031:   12@ >= -2.5
    then
        0007: 12@ = -2.5
    end
    000B: 12@ += -2.5
    005B: 12@ += 9@ // (float)
    06B1: 16@ = create_searchlight_at 7@ 8@ 9@ radius 0.025 target 10@ 11@ 12@ radius 20.0 
    0063: 10@ -= 7@ // (float) 
    0063: 11@ -= 8@ // (float) 
    0063: 12@ -= 9@ // (float) 
    0017: 10@ /= 25.0 
    0017: 11@ /= 25.0 
    0017: 12@ /= 25.0
    0007: 13@ = 0.0 
    for 0@ = 1 to 25
        005B: 7@ += 10@ // (float) 
        005B: 8@ += 11@ // (float) 
        005B: 9@ += 12@ // (float)
        000B: 13@ += 0.25
        09E5: create_flash_light_at 7@ 8@ 9@ RGB_mask 1023 1023 1023 radius 13@
    end 
end
if or
00E1:   player 0 pressed_key 4 
00E1:   player 0 pressed_key 17
then
    0A96: 0@ = actor $PLAYER_ACTOR struct
    000A: 0@ += 0x718
    0A8D: 13@ = read_memory 0@ size 1 virtual_protect 0
    0012: 13@ *= 28
    0A96: 0@ = actor $PLAYER_ACTOR struct
    005A: 0@ += 13@ // (int) 
    000A: 0@ += 0x5A4
    0A8D: 13@ = read_memory 0@ size 4 virtual_protect 0
    if and
    001B:   2 > 13@
    8019:   not 21@ > 1
    then
        0A96: 0@ = actor $PLAYER_ACTOR struct
        000A: 0@ += 0x504
        0A8D: 13@ = read_memory 0@ size 2 virtual_protect 0
        if
        0019:   13@ > 1
        then
            0A8C: write_memory 0@ size 2 value 0 virtual_protect 0
            0400: store_coords_to 7@ 8@ 9@ from_object 3@ with_offset 22@ 23@ 24@
            0087: 10@ = 18@ // (float) 
            0087: 11@ = 19@ // (float) 
            0087: 12@ = 20@ // (float) 
            0063: 10@ -= 7@ // (float) 
            0063: 11@ -= 8@ // (float) 
            0063: 12@ -= 9@ // (float) 
            050A: 13@ = distance_between_XYZ 10@ 11@ 12@ and_XYZ 0.0 0.0 0.0
            0073: 13@ /= 27@ // (float) 
            0073: 10@ /= 13@ // (float) 
            0073: 11@ /= 13@ // (float) 
            0073: 12@ /= 13@ // (float) 
            005B: 10@ += 7@ // (float) 
            005B: 11@ += 8@ // (float) 
            005B: 12@ += 9@ // (float) 
            058A: create_gun_flash_from 7@ 8@ 9@ to 10@ 11@ 12@ 
        end 
    end
    if and
    001B:   2 > 13@
    0019:   21@ > 1
    001D:   33@ > 25@ // (int) 
    then
        if and
        82D8:   not actor $PLAYER_ACTOR current_weapon == 25 
        82D8:   not actor $PLAYER_ACTOR current_weapon == 26 
        82D8:   not actor $PLAYER_ACTOR current_weapon == 27 
        82D8:   not actor $PLAYER_ACTOR current_weapon == 35 
        82D8:   not actor $PLAYER_ACTOR current_weapon == 36 
        82D8:   not actor $PLAYER_ACTOR current_weapon == 37
        then
            0400: store_coords_to 7@ 8@ 9@ from_object 3@ with_offset 22@ 23@ 24@
            0087: 10@ = 18@ // (float) 
            0087: 11@ = 19@ // (float) 
            0087: 12@ = 20@ // (float) 
            0063: 10@ -= 7@ // (float) 
            0063: 11@ -= 8@ // (float) 
            0063: 12@ -= 9@ // (float) 
            050A: 13@ = distance_between_XYZ 10@ 11@ 12@ and_XYZ 0.0 0.0 0.0
            0073: 13@ /= 27@ // (float) 
            0073: 10@ /= 13@ // (float) 
            0073: 11@ /= 13@ // (float) 
            0073: 12@ /= 13@ // (float) 
            005B: 10@ += 7@ // (float) 
            005B: 11@ += 8@ // (float) 
            005B: 12@ += 9@ // (float) 
            06BC: create_M4_shoot_from 7@ 8@ 9@ target 10@ 11@ 12@ energy 26@
            058A: create_gun_flash_from 7@ 8@ 9@ to 10@ 11@ 12@ 
            018C: play_sound 1135 at 7@ 8@ 9@
            0A96: 0@ = actor $PLAYER_ACTOR struct
            000A: 0@ += 0x718
            0A8D: 13@ = read_memory 0@ size 1 virtual_protect 0
            0012: 13@ *= 28
            0A96: 0@ = actor $PLAYER_ACTOR struct
            005A: 0@ += 13@ // (int) 
            000A: 0@ += 0x5A8
            0A8D: 13@ = read_memory 0@ size 4 virtual_protect 0
            000E: 13@ -= 1 
            0A8C: write_memory 0@ size 4 value 13@ virtual_protect 0
            if
            001B:   1 > 13@ 
            then
                000A: 0@ += -0x4
                0A8C: write_memory 0@ size 4 value 2 virtual_protect 0
            end 
            0006: 33@ = 0 
        end
    end
end
if and
00E1:   player 0 pressed_key KEY_SWS 
0019:   32@ > 750 
then
    if
    0039:   28@ == 2
    then
        for 0@ = 0xC891B8 to 0xC89614 step 0x24
            0A8D: 7@ = read_memory 0@ size 4 virtual_protect 0
            if
            0039:   7@ == 0
            then
                000A: 0@ += -0xC891B8
                0016: 0@ /= 9 
                000A: 0@ += 0xC89110 
                04C4: store_coords_to 7@ 8@ 9@ from_actor $PLAYER_ACTOR with_offset 0.0 0.0 -3.0
                0107: 15@ = create_object #GRENADE at 7@ 8@ 9@
                000B: 24@ += -0.05
                069A: attach_object 15@ to_object 3@ with_offset 22@ 23@ 24@ rotation 0.0 0.0 0.0 
                0682: detach_object 15@ 0.0 0.0 0.0 collision_detection 0 
                09CA: set_object 15@ immunities BP 0 FP 0 EP 1 CP 0 MP 0 
                0013: 4@ *= 50.0
                0013: 5@ *= 50.0
                0013: 6@ *= 50.0
                0381: throw_object 15@ velocity_in_direction 4@ 5@ 6@
                0382: set_object 15@ collision_detection 1 
                04D9: object 15@ set_scripted_collision_check 1 
                0906: set_object 15@ mass_to 1.0 // float 
                0908: set_object 15@ turn_mass_to 1.0 // float 
                0400: store_coords_to 7@ 8@ 9@ from_object 3@ with_offset 22@ 23@ 24@
                000B: 22@ += 1.0
                0400: store_coords_to 10@ 11@ 12@ from_object 3@ with_offset 22@ 23@ 24@
                000B: 22@ += -1.0
                000B: 24@ += 0.05
                058A: create_gun_flash_from 7@ 8@ 9@ to 10@ 11@ 12@
                058A: create_gun_flash_from 7@ 8@ 9@ to 10@ 11@ 12@
                058A: create_gun_flash_from 7@ 8@ 9@ to 10@ 11@ 12@
                018C: play_sound 1144 at 7@ 8@ 9@
                0A98: 7@ = object 15@ struct
                0A8C: write_memory 0@ size 4 value 7@ virtual_protect 0
                000A: 0@ += -0xC89110 
                0012: 0@ *= 9
                000A: 0@ += 0xC891A8
                0A8C: write_memory 0@ size 4 value 16 virtual_protect 0
                000A: 0@ += 0x4
                0A96: 7@ = actor $PLAYER_ACTOR struct
                0A8C: write_memory 0@ size 4 value 7@ virtual_protect 0
                000A: 0@ += 0x8
                0A8D: 7@ = read_memory 0xB7CB84 size 4 virtual_protect 0
                000A: 7@ += 3500
                0A8C: write_memory 0@ size 4 value 7@ virtual_protect 0
                000A: 0@ += 0x4
                0A8C: write_memory 0@ size 1 value 1 virtual_protect 0
                0006: 32@ = 0 
                break
            end 
        end
    end
    if
    0039:   28@ == 4
    then
        for 0@ = 0xC891B8 to 0xC89614 step 0x24
            0A8D: 7@ = read_memory 0@ size 4 virtual_protect 0
            if
            0039:   7@ == 0
            then
                000A: 0@ += -0xC891B8
                0016: 0@ /= 9 
                000A: 0@ += 0xC89110 
                04C4: store_coords_to 7@ 8@ 9@ from_actor $PLAYER_ACTOR with_offset 0.0 0.0 -3.0
                0107: 15@ = create_object #TEARGAS at 7@ 8@ 9@
                000B: 24@ += -0.05
                069A: attach_object 15@ to_object 3@ with_offset 22@ 23@ 24@ rotation 0.0 0.0 0.0 
                0682: detach_object 15@ 0.0 0.0 0.0 collision_detection 0 
                09CA: set_object 15@ immunities BP 0 FP 0 EP 1 CP 0 MP 0 
                0013: 4@ *= 50.0
                0013: 5@ *= 50.0
                0013: 6@ *= 50.0
                0381: throw_object 15@ velocity_in_direction 4@ 5@ 6@
                0382: set_object 15@ collision_detection 1 
                04D9: object 15@ set_scripted_collision_check 1 
                0906: set_object 15@ mass_to 1.0 // float 
                0908: set_object 15@ turn_mass_to 1.0 // float 
                0400: store_coords_to 7@ 8@ 9@ from_object 3@ with_offset 22@ 23@ 24@
                000B: 22@ += 1.0
                0400: store_coords_to 10@ 11@ 12@ from_object 3@ with_offset 22@ 23@ 24@
                000B: 22@ += -1.0
                000B: 24@ += 0.05
                058A: create_gun_flash_from 7@ 8@ 9@ to 10@ 11@ 12@
                058A: create_gun_flash_from 7@ 8@ 9@ to 10@ 11@ 12@
                058A: create_gun_flash_from 7@ 8@ 9@ to 10@ 11@ 12@
                018C: play_sound 1144 at 7@ 8@ 9@
                066D: 13@ = attach_particle "teargasAD" to_object 15@ with_offset 0.0 0.0 0.1 flag 1 
                064C: make_particle 13@ visible 
                064F: remove_references_to_particle 13@ 
                0A98: 7@ = object 15@ struct
                0A8C: write_memory 0@ size 4 value 7@ virtual_protect 0
                000A: 0@ += -0xC89110 
                0012: 0@ *= 9
                000A: 0@ += 0xC891A8
                0A8C: write_memory 0@ size 4 value 17 virtual_protect 0
                000A: 0@ += 0x4
                0A96: 7@ = actor $PLAYER_ACTOR struct
                0A8C: write_memory 0@ size 4 value 7@ virtual_protect 0
                000A: 0@ += 0x8
                0A8D: 7@ = read_memory 0xB7CB84 size 4 virtual_protect 0
                000A: 7@ += 20000
                0A8C: write_memory 0@ size 4 value 7@ virtual_protect 0
                000A: 0@ += 0x4
                0A8C: write_memory 0@ size 1 value 1 virtual_protect 0
                0006: 32@ = 0 
                break
            end 
        end
    end
    if
    0039:   28@ == 6
    then
        for 0@ = 0xC891B8 to 0xC89614 step 0x24
            0A8D: 7@ = read_memory 0@ size 4 virtual_protect 0
            if
            0039:   7@ == 0
            then
                000A: 0@ += -0xC891B8
                0016: 0@ /= 9 
                000A: 0@ += 0xC89110 
                04C4: store_coords_to 7@ 8@ 9@ from_actor $PLAYER_ACTOR with_offset 0.0 0.0 -3.0
                0107: 15@ = create_object #FLARE at 7@ 8@ 9@
                000B: 24@ += -0.05
                069A: attach_object 15@ to_object 3@ with_offset 22@ 23@ 24@ rotation 0.0 0.0 0.0 
                0682: detach_object 15@ 0.0 0.0 0.0 collision_detection 0 
                09CA: set_object 15@ immunities BP 0 FP 0 EP 1 CP 0 MP 0 
                0013: 4@ *= 50.0
                0013: 5@ *= 50.0
                0013: 6@ *= 50.0
                0381: throw_object 15@ velocity_in_direction 4@ 5@ 6@
                0382: set_object 15@ collision_detection 1 
                04D9: object 15@ set_scripted_collision_check 1 
                0906: set_object 15@ mass_to 1.0 // float 
                0908: set_object 15@ turn_mass_to 1.0 // float 
                0400: store_coords_to 7@ 8@ 9@ from_object 3@ with_offset 22@ 23@ 24@
                000B: 22@ += 1.0
                0400: store_coords_to 10@ 11@ 12@ from_object 3@ with_offset 22@ 23@ 24@
                000B: 22@ += -1.0
                000B: 24@ += 0.05
                058A: create_gun_flash_from 7@ 8@ 9@ to 10@ 11@ 12@
                058A: create_gun_flash_from 7@ 8@ 9@ to 10@ 11@ 12@
                058A: create_gun_flash_from 7@ 8@ 9@ to 10@ 11@ 12@
                018C: play_sound 1144 at 7@ 8@ 9@
                0A98: 7@ = object 15@ struct
                0A8C: write_memory 0@ size 4 value 7@ virtual_protect 0
                000A: 0@ += -0xC89110 
                0012: 0@ *= 9
                000A: 0@ += 0xC891A8
                0A8C: write_memory 0@ size 4 value 17 virtual_protect 0
                000A: 0@ += 0x4
                0A96: 7@ = actor $PLAYER_ACTOR struct
                0A8C: write_memory 0@ size 4 value 7@ virtual_protect 0
                000A: 0@ += 0x8
                0A8D: 7@ = read_memory 0xB7CB84 size 4 virtual_protect 0
                000A: 7@ += 10000
                0A8C: write_memory 0@ size 4 value 7@ virtual_protect 0
                000A: 0@ += 0x4
                0A8C: write_memory 0@ size 1 value 1 virtual_protect 0    
                0006: 32@ = 0 
                break
            end 
        end
    end
    if
    0039:   28@ == 8
    then
        0400: store_coords_to 7@ 8@ 9@ from_object 3@ with_offset 22@ 23@ 24@
        0087: 10@ = 18@ // (float) 
        0087: 11@ = 19@ // (float) 
        0087: 12@ = 20@ // (float) 
        0063: 10@ -= 7@ // (float) 
        0063: 11@ -= 8@ // (float) 
        0063: 12@ -= 9@ // (float) 
        050A: 13@ = distance_between_XYZ 10@ 11@ 12@ and_XYZ 0.0 0.0 0.0
        0017: 13@ /= 40.0 
        0073: 10@ /= 13@ // (float) 
        0073: 11@ /= 13@ // (float) 
        0073: 12@ /= 13@ // (float) 
        005B: 10@ += 7@ // (float) 
        005B: 11@ += 8@ // (float) 
        005B: 12@ += 9@ // (float)
        for 0@ = 0 to 7 
            0208: 4@ = random_float_in_ranges -1.5 1.5 
            0208: 5@ = random_float_in_ranges -1.5 1.5 
            0208: 6@ = random_float_in_ranges -1.5 1.5 
            005B: 4@ += 10@ // (float) 
            005B: 5@ += 11@ // (float) 
            005B: 6@ += 12@ // (float)
            06BC: create_M4_shoot_from 7@ 8@ 9@ target 4@ 5@ 6@ energy 15
            058A: create_gun_flash_from 7@ 8@ 9@ to 4@ 5@ 6@
            097B: play_audio_at_object 3@ event 1157 
            097A: play_audio_at 7@ 8@ 9@ event 1157 
        end
        0006: 32@ = 0 
    end
end
jump @ACCES_3

:ACCES_8
if
03CA:   object 31@ exists 
then
    0108: destroy_object 31@ 
end
if
06B3:   searchlight 16@ active 
then
    06B2: destroy_searchlight 16@ 
end
if and
0019:   21@ > 1
82D8:   not actor $PLAYER_ACTOR current_weapon == 25 
82D8:   not actor $PLAYER_ACTOR current_weapon == 26 
82D8:   not actor $PLAYER_ACTOR current_weapon == 27 
82D8:   not actor $PLAYER_ACTOR current_weapon == 35 
82D8:   not actor $PLAYER_ACTOR current_weapon == 36 
82D8:   not actor $PLAYER_ACTOR current_weapon == 37 
then 
    0881: set_player $PLAYER_CHAR able_to_shoot_weapons 1 
end
0108: destroy_object 3@ 
0249: release_model #GRENADE
0249: release_model #TEARGAS
0249: release_model #FLARE
0249: release_model 1582
if and
03CA:   object 14@ exists 
0019:   29@ > 3
82D8:   not actor $PLAYER_ACTOR current_weapon == 34 
82D8:   not actor $PLAYER_ACTOR current_weapon == 35 
82D8:   not actor $PLAYER_ACTOR current_weapon == 36 
then 
    0A8C: write_memory 0xB6EC2E size 1 value 2@ virtual_protect 0
    0465: remove_actor $PLAYER_ACTOR from_turret_mode 
    0108: destroy_object 14@ 
    0687: clear_actor $PLAYER_ACTOR task 
end
wait 0
03F0: enable_text_draw 0 
0391: release_txd_dictionary 
wait 50
jump @ACCES_0

:ACCES_GREN
if
03CA:   object 15@ exists
0AA1: return_if_false
if and
09CC:   object 15@ model_is #GRENADE 
04DA:   has_object 15@ collided 
0AA1: return_if_false
0A98: 8@ = object 15@ struct
for 0@ = 0xC89110 to 0xC8918C step 4
    0A8D: 7@ = read_memory 0@ size 4 virtual_protect 0
    if
    003B:   7@ == 8@ // (int) 
    then
        000A: 0@ += -0xC89110 
        0012: 0@ *= 9
        000A: 0@ += 0xC891B4
        0A8D: 7@ = read_memory 0xB7CB84 size 4 virtual_protect 0
        0A8C: write_memory 0@ size 4 value 7@ virtual_protect 0
        break
    end 
end
return

:ATAN
0509: 4@ = distance_between_XY 5@ 6@ and_XY 0.0 0.0
0073: 5@ /= 4@ // (float) 
0073: 6@ /= 4@ // (float) 
0509: 4@ = distance_between_XY 5@ 6@ and_XY 0.0 1.0
for 0@ = 0 to 11
    0017: 4@ /= 2.0 
    006B: 4@ *= 4@ // (float) 
    0087: 6@ = 4@ // (float) 
    0013: 4@ *= -1.0 
    000B: 4@ += 1.0
    01FB: 4@ = square_root 4@ 
    0013: 4@ *= -1.0 
    000B: 4@ += 1.0
    006B: 4@ *= 4@ // (float) 
    005B: 4@ += 6@ // (float) 
    01FB: 4@ = square_root 4@ 
end
0013: 4@ *= 4096.0 
0013: 4@ *= 180.0 
0017: 4@ /= 3.14159265
if
0021:   5@ > 0.0 
then
    0013: 4@ *= -1.0 
    000B: 4@ += 360.0
end
return

:ACCES_ANIM
hex
          3200 2D00 2600 2200 3200 2800 4B00 5A00
4B00 4B00 4B00 0F00 0F00 3A00 3A00 3000 6801
end

Offline

#10 18-04-2010 16:54

Sw[ee]t
From: Нижний Новгород
Registered: 16-02-2009
Posts: 686
Website

Re: Декомпиляция accessory.cs

CLEO Xakep wrote:

Судя по всему тут защита Hex кодом...:wow:

Это не защита, это те участки, которые санник не смог декомпилировать по нормальному и по этому, вставил в виде hex-кода который уже можно вручную, перекодировать в текст.

Offline

#11 18-04-2010 22:54

CLEO Xakep
From: Chernobyl
Registered: 14-04-2010
Posts: 30
Website

Re: Декомпиляция accessory.cs

Вот и замечательно


~Надо уметь жить~
~1 правило хакера - не убей и не повреди без особой нужды~

Offline

Board footer

Powered by FluxBB