DaedricLord Опубликовано 4 февраля, 2010 Жалоба Поделиться Опубликовано 4 февраля, 2010 (изменено) elseif if else Изменено 5 февраля, 2010 пользователем DaedricLord Ссылка на комментарий Поделиться на другие сайты Поделиться
Visman Опубликовано 4 февраля, 2010 Жалоба Поделиться Опубликовано 4 февраля, 2010 (изменено) А зачем двойной 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чтобы блок действовал в пределах этих двух ограничивающих значений угла. Изменено 4 февраля, 2010 пользователем Visman Ссылка на комментарий Поделиться на другие сайты Поделиться
Serg9408 Опубликовано 4 февраля, 2010 Жалоба Поделиться Опубликовано 4 февраля, 2010 (изменено) Замени все 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А у тебя двойное условие должно быть. Изменено 4 февраля, 2010 пользователем Serg9408 Ссылка на комментарий Поделиться на другие сайты Поделиться
DaedricLord Опубликовано 4 февраля, 2010 Автор Жалоба Поделиться Опубликовано 4 февраля, 2010 (изменено) Замени все elseif на if и продублируй все строчки endif.спосибо огромное все получилось, так и думал что проблема именно в этих стоках, и с if else elsif-ами совсем замучился. тогда получается что else выполняет предведущие команды тоже и затем само выполняется Изменено 4 февраля, 2010 пользователем DaedricLord Ссылка на комментарий Поделиться на другие сайты Поделиться
Serg9408 Опубликовано 4 февраля, 2010 Жалоба Поделиться Опубликовано 4 февраля, 2010 Нет, else - это "Иначе". То есть "if(a=1) set b to 2 else set b to 3" переводится на человеческий язык как "Если a равно 1, то приравнять b к 2, а если нет, то приравнять b к 3". Ссылка на комментарий Поделиться на другие сайты Поделиться
bi-666 Опубликовано 4 февраля, 2010 Жалоба Поделиться Опубликовано 4 февраля, 2010 (изменено) Нет, 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 для а=2Else - "Если уловие "If" не выполнено." Собственно, это и объясняет суть команды - в скрипте "If (a=1) [делать что-то] else [делать что-то другое] endif" при а=1 выполнится первое действие, в любом противном случае - второе дейсвие.Кстати, вложенные If`ы работают как одновременная проверка двух условий сразу.Собственно, ради справки, да. Изменено 4 февраля, 2010 пользователем bi-666 , да. Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти