Lobber
Известный
- 178
- 57
Это довольно интересная поделка, но если честно я не понимаю, зачем тут есть массив и создание указателя на него, ведь он вообще нигде не задействован. А так, с виду это дело должно рендерить пикапы и некую инфу о них. Возможно из их структуры, судя по оффсетам. Не могу разобрать из-за иероглифов.да пробовал вроде, уже не помню, голова не соображает. Там этого одного опкода явно маловато будет, опять чет очевидное упускаю, на отдых пойду.
Код ниже оставлю если любопытно.
P.S. расшифровал что там в массиве и нашел для чего он, но все равно не понимаю, зачем такой сложный метод вывода текста. Там нет спец. символов или чего подобного, ради чего это стоило бы делать
Если тебе нужен образец поиска и вытаскивания координат из структуры, код ниже
CLEO:
{$CLEO}
0000:
REPEAT
0001: 0
UNTIL 0AFA:
0BB9: samp 0@ = get_pickup_pool_ptr
WHILE TRUE
0001: 0
FOR 1@ = 0 TO 4096 [STEP = 1]
IF 0B51: samp 2@ = pickup_handle_by_id 1@
THEN
0A90: 2@ = 1@ * 20
000A: 2@ += 61444
000A: 2@ += 0@ // stPickup
0A8D: 3@ = read_memory 2@ size 4 virtual_protect TRUE
IF 0039: 3@ == ??? //ModelID
THEN
0C0C: 3@ = struct 2@ offset 8 size 4 // X
0C0C: 4@ = struct 2@ offset 12 size 4 // Y
0C0C: 5@ = struct 2@ offset 16 size 4 // Z
IF 00C2: sphere_onscreen 3@ 4@ 5@ radius 5.0
THEN
0B55: convert_3D_coords 3@ 4@ 5@ to_screen 3@ 4@
00A0: store_actor $PLAYER_ACTOR position_to 5@ 6@ 7@
0B55: convert_3D_coords 5@ 6@ 7@ to_screen 5@ 6@
0B68: render draw_line_point1 5@ 6@ point2 3@ 4@ width 1 color 0xFFFFA500
END
END
END
END
END
Последнее редактирование: