Как сравнивать?

Статус
В этой теме нельзя размещать новые ответы.

[PX]Khaidar

Новичок
Автор темы
88
4
PHP:
{$CLEO}
0000:

While true
          wait 0
          if
          068E: get_camera_target_point_to 0@ 1@ 2@
          if
          0AE1: $actor = random_actor_near_point 0@ 1@ 2@ in_radius 10.0 find_next 1 pass_deads 1
          if
          0B55: convert_3D_coords 0@ 1@ 2@ to_screen 4@ 5@
          if
          0B5F: convert_window_screen_coords 4@ 5@ to_game_screen_coords 6@ 7@ // Для проверки.
          if and
          6@ == 320.0
          7@ == 224.0
          then
          0AD1: show_formatted_text_highpriority "Radius" time 10
          end
end
Вот, мне нужно получить проверку, актер находится в 2D координате. Как я помню, вы писали мне про: нужно конвертировать и сравнивать.
 

DarkP1xel

Сила воли наше всё.
BH Team
3,638
5,029
CLEO:
{$CLEO}
0000:

WHILE TRUE
0001: WAIT 0 MS
    FOR 0@ = 0 TO 1000 [STEP = 1]
        IF 0B23:  samp is_player_connected 0@
        THEN
            IF 0B20: samp 1@ = actor_handle_by_samp_player_id 0@
            THEN
            00A0: store_actor 1@ position_to 2@ 3@ 4@
            0B55: convert_3D_coords 2@ 3@ 4@ to_screen 2@ 3@
                IF AND
                0039:   2@ == 50
                0039:   3@ == 50
                THEN 0ACD: "TRUE" 1
                END
            END
        END
    END
END

В CLEO не используй глобальные переменные. И опкод 0AE1 в SA:MP'e не работает.
 

[PX]Khaidar

Новичок
Автор темы
88
4
CLEO:
{$CLEO}
0000:

WHILE TRUE
0001: WAIT 0 MS
    FOR 0@ = 0 TO 1000 [STEP = 1]
        IF 0B23:  samp is_player_connected 0@
        THEN
            IF 0B20: samp 1@ = actor_handle_by_samp_player_id 0@
            THEN
            00A0: store_actor 1@ position_to 2@ 3@ 4@
            0B55: convert_3D_coords 2@ 3@ 4@ to_screen 2@ 3@
                IF AND
                0039:   2@ == 50
                0039:   3@ == 50
                THEN 0ACD: "TRUE" 1
                END
            END
        END
    END
END

В CLEO не используй глобальные переменные. И опкод 0AE1 в SA:MP'e не работает.
Спасибо за помощь:)
 

01EG

Известный
Проверенный
706
397
CLEO:
{$CLEO}
0000:

WHILE TRUE
0001: WAIT 0 MS
    FOR 0@ = 0 TO 1000 [STEP = 1]
        IF 0B23:  samp is_player_connected 0@
        THEN
            IF 0B20: samp 1@ = actor_handle_by_samp_player_id 0@
            THEN
            00A0: store_actor 1@ position_to 2@ 3@ 4@
            0B55: convert_3D_coords 2@ 3@ 4@ to_screen 2@ 3@
                IF AND
                0039:   2@ == 50
                0039:   3@ == 50
                THEN 0ACD: "TRUE" 1
                END
            END
        END
    END
END

В CLEO не используй глобальные переменные. И опкод 0AE1 в SA:MP'e не работает.
Мне вообще кажется, что все опкоды с параметром find_next не работают в сампе, это верно ? В любом случае, чтоб заменить этот параметр проще самому через цикл for end перебирать.
 

01EG

Известный
Проверенный
706
397

С объектами работает
Он то может работать, но последний раз, когда я пытался сделать, чтоб он искал Objects зеленого домика, то он искал не все и искал через раз, а определенные зеленые домики он вообще не искал.
Так же я работал с поиском рандомного хэндла машины в радиусе, то он тоже искал одну и ту же машину постоянно, а другую машину начинал искать только тогда, когда прошлая взрывалась(переставала быть defined)
По-этому я пришел к такому выводу, что они возможно работают, но очень криво.
 

[PX]Khaidar

Новичок
Автор темы
88
4
Он то может работать, но последний раз, когда я пытался сделать, чтоб он искал Objects зеленого домика, то он искал не все и искал через раз, а определенные зеленые домики он вообще не искал.
Так же я работал с поиском рандомного хэндла машины в радиусе, то он тоже искал одну и ту же машину постоянно, а другую машину начинал искать только тогда, когда прошлая взрывалась(переставала быть defined)
По-этому я пришел к такому выводу, что они возможно работают, но очень криво.
0102: actor 1@ in_sphere 2@ 3@ 4@ radius 1.5 1.5 3.0 sphere 1 stopped_on_foot - Этот опкод, может заменить 0AE1 - он должен работать в сампе, но, этот опкод может игнорировать игроков. Я пробовал использовать этот опкод, но нифига не работает:(

Ведь в теории, с помощью этого опкода, можно сделать АвтоШот.

Есть какой-нибудь другой опкод, который срабатывает также, как и опкод 0AE1, но для сампа?
 
Последнее редактирование модератором:
Статус
В этой теме нельзя размещать новые ответы.