werr Опубликовано 23 октября, 2015 Опубликовано 23 октября, 2015 23.10.2015 12:21:26, Bald сказал(-а):22.10.2015 17:52:18, werr92 сказал(-а): auto state WAITING Event OnRead() Game.GetPlayer().AddPerk(Сюда я поставил свой перк) GoToState("DONE") endEvent endstate state DONE ; endstate В игре не чего не произошло, что я делаю не так? А я и не знаю, что ты делаешь... Я написал тело скрипта, куда надо обьявить проперти, скомпилировать, добавить локально на нужную книгу и задать пропертям значения. 1 A Random Dude's Story
werr Опубликовано 23 октября, 2015 Опубликовано 23 октября, 2015 22.10.2015 21:21:25, zilav сказал(-а): Кстати на официальном форуме создатель папируса рекомендовал не использовать эту конструкцию Game.GetPlayer(), а вместо этого создавать алиас под игрока и проводить операции с ним. Вроде медленно работает, не так оперативно обрабатывается в очереди скриптов или что-то в этом роде, уже не помню, это было года 2 назад. В данном случае это неважно так как вызывается редко, а вот для очень часто запускаемых скриптов может быть критично.Ну могу сказать, что у меня есть квест, где 4 нпс следуют за гг. Но только у каждого из них по нескольку пакетов: следовать, когда герой стоит в рост; следовать скрытно и игнорировать врагов, если гг ничего не угрожает; ну и напасть на противника, даже если гг в снике, но при этом за ним уже выехали враги. Немного сумбурно описал, но суть, думаю, понятна. Так вот, у меня на элиас игрока в этом квесте навешан скрипт, в котором сначала происходит регистрация под аним ивенты (сесть, встать и все это же в движении), а после в игра получает ивенты (от элиаса игрока соответственно), в которых приказавается пересмотр пакетов для этих четверых нпс-спутников. В общем, могу сказать, что не всегда это происходит быстро. Может оказаться так, что игра сразу всех четверых ставит в сник, бывает, что парочку сразу, а оставшихся потом, вплоть до 10-15 сек. А бывает, что и никого сразу не пересматривает. 1 A Random Dude's Story
Bald Опубликовано 23 октября, 2015 Опубликовано 23 октября, 2015 23.10.2015 12:42:45, werr92 сказал(-а): А я и не знаю, что ты делаешь... Я написал тело скрипта, куда надо обьявить проперти, скомпилировать, добавить локально на нужную книгу и задать пропертям значения. А можно поподробней ?
zilav Опубликовано 23 октября, 2015 Опубликовано 23 октября, 2015 23.10.2015 12:57:00, werr92 сказал(-а): Может оказаться так, что игра сразу всех четверых ставит в сник, бывает, что парочку сразу, а оставшихся потом, вплоть до 10-15 сек. А бывает, что и никого сразу не пересматривает. Я сам на папирусе не пишу, просто написал по памяти что видел. Кстати, рекомендую почитать ответы на различные вопросы от этого пользователя (разработчика папируса в Skyrim и, по всей видимости, в Fallout 4) http://forums.bethsoft.com/user/183997-smkviper/ Там если нажать справа сверху на "Find Content", то выведет все темы, где он отвечал. Можно целый гайд составить из его советов и ответов на различные вопросы, что называется "из первых уст". Если учесть, что скоро офф. форум закроется из-за переезда на bethesda.net и темы переноситься не будут, то вся эта ценная информация будет утеряна. Времени осталось немного. Так что если есть желающие перевести и опубликовать что-то здесь, то самое время пока не поздно. 1
werr Опубликовано 23 октября, 2015 Опубликовано 23 октября, 2015 23.10.2015 13:20:44, zilav сказал(-а):Я сам на папирусе не пишу, просто написал по памяти что видел. Кстати, рекомендую почитать ответы на различные вопросы от этого пользователя (разработчика папируса в Skyrim и, по всей видимости, в Fallout 4)http://forums.bethsoft.com/user/183997-smkviper/ Там если нажать справа сверху на "Find Content", то выведет все темы, где он отвечал. Можно целый гайд составить из его советов и ответов на различные вопросы, что называется "из первых уст". Если учесть, что скоро офф. форум закроется из-за переезда на bethesda.net и темы переноситься не будут, то вся эта ценная информация будет утеряна. Времени осталось немного. Так что если есть желающие перевести и опубликовать что-то здесь, то самое время пока не поздно. Спасибо за совет. Времени не так много свободного, чтоб переводить и оформлять все. А поглядеть — это обязательно)23.10.2015 13:09:40, Bald сказал(-а):А можно поподробней ? Хорошо. Тогда вечером, когда дома буду, напишу. 1 A Random Dude's Story
Al Sin Опубликовано 29 октября, 2015 Опубликовано 29 октября, 2015 (изменено) На определенной стадии квеста Quest: 'questname', 100 предмет Predmet к которому привязывается скрипт PredmetDel должен быть удален. Имею представление как это сделать через тело квеста - но хотелось бы знать более простые пути, если они есть. Scriptname PredmetDel extends ObjectReference quest Property questname Auto Event OnQuestStage('questname', 100) If QuestStage => 100 EndIf EndEvent Event RemoveItem(Actor akActor) If akActor == Game.GetPlayer() akActor.RemoveItem(Predmet) EndIf EndEvent Понимаю, что синтаксис в чем то наивен - но если в итоге результат возможен, - прошу разъяснить ошибки. Изменено 29 октября, 2015 пользователем Al Sin
Wolf4 Опубликовано 2 ноября, 2015 Опубликовано 2 ноября, 2015 (изменено) Уважаемые скриптоманы и те кто заморачивается со скриптами :) Пожалуйста. Подскажите - как задать переменную.. или же квестовую переменную.. или же глобальную переменную, чтобы она работала в диалогах? В скрипте я могу поставить. А где УСЛОВИЯ в диалогах? И как прописывать переменную в диалоговом окне? У меня стоит NameCount.value = 1 И NameCount.value +=1 тоже не срабатывает. Разбираю эти переменные уже шестой час)) Благодарю... Изменено 2 ноября, 2015 пользователем Wolf4
zilav Опубликовано 3 ноября, 2015 Опубликовано 3 ноября, 2015 02.11.2015 20:54:23, Wolf4 сказал(-а): Подскажите - как задать переменную.. или же квестовую переменную.. или же глобальную переменную, чтобы она работала в диалогах? Для глобальных переменных флаг Use Global в условии http://www.creationkit.com/Category:Conditions Для скриптовых в условии функция GetVMQuestVariable.
werr Опубликовано 3 ноября, 2015 Опубликовано 3 ноября, 2015 23.10.2015 12:21:26, Bald сказал(-а): 22.10.2015 17:52:18, werr92 сказал(-а): Спойлер auto state WAITING Event OnRead() Game.GetPlayer().AddPerk(Сюда я поставил свой перк) GoToState("DONE") endEvent endstate state DONE ; endstate В игре не чего не произошло, что я делаю не так? Ну во-первых, скрипт надо повесить локально на объект (книгу). Во-вторых, написать и скомпилировать код. Объявив при этом проперти Perk001. В-третьих, задать потом значение этому проперти. И сохранить плагин. вот скриншоты. Спойлер Scriptname PredmetDel extends ObjectReference quest Property questname Auto Event OnQuestStage('questname', 100) If QuestStage => 100 EndIf EndEvent Event RemoveItem(Actor akActor) If akActor == Game.GetPlayer() akActor.RemoveItem(Predmet) EndIf EndEvent 29.10.2015 17:39:51, Al Sin сказал(-а):Понимаю, что синтаксис в чем то наивен - но если в итоге результат возможен, - прошу разъяснить ошибки. Синтаксис не то чтобы наивен, он неправилен. Event OnQuestStage, Event RemoveItem – ну вот откуда ты это взял-то? Нет попросту таких ивентов. Не существует в папирусе. А также, даже если забить на то, что весь код состоит из двух не существующих в природе ивентов, то все равно внутри первого, который у тебя зовется Event OnQuestStage, какая-то ахинея. Стадия (не квеста, а просто какая-то переменная не объявленная при этом, которая еще и называется СтадияКвеста зачем-то) следовательно (не равно, не больше, не больше либо равно, а именно следовательно – элемент мат. логики, который нигде кроме учебников математики не встречается, и игра подобный символ не знает). Переводя на русский, там написано: если необъявленная переменная следовательно сто, тогда ничего не делай. И иначе тоже ничего не делай. Никак ничего не делай, короче) Ну и смысл это было писать. Причем с точки зрения логики, это звучит так же нелепо, как с точки зрения русского языка. Мораль. Проблема не только в синтаксисе, но и в осознании того, что нужно сделать. Ерунда какая-то. 1 A Random Dude's Story
werr Опубликовано 3 ноября, 2015 Опубликовано 3 ноября, 2015 02.11.2015 20:54:23, Wolf4 сказал(-а): Подскажите - как задать переменную.. или же квестовую переменную.. или же глобальную переменную, чтобы она работала в диалогах? В скрипте я могу поставить. А где УСЛОВИЯ в диалогах? И как прописывать переменную в диалоговом окне? У меня стоит NameCount.value = 1 И NameCount.value +=1 тоже не срабатывает. не очень понятно, шо таке "квестовая переменная". Пример приведи, если можно. Глобальная же переменная это отдельный объект, который создается (как НПС, статика или любой другой объект). Найти можно в Miscellaneous -> Global : Спойлер Как использовать. на проперти глобалки (проперти должно быть типа GlobalVariable) можно вызывать команды GetValue(), SetValue(XX). Коротенький пример с офф вики: GlobalVariable Property GameHour auto float myhour = GameHour.GetValue() GameHour.SetValue(10) Пример использования в диалогах: Спойлер Обрати внимание, что в поле Conditions диалога условие выглядит как GetGlobalValue, а не как в папирусе GetValue(). 1 A Random Dude's Story
Wolf4 Опубликовано 3 ноября, 2015 Опубликовано 3 ноября, 2015 (изменено) 03.11.2015 06:47:46, zilav сказал(-а): Для глобальных переменных флаг Use Global в условии http://www.creationkit.com/Category:Conditions Для скриптовых в условии функция GetVMQuestVariable. В условии для скриптовых это понятно. А где прописать нужно переменную, чтобы она появилась в условии? я об этом пишу) Глобальную переменную создал, как уже ранее говорил - но... Не знаю как точно и правильно сменить её в диаловых окошках BEGIN и END У меня прописано "Count.Value + 1 Ещё не ясно, что дает функция += 1 Также если прописать "Count + 1" пишет, что нужна переменная "int" Вот и куда всё это вставлять? )) На примере рассматривал квест "FreeformRiften22" 03.11.2015 09:02:51, werr92 сказал(-а): не очень понятно, шо таке "квестовая переменная". Пример приведи, если можно. Глобальная же переменная это отдельный объект, который создается (как НПС, статика или любой другой объект). Найти можно в Miscellaneous -> Global : Спойлер Обрати внимание, что в поле Conditions диалога условие выглядит как GetGlobalValue, а не как в папирусе GetValue(). Приветствую. Ты мне и здесь помогаешь. Большая благодарность :) С созданием глобальной переменной я уже разобрался вчера. Да, действительно в условии Conditions вставлено GetGlobalValue У этих Беседчиков на Creation Kit всё запутано и криво сделано)) В отличии от ТЕС4 :) Зато есть сцены. Так вот... Квестовая переменная - я имею в виду GetQuestVariable - поле во ВСЕХ дефолтных квестах остается пустым. В ТЕС4 было всё просто. Там в скрипт квеста вставлялась переменная и она была включена в сам квест. Так понятнее разъясняю? Спойлер PS: у тебя во фрагменте Папируса есть строка "FakeArmomrDial.SetValue(1) - это и есть смена значения глобальной переменной? Если да - то пойдёт ли "SetValue(+1) ? Изменено 3 ноября, 2015 пользователем Wolf4
Wolf4 Опубликовано 3 ноября, 2015 Опубликовано 3 ноября, 2015 Ещё такой малюсенький вопрос объявился. Как заставить НПС взять в руку факел? Хоррор квест делаю)
Bolgarec75 Опубликовано 27 ноября, 2015 Опубликовано 27 ноября, 2015 Приветствую! Народ, снова прошу вашей помощи! Заметил у себя в игре такой неприятный баг - перестал работать котелок для приготовления пищи (для всех сохранений у всех персонажей). Может дело в скриптах? Прям не знаю, что делать, весь инет перерыл - инфы ноль :sad: Мои приключения в Скайриме :) Жил без страха и умер без страха... Спойлер
Potatoider Опубликовано 27 ноября, 2015 Автор Опубликовано 27 ноября, 2015 27.11.2015 21:10:24, Bolgarec75 сказал(-а): Врядли, а чем вы этот котелок сломали? Если новую игру начинать то тож самое?
-Miro- Опубликовано 3 февраля, 2016 Опубликовано 3 февраля, 2016 Ура круто! воть нашел на Nexus программа для Скриптов вышла! ну может она уже давно вышла я не знаю! но нашел сегодня! 1 Skyrim Revival Legends
Potatoider Опубликовано 3 февраля, 2016 Автор Опубликовано 3 февраля, 2016 03.02.2016 10:49:30, AlienSoul сказал(-а): Ура круто! воть нашел на Nexus программа для Скриптов вышла! ну может она уже давно вышла я не знаю! но нашел сегодня! Мое мнение, что стандартного простенького окошечка вполне хватает. И всегда хватало и будет всегда хватать. В крайнем случае "блокнот", чтобы быстро заменить что-нибудь или найти.
-Miro- Опубликовано 3 февраля, 2016 Опубликовано 3 февраля, 2016 03.02.2016 10:55:38, Dimonoider сказал(-а): Мое мнение, что стандартного простенького окошечка вполне хватает. И всегда хватало и будет всегда хватать. В крайнем случае "блокнот", чтобы быстро заменить что-нибудь или найти. да! с ним как по мне удобнее работать, ведь там он покажет тебе правильные скрипты! вот к примеру забыл ты поставить () а в оригинале не покажешь! приходится искать ошибку! а так бах и вуаля! Skyrim Revival Legends
Potatoider Опубликовано 3 февраля, 2016 Автор Опубликовано 3 февраля, 2016 03.02.2016 11:11:50, AlienSoul сказал(-а): Поэтому нужно не забывать. ;) Чтобы потом не случалось бах и вуаля.
-Miro- Опубликовано 3 февраля, 2016 Опубликовано 3 февраля, 2016 03.02.2016 11:19:32, Dimonoider сказал(-а): Поэтому нужно не забывать. ;) Чтобы потом не случалось бах и вуаля. да не все норм будет) Skyrim Revival Legends
crimm Опубликовано 15 февраля, 2016 Опубликовано 15 февраля, 2016 Здравствуйте, подскажите как можно создать цепочку эффектов в заклинании или зелье, например, выпиваешь зелье и тебе сначала регенит здоровье минуту, потом ману минуту, потом выносливость минуту. заранее благодарен
icecream Опубликовано 5 июня, 2016 Опубликовано 5 июня, 2016 Здравствуйте всем , извеняюсь если повторяюсь мб такой вопрос был кто может пояснить принцип работы данного скрипта Scriptname HavenBagTeleport extends activemagiceffect ObjectReference Property Marking Auto ObjectReference Property HavenBagMarker Auto Cell Property HavenBag Auto objectReference property BagItem auto {Point explicity to the unique, placed reference of the mask in the world} event OnEffectStart ( Actor Target, Actor Caster ) if (Caster.GetParentCell() != HavenBag) Marking.MoveTo (Caster) Caster.MoveTo (HavenBagMarker) Endif EndEvent EVENT onEffectFinish ( Actor Target, Actor Caster ) if (Caster.GetParentCell() == HavenBag) Caster.Moveto (Marking) if caster.getItemCount(BagItem) < 1 ; safety catch - if the player dropped the mask in the sanctuary, add it to inventory so it doesn't get lost. caster.addItem(BagItem) endif endif EndEvent
Lanka Опубликовано 29 июня, 2016 Опубликовано 29 июня, 2016 При выборе стандартного скрипта ActivateLinkedChestDummyScript, СК выдал такую ошибку:Сценарий имел ошибки при погрузке, он не будет добавлен к объекту. Подскажите, пожалуйста, как это исправить? Если я перегружу СК - решит ли это проблему? И не уничтожится ли мой esp файл при этом?Или нужно переустанавливать сам Скайрим?Я новичок в этом деле, прошу не судить меня строго)))
EdgeNito12 Опубликовано 29 июня, 2016 Опубликовано 29 июня, 2016 03.02.2016 10:55:38, Dimonoider сказал(-а):Мое мнение, что стандартного простенького окошечка вполне хватает ну если ты программист и уже имеешь опыт написания кода(скриптов или просто правки строк) то может и да, а для новичков или просто тех, кто не помнит все функции это must have. 1
krezozavr Опубликовано 8 июля, 2016 Опубликовано 8 июля, 2016 Здравствуйте. Я абсолютный ламер в скайримовских скриптах, посему хотел бы узнать имя скрипта и значение которое надо поменять чтобы компаньон ждал меня в указанном месте не ванильные 3 дня, а от 30 дней и вплоть до второго пришествия Акатоша. UFO и AFT не предлагать- они калечат функции других модов, и мне не нужна армия фолловеров, достаточно одного, просто чтобы он не покидал место где брошен)
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйте новый аккаунт в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти