bi-666 Опубликовано 28 июля, 2011 Жалоба Поделиться Опубликовано 28 июля, 2011 set currentDay to Day if ( Alchemy_Day == 1 ) if ( currentDay != Day ) set day_day to day_day + 1 endifendifНадо бы команду set currentDay to Day поместить между if ( currentDay != Day ) и первым endif после него - а то это условие никогда не выполнится. Ссылка на комментарий Поделиться на другие сайты Поделиться
Stanny Опубликовано 28 июля, 2011 Жалоба Поделиться Опубликовано 28 июля, 2011 (изменено) Надо бы команду set currentDay to Day поместить между if ( currentDay != Day ) и первым endif после него - а то это условие никогда не выполнится.То есть вот так? if ( Alchemy_Day == 1 )if ( currentDay != Day )set day_day to day_day + 1set currentDay to Dayendifendif Но ведь currentDay Новая переменная,которая означает 0,а значит она уже не равна дню в игре, то есть как только игра включится переменная Day_Day уже станет 1?или я опять запутался?О.о" Изменено 28 июля, 2011 пользователем Stanny Ссылка на комментарий Поделиться на другие сайты Поделиться
Муурн Шепард Опубликовано 28 июля, 2011 Жалоба Поделиться Опубликовано 28 июля, 2011 Без сет куррентдей у вас будет куча плюсов за несколько фреймов. Но не за день. Ссылка на комментарий Поделиться на другие сайты Поделиться
Stanny Опубликовано 28 июля, 2011 Жалоба Поделиться Опубликовано 28 июля, 2011 Без сет куррентдей у вас будет куча плюсов за несколько фреймов. Но не за день.эмм...да я и хочу ее поставить,но просто я хочу ее поставить выше,чтобы курентдей сразу был равен дню,а bi-666 говорит что надо после Иф'ов ставить,вот я и пытаюсь узнать почему надо внизу... Ссылка на комментарий Поделиться на другие сайты Поделиться
Муурн Шепард Опубликовано 28 июля, 2011 Жалоба Поделиться Опубликовано 28 июля, 2011 Повыше это где? Ссылка на комментарий Поделиться на другие сайты Поделиться
Stanny Опубликовано 28 июля, 2011 Жалоба Поделиться Опубликовано 28 июля, 2011 Всмысле сразу после объявления переменных) Ссылка на комментарий Поделиться на другие сайты Поделиться
Муурн Шепард Опубликовано 28 июля, 2011 Жалоба Поделиться Опубликовано 28 июля, 2011 Если сверху, то иф не выполнится. К будет равно д и в ифе не смысла. Ссылка на комментарий Поделиться на другие сайты Поделиться
Stanny Опубликовано 29 июля, 2011 Жалоба Поделиться Опубликовано 29 июля, 2011 ааа,до меня кажется дошло,то есть он(currentday) будет вечно выравниваться на Day, и тогда условие никогда не выполниться,так? Ссылка на комментарий Поделиться на другие сайты Поделиться
ИерихоN Опубликовано 29 июля, 2011 Жалоба Поделиться Опубликовано 29 июля, 2011 (изменено) Короче говоря любое действие заключается в блок if/endif, тобишь вот так: If ( OnActivate == 1 ) MessageBox "Бла-бла-бла"endif Команда не заключенная после условия if не будет выполняться.)) Изменено 29 июля, 2011 пользователем ИерихоN Ссылка на комментарий Поделиться на другие сайты Поделиться
Муурн Шепард Опубликовано 29 июля, 2011 Жалоба Поделиться Опубликовано 29 июля, 2011 (изменено) Будет. Вы, сударь, ошиблись. Например, в одноразовых скриптах я делаю блок, а скрипт стоплю в конце без блока.Т.е.Beginif ( random100 >= 90 )MessageBox "90"endifMessageBox "Вывод"endЕсли рэндом больше или равен 90, выведется первый мессаг, но второй выведется в любом случае и каждый фрейм. Увы, это загромоздит низ экрана.Stanny, да Изменено 29 июля, 2011 пользователем Муурн Шепард Ссылка на комментарий Поделиться на другие сайты Поделиться
Menorra Опубликовано 29 июля, 2011 Жалоба Поделиться Опубликовано 29 июля, 2011 Господа, я тут впервые столкнулась с такой фишкой - не отображается текст скриптов в ЦС 0_о И не экспортируется. Тем не менее, скрипты работают в игре. Думала, что это из-за незнакомых конструктору символов - умляутов - плаг на немецком.Нашла вундервафлю, которой это делается. И что характерно, сделал её Василий, мать его)) Нам-то тут она на фиг не нужна, а вот для буржуйского комьюнити, помешанного на копирастии - золотая находка. С помощью этой проги можно уберечь мод от несогласованного с автором перевода или использования скриптов как ресурса. Что и сделал автор моего мода. Сидят теперь на своём немецком сайтике и ржут надо мной, гады xD Мол, а чё это они там вдруг разрешения на перевод у тебя спросили? На них не похоже. - Не поверите чуваки, я ж скрипты вырезал - их без декомпилятора хрен переведёшь xD Кстати какого декомпилятора я так и не в курсе.http://wiki.rumor.ru/index.php?title=%D0%9A%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D1%8F:Morrowind_Script_Packer Собственно, это автор незаменимых Mod Prepare, Mod Info, Mod Text Merger, Mod Text Importer и DDS Converter. Ссылка на комментарий Поделиться на другие сайты Поделиться
Stanny Опубликовано 30 июля, 2011 Жалоба Поделиться Опубликовано 30 июля, 2011 все спасибо,доперло) Ссылка на комментарий Поделиться на другие сайты Поделиться
Sie Опубликовано 3 августа, 2011 Жалоба Поделиться Опубликовано 3 августа, 2011 (изменено) Работает ли GetStandingPC? И на каком объекте это можно ставить? Ибо, когда ставлю на триолит Храма, и наступаю на верхнюю часть - ничего не происходит.Сам скрипт: Begin Trap_script short onMe if ( MenuMode == 1 ) return endif set onMe to ( GetStandingPC ) if ( onMe == 1 ) MessageBox "Сработала ловушка." Cast, "Trap_001_sp", Player endif End Изменено 3 августа, 2011 пользователем Sie Ссылка на комментарий Поделиться на другие сайты Поделиться
Муурн Шепард Опубликовано 3 августа, 2011 Жалоба Поделиться Опубликовано 3 августа, 2011 Лучше проверять по GetStandingPC.if ( GetStandingPC == 1 );endifOnMe лучше убрать.Для Триолита, ИМХО, лучше if getcollidingpc. Ссылка на комментарий Поделиться на другие сайты Поделиться
Sie Опубликовано 3 августа, 2011 Жалоба Поделиться Опубликовано 3 августа, 2011 Пробовал и просто с GetStandingPC - результат тот же. Ссылка на комментарий Поделиться на другие сайты Поделиться
Муурн Шепард Опубликовано 3 августа, 2011 Жалоба Поделиться Опубликовано 3 августа, 2011 (изменено) А с GetCollidingPC пробовали? Функция Трибунала. Нулевая точка у триолита может быть и сбоку, а на бок ты просто не станешь. Потому лучше на соприкосновение проверять. Изменено 3 августа, 2011 пользователем Муурн Шепард Ссылка на комментарий Поделиться на другие сайты Поделиться
Sie Опубликовано 3 августа, 2011 Жалоба Поделиться Опубликовано 3 августа, 2011 Неа, все равно не работает. Ссылка на комментарий Поделиться на другие сайты Поделиться
Муурн Шепард Опубликовано 3 августа, 2011 Жалоба Поделиться Опубликовано 3 августа, 2011 Сейв был в ячейке с триолитом? Ссылка на комментарий Поделиться на другие сайты Поделиться
Sie Опубликовано 3 августа, 2011 Жалоба Поделиться Опубликовано 3 августа, 2011 Нет. Ссылка на комментарий Поделиться на другие сайты Поделиться
Муурн Шепард Опубликовано 3 августа, 2011 Жалоба Поделиться Опубликовано 3 августа, 2011 (изменено) Так. Причины бага не знаю, попробуй getdistance player.Чтобы узнать нужную(дистанцию), стань на триолит и в консоли введи на него getdistance player. Изменено 3 августа, 2011 пользователем Муурн Шепард Ссылка на комментарий Поделиться на другие сайты Поделиться
Sie Опубликовано 3 августа, 2011 Жалоба Поделиться Опубликовано 3 августа, 2011 Странно, но даже с GetDistance не работает. Ссылка на комментарий Поделиться на другие сайты Поделиться
Муурн Шепард Опубликовано 3 августа, 2011 Жалоба Поделиться Опубликовано 3 августа, 2011 (изменено) Вы просто писали getdistance player? Или указали еще < 100.Например так. if ( getdistance player < 500 ) MessageBox "Я работаю" endif Изменено 3 августа, 2011 пользователем Муурн Шепард Ссылка на комментарий Поделиться на другие сайты Поделиться
Sie Опубликовано 3 августа, 2011 Жалоба Поделиться Опубликовано 3 августа, 2011 (изменено) Begin Trap_script if ( MenuMode == 1 ) return endif if ( Player->GetDistance <= 130 ) MessageBox "Сработала ловушка." Cast "trap_001", Player endif End Изменено 3 августа, 2011 пользователем Sie Ссылка на комментарий Поделиться на другие сайты Поделиться
Муурн Шепард Опубликовано 3 августа, 2011 Жалоба Поделиться Опубликовано 3 августа, 2011 (изменено) Так.Лучше не player->, а getdistance player.У вас вы не указали до кого плейеру измерять дистанцию. Для алтаря так.if ( getdistance player < 500 ) MessageBox "Я работаю" endifЕсли ваш вариант,if ( Player->GetDistance триолитайди <= 130 ) MessageBox "Сработала ловушка." Cast "trap_001", Player endif Изменено 3 августа, 2011 пользователем Муурн Шепард Ссылка на комментарий Поделиться на другие сайты Поделиться
Sie Опубликовано 3 августа, 2011 Жалоба Поделиться Опубликовано 3 августа, 2011 (изменено) Мда, понял в чем дело - скрипт "не сохраняется" на объекте. Не знаю почему, но выбираю объект, ставлю на него нужный скрипт, нажимаю Save - а скрипта на объекте все равно нет. Никто не знает в чем дело?Все дело оказалось в длинном имени скрипта. Изменено 3 августа, 2011 пользователем Sie Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти