CLEO Help [Help] FastMap.cs for 0.3.7

CLEO related
Status
Not open for further replies.

FrannDzs

Member
Joined
Jan 26, 2019
Messages
19
Reaction score
3
Goodnight everyone
I would like to make this work for 0.3.7 because it only works on 0.3DL. What changes should I make to make it work?
Being 0x2ACA14 the address for samp 0.3dl, change the address to 0x21A0E8 but it didn't work, what am I missing?

{$CLEO .cs}

0000: "MAP"

wait 8500

if
0AAB: file_exists "CLEO\map.ini"
then
0AF4: 4@v = read_string_from_ini_file "cleo\map.ini" section "MAP" key "file"
0AF0: 28@ = get_int_from_ini_file "cleo\map.ini" section "MAP" key "key"
0AF0: 29@ = get_int_from_ini_file "cleo\map.ini" section "MAP" key "alpha"
end

0390: load_txd_dictionary "MAP"
038F: load_texture 4@v as 1 // Load dictionary with 0390 first
038F: load_texture "pla" as 2 // Load dictionary with 0390 first
038F: load_texture "MAR" as 3 // Load dictionary with 0390 first

while true
wait 0

0AF0: 27@ = get_int_from_ini_file "cleo\map.ini" section "MAP" key "toggle"
0AB1: @HideAll 1 Status 0 // 1 - hide , 0 - not hide <<<>>> Hide chat, hud, radar...

if and
27@ == 1 // press key once - true
0AB0: 28@
then
repeat
wait 0
until 8AB0: 28@ // wait until key not pressed
0AB1: 0 30@
if
30@ == 0
then
if
31@ == 0
then
31@ = 1
else
31@ = 0
end
else
if
30@ == 1
then
31@ = 0
end
end
end

if and
31@ == 1
27@ == 1
then
0AB1: @HideAll 1 Status 1 // 1 - hide , 0 - not hide <<<>>> Hide chat, hud, radar...
0AB1: @DrawMap 1 _MapTransparentValue: Alpha 29@
else
if and
27@ == 0 // press key once - false
0AB0: 28@
then
0AB1: 0 30@
if
30@ == 0
then
0AB1: @HideAll 1 Status 1 // 1 - hide , 0 - not hide <<<>>> Hide chat, hud, radar...
0AB1: @DrawMap 1 _MapTransparentValue: Alpha 29@
end
end
end

end

rawMap
03F0: enable_text_draw 1
03E3: set_texture_to_be_drawn_antialiased 1
038D: draw_texture 1 position 320.0 224.0 size 448.0 448.0 RGBA 255 255 255 0@
0AB1: @RacingCheckPoint 0 23@ 24@ 25@
if and
not 23@ == 0.0
not 24@ == 0.0
then
gosub @Drawbox
end

0A8D: 30@ = read_memory 0xC7DEEA size 1 virtual_protect 0 /// is marker active?
if
30@ == 1
then
0AB1: @CheckPointOrRedMarker 0 23@ 24@ 25@
if and
not 23@ == 0.0
not 24@ == 0.0
then
gosub @Drawbox
end
end

Actor.StorePos($PLAYER_ACTOR, 1@, 2@, 3@)
3@ = Actor.Angle($PLAYER_ACTOR)
3@ -= 180.0
3@ *= -1.0
0@ = 2
gosub @DrawTexture /// my position

if
0AB6: store_target_marker_coords_to 1@ 2@ 3@ // IF and SET
then
0@ = 3
3@ = 0
gosub @DrawTexture
end
0AB2: 0

rawbox
23@ /= 13.4
23@ += 320.0
24@ /= -13.4
24@ += 224.0
03F0: enable_text_draw 1
03E3: set_texture_to_be_drawn_antialiased 1
038E: draw_box_position 23@ 24@ size 6.0 6.0 RGBA 0 0 0 255
038E: draw_box_position 23@ 24@ size 5.0 5.0 RGBA 255 0 0 255
return

rawTexture
1@ /= 13.4
1@ += 320.0
2@ /= -13.4
2@ += 224.0
03F0: enable_text_draw 0
03E3: set_texture_to_be_drawn_antialiased 1
074B: draw_texture 0@ position 1@ 2@ scale 10.0 10.0 angle 3@ color_RGBA 255 255 255 255
return

:RacingCheckPoint
12@ = 9999.0
for 0@ = 0 to 31
0085: 1@ = 0@ // (int)
1@ *= 0x38
1@ += 0xC7F158
1@ += 0x10
0A8D: 2@ = read_memory 1@ size 4 virtual_protect 0
1@ += 0x4
0A8D: 3@ = read_memory 1@ size 4 virtual_protect 0
1@ += 0x4
0A8D: 4@ = read_memory 1@ size 4 virtual_protect 0
Actor.StorePos($PLAYER_ACTOR, 5@, 6@, 7@)
050A: 8@ = distance_between_XYZ 2@ 3@ 4@ and_XYZ 5@ 6@ 7@
if
0025: 12@ > 8@ // (float)
then
0087: 12@ = 8@ // (float)
0087: 9@ = 2@ // (float)
0087: 10@ = 3@ // (float)
0087: 11@ = 4@ // (float)
end
end
0AB2: 3 9@ 10@ 11@

:CheckPointOrRedMarker
10@ = 0xC7DD58
for 6@ = 0 to 32
0085: 14@ = 6@ // (int)
14@ *= 0xA0
0A8E: 13@ = 10@ + 14@ // int
0A8E: 11@ = 13@ + 0x30 // int
0A8D: 3@ = read_memory 11@ size 4 virtual_protect 0
0A8E: 11@ = 13@ + 0x34 // int
0A8D: 4@ = read_memory 11@ size 4 virtual_protect 0
0A8E: 11@ = 13@ + 0x38 // int
0A8D: 5@ = read_memory 11@ size 4 virtual_protect 0
if and
not 3@ == 0.0
not 4@ == 0.0
then
if or
3@ == 1099.551
4@ == 1601.497
5@ == 11.44687
3@ == 2695.624
4@ == -1704.688
5@ == 10.844
then
BREAK
end
end
end
0AB2: 3 3@ 4@ 5@

:HideAll
{
0.3.DL
Hide chat, hud, radar...
0AB1: @HideAll 1 status 0
}
0AA2: 1@ = "samp.dll"
1@ += 0x2ACA10
0A8D: 1@ = readMem 1@ sz 4 vp 0
1@ += 8
if
0@ == 1
then
0A8C: writeMem 1@ sz 4 vl 0 vp 1
else
0A8C: writeMem 1@ sz 4 vl 2 vp 1
end
0AB2: 0


{
0.3.DL
Hide chat, hud, radar...
0AB1: @ChatOpen 0 30@
}
0AA2: 1@ = "samp.dll"
1@ += 0x2ACA14
0A8D: 1@ = readMem 1@ sz 4 vp 0
1@ += 0x14E0
0A8D: 1@ = readMem 1@ sz 4 vp 0
0AB2: 1 1@
 

Krc

Active member
Joined
Mar 30, 2018
Messages
193
Reaction score
25
Location
Lithuania
U can load your default map with memory
ON:
Code:
0A8C: write_memory 12216228 size 4 value 1 virtual_protect 0 
0A8C: write_memory 12216484 size 4 value 2688257 virtual_protect 0 
0A8C: write_memory 12216236 size 4 value 1133903872 virtual_protect 0 
0AA5: call 7629216 num_params 0 pop 0

OFF:
Code:
0A8C: write_memory 12216228 size 4 value 0 virtual_protect 0 
0A8C: write_memory 12216484 size 4 value 0 virtual_protect 0 
0AA5: call 7630704 num_params 0 pop 0
 

FrannDzs

Member
Joined
Jan 26, 2019
Messages
19
Reaction score
3
U can load your default map with memory
ON:
Code:
0A8C: write_memory 12216228 size 4 value 1 virtual_protect 0
0A8C: write_memory 12216484 size 4 value 2688257 virtual_protect 0
0A8C: write_memory 12216236 size 4 value 1133903872 virtual_protect 0
0AA5: call 7629216 num_params 0 pop 0

OFF:
Code:
0A8C: write_memory 12216228 size 4 value 0 virtual_protect 0
0A8C: write_memory 12216484 size 4 value 0 virtual_protect 0
0AA5: call 7630704 num_params 0 pop 0

I just need to get this working for 0.3.7. also thanks for the suggestion
 

dphome

Well-known member
Joined
Mar 21, 2020
Messages
475
Solutions
9
Reaction score
168
Location
Poland
Done, working perfectly))

Useful memory address for 0.3DL/0.3.7:
https://github.com/BlastHackNet/mod_s0beit_sa-1/blob/samp-dl/src/samp.h
https://github.com/BlastHackNet/mod_s0beit_sa-1/blob/master/src/samp.h
https://raw.githubusercontent.com/SAMP-UDF/SAMP-UDF-for-AutoHotKey/master/SAMP.ahk
Code:
{$CLEO .cs}

0000: "MAP"

wait 8500

if
0AAB:   file_exists "CLEO\map.ini"
then
    0AF4: 4@v = read_string_from_ini_file "cleo\map.ini" section "MAP" key "file"
    0AF0: 28@ = get_int_from_ini_file "cleo\map.ini" section "MAP" key "key"
    0AF0: 29@ = get_int_from_ini_file "cleo\map.ini" section "MAP" key "alpha"
end

0390: load_txd_dictionary "MAP"
038F: load_texture 4@v as 1 // Load dictionary with 0390 first
038F: load_texture "pla" as 2 // Load dictionary with 0390 first
038F: load_texture "MAR" as 3 // Load dictionary with 0390 first

while true
wait 0

0AF0: 27@ = get_int_from_ini_file "cleo\map.ini" section "MAP" key "toggle"
0AB1: @HideAll 1 Status 0 // 1 - hide , 0 - not hide <<<>>> Hide chat, hud, radar...

if and
27@ == 1 // press key once - true
0AB0: 28@
then
    repeat
    wait 0
    until 8AB0: 28@ // wait until key not pressed
    0AB1: @ChatOpen 0 30@
    if
    30@ == 0
    then
        if
        31@ == 0
        then
            31@ = 1
        else
            31@ = 0
        end
    else
        if
        30@ == 1
        then
            31@ = 0
        end 
    end
end

if and
31@ == 1
27@ == 1
then
    0AB1: @HideAll 1 Status 1 // 1 - hide , 0 - not hide <<<>>> Hide chat, hud, radar...
    0AB1: @DrawMap 1 _MapTransparentValue: Alpha 29@
else
    if and
    27@ == 0  // press key once - false
    0AB0: 28@
    then
        0AB1: @ChatOpen 0 30@
        if
        30@ == 0
        then
            0AB1:  @HideAll 1 Status 1 // 1 - hide , 0 - not hide <<<>>> Hide chat, hud, radar...
            0AB1: @DrawMap 1 _MapTransparentValue: Alpha 29@
        end
    end
end

end

:DrawMap
03F0: enable_text_draw 1
03E3: set_texture_to_be_drawn_antialiased 1
038D: draw_texture 1 position 320.0 224.0 size 448.0 448.0 RGBA 255 255 255 0@
0AB1: @RacingCheckPoint 0 23@ 24@ 25@
if and
not 23@ == 0.0
not 24@ == 0.0
then
    gosub @Drawbox
end

0A8D: 30@ = read_memory 0xC7DEEA size 1 virtual_protect 0  /// is marker active?
if
30@ == 1
then
    0AB1: @CheckPointOrRedMarker 0 23@ 24@ 25@
    if and
    not 23@ == 0.0
    not 24@ == 0.0
    then
        gosub @Drawbox 
    end
end

Actor.StorePos($PLAYER_ACTOR, 1@, 2@, 3@)
3@ = Actor.Angle($PLAYER_ACTOR)
3@ -= 180.0
3@ *= -1.0
0@ = 2
gosub @DrawTexture /// my position

if
0AB6: store_target_marker_coords_to 1@ 2@ 3@ // IF and SET
then
    0@ = 3
    3@ = 0
    gosub @DrawTexture
end
0AB2: 0
           
:Drawbox
23@ /= 13.4
23@ += 320.0
24@ /= -13.4
24@ += 224.0
03F0: enable_text_draw 1
03E3: set_texture_to_be_drawn_antialiased 1
038E: draw_box_position 23@ 24@ size 6.0 6.0 RGBA 0 0 0 255
038E: draw_box_position 23@ 24@ size 5.0 5.0 RGBA 255 0 0 255
return

:DrawTexture
1@ /= 13.4
1@ += 320.0
2@ /= -13.4
2@ += 224.0
03F0: enable_text_draw 0
03E3: set_texture_to_be_drawn_antialiased 1
074B: draw_texture 0@ position 1@ 2@ scale 10.0 10.0 angle 3@ color_RGBA 255 255 255 255
return

:RacingCheckPoint
12@ = 9999.0
for 0@ = 0 to 31
    0085: 1@ = 0@ // (int)
    1@ *= 0x38
    1@ += 0xC7F158
    1@ += 0x10
    0A8D: 2@ = read_memory 1@ size 4 virtual_protect 0
    1@ += 0x4
    0A8D: 3@ = read_memory 1@ size 4 virtual_protect 0
    1@ += 0x4
    0A8D: 4@ = read_memory 1@ size 4 virtual_protect 0
    Actor.StorePos($PLAYER_ACTOR, 5@, 6@, 7@)
    050A: 8@ = distance_between_XYZ 2@ 3@ 4@ and_XYZ 5@ 6@ 7@
    if
    0025:   12@ > 8@ // (float)
    then
        0087: 12@ = 8@ // (float)
        0087: 9@ = 2@ // (float)
        0087: 10@ = 3@ // (float)
        0087: 11@ = 4@ // (float)
    end
end
0AB2: 3 9@ 10@ 11@

:CheckPointOrRedMarker
10@ = 0xC7DD58
for 6@ = 0 to 32
    0085: 14@ = 6@ // (int)
    14@ *= 0xA0
    0A8E: 13@ = 10@ + 14@ // int
    0A8E: 11@ = 13@ + 0x30 // int
    0A8D: 3@ = read_memory 11@ size 4 virtual_protect 0
    0A8E: 11@ = 13@ + 0x34 // int
    0A8D: 4@ = read_memory 11@ size 4 virtual_protect 0
    0A8E: 11@ = 13@ + 0x38 // int
    0A8D: 5@ = read_memory 11@ size 4 virtual_protect 0
    if and
    not 3@ == 0.0
    not 4@ == 0.0
    then
        if or
        3@ == 1099.551
        4@ == 1601.497
        5@ == 11.44687
        3@ == 2695.624
        4@ == -1704.688
        5@ == 10.844
        then
            BREAK
        end
    end
end
0AB2: 3 3@ 4@ 5@

:HideAll
0AA2: 1@ = "samp.dll"
1@ += 0x21A0E4
0A8D: 1@ = readMem 1@ sz 4 vp 0
1@ += 8
if
0@ == 1
then
    0A8C: writeMem 1@ sz 4 vl 0 vp 1
else
    0A8C: writeMem 1@ sz 4 vl 2 vp 1
end
0AB2: 0

:ChatOpen
0AA2: 1@ = "samp.dll"
1@ += 0x21A0E8
0A8D: 1@ = readMem 1@ sz 4 vp 0
1@ += 0x14E0
0A8D: 1@ = readMem 1@ sz 4 vp 0
0AB2: 1 1@
 

Attachments

  • FastMap_0.3.7.zip
    4.1 MB · Views: 82
  • FastMap_0.3DL.zip
    4.1 MB · Views: 39

FrannDzs

Member
Joined
Jan 26, 2019
Messages
19
Reaction score
3
Done, working perfectly))

Useful memory address for 0.3DL/0.3.7:
https://github.com/BlastHackNet/mod_s0beit_sa-1/blob/samp-dl/src/samp.h
https://github.com/BlastHackNet/mod_s0beit_sa-1/blob/master/src/samp.h
https://raw.githubusercontent.com/SAMP-UDF/SAMP-UDF-for-AutoHotKey/master/SAMP.ahk
Code:
{$CLEO .cs}

0000: "MAP"

wait 8500

if
0AAB:   file_exists "CLEO\map.ini"
then
    0AF4: 4@v = read_string_from_ini_file "cleo\map.ini" section "MAP" key "file"
    0AF0: 28@ = get_int_from_ini_file "cleo\map.ini" section "MAP" key "key"
    0AF0: 29@ = get_int_from_ini_file "cleo\map.ini" section "MAP" key "alpha"
end

0390: load_txd_dictionary "MAP"
038F: load_texture 4@v as 1 // Load dictionary with 0390 first
038F: load_texture "pla" as 2 // Load dictionary with 0390 first
038F: load_texture "MAR" as 3 // Load dictionary with 0390 first

while true
wait 0

0AF0: 27@ = get_int_from_ini_file "cleo\map.ini" section "MAP" key "toggle"
0AB1: @HideAll 1 Status 0 // 1 - hide , 0 - not hide <<<>>> Hide chat, hud, radar...

if and
27@ == 1 // press key once - true
0AB0: 28@
then
    repeat
    wait 0
    until 8AB0: 28@ // wait until key not pressed
    0AB1: @ChatOpen 0 30@
    if
    30@ == 0
    then
        if
        31@ == 0
        then
            31@ = 1
        else
            31@ = 0
        end
    else
        if
        30@ == 1
        then
            31@ = 0
        end
    end
end

if and
31@ == 1
27@ == 1
then
    0AB1: @HideAll 1 Status 1 // 1 - hide , 0 - not hide <<<>>> Hide chat, hud, radar...
    0AB1: @DrawMap 1 _MapTransparentValue: Alpha 29@
else
    if and
    27@ == 0  // press key once - false
    0AB0: 28@
    then
        0AB1: @ChatOpen 0 30@
        if
        30@ == 0
        then
            0AB1:  @HideAll 1 Status 1 // 1 - hide , 0 - not hide <<<>>> Hide chat, hud, radar...
            0AB1: @DrawMap 1 _MapTransparentValue: Alpha 29@
        end
    end
end

end

:DrawMap
03F0: enable_text_draw 1
03E3: set_texture_to_be_drawn_antialiased 1
038D: draw_texture 1 position 320.0 224.0 size 448.0 448.0 RGBA 255 255 255 0@
0AB1: @RacingCheckPoint 0 23@ 24@ 25@
if and
not 23@ == 0.0
not 24@ == 0.0
then
    gosub @Drawbox
end

0A8D: 30@ = read_memory 0xC7DEEA size 1 virtual_protect 0  /// is marker active?
if
30@ == 1
then
    0AB1: @CheckPointOrRedMarker 0 23@ 24@ 25@
    if and
    not 23@ == 0.0
    not 24@ == 0.0
    then
        gosub @Drawbox
    end
end

Actor.StorePos($PLAYER_ACTOR, 1@, 2@, 3@)
3@ = Actor.Angle($PLAYER_ACTOR)
3@ -= 180.0
3@ *= -1.0
0@ = 2
gosub @DrawTexture /// my position

if
0AB6: store_target_marker_coords_to 1@ 2@ 3@ // IF and SET
then
    0@ = 3
    3@ = 0
    gosub @DrawTexture
end
0AB2: 0
         
:Drawbox
23@ /= 13.4
23@ += 320.0
24@ /= -13.4
24@ += 224.0
03F0: enable_text_draw 1
03E3: set_texture_to_be_drawn_antialiased 1
038E: draw_box_position 23@ 24@ size 6.0 6.0 RGBA 0 0 0 255
038E: draw_box_position 23@ 24@ size 5.0 5.0 RGBA 255 0 0 255
return

:DrawTexture
1@ /= 13.4
1@ += 320.0
2@ /= -13.4
2@ += 224.0
03F0: enable_text_draw 0
03E3: set_texture_to_be_drawn_antialiased 1
074B: draw_texture 0@ position 1@ 2@ scale 10.0 10.0 angle 3@ color_RGBA 255 255 255 255
return

:RacingCheckPoint
12@ = 9999.0
for 0@ = 0 to 31
    0085: 1@ = 0@ // (int)
    1@ *= 0x38
    1@ += 0xC7F158
    1@ += 0x10
    0A8D: 2@ = read_memory 1@ size 4 virtual_protect 0
    1@ += 0x4
    0A8D: 3@ = read_memory 1@ size 4 virtual_protect 0
    1@ += 0x4
    0A8D: 4@ = read_memory 1@ size 4 virtual_protect 0
    Actor.StorePos($PLAYER_ACTOR, 5@, 6@, 7@)
    050A: 8@ = distance_between_XYZ 2@ 3@ 4@ and_XYZ 5@ 6@ 7@
    if
    0025:   12@ > 8@ // (float)
    then
        0087: 12@ = 8@ // (float)
        0087: 9@ = 2@ // (float)
        0087: 10@ = 3@ // (float)
        0087: 11@ = 4@ // (float)
    end
end
0AB2: 3 9@ 10@ 11@

:CheckPointOrRedMarker
10@ = 0xC7DD58
for 6@ = 0 to 32
    0085: 14@ = 6@ // (int)
    14@ *= 0xA0
    0A8E: 13@ = 10@ + 14@ // int
    0A8E: 11@ = 13@ + 0x30 // int
    0A8D: 3@ = read_memory 11@ size 4 virtual_protect 0
    0A8E: 11@ = 13@ + 0x34 // int
    0A8D: 4@ = read_memory 11@ size 4 virtual_protect 0
    0A8E: 11@ = 13@ + 0x38 // int
    0A8D: 5@ = read_memory 11@ size 4 virtual_protect 0
    if and
    not 3@ == 0.0
    not 4@ == 0.0
    then
        if or
        3@ == 1099.551
        4@ == 1601.497
        5@ == 11.44687
        3@ == 2695.624
        4@ == -1704.688
        5@ == 10.844
        then
            BREAK
        end
    end
end
0AB2: 3 3@ 4@ 5@

:HideAll
0AA2: 1@ = "samp.dll"
1@ += 0x21A0E4
0A8D: 1@ = readMem 1@ sz 4 vp 0
1@ += 8
if
0@ == 1
then
    0A8C: writeMem 1@ sz 4 vl 0 vp 1
else
    0A8C: writeMem 1@ sz 4 vl 2 vp 1
end
0AB2: 0

:ChatOpen
0AA2: 1@ = "samp.dll"
1@ += 0x21A0E8
0A8D: 1@ = readMem 1@ sz 4 vp 0
1@ += 0x14E0
0A8D: 1@ = readMem 1@ sz 4 vp 0
0AB2: 1 1@
Thank you brother, I would have liked to do it by myself but it would have taken me to know how much lol, you are my hero <3, Thanks again
 
Status
Not open for further replies.
Top