- 90
- 7
- Версия SA-MP
-
- 0.3.7-R3
Здравствуйте, форумчане. Задался вопросом, как получить координаты ближайшего гоночного чекпоинта на клео. Рылся на бх и нашёл такой код:
Работает ли он на 0.3.7 R3? Если нет, то как вообще можно получить координаты гоночного чекпоинта?
0AB1: call @StoreClosestMarkerPos 0 X 30@ Y 29@ Z 28@
0AB1: call @StoreClosestRaceMarkerPos 0 X 30@ Y 29@ Z 28@
:storeclosestmarkerpos
12@ = 9999.0
for 0@ = 0 to 31
0085: 1@ = 0@
1@ *= 160
1@ += 0xC7DD58
1@ += 48
0A8D: 2@ = read_memory 1@ size 4 virtual_protect 0
1@ += 4
0A8D: 3@ = read_memory 1@ size 4 virtual_protect 0
1@ += 4
0A8D: 4@ = read_memory 1@ size 4 virtual_protect 0
00A0: store_actor $PLAYER_ACTOR position_to 5@ 6@ 7@
050A: 8@ = distance_between_XYZ 2@ 3@ 4@ and_XYZ 5@ 6@ 7@
if
0025: 12@ > 8@
then
0087: 12@ = 8@
0087: 9@ = 2@
0087: 10@ = 3@
0087: 11@ = 4@
end
end
0AB2: ret 3 9@ 10@ 11@
:storeclosestracemarkerpos
12@ = 9999.0
for 0@ = 0 to 31
0085: 1@ = 0@
1@ *= 56
1@ += 0xC7F158
1@ += 16
0A8D: 2@ = read_memory 1@ size 4 virtual_protect 0
1@ += 4
0A8D: 3@ = read_memory 1@ size 4 virtual_protect 0
1@ += 4
0A8D: 4@ = read_memory 1@ size 4 virtual_protect 0
00A0: store_actor $PLAYER_ACTOR position_to 5@ 6@ 7@
050A: 8@ = distance_between_XYZ 2@ 3@ 4@ and_XYZ 5@ 6@ 7@
if
0025: 12@ > 8@
then
0087: 12@ = 8@
0087: 9@ = 2@
0087: 10@ = 3@
0087: 11@ = 4@
end
end
0AB2: ret 3 9@ 10@ 11@
Работает ли он на 0.3.7 R3? Если нет, то как вообще можно получить координаты гоночного чекпоинта?