CemKey Опубликовано 9 июня, 2013 Жалоба Поделиться Опубликовано 9 июня, 2013 Хотя скрипт стабатывает только со второго раза (и твой с кольцами тоже (там опечатка у тебя в 24 строке и в 21 ITEMID не обязателен, если скрипт вешается на кольцо)), то есть один раз получается одеть. Ссылка на комментарий Поделиться на другие сайты Поделиться
Daedroth_CH Опубликовано 9 июня, 2013 Жалоба Поделиться Опубликовано 9 июня, 2013 (изменено) Ошибки исправил, но ведь надо, чтобы одевалось одно кольцо, не более. Изменено 9 июня, 2013 пользователем Daedroth_CH Ссылка на комментарий Поделиться на другие сайты Поделиться
CemKey Опубликовано 9 июня, 2013 Жалоба Поделиться Опубликовано 9 июня, 2013 Так их если каждое одевать первый раз, оденутся оба, а уже потом по одному. Я себе колец пять добавил одинаковых и каждое по одному разу сумел в паре с таким же одеть. Ссылка на комментарий Поделиться на другие сайты Поделиться
Daedroth_CH Опубликовано 9 июня, 2013 Жалоба Поделиться Опубликовано 9 июня, 2013 В таком случае переменные Equipped и UnEquipped надо объявить глобальными и назвать как-нибудь позамороченней. Ссылка на комментарий Поделиться на другие сайты Поделиться
aL☢ Опубликовано 9 июня, 2013 Жалоба Поделиться Опубликовано 9 июня, 2013 Спасибо ребята, стартовый скрипт самое то, насчет колец - сам столкнулся с этой проблемой надевания 1го кольцо в самый первый раз. Но решение нашел - нужно перед проверкой напяливать ГГ любое другое кольцо и тут же его удалять, тогда проверка будет работать как надо. Ссылка на комментарий Поделиться на другие сайты Поделиться
Daedroth_CH Опубликовано 9 июня, 2013 Жалоба Поделиться Опубликовано 9 июня, 2013 Все же лучше сделать вот так:В таком случае переменные Equipped и UnEquipped надо объявить глобальными и назвать как-нибудь позамороченней. Ссылка на комментарий Поделиться на другие сайты Поделиться
Mapa Опубликовано 11 июня, 2013 Жалоба Поделиться Опубликовано 11 июня, 2013 (изменено) Народ, в общем, очень нужен скрипт, который перемещает NPC в зависимости от времени суток в разные локации. Временных отрезков три. - утро-полдень, полдень-вечер, вечер-ночьПробовала с этим (здесь только день и ночь)http://pastebin.com/jfQNmgyj В экстерьере мне сказали поставить вместо PositionCell Position, пробовала, не получалось.NPC не возвращается в экстерьер, в интерьере появляется нормально. Пробовала заменить экстерьер на интерьер, даже на тот же самый - не появляется и все тут( Изменено 11 июня, 2013 пользователем Mapa Ссылка на комментарий Поделиться на другие сайты Поделиться
Daedroth_CH Опубликовано 11 июня, 2013 Жалоба Поделиться Опубликовано 11 июня, 2013 А последний указанный мной вариант пробовала? Ссылка на комментарий Поделиться на другие сайты Поделиться
Mapa Опубликовано 11 июня, 2013 Жалоба Поделиться Опубликовано 11 июня, 2013 (изменено) Хмм... Кажется, у меня было что-то не то с сохраненками. Попробую еще раз Изменено 11 июня, 2013 пользователем Mapa Ссылка на комментарий Поделиться на другие сайты Поделиться
Mapa Опубликовано 11 июня, 2013 Жалоба Поделиться Опубликовано 11 июня, 2013 Вообще что-то непонятное. Она исправно стояла на улице, дома появилась почему-то не в девять, а только в 11, в пять утра пропала намертво до 11 ночи. Что там со временем? Как прописать позишн селл правильно? Со всеми точками и запятыми? Координаты -17 22 Ссылка на комментарий Поделиться на другие сайты Поделиться
Daedroth_CH Опубликовано 11 июня, 2013 Жалоба Поделиться Опубликовано 11 июня, 2013 Приведи твой вариант скрипта.Вот так правильно прописать:PositionCell -131545 220782 90 0 "CELLID" (-17, 22 )CELLID должен быть таким, как и в Cell Wiew. Ссылка на комментарий Поделиться на другие сайты Поделиться
Mapa Опубликовано 11 июня, 2013 Жалоба Поделиться Опубликовано 11 июня, 2013 Вот полный скрипт, Я уже не знаю, что и думатьhttp://pastebin.com/MBg05gUU Ссылка на комментарий Поделиться на другие сайты Поделиться
mortuus Опубликовано 11 июня, 2013 Жалоба Поделиться Опубликовано 11 июня, 2013 (изменено) if ( GameHour >= 21 ) if ( evening == 0 ) PositionCell 3633 2868 12726 10800 "Каюта Катти Сарк" set evening to 1 set morning to 0 endifelseif ( GameHour >= 9 ) if ( morning == 0 ) PositionCell -131545 220782 90 0 "Солстхейм, побережьe Фелсаад" (-17, 26 ) set morning to 1 set evening to 0 endifelse if ( evening == 0 ) PositionCell 3633 2868 12726 10800 "Каюта Катти Сарк" set evening to 1 set morning to 0 endifendifУ тебя условия были забавные, попробуй так. Изменено 11 июня, 2013 пользователем mortuus Ссылка на комментарий Поделиться на другие сайты Поделиться
Mapa Опубликовано 11 июня, 2013 Жалоба Поделиться Опубликовано 11 июня, 2013 Теперь игра вылетает. Как раз на перемотке времени, на границе между восемью и девятью часами.То ли утра то ли вечера, не запомнила,. Блин, ну как же не хочется реализовывать это по идиотски - с дубликатами персонажей, как это сделано в Солтсхеймском замке((( Неужели Морр просто не поддерживает такое понятие, как перемещение по таймеру в скрипте непися? Что за бред творится с этими скриптами?((((( Ссылка на комментарий Поделиться на другие сайты Поделиться
Daedroth_CH Опубликовано 12 июня, 2013 Жалоба Поделиться Опубликовано 12 июня, 2013 (изменено) Ладно, может быть, я сегодня у себя на компе сделаю подобный скрипт и сам посмотрю, в чем может быть ошибка, а пока попробуй самый первый мой вариант, днем нажми в консоли на НПЦ и введи sv. Заскринь результат. Ночью сделай то же самое. Изменено 12 июня, 2013 пользователем Daedroth_CH Ссылка на комментарий Поделиться на другие сайты Поделиться
Mapa Опубликовано 12 июня, 2013 Жалоба Поделиться Опубликовано 12 июня, 2013 Хорошо, попробую. Буду ждать ответа Ссылка на комментарий Поделиться на другие сайты Поделиться
Daedroth_CH Опубликовано 12 июня, 2013 Жалоба Поделиться Опубликовано 12 июня, 2013 (изменено) Эээ, ответ я должен ждать о твоей работе с sv. Изменено 12 июня, 2013 пользователем Daedroth_CH Ссылка на комментарий Поделиться на другие сайты Поделиться
Mapa Опубликовано 12 июня, 2013 Жалоба Поделиться Опубликовано 12 июня, 2013 http://rusfolder.com/36824832http://rusfolder.com/36824833http://rusfolder.com/36824834http://rusfolder.com/36824835http://rusfolder.com/36824836http://rusfolder.com/36824837Скриншоты в интерьере сделаны ночью.Взяла самый первый скрипт, только ячейку прописала со скобками, экстерьерную. Начала проверку с 10 часов дня. В 9 вечера она исправно появилась дома. В девть утра - на улице, как и положено. Только в два часа дня она исчезла и больше уже не появлялась вообще нигде. Ссылка на комментарий Поделиться на другие сайты Поделиться
Daedroth_CH Опубликовано 13 июня, 2013 Жалоба Поделиться Опубликовано 13 июня, 2013 (изменено) http://rusfolder.com/36824832http://rusfolder.com/36824833http://rusfolder.com/36824834http://rusfolder.com/36824835http://rusfolder.com/36824836http://rusfolder.com/36824837Скриншоты в интерьере сделаны ночью.Взяла самый первый скрипт, только ячейку прописала со скобками, экстерьерную. Начала проверку с 10 часов дня. В 9 вечера она исправно появилась дома. В девть утра - на улице, как и положено. Только в два часа дня она исчезла и больше уже не появлялась вообще нигде. Неудобный сайт со скринами. ПО одному все скачивать очень долго. Лучше будет сюда залить.Впрочем, прежде, чем вводить sv, надо было тыкнуть в консоли на НПЦ, на котором лежит нужный скрипт. Однако я сегодня сам проверю у себя на компьютере. что с ним не так, будь он неладен. Все, скрины не надо. Сейчас я переделываю этот скрипт, позже опубликую. Черт подери все это! Видать, забагованность перемещения НПЦ между экстерьером и интерьером это баг движка. Ни локальный скрипт, ни глобальный не могут сработать.Тем паче, что в 14 часов, 19, 21 и, возможно еще в некоторое время НПЦ постоянно возвращался на свое место , указанное в КС (хотя должен стоять в той же локации, но немного в другом точке). Я это обошел, но вытащить Арилла (для теста я взял его) из трактира не получилось. Он просто пропадал, хотя GetPos показывали правильные значения. Я пробовал влепить енабл, после того, как он исчез, но и это не помогло. Я точно не смогу ничего сделать. Однако попробуй обратиться к Mortuus'у или Olol'у. Может быть, они помогут. Однако, если ты говоришь, что у тебя получилось заставить НПЦ перемещаться между локациями, то попробуй до основного блока написать вот это: if ( GameHour >= 14 ) ; именно >=, при == точно не сработает, хз почемуif ( COUNT < 1 ); размести его там, где он должен стоятьset COUNT to 1endifendif Он у тебя исчезнет еще раз в 19 часов, потому после этого блока пропиши вот это (кстати, если попытаться прописать одним блоком с предыдущим с помощью elseif, то ничего не выйдет, потому что оба утверждения верны): if ( GameHour >= 19 )if ( COUNT < 2 ); размести его там, где он должен стоятьset COUNT to 2endifendif Если будет исчезать еще, делай по аналогии, но после этих блоков и перед основным напиши вот это: if ( GameHour >= 0 )if ( COUNT != 0 )set Count to 0endifendif ДА, переменную COUNT еще следует объявить как short, но название можно придумать другое. Надеюсь, понятно, если нет, напишу вариант скрипта на Pastebin'е. Изменено 13 июня, 2013 пользователем Daedroth_CH Ссылка на комментарий Поделиться на другие сайты Поделиться
mortuus Опубликовано 18 июня, 2013 Жалоба Поделиться Опубликовано 18 июня, 2013 Однако попробуй обратиться к Mortuus'у или Olol'у. Может быть, они помогут. Я достаточно много работал с разными таймерами времени, но мало с самим перемещением, это самая дурная вещь в скриптах. Я обычно дубли просто делал. if ( GameHour >= 14 ) ; именно >=, при == точно не сработает, хз почему Да всё просто, gamehour глобальная float переменная, т.е. её значение меняется каждый фрейм на определенные доли в зависимости от твоего фпс. Так что точное значение ты никогда не отследишь. Точнее отследить можно, но поймать - нет. К примеру ты можешь сделать вещь при активации которой тебе укажется время, можно даже пересчитать чтобы до минут или секунд показывало. =) (кстати, если попытаться прописать одним блоком с предыдущим с помощью elseif, то ничего не выйдет, потому что оба утверждения верны): В твоей статье на СХ кой чего про блоки не написано. В блоках if-elseif-elseif-elseif-else-endif если подходит ближайшая от верха "истина" то остальные блоки пропускаются до следующего фрейма. Т.е.If ( m ==0 )set m to 1elseif ( m == 1 )set m to 2elseif (m==2)set m to 3elseset m to 4endifПеременная m станет равна 4 через 4 кадра только, а не по цепочке за 1 кадр. Как будет время - посмотрю, а то уже заинтриговали. До конца недели вердикт скажу точно. Ссылка на комментарий Поделиться на другие сайты Поделиться
Daedroth_CH Опубликовано 19 июня, 2013 Жалоба Поделиться Опубликовано 19 июня, 2013 Вообще, вся эта хрень с перемещением навеяла мне мысль о том, что баги СХ с телепортацией наемников и ординаторов имеет общие корни с тут обсуждаемой проблемой. Ссылка на комментарий Поделиться на другие сайты Поделиться
mortuus Опубликовано 19 июня, 2013 Жалоба Поделиться Опубликовано 19 июня, 2013 Вообще решение думается мне не сложное. 1 глобальный скрипт определяющий время и стартующий другие скрипты которые выставляют позиции нпк. Т.е.begin sc ; m1 m2 m3 скрипты самозавершающиеся, выставляют позиции нужные для нпк, этот скрипт стартовый, работает ;постоянноshort statusif ( status == 0 )if ( gamehour < 9 )Startscript m1set status to 1endifelseif ( status == 1 )if ( gamehour > 9 ) if ( gamehour < 21 )Startscript m2set status to 2 endifendifelseif ( status == 2 )if ( gamehour > 21 )Startscript m3set status to 0endifendifendбудет время проверю, если не терпится сами проверьте. begin m1Stopscript m1IdNPC1 -> PositionCell, -21278, -17613, 534, 0, "Balmora (-3, -3)"IdNPC2 -> PositionCell, -21278, -17613, 534, 0, "Balmora (-3, -3)" ; и тдendостальные скрипты аналогично только другие позицииВ принципе в теории должно работать. Кроме того можно хоть к дням привязку сделать чтобы нпк по определеным дням в храм ходили, одни раз в три дня, другие раз в неделю. Стационарный морровинд можно так чуток оживить. Проверю потом как работает. Ссылка на комментарий Поделиться на другие сайты Поделиться
Daedroth_CH Опубликовано 19 июня, 2013 Жалоба Поделиться Опубликовано 19 июня, 2013 Через локальный скрипт можно было избежать возвращение на стартовую позицию НПЦ в опр. часы единичной командой, через глобал же мне приходилось выставлять таймер на 3 секунды, за время которых НПЦ перемещается в нужную позицию при любом смещении от нее по X и Y. Без таймера, НПЦ стабильно возвращался на исходную.Да,начальная и конечные позиции находились в одном и том же интерьере, если что. Ссылка на комментарий Поделиться на другие сайты Поделиться
mortuus Опубликовано 19 июня, 2013 Жалоба Поделиться Опубликовано 19 июня, 2013 Через локальный скрипт можно было избежать возвращение на стартовую позицию НПЦ в опр. часы единичной командой, через глобал же мне приходилось выставлять таймер на 3 секунды, за время которых НПЦ перемещается в нужную позицию при любом смещении от нее по X и Y. Без таймера, НПЦ стабильно возвращался на исходную.Да,начальная и конечные позиции находились в одном и том же интерьере, если что.глобал должен обсекаться и срабатывать 1 раз, я сегодня что-то читал о подобном. Ну в общем надо в кс смотреть, конструктор далек от совершенства. Ссылка на комментарий Поделиться на другие сайты Поделиться
Daedroth_CH Опубликовано 19 июня, 2013 Жалоба Поделиться Опубликовано 19 июня, 2013 Должен глобал, но на деле же так работает локальный скрипт. Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти