️ Decrypting/Safety Check CLEO/SF/ASI/DLL


Here you can send files and they will be decrypted(cleo/lua/ahk) !

CLEO / LUA / AHK files can have their encryption removed
In full / in part



The SF / ASI / DLL file will be mainly tested
It is not possible to extract code in an orderly manner from files programmed in C ++
Here you will find out if a file is safe and what it does.
 
Last edited:

SobFoX

Expert
Joined
Jul 14, 2015
Messages
1,463
Solutions
5
Reaction score
916
Location
Israel
And this, thanks
JavaScript:
{$CLEO .cs}
{$USE bitwise}
{$USE CLEO+}
{$USE newOpcodes}

write_debug "==============================================================="
write_debug "My VK: vk.com/id138101483"
write_debug "My Skype: hackes8"
write_debug "Group VK: vk.com/by_air"
write_debug "My YouTube Channel: www.youtube.com/spacebmxair"
write_debug "All rights reserved ©"
write_debug "==============================================================="

:Noname_287
wait 0
0AFA:
goto_if_false @Noname_287
0@ = 0
0B34:
040E:
hex
 66 6D 6F 70 01 76 FE FF FF E2 0B 01 BE FD FF FF
end
wait 6500
print_formatted "MopFix v4 (by AIR)~n~/fmop - Enable/Disable MopFix" time 3000
0BDE:
hex
 04 00
end
if
0B61:
goto_if_false @Noname_528
if
  0@ == 0
goto_if_false @Noname_476
0@ = 1
print_formatted "MopFix v4 (by AIR): ~G~Enable" time 1000
goto @Noname_521

:Noname_476
0@ = 0
print_formatted "MopFix v4 (by AIR): ~R~Disable" time 1000

:Noname_521
goto @Noname_576
print_formatted "MopFix v4 (by AIR): ~R~You do not spawn!" time 1000

:Noname_576
0B43:
if and
  0@ == 1
  not Actor.Driving($PLAYER_ACTOR)
goto_if_false -1396
0BE5:
hex
 04 01 03 01 00
end
if
  1@ == 207
goto_if_false -1396
0BE5:
hex
 04 00 03 02 00 F3 0B
end
  locate_char_on_foot_car_2d
  locate_char_on_foot_car_2d
imgui_text_disabled
  locate_char_on_foot_car_2d
hex
 04 41 04 02 03 03 00 0C 0C 03 02 00 04 43 04 02
 03 03 00 0C 0C 03 02 00 04 43 04 02 03 04 00 0C
 0C 03 02 00 04 27
end
  locate_char_in_car_car_2d 3@ near_car  radius 2 4@ sphere
0404:
create_swat_rope
imgui_text_disabled
  locate_char_on_foot_car_2d
hex
 04 2B 04 04
end
task_go_to_coord_any_means
if and
  3@ == 1058
  4@ == 4100
goto_if_false -1396
imgui_text_wrapped
  locate_char_on_foot_car_2d
hex
 04 01 04 02 04 00 0D 0C 03 02 00 04 03 04 02 01
 80 FF 00 00 0D 0C 03 02 00 04 05
end
  locate_char_any_means_char_3d 2 near_actor 0 radius 780@(2@,4v) 2 65408 sphere 780@(2@,4v)
hex
 04 02 04 20 0D 0C 03 02 00 04 17 04 02 04 20 0D
 0C 03 02 00 04 17 04 04 06 00 00 00 00 0D 0C 03
 02 00 04 1B
end
  locate_char_in_car_car_2d 32 near_car 780@(2@,4v) radius 4 0.0 sphere 780@(2@,4v)
0404:

nop
if or
  5@ > 0.176
  not 5@ >= -0.176
  6@ > 0.176
  not 6@ >= -0.176
goto_if_false @Noname_1192
7@ = 0
8@ = 0
if
  5@ > 0.176
goto_if_false @Noname_901
7@ = 1
5@ -= 0.176
5@ /= 33.33
goto @Noname_949

:Noname_901
if
  not 5@ >= -0.176
goto_if_false @Noname_949
7@ = 2
5@ += 0.176
5@ /= 33.33

:Noname_949
if
  6@ > 0.176
goto_if_false @Noname_1004
8@ = 1
6@ -= 0.176
6@ /= 33.33
goto @Noname_1052

:Noname_1004
if
  not 6@ >= -0.176
goto_if_false @Noname_1052
8@ = 2
6@ += 0.176
6@ /= 33.33

:Noname_1052
if
  7@ == 1
goto_if_false @Noname_1087
5@ += 0.176
goto @Noname_1115

:Noname_1087
if
  7@ == 2
goto_if_false @Noname_1115
5@ -= 0.176

:Noname_1115
7@ = 0
if
  8@ == 1
goto_if_false @Noname_1157
6@ += 0.176
goto @Noname_1185

:Noname_1157
if
  8@ == 2
goto_if_false @Noname_1185
6@ -= 0.176

:Noname_1185
8@ = 0

:Noname_1192
generate_random_float_in_range 9@ = random_float_in_ranges -0.0005 0.0005
add_float_lvar_to_float_lvar 5@ += 9@
generate_random_float_in_range 9@ = random_float_in_ranges -0.0005 0.0005
add_float_lvar_to_float_lvar 6@ += 9@
imgui_text_wrapped
  locate_char_on_foot_car_2d
hex
 04 27 04 04
end
create_swat_rope
imgui_text_wrapped
  locate_char_on_foot_car_2d
hex
 04 2B 04 04
end
task_go_to_coord_any_means
imgui_text_wrapped
  locate_char_on_foot_car_2d
hex
 04 2F 04 04
end

nop
imgui_text_wrapped
  locate_char_on_foot_car_2d
hex
 04 41 04 02 05 6A 04 0D 0C 03 02 00 04 43 04 02
 05 6A 04 0D 0C 03 02 00 04 43 04 02 01 04 80 00
 00
end
if or
  5@ > 0.1906
  not 5@ >= -0.1906
  6@ > 0.1906
  not 6@ >= -0.1906
goto_if_false -1396
print_formatted "MopFix v4 (by AIR): ~R~High Speed!!!" time 99

:Noname_1396
0BE0:
hex
 04 01 56 41 52 00 F3 02 00 00 41 63 74 69 76 65
 5F 49 6E 74 65 72 69 6F 72 00
end
 

SobFoX

Expert
Joined
Jul 14, 2015
Messages
1,463
Solutions
5
Reaction score
916
Location
Israel
descrypt pls, is crypted with hex codes
JavaScript:
{$CLEO}
{$INCLUDE SF}
0000:

repeat
wait 1337
until SAMP.Available()

if 0AAB:   file_exists "CLEO\[v2] TargetFinder_K.cs"
jf @file


alloc 9@ 256
alloc 8@ 128

chatmsg "{FFFFFF}>>{F1081C}TargetFinder v2 for Hitman loaded.{FFFFFF}<< " -1
chatmsg "{F1081C}>>{FFFFFF}Author: Kristyan [bugged.ro] {F1081C} || [/h.finder]<<" -1


0b34: "h.finder" @help
0b34: "undercover" @undercover
0b34: "gethit" @gethit
0b34: "target" @target
0b34: "cancelhit" @cancel
0b34: "rr.finder" @finder
0b34: "turn" @turn
0B34: "reload" @reload

0BE3: raknet setup_incoming_rpc_hook @on_new_chatline 

while true
    wait 0
    
    if
    22@ == 1
    then
        call @gethit_chat 2 9@ 8@ | 20@ 18@
              
        if not 20@ == -1
        then
            0085: 15@ = 20@
            say "/turn off"
            say "/find %d" 15@
            say "/undercover"
            10@ = 0
            077E: get_active_interior_to 11@
            if 11@ > 0
            then
                say "/order 1"
                say "/order 1"
                say "/order 1"
            end
            0C72: set_virtual_key 119 down true //Auto-SS F8
            wait 1
            0C72: set_virtual_key 119 down false
        end
        
        if 18@ > 0
        then
            0C5E: samp textdraw 500 delete
            0C5E: samp textdraw 600 delete
            0C5E: samp textdraw 700 delete
            0C5E: samp textdraw 800 delete
            0C5E: samp textdraw 900 delete
            0C5E: samp textdraw 950 delete
            19@ = 0
            16@ = 5
            repeat
            alloc 17@ 50
            format 17@  "Time left: ~r~%d min" 16@
            0C48: samp textdraw 1000 create 17@ pos 635.0 335.0
            0C4E: samp textdraw 1000 set_outline 1 color 0xFF000000
            0C4A: samp textdraw 1000 set_align 3
            0C4B: samp textdraw 1000 set_proportional true
            16@ -= 1
            free 17@
            wait 60000
            until 16@ == 0 
            0C5E: samp textdraw 1000 delete
            18@ = 0
        end
        22@ = 0
    end
    
      
if and
19@ == 1
16@ == 0
then 
    if and
    02D8: actor $PLAYER_ACTOR current_weapon == 34
    0B20: samp 30@ = actor_handle_by_samp_player_id 15@
    then
        if 0ab1: @distance 1 30@
        then
        0665: get_char_model 30@ store_to 24@
        0ab1: @getSkinParams 1 30@ | {x,y,w,h} 26@ 27@ 28@ 29@
        0ab1: @shoot 4 26@ 27@ 28@ 29@  | 25@
        0ab1: @player_status 1 30@
            if 25@ == 1
            then
                if not 23@ == 3
                then
                    23@ = 1
                    0C5E: samp textdraw 700 delete
                    0C5E: samp textdraw 800 delete
                end
            else
                if not 23@ == 4
                then
                    23@ = 2
                end           
            end
        else
            23@ = 0
            0C5E: samp textdraw 500 delete
            0C5E: samp textdraw 600 delete
            0C5E: samp textdraw 700 delete
            0C5E: samp textdraw 800 delete
            0C5E: samp textdraw 900 delete
        end
    end
    
    
    if and
    not Actor.Driving($PLAYER_ACTOR)
    02D8: actor $PLAYER_ACTOR current_weapon == 34
    not SAMP.ChatInputOpened()
    key_down 2
    then       
        if 10@ == 0
        then
            if 13@ == 1
            then
                01B9: set_actor $PLAYER_ACTOR armed_weapon_to 0
                printf "~r~Phone is ON!!!" 2000                                 
                23@ = 0                                                                             
                0C5E: samp textdraw 500 delete                                                           
                0C5E: samp textdraw 600 delete
                0C5E: samp textdraw 700 delete                                                                                 
                0C5E: samp textdraw 800 delete
                0C5E: samp textdraw 900 delete
                0C5E: samp textdraw 950 delete                                                   
            else
                0ab1: @nick 1 15@
                if 23@ == 1                                                                                                           
                then
                    0C48: samp textdraw 500 create "Sniper" pos 535.0 180.0
                    0C49: samp textdraw 500 set_box true color 0xffff0000 size 100.0 100.0
                    0C4C: samp textdraw 500 set_style 5
                    0C4F: samp textdraw 500 set_model 24@ rotation 0.0 0.0 0.0 zoom 1.1 veh_color 0 0
                    0C48: samp textdraw 600 create "TargetFinder" pos 585.0 275.0
                    0C4E: samp textdraw 600 set_outline 1 color 0xFF000000
                    0C4A: samp textdraw 600 set_align 2
                    0C4B: samp textdraw 600 set_proportional true
                    0C4D: samp textdraw 600 set_shadow 1 color 0xFF000000 
                    0C49: samp textdraw 600 set_box true color 0xff00ff00 size 100.0 100.0  //green
                    23@ = 3
                else
                    if 23@ == 2
                    then
                        0C48: samp textdraw 700 create "Sniper" pos 535.0 180.0
                        0C49: samp textdraw 700 set_box true color 0xffff0000 size 100.0 100.0
                        0C4C: samp textdraw 700 set_style 5
                        0C4F: samp textdraw 700 set_model 24@ rotation 0.0 0.0 0.0 zoom 1.1 veh_color 0 0
                        0C48: samp textdraw 800 create "TargetFinder" pos 585.0 275.0
                        0C4E: samp textdraw 800 set_outline 1 color 0xFF000000
                        0C4A: samp textdraw 800 set_align 2
                        0C4B: samp textdraw 800 set_proportional true
                        0C4D: samp textdraw 800 set_shadow 1 color 0xFF000000
                        0C49: samp textdraw 800 set_box true color 0xffff0000 size 100.0 100.0 //red
                        23@ = 4
                    end
                end
            end
        else
            01B9: set_actor $PLAYER_ACTOR armed_weapon_to 0
            printf "~r~Undercover!!!" 2000
            23@ = 0
            0C5E: samp textdraw 500 delete
            0C5E: samp textdraw 600 delete
            0C5E: samp textdraw 700 delete
            0C5E: samp textdraw 800 delete
            0C5E: samp textdraw 900 delete
            0C5E: samp textdraw 950 delete
        end
    else
        23@ = 0
        0C5E: samp textdraw 500 delete
        0C5E: samp textdraw 600 delete
        0C5E: samp textdraw 700 delete
        0C5E: samp textdraw 800 delete
        0C5E: samp textdraw 900 delete
    end
end     
    
END

:distance {0@-Handle}
Actor.StorePos($PLAYER_ACTOR, 29@, 30@, 31@)
Actor.StorePos(0@, 26@, 27@, 28@)
050A: 25@ = distance_between_XYZ 29@ 30@ 31@ and_XYZ 26@ 27@ 28@
0092: 25@ = float 25@ to_integer
if and
key_down 2
25@ > 100
then
    if not 25@ >= 250
    then
        alloc 24@ 50
        format 24@  "Distance: ~y~%d m" 25@
        0C48: samp textdraw 950 create 24@ pos 635.0 315.0
        free 24@
    else
        0C48: samp textdraw 950 create "Distance: ~r~Too far!!!" pos 635.0 315.0
    end
    0485:  return_true
    0C4E: samp textdraw 950 set_outline 1 color 0xFF000000
    0C4A: samp textdraw 950 set_align 3
    0C4B: samp textdraw 950 set_proportional true
else
    0C5E: samp textdraw 950 delete
    if and
    25@ < 100
    not Actor.Driving($PLAYER_ACTOR)
    then       
        0470: 24@ = actor $PLAYER_ACTOR current_weapon
        if 24@ == 34
        then
            01B9: set_actor $PLAYER_ACTOR armed_weapon_to 0
            print "~r~Target to close!!!" 1000
        end
    end
    059A:  return_false
end
ret 0
    

:gethit_chat
0B75: samp get_chat_string 99 text_to 0@ prefix_to 0 color_to 0 prefix_color_to 0
if 0C18: 0 = strstr string1 0@ string2 "You have a contract on"
then
    0AA5: call 0x8220AD num_params 4 pop 4 29@v 1@ "You have a contract on %[^(](%d)" 0@
    0B36: samp 28@ = get_player_nickname 29@
    if and
    SAMP.IsPlayerConnected(29@)
    0C14: strcmp string1 28@ string2 1@
    then
        chatmsg "{00ff00}[{F1081C}TargetFinder{00ff00}] {FFFFFF}Set on ID: %d" -1 29@
    else
        chatmsg "{00ff00}[{F1081C}TargetFinder{00ff00}] {FFFFFF}ID-ul nu a fost gasit, foloseste [/target ID] pentru setare manuala." -1
        29@ = -1
    end
else
    29@ = -1
    if 0C18: 0 = strstr string1 0@ string2 "has succesfully completed the contract"
    then
        0B75: samp get_chat_string 98 text_to 0@ prefix_to 0 color_to 0 prefix_color_to 0
        if or
        0AD4: 0 = scan_string 0@ format "Targets killed: %d/%d" 25@ 26@
        0AD4: 0 = scan_string 0@ format "Contracte efectuate: %d/%d" 25@ 26@
        then   
            printf "~g~ WELL DONE! :)" 1000   
            0C5E: samp textdraw 900 delete
        end
    end
end

ret 2 29@ 26@

:nick
31@ = SAMP.GetPlayerColor(0@)
if and
0038: $707 == 17
31@ == 0xFFCECECE
then
    0C48: samp textdraw 900 create "Player status: ~y~SLEEPING" pos 635.0 300.0
else
    if and
    0038: $707 == 19
    31@ == 0xCECECE
    then
        0C48: samp textdraw 900 create "Player status: ~y~SLEEPING" pos 635.0 300.0
    end
end
0C4E: samp textdraw 900 set_outline 1 color 0xFF000000
0C4A: samp textdraw 900 set_align 3
0C4B: samp textdraw 900 set_proportional true
ret 0


:player_status {0@-HandleP || 1@- Font}
if
044B:   actor 0@ on_foot
then
    0C48: samp textdraw 900 create "Player status: ~y~ON FOOT" pos 635.0 300.0
else
    if Actor.Driving(0@)
    then
        31@ = Actor.CurrentCar(0@)
        046C: 30@ = car 31@ driver
        if 003B: 30@ == 0@
        then 
            0C48: samp textdraw 900 create "Player status: ~y~DRIVER" pos 635.0 300.0
        else
            0C48: samp textdraw 900 create "Player status: ~y~PASSENGER" pos 635.0 300.0
        end
    else
        if Actor.Dead(0@)
        then
            0C48: samp textdraw 900 create "Player status: ~y~DEAD" pos 635.0 300.0
        end
    end
end
    0C4E: samp textdraw 900 set_outline 1 color 0xFF000000
    0C4A: samp textdraw 900 set_align 3
    0C4B: samp textdraw 900 set_proportional true
    //
ret 0

:target
if SAMP.IsCommandTyped(15@)
then
    0C1A: 15@ = atoi 15@
    if SAMP.IsPlayerConnected(15@)
    then
        if and
        20@ <= 0
        not 19@ == 0
        not 18@ > 0
        then
            chatmsg "{00ff00}[{F1081C}TargetFinder{00ff00}] {FFFFFF}Set on ID: %d" -1 15@
            say "/turn off"
            say "/undercover"
            say "/find %d" 15@
            10@ = 0
            077E: get_active_interior_to 11@
            if 11@ > 0
            then
                say "/order 1"
                say "/order 1"
                say "/order 1"
            end
            0C72: set_virtual_key 119 down true //Auto-SS F8
            0C72: set_virtual_key 119 down false
            19@ = 1
        else
            chatmsg "{00ff00}[{F1081C}TargetFinder{00ff00}] {FFFFFF}Nu poti folosi aceasta comanda acum!" -1
        end
    else
        chatmsg "{00ff00}[{F1081C}TargetFinder{00ff00}] {FFFFFF} ID-ul indicat nu exista!" -1
    end
else
    chatmsg "{efe81f}Syntax:{C0C0C0} /target <ID>" -1
end
SAMP.CmdRet()

:turn
SAMP.IsCommandTyped(14@)
if and
19@ == 1
0c14: 14@ "on"
then
    say "/turn on"
    13@ = 1
else
    if 0c14: 14@ "off"
    then
        say "/turn off"
        13@ = 0
    else
        say "/turn %s" 14@
        13@ = 0
    end
end
SAMP.CmdRet()
        
:finder
15@ = -1
20@ = -1
18@ = 0
19@ = 0
23@ = 0
0C5E: samp textdraw 500 delete
0C5E: samp textdraw 600 delete
0C5E: samp textdraw 700 delete
0C5E: samp textdraw 800 delete
0C5E: samp textdraw 900 delete
0C5E: samp textdraw 1000 delete
0C5E: samp textdraw 950 delete
chatmsg "{00ff00}[{F1081C}TargetFinder{00ff00}] {FFFFFF} Mod resetat!" -1
if not 16@ == 0
then
    16@ = 1
end
SAMP.CmdRet()

:undercover
say "/undercover"     
0B12: 10@ = 10@ XOR 1
SAMP.CmdRet()


:cancel
15@ = -1
say "/cancelhit"
20@ = -1
18@ = 0
19@ = 0
23@ = 0
0C5E: samp textdraw 500 delete
0C5E: samp textdraw 600 delete
0C5E: samp textdraw 700 delete
0C5E: samp textdraw 800 delete
0C5E: samp textdraw 900 delete
0C5E: samp textdraw 1000 delete
0C5E: samp textdraw 950 delete
if not 16@ == 0
then
    16@ = 1
end
SAMP.CmdRet() 

:gethit
if and
19@ == 1
18@ > 0
then
    chatmsg "{00ff00}[{F1081C}TargetFinder{00ff00}] {FFFFFF}Nu poti folosi aceasta comanda acum!" -1
else
say "/gethit"
say "/mycontract"
19@ = 1
end
SAMP.CmdRet()

