{$CLEO .cs}
0000: NOP
0662: "PopandauL"
thread '$PopandauL'
if
8AF7: get_samp_base_to 33@
then
0A93: end_custom_thread
end
repeat
wait 400
until 0AFA: is_samp_structures_available
wait 0
26@ = 0
0B6D: render 0@ = create_font "Arial" height 9 flags 0x04
0AB1: call_scm_func @getNameTagDistance 0 28@
0B34: samp register_client_command "togplist" to_label @toggle
0B34: samp register_client_command "fstop" to_label @endthread
while true
wait 0
if and
26@ == 1
Player.Defined($PLAYER_ACTOR)
02CB: actor $PLAYER_ACTOR bounding_sphere_visible
then
1@ = 225
16@ = 0
0A8D: 29@ = read_memory 0xB74490 size 4 virtual_protect 0
000A: 29@ += 0x4
0A8D: 29@ = read_memory 29@ size 4 virtual_protect 0
for 30@ = 0 to 35584 step 0x100
0A8D: 31@ = read_memory 29@ size 1 virtual_protect 0
000A: 29@ += 0x1
if and
0029: 31@ >= 0x00
001B: 0x80 > 31@
then
005A: 31@ += 30@
16@ += 1
15@ = 45
0085: 17@ = 16@
17@ /= 20
17@ *= 140
005A: 15@ += 17@
if or
16@ == 20
16@ == 40
16@ == 60
16@ == 80
then
1@ = 225
end
0AB1: call_scm_func @distanceBetweenPeds 1 31@ 5@
00A0: store_actor $PLAYER_ACTOR position_to 9@ 10@ 11@
00A0: store_actor 31@ position_to 12@ 13@ 14@
0B55: convert_3D_coords 9@ 10@ 11@ to_screen 5@ 6@
0B55: convert_3D_coords 12@ 13@ 14@ to_screen 7@ 8@
if
0035: 28@ >= 5@
then
1@ += 14
0B2B: samp 2@ = get_player_id_by_actor_handle 31@
0B36: samp 3@ = get_player_nickname 2@
0B37: samp 4@ = get_player_color 2@
0B6F: render font 0@ draw_text 3@ pos 15@ 1@ color 4@
if and
02CB: actor 31@ bounding_sphere_visible
803C: $PLAYER_ACTOR == 31@
8118: actor 31@ dead
06BD: no_obstacles_between 9@ 10@ 11@ and 12@ 13@ 14@ solid 1 car 0 actor 0 object 1 particle 0
then
0B68: render draw_line_point1 5@ 6@ point2 7@ 8@ width 1 color 4@
end
end
end
end
end
end
:getNameTagDistance
0AA2: 0@ = load_library "samp.dll" // IF and SET
0@ += 2173568
0A8D: 0@ = read_memory 0@ size 4 virtual_protect 0
0@ += 981
0A8D: 0@ = read_memory 0@ size 4 virtual_protect 0
0A8E: 1@ = 0@ + 47
0A8C: write_memory 1@ size 1 value 0 virtual_protect 0
0A8E: 1@ = 0@ + 39
0A8D: 2@ = read_memory 1@ size 4 virtual_protect 0
0AB2: ret 1 2@
:distanceBetweenPeds
00A0: store_actor 0@ position_to 1@ 2@ 3@
00A0: store_actor $PLAYER_ACTOR position_to 4@ 5@ 6@
050A: 7@ = distance_between_XYZ 1@ 2@ 3@ and_XYZ 4@ 5@ 6@
0AB2: ret 1 7@
:toggle
wait 0
0B12: 26@ = 26@ XOR 1
if 26@ == 1
then
0AD1: show_formatted_text_highpriority "~w~Player List ~g~Activated~w~" time 1200
else
0AD1: show_formatted_text_highpriority "~w~Player List ~r~Deactivated~w~" time 1200
end
Samp.CmdRet()
:endthread
wait 0
0A93: end_custom_thread
Samp.CmdRet()
0000: NOP
0662: "PopandauL"
thread '$PopandauL'
if
8AF7: get_samp_base_to 33@
then
0A93: end_custom_thread
end
repeat
wait 400
until 0AFA: is_samp_structures_available
wait 0
26@ = 0
0B6D: render 0@ = create_font "Arial" height 9 flags 0x04
0AB1: call_scm_func @getNameTagDistance 0 28@
0B34: samp register_client_command "togplist" to_label @toggle
0B34: samp register_client_command "fstop" to_label @endthread
while true
wait 0
if and
26@ == 1
Player.Defined($PLAYER_ACTOR)
02CB: actor $PLAYER_ACTOR bounding_sphere_visible
then
1@ = 225
16@ = 0
0A8D: 29@ = read_memory 0xB74490 size 4 virtual_protect 0
000A: 29@ += 0x4
0A8D: 29@ = read_memory 29@ size 4 virtual_protect 0
for 30@ = 0 to 35584 step 0x100
0A8D: 31@ = read_memory 29@ size 1 virtual_protect 0
000A: 29@ += 0x1
if and
0029: 31@ >= 0x00
001B: 0x80 > 31@
then
005A: 31@ += 30@
16@ += 1
15@ = 45
0085: 17@ = 16@
17@ /= 20
17@ *= 140
005A: 15@ += 17@
if or
16@ == 20
16@ == 40
16@ == 60
16@ == 80
then
1@ = 225
end
0AB1: call_scm_func @distanceBetweenPeds 1 31@ 5@
00A0: store_actor $PLAYER_ACTOR position_to 9@ 10@ 11@
00A0: store_actor 31@ position_to 12@ 13@ 14@
0B55: convert_3D_coords 9@ 10@ 11@ to_screen 5@ 6@
0B55: convert_3D_coords 12@ 13@ 14@ to_screen 7@ 8@
if
0035: 28@ >= 5@
then
1@ += 14
0B2B: samp 2@ = get_player_id_by_actor_handle 31@
0B36: samp 3@ = get_player_nickname 2@
0B37: samp 4@ = get_player_color 2@
0B6F: render font 0@ draw_text 3@ pos 15@ 1@ color 4@
if and
02CB: actor 31@ bounding_sphere_visible
803C: $PLAYER_ACTOR == 31@
8118: actor 31@ dead
06BD: no_obstacles_between 9@ 10@ 11@ and 12@ 13@ 14@ solid 1 car 0 actor 0 object 1 particle 0
then
0B68: render draw_line_point1 5@ 6@ point2 7@ 8@ width 1 color 4@
end
end
end
end
end
end
:getNameTagDistance
0AA2: 0@ = load_library "samp.dll" // IF and SET
0@ += 2173568
0A8D: 0@ = read_memory 0@ size 4 virtual_protect 0
0@ += 981
0A8D: 0@ = read_memory 0@ size 4 virtual_protect 0
0A8E: 1@ = 0@ + 47
0A8C: write_memory 1@ size 1 value 0 virtual_protect 0
0A8E: 1@ = 0@ + 39
0A8D: 2@ = read_memory 1@ size 4 virtual_protect 0
0AB2: ret 1 2@
:distanceBetweenPeds
00A0: store_actor 0@ position_to 1@ 2@ 3@
00A0: store_actor $PLAYER_ACTOR position_to 4@ 5@ 6@
050A: 7@ = distance_between_XYZ 1@ 2@ 3@ and_XYZ 4@ 5@ 6@
0AB2: ret 1 7@
:toggle
wait 0
0B12: 26@ = 26@ XOR 1
if 26@ == 1
then
0AD1: show_formatted_text_highpriority "~w~Player List ~g~Activated~w~" time 1200
else
0AD1: show_formatted_text_highpriority "~w~Player List ~r~Deactivated~w~" time 1200
end
Samp.CmdRet()
:endthread
wait 0
0A93: end_custom_thread
Samp.CmdRet()