Тема для вопросов по скриптингу.
Функции папируса:
На английском
На русском (не все, но базис)
#461
Отправлено
- werr, Chesh¡re и Olechkafum нравится это
#464
Отправлено
Доброго времени суток. подскажите почему не работает - почему объект_3 не появляется и не исчезает.
Скрипт
А все остальные объекты делают то, что нужно? Попробуй использовать конструкцию IsDisabled вместо Object_1 == Disable(true)
#466
Отправлено
А все остальные объекты делают то, что нужно? Попробуй использовать конструкцию IsDisabled вместо Object_1 == Disable(true)
Замени функцию на ивент. Нет события - нет срабатывания.
Ну, и советом выше тоже не пренебрегай.
Спасибо за идеи - но ни при каком раскладе не пашет. может я не правильно пояснил изначально. Object_3 - должен менять своё положение Enable/Disable в зависимости от положения Object_2 и Object_1 (которые в свою очередь меняют своё положение Enable/Disable путём активации другого скрипта - там всё нормально работает - Object_2 и Object_1 появляются и исчезают при выполненных условиях)
Сообщение отредактировал CISCO.:i:..:i:.: 01 октября 2018 - 23:48
#469
Отправлено
Зачем тебе OnLoad event?? Куда разумнее кинуть в мир Xmarker и на него скрипт с OnCellAttach ивентом. Ну это так, просто сходу "что не так". Если предположить, что ты ждешь срабатывания именно при прогулке по миру (пытаюсь угадать идею твоего кода). В таком случае флаг true в командах Enable(), Disable() теряет какой-либо смысл.Спасибо за идеи - но ни при каком раскладе не пашет. может я не правильно пояснил изначально. Object_3 - должен менять своё положение Enable/Disable в зависимости от положения Object_2 и Object_1 (которые в свою очередь меняют своё положение Enable/Disable путём активации другого скрипта - там всё нормально работает - Object_2 и Object_1 появляются и исчезают при выполненных условиях)
Не понял, что там должно менять положение? Двигать предмет на глазах у игрока - это вообще не к Enable/Disable(). Просто не так понял, наверное.
Мне кажется, ты сам не до конца понимаешь, что пытаешься сделать. Весьма вероятно, что дело не только в неработающем скрипте, но в самом предлагаемом тобой решении, оно может быть неверно. Поэтому лучше опиши задачу более ясно и подробно: что чем как активируется и при каких условиях? С картинками из редактора желательно. Тогда можно будет что-то дельное посоветовать.
#470
Отправлено
Мне кажется, ты сам не до конца понимаешь, что пытаешься сделать
Не совсем так - точнее совсем не так.
Весьма вероятно, что дело не только в неработающем скрипте, но в самом предлагаемом тобой решении, оно может быть неверно.
а вот тут вы 100 % правы. Я попытаюсь объяснить чего я хочу добиться - надеюсь у меня это получится не слишком витиевато.
существуют два меча Душегуб и призрачный клинок (Object_1 & Object_2) - я для них сделал нечто типа пьедестала на который эти мечи можно положить с помощью скрипта
И мне нужно что бы после того как оба меча душегуб и призрачный клинок (Object_1 & Object_2) будут "положены" на пьедестал - появлялся третий меч - ранее не участвующий в процессе Меч Даэдра (Object_3) - по мимо этого мне необходимо что бы эффект был не единичным а повторялся бесконечно то есть - если убрать с пьедестала один из мечей (Object_1 или Object_2) - то и Меч Даэдра (Object_3) исчезал (Disable). Если же снова оба меча (Object_1 & Object_2) окажутся на пьедестале - то Меч Даэдра (Object_3) снова появиться. Проще говоря мне нужно что бы Меч Даэдра (Object_3) появлялся лишь тогда - когда на пьедестал будут положены два других меча (Object_1 & Object_2) Если убрать один из мечей (Object_1 или Object_2) - тогда Меч Даэдра (Object_3) должен исчезнуть и появиться лишь тогда когда оба меча будут на пьедестале. Вот собственно от этого и родился этот несуразный скрипт.
#471
Отправлено
должен исчезнуть и появиться лишь тогда когда оба меча будут на пьедестале.
По-моему мы что-то похожее тут уже обсуждали, нет?
Тебе не нужен отдельный скрипт для контроля того, что оба объекта поставлены на место и существуют.
Появление третьего объекта можно прописывать непосредственно в скрипте с установкой первых двух.
#472
Отправлено
что не так?
Scriptname aaaaaVtoroyKvestDrevnegoProhoda extends ObjectReference int paukdeadA = 0 int paukdeadB = 0 Actor Property Pauk1 Auto Actor Property Pauk2 Auto ObjectReference Property startTrigger Auto bool isComplete = false event OnActivate (objectReference TriggerRef) if (isComplete == false) DeadPaukPatternA() DeadPaukPatternB() endif endevent function puzStart() startTrigger.Disable() endFunction function DeadPaukPatternA() if (Pauk1.isDead()) Debug.MessageBox("УПС!") paukdeadA += 1 else Debug.MessageBox("ПАУЧОК!") endif endFunction function DeadPaukPatternB() if (Pauk2.isDead()) Debug.MessageBox("УПС2!") paukdeadB += 1 else Debug.MessageBox("ПАУЧОК2!") endif endFunction
нужно чтобы выдавал когда жив и когда мёртв паук, а он только когда жив пишет и всё
#474
Отправлено
По-моему мы что-то похожее тут уже обсуждали, нет?
Тебе не нужен отдельный скрипт для контроля того, что оба объекта поставлены на место и существуют.
Появление третьего объекта можно прописывать непосредственно в скрипте с установкой первых двух.
Да я Вас услышал - и тогда а вот теперь дошло - пойду ваять.
Сообщение отредактировал CISCO.:i:..:i:.: 03 октября 2018 - 22:40
#477
Отправлено
не получается... не хочет он видеть смерть нпс((
Что-то мне подсказывает, что он просто данные у тебя не сохраняет. То бишь каждый раз, как скрипт загружается - он берет исходные данные.
Попробуй инфу о смерти пауков в GlobalVariable соответствующей командой писать, и оттуда же ее собирать.
#478
Отправлено
Доброго времени суток. Пишу скрипт - столкнулся с банальным незнанием - точнее отсутствием практики создания квестов с моей стороны. Дело в том что мне нужно сделать так что бы при прохождении ГГ триггера происходило появление объекта - но только в том случае если игрок состоит в гильдии воров. Решил привязать всё это к квесту - но так и не нашел этого самого квеста.
Прошу подскажите мне идентификаторы этого квеста ну вот к примеру квест боэтии когда ты взял доспехи с трупа считается завершенным DA02
Сообщение отредактировал CISCO.:i:..:i:.: 18 октября 2018 - 14:44
#479
Отправлено
Прошу подскажите мне идентификаторы этого квеста ну вот к примеру квест боэтии когда ты взял доспехи с трупа считается завершенным DA02
У гильдии воров с TG в названии наверное будет, или что-то похожее.
Идешь на вики, смотришь линейку квестов. Идешь в СК, ищещь квест по названию.
А от названия уже и до ИДшника недалеко.
И почему у тебя опять function вместо Event?
Функции - это, условно говоря, куски кода, которые можно вызывать через название. Эвенты - это события в игре.
Что-то у меня есть сомнение, что триггер с таким вот скриптом вообще сработает.
Первая и последняя функции должны быть эвентами, по идее.
Сообщение отредактировал Azazellz: 18 октября 2018 - 15:06
#481
Отправлено
1. Советую тебе почитать, что такое функции и ивенты, и как это связано. Целый учебник про папирус уже давно есть в сети (ссылка).
2. Олсо, если ты вызываешь функцию, описанную с самом же скрипте, то не обязательно просить скрипт обращаться к самому себе, он и так это поймет.
QuestItems()
вместо
self.QuestItems()
3. Также необязательно приводить типы (зачем???) к ObjectReference:
if akActionRef == game.GetPlayer() as ObjectReference
и здесь
My_sound.Play(game.GetPlayer() as ObjectReference
Игра и так способна воспринять актера как референс в мире. Примерно как и здесь
utility.Wait(1 as Float)
Чем ты руководствуешься, когда ставишь подобное? Зачем? Вообще всегда задавай себе вопрос "Зачем?" — это поможет заставить себя думать. В программировании должна логика действий прослеживаться. А в таком виде эти приписки больше напоминают ритуальные заклятья. Я к тому, что во-первых, в функции Wait() аргумент и так является типа Float; а во-вторых, тип Int и без дополнительных телодвижений приводится системой к Float.
Utility.Wait(1.0)
или
Utility.Wait(1)
тоже будет верно. Однако, в том виде, как это используется у тебя, команда Wait() бесполезна, поскольку после нее ничего не происходит.
Темы с аналогичным тегами papyrus, help, скрипты, вопросы
Моддинг →
Моддинг Skyrim →
Восстановление на основе Зала ДозораАвтор Alex_andra, 11 дек 2023 mod, help |
|
|||
|
Моддинг →
Моддинг Skyrim →
Отстройка ВинтерхолдаАвтор Alex_andra, 10 авг 2023 bugs, moding, help |
|
||
Моддинг →
Моддинг Oblivion →
Скрипт Для СнаряженияАвтор БесездаБойчик, 07 сен 2022 скрипты, скрипт |
|
|||
Моддинг →
Моддинг Skyrim →
Нужны добровольцы для теста модаАвтор arkadiy111, 11 апр 2022 help |
|
|||
help
Моддинг →
Моддинг Skyrim →
Ram and Skyrim seАвтор Samurai1, 03 апр 2022 help |
|
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 скрытых