:help
chatmsg "========{F1081C}Comenzi{FFFFFF}========" -1
chatmsg "{00ff00}[{F1081C}/gethit{00ff00}] {FFFFFF}- comanda principala" -1
chatmsg "{00ff00}[{F1081C}/target ID{00ff00}] {FFFFFF}- setare manuala daca eroarea a aparut!" -1
chatmsg "{00ff00}[{F1081C}/rr.finder{00ff00}] {FFFFFF}- resetare mod, poate fi folosita la timer" -1
chatmsg "========{F1081C}Have fun!{FFFFFF}========" -1
SAMP.CmdRet()   


:on_new_chatline
0BE5: raknet 21@ = get_hook_param PARAM_PACKETID
if 21@ == RPC_ScrClientMessage
then
22@ = 1
end
0BE0: raknet hook_ret true

:getSkinParams
//0x5E4280
0A96: 15@ = actor 0@ struct

0AC7: 16@ = var 16@ offset
0AA6: call_method 0x5E4280 struct 15@ num_params 3 pop 0 1 24 16@ // 16@ 17@ 18@ x y z
0B55: convert_3D_coords 16@ 17@ 18@ to_screen 16@ 17@
0B5F: convert_window_screen_coords 16@ 17@ to_game_screen_coords 19@ 20@ // 22

0AC7: 16@ = var 16@ offset
0AA6: call_method 0x5E4280 struct 15@ num_params 3 pop 0 1 34 16@ // 16@ 17@ 18@ x y z
0B55: convert_3D_coords 16@ 17@ 18@ to_screen 16@ 17@
0B5F: convert_window_screen_coords 16@ 17@ to_game_screen_coords 16@ 17@ // 32

0509: 21@ = distance_between_XY 16@ 17@ 19@ 20@ //21@ - ØÈÐÈÍÀ

0AC7: 16@ = var 16@ offset
0AA6: call_method 0x5E4280 struct 15@ num_params 3 pop 0 1 53 16@ // 16@ 17@ 18@ x y z
0B55: convert_3D_coords 16@ 17@ 18@ to_screen 16@ 17@
0B5F: convert_window_screen_coords 16@ 17@ to_game_screen_coords 19@ 20@ // 22

0AC7: 16@ = var 16@ offset
0AA6: call_method 0x5E4280 struct 15@ num_params 3 pop 0 1 6 16@ // 16@ 17@ 18@ x y z
0B55: convert_3D_coords 16@ 17@ 18@ to_screen 16@ 17@
0B5F: convert_window_screen_coords 16@ 17@ to_game_screen_coords 16@ 17@ // 32

0509: 22@ = distance_between_XY 16@ 17@ 19@ 20@ //22@ - ÂÛÑÎÒÀ

0AC7: 16@ = var 16@ offset
0AA6: call_method 0x5E4280 struct 15@ num_params 3 pop 0 1 3 16@ // 16@ 17@ 18@ x y z
0B55: convert_3D_coords 16@ 17@ 18@ to_screen 16@ 17@
0B5F: convert_window_screen_coords 16@ 17@ to_game_screen_coords 16@ 17@ // 32
0ab2: 4 16@ 17@ 21@ 22@

:shoot
0@ -= 320.0
1@ -= 224.0
0097: make 0@ absolute_float
0097: make 1@ absolute_float
2@ /= 2.0
3@ /= 2.0

if and
8035: 0@ <= 2@
8035: 1@ <= 3@
then
    5@ = 1
else
    5@ = 0
end
0ab2: 1 5@   

:reload
0A92: create_custom_thread "[v2] TargetFinder_K.cs"
0A93: end_custom_thread
samp.CmdRet()

:file
chatmsg "{F1081C} NU MODIFICA NUMELE DE LA MOD OMULE. Salutari de la TargetFinder!!!" -1
chatmsg "{F1081C} NU MODIFICA NUMELE DE LA MOD OMULE. Salutari de la TargetFinder!!!" -1
chatmsg "{F1081C} NU MODIFICA NUMELE DE LA MOD OMULE. Salutari de la TargetFinder!!!" -1
chatmsg "{F1081C} MOD OPRIT" -1
0A93: end_custom_thread
 

0x73616D

Active member
Joined
Apr 18, 2021
Messages
135
Solutions
1
Reaction score
68
Location
0x73616D
descrypt pls
C#:
{$USE CLEO+}

nop

:Noname_2
  not SAMP.Available
goto_if_false @Noname_22
wait 0
goto @Noname_2

:Noname_22
0B34: samp register_client_command "kldmg" to_label @Noname_368
0B34: samp register_client_command "kldmgr" to_label @Noname_380

:Noname_51
wait 0
if
  31@ == 1
goto_if_false @Noname_280
0@ = 0

:Noname_80
0@ = SAMP.GetActorHandleByPlayerID(11@)
29@ = SAMP.GetPlayerColor(0@)
if and
  does_char_exist 11@
  not Actor.Dead(11@)
8B5C:   not samp is_player 0@ paused
goto_if_false @Noname_258
Actor.StorePos($PLAYER_ACTOR, 20@, 21@, 22@)
Actor.StorePos(11@, 23@, 24@, 25@)
get_distance_between_coords_3d 26@ = distance_between_XYZ 20@ 21@ 22@ and_XYZ 23@ 24@ 25@
if
  25.0 >= 26@
goto_if_false @Noname_258
cleo_call @Noname_287 4 0@ 0.0 41 3
12@ = SAMP.GetPlayerNickname(0@)
print_formatted_now "KUKOLD to %s[%d]" time 1300 12@ 0@
wait 10

:Noname_258
0@ += 1
  0@ > 1000
goto_if_false @Noname_80

:Noname_280
goto @Noname_51

:Noname_287
10@ = RakNet.NewBitStream()
RakNet.Write(10@, 0, 1, 1)
RakNet.Write(10@, 0@, 2, 2)
RakNet.Write(10@, 1@, 3, 4)
RakNet.Write(10@, 2@, 3, 4)
RakNet.Write(10@, 3@, 3, 4)
RakNet.LiteRPC(115, 10@)
RakNet.DeleteBitStream(10@)
cleo_return 0

:Noname_368
31@ = 31@ ^ 1
SAMP.CmdRet

:Noname_380
chatmsg "kukold ïåðåçàãðóæåí." color -1
stream_custom_script "kukold.cs"
terminate_this_custom_script
SAMP.CmdRet
 

Parazitas

God
Staff member
Joined
Jan 2, 2017
Messages
3,315
Solutions
7
Reaction score
935
Location
Lithuania
C#:
{$USE CLEO+}

nop

:Noname_2
  not SAMP.Available
goto_if_false @Noname_22
wait 0
goto @Noname_2

:Noname_22
0B34: samp register_client_command "kldmg" to_label @Noname_368
0B34: samp register_client_command "kldmgr" to_label @Noname_380

:Noname_51
wait 0
if
  31@ == 1
goto_if_false @Noname_280
0@ = 0

