Модератор форума: Kris†a™  
Форум » TES V: Skyrim » Мастерская » Вопросы по скриптам Papyrus (О скриптах Papyrus (Skyrim). Скриптеры не проходите мимо!)

Вопросы по скриптам Papyrus
sansuli  Offline  Сообщение №1 написано: 31 августа 2012, 13:29 | Отредактировано: Multigone - 23 апреля 2020, 14:24


The Red Sun


193
Уроки по скриптованию на языке Papyrus
Прежде чем задать вопрос просмотрите вышеуказанные уроки.
ok


Тема регламентирована.


• Прежде, чем задать вопрос, пожалуйста, убедитесь, что такой вопрос не задавался раньше. Старайтесь описать суть вопроса как можно подробней.
• Прежде, чем опубликовать ответ на вопрос, пожалуйста, убедитесь, что обладаете необходимыми для этого знаниями. Старайтесь cформулировать суть ответа как можно лаконичней.
• При желании ответить в приватном порядке, пожалуйста, воспользуйтесь ЛС.
• При желании поблагодарить ответившего, пожалуйста, воспользуйтесь кнопкой "
+" полезного сообщения.

Сообщения, не относящиеся к вопросам по скриптам Papyrus, ответам на них или уточнениям, являются оффтопом и могут быть удалены.

Красное солнце
Есть вопросы по скриптам Papyrus? Пиши не в ЛС, а в эту тему.
anton  Offline  Сообщение №1141 написано: 13 июля 2014, 18:09



362
DsionMemoriaVetusta, П о л у ч и л о с ь ! ! ! :D
Оказывается, всё что было нужно, чтобы изменилась анимация, это добавить кейворд "WardPower" в своё заклинание, имеющее тип "на себя".

Мой Блог
anton  Offline  Сообщение №1142 написано: 14 июля 2014, 08:53



362
MemoriaVetusta, есть один вариант ! Если в "на цель" использовать Projectile (то есть 1-й тип "на цель").
Projectile имеет возможность вызвать объект в игру. Вот на этот объект и цепляем скрипт, например на событие OnLoad().

Мой Блог
7Dagoth  Offline  Сообщение №1143 написано: 15 июля 2014, 15:10



20
Не могу понять механизм создания случайного оружия в игре. Вот, например, оружие, которое получает ГГ, становясь таном Вайтрана. Кусок скрипта:

;BEGIN ALIAS PROPERTY JarlWeapon
;ALIAS PROPERTY TYPE ReferenceAlias
ReferenceAlias Property Alias_JarlWeapon Auto
;END ALIAS PROPERTY

...

Game.GetPlayer().AddItem(Alias_JarlWeapon.GetRef())

И все?! Но откуда берется само оружие и зачарование? С потолка? Не понимаю, каким образом игра их создает. Должен же быть хоть какой-то уровневый или другой список, откуда игра случайным образом что-то берет, только вот в редакторе я его не нашел. И потом, само название оружия ("Топор\секира владения Вайтран") тоже должно же быть где-то прописано. Ан нет, тож нифига. Или мож я плохо искал? И реально ли как-нибудь повлиять на создание этого оружия? Объясните нубу.

"Хаос - Неделим!"
Один из принципов теоремы Лоргара, подтвержденный Чуваками-что-тащат-плакат-с-Плохим-Словом, которых целый Легион.
Dsion  Offline  Сообщение №1144 написано: 15 июля 2014, 16:44



Цитата 7Dagoth

Объясните нубу.

НУ ТЫ НУБ! ХЕ-ХЕ-ХЕ!
Шутка. Не дуйся :)

Если перевести скрипт на человеческий язык, то там написано: "Выдать игроку тот предмет, который находится в алиасе JarlWeapon квеста."
Но что же находится в этом алиасе? Смотрим...

В момент старта квеста создается предмет типа FavorRewardEnchAxeBest в инвентаре у Балгруфа. И имя этого предмета заменяется на текст из Message FavorJarlAxeName.

Остается непонятным только то, что это за FavorRewardEnchAxeBest... Ищем... Оказывается, это LeveledItem, напичканный разными топорами и уровнями, с которого они могут попасться.

AveDarkness  Offline  Сообщение №1145 написано: 19 июля 2014, 05:02



9
Как сделать так чтобы в сундук через определенное время добавлялся какой либо предмет? Например: прошло 3 дня в сундук добавилась монетка, прошло еще 3 дня добавилась еще одна монетка итд.

Dsion  Offline  Сообщение №1146 написано: 19 июля 2014, 11:28



Цитата Ultima

EVENT OnLoad()

Только он не начнет работать, пока игрок первый раз не увидит сундук... Не знаю, важно ли это.

mxac  Offline  Сообщение №1147 написано: 19 июля 2014, 18:26 | Отредактировано: mxac - 19 июля 2014, 18:27



178
Ребят, подскажите какой скрипт заколбасить чтобы при засыпании в определённой локации(или просто при засыпании) под действием определённого маг.эффекта стартовал квест. И куда его прикрутить(маг.эффект или сам квест).

Кстати куда дели примеры скриптов?  dr


densvarte  Offline  Сообщение №1148 написано: 22 июля 2014, 11:24



5
Всем привет. Ребята помогите кто знает. Как вывести в верхнем левом углу сообщение в тот момент когда гг только появился(допустим при помощи двери) в локации? Спасибо заранее!!!

densvarte  Offline  Сообщение №1149 написано: 22 июля 2014, 12:04



5
Ultima Спасибо

mxac  Offline  Сообщение №1150 написано: 25 июля 2014, 20:04



178
Цитата mxac

Ребят, подскажите какой скрипт заколбасить чтобы при засыпании в определённой локации(или просто при засыпании) под действием определённого маг.эффекта стартовал квест. И куда его прикрутить(маг.эффект или сам квест).

Тысяча чертей, видел с мобилы что ктото отвечал, а теперь видимо удалили сообщение...


Dsion  Offline  Сообщение №1151 написано: 25 июля 2014, 20:42



Да, есть тут один... Его называют Призрачным Скриптером...
Говорят, раньше это был обычный парень... Но однажды, когда он медитировал в лесу, на него напал таёжный шаман, пытаясь отобрать рюкзак с тушенкой... Парень победил шамана, но перед самой смертью шаман успел наложить страшное проклятие: если счетчик сообщений этого парня на каком-то форуме покажет цифру "5", то у него винт сдохнет.
Так парень и стал Призраным Скриптером... Теперь он появляется из ниоткуда, когда кому-то нужна помощь, а потом пропадает, не оставив следов...

anton  Offline  Сообщение №1152 написано: 26 июля 2014, 05:57



362
mxac, можно нацепить на ГГ маг-абилку с постоянным эффектом, которая при старте выполнит команду RegisterForSleep(). А потом в событии OnSleepStart() запускать свой квест: MyQuest.Start()

Мой Блог
Dsion  Offline  Сообщение №1153 написано: 26 июля 2014, 15:04 | Отредактировано: Dsion - 26 июля 2014, 15:18



Ultima, а представь, что она таки заполняется из CK. Кем бы ты её заполнил?
Это ведь магический эффект. Он ни к кому пока не прицеплен. Но он и не может существовать без актора.

Может (хотя я не проверял и не уверен), её можно заполнить вот так:
_MVASoulUseLINK = (SomeActor As _MVASoulUseSCRIPT)
Возможно, тогда она заполнится... Но, конечно, только если на акторе есть этот эффект...

Dsion  Offline  Сообщение №1154 написано: 26 июля 2014, 15:57 | Отредактировано: Dsion - 26 июля 2014, 15:59



Ultima, я вот прочитал и у меня пока только одна мысль: "ЧЁ?!!!" :)
Я пока убегаю... Хотел только парой мыслей поделиться.

1. А ты пробовал использовать алиасы для прикрепления скрипта к акторам? Там чуть более гибкие возможности. Ну если речь не идет именно о магии, конечно. Заполнить Property магическим эффектом, как ты уже увидел, нельзя. А алиасом - запросто.

2. Вот есть кольцо (базовый предмет в CK, не OjbectReference). На нем скрипт MyRingScript с какими-то переменными и функциями. Но это только заготовка скрипта. Его пока не существует, как и самого кольца. Это как класс в C++.

Только когда создается реальный предмет в мире (ObjectReference), появляется и реальный скрипт, срабатывает OnInit итп. Если в мире 10 колец, то на каждом свой скрипт, свои переменные. В С++ это выглядело бы так:  MyRingScript instance = new MyRingScript()

Property в других скриптах должны заполнять уже реальным скриптом, который существует на реальном предмете в мире. Скорее всего, из-за этого и нельзя заполнить ActiveMagicEffect Property. Просто еще не существует живых магических эффектов и работающих скриптов на них.

Dsion  Offline  Сообщение №1155 написано: 26 июля 2014, 16:26



Все кольца в мире - уже ж реальные ObjectReference. Хотя с контейнерами там чуть сложнее, но то другая история.
На каждом своя собственная копия скрипта базового предмета.

Реальные ObjectReference с реальными скриптами рождаются, к примеру, командой PlaceAtMe. Или создаются в CK, когда перетягиваешь базовый предмет в мир.

Dsion  Offline  Сообщение №1156 написано: 26 июля 2014, 17:11



ну раз работает, то и хорошо...

Aksyonov  Offline  Сообщение №1157 написано: 27 июля 2014, 00:03 | Отредактировано: Aksyonov - 27 июля 2014, 00:04



937
Крайне необходим следующий скрипт но я не знаю можно ли сделать такое при помощи скриптов помогите коллеги модмейкеры ! и талантливые скриптеры ! итак можно ли навешать на оружие скрипт который бы при ударе включал воздействие 'хавока' физики для написей, то есть ударили одного клинком и он падает под воздействием физики активации движка хавок - в creation kit все мы знаем кнопку которая включает и выключает воздействие физики можно ли подобное сделать при помощи скриптов ? для нпс, в качестве эффекта либо чисто скриптом?

Dsion  Offline  Сообщение №1158 написано: 27 июля 2014, 00:28



Aksyonov, можно и скриптом, и эффектом со скриптом... Есть функция PushActorAway. После неё на тело действует физика аж пока NPC не встанет.

Я уже делал и выкладывал мод для оглушения NPC... Чтоб их можно было вырубить минут на 15 и ограбить :)

Aksyonov  Offline  Сообщение №1159 написано: 27 июля 2014, 00:33 | Отредактировано: Aksyonov - 27 июля 2014, 00:56



937
Цитата Dsion

Aksyonov, можно и скриптом, и эффектом со скриптом... Есть функция PushActorAway. После неё на тело действует физика аж пока NPC не встанет. Я уже делал и выкладывал мод для оглушения NPC... Чтоб их можно было вырубить минут на 15 и ограбить


Отлично можешь скинуть исходник ? мне то нужно это для оружия нооо тоже в качестве лишь дополнительного свойства, и кстати ссылку на мод тоже бы не помешало твой интересно посмотреть, и ещё один вопросик - а можно ли каким нибудь образом привязать эффект отталкивания крика fus ro da к клинку что бы при ударе нпс отбрасывало?

Dsion  Offline  Сообщение №1160 написано: 27 июля 2014, 00:58



Можно... Фус Ро Да, кажется, именно этой функцией и отбрасывает.
Надо создать зачарование (Enchantment), в нем создать эффект. А к эффекту скрипт.

Event OnEffectStart(Actor akTarget, Actor akCaster)
akCaster.PushActorAway(akTarget, 0.0)
EndEvent

Вместо 0.0 можно поставить силу отбрасывания. Если 5.0, то NPC отлетит метра на 3.
Можно сделать, чтоб NPC не вставал сам. Но это уже отдельная тема.

Aksyonov  Offline  Сообщение №1161 написано: 27 июля 2014, 01:15



937
Цитата Dsion

Вместо 0.0 можно поставить силу отбрасывания. Если 5.0, то NPC отлетит метра на 3. Можно сделать, чтоб NPC не вставал сам. Но это уже отдельная тема.


Спасибо попробую это значит скриптик отбрасывания а про просто включения физики для персонажа что бы он не вставал после этого? напиши а ! то же куда вешать.

Aksyonov  Offline  Сообщение №1162 написано: 30 июля 2014, 13:25 | Отредактировано: Aksyonov - 30 июля 2014, 13:49



937
Dsion, что то не работает скрипт, создал зачарование случайное с эффектом при касании в зачаровании
выбрал эффект к которому добавил твой скрипт и ничего не происходит хотя скрипт скомпилировался, помоги а?

Dsion, напиши скрипт что бы fus ro da применялся на оружие при ударе а не эффектом так будет проще.

mxac  Offline  Сообщение №1163 написано: 4 августа 2014, 08:31



178
Ребят, а можно ли скриптом узнать тип бороды и мненить его?  unsure


Dsion  Offline  Сообщение №1164 написано: 4 августа 2014, 08:41



mxac, с SKSE, вроде, можно:
http://www.creationkit.com/GetNthHeadPart_-_ActorBase

А без SKSE - очень вряд ли...

Dsion  Offline  Сообщение №1165 написано: 7 августа 2014, 12:29



Insomniac, а действительно надо удалять спелл и добавлять обратно?
Просто заблокировать его на время кд нельзя? Можно чтоб он не кастился или даже не надевался. Или чтоб надевался, но руки не светились и не кастился.

Dsion  Offline  Сообщение №1166 написано: 7 августа 2014, 18:43



Ultima, не хватает фразы "чё-та не работает. подскажите, что не так?"

LEN  Offline  Сообщение №1167 написано: 10 августа 2014, 06:21 | Отредактировано: LEN - 10 августа 2014, 06:25



6
Здравствуйте, хотел обратится с вопросом в надежде на помощь.
Существует сборка "The Journey", я являюсь одним из помошников его реализации. Сборка собиралась более 1 года и избирались и подстраивались самые адекватные и проверенные моды. В итоге модов вышло 500+ (используя мержи конечно).
Столкнулись с проблемой  скриптов - при использовании мода "No Death mod" и некоторых других. При смерти в NDM, персонаж встает и ждет скрипт - непонятно почему. И такое происходит не у всех наших игроков, у одних такая проблема есть, у других нету (к примеру у меня ни разу небыло проблем с этим модом - возможно это связано с тем что у меня мощный компьютер, но не факт).
Так же бывает пролагивают шейдеры листвы деревьев (точно не просадка FPS).

В общем как то так, не можем найти решение проблем посему решили обратится к специалистам и узнать в чем же дело.
Ссылки на сборку и форум всегда могу дать в ЛС.

Dsion  Offline  Сообщение №1168 написано: 10 августа 2014, 09:29



LEN, было бы в 100 раз легче разобраться, если бы ты описал, какие конкретно шаги нужно предпринять, чтоб воспроизвести проблему... Начиная со "скачиваем такой-то мод там-то". И пользователям можно так же отвечать.

Добавлено (10 Августа 2014, 13:29)
---------------------------------------------
Если пользователь уж совсем невнятную чушь пишет, можно от него вот этой формой отделаться:
http://www.protesting.ru/testing/bugstructure.html


LEN  Offline  Сообщение №1169 написано: 10 августа 2014, 10:20 | Отредактировано: LEN - 10 августа 2014, 10:21



6
Цитата Dsion

LEN, было бы в 100 раз легче разобраться, если бы ты описал, какие конкретно шаги нужно предпринять, чтоб воспроизвести проблему... Начиная со "скачиваем такой-то мод там-то". И пользователям можно так же отвечать.


Понял, извиняюсь.
Моды мы все качаем с нексуса и только с него.
По ситуациям точно сказать не могу, ибо говорят что по разному происходит, у кого раз через раз, а у кого и вовсе постоянно глючит - и не понятно почему.

Dsion  Offline  Сообщение №1170 написано: 10 августа 2014, 10:54



Цитата LEN

Got myself into a bit of trouble and now I can´t move after I wake up. WASD doesn´t work and neither does Left mouse button or jump. Anyone got
a clue what´s going on?


Чувак пишет, что очнулся и не может двигаться. Может, баг вызван и не вашей сборкой, а где-то в самом моде. Также там много жалоб на другие баги и общую "сырость".

Добавлено (10 Августа 2014, 14:41)
---------------------------------------------
И автор против того, чтоб кто-то модифицировал его мод без личного разрешения...
Легче новый написать.

Добавлено (10 Августа 2014, 14:54)
---------------------------------------------
Посмотрел скрипты на No Death Mod...
Я, конечно, пока не бог программирования, но даже мне очевидно, что автору еще многому предстоит научиться. Если бы он умел хоть массивы использовать, скрипты и сам мод были бы раз в 10 меньше :(
Ну да ладно. Мне-то что.


Форум » TES V: Skyrim » Мастерская » Вопросы по скриптам Papyrus (О скриптах Papyrus (Skyrim). Скриптеры не проходите мимо!)
Поиск:





Ответ на жалобу смотрите в разделе жалоб