From b8ac29febb526a7ca65151fcb9ec9c6b2856d34c Mon Sep 17 00:00:00 2001 From: XMDS <2841824304@qq.com> Date: Tue, 1 Jul 2025 21:11:06 +0800 Subject: [PATCH 1/3] update android opcodes --- lcs_mobile/LCSSCM.CLEO.ini | 27 + lcs_mobile/LCSSCM.INI | 1289 ++++++++++++++++++++++++++++++++++++ lcs_mobile/opcodes.txt | 1150 ++++++++++++++++++++++++++++++++ sa_mobile/SASCM.CLEO.ini | 11 +- sa_mobile/opcodes.txt | 14 +- vc_mobile/VCSCM.CLEO.ini | 11 +- vc_mobile/opcodes.txt | 12 +- 7 files changed, 2507 insertions(+), 7 deletions(-) create mode 100644 lcs_mobile/LCSSCM.CLEO.ini create mode 100644 lcs_mobile/LCSSCM.INI create mode 100644 lcs_mobile/opcodes.txt diff --git a/lcs_mobile/LCSSCM.CLEO.ini b/lcs_mobile/LCSSCM.CLEO.ini new file mode 100644 index 0000000..78f57a1 --- /dev/null +++ b/lcs_mobile/LCSSCM.CLEO.ini @@ -0,0 +1,27 @@ +[CLEO] +; Android CLEO opcodes +0DD0=2,%1d% = get_label_addr %2p% ; android +0DD1=2,%1d% = get_func_addr_by_cstr_name %2d% ; android +0DD2=1,context_call_func %1d% ; android +0DD3=2,context_set_reg %1d% value %2d% ; android +0DD4=2,%1d% = context_get_reg %2d% ; android +0DD5=1,%1d% = get_platform ; android +0DD6=1,%1d% = get_game_version ; android +0DD7=1,%1d% = get_image_base ; android +0DD8=4,%1d% = read_mem_addr %2d% size %3d% add_ib %4d% ; android +0DD9=5,write_mem_addr %1d% value %2d% size %3d% add_ib %4d% protect %5d% ; android +0DDA=3,%1d% = get_pattern_addr_cstr %2d% index %3d% ; android +0DDB=3,get_game_ver_ex name_hash %1d% ver_hash %2d% ver_code %3d% ; android +0DDC=2,set_mutex_var %1d% to %2d% ; android +0DDD=2,%1d% = get_mutex_var %2d% ; android +0DDE=-1, call_func %1d% add_ib %2d% ; android +0DE0=3,%1d% = get_touch_point_state %2d% mintime %3d% ; android +0DE1=5,%1d% = get_touch_slide_state from %2d% to %3d% mintime %4d% maxtime %5d% ; android +0DE2=1,%1d% = get_menu_button_state ; read opcode info before using ; android +0DE3=2,%1d% = get_menu_button_pressed mintime %2d% ; read opcode info before using ; android +0DF2=2,create_menu %1d% items %2d% ; android +0DF3=0,delete_menu ; android +0DF4=2,%1d% = get_menu_touched_item_index maxtime %2d% ; android +0DF5=1,set_menu_active_item_index %1d% ; android +0DF6=1,%1d% = get_menu_active_item_index ; android +1000=-1, opcode_func ; android \ No newline at end of file diff --git a/lcs_mobile/LCSSCM.INI b/lcs_mobile/LCSSCM.INI new file mode 100644 index 0000000..861a820 --- /dev/null +++ b/lcs_mobile/LCSSCM.INI @@ -0,0 +1,1289 @@ +; GTA Modding Community Opcode Database +; +; For more info, visit: +; https://gtaforums.com/topic/943982-fastman92-script-command-definitions/ +; https://gtamods.com/wiki/List_of_opcodes +; https://docs.sannybuilder.com/edit-modes/opcodes-list-scm.ini + +; d% = anything +; p% = label pointer +; s% = 8-byte string +; o% = models all types +; m% = .ide models only +; g% = gxt reference + +DATE=2020-11-11 + +[OPCODES] +0000=0,NOP +0001=1,wait %1d% +0002=1,goto %1p% +0003=1,shake_cam %1d% +0004=2,%1d% = %2d% +0005=2,%1d% = %2d% +0006=2,%1d% = %2d% +0007=2,%1d% = %2d% +0008=2,%1d% += %2d% +0009=2,%1d% += %2d% +000A=2,%1d% += %2h% +000B=2,%1d% += %2d% +000C=2,%1d% -= %2d% +000D=2,%1d% -= %2d% +000E=2,%1d% -= %2h% +000F=2,%1d% -= %2d% +0010=2,%1d% *= %2d% +0011=2,%1d% *= %2d% +0012=2,%1d% *= %2d% +0013=2,%1d% *= %2d% +0014=2,%1d% /= %2d% +0015=2,%1d% /= %2d% +0016=2,%1d% /= %2d% +0017=2,%1d% /= %2d% +0018=2, %1d% > %2d% +0019=2, %1d% > %2d% +001A=2, %1d% > %2d% +001B=2, %1d% > %2d% +001C=2, %1d% > %2d% +001D=2, %1d% > %2d% +001E=2, %1d% > %2d% +001F=2, %1d% > %2d% +0020=2, %1d% > %2d% +0021=2, %1d% > %2d% +0022=2, %1d% > %2d% +0023=2, %1d% > %2d% +0024=2, %1d% > %2d% +0025=2, %1d% > %2d% +0026=2, %1d% > %2d% +0027=2, %1d% > %2d% +0028=2, %1d% >= %2d% +0029=2, %1d% >= %2d% +002A=2, %1d% >= %2d% +002B=2, %1d% >= %2d% +002C=2, %1d% >= %2d% +002D=2, %1d% >= %2d% +002E=2, %1d% >= %2d% +002F=2, %1d% >= %2d% +0030=2, %1d% >= %2d% +0031=2, %1d% >= %2d% +0032=2, %1d% >= %2d% +0033=2, %1d% >= %2d% +0034=2, %1d% >= %2d% +0035=2, %1d% >= %2d% +0036=2, %1d% >= %2d% +0037=2, %1d% >= %2d% +0038=2, %1d% == %2d% +0039=2, %1d% == %2d% +003A=2, %1d% == %2d% +003B=2, %1d% == %2d% +003C=2, %1d% == %2d% +0042=2, %1d% == %2d% +0043=2, %1d% == %2d% +0044=2, %1d% == %2d% +0045=2, %1d% == %2d% +0046=2, %1d% == %2d% +004C=1,goto_if_true %1p% +004D=1,goto_if_false %1p% +004E=0,terminate_this_script +004F=-1,start_new_script %1p% +0050=1,gosub %1p% +0051=0,return +0052=6,line %1d% %2d% %3d% %4d% %5d% %6d% ; nop +0053=5,create_player %1d% at %2d% %3d% %4d% store_to %5d% +0054=4,get_player_coordinates %1d% store_to %2d% %3d% %4d% +0055=4,set_player_coordinates %1d% to %2d% %3d% %4d% +0056=6, player %1d% coords %2d% %3d% %4d% %5d% sphere %6d% +0057=8, player %1d% coords %2d% %3d% %4d% to %5d% %6d% %7d% sphere %8b% +0058=2,%1d% += %2d% ; (int) +0059=2,%1d% += %2d% ; (float) +005A=2,%1d% += %2d% ; (int) +005B=2,%1d% += %2d% ; (float) +005C=2,%1d% += %2d% ; (int) +005D=2,%1d% += %2d% ; (float) +005E=2,%1d% += %2d% ; (int) +005F=2,%1d% += %2d% ; (float) +0060=2,%1d% -= %2d% ; (int) +0061=2,%1d% -= %2d% ; (float) +0062=2,%1d% -= %2d% ; (int) +0063=2,%1d% -= %2d% ; (float) +0064=2,%1d% -= %2d% ; (int) +0065=2,%1d% -= %2d% ; (float) +0066=2,%1d% -= %2d% ; (int) +0067=2,%1d% -= %2d% ; (float) +0068=2,%1d% *= %2d% ; (int) +0069=2,%1d% *= %2d% ; (float) +006A=2,%1d% *= %2d% ; (int) +006B=2,%1d% *= %2d% ; (float) +006C=2,%1d% *= %2d% ; (int) +006D=2,%1d% *= %2d% ; (float) +006E=2,%1d% *= %2d% ; (int) +006F=2,%1d% *= %2d% ; (float) +0070=2,%1d% /= %2d% ; (int) +0071=2,%1d% /= %2d% ; (float) +0072=2,%1d% /= %2d% ; (int) +0073=2,%1d% /= %2d% ; (float) +0074=2,%1d% /= %2d% ; (int) +0075=2,%1d% /= %2d% ; (float) +0076=2,%1d% /= %2d% ; (int) +0077=2,%1d% /= %2d% ; (float) +0078=2,%1d% +=@ %2d% // float +0079=2,%1d% +=@ %2d% // float +007A=2,%1d% +=@ %2d% // float +007B=2,%1d% +=@ %2d% // float +007C=2,%1d% +=@ %2d% // float +007D=2,%1d% +=@ %2d% // float +007E=2,%1d% -=@ %2d% // float +007F=2,%1d% -=@ %2d% // float +0080=2,%1d% -=@ %2d% // float +0081=2,%1d% -=@ %2d% // float +0082=2,%1d% -=@ %2d% // float +0083=2,%1d% -=@ %2d% // float +0084=2,%1d% = %2d% ; (int) +0085=2,%1d% = %2d% ; (int) +0086=2,%1d% = %2d% ; (float) +0087=2,%1d% = %2d% ; (float) +0088=2,%1d% = %2d% ; (float) +0089=2,%1d% = %2d% ; (float) +008A=2,%1d% = %2d% ; (int) +008B=2,%1d% = %2d% ; (int) +008C=2,%1d% = float_to_int %2d% +008D=2,%1d% = int_to_float %2d% +008E=2,%1d% = float_to_int %2d% +008F=2,%1d% = int_to_float %2d% +0090=2,%1d% = float_to_int %2d% +0091=2,%1d% = int_to_float %2d% +0092=2,%1d% = float_to_int %2d% +0093=2,%1d% = int_to_float %2d% +0094=1,abs_var_int %1d% +0095=1,abs_lvar_int %1d% +0096=1,abs_var_float %1d% +0097=1,abs_lvar_float %1d% +0098=1,generate_random_float %1d% +0099=1,generate_random_int %1d% +009A=6,create_char %1d% model %2m% at %3d% %4d% %5d% store_to %6d% +009B=1,delete_char %1d% +009C=2,char_wander_dir %1d% to %2d% +009E=6,char_follow_path %1d% path %2d% %3d% %4d% unknown %5d% %6h% +009F=1,char_set_idle %1d% +00A0=4,get_char_coordinates %1d% store_to %2d% %3d% %4d% +00A1=4,set_char_coordinates %1d% to %2d% %3d% %4d% +00A2=1, is_char_still_alive %1d% +00A3=6, is_char_in_area_2d %1d% from %2d% %3d% to %4d% %5d% sphere %6d% +00A4=8, is_char_in_area_3d %1d% from %2d% %3d% %4d% to %5d% %6d% %7d% sphere %8d% +00A5=5,create_car %1m% at %2d% %3d% %4d% store_to %5d% +00A6=1,delete_car %1d% +00A7=4,car_goto_coordinates %1d% coords %2d% %3d% %4d% +00A8=1,car_wander_randomly %1d% +00A9=1,car_set_idle %1d% +00AA=4,get_car_coordinates %1d% store_to %2d% %3d% %4d% +00AB=4,set_car_coordinates %1d% to %2d% %3d% %4d% +00AC=1, is_car_still_alive %1d% +00AD=2,set_car_cruise_speed %1d% to %2d% +00AE=2,set_car_driving_style %1d% to %2d% +00AF=2,set_car_mission %1d% to %2d% +00B0=6, is_car_in_area_2d %1d% from %2d% %3d% to %4d% %5d% sphere %6d% +00B1=8, is_car_in_area_3d %1d% from %2d% %3d% %4d% to %5d% %6d% %7d% sphere %8d% +00BA=3,print_big %1g% time %2d% style %3d% +00BB=3,print %1g% time %2d% flag %3d% +00BC=3,print_now %1g% time %2d% flag %3d% +00BD=3,print_soon %1g% time %2d% flag %3d% +00BE=0,clear_prints +00BF=2,get_time_of_day %1d% %2d% +00C0=2,set_time_of_day %1d% %2d% +00C1=3,get_minutes_to_time_of_day %1d% %2d% store_to %3d% +00C2=4, is_point_on_screen %1d% %2d% %3d% radius %4d% +00C5=0,return_true +00C6=0,return_false +00DB=1,if %1d% +00DC=1,launch_mission %1p% +00DD=0,mission_has_finished +00DE=2,store_car_char_is_in %1d% store_to %2d% +00DF=2,store_car_player_is_in %1d% store_to %2d% +00E0=2, is_char_in_car %1d% car %2d% +00E1=2, is_player_in_car %1d% car %2d% +00E2=2, is_char_in_model %1d% model %2m% +00E3=2, is_player_in_model %1d% model %2m% +00E4=1, is_char_in_any_car %1d% +00E5=1, is_player_in_any_car %1d% +00E6=2, is_button_pressed %1d% button %2d% +00E8=6, locate_player_any_means_2d %1d% coord %2d% %3d% radius %4d% %5d% sphere %6d% +00E9=6, locate_player_on_foot_2d %1d% coord %2d% %3d% radius %4d% %5d% sphere %6d% +00EA=6, locate_player_in_car_2d %1d% coord %2d% %3d% radius %4d% %5d% sphere %6d% +00EB=6, locate_stopped_player_any_means_2d %1d% coord %2d% %3d% radius %4d% %5d% sphere %6d% +00EC=6, locate_stopped_player_on_foot_2d %1d% coord %2d% %3d% radius %4d% %5d% sphere %6d% +00ED=6, locate_stopped_player_in_car_2d %1d% coord %2d% %3d% radius %4d% %5d% sphere %6d% +00EE=5, locate_player_any_means_char_2d %1d% near_char %2d% radius %3d% %4d% sphere %5d% +00EF=5, locate_player_on_foot_char_2d %1d% %2d% radius %3d% %4d% sphere %5d% +00F0=5, locate_player_in_car_char_2d %1d% near_char %2d% radius %3d% %4d% sphere %5d% +00F1=6, locate_char_any_means_2d %1d% coord %2d% %3d% radius %4d% %5d% sphere %6d% +00F2=6, locate_char_on_foot_2d %1d% coord %2d% %3d% radius %4d% %5d% sphere %6d% +00F3=6, locate_char_in_car_2d %1d% coord %2d% %3d% radius %4d% %5d% sphere %6d% +00F4=6, locate_stopped_char_any_means_2d %1d% coord %2d% %3d% radius %4d% %5d% sphere %6d% +00F5=6, locate_stopped_char_on_foot_2d %1d% coord %2d% %3d% radius %4d% %5d% sphere %6d% +00F6=6, locate_stopped_char_in_car_2d %1d% coord %2d% %3d% radius %4d% %5d% sphere %6d% +00F7=5, locate_char_any_means_char_2d %1d% char %2d% radius %3d% %4d% sphere %5h% +00F8=5, locate_char_on_foot_char_2d %1d% char %2d% radius %3d% %4d% sphere %5h% +00F9=5, locate_char_in_car_char_2d %1d% char %2d% radius %3d% %4d% sphere %5h% +00FA=8, locate_char_any_means_3d %1d% coord %2d% %3d% %4d% radius %5d% %6d% %7d% sphere %8d% +00FB=8, locate_player_on_foot_3d %1d% coord %2d% %3d% %4d% radius %5d% %6d% %7d% sphere %8d% +00FC=8, locate_player_in_car_3d %1d% coord %2d% %3d% %4d% radius %5d% %6d% %7d% sphere %8h% +00FD=8, locate_stopped_player_any_means_3d %1d% coord %2d% %3d% %4d% radius %5d% %6d% %7d% sphere %8h% +00FE=8, locate_stopped_player_on_foot_3d %1d% coord %2d% %3d% %4d% radius %5d% %6d% %7d% sphere %8h% +00FF=8, locate_stopped_player_in_car_3d %1d% coord %2d% %3d% %4d% radius %5d% %6d% %7d% sphere %8d% +0100=6, locate_player_any_means_char_3d %1d% char %2d% radius %3d% %4d% %5d% sphere %6h% +0101=6, locate_player_on_foot_char_3d %1d% char %2d% radius %3d% %4d% %5d% sphere %6h% +0102=6, locate_player_in_car_char_3d %1d% car %2d% radius %3d% %4d% %5d% sphere %6h% +0103=8, locate_char_any_means_3d %1d% coord %2d% %3d% %4d% radius %5d% %6d% %7d% sphere %8d% +0104=8, locate_char_on_foot_3d %1d% coord %2d% %3d% %4d% radius %5d% %6d% %7d% sphere %8d% +0105=8, locate_char_in_car_3d %1d% coord %2d% %3d% %4d% radius %5d% %6d% %7d% sphere %8h% +0106=8, locate_stopped_char_any_means_3d %1d% coord %2d% %3d% %4d% radius %5d% %6d% %7d% sphere %8h% +0107=8, locate_stopped_char_on_foot_3d %1d% coord %2d% %3d% %4d% radius %5d% %6d% %7d% sphere %8h% +0108=8, locate_stopped_char_in_car_3d %1d% coord %2d% %3d% %4d% radius %5d% %6d% %7d% sphere %8d% +0109=6, locate_char_any_means_char_3d %1d% char %2d% radius %3d% %4d% %5d% sphere %6h% +010A=6, locate_char_on_foot_char_3d %1d% char %2d% radius %3d% %4d% %5d% sphere %6h% +010B=6, locate_char_in_car_char_3d %1d% char %2d% radius %3d% %4d% %5d% sphere %6h% +010C=5,create_object %1o% at %2d% %3d% %4d% store_to %5d% +010D=1,delete_object %1d% +010E=2,add_score %1d% value %2d% ; money +010F=2, is_score_greater %1d% than %2d% ; money +0110=2,store_score %1d% to %2d% ; money +0111=6,give_remote_controlled_car_to_player %1d% at %2d% %3d% %4d% %5d% store_car_handle_to %6d% +0112=2,alter_wanted_level %1d% to %2d% +0113=2,alter_wanted_level_no_drop %1d% to %2d% +0114=2, is_wanted_level_greater %1d% than %2d% +0115=1,clear_wanted_level %1d% +0116=1,set_deatharrest_state %1d% +0117=0, has_deatharrest_been_executed +0119=3,add_ammo_to_char %1d% weapon %2h% ammo %3d% +011B=1, is_player_still_alive %1d% +011C=1, is_player_dead %1d% +011D=1, is_char_dead %1d% +011E=1, is_car_dead %1d% +011F=2,set_char %1d% search_threat %2d% +0121=1,set_char_obj_no_obj %1d% +0126=2, is_player_in_zone %1d% zone %2z% +0127=1, is_player_pressing_horn %1d% +0128=2, char %1d% spotted_player %2d% +012B=1, is_char_objective_passed %1d% +012E=4,create_char_inside_car %1d% pedtype %2d% model %3m% store_to %4d% +012F=4,put_player %1d% at %2d% %3d% %4d% and_remove_from_car +0135=1, has_player_been_arrested %1d% +013C=2, is_car_model %1d% model %2m% +014C=1,give_car_alarm %1d% +014E=1, is_car_crushed %1d% +0150=13,create_car_generator %1d% %2d% %3d% angle %4d% model %5m% color %6d% %7d% force_spawn %8d% alarm %9d% doorlock %10d% delay %11d% %12d% store_to %13d% +0151=2,switch_car_generator %1d% num_generations %2d% +0153=2,display_onscreen_timer %1d% count_direction %2h% ; global_variable +0154=1,clear_onscreen_timer %1d% +0155=2,display_onscreen_counter global_var %1d% unknown %2d% +0156=1,clear_onscreen_counter %1d% +0157=13,set_zone_car_info %1s% time_of_day %2b:day/night% %3h% %4h% %5h% %6h% %7h% %8h% %9h% %10h% %11h% %12h% %13h% +0159=2, is_char_in_zone %1d% zone %2s% +015A=3,set_zone_car_density %1z% %2b:day/night% %3d% +015B=3,set_zone_ped_density %1z% %2b:day/night% %3d% +015C=3,point_camera_at_player %1d% mode %2d% switchstyle %3d% +015D=3,point_camera_at_car %1d% mode %2d% switchstyle %3d% +015E=3,point_camera_at_char %1d% mode %2d% switchstyle %3d% +015F=0,restore_camera +0161=13,set_zone_ped_info %1s% time_of_day %2b:day/night% %3h% %4h% %5h% %6h% %7h% %8h% %9h% %10h% %11h% %12h% %13d% +0162=1,set_time_scale %1d% +0164=6,set_fixed_camera_position %1d% %2d% %3d% rotation %4d% %5d% %6d% +0165=4,point_camera_at_point %1d% %2d% %3d% switchstyle %4d% +0166=4,add_blip_for_car_old %1d% color %2d% visibility %3d% store_to %4d% +0167=4,add_blip_for_char_old %1d% color %2d% visibility %3d% store_to %4d% +0169=1,remove_blip %1d% +016A=2,change_blip_colour %1d% to %2d% +016B=2,dim_blip %1d% brightness_to %2d% +016C=6,add_blip_for_coord_old %1d% %2d% %3d% color %4d% visibility %5d% store_to %6d% +016D=2,change_blip_scale %1d% to %2d% +016E=3,set_fading_colour %1d% %2d% %3d% +016F=2,do_fade %1d% fade %2d% +0170=0, get_fading_status +0171=4,add_hospital_restart %1d% %2d% %3d% angle %4d% +0172=4,add_police_restart %1d% %2d% %3d% angle %4d% +0173=4,override_next_restart %1d% %2d% %3d% angle %4d% +0175=2,get_player_heading %1d% store_to %2d% +0176=2,set_player_heading %1d% to %2d% +0177=2,get_char_heading %1d% store_to %2d% +0178=2,set_char_heading %1d% to %2d% +0179=2,get_car_heading %1d% store_to %2d% +017A=2,set_car_heading %1d% to %2d% +017B=2,get_object_heading %1d% store_to %2d% +017C=2,set_object_heading %1d% to %2d% +017D=2, player %1d% picked_up_object %2d% +017F=3,set_player %1d% weapon %2d% ammo %3d% +0180=3,set_char_ammo %1d% weapon %2d% ammo %3d% +0185=1,declare_mission_flag %1d% +0188=2, is_player_health_greater %1d% than %2d% +0189=2, is_char_health_greater %1d% than %2d% +018A=2, is_car_health_greater %1d% than %2d% +018B=2,add_blip_for_car %1d% store_to %2d% +018C=2,add_blip_for_char %1d% store_to %2d% +018D=2,add_blip_for_object %1d% store_to %2d% +018E=4,add_blip_for_contact_point %1d% %2d% %3d% store_to %4d% +018F=4,add_blip_for_coord %1d% %2d% %3d% store_to %4d% +0190=2,change_blip_display %1d% to %2d% +0191=4,add_one_off_sound %1d% %2d% %3d% sound %4d% +0192=5,add_continuous_sound %1d% %2d% %3d% %4d% %5d% +0193=1,remove_sound %1d% +0194=1, is_car_stuck_on_roof %1d% +0195=1,add_upsidedown_car_check %1d% +0196=1,remove_upsidedown_car_check %1d% +0197=1,set_char_obj_wait_on_foot %1d% +0198=1,set_char_obj_flee_on_foot_till_safe %1d% +0199=4,set_char_obj_guard_spot %1d% at %2d% %3d% %4d% +019A=5,set_char_obj_guard_area %1d% from %2d% %3d% to %4d% %5d% +019B=1,set_char_obj_wait_in_car %1d% +019C=6, is_player_in_area_on_foot_2d %1d% area %2d% %3d% to %4d% %5d% sphere %6b% +019D=6, is_player_in_area_in_car_2d %1d% cornerA %2d% %3d% cornerB %4d% %5d% in_car sphere %6d% +019E=6, is_player_stopped_in_area_2d %1d% from %2d% %3d% to %4d% %5d% sphere %6d% +019F=6, is_player_stopped_in_area_on_foot_2d %1d% cornerA %2d% %3d% cornerB %4d% %5d% sphere %6d% +01A0=6, is_player_stopped_in_area_in_car_2d %1d% cornerA %2d% %3d% cornerB %4d% %5d% sphere %6d% +01A1=8, is_player_in_area_on_foot_3d %1d% cornerA %2d% %3d% %4d% cornerB %5d% %6d% %7d% on_foot sphere %8d% +01A2=8, is_player_in_area_in_car_3d %1d% cornerA %2d% %3d% %4d% cornerB %5d% %6d% %7d% sphere %8d% +01A3=8, is_player_stopped_in_area_3d %1d% cornerA %2d% %3d% %4d% cornerB %5d% %6d% %7d% sphere %8d% +01A4=8, is_player_stopped_in_area_on_foot_3d %1d% cornerA %2d% %3d% %4d% cornerB %5d% %6d% %7d% sphere %8d% +01A5=8, is_player_stopped_in_area_in_car_3d %1d% cornerA %2d% %3d% %4d% cornerB %5d% %6d% %7d% sphere %8d% +01A6=6, is_char_in_area_on_foot_2d %1d% cornerA %2d% %3d% cornerB %4d% %5d% sphere %6d% +01A7=6, is_char_in_area_in_car_2d %1d% cornerA %2d% %3d% cornerB %4d% %5d% in_car sphere %6d% +01A8=6, is_char_stopped_in_area_2d %1d% from %2d% %3d% to %4d% %5d% sphere %6d% +01A9=6, is_char_stopped_in_area_on_foot_2d %1d% cornerA %2d% %3d% cornerB %4d% %5d% sphere %6d% +01AA=6, is_char_stopped_in_area_in_car_2d %1d% cornerA %2d% %3d% cornerB %4d% %5d% sphere %6d% +01AB=8, is_char_in_area_on_foot_3d %1d% cornerA %2d% %3d% %4d% cornerB %5d% %6d% %7d% on_foot sphere %8d% +01AC=8, is_char_in_area_in_car_3d %1d% cornerA %2d% %3d% %4d% cornerB %5d% %6d% %7d% sphere %8d% +01AD=8, is_char_stopped_in_area_3d %1d% cornerA %2d% %3d% %4d% cornerB %5d% %6d% %7d% sphere %8d% +01AE=8, is_char_stopped_in_area_on_foot_3d %1d% cornerA %2d% %3d% %4d% cornerB %5d% %6d% %7d% sphere %8d% +01AF=8, is_char_stopped_in_area_in_car_3d %1d% cornerA %2d% %3d% %4d% cornerB %5d% %6d% %7d% sphere %8d% +01B0=6, is_car_stopped_in_area_2d %1d% cornerA %2d% %3d% cornerB %4d% %5d% sphere %6d% +01B1=8, is_car_stopped_in_area_3d %1d% cornerA %2d% %3d% %4d% cornerB %5d% %6d% %7d% sphere %8d% +01B2=6, locate_car_2d %1d% point %2d% %3d% radius %4d% %5d% sphere %6d% +01B3=6, locate_stopped_car_2d %1d% point %2d% %3d% radius %4d% %5d% sphere %6d% +01B4=8, locate_car_3d %1d% point %2d% %3d% %4d% radius %5d% %6d% %7d% sphere %8d% +01B5=8, locate_stopped_car_3d %1d% point %2d% %3d% %4d% radius %5d% %6d% %7d% sphere %8d% +01B6=3,give_player %1d% weapon %2c% ammo %3d% +01B7=3,give_weapon_to_char %1d% weapon %2d% ammo %3d% +01B9=2,set_player_control %1d% to %2d% +01BA=1,force_weather %1d% +01BB=1,force_weather_now %1d% +01BC=0,release_weather +01BD=2,set_current_player_weapon %1d% to %2c% +01BE=2,set_current_char_weapon %1d% to %2d% +01C0=4,get_object_coordinates %1d% store_to %2d% %3d% %4d% +01C1=4,set_object_coordinates %1d% to %2d% %3d% %4d% +01C2=1,get_game_timer %1d% +01C3=4,turn_char_to_face_coord %1d% at %2d% %3d% %4d% +01C4=4,turn_player_to_face_coord %1d% at %2d% %3d% %4d% +01C5=2,store_wanted_level %1d% store_to %2d% +01C6=1, is_car_stopped %1d% +01C7=1,mark_char_as_no_longer_needed %1d% +01C8=1,mark_car_as_no_longer_needed %1d% +01C9=1,mark_object_as_no_longer_needed %1d% +01CA=1,dont_remove_char %1d% +01CB=1,remove_car_from_mission_cleanup_list %1d% +01CC=1,dont_remove_object %1d% +01CD=5,create_char_as_passenger %1d% pedtype %2d% model %3m% seat %4d% store_to %5d% +01CE=2,set_char_obj_kill_char_on_foot %1d% char %2d% +01CF=2,set_char_obj_kill_player_on_foot %1d% player %2d% +01D0=2,set_char_obj_kill_char_any_means %1d% char %2d% +01D1=2,set_char_obj_kill_player_any_means %1d% player %2d% +01D3=2,set_char_obj_flee_player_on_foot_till_safe %1d% player %2d% +01D4=2,set_char_obj_flee_char_on_foot_always %1d% char %2d% +01D5=2,set_char_obj_flee_player_on_foot_always %1d% player %2d% +01D6=2,set_char_obj_goto_char_on_foot %1d% char %2d% +01D7=2,set_char_obj_goto_player_on_foot %1d% player %2d% +01D8=2,set_char_obj_leave_car %1d% car %2d% +01D9=2,set_char_obj_enter_car_as_passenger %1d% car %2d% +01DA=2,set_char_obj_enter_car_as_driver %1d% car %2d% +01DD=2,set_char_obj_destroy_object %1d% object %2d% +01DE=2,set_char_obj_destroy_car %1d% car %2d% +01DF=5,set_char_obj_goto_area_on_foot char %1d% area_from %2d% %3d% to %4d% %5d% +01E3=2,tie_char %1d% to_char %2d% +01E4=2,tie_char %1d% to_player %2d% +01E5=1,clear_leader %1d% +01E6=3,set_char %1d% follow_route %2d% %3d% +01E7=4,add_route_point %1d% at %2d% %3d% %4d% +01E8=4,print_with_number_big %1g% number %2d% time %3d% style %4d% +01E9=4,print_with_number %1g% number %2d% time %3d% flag %4d% +01EA=4,print_with_number_now %1g% number %2d% time %3d% flag %4d% +01EB=4,print_with_number_soon %1g% number %2d% time %3d% ms flag %4d% +01EC=6,switch_roads_on cornerA %1d% %2d% %3d% cornerB %4d% %5d% %6d% +01ED=6,switch_roads_off %1d% %2d% %3d% to %4d% %5d% %6d% +01EE=2,get_number_of_passengers %1d% store_to %2d% +01EF=2,get_maximum_number_of_passengers %1d% store_to %2d% +01F0=1,set_car_density_multiplier %1d% +01F1=2,set_car_heavy %1d% to %2h% +01F2=1,clear_char_threat_search %1d% +01F3=10,activate_crane %1d% %2d% %3d% %4d% %5d% %6d% %7d% %8d% %9d% %10d% +01F4=2,deactivate_crane %1d% %2d% +01F5=1,set_max_wanted_level %1d% +01F8=1, is_car_in_air_proper %1d% +01F9=1, is_car_upsidedown %1d% +01FA=2,get_player_char %1d% store_to %2d% +01FB=0,cancel_override_restart +01FC=2,set_police_ignore_player %1d% to %2d% +01FE=9,start_kill_frenzy %1g% weapon %2d% time %3d% targets %4d% models %5d% %6d% %7d% %8d% completed_text %9d% +01FF=1,read_kill_frenzy_status %1d% +0200=2,sqrt %1d% store_to %2d% +0201=5, locate_player_any_means_car_2d %1d% car %2d% radius %3d% %4d% sphere %5d% +0202=5, locate_player_on_foot_car_2d %1d% car %2d% radius %3d% %4d% %5d% +0203=5, player %1d% near_car_in_car %2d% radius %3d% %4d% %5d% +0204=6, player %1d% near_car %2d% radius %3d% %4d% %5d% unknown %6h% +0205=6, player %1d% near_car_on_foot %2d% radius %3d% %4d% %5d% unknown %6h% +0206=6, player %1d% near_car_in_car %2d% radius %3d% %4d% %5d% unknown %6h% +0207=5, locate_char_any_means_car_2d %1d% car %2d% radius %3d% %4d% sphere %5d% +0208=5, locate_char_on_foot_car_2d %1d% car %2d% radius %3d% %4d% sphere %5d% +0209=5, locate_char_in_car_car_2d %1d% car %2d% radius %3d% %4d% sphere %5d% +020A=6, locate_char_any_means_car_3d %1d% car %2d% radius %3d% %4d% %5d% sphere %6h% +020B=6, locate_char_on_foot_car_3d %1d% car %2d% radius %3d% %4d% %5d% sphere %6h% on_foot +020C=6, locate_char_in_car_car_3d %1d% car %2d% radius %3d% %4d% %5d% sphere %6h% in_car +020D=3,generate_random_float_in_range %1d% %2d% store_to %3d% +020E=3,generate_random_int_in_range %1d% %2d% store_to %3d% +020F=2,lock_car_doors %1d% mode %2d% +0210=1,explode_car %1d% +0211=4,add_explosion %1d% %2d% %3d% type %4d% +0212=1, is_car_upright %1d% +0213=2,turn_char_to_face_char %1d% char %2d% +0214=2,turn_char_to_face_player %1d% player %2d% +0215=2,turn_player_to_face_char %1d% char %2d% +0216=3,char %1d% walk_to %2d% %3d% +0218=6,create_pickup %1o% type %2d% at %3d% %4d% %5d% store_to %6d% +0219=1, has_pickup_been_collected %1d% +021A=1,remove_pickup %1d% +021B=2,set_taxi_lights %1d% to %2d% +021C=3,print_big_q %1g% time %2d% style %3d% +021D=4,print_with_number_big_q %1g% %2d% time %3d% ms style %4d% +021E=10,set_garage from %1d% %2d% %3d% to %4d% %5d% %6d% depth_from %7d% to %8d% type %9h% store_to %10h% +0220=2,set_target_car_for_mission_garage %1d% to %2d% +0221=1, car_inside_garage %1d% +0222=1,set_free_bomb_shop_to %1b:true/false% +0225=1, is_car_armed_with_any_bomb %1d% +0226=2,apply_brakes_to_players_car %1d% apply %2d% +0227=2,set_player %1d% health_to %2d% +0228=2,set_char_health %1d% to %2d% +0229=2,set_car_health %1d% to %2d% +022A=2,get_player_health %1d% store_to %2d% +022B=2,get_char_health %1d% store_to %2d% +022C=2,get_car_health %1d% store_to %2d% +022D=2, is_car_armed_with_bomb %1d% bomb %2d% +022E=3,change_car_colour %1d% primary_to %2d% secondary_to %3d% +022F=6,switch_ped_roads_on %1d% %2d% %3d% to %4d% %5d% %6d% +0230=6,switch_ped_roads_off %1d% %2d% %3d% to %4d% %5d% %6d% +0231=2,char_look_at_char_always %1d% char %2d% +0232=2,char_look_at_player_always %1d% player %2d% +0233=2,player_look_at_char_always %1d% char %2d% +0234=1,stop_char_looking %1d% +0235=1,stop_player_looking %1d% +023A=3,set_gang_ped_models %1d% to %2m% %3m% +023B=2,set_gang_car_model %1d% to %2m% +023C=3,set_gang %1d% primary_weapon_to %2c% secondary_weapon_to %3c% +023E=3,set_char_obj_run_to_coord %1d% run_to %2d% %3d% +0241=2,load_special_character %1d% model %2s% +0242=1, has_special_character_loaded %1d% +0246=1, is_player_in_remote_mode %1d% +0247=2,set_car %1d% bomb_status_to %2d% +0248=2,set_char %1d% ped_stats_to %2d% +0249=3,set_cutscene_offset %1d% %2d% %3d% +024A=2,set_anim_group_for_char %1d% to %2d% +024C=1,request_model %1o% +024D=1, has_model_loaded %1o% +024E=1,mark_model_as_no_longer_needed %1o% +024F=3,grab_phone coords %1d% %2d% store_to %3d% +0253=1,turn_phone_off %1d% +0254=9,draw_corona %1d% %2d% %3d% radius %4d% type %5d% lensflare %6d% colour %7d% %8d% %9d% +0256=0,store_weather +0257=0,restore_weather +0258=0,store_clock +0259=0,restore_clock +025A=4,set_critical_mission_restart_at %1d% %2d% %3d% angle %4d% +025B=1, is_player_playing %1d% +025C=1,set_coll_obj_no_obj %1d% +025D=1,set_coll_obj_wait_on_foot %1d% +025E=1,set_coll_obj_flee_on_foot_till_safe %1d% +025F=4,set_coll_obj_guard_spot %1d% coords %2d% %3d% %4d% +0260=5,set_coll_obj_guard_area %1d% coords %2d% %3d% to %4d% %5d% +0261=1,set_coll_obj_wait_in_car %1d% +0262=2,set_coll_obj_kill_char_on_foot %1d% char %2d% +0263=2,set_coll_obj_kill_char_on_foot %1d% player %2d% +0264=2,set_coll_obj_kill_char_any_means %1d% char %2d% +0265=2,set_coll_obj_kill_player_any_means %1d% player %2d% +0266=2,set_coll_obj_flee_char_on_foot_till_safe %1d% char %2d% +0267=2,set_coll_obj_flee_player_on_foot_till_safe %1d% player %2d% +0268=2,set_coll_obj_flee_char_on_foot_always %1d% char %2d% +0269=2,set_coll_obj_flee_player_on_foot_always %1d% player %2d% +026A=2,set_coll_obj_goto_char_on_foot %1d% char %2d% +026B=2,set_coll_obj_goto_player_on_foot %1d% player %2d% +026C=1,set_coll_obj_leave_any_car %1d% +026D=2,set_coll_obj_enter_car_as_passenger %1d% vehicle %2d% +026E=2,set_coll_obj_enter_car_as_driver %1d% vehicle %2d% +0271=1,set_coll_obj_destroy_object %1d% +0272=1,set_coll_obj_destroy_car %1d% +0273=5,set_coll_obj_goto_area_on_foot %1d% point %2d% %3d% to %4d% %5d% +0274=5,set_coll_obj_goto_area_in_car %1d% point %2d% %3d% to %4d% %5d% +0277=3,set_coll_obj %1d% follow_route %2d% %3d% +0278=3,set_coll_obj_goto_coord_on_foot %1d% coords %2d% %3d% +027A=5,set_coll_obj_run_to_area %1d% coords %2d% %3d% to %4d% %5d% +027B=3,set_coll_obj_run_to_coord %1d% coords %2d% %3d% +027C=4,add_peds_in_area_to_coll %1d% %2d% %3d% store_to %4d% +027D=2,add_peds_in_vehicle_to_coll %1d% store_to %2d% +027E=1,clear_coll %1d% +027F=1, is_coll_in_cars %1d% +0296=2,set_char_heed_threats %1d% flag %2d% +0298=1,get_controller_mode %1d% +0299=2,set_can_respray_car %1d% to %2d% +029B=1,unload_special_character %1d% +029C=0,reset_num_of_models_killed_by_player +029D=2,get_num_of_models_killed_by_player model %1m% store_to %2d% +02A0=5,create_object_no_offset %1o% at %2d% %3d% %4d% store_to %5d% +02A1=1, is_boat %1d% +02A4=1, is_player_stopped %1d% +02A5=1, is_char_stopped %1d% +02A6=2,message_wait %1d% unk2 %2d% +02A8=1,switch_widescreen %1d% +02AC=5,add_sprite_blip_for_contact_point %1d% %2d% %3d% sprite %4d% store_to %5d% +02AD=5,add_sprite_blip_for_coord %1d% %2d% %3d% sprite %4d% store_to %5d% +02AE=2,set_char_only_damaged_by_player %1d% to %2d% +02AF=2,set_car_only_damaged_by_player %1d% to %2d% +02B0=6,set_char_proofs %1d% BP %2d% FP %3d% EP %4d% CP %5d% MP %6d% +02B1=6,set_car_proofs %1d% BP %2d% FP %3d% EP %4d% CP %5d% MP %6d% +02B2=7, player %1d% in_area %2d% %3d% %4d% %5d% radius %6d% sphere %7h% +02B3=7, player %1d% in_area_on_foot %2d% %3d% %4d% %5d% radius %6d% sphere %7h% +02B4=7, player %1d% in_area_in_car %2d% %3d% %4d% %5d% radius %6d% sphere %7h% +02B5=7, player %1d% stopped_in_area %2d% %3d% %4d% %5d% radius %6d% sphere %7h% +02B6=7, player %1d% stopped_in_area_on_foot %2d% %3d% %4d% %5d% radius %6d% sphere %7h% +02B7=7, player %1d% stopped_in_area_in_car %2d% %3d% %4d% %5d% radius %6d% sphere %7h% +02B8=9, player %1d% in_cube %2d% %3d% %4d% %5d% %6d% %7d% radius %8d% sphere %9h% +02B9=9, player %1d% in_cube_on_foot %2d% %3d% %4d% %5d% %6d% %7d% radius %8d% sphere %9h% +02BA=9, player %1d% in_cube_in_car %2d% %3d% %4d% %5d% %6d% %7d% radius %8d% sphere %9h% +02BB=9, player %1d% stopped_in_cube %2d% %3d% %4d% %5d% %6d% %7d% radius %8d% sphere %9h% +02BC=9, player %1d% stopped_in_cube_on_foot %2d% %3d% %4d% %5d% %6d% %7d% radius %8d% sphere %9h% +02BD=9, player %1d% stopped_in_cube_in_car %2d% %3d% %4d% %5d% %6d% %7d% radius %8d% sphere %9h% +02C4=1, is_car_in_water %1d% +02C5=6,get_closest_char_node %1d% %2d% %3d% store_to %4d% %5d% %6d% +02C6=6,get_closest_car_node %1d% %2d% %3d% store_to %4d% %5d% %6d% +02C7=4,car_goto_coordinates_accurate %1d% coords %2d% %3d% %4d% +02CF=1, is_car_on_screen %1d% +02D0=1, is_char_on_screen %1d% +02D1=1, is_object_on_screen %1d% +02D2=2,gosub_file %1p% %2p% +02D3=4,get_ground_z_for_3d_coord %1d% %2d% %3d% store_to %4d% +02D4=4,start_script_fire %1d% %2d% %3d% store_to %4d% +02D5=1, is_script_fire_extinguished %1d% +02D6=1,remove_script_fire %1d% +02D8=4,boat_goto_coords %1d% coords %2d% %3d% %4d% +02D9=1,boat_stop %1d% +02DA=6, is_player_shooting_in_area %1d% from %2d% %3d% to %4d% %5d% weapon %6d% +02DC=2, is_current_player_weapon %1d% weapon %2c% +02DD=2, is_current_char_weapon %1d% weapon %2d% +02E0=2,set_boat_cruise_speed %1d% to %2d% +02E1=8,get_random_char_in_area from %1d% %2d% to %3d% %4d% civilian %5h% gang %6h% criminal/prostitute %7h% store_to %8d% +02E2=5,get_random_char_in_zone %1s% civilian %2h% gang %3h% criminal/prostitute %4h% store_to %5d% +02E3=1, is_player_in_taxi %1d% +02E4=1, is_player_shooting %1d% +02E5=1, is_char_shooting %1d% +02E6=5,create_money_pickup %1d% %2d% %3d% type %4d% store_to %5d% +02E7=2,set_char_accuracy %1d% to %2d% +02E8=2,get_car_speed %1d% store_to %2d% +02E9=1,load_cutscene %1s% +02EA=2,create_cutscene_object %1o% store_to %2d% +02EB=2,set_cutscene_anim %1d% %2s% +02EC=0,start_cutscene +02ED=1,get_cutscene_time %1d% +02EE=0, has_cutscene_finished +02EF=0,clear_cutscene +02F0=0,restore_camera_jumpcut +02F1=3,create_collectable1 pos %1d% %2d% %3d% +02F2=1,set_collectable1_total %1d% +02F7=2, is_char_model %1d% model %2m% +02F8=2,load_special_model %1o% %2s% +02FB=2,sin %1d% store_to %2d% +02FC=2,cos %1d% store_to %2d% +02FD=2,get_car_forward_x %1d% store_to %2d% +02FE=2,get_car_forward_y %1d% store_to %2d% +02FF=2,change_garage_type %1d% to %2d% +0300=10,create_crusher_crane %1d% %2d% %3d% %4d% %5d% %6d% %7d% %8d% %9d% %10d% +0301=5,text_2numbers %1g% %2d% %3d% %4d% ms %5d% +0302=5,print_with_2_numbers_now %1g% numbers %2d% %3d% time %4d% flag %5d% +0303=5,text_2numbers_highpriority %1g% %2d% %3d% %4d% ms %5d% +0304=6,print_with_3_numbers %1g% numbers %2d% %3d% %4d% time %5d% flag %6h% +0305=6,text_3numbers_highpriority %1g% %2d% %3d% %4d% time %5d% ms %6h% +0307=7,print_with_4_numbers %1g% numbers %2d% %3d% %4d% %5d% time %6d% flag %7d% +030D=9,print_with_6_numbers %1g% numbers %2d% %3d% %4d% %5d% %6d% %7d% time %8d% flag %9d% +0310=3,set_char_obj %1d% follow_char %2d% in_formation %3d% +0311=1,player_made_progress %1d% +0312=1,set_progress_total %1d% +0313=1,save_jump_distance %1d% +0314=1,save_jump_height %1d% +0315=1,save_jump_flips %1d% +0316=1,save_jump_rotation %1d% +0317=1,save_jump_type %1d% +0318=0,increment_unique_jumps_found +0319=1,set_total_unique_jumps_to %1d% +031A=0,register_passenger_dropped_off_taxi +031B=1,register_money_made_taxi %1d% +031C=0,register_mission_given +031D=1,register_mission_passed %1g% +031E=2,set_char %1d% running %2b:true/false% +031F=0,remove_all_script_fires +0322=2, has_char_been_damaged_by_weapon %1d% weapon %2d% +0323=2, has_car_been_damaged_by_weapon %1d% weapon %2h% +0324=2, unknown_char %1d% hit_by_char %2d% +0325=2, char %1d% in_range_of_player %2d% +0326=1,explode_char_head %1d% +0327=1,explode_player_head %1d% +0328=2,anchor_boat %1d% set %2d% +0329=3,set_zone_pedgroup_info %1z% %2b:day/night% %3u% +032A=2,start_car_fire %1d% store_to %2d% +032B=2,start_char_fire %1d% store_to %2d% +032C=6,get_random_car_of_type_in_area %1d% %2d% to %3d% %4d% model %5d% store_to %6d% +032E=1, garage %1d% respray_done +032F=1,set_camera_zoom %1h% +0330=7,create_pickup_with_ammo %1o% type %2d% ammo %3d% at %4d% %5d% %6d% store_to %7d% +0331=2,car %1d% ram %2d% +0335=2,set_player_never_gets_tired %1d% set %2d% +0336=2,set_player_fast_reload %1d% set %2d% +0337=2,set_char_bleeding %1d% set %2d% +0339=2,set_car_big_wheels %1d% to %2b:true/false% +033A=1,set_free_resprays %1d% +033B=2,set_player %1d% visible %2d% +033C=2,set_char_visible %1d% %2h% +033D=2,set_car_visible %1d% %2h% +033E=11, is_area_occupied %1d% %2d% %3d% to %4d% %5d% %6d% solid %7d% car %8d% char %9d% object %10d% particle %11d% +0343=3,display_text %1d% %2d% gxt %3g% +0344=2,set_text_scale %1d% %2d% +0345=4,set_text_colour %1d% %2d% %3d% %4d% +0346=1,set_text_justify %1d% +0347=1,set_text_centre %1d% +0348=1,set_text_wrapx %1d% +034A=1,set_text_background %1d% +034D=1,set_text_proportional %1d% +034F=1,industrial_passed %1d% +0350=1,commercial_passed %1d% +0351=1,suburban_passed %1d% +0352=4,rotate_object %1d% from %2d% to %3d% colission_check %4d% +0353=8, slide_object %1d% to %2d% %3d% %4d% speed %5d% %6d% %7d% collision_check %8d% +0354=1,remove_char_elegantly %1d% +0355=2,set_char_stay_in_same_place %1d% to %2d% +0357=2,undress_char %1d% skin_to %2s% +0358=1,dress_char %1d% +035B=7, is_explosion_in_area %1d% from %2d% %3d% %4d% to %5d% %6d% %7d% +0361=5,place_object_relative_to_car %1d% car %2d% offset %3d% %4d% %5d% +0362=1,make_object_targettable %1d% +0363=2,set_player %1d% armour_to %2d% +0364=2,add_armour_to_char %1d% armour %2d% +0365=1,open_garage %1d% +0366=1,close_garage %1d% +0367=4,warp_char_from_car_to_coord %1d% coord %2d% %3d% %4d% +0368=6,set_visibility_of_closest_object_of_type %1d% %2d% %3d% radius %4d% model %5o% visibility %6d% +0369=2, has_char_spotted_char %1d% char %2d% +036A=1,set_char %1d% hail_taxi +036B=1, has_object_been_damaged %1d% +036C=9,init_headshot_rampage %1g% %2d% %3d% %4d% %5m% %6m% %7m% %8m% %9d% +036D=10,create_ev_crane %1d% %2d% %3d% %4d% %5d% %6d% %7d% %8d% %9d% %10d% +036E=2,put_player %1d% in_car %2d% +036F=2,warp_char_into_car %1d% car %2d% +0370=1,switch_car_radio %1d% +0372=5,print_with_2_numbers_big %1g% numbers %2d% %3d% time %4d% style %5d% +0373=6,text_3numbers_styled %1g% %2d% %3d% %4d% %5d% ms %6d% +0377=3,set_char %1d% anim %2d% wait_state_time %3d% ms +0378=0,set_camera_behind_player +037B=4,create_random_char %1d% %2d% %3d% store_to %4d% +037C=1,set_char %1d% steal_any_car +0383=6, is_sniper_bullet_in_area %1d% %2d% %3d% %4d% %5d% %6d% +0386=4,set_object_velocity %1d% to %2d% %3d% %4d% +0387=2,set_object_collision %1d% enable %2d% +0388=1, is_icecream_jingle_on car %1d% +0389=4,print_string_in_string_now %1g% gxt %2g% time %3d% flag %4d% +038F=6, is_point_obscured_by_a_mission_entity %1d% %2d% %3d% radius %4d% %5d% %6d% +0390=0,load_all_models_now +0391=4,add_to_object_velocity %1d% value %2d% %3d% %4d% +0397=2,set_object_dynamic %1d% %2d% +0399=1,play_mission_passed_tune %1d% +039A=5,clear_area %1d% %2d% %3d% radius %4d% clear_particles %5d% +039B=1,freeze_onscreen_timer %1d% +039C=2,switch_car_siren %1d% to %2d% +039E=7,switch_ped_roads_off_angled %1d% %2d% %3d% to %4d% %5d% %6d% angle %7d% +03A1=2,set_car_watertight %1d% to %2h% +03A2=12,add_moving_particle_effect %1a% at %2d% %3d% %4d% %5d% %6d% %7d% values %8d% %9d% %10d% %11d% %12d% +03A3=2,set_char_cant_be_dragged_out %1d% to %2d% +03A4=3,turn_car_to_face_coord %1d% coord %2d% %3d% +03A5=3,is_crane_lifting_car %1d% coords %2d% %3d% +03A6=4,draw_sphere %1d% %2d% %3d% radius %4d% +03A7=2,set_car_status %1d% to %2h% +03A8=1, is_char_male %1d% +03A9=1,script_name %1s% +03AC=1,save_int_to_debug_file %1d% ; nop +03AD=1,save_float_to_debug_file %1d% +03AE=0,save_newline_to_debug_file ; nop +03AF=3,police_radio_message point %1d% %2d% %3d% +03B0=2,set_car_strong %1d% to %2d% +03B1=1,clear_route %1d% +03B2=1,switch_rubbish %1d% +03B3=6,remove_particle_effects_in_area %1d% %2d% %3d% %4d% %5d% %6d% +03B4=1,switch_streaming %1d% +03B5=1, is_garage_open %1d% +03B6=1, is_garage_closed %1d% +03BB=6,swap_nearest_building_model %1d% %2d% %3d% radius %4d% from %5o% to %6o% +03BC=1,switch_world_processing %1d% +03BD=1,clear_weapons_from_player %1d% +03BF=6,clear_area_of_cars %1d% %2d% %3d% to %4d% %5d% %6d% +03C0=1,set_garage %1d% door_type_to_swing_open +03C1=5,add_sphere %1d% %2d% %3d% radius %4d% store_to %5d% +03C2=1,remove_sphere %1d% +03C4=2,set_everyone_ignore_player %1d% to %2d% +03C5=2,store_car_char_is_in_no_save %1d% store_to %2d% +03C6=2,store_car_player_is_in_no_save %1d% store_to %2d% +03C8=3,display_onscreen_timer_with_string %1d% type %2h% gxt %3g% +03C9=3,display_onscreen_counter_with_string %1d% type %2d% gxt %3g% +03CA=4,create_random_car_for_car_park %1d% %2d% %3d% heading %4d% +03CB=1, is_collision_in_memory island_id %1d% +03CC=1,set_wanted_multiplier %1d% +03CD=0,set_camera_in_front_of_player +03CE=1, is_car_visibly_damaged %1d% +03CF=1, does_object_exist %1d% +03D0=3,load_scene %1d% %2d% %3d% +03D1=3,add_stuck_car_check %1d% distance %2d% time %3d% +03D2=1,remove_stuck_car_check %1d% +03D3=1, is_car_stuck %1d% +03D4=2,load_mission_audio slot %1d% name %2s% +03D5=1, has_mission_audio_loaded slot %1d% +03D6=1,play_mission_audio %1d% +03D7=1, has_mission_audio_finished slot %1d% +03D8=7,get_closest_car_node_with_heading %1d% %2d% %3d% store_to %4d% %5d% %6d% heading_to %7d% +03D9=2, garage %1d% contains_neededcar %2d% +03DA=1,clear_this_print %1g% +03DB=1,clear_this_big_print %1g% +03DC=4,set_mission_audio_position slot %1h% to %2d% %3d% %4d% +03DD=0,activate_save_menu +03DE=0, has_save_game_finished +03DF=1,set_garage %1d% camera_follows_player +03E1=2,add_blip_for_pickup %1d% store_to %2d% +03E3=1,set_ped_density_multiplier %1d% +03E4=1,force_random_ped_type %1d% +03E6=1,get_collectable1s_collected store_to %1d% +03E7=1,char %1d% exit_car +03E9=1,set_text_right_justify %1h% +03EA=1,print_help %1g% +03EB=0,clear_help +03EC=1,flash_hud_object %1d% +03EE=1, is_char_in_control %1d% +03EF=1,set_generate_cars_around_camera %1d% +03F0=0,clear_small_prints +03F1=0, ev_crane_collected_all_cars +03F2=2,set_upsidedown_car_not_damaged %1d% to %2h% +03F3=1, is_player_control_on %1d% +03F4=1,make_player_safe_for_cutscene %1d% +03F5=1,use_text_commands %1d% +03F6=2,pedtype %1e% add_threat %2e% +03F7=2,pedtype %1e% remove_threat %2e% +03F8=3,get_car_colours %1d% store_to %2d% and %3d% +03F9=1,set_all_cars_can_be_damaged %1d% +03FA=2,set_car_can_be_damaged %1d% to %2h% +03FE=3,make_chars %1d% %2d% converse_in %3d% ms +0402=2,set_drunk_input_delay %1d% to %2d% +0403=2,set_char_money %1d% to %2d% +0405=7,get_offset_from_object_in_world_coords %1d% offset %2d% %3d% %4d% store_to %5d% %6d% %7d% +0406=0,register_life_saved +0407=0,register_criminal_caught +0408=1,register_ambulance_level %1d% +0409=0,register_fire_extinguished +040A=1,turn_phone_on %1d% +040C=7,get_offset_from_car_in_world_coords %1d% offset %2d% %3d% %4d% store_to %5d% %6d% %7d% +040D=1,set_total_rampages_to %1d% +040E=0,blow_up_rc_buggy +0410=0, is_french_game +0411=0, is_german_game +0412=1,clear_mission_audio slot %1d% +0416=2,set_char %1d% use_pednode_seek %2b:true/false% +0418=2,enable %1d% get_out_of_jail_free %2d% +0419=2,set_free_health_care %1d% to %2d% +041C=1,load_and_launch_mission_internal %1d% +041D=2,set_object_draw_last %1d% to %2h% +041E=3,get_ammo_in_player_weapon %1d% weapon %2h% store_to %3d% +0421=2,make_char %1d% say %2d% +0422=1,set_near_clip %1d% +0423=2,set_radio_channel %1d% %2d% +0427=2, garage_contain_car %1d% %2d% +0428=2,set_car_traction %1d% to %2d% +0429=0, are_measurements_in_metres +042A=2,convert_metres_to_feet %1d% store_to %2d% +042B=6,mark_roads_between_levels cube %1d% %2d% %3d% %4d% %5d% %6d% +042D=2,set_car_avoid_level_transitions %1d% to %2d% +0430=6,clear_area_of_chars %1d% %2d% %3d% to %4d% %5d% %6d% +0431=1,set_total_number_of_missions %1d% +0432=2,convert_metres_to_feet_int %1d% store_to %2d% +0433=2,register_fastest_time %1h% to %2d% +0434=2,register_highest_score %1d% integer %2d% +0435=3,warp_char_into_car_as_passenger %1d% car %2d% seat %3h% +0436=2, is_car_passenger_seat_free %1d% seat %2d% +0437=3,get_char_in_car_passenger_seat %1d% seat %2h% store_to %3d% +0438=2,set_char_is_chris_criminal %1d% to %2h% +0439=1,start_credits group %1d% +043A=0,stop_credits +043B=0, are_credits_finished +043C=8,create_single_particle %1a% at %2d% %3d% %4d% %5d% %6d% %7d% %8d% +0441=1,set_music_does_fade %1d% +0444=0,play_end_of_game_tune +0445=0,stop_end_of_game_tune +0446=2,get_car_model %1d% store_to %2d% +0447=2, is_player_sitting_in_car player %1d% car %2d% +0448=1, is_player_sitting_in_any_car player %1d% +044A=0, are_any_car_cheats_activated +044B=2,set_char_suffers_critical_hits %1d% enable %2d% +044D=2, is_char_sitting_in_car %1d% car %2d% +044E=1, is_char_sitting_in_any_car %1d% +044F=1, is_player_on_foot %1d% +0450=1, is_char_on_foot %1d% +0452=1,load_splash_screen %1s% +0455=1,set_james_car_on_path_to_player %1d% +0456=0,load_end_of_game_tune +0457=0,enable_player_control_camera +0458=4,set_object_rotation %1d% to %2d% %3d% %4d% +0459=3,get_debug_camera_position %1d% %2d% %3d% +045C=2, is_player_targetting_char %1d% char %2d% +045D=2, is_player_targetting_object %1d% object %2d% +045E=1,terminate_all_scripts_with_this_name %1s% +045F=4,display_text_with_number %1d% %2d% gxt %3g% number %4d% +0460=5,display_text_with_2_numbers %1d% %2d% gxt %3g% numbers %4d% %5d% +0461=0,fail_current_mission +0464=1,set_all_occupants_of_car_leave_car %1d% +0465=2,set_interpolation_parameters %1d% time %2d% +0468=3,get_debug_camera_point_at %1d% %2d% %3d% +0469=8,attach_ped_to_car %1d% car %2d% offset %3d% %4d% %5d% position %6h% angle_limit %7d% weapon %8h% +046A=1,detach_char_from_car %1d% +046B=2,set_car_stay_in_fast_lane %1d% to %2h% +046C=1,clear_char_last_weapon_damage %1d% +046D=1,clear_car_last_weapon_damage %1d% +046E=10,get_random_cop_in_area %1d% %2d% to %3d% %4d% cop %5h% swat %6h% fbi %7h% army %8h% vice %9h% store_to %10d% +0470=2,set_car_obj_flee_car %1d% car %2d% +0471=2,get_driver_of_car %1d% store_to %2d% +0472=2,get_number_of_followers %1d% store_to %2d% +0473=6,give_remote_controlled_model_to_player %1d% at %2d% %3d% %4d% angle %5d% model %6m% +0474=2,store_player %1d% currently_armed_weapon_to %2d% +0475=2,get_current_char_weapon %1d% store_to %2d% +0476=5, locate_char_any_means_object_2d %1d% object %2d% radius %3d% %4d% sphere %5h% +0477=5, locate_char_on_foot_object_2d %1d% object %2d% radius %3d% %4d% sphere %5h% +0478=5, locate_char_in_car_object_2d %1d% object %2d% radius %3d% %4d% sphere %5h% +0479=6, locate_char_any_means_object_3d %1d% object %2d% radius %3d% %4d% %5d% sphere %6h% +047A=6, locate_char_on_foot_object_3d %1d% object %2d% radius %3d% %4d% %5d% sphere %6h% +047B=6, locate_char_in_car_object_3d %1d% object %2d% radius %3d% %4d% %5d% sphere %6h% +047C=3,set_car_temp_action %1d% to %2h% time %3d% +047F=1, is_char_on_any_bike %1d% +0483=1, is_player_on_any_bike %1d% +0485=2, can_char_see_dead_char %1d% pedtype %2h% +0486=1,set_enter_car_range_multiplier %1d% +0487=1,set_threat_reaction_range_multiplier %1d% +0488=2,set_char_cease_attack_timer %1d% time %2d% +0489=2,get_remote_controlled_car %1d% store_to %2d% +048A=0, is_pc_version +048D=1, is_model_available %1o% +048E=2,shut_char_up %1d% to %2h% +048F=1,set_enable_rc_detonate %1h% +0490=2,set_car_random_route_seed %1d% to %2d% +0491=3, is_any_pickup_at_coords %1d% %2d% %3d% +0494=1,remove_all_char_weapons %1d% +0495=2, has_player_got_weapon %1d% weapon %2d% +0496=2, has_char_got_weapon %1d% weapon %2d% +0498=2,set_tank %1d% contact_explosion %2h% +0499=5,get_position_of_analogue_sticks %1h% store_to %2d% %3d% %4d% %5d% +049A=1, is_car_on_fire %1d% +049B=2, is_car_tyre_burst %1d% tyre %2h% +04A1=3,initialise_object_path %1h% width %2d% store_to %3d% +04A2=2,start_object_on_path %1d% path %2d% +04A3=2,set_object_path_speed %1d% speed_to %2d% +04A4=2,set_object_path_position %1d% distance_along_path_to %2d% +04A6=1,clear_object_path %1d% +04A7=5,heli_goto_coords %1d% coords %2d% %3d% %4d% speed %5h% +04A8=2, %1d% == %2h% ; $ == constant +04A9=2, %1d% == %2h% ; @ == constant +04AA=4,get_dead_char_pickup_coords %1d% store_to %2d% %3d% %4d% +04AB=6,create_protection_pickup %1d% %2d% %3d% money %4d% %5d% store_to %6d% +04AD=1, player %1d% driving_boat +04AF=1, is_player_in_any_heli %1d% +04B1=1, is_player_in_any_plane %1d% +04B2=1, is_char_in_water %1d% +04B3=2,%1d% = %2d% +04B4=2,%1d% = %2d% +04B5=2, %1d% > %2d% +04B6=2, %1d% > %2d% +04B7=2, %1d% > %2d% +04B8=2, %1d% > %2d% +04B9=2, %1d% >= %2d% +04BA=2, %1d% >= %2d% +04BB=2, %1d% >= %2d% +04BC=2, %1d% >= %2d% +04BD=5,get_char_weapon_in_slot %1d% slot %2h% store_weapon_to %3d% ammo_to %4d% model_to %5d% +04BE=12,get_closest_straight_road %1d% %2d% %3d% unk_length %4d% radius %5d% store_to %6d% %7d% %8d% %9d% %10d% %11d% %12d% +04BF=2,set_car_forward_speed %1d% to %2d% +04C0=1,set_area_visible %1h% +04C1=1,set_cutscene_anim_to_loop %1s% +04C2=2,mark_car_as_convoy_car %1d% set_to %2h% +04C3=1,reset_havoc_caused_by_player %1d% +04C4=2,get_havoc_caused_by_player %1d% store_to %2d% +04C5=6,create_script_roadblock %1d% %2d% %3d% to %4d% %5d% %6d% +04C6=0,clear_all_script_roadblocks +04C7=2,set_char_obj_walk_to_char %1d% char %2d% +04C9=7,get_offset_from_char_in_world_coords %1d% offset %2d% %3d% %4d% store_to %5d% %6d% %7d% +04CA=1, has_char_been_photographed %1d% +04CB=2,set_char_obj_aim_gun_at_char %1d% char %2d% +04CC=1,switch_security_camera %1h% +04CE=1, is_player_in_flying_vehicle %1d% +04D3=5,add_short_range_sprite_blip_for_coord %1d% %2d% %3d% sprite %4d% store_to %5d% +04D4=1,add_money_spent_on_clothes %1d% +04D5=2,set_heli_orientation %1d% to %2d% +04D6=1,clear_heli_orientation %1d% +04D7=5,plane_goto_coords %1d% coords %2d% %3d% %4d% value %5h% +04D8=7,get_nth_closest_car_node %1d% %2d% %3d% nth %4h% store_to %5d% %6d% %7d% +04D9=7,get_nth_closest_char_node %1d% %2d% %3d% nth %4h% store_to %5d% %6d% %7d% +04DA=9,draw_weaponshop_corona %1d% %2d% %3d% radius %4d% type %5h% flare %6h% colour %7d% %8h% %9h% +04DB=1,set_enable_rc_detonate_on_contact %1h% +04DC=2,freeze_char_position %1d% set_to %2h% +04DD=2,set_char_drowns_in_water %1d% to %2h% +04DE=2,set_object_records_collisions %1d% to %2h% +04DF=1, has_object_collided_with_anything %1d% +04E0=0,remove_rc_buggy +04E1=0, has_photograph_been_taken +04E2=2,get_char_armour %1d% store_to %2d% +04E4=2,set_heli_stabiliser %1d% to %2h% +04E5=2,set_car_straight_line_distance %1d% to %2h% +04E6=1,pop_car_boot %1d% +04E7=2,shut_player_up %1d% to %2h% ; nop +04E8=3,set_player_mood %1d% to %2h% time %3d% +04E9=2,request_collision %1d% %2d% +04EA=6, locate_object_2d %1d% point %2d% %3d% radius %4d% %5d% sphere %6h% +04EB=8, locate_object_3d %1d% point %2d% %3d% %4d% radius %5d% %6d% %7d% sphere %8h% +04EC=1, is_object_in_water %1d% +04EE=6, is_object_in_area_2d %1d% from %2d% %3d% to %4d% %5d% sphere %6d% +04EF=8, is_object_in_area_3d %1d% from %2d% %3d% %4d% to %5d% %6d% %7d% sphere %8h% +04F0=3,set_char_crouch %1d% to %2h% set_char_crouch %3d% +04F1=13,set_zone_civilian_car_info %1s% %2h% %3d% %4h% %5d% %6d% %7h% %8h% %9h% %10h% %11h% %12d% %13d% +04F2=1,request_animation %1s% +04F3=1, has_animation_loaded %1s% +04F4=1,remove_animation %1s% +04F5=1, is_char_waiting_for_world_collision %1d% +04F6=1, is_car_waiting_for_world_collision %1d% +04F8=1,move_char %1d% from_car_passengerseat_to_driverseat +04F9=8,attach_char_to_object %1d% object %2d% offset %3d% %4d% %5d% orientation %6h% angle_limit %7d% weapon %8h% +04FA=3,set_char_as_player_friend %1d% player %2d% on %3h% +04FC=4,display_nth_onscreen_counter_with_string %1d% type %2h% nth %3h% gxt %4g% +04FD=13,add_set_piece %1h% when_wanted_in_2d_area %2d% %3d% %4d% %5d% spawn_at %6d% %7d% target %8d% %9d% and_at %10d% %11d% target %12d% %13d% +04FE=2,set_extra_colours %1h% fade %2h% +04FF=1,clear_extra_colours %1h% +0501=7,get_wheelie_stats %1d% store_two_wheel_info_to %2d% %3d% wheelie_info_to %4d% %5d% stoppie_info_to %6d% %7d% +0503=2,burst_car_tyre %1d% tyre %2h% +0504=1, is_char_obj_no_obj %1d% +0505=2, is_player_wearing %1d% skin %2s% +0506=2,set_player_can_do_drive_by %1d% to %2h% +0507=3,set_char_obj_sprint_to_coord %1d% sprint_to %2d% %3d% +0508=3,create_swat_rope %1d% %2d% %3d% +050B=3,set_car_model_components %1m% to %2h% %3h% +050C=1,switch_lift_camera %1h% +050D=1,close_all_car_doors %1d% +050E=5,get_distance_between_coords_2d %1d% %2d% and %3d% %4d% store_to %5d% +050F=7,get_distance_between_coords_3d %1d% %2d% %3d% and %4d% %5d% %6d% store_to %7d% +0510=1,pop_car_boot_using_physics %1d% +0512=1, is_char_leaving_vehicle_to_die %1d% +0513=2,sort_out_object_collision_with_car %1d% car %2d% +0515=5, is_char_wander_path_clear %1d% on_path %2d% %3d% %4d% radius %5d% +0517=1,print_help_forever %1g% +0519=3,set_char_can_be_damaged_by_members_of_gang %1d% gang_ID %2h% unk3 %3h% +051C=5,create_locked_property_pickup %1d% %2d% %3d% gxt %4g% store_to %5d% +051D=6,create_forsale_property_pickup %1d% %2d% %3d% price %4d% gxt %5g% store_to %6d% +051E=2,freeze_car_position %1d% set_to %2h% +051F=2, has_char_been_damaged_by_char %1d% char %2d% +0520=2, has_char_been_damaged_by_car %1d% car %2d% +0521=2, has_car_been_damaged_by_char %1d% char %2d% +0522=2, has_car_been_damaged_by_car %1d% car %2d% +0523=1,get_radio_channel %1d% +0526=1, is_char_drowning_in_water %1d% +0527=0,disable_cutscene_shadows +0528=3, has_glass_been_shattered_nearby %1d% %2d% %3d% +0529=3,attach_cutscene_object_to_bone %1d% %2d% %3h% +052A=3,attach_cutscene_object_to_component %1d% %2d% %3s% +052B=2,set_char_stay_in_car_when_jacked %1d% to %2d% +052D=1,add %1h% to_money_spent_on_weapons_stats +052E=1,add_money_spent_on_property %1d% +0530=2,set_char_answering_mobile %1d% on %2h% +0531=2,set_drunk_cam %1d% to %2d% +0536=1,add_stores_knocked_off %1h% +0538=1,add_number_of_assassinations %1h% +0539=1,add_pizzas_delivered %1d% +053B=1,add_ice_creams_sold %1d% +0541=2,set_char_in_players_group_can_fight %1d% can_fight %2h% +0542=1,clear_char_wait_state %1d% +0543=6,get_random_car_of_type_in_area_no_save %1d% %2d% to %3d% %4d% model %5d% store_to %6d% +0544=2,set_can_burst_car_tyres %1d% to %2h% +0545=2,set_player_auto_aim %1d% on %2d% +0546=1,fire_hunter_gun %1d% +0547=1,set_property_as_owned %1d% +0548=1,add_blood_ring_kills %1d% +0549=1,set_longest_time_in_blood_ring %1d% +054A=0,remove_everything_for_huge_cutscene +054B=2, is_player_touching_vehicle %1d% vehicle %2d% +054D=6, check_for_ped_model_around_player %1d% radius %2d% %3d% %4d% ped_model %5m% or %6m% +054E=1,clear_char_follow_path %1d% +054F=2,set_char_can_be_shot_in_vehicle %1d% to %2h% +0550=2,attach_cutscene_object_to_vehicle %1d% object %2d% +0551=1,load_mission_text %1s% +0552=1,set_tonights_event %1d% +0553=1,clear_char_last_damage_entity %1d% +0554=1,clear_car_last_damage_entity %1d% +0555=2,freeze_object_position %1d% to %2h% +0556=1,set_player_has_met_debbie_harry %1d% +0557=1,set_riot_intensity %1d% +055B=8,set_up_taxi_shortcut %1d% %2d% %3d% %4d% %5d% %6d% %7d% %8d% +055C=0,clear_taxi_shortcut +055F=1,add_porn_leaflet_to_rubbish %1d% +0560=5,create_clothes_pickup at %1d% %2d% %3d% type %4h% store_to %5d% +0562=2,make_player_fire_proof %1d% set_to %2h% +0563=2,increase_player_max_health %1d% by %2h% +0564=2,increase_player_max_armour %1d% by %2h% +0565=2,create_random_char_as_driver %1d% store_to %2d% +0566=3,create_random_char_as_passenger %1d% seat %2h% store_to %3d% +0567=2,set_char_ignore_threats_behind_objects %1d% on %2h% +0568=2,ensure_player_has_drive_by_weapon %1d% min_ammo %2d% +0569=1,make_heli_come_crashing_down %1d% +056A=4,add_explosion_no_sound %1d% %2d% %3d% type %4h% +056B=2,set_object_area_visible %1d% interior %2h% +056D=2,set_char_never_targetted %1d% to %2h% +056E=1,load_uncompressed_anim %1s% +056F=0, was_cutscene_skipped +0570=2,set_char_crouch_when_threatened %1d% on %2h% +0571=1, is_char_in_any_police_vehicle %1d% +0572=1, does_char_exist %1d% +0573=1, does_vehicle_exist %1d% +0575=5,add_short_range_sprite_blip_for_contact_point %1d% %2d% %3d% sprite %4h% store_to %5d% +0576=1,is_char_stuck %1d% +0577=1,set_all_taxis_have_nitro %1h% +0578=2,set_char_stop_shoot_dont_seek_entity %1d% on %2h% +0579=2,freeze_car_position_and_dont_load_collision %1d% to %2h% +057D=1,save_highest_vigilante_level %1d% +057E=1,stop_char %1d% +057F=2,set_garage %1d% max_cars_to %2h% +0580=0, wanted_stars_are_flashing +0581=1,set_allow_hurricanes %1h% +0582=1,play_bridge_status_mp3 %1h% +0583=1,set_player_is_in_stadium %1h% +0584=2,get_player %1d% store_coach_passengers_dropped_off_to %2d% +0585=3,set_char_obj_buy_ice_cream char %1d% char %2d% store_status %3d% +0586=1,display_radar %1h% +0587=2,register_best_position %1h% to %2d% +0588=2, is_player_in_info_zone %1d% zone %2s% +0589=1,clear_char_ice_cream_purchase %1d% +058A=0, is_in_car_fire_button_pressed +058B=1, has_char_attempted_attractor %1d% +058C=2,set_load_collision_for_car_flag %1d% to %2h% +058D=2,set_load_collision_for_char_flag %1d% unset %2h% +058F=6,add_big_gun_flash %1d% %2d% %3d% to %4d% %5d% %6d% +0590=1, has_char_bought_ice_cream %1d% +0591=1,get_progress_percentage %1d% +0592=4,set_restart_mission_taxi_start %1d% %2d% %3d% angle %4d% +0593=4,set_restart_mission_taxi_destination %1d% %2d% %3d% %4d% +0594=8,get_random_ice_cream_customer_in_area from %1d% %2d% to %3d% %4d% civilian %5h% gang %6h% criminal/prostitute %7h% store_to %8d% +0596=4,unlock_all_car_doors_in_area cornerA %1d% %2d% cornerB %3d% %4d% +0597=2,set_gang_attack_player_with_cops %1h% flag %2h% +0598=2,set_char_frightened_in_jacked_car %1d% flag %2h% +0599=2,set_vehicle_to_fade_in %1d% to %2h% +059A=0,register_oddjob_mission_passed +059B=1, is_player_in_shortcut_taxi %1d% +059C=1, is_char_ducking %1d% +059D=3,create_dust_effect_for_cutscene_heli %1d% radius %2d% flag %3h% +059E=1,register_fire_level %1d% +059F=0, is_australian_game +05A0=1,disarm_car_bomb %1d% +05A1=0, unknown_command_lcs_05A1 +05A2=4,unknown_command_lcs_05A2 %1d% %2d% %3d% %4d% +05A4=5,get_distance_between_coords_2d_version_b %1d% %2d% and %3d% %4d% store_to %5d% +05A5=7,get_distance_between_coords_3d_version_b %1d% %2d% %3d% and %4d% %5d% %6d% store_to %7d% +05A6=5,get_dot_product_of_2d_vectors %1d% %2d% and %3d% %4d% store_to %5d% +05A7=7,get_dot_product_of_3d_vectors %1d% %2d% and %3d% %4d% store_to %5d% %6d% %7d% +05A8=3,display_float_value int_2D_coords %1d% %2d% float_value %3d% +05A9=4,display_2_float_values int_2D_coords %1d% %2d% float_values %3d% %4d% +05AA=5,display_3_float_values int_2D_coords %1d% %2d% float_values %3d% %4d% %5d% +05AB=2,get_pad_state actionID %1d% store_to %2d% +05AC=3,set_pointer_arrow %1d% %2d% %3d% +05AD=0,clear_pointer_arrow +05AE=-1,args %1d% out %2d% locals_base_index %3d% call_func %4p% +05AF=-1, args %1d% out %2d% locals_base_index %3d% call_func %4p% +05B0=1, is_this_vehicle_a_car %1d% +05B1=1, is_this_vehicle_a_bike %1d% +05B2=1, is_this_vehicle_a_plane %1d% +05B3=1, is_this_vehicle_a_heli %1d% +05C4=0,unknown_command_vcs_0390 +05C5=0,return_if_true +05C6=0,return_if_true_and_set_condition_true +05C7=2,unknown_command_ac7b char %1d% flag %2d% +05C8=1,set_rc_heli_height_limit %1d% +05C9=10,create_permanent_corona %1d% at %2d% %3d% %4d% radius %5d% type %6d% enable_lensflare %7d% colour %8d% %9d% store_to %10d% +05CA=1,delete_permanent_corona %1d% +05CB=1, unknown_vehicle_command_532c vehicle %1d% +05CC=1, unknown_vehicle_command_6c1a vehicle %1d% +05CD=2,unknown_char_command_2Fe6 char %1d% flag %2d% +05CE=2,unknown_command_718d vehicle %1d% char %2d% +05CF=5,get_pickup_weapon_id pos %1d% %2d% %3d% radius %4d% store_weapon_id %5d% +05D0=1, is_player_using_first_person_camera player %1d% +05D1=0,unknown_command_e5d6 +05D2=0,unknown_command_27d4 +05D3=1,unknown_command_6387 %1d% ; nop +05D4=1,unknown_command_148c %1d% +05D5=1,set_wants_to_draw_hud %1d% +05D6=5,get_random_char_in_area_no_checks from %1d% %2d% to %3d% %4d% store_to %5d% +05D7=5,get_random_car_in_area_no_save from %1d% %2d% to %3d% %4d% store_to %5d% +05D8=2,store_car_collided_with_no_save %1d% store_to %2d% +05D9=1,disable_ferry_path %1d% +05DA=1,enable_ferry_path %1d% +05DB=3,get_closest_docked_ferry pos %1d% %2d% store_to %3d% +05DC=1,add_ferry_to_world %1d% +05DD=1,close_ferry_door %1d% +05DE=1, is_ferry_door_open %1d% +05DF=1, unknown_command_6261 %1d% +05E0=1,skip_ferry_to_next_dock %1d% +05E1=2,unknown_char_command_1167 char %1d% flag %2d% +05E2=1, unknown_command_7272 char %1d% +05E3=6,get_ferry_boarding_space %1d% %2d% %3d% %4d% store_to %5d% %6d% +05E4=2,get_ferry_heading %1d% store_to %2d% +05E5=2,unknown_ferry_command_417d %1d% flag %2d% +05E6=1,complete_door_movement %1d% +05E7=2,unknown_command_5271 vehicle %1d% flag %2d% +05E8=0,take_remote_controlled_car_from_player +05E9=0,register_car_sold +05EA=1,add_money_made_with_car_sales %1d% +05EB=1,unlock_bridge %1d% +05EC=4,set_object_initial_rotation_velocity %1d% rotation_velocity %2d% %3d% %4d% +05ED=4,set_object_initial_velocity %1d% velocity %2d% %3d% %4d% +05EE=0, has_cutscene_loaded +05EF=1,set_unique_jumps_found %1d% +05F0=1,unknown_player_command_6441 %1d% +05F1=0,register_bike_sold +05F2=1,add_money_made_with_bike_sales %1d% +05F3=0,register_package_smuggled +05F4=0,register_smuggler_wasted +05F5=1,register_fastest_smuggling_time %1d% +05F6=2,set_char_evasive_dive char %1d% vehicle %2d% +05F7=1,damage_car %1d% +05F8=1,add_money_made_in_coach %1d% +05F9=1,add_money_made_collecting_trash %1d% +05FA=0,register_hitmen_killed +05FB=0,register_guardian_mission_passed +05FC=1,register_highest_guardian_angel_justice_dished %1d% +05FD=2,register_best_bandit_lap_time %1d% time %2d% +05FE=2,register_best_bandit_position %1d% position %2d% +05FF=1,register_most_time_left_in_train_race %1d% +0600=1,register_highest_train_cash_earned %1d% +0601=1,register_fastest_heli_race_time %1d% +0602=1,register_best_heli_race_position %1d% +0603=0,register_outfit_changed +0604=2,register_street_race_fastest_time race %1d% time %2d% +0605=2,register_street_race_fastest_lap %1d% %2d% +0606=2,register_street_race_best_position %1d% %2d% +0607=2, has_object_been_damaged_by_weapon %1d% type %2h% +0608=1,clear_object_last_weapon_damage %1d% +0609=4,set_car_initial_rotation_velocity %1d% rotation_velocity %2d% %3d% %4d% +060A=4,set_car_initial_velocity %1d% velocity %2d% %3d% %4d% +060B=6,set_object_proofs %1d% bullet %2h% fire %3h% explosion %4h% collision %5h% melee %6h% +060C=1,unknown_camera_command_6e11 store_to %1d% +060D=1,unknown_camera_command_7521 %1d% +060E=4,get_car_rotation %1d% store_to %2d% %3d% %4d% +060F=4,set_car_rotation %1d% rot %2d% %3d% %4d% +0610=0, unknown_timer_command_2151 +0611=1,process_car_open_door %1d% +0612=2,unknown_char_command_5618 %1d% store_to %2d% +0613=1,unknown_camera_command_7432 enable %1d% +0614=1,unknown_object_command_8421 %1d% +0615=6,get_random_alive_car_of_type_in_area_no_save %1d% %2d% to %3d% %4d% model %5d% store_to %6d% +0616=0, unknown_pad_command_52a7 +0617=0, print_if_there_are_no_other_messages %1g% numbers %2d% %3d% +0618=0, unknown_command_6141 +0619=1,set_fs_destroyed_flag_variable %1d% +061A=0,clear_big_messages +061B=6,clear_area_of_objects %1d% %2d% %3d% to %4d% %5d% %6d% +061C=1,load_non_standard_ped_animations %1d% +061D=1,unload_non_standard_ped_animations %1d% +061F=1, build_world_geometry bridge_num %1d% +0620=4,store_building_swap %1d% %2d% %3d% %4d% ; nop +0621=0, unknown_command_8554 +0622=1,unknown_command_3821 store_to %1d% +0623=0,multiplayer_script_done +0624=0, unknown_command_842e +0625=0, unknown_command_748a +0626=1,unknown_command_7dea store_to %1d% +0627=0, unknown_command_71df +0628=4,set_onscreen_counter_colour %1d% %2d% %3d% %4d% +0629=4,set_onscreen_counter_background_colour %1d% %2d% %3d% %4d% +062A=1,damage_car_boot %1d% +062B=7,draw_checkpoint coord %1d% %2d% %3d% radius %4d% colour %5d% %6d% %7d% +062C=3,get_vector_stored_in_lua %1d% %2d% %3d% +062D=1,print_help_always_allow %1g% +062E=1,print_help_permanent_always_allow %1g% +062F=1,switch_ferry_collision %1d% +0630=2,set_char_max_health %1d% to %2d% +0631=2,unknown_char_command_76f6 char %1d% value %2d% +0632=2,unknown_char_command_2618 char %1d% value %2d% +0633=1,unknown_heli_command_7314 vehicle %1d% +0634=1,set_crusher_reward_multiplier %1d% +0635=2,swap_building %1d% %2d% +0636=0, stream_building_swaps +0637=0, is_streaming_complete +0638=0,swap_to_streamed_sector +0639=2,unknown_char_command_2682 %1d% flag %2d% +063A=1,register_longest_face_plant_distance %1d% +063B=1,register_number_of_seconds_left_on_carriage %1d% +063C=1,register_kills_on_rc_triad %1d% +063D=1,register_splash_tv_level %1d% +063E=1,add_money_made_with_splash_tv %1d% +063F=1,register_total_kills_on_splash_tv %1d% +0640=1,register_noodles_delivered %1d% +0641=1,register_scrapyard_challenge_score %1d% +0642=1,register_mayhem_score %1d% +0643=1,register_scooter_shooter_score %1d% +0644=1,add_money_made_from_tourists %1d% +0645=1,add_tourists_taken_to_spots %1d% +0646=1,add_number_of_exported_cars %1d% +0647=1,set_total_number_of_exported_cars %1d% +0648=2,register_dirt_bike_fastest_lap %1d% time %2d% +0649=2,register_dirt_bike_fastest_time %1d% time %2d% +064A=1,register_dirt_bike_most_air %1d% +064B=10,create_checkpoint_arrow_deprecated coord %1d% %2d% %3d% point_to %4d% %5d% %6d% colour %7d% %8d% %9d% unk_float %10d% +064C=3,print_now_version_b %1g% time %2d% flag %3d% +064D=2,get_pickup_value %1d% store_to %2d% +064E=2,set_pickup_value %1d% value %2d% +064F=0, is_developer_flag_active +0650=1,set_developer_flag %1d% +0651=1,register_wichita_wipeout_score %1d% +0652=5,attach_object_to_car %1d% car %2d% offset %3d% %4d% %5d% +0653=1,detach_object_from_car %1d% +0654=2,unknown_pad_command_7421 %1d% %2d% +0655=3,print_subtitle_now_version_a %1g% time %2d% flag %3d% +0656=3,print_subtitle_now_version_b %1g% time %2d% flag %3d% +0657=3,print_now_dont_add_to_brief_array %1g% time %2d% flag %3d% +0658=4,print_with_number_now_dont_add_to_brief_array %1g% number %2d% time %3d% flag %4d% +0659=5,get_angle_between_2d_vectors %1d% %2d% and %3d% %4d% store_to %5d% +065A=1,unknown_char_command_7f47 %1d% +065B=1,unknown_command_8563 %1d% +065C=1,switch_emergency_services %1d% +065D=1,unlock_the_costume %1d% +065E=0,clear_multiplayer_splash_screen +065F=5,print_with_2_numbers_now_dont_add_to_brief_array %1g% numbers %2d% %3d% time %4d% flag %5d% +0660=4,get_object_rotation %1d% store_to %2d% %3d% %4d% +0661=4,set_object_rotation_dont_update_frame %1d% to %2d% %3d% %4d% +0662=2,set_onscreen_counter_display_money_value %1d% enable %2d% +0663=1,store_player_outfit %1s% +0664=4,display_onscreen_counter_with_string_and_max_number %1d% max_number %2d% unk3 %3d% name %4s% +0665=1,unknown_player_command_832d %1d% +0666=3,set_char %1d% anim %2d% wait_state_time %3d% ms version_b +0667=1,register_go_go_faggio_time %1d% +0668=2,lock_garage %1d% enable_lock %2d% +0669=0, unknown_check_command_92ea +066A=2,set_allowed_collision_for_level %1d% level %2d% +066B=3,register_guardian_angel_levels ind %1d% com %2d% sub %3d% +066C=6,display_onscreen_counter_with_two_numbers_place %1d% number_of_levels %2d% unk3 %3d% unk4 %4d% string %5s% progress_subject %6s% +066D=2,get_player_saved_weapon %1d% store_to %2d% +066E=1,disable_access_to_pause_menu %1d% +066F=1, is_audio_channel_playing %1d% +0670=3,set_clock_event hours %1d% minutes %2d% warning_minutes %3d% +0671=3,set_weather_extra_colour_light_direction %1d% %2d% %3d% +0672=2,unknown_char_command_8653 flag %1d% %2d% +0673=1,print_help_version_b %1g% +0674=1,print_help_forever_version_b %1g% +0675=1,print_help_version_c %1g% +0676=1,print_help_forever_version_c %1g% +0677=2,unknown_car_command_47ED %1d% flag %2d% +0678=2,unknown_player_command_852e %1d% flag %2d% \ No newline at end of file diff --git a/lcs_mobile/opcodes.txt b/lcs_mobile/opcodes.txt new file mode 100644 index 0000000..482958c --- /dev/null +++ b/lcs_mobile/opcodes.txt @@ -0,0 +1,1150 @@ +0001: wait 0 +0002: goto @MAIN_101 +0003: shake_cam 600 +0004: $3 = 1 +0005: $1098 = 100.0 +0006: TIMERA = 0 +0007: 13@ = 0 +0008: $1393 += 1 +0009: $546 += 10.0 +000A: 5@ += 1 +000B: 3@ += 2.0 +000C: $1394 -= 1 +000D: $543 -= 10.0 +000E: 6@ -= 1 +000F: 4@ -= 1.0 +0010: $2222 *= 60000 +0011: $3984 *= 1000.0 +0012: 1@ *= 2 +0013: 1@ *= 255.0 +0014: $2216 /= 60000 +0015: $4010 /= 2.0 +0016: 1@ /= 2 +0017: 1@ /= 1000.0 +0018: $2013 > 0 +0019: TIMERA > 8000 +001A: 2 > $4 +001B: 10000 > TIMERA +001C: $1442(1@,4) > $1442(0@,4) +001D: 4@ > 5@ +001E: $1515 > 6@ +001F: 21@ > $1474(0@,4) +0020: $1454(0@,4) > 0 +0021: 10@ > -190.0 +0022: 1.5 > $549 +0023: -170.0 > 10@ +0024: $551 > $550 +0025: 11@ > 12@ +0026: $1502(5@,4) > 2@ +0027: 2@ > $1506(5@,4) +0028: $_299 >= 4 +0029: 0@ >= 0 +002A: -1 >= $1514 +002B: 5 >= 0@ +002C: $1393 >= $1392 +002D: 1@ >= 0@ +002E: $2292 >= 1@ +002F: 7@ >= $1798 +0030: $1088 >= 100.0 +0031: 16@ >= 360.0 +0032: 0 >= $2028 +0033: -100.0 >= 5@ +0038: $2 == 0 +0039: 0@ == 0 +003A: $1392 == $1393 +003B: 0@ == 1@ +003C: $1400(2@,2) == 0@ +0042: $1880 == 1250.4 +0043: 3@ == -100.0 +0044: $4036(10@,9) == $3982(10@,9) +004C: goto_if_true @RAC1_430 +004D: goto_if_false @MAIN_1531 +004E: terminate_this_script +004F: start_new_script @NONAME_1 +0050: gosub @NONAME_1_1163 +0051: return +0052: line 13@ 14@ 15@ $2031 $2032 $2033 // nop +0053: create_player 0 at $537 $538 $539 store_to $PLAYER_CHAR +0054: get_player_coordinates $PLAYER_CHAR store_to 2@ 3@ 4@ +0055: set_player_coordinates $PLAYER_CHAR to 1030.63 -650.2 15.1 +0056: player $PLAYER_CHAR coords 1250.178 -1054.237 1258.307 -1045.706 0 sphere 0 +0057: player $PLAYER_CHAR coords 266.83 -610.93 25.0 to 306.31 -479.92 30.0 sphere 0 +0058: $_534 += $2729 // (int) +0059: $2747 += $2750 // (float) +005A: 0@ += 3@ // (int) +005B: 6@ += 3@ // (float) +005C: 0@ += $1395 // (int) +005D: 11@ += $2916 // (float) +005E: $1394 += 0@ // (int) +005F: $4080 += 20@ // (float) +0060: $1395 -= $1394 // (int) +0061: $552 -= $551 // (float) +0062: 0@ -= 3@ // (int) +0063: 6@ -= 3@ // (float) +0064: 0@ -= $1394 // (int) +0065: 3@ -= $1454(0@,4) // (float) +0066: $1394 -= 0@ // (int) +0067: $4080 -= 20@ // (float) +0069: $4077 *= $4074 // (float) +006A: 3@ *= 1@ // (int) +006B: 6@ *= 3@ // (float) +006D: $4077 *= 43@ // (float) +006E: 75@ *= $3980 // (int) +006F: 3@ *= $1498(5@,4) // (float) +0071: $1972 /= $1098 // (float) +0072: 17@ /= 4@ // (int) +0073: 6@ /= 3@ // (float) +0074: $3934 /= 4@ // (int) +0077: 31@ /= $3986 // (float) +0078: $var +=@ 6.0 // (float) +0079: 0@ +=@ -1.325 // (float) +007A: $var +=@ $var2 // (float) +007B: 0@ +=@ 1@ // (float) +007C: 0@ +=@ $var // (float) +007D: $var +=@ 0@ // (float) +007E: $var -=@ 6.0 // (float) +007F: 0@ -=@ 1.0 // (float) +0080: $var -=@ $var2 // (float) +0081: 0@ -=@ 1@ // (float) +0082: 0@ -=@ $var // (float) +0083: $var -=@ 0@ // (float) +0084: $1392 = $1393 // (int) +0085: 1@ = 0@ // (int) +0086: $537 = $_7 // (float) +0087: 6@ = 0@ // (float) +0088: $1806 = 0@ // (float) +0089: 3@ = $1490(5@,4) // (float) +008A: $1395 = 1@ // (int) +008B: 2@ = $1097 // (int) +008C: $4036 = float_to_int $543 +008D: $1972 = int_to_float $1971 +008E: 2@ = float_to_int $3984 +008F: 0@ = int_to_float $1397 +0090: $2293 = float_to_int 60@ +0091: $549 = int_to_float 31@ +0092: 2@ = float_to_int 1@ +0093: 1@ = int_to_float 0@ +0099: generate_random_int $3965 +009A: create_char 5 model $1810 at 2@ 3@ 4@ store_to $1524 +009B: delete_char $1418(1@,4) +009C: char_wander_dir 1@ to -1 +009E: char_follow_path 11@ path 19@ 20@ 21@ unknown 15.0 1 +009F: char_set_idle 3@ +00A0: get_char_coordinates 1@ store_to 3@ 4@ 5@ +00A1: set_char_coordinates $PLAYER_ACTOR to 1120.69 -1107.34 10.9 +00A2: is_char_still_alive $1400 +00A3: is_char_in_area_2d 0@ from $4056(1@,8) $4064(1@,8) to $4080(1@,8) $4088(1@,8) sphere 0 +00A4: is_char_in_area_3d $3940 from 105.0 -1394.0 10.0 to 108.9 -1400.3 60.0 sphere 0 +00A5: create_car 1@ at $1422(0@,4) $1426(0@,4) $1430(0@,4) store_to $1414(0@,4) +00A6: delete_car $1414(1@,4) +00A7: car_goto_coordinates $1414(0@,4) coords $1654(7@,35) $1689(7@,35) $1724(7@,35) +00A8: car_wander_randomly $3937(6@,3) +00A9: car_set_idle 2@ +00AA: get_car_coordinates 0@ store_to 4@ 5@ 6@ +00AB: set_car_coordinates $1414(0@,4) to 12@ 13@ 14@ +00AC: is_car_still_alive $1414(0@,4) +00AD: set_car_cruise_speed $1414(0@,4) to 0 +00AE: set_car_driving_style $1414(0@,4) to 2 +00AF: set_car_mission $1414(0@,4) to 0 +00B0: is_car_in_area_2d $3938 from 1147.4 -266.62 to 1163.63 -258.63 sphere 0 +00B1: is_car_in_area_3d 1@ from 28@ 29@ 30@ to 31@ 32@ 33@ sphere 1 +00BA: print_big 'VIC1' time 1000 style 2 // Home Sweet Home +00BB: print 'RACE_X0' time 5000 flag 1 // ~w~Get a car and head for the ~y~start line! +00BC: print_now 'RACE_X2' time 5000 flag 1 // ~w~You need a car to be in this race! +00BD: print_soon 'BENZ_GO' time 3000 flag 1 // ~w~Get a change of outfit! +00BE: clear_prints +00BF: get_time_of_day $1876 $1875 +00C0: set_time_of_day 5 30 +00C1: get_minutes_to_time_of_day 27@ 28@ store_to 30@ +00C2: is_point_on_screen 1065.47 -397.85 13.93 radius 2.0 +00C5: return_true +00C6: return_false +00DB: if and +00DC: launch_mission @MPSVCS +00DD: mission_has_finished +00DE: store_car_char_is_in $542 store_to 0@ +00DF: store_car_player_is_in $PLAYER_CHAR store_to $1414(0@,4) +00E0: is_char_in_car $1418(0@,4) car $1414(0@,4) +00E1: is_player_in_car $PLAYER_CHAR car $1414(0@,4) +00E3: is_player_in_model $PLAYER_CHAR model #TRAIN +00E4: is_char_in_any_car $PLAYER_ACTOR +00E5: is_player_in_any_car $PLAYER_CHAR +00E6: is_button_pressed 0 button 16 +00E8: locate_player_any_means_2d $PLAYER_CHAR coord $2456(32@,15) $2471(32@,15) radius 79.0 79.0 sphere 0 +00E9: locate_player_on_foot_2d $PLAYER_CHAR coord 0@ 1@ radius 2.5 2.5 sphere 0 +00EA: locate_player_in_car_2d $PLAYER_CHAR coord 921.95 -339.93 radius 20.0 20.0 sphere 0 +00EB: locate_stopped_player_any_means_2d $PLAYER_CHAR coord 22@ 23@ radius 8.0 8.0 sphere 0 +00ED: locate_stopped_player_in_car_2d $PLAYER_CHAR coord 45@ 46@ radius 7.0 7.0 sphere 0 +00EE: locate_player_any_means_char_2d $PLAYER_CHAR near_char $3940(38@,12) radius 45.0 45.0 sphere 0 +00EF: locate_player_on_foot_char_2d $PLAYER_CHAR 0@ radius 21@ 21@ sphere 0 +00F0: locate_player_in_car_char_2d $PLAYER_CHAR near_char 45@ radius 10.0 10.0 sphere 0 +00F1: locate_char_any_means_2d $1418(0@,4) coord $1654(7@,35) $1689(7@,35) radius 7.0 7.0 sphere 0 +00F2: locate_char_on_foot_2d 0@(8@,5) coord 9@ 10@ radius 20.0 20.0 sphere 0 +00F3: locate_char_in_car_2d $3935(1@,1) coord 12@ 13@ radius 11@ 11@ sphere 0 +00F7: locate_char_any_means_char_2d 21@ char $1418(7@,4) radius 3.0 3.0 sphere 0 +00F8: locate_char_on_foot_char_2d 40@ char 61@ radius 70.0 70.0 sphere 0 +00FA: locate_char_any_means_3d $PLAYER_CHAR coord $1422(3@,4) $1426(3@,4) $1430(3@,4) radius 3.5 3.5 10.0 sphere 1 +00FB: locate_player_on_foot_3d $PLAYER_CHAR coord $1107 $1108 $1109 radius 2.0 2.0 5.0 sphere 0 +00FC: locate_player_in_car_3d $PLAYER_CHAR coord $662 $688 $714 radius $740 $766 $792 sphere 9@ +00FE: locate_stopped_player_on_foot_3d $PLAYER_CHAR coord 1069.11 -398.86 14.21 radius 1.0 1.0 5.0 sphere 1 +00FF: locate_stopped_player_in_car_3d $PLAYER_CHAR coord 11@ 12@ 13@ radius 7.0 7.0 2.0 sphere 0 +0100: locate_player_any_means_char_3d $PLAYER_CHAR char $3934 radius 15.0 15.0 15.0 sphere 0 +0102: locate_player_in_car_char_3d $PLAYER_CHAR car $3936(46@,12) radius 10.0 10.0 2.0 sphere 0 +0103: locate_char_any_means_3d 9@ coord 36@ 37@ 19.81 radius 4.0 4.0 4.0 sphere 1 +0104: locate_char_on_foot_3d 13@ coord $3969 $3970 $3971 radius 3.0 3.0 2.0 sphere 0 +0105: locate_char_in_car_3d $542 coord 72.8 -1394.3 25.2 radius 4.0 4.0 4.0 sphere 1 +0109: locate_char_any_means_char_3d $542 char 4@ radius 10.0 10.0 5.0 sphere 0 +010A: locate_char_on_foot_char_3d $4020(73@,20) char $542 radius 12.0 12.0 12.0 sphere 0 +010C: create_object #LEARJET_SPECIAL at -1387.26 -625.24 10.0766 store_to $1130 +010D: delete_object $1238 +010E: add_score $PLAYER_CHAR value 250 // money +010F: is_score_greater $PLAYER_CHAR than 239 // money +0110: store_score $PLAYER_CHAR to $_161 // money +0111: give_remote_controlled_car_to_player $PLAYER_CHAR at 1026.3 -782.1 14.0 0 store_car_handle_to 0@ +0112: alter_wanted_level $PLAYER_CHAR to 0 +0113: alter_wanted_level_no_drop $PLAYER_CHAR to 1 +0114: is_wanted_level_greater $PLAYER_CHAR than 0 +0115: clear_wanted_level $PLAYER_CHAR +0116: set_deatharrest_state 0 +0117: has_deatharrest_been_executed +011B: is_player_still_alive $PLAYER_CHAR +011C: is_player_dead $PLAYER_CHAR +011D: is_char_dead $1400(0@,2) +011E: is_car_dead $1414(4@,4) +011F: set_char 0@ search_threat 1 +0121: set_char_obj_no_obj $PLAYER_ACTOR +0126: is_player_in_zone $PLAYER_CHAR zone 'COM_EAS' // Newport +0127: is_player_pressing_horn $PLAYER_CHAR +0128: char $2971(46@,10) spotted_player $PLAYER_CHAR +012B: is_char_objective_passed $3940 +012E: create_char_inside_car $1414(0@,4) pedtype 4 model 2@ store_to $1418(0@,4) +012F: put_player $PLAYER_CHAR at $1422(3@,4) $1426(3@,4) $1430(3@,4) and_remove_from_car +013C: is_car_model 0@ model #ANGEL +014C: give_car_alarm 0@ +014E: is_car_crushed $3943 +0150: create_car_generator 999.11 -861.0 14.66 angle 90.0 model #HOTROD color -1 -1 force_spawn 0 alarm 0 doorlock 0 delay 0 10000 store_to $3627 +0151: switch_car_generator $3700 num_generations 101 +0153: display_onscreen_timer $3966 count_direction 1 // global_variable +0154: clear_onscreen_timer $1532 +0156: clear_onscreen_counter $1530 +0157: set_zone_car_info 'LITTLEI' time_of_day 1 30 100 0 0 0 0 0 0 0 0 20 // Saint Mark's +0159: is_char_in_zone $3940 zone 'PORT_W' // Callahan Point +015C: point_camera_at_player $PLAYER_CHAR mode 15 switchstyle 2 +015D: point_camera_at_car $1879 mode 14 switchstyle 2 +015E: point_camera_at_char 3@ mode 15 switchstyle 4@ +015F: restore_camera +0161: set_zone_ped_info 'LITTLEI' time_of_day 1 17 100 0 0 0 0 0 0 0 0 20 // Saint Mark's +0162: set_time_scale 0.3 +0164: set_fixed_camera_position 0@ 1@ 2@ rotation 0 0 0 +0165: point_camera_at_point 3@ 4@ 5@ switchstyle 6@ +0169: remove_blip $1466(0@,4) +016A: change_blip_colour 0@ to 2 +016B: dim_blip $1526 brightness_to 1 +016C: add_blip_for_coord_old $2049 $2050 $2051 color 4 visibility 2 store_to $2113 +016D: change_blip_scale $3948(46@,12) to 3 +016E: set_fading_colour 0 0 1 +016F: do_fade 1 fade 0 +0170: get_fading_status +0171: add_hospital_restart 1144.3 -588.74 13.9 angle 90.0 +0172: add_police_restart 1143.9 -675.2 -100.0 angle 90.0 +0175: get_player_heading $PLAYER_CHAR store_to 21@ +0176: set_player_heading $PLAYER_CHAR to 90.0 +0177: get_char_heading 4@ store_to 22@ +0178: set_char_heading $PLAYER_ACTOR to 180.0 +0179: get_car_heading 0@ store_to 9@ +017A: set_car_heading $1414(0@,4) to $1805 +017C: set_object_heading $1238 to 90.0 +017D: player $PLAYER_CHAR picked_up_object $3948(84@,12) +017F: set_player $PLAYER_CHAR weapon 36 ammo 0 +0180: set_char_ammo $3934 weapon 17 ammo 15 +0185: declare_mission_flag $ONMISSION +0189: is_char_health_greater $3937(0@,3) than $3952(0@,3) +018A: is_car_health_greater $3934(0@,3) than $3949(0@,3) +018B: add_blip_for_car $3015 store_to 0@ +018C: add_blip_for_char $1418(0@,4) store_to $1466(0@,4) +018D: add_blip_for_object $3948(84@,12) store_to $3936(84@,12) +018F: add_blip_for_coord 2@ 3@ 4@ store_to $1525 +0190: change_blip_display $1466(0@,4) to 1 +0191: add_one_off_sound $1422 $1426 $1430 sound 10 +0192: add_continuous_sound 1161.725 -1028.087 13.8436 67 $3939 +0193: remove_sound $3939 +0194: is_car_stuck_on_roof 0@ +0195: add_upsidedown_car_check 0@ +0196: remove_upsidedown_car_check 0@ +0197: set_char_obj_wait_on_foot $1934 +0198: set_char_obj_flee_on_foot_till_safe 1@ +0199: set_char_obj_guard_spot $3934(18@,8) at 59@ 60@ 61@ +019B: set_char_obj_wait_in_car 2@ +01B0: is_car_stopped_in_area_2d 0@ cornerA 1133.19 46.8978 cornerB 1149.19 55.8978 sphere 1 +01B2: locate_car_2d 0@ point 3@ 4@ radius 2@ 2@ sphere 0 +01B3: locate_stopped_car_2d 1@ point 31@ 32@ radius 15.0 15.0 sphere 0 +01B4: locate_car_3d 11@ point $3966 $3967 $3968 radius 4.0 4.0 4.0 sphere 0 +01B5: locate_stopped_car_3d 11@ point 1020.5 -340.0 14.1 radius 4.5 4.5 10.0 sphere 1 +01B6: give_player $PLAYER_CHAR weapon 17 ammo 68 +01B7: give_weapon_to_char $1934 weapon 19 ammo 32 +01B9: set_player_control $PLAYER_CHAR to 0 +01BA: force_weather 4 +01BB: force_weather_now 0 +01BC: release_weather +01BD: set_current_player_weapon $PLAYER_CHAR to 0 +01BE: set_current_char_weapon $PLAYER_ACTOR to $1083 +01C0: get_object_coordinates $1234 store_to $1880 $1881 $1882 +01C1: set_object_coordinates $1254 to 1130.4 -1110.8 15.5 +01C2: get_game_timer 3@ +01C3: turn_char_to_face_coord 1@ at 85@ 86@ 87@ +01C4: turn_player_to_face_coord $PLAYER_CHAR at 11@ 12@ 13@ +01C5: store_wanted_level $PLAYER_CHAR store_to $_159 +01C6: is_car_stopped $2725 +01C7: mark_char_as_no_longer_needed 2@ +01C8: mark_car_as_no_longer_needed $1878 +01C9: mark_object_as_no_longer_needed $1910 +01CA: dont_remove_char $1934 +01CB: remove_car_from_mission_cleanup_list 0@ +01CC: dont_remove_object $1238 +01CD: create_char_as_passenger 1@ pedtype 18 model #SPECIAL04 seat 6@ store_to 2@ +01CE: set_char_obj_kill_char_on_foot $1934 char $1935 +01CF: set_char_obj_kill_player_on_foot $1418(0@,4) player $PLAYER_CHAR +01D0: set_char_obj_kill_char_any_means $4006 char $3936 +01D1: set_char_obj_kill_player_any_means 0@(8@,5) player $PLAYER_CHAR +01D4: set_char_obj_flee_char_on_foot_always 4@ char $542 +01D5: set_char_obj_flee_player_on_foot_always 0@ player $PLAYER_CHAR +01D6: set_char_obj_goto_char_on_foot $3937(2@,20) char $3935 +01D7: set_char_obj_goto_player_on_foot $2782(0@,6) player $PLAYER_CHAR +01D8: set_char_obj_leave_car 11@ car $2725 +01D9: set_char_obj_enter_car_as_passenger 11@ car $2725 +01DA: set_char_obj_enter_car_as_driver $1418(0@,4) car $1414(0@,4) +01DE: set_char_obj_destroy_car 45@ car 1@ +01E3: tie_char $3940(40@,12) to_char $3940(38@,12) +01E4: tie_char $2954(32@,3) to_player $PLAYER_CHAR +01E5: clear_leader $2954(46@,3) +01E6: set_char $3934 follow_route 1 1 +01E7: add_route_point 1 at 887.63 -417.2 14.09 +01E8: print_with_number_big 'REWARD' number $_209 time 2000 style 6 // ~w~Reward: $~1~ +01E9: print_with_number 'PAGE_01' number $2645 time 5000 flag 2 // Gun down ~1~ Triads in 2 minutes! +01EA: print_with_number_now 'RACE_X4' number 5@ time 200 flag 1 // ~w~You have ~1~ seconds to find a car. +01EB: print_with_number_soon 'A_TIME' number 19@ time 5000 ms flag 6 // ~w~Pickup! +~1~ seconds +01EC: switch_roads_on cornerA -46.8 -648.0 39.0 cornerB -69.1 -614.0 50.0 +01ED: switch_roads_off -46.8 -648.0 39.0 to -69.1 -614.0 50.0 +01EE: get_number_of_passengers 0@ store_to 10@ +01EF: get_maximum_number_of_passengers 0@ store_to 4@ +01F0: set_car_density_multiplier 1.0 +01F1: set_car_heavy 1@ to 1 +01F2: clear_char_threat_search 1@ +01F5: set_max_wanted_level 4 +01F8: is_car_in_air_proper 0@ +01F9: is_car_upsidedown $1414(0@,4) +01FA: get_player_char $PLAYER_CHAR store_to $PLAYER_ACTOR +01FC: set_police_ignore_player $PLAYER_CHAR to 1 +01FE: start_kill_frenzy 'PAGE_00' weapon 27 time 120000 targets $2645 models 81 82 -1 -1 completed_text 0 // . +01FF: read_kill_frenzy_status $1949 +0200: sqrt $4076 store_to $4076 +0201: locate_player_any_means_car_2d $PLAYER_CHAR car 11@ radius 90.0 90.0 sphere 0 +0203: player $PLAYER_CHAR near_car_in_car 1@ radius 13.0 13.0 0 +0204: player $PLAYER_CHAR near_car $4186(73@,12) radius 25.0 25.0 25.0 unknown 0 +0207: locate_char_any_means_car_2d $3940(38@,12) car $3937(6@,3) radius 40.0 40.0 sphere 0 +0209: locate_char_in_car_car_2d 24@ car 1@ radius 12.0 12.0 sphere 0 +020A: locate_char_any_means_car_3d $3955 car $3986 radius 6.0 6.0 6.0 sphere 0 +020B: locate_char_on_foot_car_3d $542 car $4052 radius 15.0 15.0 15.0 sphere 0 on_foot +020D: generate_random_float_in_range -6.0 6.0 store_to $2395 +020E: generate_random_int_in_range 0 3 store_to 24@ +020F: lock_car_doors $1414(0@,4) mode 1 +0210: explode_car $3943(9@,3) +0211: add_explosion 12@ 13@ 14@ type 3 +0212: is_car_upright 0@ +0213: turn_char_to_face_char 16@ char 2@ +0214: turn_char_to_face_player $1934 player $PLAYER_CHAR +0215: turn_player_to_face_char $PLAYER_CHAR char $1934 +0216: char $PLAYER_ACTOR walk_to 1120.69 -1110.34 +0218: create_pickup #BODYARMOUR type 15 at 1148.87 -243.01 16.96 store_to $2257 +0219: has_pickup_been_collected $562(1@,100) +021A: remove_pickup 0@ +021B: set_taxi_lights $2725 to 1 +021C: print_big_q 'USJ_FAL' time 2000 style 6 // ~w~UNIQUE STUNT FAILED! +021E: set_garage from 1160.7 -267.5 16.25 to 1156.0 -267.5 1160.7 depth_from -273.7 to 19.25 type 19 store_to $_1274 +0220: set_target_car_for_mission_garage $_1266 to 0 +0221: car_inside_garage $_1266 +0222: set_free_bomb_shop_to 1 +0226: apply_brakes_to_players_car $PLAYER_CHAR apply 0 +0227: set_player $PLAYER_CHAR health_to 100 +0228: set_char_health $1418(0@,4) to 500 +0229: set_car_health $1414(0@,4) to 1000 +022A: get_player_health $PLAYER_CHAR store_to 15@ +022B: get_char_health $3934 store_to $3935 +022C: get_car_health 0@ store_to 19@ +022D: is_car_armed_with_bomb 10@ bomb 3 +022E: change_car_colour $1414(0@,4) primary_to 0@ secondary_to 0@ +022F: switch_ped_roads_on 1092.05 -1110.25 10.0 to 1182.05 -1090.25 30.0 +0230: switch_ped_roads_off 1092.05 -1110.25 10.0 to 1182.05 -1090.25 30.0 +0231: char_look_at_char_always $3937 char $PLAYER_ACTOR +0232: char_look_at_player_always $1934 player $PLAYER_CHAR +0233: player_look_at_char_always $PLAYER_CHAR char 2@ +0234: stop_char_looking 7@ +0235: stop_player_looking $PLAYER_CHAR +023A: set_gang_ped_models 0 to #GANG01 #GANG02 +023B: set_gang_car_model 0 to #MAFIA +023C: set_gang 0 primary_weapon_to 17 secondary_weapon_to 17 +023E: set_char_obj_run_to_coord $3940(38@,12) run_to $3969 $3970 +0241: load_special_character 9 model 'GUN_ASS' +0242: has_special_character_loaded 9 +0247: set_car 11@ bomb_status_to 3 +0248: set_char 0@ ped_stats_to 18 +024A: set_anim_group_for_char $3934(10@,9) to 38 +024C: request_model 0@ +024D: has_model_loaded #CHROMEGUN +024E: mark_model_as_no_longer_needed $1810 +024F: grab_phone coords 1224.46 -839.78 store_to $1255 +0253: turn_phone_off $1255 +0254: draw_corona 13@ 14@ 15@ radius 0.5 type 6 lensflare 0 colour 0 80 80 +0256: store_weather +025A: set_critical_mission_restart_at 1453.05 -194.17 55.57 angle 0 +025B: is_player_playing $PLAYER_CHAR +025E: set_coll_obj_flee_on_foot_till_safe 10@ +0266: set_coll_obj_flee_char_on_foot_till_safe 1@ char 2@ +0268: set_coll_obj_flee_char_on_foot_always 51@ char 27@ +027C: add_peds_in_area_to_coll 980.0 -388.0 50.0 store_to 1@ +027E: clear_coll 1@ +0296: set_char_heed_threats 0@ flag 1 +0298: get_controller_mode $_10 +0299: set_can_respray_car 58@ to 0 +029B: unload_special_character 9 +029C: reset_num_of_models_killed_by_player +029D: get_num_of_models_killed_by_player model #GANG03 store_to 4@ +02A0: create_object_no_offset #SUBWAYGATE at 988.963 -471.778 5.2 store_to $1238 +02A1: is_boat 0@ +02A4: is_player_stopped $PLAYER_CHAR +02A5: is_char_stopped 8@ +02A6: message_wait 500 unk2 1 +02A8: switch_widescreen 1 +02AC: add_sprite_blip_for_contact_point 0@ 1@ 2@ sprite 40 store_to $2303 +02AD: add_sprite_blip_for_coord 1070.074 -399.483 14.205 sprite 16 store_to $1149 +02AE: set_char_only_damaged_by_player $1418(0@,4) to 1 +02AF: set_car_only_damaged_by_player $1414(0@,4) to 1 +02B0: set_char_proofs 4@ BP 0 FP 1 EP 1 CP 1 MP 1 +02B1: set_car_proofs $1414(0@,4) BP 0 FP 1 EP 0 CP 0 MP 0 +02B2: player $PLAYER_CHAR in_area -0.58 -1093.49 -5.13 -1102.33 radius 17.0 sphere 0 +02B8: player $PLAYER_CHAR in_cube 975.51 -326.9 4.0 975.51 -317.7 10.0 radius -12.0 sphere 0 +02C4: is_car_in_water $1414(0@,4) +02C5: get_closest_char_node 4@ 5@ 6@ store_to 4@ 5@ 6@ +02C6: get_closest_car_node 12@ 13@ 14@ store_to 12@ 13@ 14@ +02C7: car_goto_coordinates_accurate $1414(0@,4) coords $1794 $1795 $1796 +02CF: is_car_on_screen $1414(0@,4) +02D0: is_char_on_screen $1418(0@,4) +02D1: is_object_on_screen $4233(8@,6) +02D2: gosub_file @MAIN_1531 @MAIN_1531 +02D3: get_ground_z_for_3d_coord 1@ 2@ 3@ store_to 3@ +02D4: start_script_fire $4302(8@,15) $4317(8@,15) $4332(8@,15) store_to $4268(8@,15) +02D5: is_script_fire_extinguished $3967(9@,3) +02D6: remove_script_fire 4@ +02D8: boat_goto_coords 5@ coords 404.13 295.03 0 +02D9: boat_stop 5@ +02DA: is_player_shooting_in_area $PLAYER_CHAR from 1136.774 -98.29 to 1184.63 -59.81 weapon 0 +02DC: is_current_player_weapon $PLAYER_CHAR weapon 13 +02DD: is_current_char_weapon $542 weapon 0 +02E0: set_boat_cruise_speed 5@ to 15.0 +02E1: get_random_char_in_area from 1067.0 -403.5 to 1072.8 -394.0 civilian 1 gang 1 criminal/prostitute 1 store_to $1935 +02E2: get_random_char_in_zone 'IND_ZON' civilian 1 gang 0 criminal/prostitute 0 store_to 0@ // Portland +02E3: is_player_in_taxi $PLAYER_CHAR +02E4: is_player_shooting $PLAYER_CHAR +02E5: is_char_shooting 0@ +02E7: set_char_accuracy 3@ to 40 +02E8: get_car_speed 2@ store_to 4@ +02E9: load_cutscene 'INTRO' +02EC: start_cutscene +02EF: clear_cutscene +02F0: restore_camera_jumpcut +02F7: is_char_model 0@ model #PROSTITUTE +02F8: load_special_model 0 'PLR3' +02FB: sin 30@ store_to 31@ +02FC: cos 30@ store_to 32@ +02FD: get_car_forward_x 0@ store_to 7@ +02FE: get_car_forward_y 0@ store_to 8@ +02FF: change_garage_type $_1290 to 0 +0300: create_crusher_crane 1119.8 51.8 1135.8 56.1 1149.8 46.3 1143.0 59.9 5.0 180.0 +0301: text_2numbers 'DONS218' $4034 $4035 8000 ms 1 // ~w~Get at least 5 of the ~y~voting areas~w~ before ~1~:~1~ hours. +0302: print_with_2_numbers_now 'AREWARD' numbers $3935 12@ time 5000 flag 6 // ~w~Level ~1~ completed! Reward: $~1~ +0303: text_2numbers_highpriority 'BIFP_1' 8@ 9@ 5000 ms 5 // ~w~Ouch! Face plant distance: ~1~.~1~m +0304: print_with_3_numbers 'WHEEL02' numbers 6@ 45@ 42@ time 3000 flag 1 // ~w~TWO WHEELS BONUS: $~1~ Distance: ~1~ feet Time: ~1~ seconds +0305: text_3numbers_highpriority 'RACE_R0' 15@ 16@ 17@ time 4500 ms 1 // ~w~PREVIOUS RECORD: ~1~:~1~~1~ +0307: print_with_4_numbers 'WHEEL01' numbers 6@ 43@ 44@ 42@ time 3000 flag 1 // ~w~TWO WHEELS BONUS: $~1~ Distance: ~1~.~1~m Time: ~1~ seconds +030D: print_with_6_numbers 'HJSTATW' numbers 10@ 11@ 8@ 9@ 13@ 17@ time 5000 flag 5 // ~w~Distance: ~1~.~1~m Height: ~1~.~1~m Flips: ~1~ Rotation: ~1~� And what a great landing! +0310: set_char_obj 4@ follow_char 6@ in_formation 0 +0311: player_made_progress 1 +0312: set_progress_total 171 +0313: save_jump_distance 22@ +0314: save_jump_height 21@ +0315: save_jump_flips 13@ +0316: save_jump_rotation 17@ +0317: save_jump_type 1 +0318: increment_unique_jumps_found +0319: set_total_unique_jumps_to 26 +031A: register_passenger_dropped_off_taxi +031B: register_money_made_taxi 38@ +031C: register_mission_given +031D: register_mission_passed 'VIC1' // Home Sweet Home +031E: set_char $PLAYER_ACTOR running 0 +031F: remove_all_script_fires +0322: has_char_been_damaged_by_weapon 16@(1@,12) weapon 39 +0323: has_car_been_damaged_by_weapon 23@ weapon 22 +0324: unknown_char $3942 hit_by_char $3936 +0325: char 0@ in_range_of_player $PLAYER_CHAR +0326: explode_char_head $3936(46@,12) +0328: anchor_boat 66@ set 1 +0329: set_zone_pedgroup_info 'LITTLEI' 1 3 // Saint Mark's +032A: start_car_fire $3015 store_to 24@ +032B: start_char_fire $3934(10@,9) store_to $3958(10@,9) +032C: get_random_car_of_type_in_area 1003.0 -531.0 to 1400.0 130.0 model -1 store_to $1879 +032E: garage $_1265 respray_done +032F: set_camera_zoom 2 +0330: create_pickup_with_ammo #GLOCK17 type 15 ammo 24 at 1148.87 -247.01 16.96 store_to $2255 +0331: car $3950 ram $3986 +0335: set_player_never_gets_tired $PLAYER_CHAR set 1 +0337: set_char_bleeding $3936(46@,12) set 1 +033A: set_free_resprays 1 +033B: set_player $PLAYER_CHAR visible 0 +033C: set_char_visible $3945 0 +033D: set_car_visible $1879 0 +033E: is_area_occupied 15@ 16@ 17@ to 18@ 19@ 20@ solid 1 car 1 char 1 object 0 particle 0 +0344: set_text_scale 0.8 1.0 +0345: set_text_colour 255 255 255 255 +0347: set_text_centre 1 +034A: set_text_background 0 +034D: set_text_proportional 1 +034F: industrial_passed 1 +0350: commercial_passed 1 +0351: suburban_passed 1 +0352: rotate_object $1243 from 90.0 to $4054 colission_check 0 +0353: slide_object $1282 to 358.158 -1128.422 21.941 speed 0.1 0 0 collision_check 0 +0354: remove_char_elegantly 1@ +0355: set_char_stay_in_same_place $1934 to 1 +0357: undress_char $PLAYER_ACTOR skin_to 'PLR3' +0358: dress_char $PLAYER_ACTOR +035B: is_explosion_in_area 2 from 796.847 -1088.15 5.0 to 849.145 -1030.2 18.0 +0361: place_object_relative_to_car 5@ car 6@ offset 0.5 0.7 -1.5 +0362: make_object_targettable $3985 +0363: set_player $PLAYER_CHAR armour_to 200 +0364: add_armour_to_char 1@ armour 100 +0365: open_garage $_1274 +0366: close_garage $_1274 +0367: warp_char_from_car_to_coord $PLAYER_ACTOR coord 6@ 7@ 8@ +0368: set_visibility_of_closest_object_of_type 284.6 -425.463 45.11 radius 20.0 model #LODKB_BUILDS11 visibility 0 +0369: has_char_spotted_char $2971(46@,10) char $2961(46@,10) +036A: set_char 0@ hail_taxi +036B: has_object_been_damaged 40@ +036E: put_player $PLAYER_CHAR in_car $1414(0@,4) +036F: warp_char_into_car $1418(0@,4) car $1414(0@,4) +0370: switch_car_radio 0 +0372: print_with_2_numbers_big 'CO_ONE' numbers $561 100 time 5000 style 6 // ~w~Hidden Package ~1~ of ~1~ collected! +0373: text_3numbers_styled 'RACE_S0' 12@ 13@ 14@ 4500 ms 5 // ~w~TIME: ~1~:~1~~1~ +0377: set_char $PLAYER_ACTOR anim 0 wait_state_time -1 ms +0378: set_camera_behind_player +037B: create_random_char 39@ 40@ 41@ store_to $3936(46@,12) +0383: is_sniper_bullet_in_area 796.847 -1088.15 5.0 849.145 -1030.2 18.0 +0386: set_object_velocity $4237 to 4.0 4.0 30.0 +0387: set_object_collision 1@ enable 0 +0389: print_string_in_string_now 'LS2_VIC' gxt 'VIC1' time 120000 flag 1 // ~y~Vincenzo Cilli -~g~ ~a~ // Home Sweet Home +038F: is_point_obscured_by_a_mission_entity 12@ 13@ 14@ radius 8.0 8.0 8.0 +0390: load_all_models_now +0391: add_to_object_velocity 42@ value 77@ 78@ 5.0 +0397: set_object_dynamic $1910 0 +0399: play_mission_passed_tune 1 +039A: clear_area 1137.19 -497.1 19.3 radius 1.0 clear_particles 1 +039B: freeze_onscreen_timer 1 +039C: switch_car_siren 2@ to 1 +039E: switch_ped_roads_off_angled 1222.9 -838.4 13.5 to 1256.3 -804.9 16.0 angle 58.0 +03A1: set_car_watertight $1414(0@,4) to 0 +03A2: add_moving_particle_effect 10 at 1153.62 -77.41 7.4 0 0 0 values 2.5 9 9 9 2000 +03A3: set_char_cant_be_dragged_out $1418(0@,4) to 1 +03A4: turn_car_to_face_coord $1414(0@,4) coord $1654(7@,35) $1689(7@,35) +03A5: is_crane_lifting_car 20@ coords 21@ 0@ +03A6: draw_sphere 7@ 8@ 9@ radius 1.0 +03A7: set_car_status $1879 to 3 +03A8: is_char_male $3936(46@,12) +03A9: script_name 'MAIN' +03AC: save_int_to_debug_file 0@ // nop +03AD: save_float_to_debug_file 0@ +03AE: save_newline_to_debug_file // nop +03AF: police_radio_message point $4009 $4012 $4015 +03B0: set_car_strong $1414(0@,4) to 1 +03B1: clear_route 1 +03B2: switch_rubbish 0 +03B3: remove_particle_effects_in_area 1048.3 -1103.4 5.0 1040.0 -1074.4 30.0 +03B4: switch_streaming 1 +03B5: is_garage_open $_1288 +03B6: is_garage_closed $_1288 +03BB: swap_nearest_building_model 674.0 -929.0 113.0 radius 20.0 from #IN_PMBRIDG2_UPGS to #IN_PMBRIDRAMP3 +03BC: switch_world_processing 1 +03BD: clear_weapons_from_player $PLAYER_CHAR +03BF: clear_area_of_cars 1206.43 -320.23 20.0 to 1223.26 -307.91 35.0 +03C0: set_garage $_1274 door_type_to_swing_open +03C1: add_sphere $1107 $1108 $1109 radius 2.0 store_to $1833 +03C2: remove_sphere $1833 +03C4: set_everyone_ignore_player $PLAYER_CHAR to 1 +03C5: store_car_char_is_in_no_save 1@ store_to 0@ +03C6: store_car_player_is_in_no_save $PLAYER_CHAR store_to 0@ +03C8: display_onscreen_timer_with_string $1532 type 0 gxt 'RACE_2' // Time +03C9: display_onscreen_counter_with_string $3033 type 0 gxt 'LEVEL' // Level +03CA: create_random_car_for_car_park 330.5469 -574.2604 28.11 heading 271.0159 +03CB: is_collision_in_memory island_id 1 +03CC: set_wanted_multiplier 0 +03CD: set_camera_in_front_of_player +03CE: is_car_visibly_damaged $1414(4@,4) +03CF: does_object_exist $1241 +03D0: load_scene 1071.592 -439.308 26.933 +03D1: add_stuck_car_check 0@ distance 2.0 time 4000 +03D2: remove_stuck_car_check 0@ +03D3: is_car_stuck 0@ +03D4: load_mission_audio slot 0@ name 'MOBRING' +03D5: has_mission_audio_loaded slot $1097 +03D6: play_mission_audio $1097 +03D7: has_mission_audio_finished slot 2@ +03D8: get_closest_car_node_with_heading 13@ 14@ 15@ store_to 13@ 14@ 15@ heading_to 16@ +03D9: garage $_1290 contains_neededcar 59@ +03DA: clear_this_print 'RAMPKA' // ~w~You need a vehicle for this rampage. +03DB: clear_this_big_print 'USJ' // ~w~UNIQUE STUNT BONUS! +03DC: set_mission_audio_position slot $1411 to 1@ 2@ 3@ +03DD: activate_save_menu +03DF: set_garage $_1286 camera_follows_player +03E1: add_blip_for_pickup 73@ store_to 33@ +03E3: set_ped_density_multiplier 1.0 +03E7: char 0@ exit_car +03EA: print_help 'BENZ_H1' // ~w~Follow the ~h~Shirt blip~w~ on the radar to find ~h~Mr. Benz clothes shop. +03EB: clear_help +03EC: flash_hud_object 8 +03EE: is_char_in_control $PLAYER_ACTOR +03EF: set_generate_cars_around_camera 1 +03F0: clear_small_prints +03F2: set_upsidedown_car_not_damaged $1414(0@,4) to 1 +03F3: is_player_control_on $PLAYER_CHAR +03F5: use_text_commands 0 +03F6: pedtype 15 add_threat 1 +03F7: pedtype $1834(0@,18) remove_threat $1852(1@,17) +03F8: get_car_colours $3964 store_to 1@ and 2@ +03F9: set_all_cars_can_be_damaged 1 +03FA: set_car_can_be_damaged $2154 to 0 +03FE: make_chars 21@ $1418(7@,4) converse_in 1 ms +0402: set_drunk_input_delay $PLAYER_CHAR to 4 +0403: set_char_money 0@ to $2243 +0405: get_offset_from_object_in_world_coords 16@(84@,8) offset 0 0 0.4 store_to $543 $544 $545 +0406: register_life_saved +0407: register_criminal_caught +0408: register_ambulance_level $3935 +0409: register_fire_extinguished +040A: turn_phone_on $1255 +040C: get_offset_from_car_in_world_coords 0@ offset 0 1@ 0 store_to 3@ 4@ 5@ +040D: set_total_rampages_to 12@ +040E: blow_up_rc_buggy +0411: is_german_game +0412: clear_mission_audio slot 1 +0416: set_char 11@ use_pednode_seek 1 +0418: enable $PLAYER_CHAR get_out_of_jail_free 1 +041C: load_and_launch_mission_internal 0 // initial: objects +041E: get_ammo_in_player_weapon $PLAYER_CHAR weapon 36 store_to $_124 +0422: set_near_clip 1.3 +0423: set_radio_channel 1 -1 +0427: garage_contain_car $_1265 18@ +0428: set_car_traction $1414(0@,4) to $1806 +0429: are_measurements_in_metres +042A: convert_metres_to_feet 46@ store_to 48@ +042B: mark_roads_between_levels cube 619.6 -911.5 45.0 834.3 -954.5 32.0 +042D: set_car_avoid_level_transitions $2725 to 1 +0430: clear_area_of_chars 917.0 -246.0 -90.0 to 967.0 -216.0 90.0 +0431: set_total_number_of_missions 111 +0432: convert_metres_to_feet_int 10@ 10@ store_to %2d% +0435: warp_char_into_car_as_passenger $2926 car 4@ seat 0 +0436: is_car_passenger_seat_free 1@ seat 6@ +0437: get_char_in_car_passenger_seat 0@ seat 5@ store_to 3@ +0438: set_char_is_chris_criminal 1@ to 1 +0439: start_credits group 0 +043C: create_single_particle 7 at 1122.88 -1018.26 13.8438 6@ 7@ 8@ 0.01 +0441: set_music_does_fade 0 +0444: play_end_of_game_tune +0445: stop_end_of_game_tune +0446: get_car_model $2289 store_to 3@ +0447: is_player_sitting_in_car player $PLAYER_CHAR car $3979 +0448: is_player_sitting_in_any_car player $PLAYER_CHAR +044A: are_any_car_cheats_activated +044B: set_char_suffers_critical_hits $1418(0@,4) enable 1 +044D: is_char_sitting_in_car 1@ car 0@ +044E: is_char_sitting_in_any_car $3940(38@,12) +044F: is_player_on_foot $PLAYER_CHAR +0450: is_char_on_foot 11@ +0456: load_end_of_game_tune +0457: enable_player_control_camera +0458: set_object_rotation $1910 to 0 11.0 90.0 +0459: get_debug_camera_position 7@ 8@ 9@ +045C: is_player_targetting_char $PLAYER_CHAR char $1934 +0464: set_all_occupants_of_car_leave_car $2725 +0465: set_interpolation_parameters 0 time 7@ +0468: get_debug_camera_point_at 11@ 12@ 13@ +0469: attach_ped_to_car $PLAYER_ACTOR car $1879 offset 0 0 20.0 position 0 angle_limit 0 weapon 0 +046A: detach_char_from_car $PLAYER_ACTOR +046B: set_car_stay_in_fast_lane $1414(0@,4) to 0 +046C: clear_char_last_weapon_damage 50@(83@,8) +046D: clear_car_last_weapon_damage $3941 +046E: get_random_cop_in_area 28@ 29@ to 37@ 38@ cop 1 swat 1 fbi 1 army%8h% vice 1 store_to 45@ 45@ +0470: set_car_obj_flee_car 11@ car $2725 +0471: get_driver_of_car $1879 store_to 2@ +0472: get_number_of_followers $3940(38@,12) store_to 23@ +0474: store_player $PLAYER_CHAR currently_armed_weapon_to $1083 +0475: get_current_char_weapon $PLAYER_ACTOR store_to $1083 +0477: locate_char_on_foot_object_2d 45@ object 11@ radius 2.0 2.0 sphere 0 +047C: set_car_temp_action $1414(0@,4) to 3 time 3500 +047F: is_char_on_any_bike $PLAYER_ACTOR +0483: is_player_on_any_bike $PLAYER_CHAR +0485: can_char_see_dead_char $3934 pedtype 15 +0486: set_enter_car_range_multiplier 6.0 +0487: set_threat_reaction_range_multiplier 1.5 +048E: shut_char_up $1400 to 0 +048F: set_enable_rc_detonate 0 +0490: set_car_random_route_seed $3937 to $3965 +0494: remove_all_char_weapons 3@ +0495: has_player_got_weapon $PLAYER_CHAR weapon 18 +0496: has_char_got_weapon 0@ weapon 15 +0498: set_tank $3937 contact_explosion 0 +0499: get_position_of_analogue_sticks 0 store_to 10@ 11@ 12@ 13@ +049A: is_car_on_fire $1414(4@,4) +049B: is_car_tyre_burst $1414(4@,4) tyre 0 +04A7: heli_goto_coords 0@ coords 1@ 2@ 4@ speed 1 +04A9: 6@ == 1 // @ == constant +04AA: get_dead_char_pickup_coords 1@ store_to 17@ 18@ 19@ +04AB: create_protection_pickup 1037.62 -653.23 15.02 money 2000 500 store_to $1104 +04AD: player $PLAYER_CHAR driving_boat +04B2: is_char_in_water $3934(10@,9) +04B3: $1834 = 4 +04B4: 9@ = 11 +04BD: get_char_weapon_in_slot 2@ slot 6 store_weapon_to 75@ ammo_to 76@ model_to 77@ +04BE: get_closest_straight_road $4009 $4012 $4015 unk_length 8.0 radius 500.0 store_to $4009 $4012 $4015 $4010 $4013 $4016 42@ +04BF: set_car_forward_speed $1414(0@,4) to 25.0 +04C0: set_area_visible 1 +04C2: mark_car_as_convoy_car $3937 set_to 1 +04C3: reset_havoc_caused_by_player $541 +04C4: get_havoc_caused_by_player $541 store_to 3@ +04C7: set_char_obj_walk_to_char 21@ char $1418(7@,4) +04C9: get_offset_from_char_in_world_coords $PLAYER_ACTOR offset 0 4.0 0 store_to 0@ 1@ 2@ +04CA: has_char_been_photographed 0@ +04CB: set_char_obj_aim_gun_at_char 0@ char 1@ +04CC: switch_security_camera 1 +04CE: is_player_in_flying_vehicle $PLAYER_CHAR +04D3: add_short_range_sprite_blip_for_coord 1070.074 -399.483 14.205 sprite 16 store_to $1149 +04D5: set_heli_orientation 4@ to 180.0 +04D8: get_nth_closest_car_node 20@ 21@ 22@ nth 4 store_to 13@ 14@ 15@ +04DB: set_enable_rc_detonate_on_contact 0 +04DC: freeze_char_position $PLAYER_ACTOR set_to 1 +04DD: set_char_drowns_in_water $1418(0@,4) to 0 +04E0: remove_rc_buggy +04E1: has_photograph_been_taken +04E2: get_char_armour $PLAYER_ACTOR store_to $_160 +04E4: set_heli_stabiliser 43@ to 1 +04E5: set_car_straight_line_distance $1414(0@,4) to 255 +04E6: pop_car_boot 3@ +04E9: request_collision 270.0 -423.7 +04F0: set_char_crouch 45@ to 1 set_char_crouch 300000 +04F1: set_zone_civilian_car_info 'LITTLEI' 1 100 250 50 0 200 50 150 50 150 500 500 // Saint Mark's +04F2: request_animation 'RIOT' +04F9: attach_char_to_object $4009 object $4008 offset 0 0 0 orientation 0 angle_limit 0 weapon 0 +04FA: set_char_as_player_friend $2954(32@,3) player $PLAYER_CHAR on 1 +04FC: display_nth_onscreen_counter_with_string $3940 type 1 nth 2 gxt 'TIP' // Tip +04FE: set_extra_colours 1 fade 0 +04FF: clear_extra_colours 0 +0501: get_wheelie_stats $PLAYER_CHAR store_two_wheel_info_to 42@ 46@ wheelie_info_to 49@ 53@ stoppie_info_to 56@ 60@ +0503: burst_car_tyre 11@ tyre 2 +0504: is_char_obj_no_obj $3956 +0505: is_player_wearing $PLAYER_CHAR skin 'PLR3' +0506: set_player_can_do_drive_by $PLAYER_CHAR to 0 +0507: set_char_obj_sprint_to_coord $3934(10@,9) sprint_to $4036(10@,9) $4045(10@,9) +050B: set_car_model_components #STINGER to -1 -1 +050D: close_all_car_doors $3942 +050E: get_distance_between_coords_2d 36@ 37@ and 33@ 34@ store_to 22@ +050F: get_distance_between_coords_3d 43@ 44@ 45@ and 24@ 25@ 26@ store_to 23@ +0510: pop_car_boot_using_physics 23@ +0512: is_char_leaving_vehicle_to_die 24@ +0513: sort_out_object_collision_with_car 22@ car 17@ +0515: is_char_wander_path_clear 0@ on_path $3975(4@,26) $4001(4@,26) $4027(4@,26) radius 20.0 +0517: print_help_forever 'BENZ_TR' // ~w~Your ~h~Casual clothes~w~ are now available at the safehouse. +0519: set_char_can_be_damaged_by_members_of_gang 14@ gang_ID 1 unk3 0 +051E: freeze_car_position 1@ set_to 1 +051F: has_char_been_damaged_by_char $1934 char $PLAYER_ACTOR +0520: has_char_been_damaged_by_car $3935(7@,14) car $3979 +0521: has_car_been_damaged_by_char $3934(0@,3) char $PLAYER_ACTOR +0522: has_car_been_damaged_by_car 23@ car 7@ +0523: get_radio_channel 0@ +0526: is_char_drowning_in_water 4@ +052B: set_char_stay_in_car_when_jacked $1418(0@,4) to 1 +052D: add 240 to_money_spent_on_weapons_stats +0530: set_char_answering_mobile $PLAYER_ACTOR on 1 +0539: add_pizzas_delivered 51@ +0541: set_char_in_players_group_can_fight $2954(32@,3) can_fight 1 +0542: clear_char_wait_state 0@ +0544: set_can_burst_car_tyres $1414(0@,4) to 0 +054B: is_player_touching_vehicle $PLAYER_CHAR vehicle $3015 +054F: set_char_can_be_shot_in_vehicle $1418(0@,4) to 1 +0551: load_mission_text 'TT1' // 'Bumps & Grinds' +0553: clear_char_last_damage_entity $2971(46@,10) +0554: clear_car_last_damage_entity $3934(0@,3) +0555: freeze_object_position $1910 to 1 +055C: clear_taxi_shortcut +0562: make_player_fire_proof $PLAYER_CHAR set_to 1 +0563: increase_player_max_health $PLAYER_CHAR by 25 +0564: increase_player_max_armour $PLAYER_CHAR by 50 +0565: create_random_char_as_driver $1879 store_to 2@ +0566: create_random_char_as_passenger 0@ seat 1@ store_to 2@ +0567: set_char_ignore_threats_behind_objects 8@ on 1 +056D: set_char_never_targetted $1418(0@,4) to 1 +0570: set_char_crouch_when_threatened $3934 on 1 +0572: does_char_exist $1934 +0573: does_vehicle_exist 0@ +0576: is_char_stuck $2954(46@,3) +0578: set_char_stop_shoot_dont_seek_entity $1934 on 1 +0579: freeze_car_position_and_dont_load_collision $3938 to 1 +057D: save_highest_vigilante_level $4019 +057E: stop_char $PLAYER_ACTOR +057F: set_garage $_1274 max_cars_to 1 +0582: play_bridge_status_mp3 0 +0586: display_radar 1 +058C: set_load_collision_for_car_flag 12@(85@,3) to 0 +058D: set_load_collision_for_char_flag 15@(85@,3) unset 0 +0591: get_progress_percentage $1088 +0592: set_restart_mission_taxi_start 1129.02 -585.07 14.77 angle 0 +0593: set_restart_mission_taxi_destination 1142.0 -1103.0 10.7 90.0 +0597: set_gang_attack_player_with_cops 5 flag 1 +0598: set_char_frightened_in_jacked_car 11@ flag 1 +059A: register_oddjob_mission_passed +059E: register_fire_level $4072 +05A0: disarm_car_bomb 11@ +05A4: get_distance_between_coords_2d_version_b 2@ 3@ and 7@ 8@ store_to 13@ +05A5: get_distance_between_coords_3d_version_b 0 0 87@ and 0 0 65@ store_to 88@ +05A6: get_dot_product_of_2d_vectors 1@ 2@ and 4@ 5@ store_to 9@ +05A7: get_dot_product_of_3d_vectors 2@ 3@ and 4@ 9@ store_to 10@ 11@ 12@ +05A8: display_float_value int_2D_coords 50 200 float_value 1@ +05A9: display_2_float_values int_2D_coords 10 10 float_values 16@ 30@ +05AA: display_3_float_values int_2D_coords 50 50 float_values 0@ 1@ 2@ +05AB: get_pad_state actionID 44 store_to $2013 +05AD: clear_pointer_arrow +05AE: args 0 out 0 locals_base_index 0 call_func @MDLMAC_47 +05AF: args 2 out 0 locals_base_index 25 call_func @MDLMAC_14939 0@ 23@ +05B1: is_this_vehicle_a_bike $1879 +05C4: unknown_command_vcs_0390 +05C7: unknown_command_ac7b char 11@ flag 0 +05C9: create_permanent_corona $3935(53@,25) at $3960(53@,25) $3985(53@,25) $2085 radius 6 type 0 enable_lensflare 100 colour 100 0 26@(53@,25) store_to +05CA: delete_permanent_corona 26@(53@,25) +05CB: unknown_vehicle_command_532c vehicle 0@ +05CC: unknown_vehicle_command_6c1a vehicle $3015 +05CD: unknown_char_command_2Fe6 char $3934 flag 1 +05CE: unknown_command_718d vehicle $3981(8@,1) char $3964(8@,1) +05CF: get_pickup_weapon_id pos 4@ 5@ 6@ radius 2.0 store_weapon_id 33@ +05D0: is_player_using_first_person_camera player $PLAYER_CHAR +05D3: unknown_command_6387 1 // nop +05D4: unknown_command_148c 1 +05D5: set_wants_to_draw_hud 0 +05D6: get_random_char_in_area_no_checks from 3@ 4@ to 6@ 7@ store_to 2@ +05D7: get_random_car_in_area_no_save from 7@ 8@ to 10@ 11@ store_to 5@ +05D8: store_car_collided_with_no_save 1@ store_to 2@ +05DA: enable_ferry_path 0 +05DB: get_closest_docked_ferry pos 0@ 1@ store_to $2878 +05E0: skip_ferry_to_next_dock $2878 +05E1: unknown_char_command_1167 char 45@ flag 0 +05E2: unknown_command_7272 char $4013 +05E3: get_ferry_boarding_space $2878 1 $2917 1 store_to 2@ 3@ +05E4: get_ferry_heading $2878 store_to 11@ +05E5: unknown_ferry_command_417d $2878 flag 1 +05E7: unknown_command_5271 vehicle $3934 flag 0 +05E8: take_remote_controlled_car_from_player +05E9: register_car_sold +05EA: add_money_made_with_car_sales $3970 +05EB: unlock_bridge 2 +05EC: set_object_initial_rotation_velocity 42@ rotation_velocity 0 0 10.0 +05ED: set_object_initial_velocity $1293 velocity 50.0 50.0 0.99 +05EF: set_unique_jumps_found $1078 +05F0: unknown_player_command_6441 $561 +05F1: register_bike_sold +05F2: add_money_made_with_bike_sales $3972 +05F6: set_char_evasive_dive char 4@ vehicle 3@ +05F7: damage_car $3015 +05F9: add_money_made_collecting_trash 11@ +05FA: register_hitmen_killed +05FB: register_guardian_mission_passed +05FC: register_highest_guardian_angel_justice_dished 39@ +05FD: register_best_bandit_lap_time 0 time 62@ +05FE: register_best_bandit_position 0 position 62@ +05FF: register_most_time_left_in_train_race $3934 +0603: register_outfit_changed +0604: register_street_race_fastest_time race 0 time $1516 +0605: register_street_race_fastest_lap 0 $1515 +0606: register_street_race_best_position 0 $1511 +0607: has_object_been_damaged_by_weapon 16@(83@,8) type 31 +0608: clear_object_last_weapon_damage 16@(83@,8) +0609: set_car_initial_rotation_velocity 0@ rotation_velocity 0 0 -2.0 +060A: set_car_initial_velocity $4223 velocity 44@ 45@ 46@ +060B: set_object_proofs $4233(8@,6) bullet 1 fire 1 explosion 1 collision 1 melee 1 +060C: unknown_camera_command_6e11 store_to $_516 +060D: unknown_camera_command_7521 1 +060E: get_car_rotation $3953 store_to 71@ 72@ 73@ +060F: set_car_rotation 5@ rot $546 $547 $548 +0610: unknown_timer_command_2151 +0612: unknown_char_command_5618 $3953(15@,10) store_to 16@ +0613: unknown_camera_command_7432 enable 1 +0614: unknown_object_command_8421 16@(83@,8) +0615: get_random_alive_car_of_type_in_area_no_save -839.63 291.0 to -827.92 303.0 model -1 store_to $2579 +0616: unknown_pad_command_52a7 +0618: unknown_command_6141 +0619: set_fs_destroyed_flag_variable $1128 +061A: clear_big_messages +061B: clear_area_of_objects 271.913 -75.395 16.146 to 458.258 -389.775 47.444 +061C: load_non_standard_ped_animations 36 +061D: unload_non_standard_ped_animations 36 +061F: build_world_geometry bridge_num 0 +0620: store_building_swap 1 0 1 0 // nop +0621: unknown_command_8554 +0622: $2 unknown_command_3821 store_to 5@ +0623: multiplayer_script_done +0624: unknown_command_842e +0625: unknown_command_748a +0626: 1@ unknown_command_7dea store_to 5@ +0627: unknown_command_71df +0628: set_onscreen_counter_colour 171 72 72 255 +0629: set_onscreen_counter_background_colour 91 11 11 255 +062A: damage_car_boot 17@ +062B: draw_checkpoint coord 2@ 3@ 4@ radius 12.0 colour 255 0 0 +062D: print_help_always_allow 'HELPB' // ~w~While not on a mission you can save your progress by collecting the ~h~Save Icon~w~ - time will advance by 6 hours. +062E: print_help_permanent_always_allow 'VIC3_H1' // ~w~Hold~h~ ~k~ ~PDLT~ ~w~to ~h~lock on to a target~w~, and press~h~ ~k~ ~PDFW~ ~w~to attack! +062F: switch_ferry_collision 0 +0630: set_char_max_health $1418(0@,4) to 500 +0631: unknown_char_command_76f6 char 1@ value 5000 +0632: unknown_char_command_2618 char 1@ value 2000 +0633: unknown_heli_command_7314 vehicle 48@ +0634: set_crusher_reward_multiplier 4 +0635: swap_building 1 1@ +0638: swap_to_streamed_sector +0639: unknown_char_command_2682 $3955 flag 1 +063A: register_longest_face_plant_distance 7@ +063B: register_number_of_seconds_left_on_carriage $4020 +063C: register_kills_on_rc_triad $3935 +063D: register_splash_tv_level 18@ +063E: add_money_made_with_splash_tv 25@ +063F: register_total_kills_on_splash_tv 1 +0640: register_noodles_delivered 51@ +0641: register_scrapyard_challenge_score $3941 +0642: register_mayhem_score $3935 +0643: register_scooter_shooter_score $3935 +0644: add_money_made_from_tourists 27@ +0645: add_tourists_taken_to_spots 1 +0646: add_number_of_exported_cars 1 +0647: set_total_number_of_exported_cars 16 +0648: register_dirt_bike_fastest_lap 0 time 10@ +0649: register_dirt_bike_fastest_time 0 time $3965 +064A: register_dirt_bike_most_air 5@ +064B: create_checkpoint_arrow_deprecated coord 2@ 3@ 4@ point_to 10@ 11@ 12@ colour 255 255 0 unk_float -2.25 +064D: get_pickup_value $1100 store_to $_290 +064E: set_pickup_value $1104 value $_292 +064F: is_developer_flag_active +0650: set_developer_flag 1 +0651: register_wichita_wipeout_score $3935 +0652: attach_object_to_car $3951(61@,9) car 17@ offset $3960(61@,9) $3969(61@,9) $3978(61@,9) +0653: detach_object_from_car $3945(0@,3) +0654: unknown_pad_command_7421 1.2 0.5 +0655: print_subtitle_now_version_a 'PO_MOB3' time 5000 flag 1 // ~w~Hey Toni! It's JD. +0657: print_now_dont_add_to_brief_array 'A_VIC4' time 1000 flag 1 // ~w~A pistol usually costs $240, but this one's on Vincenzo. +0658: print_with_number_now_dont_add_to_brief_array 'A_COST4' number 240 time 1000 flag 1 // ~w~Cost: ~h~$~1~ ~n~ ~r~You cannot afford this. +0659: get_angle_between_2d_vectors 6@ 7@ and 3@ 4@ store_to 10@ +065A: unknown_char_command_7f47 0@ +065B: unknown_command_8563 1 +065C: switch_emergency_services 1 +065D: unlock_the_costume 0 +065E: clear_multiplayer_splash_screen +065F: print_with_2_numbers_now_dont_add_to_brief_array 'TT1_B1' numbers $2216 $2217 time 1 flag 1 // ~w~Course Target: ~1~:~1~ +0660: get_object_rotation $4008 store_to 49@ 50@ 51@ +0661: set_object_rotation_dont_update_frame $4008 to 49@ 50@ 51@ +0662: set_onscreen_counter_display_money_value $4198 enable 1 +0663: store_player_outfit 'PLR3' +0664: display_onscreen_counter_with_string_and_max_number $3968 max_number $2223 unk3 0 name 'RACELAP' // Lap +0665: unknown_player_command_832d 100 +0666: set_char $3934(74@,4) anim 16 wait_state_time 500 ms version_b +0667: register_go_go_faggio_time 58@ +0668: lock_garage $_1273 enable_lock 0 +0669: unknown_check_command_92ea +066A: set_allowed_collision_for_level 3 level 2 +066B: register_guardian_angel_levels ind $3033 com 0 sub 0 +066C: display_onscreen_counter_with_two_numbers_place $1530 number_of_levels $1800 unk3 0 unk4 3 string 'RACE_P1' progress_subject 'RACELAP' // ~w~1st // Lap +066D: get_player_saved_weapon $PLAYER_CHAR store_to $1083 +066E: disable_access_to_pause_menu 1 +0670: set_clock_event hours 0 minutes 0 warning_minutes 0 +0671: set_weather_extra_colour_light_direction -0.896 0.0123 0.445 +0674: print_help_forever_version_b 'CLOTHA' // ~h~~k~ ~VESTR~ ~w~to view outfits. ~h~~k~ ~AMBUY~ ~w~to change into outfit. ~h~~k~ ~AMEXI~ ~w~to cancel. +0676: print_help_forever_version_c 'TT1_A0' // ~w~~k~ ~AMBUY~ ~w~to race. ~n~~k~ ~AMEXI~ ~w~to exit. +0677: unknown_car_command_47ED 58@ flag 1 +0678: unknown_player_command_852e $PLAYER_CHAR flag 1 +8018: not $2013 > 0 +8019: not TIMERB > 2000 +801A: not 16 > $_PLAYER_SKIN +801B: not 0 > 2@ +801C: not $_367 > $3965 +801D: not 23@ > 17@ +801E: not $1939 > TIMERA +8020: not $4009 > 778.0 +8021: not 11@ > 20.0 +8022: not 4.0 > $2795 +8023: not 1540.0 > 39@ +8038: not $_6 == 1 +8039: not 0@ == 2 +803A: not $PLAYER_ACTOR == $1418(0@,4) +803B: not 0@ == 23@ +803C: not $1458(0@,4) == 22@ +8042: not $3935(53@,25) == 0 +8043: not 75@ == -1.0 +8044: not $4116 == $3939 +8056: not player $PLAYER_CHAR coords 748.88 -65.33 995.01 140.53 0 sphere 0 +8057: not player $PLAYER_CHAR coords 266.83 -610.93 25.0 to 346.81 -479.92 40.0 sphere 0 +80A2: not is_char_still_alive $3941(0@,4) +80A3: not is_char_in_area_2d $1935 from 1065.6 -403.5 to 1072.8 -394.0 sphere 0 +80A4: not is_char_in_area_3d $542 from 7.27 -911.32 0 to 106.69 -551.41 35.0 sphere 0 +80B0: not is_car_in_area_2d 0@ from 1100.19 -8.1 to 1224.19 100.9 sphere 0 +80B1: not is_car_in_area_3d 33@ from 396.6 -748.73 14.0 to 505.9 -611.5 20.12 sphere 0 +80C2: not is_point_on_screen 12@ 13@ 14@ radius 6.0 +80E0: not is_char_in_car $1418(0@,4) car $1414(0@,4) +80E1: not is_player_in_car $PLAYER_CHAR car $1414(1@,4) +80E3: not is_player_in_model $PLAYER_CHAR model #AMBULAN +80E4: not is_char_in_any_car $1418(4@,4) +80E5: not is_player_in_any_car $PLAYER_CHAR +80E6: not is_button_pressed 0 button 16 +80E8: not locate_player_any_means_2d $PLAYER_CHAR coord 12@ 13@ radius 30.0 30.0 sphere 0 +80E9: not locate_player_on_foot_2d $PLAYER_CHAR coord $2520 $2521 radius 1.0 1.0 sphere 0 +80EA: not locate_player_in_car_2d $PLAYER_CHAR coord 27@ 28@ radius 25.0 25.0 sphere 0 +80EE: not locate_player_any_means_char_2d $PLAYER_CHAR near_char 1@ radius 300.0 300.0 sphere 0 +80F0: not locate_player_in_car_char_2d $PLAYER_CHAR near_char $3936(46@,12) radius 20.0 20.0 sphere 0 +80F1: not locate_char_any_means_2d $2971 coord 4@ 5@ radius 20.0 20.0 sphere 0 +80F2: not locate_char_on_foot_2d $2733(35@,6) coord $2752(35@,6) $2758(35@,6) radius 0.5 0.5 sphere 0 +80F7: not locate_char_any_means_char_2d $542 char 16@(13@,11) radius 50.0 50.0 sphere 0 +80FA: not locate_char_any_means_3d $PLAYER_CHAR coord $1422(3@,4) $1426(3@,4) $1430(3@,4) radius 4.5 4.5 10.0 sphere 1 +80FB: not locate_player_on_foot_3d $PLAYER_CHAR coord 1069.11 -398.86 14.21 radius 1.0 1.0 5.0 sphere 0 +80FC: not locate_player_in_car_3d $PLAYER_CHAR coord 11@ 12@ 13@ radius 7.0 7.0 2.0 sphere 0 +8100: not locate_player_any_means_char_3d $PLAYER_CHAR char 61@ radius 15.0 15.0 10.0 sphere 0 +8101: not locate_player_on_foot_char_3d $PLAYER_CHAR char 0@ radius 15.0 15.0 15.0 sphere 0 +8102: not locate_player_in_car_char_3d $PLAYER_CHAR car 0@ radius 70.0 70.0 20.0 sphere 0 +8103: not locate_char_any_means_3d 9@ coord 32@ 33@ 14.96 radius 4.0 4.0 4.0 sphere 1 +8104: not locate_char_on_foot_3d 11@ coord 19@ 20@ 21@ radius 7.0 7.0 5.0 sphere 0 +8105: not locate_char_in_car_3d 4@ coord 364.9079 -118.0489 20.2104 radius 3.0 3.0 3.0 sphere 0 +8109: not locate_char_any_means_char_3d $542 char 4@ radius 140.0 140.0 100.0 sphere 0 +810A: not locate_char_on_foot_char_3d $4210(73@,12) char $542 radius 200.0 200.0 20.0 sphere 0 +810F: not is_score_greater $PLAYER_CHAR than 239 // money +8114: not is_wanted_level_greater $PLAYER_CHAR than 2 +8117: not has_deatharrest_been_executed +811C: not is_player_dead $PLAYER_CHAR +811D: not is_char_dead 1@ +811E: not is_car_dead 0@ +8126: not is_player_in_zone $PLAYER_CHAR zone 'PORT_W' // Callahan Point +8128: not char $2954(46@,3) spotted_player $PLAYER_CHAR +812B: not is_char_objective_passed 0@ +813C: not is_car_model 3@ model #SINDACCO_CAR +814E: not is_car_crushed 0@ +8170: not get_fading_status +8188: not is_player_health_greater $PLAYER_CHAR than 70 +8189: not is_char_health_greater $1418(4@,4) than 499 +818A: not is_car_health_greater $1414(4@,4) than 990 +8194: not is_car_stuck_on_roof 0@ +81B2: not locate_car_2d $2725 point 22@ 23@ radius 9@ 9@ sphere 0 +81B4: not locate_car_3d $1414(0@,4) point $1478(0@,4) $1482(0@,4) $1486(0@,4) radius $1797 $1797 $1797 sphere 0 +81B5: not locate_stopped_car_3d 6@ point 48@ 49@ 50@ radius 5.0 5.0 5.0 sphere $1342 +81C6: not is_car_stopped $2118 +81F8: not is_car_in_air_proper 0@ +81F9: not is_car_upsidedown $3938 +8201: not locate_player_any_means_car_2d $PLAYER_CHAR car $1414(0@,4) radius 30.0 30.0 sphere 0 +8204: not player $541 near_car $3934(2@,4) radius 10.0 10.0 10.0 unknown 0 +8207: not locate_char_any_means_car_2d $3937(0@,3) car $3934(0@,3) radius 20.0 20.0 sphere 0 +8208: not locate_char_on_foot_car_2d $3935(7@,14) car $3979 radius 2.5 2.5 sphere 0 +8209: not locate_char_in_car_car_2d 24@ car 1@ radius 30.0 30.0 sphere 0 +820A: not locate_char_any_means_car_3d $3955 car $3986 radius 10.0 10.0 10.0 sphere 0 +8212: not is_car_upright $1878 +8219: not has_pickup_been_collected 0@ +8221: not car_inside_garage $_1287 +8242: not has_special_character_loaded 9 +8246: not is_player_in_remote_mode $PLAYER_CHAR +824D: not has_model_loaded 0@ +825B: not is_player_playing $PLAYER_CHAR +82A4: not is_player_stopped $PLAYER_CHAR +82C4: not is_car_in_water 1@ +82CF: not is_car_on_screen $1414(0@,4) +82D0: not is_char_on_screen $1524 +82DC: not is_current_player_weapon $PLAYER_CHAR weapon 34 +82DD: not is_current_char_weapon $542 weapon 0 +82EE: not has_cutscene_finished +82F7: not is_char_model $4075(0@,12) model #SHOPPER1 +8324: not unknown_char $3940(40@,12) hit_by_char $3940(38@,12) +8325: not char $2954(32@,3) in_range_of_player $PLAYER_CHAR +833E: not is_area_occupied 1007.0 -1099.23 11.0 to 1009.0 -1097.23 13.0 solid 0 car 1 char 1 object 0 particle 0 +8352: not rotate_object 0@ from 1@ to 2@ colission_check 0 +8353: not slide_object $1234 to 979.3 -328.1 9.0 speed 0.1 0.1 0 collision_check 0 +8369: not has_char_spotted_char $2954(46@,3) char $2971(32@,10) +838F: not is_point_obscured_by_a_mission_entity $3969 $3970 $3971 radius 3.0 3.0 2.0 +83A5: not is_crane_lifting_car 1141.42 coords 50.9275 $3934(2@,4) +83B5: not is_garage_open $_1267 +83CB: not is_collision_in_memory island_id 1 +83CE: not is_car_visibly_damaged $3953 +83CF: not does_object_exist 5@ +83D3: not is_car_stuck 5@ +83D5: not has_mission_audio_loaded slot 2@ +83D7: not has_mission_audio_finished slot 2@ +83DE: not has_save_game_finished +83EE: not is_char_in_control $PLAYER_ACTOR +8411: not is_german_game +8427: not garage_contain_car $_1266 $3943 +8436: not is_car_passenger_seat_free 0@ seat 5@ +843B: not are_credits_finished +8447: not is_player_sitting_in_car player $PLAYER_CHAR car 1@ +844D: not is_char_sitting_in_car 7@ car $3949 +844E: not is_char_sitting_in_any_car 1@ +844F: not is_player_on_foot $PLAYER_CHAR +8450: not is_char_on_foot $PLAYER_ACTOR +8483: not is_player_on_any_bike $PLAYER_CHAR +8495: not has_player_got_weapon $PLAYER_CHAR weapon 23 +8496: not has_char_got_weapon $2733(35@,6) weapon 6 +849A: not is_car_on_fire 23@ +849B: not is_car_tyre_burst $2289 tyre 1 +84AD: not player $PLAYER_CHAR driving_boat +84B2: not is_char_in_water $PLAYER_ACTOR +84CA: not has_char_been_photographed 3@ +84CE: not is_player_in_flying_vehicle $541 +84F3: not has_animation_loaded 'RIOT' +8515: not is_char_wander_path_clear $PLAYER_ACTOR on_path $3975(4@,26) $4001(4@,26) $4027(4@,26) radius 100.0 +8522: not has_car_been_damaged_by_car $3986 car $3950 +854B: not is_player_touching_vehicle $PLAYER_CHAR vehicle $3988 +8572: not does_char_exist $1934 +8573: not does_vehicle_exist $2289 +8576: not is_char_stuck $3935(7@,14) +859C: not is_char_ducking $4055 +85B1: not is_this_vehicle_a_bike 47@ +85CB: not unknown_vehicle_command_532c vehicle 0@ +85E2: not unknown_command_7272 char $4012(2@,3) +85EE: not has_cutscene_loaded +8610: not unknown_timer_command_2151 +8616: not unknown_pad_command_52a7 +8618: not unknown_command_6141 +8621: not unknown_command_8554 +8636: not stream_building_swaps +8637: not is_streaming_complete +864F: not is_developer_flag_active +8669: not unknown_check_command_92ea +866F: not is_audio_channel_playing 64 +0DD0: 0@ = get_label_addr @func // android +0DD1: 0@ = get_func_addr_by_cstr_name 0@ // android +0DD2: context_call_func 0@ // android +0DD3: context_set_reg 0 value 1@ // android +0DD4: 10@ = context_get_reg 0 // android +0DD5: 0@ = get_platform // android +0DD6: 0@ = get_game_version // android +0DD7: 0@ = get_image_base // android +0DD8: 6@ = read_mem_addr 0x00123456 size 4 add_ib 1 // android +0DD9: write_mem_addr 0x00123456 value 6@ size 4 add_ib 1 protect 0 // android +0DDA: 2@ = get_pattern_addr_cstr 2@ index 1 // android +0DDB: get_game_ver_ex name_hash 0@ ver_hash 1@ ver_code 2@ // android +0DDC: set_mutex_var 0 to 1 // android +0DDD: 0@ = get_mutex_var 0 // android +0DDE: call_func 1@ add_ib 0 'i' 0 'f' 0@ // android +0DE0: 10@ = get_touch_point_state 7 mintime 1000 // android +0DE1: 10@ = get_touch_slide_state from 4 to 6 mintime 300 maxtime 1000 // android +0DE2: 0@ = get_menu_button_state // read opcode info before using // android +0DE3: 1@ = get_menu_button_pressed mintime 500 // read opcode info before using // android +0DF2: create_menu 0@ items 30 // android +0DF3: delete_menu // android +0DF4: 10@ = get_menu_touched_item_index maxtime 1000 // android +0DF5: set_menu_active_item_index 11@ // android +0DF6: 12@ = get_menu_active_item_index // android diff --git a/sa_mobile/SASCM.CLEO.ini b/sa_mobile/SASCM.CLEO.ini index 1bc5b48..78f57a1 100644 --- a/sa_mobile/SASCM.CLEO.ini +++ b/sa_mobile/SASCM.CLEO.ini @@ -10,9 +10,18 @@ 0DD7=1,%1d% = get_image_base ; android 0DD8=4,%1d% = read_mem_addr %2d% size %3d% add_ib %4d% ; android 0DD9=5,write_mem_addr %1d% value %2d% size %3d% add_ib %4d% protect %5d% ; android +0DDA=3,%1d% = get_pattern_addr_cstr %2d% index %3d% ; android +0DDB=3,get_game_ver_ex name_hash %1d% ver_hash %2d% ver_code %3d% ; android 0DDC=2,set_mutex_var %1d% to %2d% ; android 0DDD=2,%1d% = get_mutex_var %2d% ; android +0DDE=-1, call_func %1d% add_ib %2d% ; android 0DE0=3,%1d% = get_touch_point_state %2d% mintime %3d% ; android 0DE1=5,%1d% = get_touch_slide_state from %2d% to %3d% mintime %4d% maxtime %5d% ; android 0DE2=1,%1d% = get_menu_button_state ; read opcode info before using ; android -0DE3=2,%1d% = get_menu_button_pressed mintime %2d% ; read opcode info before using ; android \ No newline at end of file +0DE3=2,%1d% = get_menu_button_pressed mintime %2d% ; read opcode info before using ; android +0DF2=2,create_menu %1d% items %2d% ; android +0DF3=0,delete_menu ; android +0DF4=2,%1d% = get_menu_touched_item_index maxtime %2d% ; android +0DF5=1,set_menu_active_item_index %1d% ; android +0DF6=1,%1d% = get_menu_active_item_index ; android +1000=-1, opcode_func ; android \ No newline at end of file diff --git a/sa_mobile/opcodes.txt b/sa_mobile/opcodes.txt index 716c1ef..e23943a 100644 --- a/sa_mobile/opcodes.txt +++ b/sa_mobile/opcodes.txt @@ -1826,15 +1826,23 @@ 0DD1: 0@ = get_func_addr_by_cstr_name 0@ // android 0DD2: context_call_func 0@ // android 0DD3: context_set_reg 0 value 1@ // android -0DD4: 10@ = context_get_reg 0 // android +0DD4: 10@ = context_get_reg 0 // android 0DD5: 0@ = get_platform // android 0DD6: 0@ = get_game_version // android 0DD7: 0@ = get_image_base // android 0DD8: 6@ = read_mem_addr 0x00123456 size 4 add_ib 1 // android -0DD9: write_mem_addr 0x00123456 value 6@ size 4 add_ib 1 protect 0 // android +0DD9: write_mem_addr 0x00123456 value 6@ size 4 add_ib 1 protect 0 // android +0DDA: 2@ = get_pattern_addr_cstr 2@ index 1 // android +0DDB: get_game_ver_ex name_hash 0@ ver_hash 1@ ver_code 2@ // android 0DDC: set_mutex_var 0 to 1 // android -0DDD: 0@ = get_mutex_var 0 // android +0DDD: 0@ = get_mutex_var 0 // android +0DDE: call_func 1@ add_ib 0 'i' 0 'f' 0@ // android 0DE0: 10@ = get_touch_point_state 7 mintime 1000 // android 0DE1: 10@ = get_touch_slide_state from 4 to 6 mintime 300 maxtime 1000 // android 0DE2: 0@ = get_menu_button_state // read opcode info before using // android 0DE3: 1@ = get_menu_button_pressed mintime 500 // read opcode info before using // android +0DF2: create_menu 0@ items 30 // android +0DF3: delete_menu // android +0DF4: 10@ = get_menu_touched_item_index maxtime 1000 // android +0DF5: set_menu_active_item_index 11@ // android +0DF6: 12@ = get_menu_active_item_index // android diff --git a/vc_mobile/VCSCM.CLEO.ini b/vc_mobile/VCSCM.CLEO.ini index 1bc5b48..78f57a1 100644 --- a/vc_mobile/VCSCM.CLEO.ini +++ b/vc_mobile/VCSCM.CLEO.ini @@ -10,9 +10,18 @@ 0DD7=1,%1d% = get_image_base ; android 0DD8=4,%1d% = read_mem_addr %2d% size %3d% add_ib %4d% ; android 0DD9=5,write_mem_addr %1d% value %2d% size %3d% add_ib %4d% protect %5d% ; android +0DDA=3,%1d% = get_pattern_addr_cstr %2d% index %3d% ; android +0DDB=3,get_game_ver_ex name_hash %1d% ver_hash %2d% ver_code %3d% ; android 0DDC=2,set_mutex_var %1d% to %2d% ; android 0DDD=2,%1d% = get_mutex_var %2d% ; android +0DDE=-1, call_func %1d% add_ib %2d% ; android 0DE0=3,%1d% = get_touch_point_state %2d% mintime %3d% ; android 0DE1=5,%1d% = get_touch_slide_state from %2d% to %3d% mintime %4d% maxtime %5d% ; android 0DE2=1,%1d% = get_menu_button_state ; read opcode info before using ; android -0DE3=2,%1d% = get_menu_button_pressed mintime %2d% ; read opcode info before using ; android \ No newline at end of file +0DE3=2,%1d% = get_menu_button_pressed mintime %2d% ; read opcode info before using ; android +0DF2=2,create_menu %1d% items %2d% ; android +0DF3=0,delete_menu ; android +0DF4=2,%1d% = get_menu_touched_item_index maxtime %2d% ; android +0DF5=1,set_menu_active_item_index %1d% ; android +0DF6=1,%1d% = get_menu_active_item_index ; android +1000=-1, opcode_func ; android \ No newline at end of file diff --git a/vc_mobile/opcodes.txt b/vc_mobile/opcodes.txt index d1bb80c..1874396 100644 --- a/vc_mobile/opcodes.txt +++ b/vc_mobile/opcodes.txt @@ -968,10 +968,18 @@ 0DD6: 0@ = get_game_version // android 0DD7: 0@ = get_image_base // android 0DD8: 6@ = read_mem_addr 0x00123456 size 4 add_ib 1 // android -0DD9: write_mem_addr 0x00123456 value 6@ size 4 add_ib 1 protect 0 // android +0DD9: write_mem_addr 0x00123456 value 6@ size 4 add_ib 1 protect 0 // android +0DDA: 2@ = get_pattern_addr_cstr 2@ index 1 // android +0DDB: get_game_ver_ex name_hash 0@ ver_hash 1@ ver_code 2@ // android 0DDC: set_mutex_var 0 to 1 // android -0DDD: 0@ = get_mutex_var 0 // android +0DDD: 0@ = get_mutex_var 0 // android +0DDE: call_func 1@ add_ib 0 'i' 0 'f' 0@ // android 0DE0: 10@ = get_touch_point_state 7 mintime 1000 // android 0DE1: 10@ = get_touch_slide_state from 4 to 6 mintime 300 maxtime 1000 // android 0DE2: 0@ = get_menu_button_state // read opcode info before using // android 0DE3: 1@ = get_menu_button_pressed mintime 500 // read opcode info before using // android +0DF2: create_menu 0@ items 30 // android +0DF3: delete_menu // android +0DF4: 10@ = get_menu_touched_item_index maxtime 1000 // android +0DF5: set_menu_active_item_index 11@ // android +0DF6: 12@ = get_menu_active_item_index // android From fa7b32c7409a11d90802c787f38efc512bcad9ff Mon Sep 17 00:00:00 2001 From: XMDS <2841824304@qq.com> Date: Tue, 1 Jul 2025 21:26:49 +0800 Subject: [PATCH 2/3] update gta3 android opcodes --- gta3/SCM.INI | 29 ++++++++++++++++++++++++++++- gta3/opcodes.txt | 26 +++++++++++++++++++++++++- 2 files changed, 53 insertions(+), 2 deletions(-) diff --git a/gta3/SCM.INI b/gta3/SCM.INI index a461b9f..acefc25 100644 --- a/gta3/SCM.INI +++ b/gta3/SCM.INI @@ -1343,4 +1343,31 @@ DATE=2021-11-11 ; CLEO 2.0 MemoryModule.cleo 0BA2=2,%2h% = memory_load_library %1s% 0BA3=1,memory_free_library %1h% -0BA4=3,%3d% = memory_get_proc_address %1s% library %2d% \ No newline at end of file +0BA4=3,%3d% = memory_get_proc_address %1s% library %2d% + +; Android CLEO opcodes +0DD0=2,%1d% = get_label_addr %2p% ; android +0DD1=2,%1d% = get_func_addr_by_cstr_name %2d% ; android +0DD2=1,context_call_func %1d% ; android +0DD3=2,context_set_reg %1d% value %2d% ; android +0DD4=2,%1d% = context_get_reg %2d% ; android +0DD5=1,%1d% = get_platform ; android +0DD6=1,%1d% = get_game_version ; android +0DD7=1,%1d% = get_image_base ; android +0DD8=4,%1d% = read_mem_addr %2d% size %3d% add_ib %4d% ; android +0DD9=5,write_mem_addr %1d% value %2d% size %3d% add_ib %4d% protect %5d% ; android +0DDA=3,%1d% = get_pattern_addr_cstr %2d% index %3d% ; android +0DDB=3,get_game_ver_ex name_hash %1d% ver_hash %2d% ver_code %3d% ; android +0DDC=2,set_mutex_var %1d% to %2d% ; android +0DDD=2,%1d% = get_mutex_var %2d% ; android +0DDE=-1, call_func %1d% add_ib %2d% ; android +0DE0=3,%1d% = get_touch_point_state %2d% mintime %3d% ; android +0DE1=5,%1d% = get_touch_slide_state from %2d% to %3d% mintime %4d% maxtime %5d% ; android +0DE2=1,%1d% = get_menu_button_state ; read opcode info before using ; android +0DE3=2,%1d% = get_menu_button_pressed mintime %2d% ; read opcode info before using ; android +0DF2=2,create_menu %1d% items %2d% ; android +0DF3=0,delete_menu ; android +0DF4=2,%1d% = get_menu_touched_item_index maxtime %2d% ; android +0DF5=1,set_menu_active_item_index %1d% ; android +0DF6=1,%1d% = get_menu_active_item_index ; android +1000=-1, opcode_func ; android diff --git a/gta3/opcodes.txt b/gta3/opcodes.txt index b5db346..5f4bcdf 100644 --- a/gta3/opcodes.txt +++ b/gta3/opcodes.txt @@ -900,4 +900,28 @@ 0B21: write_clipboard_data_from 0@ size 64 0BA2: 15@ = memory_load_library 15@ // IF and SET 0BA4: 10@ = memory_get_proc_address "?SetPointers@@YAXPAM000@Z" library 15@ // IF and SET -0BA3: memory_free_library 15@ \ No newline at end of file +0BA3: memory_free_library 15@ +0DD0: 0@ = get_label_addr @func // android +0DD1: 0@ = get_func_addr_by_cstr_name 0@ // android +0DD2: context_call_func 0@ // android +0DD3: context_set_reg 0 value 1@ // android +0DD4: 10@ = context_get_reg 0 // android +0DD5: 0@ = get_platform // android +0DD6: 0@ = get_game_version // android +0DD7: 0@ = get_image_base // android +0DD8: 6@ = read_mem_addr 0x00123456 size 4 add_ib 1 // android +0DD9: write_mem_addr 0x00123456 value 6@ size 4 add_ib 1 protect 0 // android +0DDA: 2@ = get_pattern_addr_cstr 2@ index 1 // android +0DDB: get_game_ver_ex name_hash 0@ ver_hash 1@ ver_code 2@ // android +0DDC: set_mutex_var 0 to 1 // android +0DDD: 0@ = get_mutex_var 0 // android +0DDE: call_func 1@ add_ib 0 'i' 0 'f' 0@ // android +0DE0: 10@ = get_touch_point_state 7 mintime 1000 // android +0DE1: 10@ = get_touch_slide_state from 4 to 6 mintime 300 maxtime 1000 // android +0DE2: 0@ = get_menu_button_state // read opcode info before using // android +0DE3: 1@ = get_menu_button_pressed mintime 500 // read opcode info before using // android +0DF2: create_menu 0@ items 30 // android +0DF3: delete_menu // android +0DF4: 10@ = get_menu_touched_item_index maxtime 1000 // android +0DF5: set_menu_active_item_index 11@ // android +0DF6: 12@ = get_menu_active_item_index // android From ee1461f00d12c515491afe1e84ab962734814655 Mon Sep 17 00:00:00 2001 From: XMDS <2841824304@qq.com> Date: Tue, 1 Jul 2025 21:45:43 +0800 Subject: [PATCH 3/3] update lcs keywords --- lcs/keywords.txt | 18 ++++++++++++++++-- lcs_mobile/keywords.txt | 20 ++++++++++++++++++++ 2 files changed, 36 insertions(+), 2 deletions(-) create mode 100644 lcs_mobile/keywords.txt diff --git a/lcs/keywords.txt b/lcs/keywords.txt index 36adc05..acd6946 100644 --- a/lcs/keywords.txt +++ b/lcs/keywords.txt @@ -1,6 +1,20 @@ 0001=wait +0002=goto 0002=jump -004D=jf +0003=shake_camera +004d=else_jump +004d=jf +004e=end_thread +004e=terminate_this_script +004f=create_thread +004f=start_new_script 0050=gosub 0051=return -00DB=if \ No newline at end of file +00db=if +03a9=thread +03a9=script_name +016f=fade +0170=fading +01bb=set_weather +00dc=create_thread_wb +00dd=mission_cleanup \ No newline at end of file diff --git a/lcs_mobile/keywords.txt b/lcs_mobile/keywords.txt new file mode 100644 index 0000000..acd6946 --- /dev/null +++ b/lcs_mobile/keywords.txt @@ -0,0 +1,20 @@ +0001=wait +0002=goto +0002=jump +0003=shake_camera +004d=else_jump +004d=jf +004e=end_thread +004e=terminate_this_script +004f=create_thread +004f=start_new_script +0050=gosub +0051=return +00db=if +03a9=thread +03a9=script_name +016f=fade +0170=fading +01bb=set_weather +00dc=create_thread_wb +00dd=mission_cleanup \ No newline at end of file