:Noname_80
0@ = SAMP.GetActorHandleByPlayerID(11@)
29@ = SAMP.GetPlayerColor(0@)
if and
  does_char_exist 11@
  not Actor.Dead(11@)
8B5C:   not samp is_player 0@ paused
goto_if_false @Noname_258
Actor.StorePos($PLAYER_ACTOR, 20@, 21@, 22@)
Actor.StorePos(11@, 23@, 24@, 25@)
get_distance_between_coords_3d 26@ = distance_between_XYZ 20@ 21@ 22@ and_XYZ 23@ 24@ 25@
if
  25.0 >= 26@
goto_if_false @Noname_258
cleo_call @Noname_287 4 0@ 0.0 41 3
12@ = SAMP.GetPlayerNickname(0@)
print_formatted_now "KUKOLD to %s[%d]" time 1300 12@ 0@
wait 10

:Noname_258
0@ += 1
  0@ > 1000
goto_if_false @Noname_80

:Noname_280
goto @Noname_51

:Noname_287
10@ = RakNet.NewBitStream()
RakNet.Write(10@, 0, 1, 1)
RakNet.Write(10@, 0@, 2, 2)
RakNet.Write(10@, 1@, 3, 4)
RakNet.Write(10@, 2@, 3, 4)
RakNet.Write(10@, 3@, 3, 4)
RakNet.LiteRPC(115, 10@)
RakNet.DeleteBitStream(10@)
cleo_return 0

:Noname_368
31@ = 31@ ^ 1
SAMP.CmdRet

:Noname_380
chatmsg "kukold ïåðåçàãðóæåí." color -1
stream_custom_script "kukold.cs"
terminate_this_custom_script
SAMP.CmdRet
Looks like this one Require SAMPFUNCS...

Here's Example without SAMPFUNCS:
PHP:
{$CLEO .cs}

0000:

REPEAT
IF 8256:   player $PLAYER_CHAR defined
THEN 0A93: end_custom_thread
END
WAIT 1500
UNTIL 0256:   player $PLAYER_CHAR defined

  
// 0AD1: "You was damaged with: %d %s" 1337 31@ 30@
/*
054E: clear_actor $PLAYER_ACTOR damage 
0467: clear_actor $PLAYER_ACTOR last_weapon_damage
*/
WHILE TRUE
WAIT 0

IF 0256:   player $PLAYER_CHAR defined
THEN
    IF 0AB1: @SAMPGetWeaponYouWereDamagedWith 0 _Returned: DamagedWithWeaponID 31@
    THEN
        IF 0AB1: @GetWeaponNameByID 1 WeaponID 31@ _Retruned: WeaponName 30@ 
        THEN
            IF 0AB1: @SAMPGetThePedThatDamagedYou 0 _Returned: PedStructThatDamagedYou 29@
            THEN
                IF 0AB1: @SAMPGetPlayerIDByActorStruct 1 _ActorStruct 29@ _Returned: ID 28@
                THEN            
                    0AB1: @GetPlayerNameByID 1 ID 28@ _Returned: Name 27@
                    0AB1: @CalculateDistanceFromPlayerStruct 1 PlayerStruct 29@ _Returned: Distance 26@
                    IF 31@ == 0 // Fist
                    THEN
                        0AC8: 0@ = allocate_memory_size 1024
                        0AD3: 0@ = format "{FFFF00}You was damaged with: {FF0000}Fist (0) {00FF00}By Player: {FFFF00}%s (%d) {0000FF}Distance: %f" 27@ 28@ 26@
                        0AB1: @Chatmsg 2 text 0@ color -1
                        0AC9: free_allocated_memory 0@
                    ELSE
                        0AC8: 0@ = allocate_memory_size 1024
                        0AD3: 0@ = format "{FFFF00}You was damaged with: {FF0000}%s (%d) {00FF00}By Player: {FFFF00}%s (%d) {0000FF}Distance: %f" 30@ 31@ 27@ 28@ 26@
                        0AB1: @Chatmsg 2 text 0@ color -1
                        0AC9: free_allocated_memory 0@ 
                    END
                    0AB1: @SAMPResetWeaponYouWereDamagedWith 0
                    0AB1: @SAMPResetThePedStructThatDamagedYou 0
                END
            END 
        END
    END
    
    IF 0AB1: @SAMPGetTargetPlayerID 0 _Returned: PlayerID 25@
    THEN
        IF 0AB1: @SAMPGetActorHandleByID 1 PlayerID 25@ _Returned: Handle 24@
        THEN
            IF 051A:   actor 24@ damaged_by_actor $PLAYER_ACTOR
            THEN
                0470: 23@ = actor $PLAYER_ACTOR current_weapon
                IF 0AB1: @GetWeaponNameByID 1 WeaponID 23@ _Retruned: WeaponName 22@ 
                THEN
                    0AB1: @GetPlayerNameByID 1 ID 25@ _Returned: Name 21@
                    0AB1: @CalculateDistanceFromPlayerHandle 1 PlayerHandle 24@ _Returned: Distance 20@
                    0AB1: @SAMPGetActorArmorByID 1 PlayerID 25@ _Returned: Armor 19@
                    0AB1: @SAMPGetActorHealthByID 1 PlayerID 25@ _Returned: Health 18@
                    IF 23@ == 0 // Fist
                    THEN
                        0AC8: 0@ = allocate_memory_size 1024
                        0AD3: 0@ = format "{FFFF00}You damaged player with: {FF0000}Fist (0) {00FF00}Player: {FFFF00}%s (%d) {0000FF}Distance: %f" 21@ 25@ 20@
                        0AB1: @Chatmsg 2 text 0@ color -1
                        0AC9: free_allocated_memory 0@
                        0AC8: 0@ = allocate_memory_size 1024
                        0AD3: 0@ = format "{FFFF00}Armour: {FF0000}%f {00FF00}Health: {FFFF00}%f" 19@ 18@
                        0AB1: @Chatmsg 2 text 0@ color -1
                        0AC9: free_allocated_memory 0@
                    ELSE
                        0AC8: 0@ = allocate_memory_size 1024
                        0AD3: 0@ = format "{FFFF00}You damaged player with: {FF0000}%s (%d) {00FF00}Player: {FFFF00}%s (%d) {0000FF}Distance: %f" 22@ 23@ 21@ 25@ 20@
                        0AB1: @Chatmsg 2 text 0@ color -1
                        0AC9: free_allocated_memory 0@
                        0AC8: 0@ = allocate_memory_size 1024
                        0AD3: 0@ = format "{FFFF00}Armour: {FF0000}%f {00FF00}Health: {FFFF00}%f" 19@ 18@
                        0AB1: @Chatmsg 2 text 0@ color -1
                        0AC9: free_allocated_memory 0@
                    END
                    0467: clear_actor 24@ last_weapon_damage
                    054E: clear_actor 24@ damage 
                END
            END
        END
    END
END                

END
                                
