Создаем маркеры

Тема в разделе "CLEO", создана пользователем Владислав, 7 июл 2014.

  1. Владислав

    Владислав Member Основатель

    Регистрация:
    29 май 2014
    Сообщения:
    109
    Симпатии:
    0
    Вот сам код, в нем пример с четырьмя маркерами.
    Код:
    {$VERSION 3.1.0027}       
    {$CLEO .cs}       
    
    //-------------MAIN---------------       
    0000: NOP       
    thread 'RAFAEL'       
    03BC: 0@ = create_sphere_at 262.6209 1851.202 8.7578 radius 2.0       
    03BC: 1@ = create_sphere_at 283.9123 1940.739 1501.171 radius 2.0       
    03BC: 2@ = create_sphere_at -1701.816 951.2525 24.8906 radius 2.0
    03BC: 3@ = create_sphere_at -1774.98 920.8619 1501.171 radius 2.0        
    
    :RAFAEL_1       
    wait 0       
    if       
    00EC: actor $PLAYER_ACTOR 0 near_point 262.6209 1851.202 radius 2.0 2.0
    else_jump @RAFAEL_2       
    Actor.PutAt($PLAYER_ACTOR, 278.21, 1948.042, 1500.999)
    jump @RAFAEL_1       
    
    :RAFAEL_2       
    00EC: actor $PLAYER_ACTOR 0 near_point 283.9123 1940.739 radius 2.0 2.0
    else_jump @RAFAEL_3       
    Actor.PutAt($PLAYER_ACTOR, 260.7475, 1865.086, 8.7578)
    jump @RAFAEL_1       
    
    :RAFAEL_3       
    00EC: actor $PLAYER_ACTOR 0 near_point  -1701.816 951.2525 radius 2.0 2.0       
    else_jump @RAFAEL_4       
    Actor.PutAt($PLAYER_ACTOR, -1771.338, 913.5211, 1500.999)
    jump @RAFAEL_1       
    
    :RAFAEL_4       
    00EC: actor $PLAYER_ACTOR 0 near_point -1774.98 920.8619 radius 2.0 2.0       
    else_jump @RAFAEL_1       
    Actor.PutAt($PLAYER_ACTOR, -1697.028, 947.4201, 24.8906)
    jump @RAFAEL_1
    А теперь разжевываем:
    Отсчет лучше начинать с 0, то есть @0
    Код:
    03BC: 0@ = create_sphere_at 262.6209 1851.202 8.7578 radius 2.0
    Это координаты, где будет создаваться первый маркер. В самом конце
    Код:
    2.0
    это ширина маркера. Всегда нужно писать 2.0, а не просто 2
    Код:
    03BC: 1@ = create_sphere_at 283.9123 1940.739 1501.171 radius 2.0
    Как вы, наверное, догадались - это координаты второго маркера
    Код:
    03BC: 2@ = create_sphere_at  -1701.816 951.2525 24.8906 radius 2.0
    Третий маркер
    Код:
    03BC: 3@ = create_sphere_at -1774.98 920.8619 1501.171 radius 2.0
    Четвертый маркер
    Код:
    00EC: actor $PLAYER_ACTOR 0 near_point 262.6209 1851.202 radius 2.0 2.0
    Здесь мы опять переписываем координаты маркера, но уже без высоты. В конце
    Код:
    2.0 2.0
    мы опять показываем ширину - радиус маркера.
    Код:
    else_jump @RAFAEL_2
    Если переводить дословно, то прыгать ещё, то есть мы пишем это для того, чтобы показать, что будут ещё какие-то действия, в нашем случае это ещё один маркер.
    Код:
    Actor.PutAt($PLAYER_ACTOR, 278.21, 1948.042, 1500.999)
    Здесь мы пишем координаты куда нас будет тп, если мы встанем на первый маркер.
    Код:
    jump @RAFAEL_1
    Всегда нужно писать это. Это строка будет возвращать нас в начало.
    А дальше тоже самое, только другие координаты.
     
    #1

Поделиться этой страницей