Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 0000: NOP
- thread "supremeVision"
- if
- 8AF7: get_samp_base_to 0@
- then
- 0A93: end_custom_thread
- end
- repeat
- wait 400
- until 0AFA: is_samp_structures_available
- :Auto_Turn_On
- wait 0
- 4@ = 0
- 0AB1: @RUN_CLEO 1 AT LINE @1
- if
- 0AAB: file_exists "CLEO\supremeVisionSettings.ini"
- then
- 0AF0: 4@ = get_int_from_ini_file "CLEO\supremeVisionSettings.ini" section "Settings" key "AutoTurnOn"
- if 4@ == 1
- then
- 0AF8: samp add_message_to_chat "supremeVision is {00CC00}Enabled {F7F694}[Switch: /supremevision]" color 0xF7F694
- 31@ = 1
- 0B34: samp register_client_command "supremevision" to_label @Activate
- jump @First
- else
- 0AF8: samp add_message_to_chat "supremeVision is {FF4800}Disabled {F7F694}[Switch: /supremevision]" color 0xF7F694
- 31@ = 0
- 0B34: samp register_client_command "supremevision" to_label @Activate
- jump @First
- end
- end
- jump @Auto_Turn_On
- :First
- wait 0
- if 31@ == 1
- jf @First
- if
- 0118: actor $PLAYER_ACTOR dead
- then
- 31@ = 1
- jump @First
- end
- if
- key_down 13
- then
- 31@ = 1
- jump @First
- end
- if or
- 031D: actor $PLAYER_ACTOR hit_by_weapon 28
- 031D: actor $PLAYER_ACTOR hit_by_weapon 29
- 031D: actor $PLAYER_ACTOR hit_by_weapon 32
- 031D: actor $PLAYER_ACTOR hit_by_weapon 30
- 031D: actor $PLAYER_ACTOR hit_by_weapon 31
- 031D: actor $PLAYER_ACTOR hit_by_weapon 24
- 031D: actor $PLAYER_ACTOR hit_by_weapon 26
- then
- 0AB1: call_scm_func @PlayerActor_to_var 1 Actor handle $PLAYER_ACTOR Variable 1@
- jump @B
- else
- for 30@ = 0 to 300
- if
- SAMP.IsPlayerConnected(30@)
- then
- if
- 1@ = SAMP.GetActorHandleByPlayerID(30@)
- then
- if
- key_down 13
- then
- 31@ = 1
- jump @First
- end
- if and
- 056D: actor $PLAYER_ACTOR defined
- 056D: actor 1@ defined
- then
- if or
- 031D: actor 1@ hit_by_weapon 28
- 031D: actor 1@ hit_by_weapon 29
- 031D: actor 1@ hit_by_weapon 32
- 031D: actor 1@ hit_by_weapon 30
- 031D: actor 1@ hit_by_weapon 31
- 031D: actor 1@ hit_by_weapon 24
- 031D: actor 1@ hit_by_weapon 26
- then
- 00A0: store_actor $PLAYER_ACTOR position_to 11@ 12@ 13@
- 00A0: store_actor 1@ position_to 14@ 15@ 16@
- 050A: 17@ = distance_between_XYZ 11@ 12@ 13@ and_XYZ 14@ 15@ 16@
- if
- 0033: 132.00 >= 17@ //check if the distance is not too high
- then
- jump @B
- end
- end
- else
- 31@ = 1
- jump @First
- end
- end
- end
- end
- end
- 31@ = 1
- jump @First
- :B
- wait 0
- for 31@ = 0 to 300
- if
- SAMP.IsPlayerConnected(31@)
- then
- if
- 0@ = SAMP.GetActorHandleByPlayerID(31@)
- then
- if
- key_down 13
- then
- 31@ = 1
- jump @First
- end
- if
- 051A: actor 1@ damaged_by_actor 0@
- then
- if and
- 056D: actor $PLAYER_ACTOR defined
- 056D: actor 1@ defined
- 056D: actor 0@ defined
- then
- if or
- 0118: actor $PLAYER_ACTOR dead
- 0118: actor 1@ dead
- 0118: actor 0@ dead
- then
- 31@ = 1
- jump @First
- else
- 00A0: store_actor $PLAYER_ACTOR position_to 11@ 12@ 13@
- 00A0: store_actor 0@ position_to 14@ 15@ 16@
- 050A: 17@ = distance_between_XYZ 11@ 12@ 13@ and_XYZ 14@ 15@ 16@
- if
- 0033: 132.00 >= 17@ //check if the distance is not too high
- then
- 0B2B: samp 31@ = get_player_id_by_actor_handle 0@
- 0B36: samp 2@ = get_player_nickname 31@
- jump @Second
- end
- end
- else
- 31@ = 1
- jump @First
- end
- end
- end
- end
- end
- 31@ = 1
- jump @First
- :Second
- wait 0
- 054E: clear_actor 1@ damage
- 0467: clear_actor 0@ last_weapon_damage
- 0470: 20@ = actor 0@ current_weapon
- if
- 02D8: actor 0@ current_weapon == 31 //m4
- then
- 29@ = 170 //m4's shotrate - 1bullet per 130ms
- //29@ = 2000 //fake delay to test
- 5@ = 8 //number of shots needed to detect
- 3@ = 34.900 //distance needed to detect
- 06D2: 24@v = "M4"
- end
- if
- 02D8: actor 0@ current_weapon == 30 //ak47
- then
- 29@ = 177 //ak47 shotrate - 1bullet per 137ms
- //29@ = 2000 //fake delay to test
- 5@ = 6 //number of shots needed to detect
- 3@ = 23.070 //distance needed to detect
- 06D2: 24@v = "AK47"
- end
- if
- 02D8: actor 0@ current_weapon == 28 //uzi
- then
- 29@ = 167 //uzi shotrate - 1bullet per 127ms
- //29@ = 2000 //fake delay to test
- 5@ = 4 //number of shots needed to detect
- 3@ = 14.84 //distance needed to detect
- 06D2: 24@v = "Uzi"
- end
- if
- 02D8: actor 0@ current_weapon == 32 //tec
- then
- 29@ = 167 //tec shotrate - 1bullet per 127ms
- //29@ = 2000 //fake delay to test
- 5@ = 4 //number of shots needed to detect
- 3@ = 12.950 //distance needed to detect
- 06D2: 24@v = "TEC"
- end
- if
- 02D8: actor 0@ current_weapon == 24 //deagle
- then
- 29@ = 740 //deagle shotrate 1bullet per 720ms
- //29@ = 2000 //fake delay to test
- 5@ = 4 //number of shots needed to detect
- 3@ = 27.880 //distance needed to detect
- 06D2: 24@v = "Deagle"
- end
- //if
- //02D8: actor 0@ current_weapon == 26 //sawn
- //then
- //29@ = 310 //sawn shotrate 1bullet per 310/1670
- //29@ = 2000 //fake delay to test
- //5@ = 1 //number of shots needed to detect
- //3@ = 0.100 //distance needed to detect
- //06D2: 24@v = "Sawn"
- //end
- if
- 02D8: actor 0@ current_weapon == 29 //mp5
- then
- 29@ = 147 //mp5 shotrate - 1bullet per 107ms
- //29@ = 2000 //fake delay to test
- 5@ = 5 //number of shots needed to detect
- 3@ = 22.510 //distance needed to detect
- 06D2: 24@v = "MP5"
- end
- //0AF8: samp add_message_to_chat "%d - 5@ value initial" color 0xFF4800 5@
- if 02A0: actor 1@ stopped
- then
- 22@ = 0
- else
- 22@ = 1
- end
- if 02A0: actor 0@ stopped
- then
- if
- 0597: actor 0@ crouching
- then
- 28@ = 0 //if enemy crouching
- 27@ = 0
- 26@ = 1
- else
- 28@ = 1 //if enemy standing still
- 27@ = 0
- 26@ = 0
- end
- else
- 28@ = 0 //if enemy moving
- 27@ = 1
- 26@ = 0
- end
- 30@ = 1 //number of hits
- gosub @Get_distance //17@ = distance, float
- 0007: 18@ = 0.0
- 005B: 18@ += 17@
- repeat
- wait 0
- 33@ = 0
- repeat
- wait 0
- if and
- 056D: actor $PLAYER_ACTOR defined
- 056D: actor 1@ defined
- 056D: actor 0@ defined
- then
- if or
- 002D: 33@ >= 29@ //time check to make sure there is no stop between shooting 29@ = each weapons shootrate +40ms
- 0118: actor $PLAYER_ACTOR dead //to avoid bugs
- 0118: actor 0@ dead //to avoid bugs
- 0118: actor 1@ dead //to avoid bugs
- then
- 31@ = 1
- jump @First
- end
- else
- 31@ = 1
- jump @First
- end
- until 051A: actor 1@ damaged_by_actor 0@
- //0AF8: samp add_message_to_chat "%d - %s speedrate, first repeat loop" color 0xFF4800 33@ 24@v
- //0AF8: samp add_message_to_chat "%d - 30@ value first repeat loop" color 0xFF4800 30@
- //0AF8: samp add_message_to_chat "%d - 5@ value first repeat loop" color 0xFF4800 5@
- 0470: 21@ = actor 0@ current_weapon
- if
- 003B: 20@ == 21@ // check if the weapon remains the same
- then
- wait 0
- else
- 054E: clear_actor 1@ damage
- 0467: clear_actor 0@ last_weapon_damage
- //0AF8: samp add_message_to_chat "Weapon has been changed" color 0xFF4800
- 31@ = 1
- jump @First
- end
- if 02A0: actor 1@ stopped
- then
- wait 0
- else
- 22@ += 1
- end
- if
- 02A0: actor 0@ stopped
- then
- if
- 0597: actor 0@ crouching
- then
- 26@ += 1 //if enemy crouching
- else
- 28@ += 1 //if enemy standing still
- end
- else
- 27@ += 1 //if enemy moving
- end
- 30@ += 1
- gosub @Get_distance //17@ = distance, float
- 005B: 18@ += 17@ //total distance
- 054E: clear_actor 1@ damage
- 0467: clear_actor 0@ last_weapon_damage
- until 002D: 30@ >= 5@ // 5@ = specific number of bullets hit in a row by specific weapon needed to start detection
- //0AF8: samp add_message_to_chat "--went to the second repeat loop--" color 0xFF4800
- repeat
- wait 0
- 33@ = 0
- repeat
- wait 0
- if and
- 056D: actor $PLAYER_ACTOR defined
- 056D: actor 1@ defined
- 056D: actor 0@ defined
- then
- if or
- 002D: 33@ >= 29@ //time check to make sure there is no stop between shooting 29@ = each weapons shootrate +40ms
- 0118: actor $PLAYER_ACTOR dead //to avoid bugs
- 0118: actor 0@ dead //to avoid bugs
- 0118: actor 1@ dead //to avoid bugs
- then
- jump @Third
- end
- else
- jump @Third
- end
- until 051A: actor 1@ damaged_by_actor 0@
- //0AF8: samp add_message_to_chat "%d - %s speedrate, second repeat loop" color 0xFF4800 33@ 24@v
- 0470: 21@ = actor 0@ current_weapon
- if
- 003B: 20@ == 21@ // check if the weapon remains the same
- then
- wait 0
- else
- 054E: clear_actor 1@ damage
- 0467: clear_actor 0@ last_weapon_damage
- 0AF8: samp add_message_to_chat "Weapon has been changed after %d hits" color 0xFF4800 30@
- jump @Third
- end
- if 02A0: actor 1@ stopped
- then
- wait 0
- else
- 22@ += 1
- end
- if
- 02A0: actor 0@ stopped
- then
- if
- 0597: actor 0@ crouching
- then
- 26@ += 1 //if enemy crouching
- else
- 28@ += 1 //if enemy standing still
- end
- else
- 27@ += 1 //if enemy moving
- end
- 30@ += 1
- gosub @Get_distance //17@ = distance, float
- //0AF8: samp add_message_to_chat "%d shot distance of actors - 17@ = %f Second repeat" color 0xF7F694 30@ 17@
- 005B: 18@ += 17@ //total distance
- 054E: clear_actor 1@ damage
- 0467: clear_actor 0@ last_weapon_damage
- until 002D: 33@ >= 29@ //time check to make sure there is no stop between shooting 29@ = each weapons shootrate +40ms
- :Third
- wait 0
- 0093: 19@ = integer 30@ to_float
- 0073: 18@ /= 19@ // total distance divided by number of hits
- if
- 0035: 3@ >= 18@ //if average distance between my char and enemy is lower than specific weapon distance then cancel the detection, 3@ = specific distance for each weapon
- then
- 18@ = 0.0
- 31@ = 1
- jump @First
- end
- 0AED: 18@v = float 18@ to_string_format "%.4g"
- 0AED: 3@v = float 3@ to_string_format "%.4g"
- 0B37: samp 29@ = get_player_color 31@
- 0B2B: samp 4@ = get_player_id_by_actor_handle 1@ //4@ = victim ID
- 0B36: samp 6@ = get_player_nickname 4@ //6@ = victim nickname
- 0B37: samp 21@ = get_player_color 4@
- 0AF8: samp add_message_to_chat "%s(%d) {F7F694}- victim [{00CC00}Green rectangle{F7F694}]" color 21@ 6@ 4@
- 0AF8: samp add_message_to_chat "%s(%d) {F7F694}- suspect [{FF4800}Red rectangle{F7F694}]" color 29@ 2@ 31@
- 0AF8: samp add_message_to_chat "%d {F7F694}shots in a row using {FF4800}%s" color 0xFF4800 30@ 24@v
- 0AF8: samp add_message_to_chat "{F7F694}Average distance - {FF4800}%s meters" color 0xFF4800 18@v
- 0AF8: samp add_message_to_chat "%d {F7F694}- while standing still" color 0xFF4800 28@
- 0AF8: samp add_message_to_chat "%d {F7F694}- while moving" color 0xFF4800 27@
- 0AF8: samp add_message_to_chat "%d {F7F694}- while crouching" color 0xFF4800 26@
- 0AF8: samp add_message_to_chat "Victim was moving during {FF4800}%d {F7F694}shots" color 0xF7F694 22@
- 0AF8: samp add_message_to_chat "%s limit: %d hits in a row from %s meters distance while standing still" color 0xF7F694 24@v 5@ 3@v
- 26@ = 0
- 0AD4: 26@ = scan_string 18@v format "%f" 18@ //IF and SET
- if and
- 056D: actor $PLAYER_ACTOR defined
- 056D: actor 1@ defined
- 056D: actor 0@ defined
- then
- 0AB1: call_scm_func @name_letters_number 1 Actor handle 1@ Number_store_to 22@
- 0AB1: call_scm_func @name_letters_number 1 Actor handle 0@ Number_store_to 26@
- if and
- 002B: 15 >= 22@
- 002B: 15 >= 26@
- then
- 0AB1: call_scm_func @get_2th_4th_6th_8th_letter 1 Actor handle 1@ Letters 4@ 2@ 31@ 30@
- 0AB1: call_scm_func @code_2th_4th_6th_8th_letter 4 Letters_input 4@ 2@ 31@ 30@ Individual_name_code_store_to 27@
- 0AB1: call_scm_func @get_2th_4th_6th_8th_letter 1 Actor handle 0@ Letters 4@ 2@ 31@ 30@
- 0AB1: call_scm_func @code_2th_4th_6th_8th_letter 4 Letters_input 4@ 2@ 31@ 30@ Individual_name_code_store_to 28@
- else
- if and
- 0029: 22@ >= 16
- 002B: 15 >= 26@
- then
- 0AB1: call_scm_func @code_letters_number 1 Number 22@ Individual_number_code 27@
- 0AB1: call_scm_func @get_2th_4th_6th_8th_letter 1 Actor handle 0@ Letters 4@ 2@ 31@ 30@
- 0AB1: call_scm_func @code_2th_4th_6th_8th_letter 4 Letters_input 4@ 2@ 31@ 30@ Individual_name_code_store_to 28@
- else
- if and
- 0029: 26@ >= 16
- 002B: 15 >= 22@
- then
- 0AB1: call_scm_func @code_letters_number 1 Number 26@ Individual_number_code 28@
- 0AB1: call_scm_func @get_2th_4th_6th_8th_letter 1 Actor handle 1@ Letters 4@ 2@ 31@ 30@
- 0AB1: call_scm_func @code_2th_4th_6th_8th_letter 4 Letters_input 4@ 2@ 31@ 30@ Individual_name_code_store_to 27@
- else
- if and
- 0029: 22@ >= 16
- 0029: 26@ >= 16
- then
- 0AB1: call_scm_func @code_letters_number 1 Number 22@ Individual_number_code 27@
- 0AB1: call_scm_func @code_letters_number 1 Number 26@ Individual_number_code 28@
- end
- end
- end
- end
- else //if not defined
- 0AF8: samp add_message_to_chat "Anticheat error - unable to calculate Authenticity code" color 0xFF4800
- 0AF8: samp add_message_to_chat "Reason: One of the detected players is out of range" color 0xFF4800
- 0AF8: samp add_message_to_chat "Reason: Probably died, TP-ed, logged out or crashed" color 0xFF4800
- 31@ = 1
- jump @First
- end
- 0AB1: call_scm_func @code_distance 1 Distance 18@ Distance_code 18@
- 0093: 27@ = integer 27@ to_float
- 006B: 27@ *= 18@ // (float)
- 0092: 27@ = float 27@ to_integer
- 005A: 27@ += 28@ // (int)
- 0AF8: samp add_message_to_chat "Authenticity code: %X" color 0xF7F694 27@
- 31@ = 1
- 30@ = 0
- 2@ = 0
- 4@ = 0
- 18@ = 0.0
- //0AF8: samp add_message_to_chat "%s %s %s" color 0xFF4800 6@ 2@ 30@
- if and
- 056D: actor 0@ defined //to avoid bugs
- 056D: actor 1@ defined //to avoid bugs
- 056D: actor $PLAYER_ACTOR defined //to avoid bugs
- then
- gosub @TP_to_case
- jump @SS_system
- else
- 0AF8: samp add_message_to_chat "Anticheat error - unable to make SS" color 0xFF4800
- 0AF8: samp add_message_to_chat "Reason: One of the detected players is out of range" color 0xFF4800
- 0AF8: samp add_message_to_chat "Reason: Probably died, TP-ed, logged out or crashed" color 0xFF4800
- 31@ = 1
- jump @First
- end
- //at this point variables are basically reset, everything needed was already displayed so I can use them again
- :TP_to_case
- wait 0
- 31@ = 0
- 00A0: store_actor $PLAYER_ACTOR position_to 3@ 18@ 19@ //3@ 18@ 19@ Original position
- 00A0: store_actor 1@ position_to 11@ 12@ 13@
- 00A0: store_actor 0@ position_to 14@ 15@ 16@
- 0AB1: call_scm_func @Is_coord_legit 3 XYZ 3@ 18@ 19@ store_result_to 31@ //check my coords
- if 31@ == 1
- then
- 0AB1: call_scm_func @Is_coord_legit 3 XYZ 11@ 12@ 13@ store_result_to 31@ //check victim's coords
- if 31@ == 1
- then
- 0AB1: call_scm_func @Is_coord_legit 3 XYZ 14@ 15@ 16@ store_result_to 31@ //check suspect's coords
- if 31@ == 1
- then
- 050A: 17@ = distance_between_XYZ 3@ 18@ 19@ and_XYZ 11@ 12@ 13@
- 050A: 7@ = distance_between_XYZ 3@ 18@ 19@ and_XYZ 14@ 15@ 16@
- else
- 0AF8: samp add_message_to_chat "Anticheat error - unable to make SS" color 0xFF4800
- 0AF8: samp add_message_to_chat "Reason: one of the suspect's coordinates is out of range" color 0xFF4800
- //0AF8: samp add_message_to_chat "Anticheat bug - 7@ = %f Distance me/suspect" color 0xF7F694 7@
- 0AF8: samp add_message_to_chat "Anticheat error - 14@ = %f Suspect's X axis" color 0xF7F694 14@
- 0AF8: samp add_message_to_chat "Anticheat error - 15@ = %f Suspect's Y axis" color 0xF7F694 15@
- 0AF8: samp add_message_to_chat "Anticheat error - 16@ = %f Suspect's Z axis" color 0xF7F694 16@
- 31@ = 1
- jump @First
- end
- else
- 0AF8: samp add_message_to_chat "Anticheat error - unable to make SS" color 0xFF4800
- 0AF8: samp add_message_to_chat "Reason: one of the victim's coordinates is out of range" color 0xFF4800
- //0AF8: samp add_message_to_chat "Anticheat bug - 17@ = %f Distance me/victim" color 0xF7F694 17@
- 0AF8: samp add_message_to_chat "Anticheat error - 11@ = %f Victim's X axis" color 0xF7F694 11@
- 0AF8: samp add_message_to_chat "Anticheat error - 12@ = %f Victim's Y axis" color 0xF7F694 12@
- 0AF8: samp add_message_to_chat "Anticheat error - 13@ = %f Victim's Z axis" color 0xF7F694 13@
- 31@ = 1
- jump @First
- end
- else
- 0AF8: samp add_message_to_chat "Anticheat error - unable to make SS" color 0xFF4800
- 0AF8: samp add_message_to_chat "Reason: one of my character's coordinates is out of range" color 0xFF4800
- //0AF8: samp add_message_to_chat "Anticheat bug - 17@ = %f Distance me/victim" color 0xF7F694 17@
- 0AF8: samp add_message_to_chat "Anticheat error - 3@ = %f My X axis" color 0xF7F694 3@
- 0AF8: samp add_message_to_chat "Anticheat error - 18@ = %f My Y axis" color 0xF7F694 18@
- 0AF8: samp add_message_to_chat "Anticheat error - 19@ = %f My Z axis" color 0xF7F694 19@
- 31@ = 1
- jump @First
- end
- //Checked if the coords are legit, not out of range
- //17@ distance between me and victim
- //7@ distance between me and suspect
- if or
- 0031: 17@ >= 250.0 //65.0 check if tp is needed
- 0031: 7@ >= 250.0 //65.0 check if tp is needed
- then
- 050A: 17@ = distance_between_XYZ 11@ 12@ 13@ and_XYZ 14@ 15@ 16@
- 0AB1: call_scm_func @Get_midpoint_function 6 First_point_coords 11@ 12@ 13@ Second_point_coords 14@ 15@ 16@ store_result_to 5@ 6@ 7@
- 000F: 7@ -= 5.0
- //gosub @Disable_data_sent
- //0AB1: call_scm_func @invisible_actor_teleport 4 Actor $PLAYER_ACTOR XYZ 5@ 6@ 7@
- //00A1: put_actor $PLAYER_ACTOR at 5@ 6@ 7@
- //04D7: set_actor $PLAYER_ACTOR locked 1
- //gosub @Enable_data_sent
- end
- return
- :SS_system
- wait 0
- 0007: 17@ = 0.0 //reset to avoid potential bug
- 00A0: store_actor 1@ position_to 11@ 12@ 13@
- 00A0: store_actor 0@ position_to 14@ 15@ 16@
- 050A: 17@ = distance_between_XYZ 11@ 12@ 13@ and_XYZ 14@ 15@ 16@
- //0AF8: samp add_message_to_chat "1st stage Distance of camera - 17@ = %f" color 0xF7F694 17@
- 000B: 17@ += 5.0
- //0AF8: samp add_message_to_chat "2nd stage Distance of camera +5 - 17@ = %f" color 0xF7F694 17@
- 0AB1: call_scm_func @Get_midpoint_function 6 First_point_coords 11@ 12@ 13@ Second_point_coords 14@ 15@ 16@ store_result_to 5@ 6@ 7@
- 0AB1: call_scm_func @getZAngleBetweenPoints 4 from_XY 11@ 12@ and_XY 14@ 15@ store_to 23@
- if
- 0031: 23@ >= 180.0
- then
- 000F: 23@ -= 90.0
- else
- 000B: 23@ += 90.0
- end
- 0007: 24@ = 30.0
- 0AB1: @RUN_CLEO 8 AT LINE @Box_Actor_Timed TIME 1000 Actor_handle 1@ RGBA 0 204 0 255 THICKNESS 2.0
- 0AB1: @RUN_CLEO 8 AT LINE @Box_Actor_Timed TIME 1000 Actor_handle 0@ RGBA 255 72 0 255 THICKNESS 2.0
- //0AF8: samp add_message_to_chat "After boxes stage, before repeat" color 0xFF4800
- 33@ = 0
- 4@ = 0
- repeat
- wait 0
- 0AB1: call_scm_func @get3DXYZInFrontOf 6 XYZ 5@ 6@ 7@ Z_Angle 23@ Y_Angle 24@ Distance 17@ Return_XYZ_To 8@ 9@ 10@
- if and
- 06BD: no_obstacles_between 8@ 9@ 10@ and 11@ 12@ 13@ solid 1 car 0 actor 0 object 1 particle 0
- 06BD: no_obstacles_between 8@ 9@ 10@ and 14@ 15@ 16@ solid 1 car 0 actor 0 object 1 particle 0
- then
- //0AF8: samp add_message_to_chat "No obstacles between 8@ 9@ 10@ and 11@ 12@ 13@" color 0xFF4800 //check bug
- //0AF8: samp add_message_to_chat "No obstacles between 8@ 9@ 10@ and 14@ 15@ 16@" color 0xFF4800 //check bug
- 4@ = 0
- 33@ = 0
- repeat
- wait 0
- 015F: set_camera_position 8@ 9@ 10@ rotation 0.0 0.0 0.0
- 0160: set_camera_point_at 5@ 6@ 7@ switchstyle 2
- if 4@ == 5
- then
- 0AB1: call @keyPress 2 key 119 time 0 //make SS
- end
- 4@ += 1
- until 33@ > 1000
- 015A: restore_camera
- 31@ = 1
- jump @First
- else //if there is no visual connection with both actors then:
- 000B: 24@ += 5.0
- if
- 0031: 23@ >= 180.0
- then
- 000F: 23@ -= 180.0
- else
- 000B: 23@ += 180.0
- end
- if
- 0031: 24@ >= 89.0
- then
- jump @SS_char
- end
- end
- if //check bug THAT'S THE PROBLEM until 33@ > 10000
- 33@ > 20000 //check bug THAT'S THE PROBLEM until 33@ > 10000
- then //check bug THAT'S THE PROBLEM until 33@ > 10000
- //0AF8: samp add_message_to_chat "33@ is over 20000, 33@ value inside repeat = %d" color 0xFF4800 33@ //check bug THAT'S THE PROBLEM until 33@ > 10000
- 33@ = 0
- end //check bug THAT'S THE PROBLEM until 33@ > 10000
- until 33@ > 10000 //check bug THAT'S THE PROBLEM until 33@ > 10000
- //0AF8: samp add_message_to_chat "After 10secs passed" color 0xFF4800 //check bug THAT'S THE PROBLEM until 33@ > 10000
- //0AF8: samp add_message_to_chat "33@ value - %d" color 0xFF4800 33@ //check bug THAT'S THE PROBLEM until 33@ > 10000
- 31@ = 1
- jump @First
- :SS_char
- wait 0
- //0AF8: samp add_message_to_chat "Entered SS_char" color 0xFF4800
- 0AB1: @RUN_CLEO 8 AT LINE @Box_Actor_Timed TIME 1000 Actor_handle 1@ RGBA 0 204 0 255 THICKNESS 2.0
- 0AB1: @RUN_CLEO 8 AT LINE @Box_Actor_Timed TIME 1000 Actor_handle 0@ RGBA 255 72 0 255 THICKNESS 2.0
- 31@ = 0
- 33@ = 0
- repeat
- wait 0
- 31@ += 1
- 00A0: store_actor 1@ position_to 11@ 12@ 13@
- 00A0: store_actor 0@ position_to 14@ 15@ 16@
- 050A: 17@ = distance_between_XYZ 11@ 12@ 13@ and_XYZ 14@ 15@ 16@
- 0AB1: call_scm_func @getZAngleBetweenPoints 4 from_XY 11@ 12@ and_XY 14@ 15@ store_to 23@
- 0AB1: call_scm_func @get3DXYZInFrontOf 6 XYZ 11@ 12@ 13@ Z_Angle 23@ Y_Angle 30.0 Distance 5.0 Return_XYZ_To 8@ 9@ 10@
- if
- 06BD: no_obstacles_between 8@ 9@ 10@ and 11@ 12@ 13@ solid 1 car 0 actor 0 object 1 particle 0
- then
- wait 0
- else
- 0AB1: call_scm_func @get3DXYZInFrontOf 6 XYZ 11@ 12@ 13@ Z_Angle 23@ Y_Angle 45.0 Distance 3.0 Return_XYZ_To 8@ 9@ 10@
- end
- 015F: set_camera_position 8@ 9@ 10@ rotation 0.0 0.0 0.0
- 0160: set_camera_point_at 14@ 15@ 16@ switchstyle 2
- //0161: 22@ = create_marker_above_car 0@ unused 0 visibility 1
- //04CE: 31@ = create_icon_marker_without_sphere 38 at 14@ 15@ 16@
- if 31@ == 1
- then
- 0AB1: call @keyPress 2 key 119 time 100
- wait 200
- end
- //0164: disable_marker 31@
- 015A: restore_camera
- until 33@ > 1000
- //00A0: store_actor $PLAYER_ACTOR position_to 11@ 12@ 13@
- //000F: 7@ -= 5.0
- //050A: 17@ = distance_between_XYZ 11@ 12@ 13@ and_XYZ 5@ 6@ 7@ //check if I tped underground before to avoid useless TP back if i didn't
- //if
- //0033: 2.0 >= 17@
- //then
- //gosub @TP_back
- //end
- 31@ = 1
- jump @First
- :TP_back
- wait 0
- gosub @Disable_data_sent
- 00A1: put_actor $PLAYER_ACTOR at 3@ 18@ 19@ //3@ 18@ 19@ Original position
- 04D7: set_actor $PLAYER_ACTOR locked 0
- gosub @Enable_data_sent
- 18@ = 0.0
- return
- :Get_distance
- wait 0
- 00A0: store_actor 1@ position_to 11@ 12@ 13@
- 00A0: store_actor 0@ position_to 14@ 15@ 16@
- 050A: 17@ = distance_between_XYZ 11@ 12@ 13@ and_XYZ 14@ 15@ 16@
- return
- :Disable_data_sent //gosub
- wait 0
- 0B2E: 26@ = read_samp_memory offset 0x41E0 size 1 //onfoot
- 0B2E: 27@ = read_samp_memory offset 0x6140 size 1 //incar
- 0B2E: 28@ = read_samp_memory offset 0x5750 size 2 //spec
- 0B2D: write_samp_memory offset 0x41E0 value 0xC3 size 1
- 0B2D: write_samp_memory offset 0x6140 value 0xC3 size 1
- 0B2D: write_samp_memory offset 0x5750 value 0xC390 size 2
- return
- :Enable_data_sent //gosub
- wait 0
- 0B2D: write_samp_memory offset 0x41E0 value 26@ size 1
- 0B2D: write_samp_memory offset 0x6140 value 27@ size 1
- 0B2D: write_samp_memory offset 0x5750 value 28@ size 2
- return
- //
- //
- //FUNCTIONS
- :invisible_actor_teleport
- //0AB1: call_scm_func @invisible_actor_teleport 4 Actor 0@ XYZ 0.0 0.0 0.0
- 0A96: 4@ = actor 0@ struct
- 4@ += 20
- 0A8D: 4@ = read_memory 4@ size 4 virtual_protect 0
- 4@ += 48 // X
- 0A8C: write_memory 4@ size 4 value 1@ virtual_protect 0 // X
- 4@ += 4 // Y
- 0A8C: write_memory 4@ size 4 value 2@ virtual_protect 0 // Y
- 4@ += 4 // Z
- 0A8C: write_memory 4@ size 4 value 3@ virtual_protect 0 // Z
- ret 0
- :Is_coord_legit
- //if 0@ == 1 then it is, if 0@ == 0 then it's not
- //0AB1: call_scm_func @Is_coord_legit 3 XYZ 0.0 0.0 0.0 store_result_to 0@
- 3@ = 0
- if or
- 0031: 0@ >= 0.0001 //to avoid bug
- 0033: -0.0001 >= 0@ //to avoid bug
- then
- 3@ += 1
- if and
- 0033: 2999.9999 >= 0@ //to avoid bug
- 0031: 0@ >= -2999.9999 //to avoid bug
- then
- 3@ += 1
- if or
- 0031: 1@ >= 0.0001 //to avoid bug
- 0033: -0.0001 >= 1@ //to avoid bug
- then
- 3@ += 1
- if and
- 0033: 2999.9999 >= 1@ //to avoid bug
- 0031: 1@ >= -2999.9999 //to avoid bug
- then
- 3@ += 1
- if or
- 0031: 2@ >= 0.0001 //to avoid bug
- 0033: -0.0001 >= 2@ //to avoid bug
- then
- 3@ += 1
- if and
- 0033: 2999.9999 >= 2@ //to avoid bug
- 0031: 2@ >= -2999.9999 //to avoid bug
- then
- 3@ += 1
- end
- end
- end
- end
- end
- end
- if
- 3@ == 6
- then
- 4@ = 1
- else
- 4@ = 0
- end
- 0AB2: ret 1 4@
- :Get_midpoint_function
- //0AB1: call_scm_func @Get_midpoint_function 6 First_point_coords 0.0 0.0 0.0 Second_point_coords 0.0 0.0 0.0 store_result_to 11@ 12@ 13@
- 005B: 0@ += 3@ // (float)
- 0017: 0@ /= 2.0
- 005B: 1@ += 4@ // (float)
- 0017: 1@ /= 2.0
- 005B: 2@ += 5@ // (float)
- 0017: 2@ /= 2.0
- 0AB2: ret 3 0@ 1@ 2@
- :keyPress
- //0AB1: call @keyPress 2 key 119 time 200
- if 0AA2: 2@ = load_library "User32.dll"
- then
- if 0AA4: 2@ = get_proc_address "keybd_event" library 2@
- then
- 0AA5: call 2@ num_params 4 pop 0 0 0 0 0@
- wait 1@
- 0AA5: call 2@ num_params 4 pop 0 0 0x02 0 0@
- end
- end
- 0AB2: ret 0
- :getZAngleBetweenPoints
- //0AB1: call_scm_func @getZAngleBetweenPoints 4 from_XY 0.0 0.0 and_XY 1.0 0.0 store_to 1@
- 0063: 0@ -= 2@
- 0063: 1@ -= 3@
- 0604: get_Z_angle_for_point 0@ 1@ store_to 4@
- 0AB2: ret 1 4@
- :get3DXYZInFrontOf{X,Y,Z,ZA,YA,Distance}
- //Example: 0AB1: call_scm_func @get3DXYZInFrontOf 6 XYZ 1@ 2@ 3@ Z_Angle 4@ Y_Angle 5@ Distance 7.0 Return_XYZ_To 6@ 7@ 8@
- 3@ *= -1.0
- 02F6: 6@ = sine 3@
- 006B: 6@ *= 5@
- 005B: 0@ += 6@
- 02F7: 6@ = cosine 3@
- 006B: 6@ *= 5@
- 005B: 1@ += 6@
- 02F7: 6@ = cosine 4@
- 0073: 5@ /= 6@
- 02F6: 6@ = sine 4@
- 006B: 5@ *= 6@
- 005B: 2@ += 5@
- 0AB2: ret 3 0@ 1@ 2@
- :PlayerActor_to_var
- //0AB1: call_scm_func @PlayerActor_to_var 1 Actor handle $PLAYER_ACTOR Var 1@
- 00A0: store_actor 0@ position_to 1@ 2@ 3@
- 0AB2: ret 1 0@
- //0AB1: call_scm_func @name_letters_number 1 Actor handle 1@ Number_store_to 26@
- :name_letters_number
- 0B2B: samp 1@ = get_player_id_by_actor_handle 0@ //2@
- 0B36: samp 2@ = get_player_nickname 1@
- 0AA7: call_function 0x00826330 num_params 1 pop 1 2@ 3@
- 0AB2: ret 1 3@
- //0AB1: call_scm_func @code_letters_number 1 Number 22@ Individual_number_code 22@
- :code_letters_number
- if 0@ == 16
- then
- 1@ = 5154
- else
- if 0@ == 17
- then
- 1@ = 3488
- else
- if 0@ == 18
- then
- 1@ = 2915
- else
- if 0@ == 19
- then
- 1@ = 1221
- else
- if 0@ == 20
- then
- 1@ = 1919
- else
- if 0@ == 21
- then
- 1@ = 6236
- else
- if 0@ == 22
- then
- 1@ = 4124
- else
- if 0@ == 23
- then
- 1@ = 5753
- else
- if 0@ == 24
- then
- 1@ = 9875
- else
- if 0@ = 25
- then
- 1@ = 2312
- else
- 1@ = 12312
- end
- end
- end
- end
- end
- end
- end
- end
- end
- end
- 0AB2: ret 1 1@
- //0AB1: call_scm_func @code_distance 1 Distance 18@ Distance_code 18@
- :code_distance
- if 0033: 1.50 >= 0@
- then
- 1@ = 5.2
- else
- if 0033: 7.75 >= 0@
- then
- 1@ = 3.1
- else
- if 0033: 12.50 >= 0@
- then
- 1@ = 2.6
- else
- if 0033: 17.50 >= 0@
- then
- 1@ = 6.7
- else
- if 0033: 22.50 >= 0@
- then
- 1@ = 1.6
- else
- if 0033: 27.50 >= 0@
- then
- 1@ = 7.9
- else
- if 0033: 32.50 >= 0@
- then
- 1@ = 2.1
- else
- if 0033: 37.50 >= 0@
- then
- 1@ = 11.2
- else
- if 0033: 42.50 >= 0@
- then
- 1@ = 1.2
- else
- if 0033: 47.50 >= 0@
- then
- 1@ = 24.4
- else
- if 0033: 52.50 >= 0@
- then
- 1@ = 7.9
- else
- if 0033: 57.50 >= 0@
- then
- 1@ = 2.1
- else
- if 0033: 62.50 >= 0@
- then
- 1@ = 11.2
- else
- if 0033: 67.50 >= 0@
- then
- 1@ = 1.2
- else
- if 0033: 72.50 >= 0@
- then
- 1@ = 24.4
- else
- if 0033: 77.50 >= 0@
- then
- 1@ = 15.7
- else
- if 0033: 82.50 >= 0@
- then
- 1@ = 12.9
- else
- 1@ = 50.7
- end
- end
- end
- end
- end
- end
- end
- end
- end
- end
- end
- end
- end
- end
- end
- end
- end
- 006B: 0@ *= 1@
- 0017: 0@ /= 2.2
- 0AB2: ret 1 0@
- :get_2th_4th_6th_8th_letter
- //Example: 0AB1: call_scm_func @get_2th_4th_6th_8th_letter 1 Actor handle $PLAYER_ACTOR Letters 2@ 4@ 6@ 8@
- //
- 0B2B: samp 31@ = get_player_id_by_actor_handle 0@ //2@
- 0B36: samp 30@ = get_player_nickname 31@
- 0AC8: 11@ = allocate_memory 16
- 0085: 12@ = 11@
- 0A8C: write_memory 11@ size 16 value 0 virtual_protect 0
- 0AD3: 30@v = format "%s" 30@
- 0AD3: 11@ = format "%s" 30@v
- //0@ gets my name
- 0A8D: 14@ = read_memory 12@ size 16 virtual_protect 0
- 0AD3: 14@v = format "%s" 14@
- 0AC8: 13@ = allocate_memory 1
- 0AD3: 13@ = format "%c" 14@
- 12@ += 1
- 0A8D: 15@ = read_memory 12@ size 15 virtual_protect 0
- 0AD3: 15@v = format "%s" 15@
- 0AC8: 14@ = allocate_memory 1
- 0AD3: 14@ = format "%c" 15@
- 12@ += 1
- 0A8D: 16@ = read_memory 12@ size 14 virtual_protect 0
- 0AD3: 16@v = format "%s" 16@
- 0AC8: 15@ = allocate_memory 1
- 0AD3: 15@ = format "%c" 16@
- 12@ += 1
- 0A8D: 17@ = read_memory 12@ size 13 virtual_protect 0
- 0AD3: 17@v = format "%s" 17@
- 0AC8: 16@ = allocate_memory 1
- 0AD3: 16@ = format "%c" 17@
- 12@ += 1
- 0A8D: 18@ = read_memory 12@ size 12 virtual_protect 0
- 0AD3: 18@v = format "%s" 18@
- 0AC8: 17@ = allocate_memory 1
- 0AD3: 17@ = format "%c" 18@
- 12@ += 1
- 0A8D: 19@ = read_memory 12@ size 11 virtual_protect 0
- 0AD3: 19@v = format "%s" 19@
- 0AC8: 18@ = allocate_memory 1
- 0AD3: 18@ = format "%c" 19@
- 12@ += 1
- 0A8D: 20@ = read_memory 12@ size 10 virtual_protect 0
- 0AD3: 20@v = format "%s" 20@
- 0AC8: 19@ = allocate_memory 1
- 0AD3: 19@ = format "%c" 20@
- 12@ += 1
- 0A8D: 21@ = read_memory 12@ size 9 virtual_protect 0
- 0AD3: 21@v = format "%s" 21@
- 0AC8: 20@ = allocate_memory 1
- 0AD3: 20@ = format "%c" 21@
- 12@ += 1
- 0A8D: 22@ = read_memory 12@ size 8 virtual_protect 0
- 0AD3: 22@v = format "%s" 22@
- 0AC8: 21@ = allocate_memory 1
- 0AD3: 21@ = format "%c" 22@
- 12@ += 1
- 0A8D: 23@ = read_memory 12@ size 7 virtual_protect 0
- 0AD3: 23@v = format "%s" 23@
- 0AC8: 22@ = allocate_memory 1
- 0AD3: 22@ = format "%c" 23@
- 12@ += 1
- 0A8D: 24@ = read_memory 12@ size 6 virtual_protect 0
- 0AD3: 24@v = format "%s" 24@
- 0AC8: 23@ = allocate_memory 1
- 0AD3: 23@ = format "%c" 24@
- 12@ += 1
- 0A8D: 25@ = read_memory 12@ size 5 virtual_protect 0
- 0AD3: 25@v = format "%s" 25@
- 0AC8: 24@ = allocate_memory 1
- 0AD3: 24@ = format "%c" 25@
- 0AC9: free_allocated_memory 11@
- 0AB2: ret 4 14@ 16@ 18@ 20@ //1st=13@ 2nd=14@ 3rd=15@ 4th=16@ 5th=17@ 6th=18@ 7th=19@ 8th=20@ 9th=21@ 10th=22@ 11th=23@ 12th=24@
- :code_2th_4th_6th_8th_letter
- //0AB1: call_scm_func @code_2th_4th_6th_8th_letter 4 Letters_input 1@ 2@ 3@ 4@ Individual_name_code_store_to 5@
- //SECOND LETTER
- 06D2: 24@v = "z"
- 06D2: 26@v = "u"
- 06D2: 27@v = "p"
- 06D2: 28@v = "k"
- 06D2: 29@v = "f"
- 06D2: 30@v = "a"
- if or
- 0C18: 31@ = strstr string1 0@ string2 24@v
- 0C18: 31@ = strstr string1 0@ string2 26@v
- 0C18: 31@ = strstr string1 0@ string2 27@v
- 0C18: 31@ = strstr string1 0@ string2 28@v
- 0C18: 31@ = strstr string1 0@ string2 29@v
- 0C18: 31@ = strstr string1 0@ string2 30@v
- then
- //first letter code output for a,f,k,p,u,z
- 5@ = 18
- else
- 06D2: 24@v = "_"
- 06D2: 26@v = "v"
- 06D2: 27@v = "q"
- 06D2: 28@v = "l"
- 06D2: 29@v = "g"
- 06D2: 30@v = "b"
- if or
- 0C18: 31@ = strstr string1 0@ string2 24@v
- 0C18: 31@ = strstr string1 0@ string2 26@v
- 0C18: 31@ = strstr string1 0@ string2 27@v
- 0C18: 31@ = strstr string1 0@ string2 28@v
- 0C18: 31@ = strstr string1 0@ string2 29@v
- 0C18: 31@ = strstr string1 0@ string2 30@v
- then
- //first letter code output for b,g,l,q,v,_
- 5@ = 14
- else
- 06D2: 26@v = "c"
- 06D2: 27@v = "h"
- 06D2: 28@v = "m"
- 06D2: 29@v = "r"
- 06D2: 30@v = "w"
- if or
- 0C18: 31@ = strstr string1 0@ string2 26@v
- 0C18: 31@ = strstr string1 0@ string2 27@v
- 0C18: 31@ = strstr string1 0@ string2 28@v
- 0C18: 31@ = strstr string1 0@ string2 29@v
- 0C18: 31@ = strstr string1 0@ string2 30@v
- then
- //first letter code output for c,h,m,r,w
- 5@ = 32
- else
- 06D2: 26@v = "d"
- 06D2: 27@v = "i"
- 06D2: 28@v = "n"
- 06D2: 29@v = "t"
- 06D2: 30@v = "x"
- if or
- 0C18: 31@ = strstr string1 0@ string2 26@v
- 0C18: 31@ = strstr string1 0@ string2 27@v
- 0C18: 31@ = strstr string1 0@ string2 28@v
- 0C18: 31@ = strstr string1 0@ string2 29@v
- 0C18: 31@ = strstr string1 0@ string2 30@v
- then
- //first letter code output for d,i,n,t,x
- 5@ = 62
- else
- 06D2: 26@v = "e"
- 06D2: 27@v = "j"
- 06D2: 28@v = "o"
- 06D2: 29@v = "u"
- 06D2: 30@v = "y"
- if or
- 0C18: 31@ = strstr string1 0@ string2 26@v
- 0C18: 31@ = strstr string1 0@ string2 27@v
- 0C18: 31@ = strstr string1 0@ string2 28@v
- 0C18: 31@ = strstr string1 0@ string2 29@v
- 0C18: 31@ = strstr string1 0@ string2 30@v
- then
- //first letter code output for e,j,o,u,y
- 5@ = 44
- else
- //first letter code output for capital letter or any other letter/number
- 5@ = 67
- end
- end
- end
- end
- end
- //FOURTH LETTER
- 06D2: 24@v = "a"
- 06D2: 26@v = "f"
- 06D2: 27@v = "k"
- 06D2: 28@v = "p"
- 06D2: 29@v = "u"
- 06D2: 30@v = "z"
- if or
- 0C18: 31@ = strstr string1 1@ string2 24@v
- 0C18: 31@ = strstr string1 1@ string2 26@v
- 0C18: 31@ = strstr string1 1@ string2 27@v
- 0C18: 31@ = strstr string1 1@ string2 28@v
- 0C18: 31@ = strstr string1 1@ string2 29@v
- 0C18: 31@ = strstr string1 1@ string2 30@v
- then
- //first letter code output for a,f,k,p,u,z
- 6@ = 43
- else
- 06D2: 24@v = "b"
- 06D2: 26@v = "g"
- 06D2: 27@v = "l"
- 06D2: 28@v = "q"
- 06D2: 29@v = "v"
- 06D2: 30@v = "_"
- if or
- 0C18: 31@ = strstr string1 1@ string2 24@v
- 0C18: 31@ = strstr string1 1@ string2 26@v
- 0C18: 31@ = strstr string1 1@ string2 27@v
- 0C18: 31@ = strstr string1 1@ string2 28@v
- 0C18: 31@ = strstr string1 1@ string2 29@v
- 0C18: 31@ = strstr string1 1@ string2 30@v
- then
- //first letter code output for b,g,l,q,v,_
- 6@ = 76
- else
- 06D2: 26@v = "c"
- 06D2: 27@v = "h"
- 06D2: 28@v = "m"
- 06D2: 29@v = "r"
- 06D2: 30@v = "w"
- if or
- 0C18: 31@ = strstr string1 1@ string2 26@v
- 0C18: 31@ = strstr string1 1@ string2 27@v
- 0C18: 31@ = strstr string1 1@ string2 28@v
- 0C18: 31@ = strstr string1 1@ string2 29@v
- 0C18: 31@ = strstr string1 1@ string2 30@v
- then
- //first letter code output for c,h,m,r,w
- 6@ = 86
- else
- 06D2: 26@v = "d"
- 06D2: 27@v = "i"
- 06D2: 28@v = "n"
- 06D2: 29@v = "t"
- 06D2: 30@v = "x"
- if or
- 0C18: 31@ = strstr string1 1@ string2 26@v
- 0C18: 31@ = strstr string1 1@ string2 27@v
- 0C18: 31@ = strstr string1 1@ string2 28@v
- 0C18: 31@ = strstr string1 1@ string2 29@v
- 0C18: 31@ = strstr string1 1@ string2 30@v
- then
- //first letter code output for d,i,n,t,x
- 6@ = 81
- else
- 06D2: 26@v = "e"
- 06D2: 27@v = "j"
- 06D2: 28@v = "o"
- 06D2: 29@v = "u"
- 06D2: 30@v = "y"
- if or
- 0C18: 31@ = strstr string1 1@ string2 26@v
- 0C18: 31@ = strstr string1 1@ string2 27@v
- 0C18: 31@ = strstr string1 1@ string2 28@v
- 0C18: 31@ = strstr string1 1@ string2 29@v
- 0C18: 31@ = strstr string1 1@ string2 30@v
- then
- //first letter code output for e,j,o,u,y
- 6@ = 84
- else
- //first letter code output for capital letter or any other letter/number
- 6@ = 29
- end
- end
- end
- end
- end
- //SIXTH LETTER
- 06D2: 24@v = "a"
- 06D2: 26@v = "f"
- 06D2: 27@v = "k"
- 06D2: 28@v = "p"
- 06D2: 29@v = "u"
- 06D2: 30@v = "z"
- if or
- 0C18: 31@ = strstr string1 2@ string2 24@v
- 0C18: 31@ = strstr string1 2@ string2 26@v
- 0C18: 31@ = strstr string1 2@ string2 27@v
- 0C18: 31@ = strstr string1 2@ string2 28@v
- 0C18: 31@ = strstr string1 2@ string2 29@v
- 0C18: 31@ = strstr string1 2@ string2 30@v
- then
- //first letter code output for a,f,k,p,u,z
- 7@ = 5
- else
- 06D2: 24@v = "b"
- 06D2: 26@v = "g"
- 06D2: 27@v = "l"
- 06D2: 28@v = "q"
- 06D2: 29@v = "v"
- 06D2: 30@v = "_"
- if or
- 0C18: 31@ = strstr string1 2@ string2 24@v
- 0C18: 31@ = strstr string1 2@ string2 26@v
- 0C18: 31@ = strstr string1 2@ string2 27@v
- 0C18: 31@ = strstr string1 2@ string2 28@v
- 0C18: 31@ = strstr string1 2@ string2 29@v
- 0C18: 31@ = strstr string1 2@ string2 30@v
- then
- //first letter code output for b,g,l,q,v,_
- 7@ = 65
- else
- 06D2: 26@v = "c"
- 06D2: 27@v = "h"
- 06D2: 28@v = "m"
- 06D2: 29@v = "r"
- 06D2: 30@v = "w"
- if or
- 0C18: 31@ = strstr string1 2@ string2 26@v
- 0C18: 31@ = strstr string1 2@ string2 27@v
- 0C18: 31@ = strstr string1 2@ string2 28@v
- 0C18: 31@ = strstr string1 2@ string2 29@v
- 0C18: 31@ = strstr string1 2@ string2 30@v
- then
- //first letter code output for c,h,m,r,w
- 7@ = 87
- else
- 06D2: 26@v = "d"
- 06D2: 27@v = "i"
- 06D2: 28@v = "n"
- 06D2: 29@v = "t"
- 06D2: 30@v = "x"
- if or
- 0C18: 31@ = strstr string1 2@ string2 26@v
- 0C18: 31@ = strstr string1 2@ string2 27@v
- 0C18: 31@ = strstr string1 2@ string2 28@v
- 0C18: 31@ = strstr string1 2@ string2 29@v
- 0C18: 31@ = strstr string1 2@ string2 30@v
- then
- //first letter code output for d,i,n,t,x
- 7@ = 52
- else
- 06D2: 26@v = "e"
- 06D2: 27@v = "j"
- 06D2: 28@v = "o"
- 06D2: 29@v = "u"
- 06D2: 30@v = "y"
- if or
- 0C18: 31@ = strstr string1 2@ string2 26@v
- 0C18: 31@ = strstr string1 2@ string2 27@v
- 0C18: 31@ = strstr string1 2@ string2 28@v
- 0C18: 31@ = strstr string1 2@ string2 29@v
- 0C18: 31@ = strstr string1 2@ string2 30@v
- then
- //first letter code output for e,j,o,u,y
- 7@ = 10
- else
- //first letter code output for capital letter or any other letter/number
- 7@ = 90
- end
- end
- end
- end
- end
- //EIGHTH LETTER
- 06D2: 24@v = "a"
- 06D2: 26@v = "f"
- 06D2: 27@v = "k"
- 06D2: 28@v = "p"
- 06D2: 29@v = "u"
- 06D2: 30@v = "z"
- if or
- 0C18: 31@ = strstr string1 3@ string2 24@v
- 0C18: 31@ = strstr string1 3@ string2 26@v
- 0C18: 31@ = strstr string1 3@ string2 27@v
- 0C18: 31@ = strstr string1 3@ string2 28@v
- 0C18: 31@ = strstr string1 3@ string2 29@v
- 0C18: 31@ = strstr string1 3@ string2 30@v
- then
- //first letter code output for a,f,k,p,u,z
- 8@ = 57
- else
- 06D2: 24@v = "b"
- 06D2: 26@v = "g"
- 06D2: 27@v = "l"
- 06D2: 28@v = "q"
- 06D2: 29@v = "v"
- 06D2: 30@v = "_"
- if or
- 0C18: 31@ = strstr string1 3@ string2 24@v
- 0C18: 31@ = strstr string1 3@ string2 26@v
- 0C18: 31@ = strstr string1 3@ string2 27@v
- 0C18: 31@ = strstr string1 3@ string2 28@v
- 0C18: 31@ = strstr string1 3@ string2 29@v
- 0C18: 31@ = strstr string1 3@ string2 30@v
- then
- //first letter code output for b,g,l,q,v,_
- 8@ = 35
- else
- 06D2: 26@v = "c"
- 06D2: 27@v = "h"
- 06D2: 28@v = "m"
- 06D2: 29@v = "r"
- 06D2: 30@v = "w"
- if or
- 0C18: 31@ = strstr string1 3@ string2 26@v
- 0C18: 31@ = strstr string1 3@ string2 27@v
- 0C18: 31@ = strstr string1 3@ string2 28@v
- 0C18: 31@ = strstr string1 3@ string2 29@v
- 0C18: 31@ = strstr string1 3@ string2 30@v
- then
- //first letter code output for c,h,m,r,w
- 8@ = 88
- else
- 06D2: 26@v = "d"
- 06D2: 27@v = "i"
- 06D2: 28@v = "n"
- 06D2: 29@v = "t"
- 06D2: 30@v = "x"
- if or
- 0C18: 31@ = strstr string1 3@ string2 26@v
- 0C18: 31@ = strstr string1 3@ string2 27@v
- 0C18: 31@ = strstr string1 3@ string2 28@v
- 0C18: 31@ = strstr string1 3@ string2 29@v
- 0C18: 31@ = strstr string1 3@ string2 30@v
- then
- //first letter code output for d,i,n,t,x
- 8@ = 2
- else
- 06D2: 26@v = "e"
- 06D2: 27@v = "j"
- 06D2: 28@v = "o"
- 06D2: 29@v = "u"
- 06D2: 30@v = "y"
- if or
- 0C18: 31@ = strstr string1 3@ string2 26@v
- 0C18: 31@ = strstr string1 3@ string2 27@v
- 0C18: 31@ = strstr string1 3@ string2 28@v
- 0C18: 31@ = strstr string1 3@ string2 29@v
- 0C18: 31@ = strstr string1 3@ string2 30@v
- then
- //first letter code output for e,j,o,u,y
- 8@ = 9
- else
- //first letter code output for capital letter or any other letter/number
- 8@ = 48
- end
- end
- end
- end
- end
- 006A: 5@ *= 6@
- 006A: 5@ *= 7@
- 0072: 5@ /= 8@
- 0AB2: ret 1 5@
- //0AB1: @RUN_CLEO 8 AT LINE @Box_Actor_Timed TIME 1000 Actor_handle $PLAYER_ACTOR RGBA 0 204 0 255 THICKNESS 2.0
- :Box_Actor_Timed
- 0000:
- 32@ = 0 // TIMER,
- repeat
- wait 0
- 0AB1: @Box_Actor 6 Actor_handle 1@ Red 2@ Green 3@ Blue 4@ Alpha 5@ Thickness 6@
- until 001D: 32@ > 0@
- 004E: END_THIS_THREAD
- 0A93: END_THIS_THREAD
- //0AB1: @Box_Actor 6 Actor_handle 1@ Red 2@ Green 3@ Blue 4@ Alpha 5@ Thickness 6@
- //0AB1: @Box_Actor 6 Actor_handle 1@ Red 2@ Green 3@ Blue 4@ Alpha 5@ Thickness 6@
- :Box_Actor
- 00A0: store_actor 0@ position_to 11@ 12@ 13@
- 068D: get_camera_position_to 21@ 22@ 23@
- 050A: 24@ = distance_between_XYZ 11@ 12@ 13@ and_XYZ 21@ 22@ 23@
- 25@ = 800.0
- 26@ = 1050.0
- 0073: 25@ /= 24@ // (float)
- 0073: 26@ /= 24@
- 0AB1: call_scm_func @getScreenXYFrom3DCoords 3 3D_coords_X 11@ Y 12@ Z 13@ store_screen_X_to 14@ Y_to 15@
- 0AB1: @DRAW_OUTLINED_BOX 9 POS 14@ 15@ SIZE 25@ 26@ RGBA 1@ 2@ 3@ 4@ THICKNESS 5@
- 0AB2: ret 0
- //0AB1: @DRAW_OUTLINED_BOX 9 POS 300.0 300.0 SIZE 50.0 50.0 RGBA 255 0 0 255 THICKNESS 0.5
- :DRAW_OUTLINED_BOX
- 0087: 14@ = 8@ // (float)
- 0087: 12@ = 2@ // (float)
- 0087: 13@ = 3@ // (float)
- 12@ /= 2.0 // (float)
- 13@ /= 2.0 // (float)
- 0087: 8@ = 0@ // (float)
- 005B: 8@ += 2@ // (float)
- 0063: 8@ -= 12@ // (float)
- 0087: 9@ = 0@ // (float)
- 0063: 9@ -= 2@ // (float)
- 005B: 9@ += 12@ // (float)
- 0087: 10@ = 1@ // (float)
- 005B: 10@ += 3@ // (float)
- 0063: 10@ -= 13@ // (float)
- 0087: 11@ = 1@ // (float) by OpcodeXe
- 0063: 11@ -= 3@ // (float)
- 005B: 11@ += 13@ // (float)
- 03F0: enable_text_draw 1
- 038E: draw_box_position 8@ 1@ size 14@ 3@ RGBA 4@ 5@ 6@ 7@ // links
- 038E: draw_box_position 9@ 1@ size 14@ 3@ RGBA 4@ 5@ 6@ 7@ // rechts
- 038E: draw_box_position 0@ 10@ size 2@ 14@ RGBA 4@ 5@ 6@ 7@ // oben
- 038E: draw_box_position 0@ 11@ size 2@ 14@ RGBA 4@ 5@ 6@ 7@ // unten
- 0AB2: ret 0
- //0AB1: @RUN_CLEO 8 AT LINE @Box_Actor_Timed TIME 1000 Actor_handle 1@ RGBA 0 204 0 255 THICKNESS 2.0
- :RUN_CLEO
- 0A9F: 32@ = current_thread_pointer
- 000A: 32@ += 0x10
- 0A8D: 32@ = read_memory 32@ size 4 virtual_protect 0
- 0062: 32@ -= 0@
- 0AA7: call_function 0x464C20 num_params 1 pop 1 32@ 33@
- 005A: 32@ += 0@
- 000A: 33@ += 0x10
- 0A8C: write_memory 33@ size 4 value 32@ virtual_protect 0
- 000A: 33@ += 0x2C
- for 32@ = 0 to 30
- 0A8C: write_memory 33@ size 4 value 1@(32@,30i) virtual_protect 0
- 000A: 33@ += 4
- end
- 0AB2: ret 0
- //0AB1: call_scm_func @getScreenXYFrom3DCoords 3 3D_coords_X 0@ Y 1@ Z 2@ store_screen_X_to 3@ Y_to 4@
- :getScreenXYFrom3DCoords
- 0AA7: call_function 0x70CE30 num_params 6 pop 6 clipNear 1 clipFar 1 yMult 7@s xMult 6@s outVector 2@s inVector 0@s result 29@
- 0073: 2@ /= 6@
- 0073: 2@ /= 4@
- 0073: 3@ /= 7@
- 0073: 3@ /= 4@
- 2@ *= 640.0
- 3@ *= 448.0
- 0AB2: ret 2 2@ 3@
- :Activate
- wait 0
- 0B12: 31@ = 31@ XOR 1
- if 31@ == 1
- then
- 0AF8: samp add_message_to_chat "supremeVision is {00CC00}Enabled" color 0xF7F694
- else
- 0AF8: samp add_message_to_chat "supremeVision is {FF4800}Disabled" color 0xF7F694
- end
- samp.CmdRet
- /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- {:Checkcode
- wait 0
- if
- 32@ > 30000
- then
- 0AB1: @RUN_CLEO 1 AT LINE @1
- 32@ = 0
- else
- 0AF8: samp add_message_to_chat "Please allow 30 seconds between code checks due to security reasons" color 0xFF4800
- end
- samp.CmdRet()}
- :1
- 0000: NOP
- 33@ = 30000
- 0AC8: 5@ = 260
- 0AC8: 6@ = 260
- 0AC8: 7@ = 260
- 0AC8: 8@ = 260
- 0AC8: 9@ = 260
- 0AC8: 10@ = 260
- 0B34: samp register_client_command "checkcode" to_label @Checkcode
- 31@ = 0
- :2
- wait 0
- if 31@ == 0
- then
- jump @2
- end
- if 31@ == 1
- then
- 0AF8: samp add_message_to_chat "In order to check if the code is authentic follow the steps:" color 0xF7F694
- 0AF8: samp add_message_to_chat "Step 1 - Submit the name of the victim [Example: /victim Albert_Einstein]" color 0xF7F694
- 31@ = 0
- end
- if 31@ == 2
- then
- 0AF8: samp add_message_to_chat "Victim has been submitted" color 0x00CC00
- 0AF8: samp add_message_to_chat "Step 2 - Submit the name of the suspect [Example: /suspect Marcellus_Wallace]" color 0xF7F694
- 31@ = 0
- end
- if 31@ == 3
- then
- 0AF8: samp add_message_to_chat "Suspect has been submitted" color 0x00CC00
- 0AF8: samp add_message_to_chat "Step 3 - Submit the distance [Example: /distance 23.735]" color 0xF7F694
- 31@ = 0
- end
- if 31@ == 4
- then
- 0AF8: samp add_message_to_chat "Distance has been submitted" color 0x00CC00
- 0AF8: samp add_message_to_chat "Step 4 - Submit the code [Example: /code 37B66]" color 0xF7F694
- 31@ = 0
- end
- if 31@ == 5
- then
- if
- 32@ > 30000
- then
- wait 0
- else //time check, if under 30 seconds
- 31@ = 0
- 0AF8: samp add_message_to_chat "Please allow 30 seconds between code checks due to security reasons" color 0xFF4800
- jump @2
- end
- 0AF8: samp add_message_to_chat "Results:" color 0x00CC00
- 0AB1: call_scm_func @Is_name_online 1 Name 5@ Connection_status_store_to 12@ //check if the victim is online
- if
- 12@ == 0 //offline
- then
- 0AF8: samp add_message_to_chat "Submitted victim: {00CC00}%s {E0E0E0}(Offline)" color 0xF7F694 5@
- else
- if
- 12@ == 1 //online
- then
- 0AF8: samp add_message_to_chat "Submitted victim: {00CC00}%s {E0E0E0}({F7F694}Online{E0E0E0})" color 0xF7F694 5@
- end
- end
- 0AB1: call_scm_func @Is_name_online 1 Name 6@ Connection_status_store_to 12@ //check if the suspect is online
- if
- 12@ == 0 //offline
- then
- 0AF8: samp add_message_to_chat "Submitted suspect: {00CC00}%s {E0E0E0}(Offline)" color 0xF7F694 6@
- else
- if
- 12@ == 1 //online
- then
- 0AF8: samp add_message_to_chat "Submitted victim: {00CC00}%s {E0E0E0}({F7F694}Online{E0E0E0})" color 0xF7F694 6@
- end
- end
- 0AF8: samp add_message_to_chat "Submitted distance: {00CC00}%.3f meters" color 0xF7F694 7@
- 0AF8: samp add_message_to_chat "Submitted code: {00CC00}%X" color 0xF7F694 8@
- 31@ = 0
- 0AB1: call_scm_func @CHECK_CODE_name_letters_number 1 Name 5@ Number_store_to 22@
- 0AB1: call_scm_func @CHECK_CODE_name_letters_number 1 Name 6@ Number_store_to 26@
- if and
- 002B: 15 >= 22@
- 002B: 15 >= 26@
- then
- 0AB1: call_scm_func @CHECK_CODE_get_2th_4th_6th_8th_letter 1 Name 5@ Letters 4@ 2@ 31@ 30@
- 0AB1: call_scm_func @CHECK_code_2th_4th_6th_8th_letter 4 Letters_input 4@ 2@ 31@ 30@ Individual_name_code_store_to 27@
- 0AB1: call_scm_func @CHECK_CODE_get_2th_4th_6th_8th_letter 1 Name 6@ Letters 4@ 2@ 31@ 30@
- 0AB1: call_scm_func @CHECK_code_2th_4th_6th_8th_letter 4 Letters_input 4@ 2@ 31@ 30@ Individual_name_code_store_to 28@
- else
- if and
- 0029: 22@ >= 16
- 002B: 15 >= 26@
- then
- 0AB1: call_scm_func @CHECK_code_letters_number 1 Number 22@ Individual_number_code 27@
- 0AB1: call_scm_func @CHECK_CODE_get_2th_4th_6th_8th_letter 1 Name 6@ Letters 4@ 2@ 31@ 30@
- 0AB1: call_scm_func @CHECK_code_2th_4th_6th_8th_letter 4 Letters_input 4@ 2@ 31@ 30@ Individual_name_code_store_to 28@
- else
- if and
- 0029: 26@ >= 16
- 002B: 15 >= 22@
- then
- 0AB1: call_scm_func @CHECK_code_letters_number 1 Number 26@ Individual_number_code 28@
- 0AB1: call_scm_func @CHECK_CODE_get_2th_4th_6th_8th_letter 1 Name 5@ Letters 4@ 2@ 31@ 30@
- 0AB1: call_scm_func @CHECK_code_2th_4th_6th_8th_letter 4 Letters_input 4@ 2@ 31@ 30@ Individual_name_code_store_to 27@
- else
- if and
- 0029: 22@ >= 16
- 0029: 26@ >= 16
- then
- 0AB1: call_scm_func @CHECK_code_letters_number 1 Number 22@ Individual_number_code 27@
- 0AB1: call_scm_func @CHECK_code_letters_number 1 Number 26@ Individual_number_code 28@
- end
- end
- end
- end
- 0AB1: call_scm_func @CHECK_code_distance 1 Distance 7@ Distance_code 18@
- 0093: 27@ = integer 27@ to_float
- 006B: 27@ *= 18@ // (float)
- 0092: 27@ = float 27@ to_integer
- 005A: 27@ += 28@ // (int)
- if 003B: 27@ == 8@ // (int)
- then
- 0AF8: samp add_message_to_chat "The code is {00CC00}AUTHENTIC" color 0xF7F694
- 32@ = 0
- 31@ = 0
- 33@ = 30001
- 0B63: samp unregister_client_command "victim"
- 0B63: samp unregister_client_command "suspect"
- 0B63: samp unregister_client_command "distance"
- 0B63: samp unregister_client_command "code"
- else
- 0AF8: samp add_message_to_chat "The code is {FF4800}NOT AUTHENTIC" color 0xF7F694
- 32@ = 0
- 31@ = 0
- 33@ = 30001
- 0B63: samp unregister_client_command "victim"
- 0B63: samp unregister_client_command "suspect"
- 0B63: samp unregister_client_command "distance"
- 0B63: samp unregister_client_command "code"
- end
- end
- jump @2
- :Checkcode
- wait 0
- if
- 33@ > 30000
- then
- wait 0
- else //time check, if under 30 seconds
- 0AF8: samp add_message_to_chat "Please allow 30 seconds after typing incorrect password to try again" color 0xFF4800
- samp.CmdRet
- end
- 0B35: samp 29@ = get_last_command_params
- if 0AD4: $nouse = scan_string 29@ format "%s" $nouse
- then
- 0C13: strcpy destination 9@ source 29@
- else
- 0AF8: samp add_message_to_chat "Incorrect password" color 0xFF4800
- 33@ = 0
- samp.CmdRet
- end
- 06D2: 11@v = "eagle" // @v = string
- 0AD3: 10@ = format "%s" 11@v
- if
- 0C14: strcmp string1 9@ string2 10@
- then
- 31@ = 1
- 0B63: samp unregister_client_command "victim"
- 0B63: samp unregister_client_command "suspect"
- 0B63: samp unregister_client_command "distance"
- 0B63: samp unregister_client_command "code"
- 0B34: samp register_client_command "victim" to_label @victim_data
- 0B34: samp register_client_command "suspect" to_label @suspect_data
- 0B34: samp register_client_command "distance" to_label @distance_data
- 0B34: samp register_client_command "code" to_label @code_data
- else
- 33@ = 0
- 0AF8: samp add_message_to_chat "Incorrect password" color 0xFF4800
- end
- samp.CmdRet
- :victim_data
- wait 0
- 0B35: samp 29@ = get_last_command_params //5 = victim's name
- if 0AD4: $nouse = scan_string 29@ format "%s" $nouse
- then
- 0C13: strcpy destination 5@ source 29@
- 31@ = 2
- else
- 0AF8: samp add_message_to_chat "Wrong format. Make sure to type the command properly [Example: /victim Albert_Einstein]" color 0xFF4800
- 31@ = 0
- end
- samp.CmdRet
- :suspect_data
- wait 0
- 0B35: samp 29@ = get_last_command_params
- if 0AD4: $nouse = scan_string 29@ format "%s" $nouse
- then
- 0C13: strcpy destination 6@ source 29@
- 31@ = 3
- else
- 0AF8: samp add_message_to_chat "Wrong format. Make sure to type the command properly [Example: /suspect Marcellus_Wallace]" color 0xFF4800
- 31@ = 0
- end
- samp.CmdRet
- :distance_data
- wait 0
- 0B35: samp 29@ = get_last_command_params
- if 0AD4: $nouse = scan_string 29@ format "%f" 28@
- then
- 0087: 7@ = 28@ // (float)
- 31@ = 4
- else
- 0AF8: samp add_message_to_chat "Wrong format. Make sure to type the command properly [Example: /distance 23.735]" color 0xFF4800
- 31@ = 0
- end
- samp.CmdRet
- :code_data
- wait 0
- 0B35: samp 29@ = get_last_command_params
- if 0AD4: $nouse = scan_string 29@ format "%X" 28@
- then
- 0085: 8@ = 28@ // (int)
- 31@ = 5
- else
- 0AF8: samp add_message_to_chat "Wrong format. Make sure to type the command properly [Example: /code 37B66]" color 0xFF4800
- 31@ = 0
- end
- samp.CmdRet
- //0AB1: call_scm_func @Is_name_online 1 Name 0@ Connection_status_store_to 1@
- :Is_name_online
- 1@ = 0
- 0B2B: samp 3@ = get_player_id_by_actor_handle $PLAYER_ACTOR
- 0B36: samp 4@ = get_player_nickname 3@
- if
- 0C14: strcmp string1 4@ string2 0@
- then
- 1@ = 1
- 0AB2: ret 1 1@
- end
- for 3@ = 0 to 300
- if
- SAMP.IsPlayerConnected(3@)
- then
- 0B36: samp 4@ = get_player_nickname 3@
- if
- 0C14: strcmp string1 4@ string2 0@
- then
- 1@ = 1
- end
- end
- end
- 0AB2: ret 1 1@
- //0AB1: call_scm_func @CHECK_CODE_name_letters_number 1 Name 0@ Number_store_to 26@
- :CHECK_CODE_name_letters_number
- 0AA7: call_function 0x00826330 num_params 1 pop 1 0@ 3@
- 0AB2: ret 1 3@
- :CHECK_CODE_get_2th_4th_6th_8th_letter
- //0AB1: call_scm_func @CHECK_CODE_get_2th_4th_6th_8th_letter 1 Name 0@ Letters 2@ 4@ 6@ 8@
- 0AC8: 11@ = allocate_memory 16
- 0085: 12@ = 11@
- 0A8C: write_memory 11@ size 16 value 0 virtual_protect 0
- 0AD3: 30@v = format "%s" 0@
- 0AD3: 11@ = format "%s" 30@v
- //0@ gets my name
- 0A8D: 14@ = read_memory 12@ size 16 virtual_protect 0
- 0AD3: 14@v = format "%s" 14@
- 0AC8: 13@ = allocate_memory 1
- 0AD3: 13@ = format "%c" 14@
- 12@ += 1
- 0A8D: 15@ = read_memory 12@ size 15 virtual_protect 0
- 0AD3: 15@v = format "%s" 15@
- 0AC8: 14@ = allocate_memory 1
- 0AD3: 14@ = format "%c" 15@
- 12@ += 1
- 0A8D: 16@ = read_memory 12@ size 14 virtual_protect 0
- 0AD3: 16@v = format "%s" 16@
- 0AC8: 15@ = allocate_memory 1
- 0AD3: 15@ = format "%c" 16@
- 12@ += 1
- 0A8D: 17@ = read_memory 12@ size 13 virtual_protect 0
- 0AD3: 17@v = format "%s" 17@
- 0AC8: 16@ = allocate_memory 1
- 0AD3: 16@ = format "%c" 17@
- 12@ += 1
- 0A8D: 18@ = read_memory 12@ size 12 virtual_protect 0
- 0AD3: 18@v = format "%s" 18@
- 0AC8: 17@ = allocate_memory 1
- 0AD3: 17@ = format "%c" 18@
- 12@ += 1
- 0A8D: 19@ = read_memory 12@ size 11 virtual_protect 0
- 0AD3: 19@v = format "%s" 19@
- 0AC8: 18@ = allocate_memory 1
- 0AD3: 18@ = format "%c" 19@
- 12@ += 1
- 0A8D: 20@ = read_memory 12@ size 10 virtual_protect 0
- 0AD3: 20@v = format "%s" 20@
- 0AC8: 19@ = allocate_memory 1
- 0AD3: 19@ = format "%c" 20@
- 12@ += 1
- 0A8D: 21@ = read_memory 12@ size 9 virtual_protect 0
- 0AD3: 21@v = format "%s" 21@
- 0AC8: 20@ = allocate_memory 1
- 0AD3: 20@ = format "%c" 21@
- 12@ += 1
- 0A8D: 22@ = read_memory 12@ size 8 virtual_protect 0
- 0AD3: 22@v = format "%s" 22@
- 0AC8: 21@ = allocate_memory 1
- 0AD3: 21@ = format "%c" 22@
- 12@ += 1
- 0A8D: 23@ = read_memory 12@ size 7 virtual_protect 0
- 0AD3: 23@v = format "%s" 23@
- 0AC8: 22@ = allocate_memory 1
- 0AD3: 22@ = format "%c" 23@
- 12@ += 1
- 0A8D: 24@ = read_memory 12@ size 6 virtual_protect 0
- 0AD3: 24@v = format "%s" 24@
- 0AC8: 23@ = allocate_memory 1
- 0AD3: 23@ = format "%c" 24@
- 12@ += 1
- 0A8D: 25@ = read_memory 12@ size 5 virtual_protect 0
- 0AD3: 25@v = format "%s" 25@
- 0AC8: 24@ = allocate_memory 1
- 0AD3: 24@ = format "%c" 25@
- 0AC9: free_allocated_memory 11@
- 0AB2: ret 4 14@ 16@ 18@ 20@ //1st=13@ 2nd=14@ 3rd=15@ 4th=16@ 5th=17@ 6th=18@ 7th=19@ 8th=20@ 9th=21@ 10th=22@ 11th=23@ 12th=24@
- :CHECK_code_2th_4th_6th_8th_letter
- //0AB1: call_scm_func @code_2th_4th_6th_8th_letter 4 Letters_input 1@ 2@ 3@ 4@ Individual_name_code_store_to 5@
- //SECOND LETTER
- 06D2: 24@v = "z"
- 06D2: 26@v = "u"
- 06D2: 27@v = "p"
- 06D2: 28@v = "k"
- 06D2: 29@v = "f"
- 06D2: 30@v = "a"
- if or
- 0C18: 31@ = strstr string1 0@ string2 24@v
- 0C18: 31@ = strstr string1 0@ string2 26@v
- 0C18: 31@ = strstr string1 0@ string2 27@v
- 0C18: 31@ = strstr string1 0@ string2 28@v
- 0C18: 31@ = strstr string1 0@ string2 29@v
- 0C18: 31@ = strstr string1 0@ string2 30@v
- then
- //first letter code output for a,f,k,p,u,z
- 5@ = 18
- else
- 06D2: 24@v = "_"
- 06D2: 26@v = "v"
- 06D2: 27@v = "q"
- 06D2: 28@v = "l"
- 06D2: 29@v = "g"
- 06D2: 30@v = "b"
- if or
- 0C18: 31@ = strstr string1 0@ string2 24@v
- 0C18: 31@ = strstr string1 0@ string2 26@v
- 0C18: 31@ = strstr string1 0@ string2 27@v
- 0C18: 31@ = strstr string1 0@ string2 28@v
- 0C18: 31@ = strstr string1 0@ string2 29@v
- 0C18: 31@ = strstr string1 0@ string2 30@v
- then
- //first letter code output for b,g,l,q,v,_
- 5@ = 14
- else
- 06D2: 26@v = "c"
- 06D2: 27@v = "h"
- 06D2: 28@v = "m"
- 06D2: 29@v = "r"
- 06D2: 30@v = "w"
- if or
- 0C18: 31@ = strstr string1 0@ string2 26@v
- 0C18: 31@ = strstr string1 0@ string2 27@v
- 0C18: 31@ = strstr string1 0@ string2 28@v
- 0C18: 31@ = strstr string1 0@ string2 29@v
- 0C18: 31@ = strstr string1 0@ string2 30@v
- then
- //first letter code output for c,h,m,r,w
- 5@ = 32
- else
- 06D2: 26@v = "d"
- 06D2: 27@v = "i"
- 06D2: 28@v = "n"
- 06D2: 29@v = "t"
- 06D2: 30@v = "x"
- if or
- 0C18: 31@ = strstr string1 0@ string2 26@v
- 0C18: 31@ = strstr string1 0@ string2 27@v
- 0C18: 31@ = strstr string1 0@ string2 28@v
- 0C18: 31@ = strstr string1 0@ string2 29@v
- 0C18: 31@ = strstr string1 0@ string2 30@v
- then
- //first letter code output for d,i,n,t,x
- 5@ = 62
- else
- 06D2: 26@v = "e"
- 06D2: 27@v = "j"
- 06D2: 28@v = "o"
- 06D2: 29@v = "u"
- 06D2: 30@v = "y"
- if or
- 0C18: 31@ = strstr string1 0@ string2 26@v
- 0C18: 31@ = strstr string1 0@ string2 27@v
- 0C18: 31@ = strstr string1 0@ string2 28@v
- 0C18: 31@ = strstr string1 0@ string2 29@v
- 0C18: 31@ = strstr string1 0@ string2 30@v
- then
- //first letter code output for e,j,o,u,y
- 5@ = 44
- else
- //first letter code output for capital letter or any other letter/number
- 5@ = 67
- end
- end
- end
- end
- end
- //FOURTH LETTER
- 06D2: 24@v = "a"
- 06D2: 26@v = "f"
- 06D2: 27@v = "k"
- 06D2: 28@v = "p"
- 06D2: 29@v = "u"
- 06D2: 30@v = "z"
- if or
- 0C18: 31@ = strstr string1 1@ string2 24@v
- 0C18: 31@ = strstr string1 1@ string2 26@v
- 0C18: 31@ = strstr string1 1@ string2 27@v
- 0C18: 31@ = strstr string1 1@ string2 28@v
- 0C18: 31@ = strstr string1 1@ string2 29@v
- 0C18: 31@ = strstr string1 1@ string2 30@v
- then
- //first letter code output for a,f,k,p,u,z
- 6@ = 43
- else
- 06D2: 24@v = "b"
- 06D2: 26@v = "g"
- 06D2: 27@v = "l"
- 06D2: 28@v = "q"
- 06D2: 29@v = "v"
- 06D2: 30@v = "_"
- if or
- 0C18: 31@ = strstr string1 1@ string2 24@v
- 0C18: 31@ = strstr string1 1@ string2 26@v
- 0C18: 31@ = strstr string1 1@ string2 27@v
- 0C18: 31@ = strstr string1 1@ string2 28@v
- 0C18: 31@ = strstr string1 1@ string2 29@v
- 0C18: 31@ = strstr string1 1@ string2 30@v
- then
- //first letter code output for b,g,l,q,v,_
- 6@ = 76
- else
- 06D2: 26@v = "c"
- 06D2: 27@v = "h"
- 06D2: 28@v = "m"
- 06D2: 29@v = "r"
- 06D2: 30@v = "w"
- if or
- 0C18: 31@ = strstr string1 1@ string2 26@v
- 0C18: 31@ = strstr string1 1@ string2 27@v
- 0C18: 31@ = strstr string1 1@ string2 28@v
- 0C18: 31@ = strstr string1 1@ string2 29@v
- 0C18: 31@ = strstr string1 1@ string2 30@v
- then
- //first letter code output for c,h,m,r,w
- 6@ = 86
- else
- 06D2: 26@v = "d"
- 06D2: 27@v = "i"
- 06D2: 28@v = "n"
- 06D2: 29@v = "t"
- 06D2: 30@v = "x"
- if or
- 0C18: 31@ = strstr string1 1@ string2 26@v
- 0C18: 31@ = strstr string1 1@ string2 27@v
- 0C18: 31@ = strstr string1 1@ string2 28@v
- 0C18: 31@ = strstr string1 1@ string2 29@v
- 0C18: 31@ = strstr string1 1@ string2 30@v
- then
- //first letter code output for d,i,n,t,x
- 6@ = 81
- else
- 06D2: 26@v = "e"
- 06D2: 27@v = "j"
- 06D2: 28@v = "o"
- 06D2: 29@v = "u"
- 06D2: 30@v = "y"
- if or
- 0C18: 31@ = strstr string1 1@ string2 26@v
- 0C18: 31@ = strstr string1 1@ string2 27@v
- 0C18: 31@ = strstr string1 1@ string2 28@v
- 0C18: 31@ = strstr string1 1@ string2 29@v
- 0C18: 31@ = strstr string1 1@ string2 30@v
- then
- //first letter code output for e,j,o,u,y
- 6@ = 84
- else
- //first letter code output for capital letter or any other letter/number
- 6@ = 29
- end
- end
- end
- end
- end
- //SIXTH LETTER
- 06D2: 24@v = "a"
- 06D2: 26@v = "f"
- 06D2: 27@v = "k"
- 06D2: 28@v = "p"
- 06D2: 29@v = "u"
- 06D2: 30@v = "z"
- if or
- 0C18: 31@ = strstr string1 2@ string2 24@v
- 0C18: 31@ = strstr string1 2@ string2 26@v
- 0C18: 31@ = strstr string1 2@ string2 27@v
- 0C18: 31@ = strstr string1 2@ string2 28@v
- 0C18: 31@ = strstr string1 2@ string2 29@v
- 0C18: 31@ = strstr string1 2@ string2 30@v
- then
- //first letter code output for a,f,k,p,u,z
- 7@ = 5
- else
- 06D2: 24@v = "b"
- 06D2: 26@v = "g"
- 06D2: 27@v = "l"
- 06D2: 28@v = "q"
- 06D2: 29@v = "v"
- 06D2: 30@v = "_"
- if or
- 0C18: 31@ = strstr string1 2@ string2 24@v
- 0C18: 31@ = strstr string1 2@ string2 26@v
- 0C18: 31@ = strstr string1 2@ string2 27@v
- 0C18: 31@ = strstr string1 2@ string2 28@v
- 0C18: 31@ = strstr string1 2@ string2 29@v
- 0C18: 31@ = strstr string1 2@ string2 30@v
- then
- //first letter code output for b,g,l,q,v,_
- 7@ = 65
- else
- 06D2: 26@v = "c"
- 06D2: 27@v = "h"
- 06D2: 28@v = "m"
- 06D2: 29@v = "r"
- 06D2: 30@v = "w"
- if or
- 0C18: 31@ = strstr string1 2@ string2 26@v
- 0C18: 31@ = strstr string1 2@ string2 27@v
- 0C18: 31@ = strstr string1 2@ string2 28@v
- 0C18: 31@ = strstr string1 2@ string2 29@v
- 0C18: 31@ = strstr string1 2@ string2 30@v
- then
- //first letter code output for c,h,m,r,w
- 7@ = 87
- else
- 06D2: 26@v = "d"
- 06D2: 27@v = "i"
- 06D2: 28@v = "n"
- 06D2: 29@v = "t"
- 06D2: 30@v = "x"
- if or
- 0C18: 31@ = strstr string1 2@ string2 26@v
- 0C18: 31@ = strstr string1 2@ string2 27@v
- 0C18: 31@ = strstr string1 2@ string2 28@v
- 0C18: 31@ = strstr string1 2@ string2 29@v
- 0C18: 31@ = strstr string1 2@ string2 30@v
- then
- //first letter code output for d,i,n,t,x
- 7@ = 52
- else
- 06D2: 26@v = "e"
- 06D2: 27@v = "j"
- 06D2: 28@v = "o"
- 06D2: 29@v = "u"
- 06D2: 30@v = "y"
- if or
- 0C18: 31@ = strstr string1 2@ string2 26@v
- 0C18: 31@ = strstr string1 2@ string2 27@v
- 0C18: 31@ = strstr string1 2@ string2 28@v
- 0C18: 31@ = strstr string1 2@ string2 29@v
- 0C18: 31@ = strstr string1 2@ string2 30@v
- then
- //first letter code output for e,j,o,u,y
- 7@ = 10
- else
- //first letter code output for capital letter or any other letter/number
- 7@ = 90
- end
- end
- end
- end
- end
- //EIGHTH LETTER
- 06D2: 24@v = "a"
- 06D2: 26@v = "f"
- 06D2: 27@v = "k"
- 06D2: 28@v = "p"
- 06D2: 29@v = "u"
- 06D2: 30@v = "z"
- if or
- 0C18: 31@ = strstr string1 3@ string2 24@v
- 0C18: 31@ = strstr string1 3@ string2 26@v
- 0C18: 31@ = strstr string1 3@ string2 27@v
- 0C18: 31@ = strstr string1 3@ string2 28@v
- 0C18: 31@ = strstr string1 3@ string2 29@v
- 0C18: 31@ = strstr string1 3@ string2 30@v
- then
- //first letter code output for a,f,k,p,u,z
- 8@ = 57
- else
- 06D2: 24@v = "b"
- 06D2: 26@v = "g"
- 06D2: 27@v = "l"
- 06D2: 28@v = "q"
- 06D2: 29@v = "v"
- 06D2: 30@v = "_"
- if or
- 0C18: 31@ = strstr string1 3@ string2 24@v
- 0C18: 31@ = strstr string1 3@ string2 26@v
- 0C18: 31@ = strstr string1 3@ string2 27@v
- 0C18: 31@ = strstr string1 3@ string2 28@v
- 0C18: 31@ = strstr string1 3@ string2 29@v
- 0C18: 31@ = strstr string1 3@ string2 30@v
- then
- //first letter code output for b,g,l,q,v,_
- 8@ = 35
- else
- 06D2: 26@v = "c"
- 06D2: 27@v = "h"
- 06D2: 28@v = "m"
- 06D2: 29@v = "r"
- 06D2: 30@v = "w"
- if or
- 0C18: 31@ = strstr string1 3@ string2 26@v
- 0C18: 31@ = strstr string1 3@ string2 27@v
- 0C18: 31@ = strstr string1 3@ string2 28@v
- 0C18: 31@ = strstr string1 3@ string2 29@v
- 0C18: 31@ = strstr string1 3@ string2 30@v
- then
- //first letter code output for c,h,m,r,w
- 8@ = 88
- else
- 06D2: 26@v = "d"
- 06D2: 27@v = "i"
- 06D2: 28@v = "n"
- 06D2: 29@v = "t"
- 06D2: 30@v = "x"
- if or
- 0C18: 31@ = strstr string1 3@ string2 26@v
- 0C18: 31@ = strstr string1 3@ string2 27@v
- 0C18: 31@ = strstr string1 3@ string2 28@v
- 0C18: 31@ = strstr string1 3@ string2 29@v
- 0C18: 31@ = strstr string1 3@ string2 30@v
- then
- //first letter code output for d,i,n,t,x
- 8@ = 2
- else
- 06D2: 26@v = "e"
- 06D2: 27@v = "j"
- 06D2: 28@v = "o"
- 06D2: 29@v = "u"
- 06D2: 30@v = "y"
- if or
- 0C18: 31@ = strstr string1 3@ string2 26@v
- 0C18: 31@ = strstr string1 3@ string2 27@v
- 0C18: 31@ = strstr string1 3@ string2 28@v
- 0C18: 31@ = strstr string1 3@ string2 29@v
- 0C18: 31@ = strstr string1 3@ string2 30@v
- then
- //first letter code output for e,j,o,u,y
- 8@ = 9
- else
- //first letter code output for capital letter or any other letter/number
- 8@ = 48
- end
- end
- end
- end
- end
- 006A: 5@ *= 6@
- 006A: 5@ *= 7@
- 0072: 5@ /= 8@
- 0AB2: ret 1 5@
- //0AB1: call_scm_func @code_letters_number 1 Number 22@ Individual_number_code 22@
- :CHECK_code_letters_number
- if 0@ == 16
- then
- 1@ = 5154
- else
- if 0@ == 17
- then
- 1@ = 3488
- else
- if 0@ == 18
- then
- 1@ = 2915
- else
- if 0@ == 19
- then
- 1@ = 1221
- else
- if 0@ == 20
- then
- 1@ = 1919
- else
- if 0@ == 21
- then
- 1@ = 6236
- else
- if 0@ == 22
- then
- 1@ = 4124
- else
- if 0@ == 23
- then
- 1@ = 5753
- else
- if 0@ == 24
- then
- 1@ = 9875
- else
- if 0@ = 25
- then
- 1@ = 2312
- else
- 1@ = 12312
- end
- end
- end
- end
- end
- end
- end
- end
- end
- end
- 0AB2: ret 1 1@
- //0AB1: call_scm_func @code_distance 1 Distance 18@ Distance_code 18@
- :CHECK_code_distance
- if 0033: 1.50 >= 0@
- then
- 1@ = 5.2
- else
- if 0033: 7.75 >= 0@
- then
- 1@ = 3.1
- else
- if 0033: 12.50 >= 0@
- then
- 1@ = 2.6
- else
- if 0033: 17.50 >= 0@
- then
- 1@ = 6.7
- else
- if 0033: 22.50 >= 0@
- then
- 1@ = 1.6
- else
- if 0033: 27.50 >= 0@
- then
- 1@ = 7.9
- else
- if 0033: 32.50 >= 0@
- then
- 1@ = 2.1
- else
- if 0033: 37.50 >= 0@
- then
- 1@ = 11.2
- else
- if 0033: 42.50 >= 0@
- then
- 1@ = 1.2
- else
- if 0033: 47.50 >= 0@
- then
- 1@ = 24.4
- else
- if 0033: 52.50 >= 0@
- then
- 1@ = 7.9
- else
- if 0033: 57.50 >= 0@
- then
- 1@ = 2.1
- else
- if 0033: 62.50 >= 0@
- then
- 1@ = 11.2
- else
- if 0033: 67.50 >= 0@
- then
- 1@ = 1.2
- else
- if 0033: 72.50 >= 0@
- then
- 1@ = 24.4
- else
- if 0033: 77.50 >= 0@
- then
- 1@ = 15.7
- else
- if 0033: 82.50 >= 0@
- then
- 1@ = 12.9
- else
- 1@ = 50.7
- end
- end
- end
- end
- end
- end
- end
- end
- end
- end
- end
- end
- end
- end
- end
- end
- end
- 006B: 0@ *= 1@
- 0017: 0@ /= 2.2
- 0AB2: ret 1 0@
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement