// This file was decompiled using SASCM.ini published by GTAG (http://gtag.gtagaming.com/opcode-database) on 14.6.2013
{$CLEO .cs}
//-------------MAIN---------------
wait 0
:Label000004
wait 0
SAMP.Available
jf @Label000004
alloc 2@ 145
gosub @Label000A26
wait 1750
log "{E9C85D}[PH_HUD]: {ffffff}Автор: {FF4444}SR_team{ffffff}."
log "{E9C85D}[PH_HUD]: {ffffff}Перевел на 0.3.7: {FF4444}Ded_Fedot{ffffff}."
log "{5DC4E9}Prime-Hack.Net{ffffff}, {4444ff}BlastHack.Net{ffffff} - сайты для настоящих читеров!"
0B34: samp register_client_command "hud" to_label @Label000448
27@ = Render.CreateFont(2@, 3@, 6@)
alloc 30@ 128
alloc 29@ 128
alloc 28@ 128
:Label000141
wait 0
if
31@ == 1
jf @Label000441
0826: enable_hud 0
0470: 20@ = actor $PLAYER_ACTOR current_weapon
041A: 11@ = actor $PLAYER_ACTOR weapon 20@ ammo
call @Label000634 1 20@ 20@
call @Label0009D2 0 12@
call @Label000B76 0 26@
0062: 11@ -= 12@ // (int)
if
12@ == 0
jf @Label000212
if
11@ == 0
jf @Label0001D8
format 30@ "%s" 20@
goto @Label00020B
:Label0001D8
format 30@ "%s: %d/%d | {AD888BEE}DMG: %.0f" 20@ 12@ 11@ 26@
:Label00020B
goto @Label000245
:Label000212
format 30@ "%s: %d/%d | {AD888BEE}DMG: %.0f" 20@ 12@ 11@ 26@
:Label000245
0A96: 20@ = actor $PLAYER_ACTOR struct
0A8E: 21@ = 20@ + 1344 // int
0A8D: 21@ = read_memory 21@ size 4 virtual_protect 0
0A8E: 22@ = 20@ + 1352 // int
0A8D: 22@ = read_memory 22@ size 4 virtual_protect 0
call @Label000525 0 24@
if
22@ == 0
jf @Label0002C6
format 29@ "%.1f {ADEEB222}%.0f%c" 21@ 24@ 37
goto @Label00030E
:Label0002C6
format 29@ "%.1f {AD9A9A9A}%.1f {ffffff}| {ADEEB222}Skill: %.0f%c" 21@ 22@ 24@ 37
:Label00030E
23@ = Player.Money($PLAYER_CHAR)
25@ = SAMP.GetSAMPPlayerIDByActorHandle($PLAYER_ACTOR)
25@ = SAMP.GetPlayerScore(25@)
format 28@ "$%d {AD8080FF}LVL: %d " 23@ 25@
04C4: store_coords_to 0@ 1@ 2@ from_actor $PLAYER_ACTOR with_offset 0.0 0.0 0.0
if and
00C2: sphere_onscreen 0@ 1@ 2@ radius 0.0
02CB: actor $PLAYER_ACTOR bounding_sphere_visible
jf @Label0003CF
call @Label0005D7 2 $PLAYER_ACTOR 7 2@
call @Label0004C8 3 0@ 1@ 2@ 3@
SAMP.Convert3DCoordsToScreen(0@, 1@, 2@, 4@, 5@)
005A: 4@ += 3@ // (int)
goto @Label0003E1
:Label0003CF
0B60: convert_game_screen_coords 329.55 209.55 to_window_screen_coords 4@ 5@
:Label0003E1
Render.DrawText(27@, 30@, 4@, 5@, -1375731713)
5@ += 25
Render.DrawText(27@, 29@, 4@, 5@, -1375770520)
if or
23@ > 0
25@ > 0
jf @Label000441
5@ += 25
Render.DrawText(27@, 28@, 4@, 5@, -1385627800)
:Label000441
goto @Label000141
:Label000448
wait 0
if
31@ == 0
jf @Label000493
31@ = 1
log "{E9C85D}[PH_HUD]: | {00FF00}Enable"
goto @Label0004C6
:Label000493
31@ = 0
0826: enable_hud 1
log "{E9C85D}[PH_HUD]: | {FF0000}Disable"
:Label0004C6
SAMP.CmdRet
:Label0004C8
0087: 5@ = 2@ // (float)
5@ += 0.375
SAMP.Convert3DCoordsToScreen(0@, 1@, 2@, 6@, 3@)
SAMP.Convert3DCoordsToScreen(0@, 1@, 5@, 6@, 4@)
0062: 3@ -= 4@ // (int)
if
not 3@ >= 0
jf @Label00051D
3@ *= -1
:Label00051D
ret 1 3@
:Label000525
0470: 0@ = actor $PLAYER_ACTOR current_weapon
if and
0@ >= 23
not 0@ > 32
jf @Label000594
if
0@ == 32
jf @Label00055F
0@ -= 4
:Label00055F
0@ -= 23
0@ *= 4
0@ += 12031128
0A8D: 0@ = read_memory 0@ size 4 virtual_protect 0
0@ /= 10.0
goto @Label0005CF
:Label000594
if
0@ == 22
jf @Label0005C5
0A8D: 0@ = read_memory 12031126 size 4 virtual_protect 0
0@ /= 10.0
goto @Label0005CF
:Label0005C5
0@ = 100.0
:Label0005CF
ret 1 0@
:Label0005D7
0085: 10@ = 0@ // (int)
0085: 15@ = 1@ // (int)
1@ = 0.0
2@ = 0.0
3@ = 0.0
0A96: 0@ = actor 10@ struct
0AC7: 4@ = var 1@ offset
0AA6: call_method 6160832 struct 0@ num_params 3 pop 0 1 15@ 4@
ret 1 3@
:Label000634
0AC6: 1@ = label @Label000655 offset
0@ *= 19
005A: 1@ += 0@ // (int)
ret 1 1@
:Label000655
// плюс один символ значит минус один нулевой байт снизу, и наоборот
// последний нулевой байт каждой строки удалять нельзя
// не редактировать, если без понятия, что делать и как это работает
// максимальная длина каждой строки 18 символов
hex
"Duke"
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
"Brass Knuckles"
00 00 00 00 00
"Golf Club"
00 00 00 00 00 00 00 00 00 00
"Nite Stick"
00 00 00 00 00 00 00 00 00
"Knife"
00 00 00 00 00 00 00 00 00 00 00 00 00 00
"Baseball"
00 00 00 00 00 00 00 00 00 00 00
"Shovel"
00 00 00 00 00 00 00 00 00 00 00 00 00
"Pool Cue"
00 00 00 00 00 00 00 00 00 00 00
"Katana"
00 00 00 00 00 00 00 00 00 00 00 00 00
"Chainsaw"
00 00 00 00 00 00 00 00 00 00 00
"Dildo"
00 00 00 00 00 00 00 00 00 00 00 00 00 00
"Dildo"
00 00 00 00 00 00 00 00 00 00 00 00 00 00
"Dildo"
00 00 00 00 00 00 00 00 00 00 00 00 00 00
"Dildo"
00 00 00 00 00 00 00 00 00 00 00 00 00 00
"Flowers"
00 00 00 00 00 00 00 00 00 00 00 00
"Cane"
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
"Grenade"
00 00 00 00 00 00 00 00 00 00 00 00
"Tear Gas"
00 00 00 00 00 00 00 00 00 00 00
"Molotov"
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00
"Pistol"
00 00 00 00 00 00 00 00 00 00 00 00 00
"Silencer"
00 00 00 00 00 00 00 00 00 00 00
"Deagle"
00 00 00 00 00 00 00 00 00 00 00 00 00
"Shotgun"
00 00 00 00 00 00 00 00 00 00 00 00
"SawnOff"
00 00 00 00 00 00 00 00 00 00 00 00
"Spas12"
00 00 00 00 00 00 00 00 00 00 00 00 00
"Tec9"
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
"MP5"
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
"AK47"
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
"M4"
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
"Mac10"
00 00 00 00 00 00 00 00 00 00 00 00 00 00
"Rifle"
00 00 00 00 00 00 00 00 00 00 00 00 00 00
"Sniper"
00 00 00 00 00 00 00 00 00 00 00 00 00
"Rocket Launcher"
00 00 00 00
"HS Rocket Launcher"
00
"Flamethrower"
00 00 00 00 00 00 00
"Minigun"
00 00 00 00 00 00 00 00 00 00 00 00
"C4"
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
"Detonator"
00 00 00 00 00 00 00 00 00 00
"Spray"
00 00 00 00 00 00 00 00 00 00 00 00 00 00
"Fire Extinguisher"
00 00
"Camera"
00 00 00 00 00 00 00 00 00 00 00 00 00
"Nightvision"
00 00 00 00 00 00 00 00
"Infrared Vision"
00 00 00 00
"Parachute"
00 00 00 00 00 00 00 00 00 00
end
:Label0009D2
0A96: 0@ = actor $PLAYER_ACTOR struct
0A8E: 1@ = 0@ + 1816 // int
0A8D: 1@ = read_memory 1@ size 1 virtual_protect 0
1@ *= 28
0A8E: 2@ = 0@ + 1440 // int
005A: 2@ += 1@ // (int)
2@ += 8
0A8D: 2@ = read_memory 2@ size 4 virtual_protect 0
ret 1 2@
:Label000A26
if
0AAB: file_exists "CLEO\INI\PH_HUD.ini"
jf @Label000A53
wait 0
goto @Label000AF6
:Label000A53
if
8AE4: not directory_exists "CLEO\INI"
jf @Label000A76
0AE5: create_directory "CLEO\INI" // IF and SET
:Label000A76
0AF1: write_int 12 to_ini_file "CLEO\INI\PH_HUD.ini" section "Setting" key "hSize"
0AF1: write_int 5 to_ini_file "CLEO\INI\PH_HUD.ini" section "Setting" key "hMode"
0AF5: write_string "Arial" to_ini_file "CLEO\INI\PH_HUD.ini" section "Setting" key "hFont"
:Label000AF6
0AF4: 2@ = read_string_from_ini_file "CLEO\INI\PH_HUD.ini" section "Setting" key "hFont"
0AF0: 3@ = get_int_from_ini_file "CLEO\INI\PH_HUD.ini" section "Setting" key "hSize"
0AF0: 6@ = get_int_from_ini_file "CLEO\INI\PH_HUD.ini" section "Setting" key "hMode"
return
:Label000B76
0A96: 2@ = actor $PLAYER_ACTOR struct
2@ += 1836
0A8D: 2@ = read_memory 2@ size 1 virtual_protect 0
0470: 26@ = actor $PLAYER_ACTOR current_weapon
0085: 1@ = 26@ // (int)
if
2@ == 2
jf @Label000BBB
1@ += 25
:Label000BBB
if
2@ == 3
jf @Label000BD4
1@ += 36
:Label000BD4
1@ *= 112
1@ += 13150904
1@ += 34
0A8D: 1@ = read_memory 1@ size 2 virtual_protect 0
0093: 1@ = integer 1@ to_float
if and
26@ >= 22
not 26@ == 25
not 26@ == 26
not 26@ == 27
not 26@ > 34
jf @Label000C38
1@ /= 3.043478
:Label000C38
ret 1 1@