Перейти к содержанию

Очень нужна помощь


Рекомендуемые сообщения

А зачем двойной endif на конце этого блока!?

Или правильно все блоки должны выглядеть так:

if ( zangle > 144.5 )
 if ( zangle < 179.5 )
   set j1 to Player -> getpos x - 500
   set j2 to Player -> getpos y
   setpos x j1
   setpos y j2
 endif
endif

чтобы блок действовал в пределах этих двух ограничивающих значений угла.

Изменено пользователем Visman
Ссылка на комментарий
Поделиться на другие сайты

Замени все elseif на if и продублируй все строчки endif.

Elseif действует как "Если условие не выполнено, то проверим добавочное условие и выполним для него в случае выполнения еще какое-нибудь действие". То есть используется он примерно так:

if(a=2)
set b to 1
elseif(a=3)
set b to 2
elseif(a=4)
set b to 3
endif

А у тебя двойное условие должно быть.

Изменено пользователем Serg9408
Ссылка на комментарий
Поделиться на другие сайты

Замени все elseif на if и продублируй все строчки endif.

спосибо огромное :hi: все получилось, так и думал что проблема именно в этих стоках, и с if else elsif-ами совсем замучился. тогда получается что else выполняет предведущие команды тоже и затем само выполняется :-)

Изменено пользователем DaedricLord
Ссылка на комментарий
Поделиться на другие сайты

Нет, else - это "Иначе". То есть "if(a=1) set b to 2 else set b to 3" переводится на человеческий язык как "Если a равно 1, то приравнять b к 2, а если нет, то приравнять b к 3".
Ссылка на комментарий
Поделиться на другие сайты

Нет, else - это "Иначе". То есть "if(a=1) set b to 2 else set b to 3" переводится на человеческий язык как "Если a равно 1, то приравнять b к 2, а если нет, то приравнять b к 3".

Скорее, "Если не" или "В противном случае." - потому, во избежание подобных глюков желательно делать Elseif`ы с одновременно невозможными значениями - как уже сказано, переменная а может быть равна 1 или 2 (пример) - "if (a=1)[делать что-то] elseif (a=2) [делать что-то другое] endif" - выполнится или условие if для а=1 или условие elseif для а=2

Else - "Если уловие "If" не выполнено." Собственно, это и объясняет суть команды - в скрипте "If (a=1) [делать что-то] else [делать что-то другое] endif" при а=1 выполнится первое действие, в любом противном случае - второе дейсвие.

Кстати, вложенные If`ы работают как одновременная проверка двух условий сразу.

Собственно, ради справки, да.

Изменено пользователем bi-666
, да.
Ссылка на комментарий
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...