:SAMPGetWeaponYouWereDamagedWith
{
    0.3.7 R1
    0AB1: @SAMPGetWeaponYouWereDamagedWith 0 _Returned: DamagedWithWeaponID 0@
}
IF 0AA2: 1@ = "samp.dll"
THEN  
    1@ += 0x21A0F8 // SAMP_INFO_OFFSET
    0A8D: 1@ = readmem 1@ sz 4 vp 0
    IF 1@ > 0
    THEN
        1@ += 0x3CD // SAMP_POOLS_OFFSET
        0A8D: 1@ = readmem 1@ sz 4 vp 0
        IF 1@ > 0
        THEN
            1@ += 0x18 // SAMP_POOL_PLAYER_OFFSET
            0A8D: 1@ = readmem 1@ sz 4 vp 0
            IF 1@ > 0
            THEN
                1@ += 0x22 // SAMP_LOCAL_PLAYER_OFFSET
                0A8D: 1@ readMem 1@ sz 4 vp 0
                IF 1@ > 0
                THEN
                    1@ += 0x0 // SAMP_PED_OFFSET
                    0A8D: 1@ readMem 1@ sz 4 vp 0
                    IF 1@ > 0
                    THEN
                        1@ += 0x40 // SAMP_LOCAL_PLAYER_STRUCT_OFFSET
                        0A8D: 1@ readMem 1@ sz 4 vp 0
                        IF 1@ > 0
                        THEN
                            1@ += 0x760 // SAMP_LOCAL_PLAYER_DAMAGE_TYPE_OFFSET
                            0A8D: 1@ readMem 1@ sz 4 vp 0
                            IF NOT 1@ == 255 // NOT DAMAGED
                            THEN 0485:  return_true
                            ELSE 059A:  return_false
                            END
                        END
                    END
                END
            END
        END
    END
END
0AB2: ret 1 1@

:SAMPGetThePedThatDamagedYou
{
    0.3.7 R1
    0AB1: @SAMPGetThePedThatDamagedYou 0 _Returned: PedStructThatDamagedYou 0@
}
IF 0AA2: 1@ = "samp.dll"
THEN  
    1@ += 0x21A0F8 // SAMP_INFO_OFFSET
    0A8D: 1@ = readmem 1@ sz 4 vp 0
    IF 1@ > 0
    THEN
        1@ += 0x3CD // SAMP_POOLS_OFFSET
        0A8D: 1@ = readmem 1@ sz 4 vp 0
        IF 1@ > 0
        THEN
            1@ += 0x18 // SAMP_POOL_PLAYER_OFFSET
            0A8D: 1@ = readmem 1@ sz 4 vp 0
            IF 1@ > 0
            THEN
                1@ += 0x22 // SAMP_LOCAL_PLAYER_OFFSET
                0A8D: 1@ readMem 1@ sz 4 vp 0
                IF 1@ > 0
                THEN
                    1@ += 0x0 // SAMP_PED_OFFSET
                    0A8D: 1@ readMem 1@ sz 4 vp 0
                    IF 1@ > 0
                    THEN
                        1@ += 0x40 // SAMP_LOCAL_PLAYER_STRUCT_OFFSET
                        0A8D: 1@ readMem 1@ sz 4 vp 0
                        IF 1@ > 0
                        THEN
                            1@ += 0x764 // SAMP_LOCAL_PLAYER_DAMAGE_HANDLE_OFFSET
                            0A8D: 1@ readMem 1@ sz 4 vp 0
                            IF 1@ > 0 // NOT DAMAGED
                            THEN 0485:  return_true
                            ELSE 059A:  return_false
                            END
                        END
                    END
                END
            END
        END
    END
END
0AB2: ret 1 1@

:SAMPResetThePedStructThatDamagedYou
{
    0.3.7 R1
    0AB1: @SAMPResetThePedStructThatDamagedYou 0
}
IF 0AA2: 1@ = "samp.dll"
THEN  
    1@ += 0x21A0F8 // SAMP_INFO_OFFSET
    0A8D: 1@ = readmem 1@ sz 4 vp 0
    IF 1@ > 0
    THEN
        1@ += 0x3CD // SAMP_POOLS_OFFSET
        0A8D: 1@ = readmem 1@ sz 4 vp 0
        IF 1@ > 0
        THEN
            1@ += 0x18 // SAMP_POOL_PLAYER_OFFSET
            0A8D: 1@ = readmem 1@ sz 4 vp 0  
            IF 1@ > 0
            THEN
                1@ += 0x22 // SAMP_LOCAL_PLAYER_OFFSET
                0A8D: 1@ readMem 1@ sz 4 vp 0
                IF 1@ > 0
                THEN
                    1@ += 0x0 // SAMP_PED_OFFSET
                    0A8D: 1@ readMem 1@ sz 4 vp 0
                    IF 1@ > 0
                    THEN
                        1@ += 0x40 // SAMP_LOCAL_PLAYER_STRUCT_OFFSET
                        0A8D: 1@ readMem 1@ sz 4 vp 0
                        IF 1@ > 0
                        THEN
                            1@ += 0x764 // SAMP_LOCAL_PLAYER_DAMAGE_HANDLE_OFFSET
                            0A8C: writeMem 1@ sz 4 vl 0 vp 0
                        END
                    END
                END
            END
        END
    END
END
0AB2: ret 0       

:SAMPResetWeaponYouWereDamagedWith
{
    0.3.7 R1
    0AB1: @SAMPResetWeaponYouWereDamagedWith 0
}
IF 0AA2: 1@ = "samp.dll"
THEN  
    1@ += 0x21A0F8 // SAMP_INFO_OFFSET
    0A8D: 1@ = readmem 1@ sz 4 vp 0
    IF 1@ > 0
    THEN
        1@ += 0x3CD // SAMP_POOLS_OFFSET
        0A8D: 1@ = readmem 1@ sz 4 vp 0
        IF 1@ > 0
        THEN
            1@ += 0x18 // SAMP_POOL_PLAYER_OFFSET
            0A8D: 1@ = readmem 1@ sz 4 vp 0  
            IF 1@ > 0
            THEN
                1@ += 0x22 // SAMP_LOCAL_PLAYER_OFFSET
                0A8D: 1@ readMem 1@ sz 4 vp 0
                IF 1@ > 0
                THEN
                    1@ += 0x0 // SAMP_PED_OFFSET
                    0A8D: 1@ readMem 1@ sz 4 vp 0
                    IF 1@ > 0
                    THEN
                        1@ += 0x40 // SAMP_LOCAL_PLAYER_STRUCT_OFFSET
                        0A8D: 1@ readMem 1@ sz 4 vp 0
                        IF 1@ > 0
                        THEN
                            1@ += 0x760 // SAMP_LOCAL_PLAYER_DAMAGE_HANDLE_OFFSET
                            0A8C: writeMem 1@ sz 2 vl 255 vp 0
                        END
                    END
                END
            END
        END
    END
END
0AB2: ret 0

:GetWeaponNameByID
{
    0.3.7 R1
    0AB1: @GetWeaponNameByID 1 WeaponID 0@ _Retruned: WeaponName 1@
}
IF 0AA2: 31@ = "samp.dll"
THEN
    0A8E: 30@ = 31@ + 0x21A10C // SAMP_MISC_INFO_OFFSET
    0A8D: 30@ = readMem 30@ sz 4 vp 1
    0A8E: 29@ = 31@ + 0x9C550 // SAMP_GET_WEAPON_NAME_BY_ID
    0AA8: call_function_method 29@ struct 30@ num_params 1 pop 0 WeaponID 0@ _retVal 28@
    IF 28@ > 0
    THEN 0485:  return_true
    ELSE 059A:  return_false
    END
END
0AB2: 1 28@

:SAMPGetPlayerIDByActorStruct
{
    0.3.7 R1
    IF 0AB1: @SAMPGetPlayerIDByActorStruct 1 _ActorStruct 0@ _Returned: ID 31@
}
IF 0AA2: 31@ = loadlib "samp.dll" // GET_SAMP_BASE
THEN
    31@ += 0x21A0F8 // SAMP_INFO_OFFSET[0]
    0A8D: 31@ = read_memory 31@ size 4 virtual_protect 0 // SAMP_INFO
    IF 31@ > 0
    THEN
        31@ += 0x3CD // SAMP_POOLS_OFFSET[0]
        0A8D: 31@ = read_memory 31@ size 4 virtual_protect 0 // SAMP_POOLS_OFFSET
        IF 31@ > 0
        THEN
            31@ += 0x18 // PLAYER_POOLS_OFFSET[0]
            0A8D: 31@ = read_memory 31@ size 4 virtual_protect 0 // PLAYER_POOLS
            IF 31@ > 0
            THEN
                IF 003B: 0@ == $PLAYER_ACTOR // COMPARE_HANDLE_WHICH_WAS_GIVEN
                THEN
                    0A8E: 30@ = 31@ + 0x4 // LOCAL_PLAYER_ID_OFFSET[0]
                    0A8D: 28@ = read_memory 30@ size 2 virtual_protect 0 // LOCAL_PLAYER_ID
                    0AB2: RET 1 28@
                ELSE
                    0A8E: 29@ = 31@ + 0x0 // MAX_PLAYER_ID_STREAMED_ONLY_OFFSET[0]
                    0A8D: 29@ = read_memory 29@ size 4 virtual_protect 0 // MAX_PLAYER_ID_STREAMED_ONLY
                    FOR 28@ = 0 TO 29@ // FROM "0" TO "MAX_PLAYER_ID_STREAMED_ONLY"
                        27@ = 0x4 // SAVE VARIABLE "27@" AS DIGIT "4"
                        006A: 27@ *= 28@ // 4 * ID
                        0A8E: 26@ = 31@ + 0x2E // SAVE TO NEW "26@" VARIABLE "PLAYER_POOLS" + "REMOTE_PLAYER_OFFSET[0]"
                        005A: 26@ += 27@ // REMOTE_PLAYER_OFFSET + 4 * ID
                        0A8D: 26@ = read_memory 26@ size 4 virtual_protect 0 // REMOTE_PLAYER
                        IF 26@ > 0
                        THEN
                            26@ += 0x0 // PLAYER_DATA_OFFSET[0]
                            0A8D: 26@ = read_memory 26@ size 4 virtual_protect 0 // PLAYER_DATA
                            IF 26@ > 0
                            THEN
                                26@ += 0x0 // SAMP_ACTOR_OFFSET[0]
                                0A8D: 26@ = read_memory 26@ size 4 virtual_protect 0 // SAMP_ACTOR
                                IF 26@ > 0
                                THEN
                                    26@ += 0x40 // GTA_PED_STRUCT_OFFSET[0]
                                    0A8D: 26@ = read_memory 26@ size 4 virtual_protect 0 // GTA_PED_HANDLE
                                    IF 26@ > 0
                                    THEN
                                        IF 003B: 0@ == 26@ // COMPARE_HANDLE_WHICH_WAS_GIVEN
                                        THEN
                                            0485: RETURN_TRUE
                                            0AB2: RET 1 28@
                                        END
                                    END
                                END
                            END
                        END
                    END
                END
            END
        END
    END
END
059A: RETURN_FALSE
0AB2: RET 0

:GetPlayerNameByID
{
    0.3.7 R1
    IF 0AB1: @GetPlayerNameByID 1 ID 0@ _Returned: Name 1@
}
IF 0AA2: 31@ = "samp.dll"
THEN
    0A8E: 30@ = 31@ + 0x21A0F8 // SAMP_INFO_OFFSET  
    0A8D: 30@ = readMem 30@ sz 4 vp 0
    30@ += 0x3CD // SAMP_PPOOLS_OFFSET         
    0A8D: 30@ = readMem 30@ sz 4 vp 0
    30@ += 0x18 // SAMP_PPOOL_PLAYER_OFFSET         
    0A8D: 30@ = readMem 30@ sz 4 vp 0

    0A8E: 29@ = 31@ + 0x13CE0 // SAMP_GET_PLAYER_NAME_OFFSET

    0AA8: call_function_method 29@ struct 30@ num_params 1 pop 0 0@ _Returned: Name 28@
    IF 28@ > 0
    THEN 0485:  RETURN_TRUE
    ELSE 059A:  RETURN_FALSE
    END
END
0AB2: 1 28@

:SAMPGetTargetPlayerID
{
    0.3.7 - R1
    0AB1: @SAMPGetTargetPlayerID 0 _Returned: PlayerID 0@
}
IF 0AA2: 1@ = "samp.dll" //samp base offset
THEN  
    1@ += 0x21A0F8 // SAMP_INFO_OFFSET
    0A8D: 1@ = readmem 1@ sz 4 vp 0
    1@ += 0x3CD // SAMP_POOLS_OFFSET
    0A8D: 1@ = readmem 1@ sz 4 vp 0
    1@ += 0x18 // SAMP_POOL_PLAYER_OFFSET
    0A8D: 1@ = readmem 1@ sz 4 vp 0
    1@ += 0x22 // SAMP_LOCAL_PLAYER_OFFSET
    0A8D: 1@ readMem 1@ sz 4 vp 0
    1@ += 0x161 // SAMP_TARGET_PLAYER_ID_OFFSET
    0A8D: 1@ readMem 1@ sz 2 vp 0
    IF AND
    NOT 1@ == 65535 // NOT TARGET
    NOT 1@ < 0 // CHECK FOR NEGATIVE ID
    THEN 0485:  return_true
    ELSE 059A:  return_false
    END
END
0AB2: ret 1 1@

:SAMPGetActorHandleByID
{
    0.3.7 - R1
    0AB1: @SAMPGetActorHandleByID 1 PlayerID 995 _Returned: Handle 1@
}
IF 0AA2: 1@ = "samp.dll"
THEN 
    1@ += 0x21A0F8 // SAMP_INFO_OFFSET
    0A8D: 1@ readMem 1@ sz 4 vp 0
    1@ += 0x3CD // SAMP_PPOOLS_OFFSET
    0A8D: 1@ readMem 1@ sz 4 vp 0
    1@ += 0x18 // SAMP_PPOOL_PLAYER_OFFSET
    0A8D: 1@ readMem 1@ sz 4 vp 0
    0@ *= 0x4 // PLAYER_ID * 4
    0@ += 0x2E // SAMP_REMOTEPLAYER_OFFSET
    005A: 1@ += 0@
    0A8D: 1@ readMem 1@ sz 4 vp 0
    IF 1@ > 0
    THEN
        1@ += 0x0 // SAMP_REMOTEPLAYERDATA_OFFSET
        0A8D: 1@ readMem 1@ sz 4 vp 0
        IF 1@ > 0
        THEN
            1@ += 0x0 // SAMP_REMOTEPLAYERDATA_ACTOR_OFFSET
            0A8D: 1@ readMem 1@ sz 4 vp 0
            IF 1@ > 0
            THEN
                1@ += 0x44 // SAMP_REMOTEPLAYERDATA_HANDLE_OFFSET 
                0A8D: 1@ readMem 1@ sz 4 vp 0
                IF NOT 1@ < 0
                THEN 0485:  return_true
                ELSE 059A:  return_false
                END
            ELSE 059A:  return_false
            END
        ELSE 059A:  return_false
        END
    ELSE 059A:  return_false
    END
END
0AB2: 1 1@

:SAMPGetActorHealthByID
{
    0.3.7 - R1
    0AB1: @SAMPGetActorHealthByID 1 PlayerID 995 _Returned: Health 1@  
}
IF 0AA2: 1@ = "samp.dll"
THEN
    1@ += 0x21A0F8 // SAMP_INFO_OFFSET
    0A8D: 1@ readMem 1@ sz 4 vp 0
    1@ += 0x3CD // SAMP_PPOOLS_OFFSET
    0A8D: 1@ readMem 1@ sz 4 vp 0
    1@ += 0x18 // SAMP_PPOOL_PLAYER_OFFSET
    0A8D: 1@ readMem 1@ sz 4 vp 0
    0@ *= 0x4 // PLAYER_ID * 4
    0@ += 0x2E // SAMP_REMOTEPLAYER_OFFSET
    005A: 1@ += 0@
    0A8D: 1@ readMem 1@ sz 4 vp 0
    IF 1@ > 0
    THEN
        1@ += 0x0 // SAMP_REMOTEPLAYERDATA_OFFSET
        0A8D: 1@ readMem 1@ sz 4 vp 0
        IF 1@ > 0
        THEN
            1@ += 0x1BC // SAMP_REMOTEPLAYERDATA_HEALTH_OFFSET
            0A8D: 1@ readMem 1@ sz 4 vp 0
            IF NOT 1@ < 0
            THEN 0485:  return_true
            ELSE 059A:  return_false
            END
        ELSE 059A:  return_false
        END
    ELSE 059A:  return_false
    END
END
0AB2: 1 1@


:SAMPGetActorArmorByID
{
    0.3.7 - R1
    0AB1: @SAMPGetActorArmorByID 1 PlayerID 995 _Returned: Armor 1@
}
IF 0AA2: 1@ = "samp.dll"
THEN
    1@ += 0x21A0F8 // SAMP_INFO_OFFSET
    0A8D: 1@ readMem 1@ sz 4 vp 0
    1@ += 0x3CD // SAMP_PPOOLS_OFFSET
    0A8D: 1@ readMem 1@ sz 4 vp 0
    1@ += 0x18 // SAMP_PPOOL_PLAYER_OFFSET
    0A8D: 1@ readMem 1@ sz 4 vp 0
    0@ *= 0x4 // PLAYER_ID * 4
    0@ += 0x2E // SAMP_REMOTEPLAYER_OFFSET
    005A: 1@ += 0@
    0A8D: 1@ readMem 1@ sz 4 vp 0
    IF 1@ > 0
    THEN
        1@ += 0x0 // SAMP_REMOTEPLAYERDATA_OFFSET
        0A8D: 1@ readMem 1@ sz 4 vp 0
        IF 1@ > 0
        THEN
            1@ += 0x1B8 // SAMP_REMOTEPLAYERDATA_ARMOR_OFFSET
            0A8D: 1@ readMem 1@ sz 4 vp 0
            IF NOT 1@ < 0
            THEN 0485:  return_true
            ELSE 059A:  return_false
            END
        ELSE 059A:  return_false
        END
    ELSE 059A:  return_false
    END
END
0AB2: 1 1@  

:Chatmsg
/*
     0AC8: 0@ = allocate_memory_size 1024
     0AD3: 0@ = format "{FFFFFF}Auto Accept: {00FF00}ON"
     0AB1: @Chatmsg 2 text 0@ color -1
*/
IF 0AA2: 31@ = "samp.dll"
THEN
    0A8E: 30@ = 31@ + 0x21A0E4            // SAMP_CHAT_INFO_OFFSET (R1)
    0A8D: 30@ = readMem 30@ sz 4 vp 0     // pChat;
    0A8E: 29@ = 31@ + 0x64010             // FUNC_ADDTOCHATWND (R1)
      
    IF 1@ == -1
    THEN 1@ = 0xFFFFFFFF
    END
    0AA6: call 29@ struct 30@ num_params 5 pop 0 params 0 1@ 0 0@ 8
END
0AB2: 0

:CalculateDistanceFromPlayerStruct 
// 0AB1: @CalculateDistanceFromPlayerStruct  1 PlayerStruct 0@ _Returned: Distance 1@
0AEA: 31@ = actor_struct 0@ handle
IF 31@ > 0
THEN
    04C4: store_coords_to 30@ 29@ 28@ from_actor 31@ with_offset 0.0 0.0 0.0
    04C4: store_coords_to 27@ 26@ 25@ from_actor $PLAYER_ACTOR with_offset 0.0 0.0 0.0               
    0509: 24@ = distance_between_XY 30@ 29@ and_XY 27@ 26@
END
0AB2: 1 24@

:CalculateDistanceFromPlayerHandle 
// 0AB1: @CalculateDistanceFromPlayerHandle 1 PlayerHandle 0@ _Returned: Distance 1@
04C4: store_coords_to 30@ 29@ 28@ from_actor 0@ with_offset 0.0 0.0 0.0
04C4: store_coords_to 27@ 26@ 25@ from_actor $PLAYER_ACTOR with_offset 0.0 0.0 0.0               
0509: 24@ = distance_between_XY 30@ 29@ and_XY 27@ 26@
0AB2: 1 24@
 

Eror

New member
Joined
Jun 23, 2022
Messages
3
Reaction score
0
SobFoX, Hello, could you decrypt this mod?, it's a copychat based on the license I think, the owner's database was deleted and now the mod doesn't work anymore
 

Attachments

  • CopyChat.cs
    17.6 KB · Views: 0
  • CopyChat.ini
    2 bytes · Views: 0
Top