Автор Тема: проблема с условием  (Прочитано 3367 раз)

Оффлайн mike43842

  • Прохожий
  • *
  • Сообщений: 110
  • Репутация: +1/-0
    • mike43842
    • Просмотр профиля
    • lol
проблема с условием
« : Декабрь 07, 2013, 05:05:12 pm »
Всем привет, у меня возникла проблема с условием в скрипте, хочу сделать такую проверку: если игрок в машине то убрать мигающий маркер над ней, а если не в машине вернуть маркер над ней. Вот код:

Проблема у меня в том что если первый раз я сажусь в машину то маркер пропадает, но если я из нее вылезаю он не появляется, не могу понять в чем проблема.
:marker
wait 100
0186: $111 = create_marker_above_car $11

:MIS_1_113
wait 250


:MIS_1_114
wait 100
00D6: if
0442:   player $PLAYER_CHAR in_car $11
004D: jump_if_false @MIS_1_113
0164: disable_marker $111

:MIS_1_115
00D6: if
8442:   not player $PLAYER_CHAR in_car $11
004D: jump_if_false @MIS_1_114
0002: jump @MIS_1_116

:MIS_1_116
wait 100
0186: $112 = create_marker_above_car $11

Оффлайн Sektor

  • Администратор
  • Постоялец
  • *****
  • Сообщений: 521
  • Репутация: +34/-0
    • Просмотр профиля
Re: проблема с условием
« Ответ #1 : Декабрь 07, 2013, 05:11:00 pm »
Это в потоке?

Оффлайн mike43842

  • Прохожий
  • *
  • Сообщений: 110
  • Репутация: +1/-0
    • mike43842
    • Просмотр профиля
    • lol
Re: проблема с условием
« Ответ #2 : Декабрь 07, 2013, 05:12:26 pm »
Да. Это миссия.
« Последнее редактирование: Декабрь 07, 2013, 05:23:42 pm от Sektor »

Оффлайн Sektor

  • Администратор
  • Постоялец
  • *****
  • Сообщений: 521
  • Репутация: +34/-0
    • Просмотр профиля
Re: проблема с условием
« Ответ #3 : Декабрь 07, 2013, 06:21:05 pm »
По пробуй так, я конечно давненько не скриптел, лет 7 назад помойму, последний раз.

Код: ASM
  1. :marker
  2. wait 100
  3.  
  4. 0186: $111 = create_marker_above_car $11
  5.  
  6.  
  7. :MIS_1_114
  8. wait 0
  9. 00D6: if
  10. 0442:   player $PLAYER_CHAR in_car $11
  11. 004D: jump_if_false @MIS_1_114
  12. 0164: disable_marker $111
  13.  
  14.  
  15. :MIS_1_115
  16. wait 0
  17. 00D6: if
  18. 0442:   player $PLAYER_CHAR in_car $11
  19. 004D: jump_if_false @MIS_1_113
  20. 0002: jump @marker
  21.  

« Последнее редактирование: Декабрь 07, 2013, 06:26:09 pm от Sektor »

Оффлайн mike43842

  • Прохожий
  • *
  • Сообщений: 110
  • Репутация: +1/-0
    • mike43842
    • Просмотр профиля
    • lol
Re: проблема с условием
« Ответ #4 : Декабрь 07, 2013, 07:01:07 pm »
Нет, не работает, если игрок в машине маркер мигает, он т.е. исчезает и появляется, а если не в машине то он нормально горит... не могу додуматься как тут нормально записать( мне нужно чтобы все время работала проверка

Оффлайн Sektor

  • Администратор
  • Постоялец
  • *****
  • Сообщений: 521
  • Репутация: +34/-0
    • Просмотр профиля
Re: проблема с условием
« Ответ #5 : Декабрь 07, 2013, 07:04:01 pm »
Цитировать
Нет, не работает, если игрок в машине маркер мигает, он т.е. исчезает и появляется, а если не в машине то он нормально горит... не могу додуматься как тут нормально записать( мне нужно чтобы все время работала проверка

Мне надо потом пробовать тогда это в редакторе и проверять. Так я врядли что вспомню как да что там в scm.
Все я сделал, это я сегодня допустил пару ошибок, сейчас  предоставлю рабочий код:


Код: ASM
  1. :marker
  2. wait 100
  3. 0186: $111 = create_marker_above_car $11
  4.  
  5.  
  6. :MIS_1_114
  7. wait 0
  8. 00D6: if
  9. 0442:   player $PLAYER_CHAR in_car $11
  10. 004D: jump_if_false @MIS_1_114
  11. 0164: disable_marker $111
  12.  
  13.  
  14. :MIS_1_115
  15. wait 0
  16. 00D6: if
  17. 8442: not  player $PLAYER_CHAR in_car $11
  18. 004D: jump_if_false @MIS_1_115
  19. 0002: jump @marker
« Последнее редактирование: Декабрь 08, 2013, 01:07:02 am от Sektor »

Оффлайн mfisto

  • Скриптер
  • Главный Модератор
  • Новичок
  • *****
  • Сообщений: 176
  • Репутация: +19/-0
  • Не пью, не курю, за компьютером сижу...
    • mfistof
    • Просмотр профиля
    • Empire of CJ
Re: проблема с условием
« Ответ #6 : Февраль 16, 2014, 12:55:37 am »
Привожу свою логику:
$marker = -1
while true
    wait 0
    if
        not Player.Defined($Player_Char)
    then
        Marker.Disable($marker)
        continue
    end
    if
        Actor.Driving($Player_Actor)
    then
        03C0: 14@ = actor $Player_Actor car
        if
            15@ <> 1
        then
            15@ = 1
            Marker.TieToCar($marker, 14@, 0, 1)
        end
    else
        if
            15@ <> 2
        then
            15@ = 2
            Marker.Disable($marker)
        end
    end
end
I know everything and nothing...