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

Вопросы по TES Construction Set


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

set currentDay to Day

 

if ( Alchemy_Day == 1 )

if ( currentDay != Day )

set day_day to day_day + 1

endif

endif

Надо бы команду set currentDay to Day поместить между if ( currentDay != Day ) и первым endif после него - а то это условие никогда не выполнится.
Ссылка на комментарий
Поделиться на другие сайты

  • Ответов 2.7 тыс
  • Создана
  • Последний ответ

Топ авторов темы

Топ авторов темы

Изображения в теме

Надо бы команду set currentDay to Day поместить между if ( currentDay != Day ) и первым endif после него - а то это условие никогда не выполнится.

То есть вот так?

 

if ( Alchemy_Day == 1 )

if ( currentDay != Day )

set day_day to day_day + 1

set currentDay to Day

endif

endif

 

Но ведь currentDay Новая переменная,которая означает 0,а значит она уже не равна дню в игре, то есть как только игра включится переменная Day_Day уже станет 1?или я опять запутался?О.о"

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

Без сет куррентдей у вас будет куча плюсов за несколько фреймов. Но не за день.

эмм...да я и хочу ее поставить,но просто я хочу ее поставить выше,чтобы курентдей сразу был равен дню,а bi-666 говорит что надо после Иф'ов ставить,вот я и пытаюсь узнать почему надо внизу...

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

ааа,до меня кажется дошло,то есть он(currentday) будет вечно выравниваться на Day, и тогда условие никогда не выполниться,так?
Ссылка на комментарий
Поделиться на другие сайты

Короче говоря любое действие заключается в блок if/endif, тобишь вот так:

 

If ( OnActivate == 1 )

MessageBox "Бла-бла-бла"

endif

 

Команда не заключенная после условия if не будет выполняться.))

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

Будет. Вы, сударь, ошиблись. Например, в одноразовых скриптах я делаю блок, а скрипт стоплю в конце без блока.

Т.е.

Begin

if ( random100 >= 90 )

MessageBox "90"

endif

MessageBox "Вывод"

end

Если рэндом больше или равен 90, выведется первый мессаг, но второй выведется в любом случае и каждый фрейм. Увы, это загромоздит низ экрана.

Stanny, да ;-)

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

Господа, я тут впервые столкнулась с такой фишкой - не отображается текст скриптов в ЦС 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.

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

Работает ли 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

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

Лучше проверять по GetStandingPC.

if ( GetStandingPC == 1 )

;

endif

OnMe лучше убрать.

Для Триолита, ИМХО, лучше if getcollidingpc.

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

А с GetCollidingPC пробовали? Функция Трибунала. Нулевая точка у триолита может быть и сбоку, а на бок ты просто не станешь. Потому лучше на соприкосновение проверять. Изменено пользователем Муурн Шепард
Ссылка на комментарий
Поделиться на другие сайты

Так. Причины бага не знаю, попробуй getdistance player.

Чтобы узнать нужную(дистанцию), стань на триолит и в консоли введи на него getdistance player.

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

Вы просто писали getdistance player? Или указали еще < 100.

Например так.

if ( getdistance player < 500 )
MessageBox "Я работаю"
endif

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

Begin Trap_script

if ( MenuMode == 1 )
return
endif

if ( Player->GetDistance <= 130 )
MessageBox "Сработала ловушка."
Cast "trap_001", Player
endif

End

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

Так.

Лучше не player->, а getdistance player.

У вас вы не указали до кого плейеру измерять дистанцию. Для алтаря так.

if ( getdistance player < 500 )
MessageBox "Я работаю"
endif

Если ваш вариант,

if ( Player->GetDistance триолитайди <= 130 )
       MessageBox "Сработала ловушка."
       Cast "trap_001", Player
endif

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

Мда, понял в чем дело - скрипт "не сохраняется" на объекте. Не знаю почему, но выбираю объект, ставлю на него нужный скрипт, нажимаю Save - а скрипта на объекте все равно нет. Никто не знает в чем дело?

Все дело оказалось в длинном имени скрипта.

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

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

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

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

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

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

Войти

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

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

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