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

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


The Red Sun


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


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


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

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

Красное солнце
Есть вопросы по скриптам Papyrus? Пиши не в ЛС, а в эту тему.
atogod  Offline  Сообщение №31 написано: 25 Сентябрь 2012, 07:27



4
Доброго времени суток господа! Интересует мнение экспертов- есть ли возможность сделать качественно многопользовательский режим для Skyrim. Я не имею ввиду полноценную MMO, речь идет о батлграунде 3 на 3 к примеру. И если это возможно скажите, какие шансы на реализацию таких кодов(время исполнения и кол-во кодеров).

Monroe  Offline  Сообщение №32 написано: 25 Сентябрь 2012, 12:41



857
Цитата atogod

делать качественно многопользовательский режим для Skyrim


Поговорите с ребятами которые его уже сделали

atogod  Offline  Сообщение №33 написано: 25 Сентябрь 2012, 21:48



4
Возможно я не совсем полно выразил мысль...
То что это в принципе возможно сомнений нет ;) . Интересует мнение тех, кто работал над подобными системами и знает как реализовать такую возможность (не конкретно для Skyrim, а вообще). Сможет ли это один человек сделать для Skyrim или это оч долго в одиночку(не возможно). Просто есть интересная мысль, вполне реализуемая, с не плохой перспективой ok , но в команду нужен программист(-ы).
P.S. Если не в той веточке про человека в команду обмолвился, то сори.

sansuli  Offline  Сообщение №34 написано: 26 Сентябрь 2012, 08:19


The Red Sun


193
Нужен скрипт, как сделать чтобы броню "Х" мог одевать только мужчина или только женщина?

Красное солнце
Есть вопросы по скриптам Papyrus? Пиши не в ЛС, а в эту тему.
atogod  Offline  Сообщение №35 написано: 26 Сентябрь 2012, 12:14



4
sansuli, Если не ошибаюсь в creation kit у каждой шмотки можно поставить условие при котором ее можно использовать, по половому признаку тоже есть условие. Конечно муторно выставлять для большого кол-ва вещей :)

Koxae  Offline  Сообщение №36 написано: 26 Сентябрь 2012, 12:45





Цитата atogod

Если не ошибаюсь в creation kit у каждой шмотки можно поставить условие при котором ее можно использовать

Это где такое? В окне редактирования брони я такого не видела.

Уроки Adobe Photoshop
atogod  Offline  Сообщение №37 написано: 26 Сентябрь 2012, 13:18



4
Могу и ошибаться, возможно перепутал с рецептом для создания шмота, там точно есть условие по полу.

Koxae  Offline  Сообщение №38 написано: 26 Сентябрь 2012, 13:21





atogod, да, в рецептах есть. Но в броне, увы, нету. Если только через скрипт это реализовывать.

Уроки Adobe Photoshop
sansuli  Offline  Сообщение №39 написано: 27 Сентябрь 2012, 19:35


The Red Sun


193
atogod, ну а я о чем

Красное солнце
Есть вопросы по скриптам Papyrus? Пиши не в ЛС, а в эту тему.
anton  Offline  Сообщение №40 написано: 6 Октябрь 2012, 17:23



362
А как скриптом можно переместить предмет из точки "А" в точку "Б", но не по прямой, а по дуге ?

(пробовал: TranslateToRef(), SplineTranslateToRef() - но предмет двигается только строго по прямой ... :( )

Мой Блог
Raser0919  Offline  Сообщение №41 написано: 6 Октябрь 2012, 23:24 | Отредактировано: Raser0919 - 6 Октябрь 2012, 23:27



409
anton, ну давай посмотрим. Что такое дуга? Дуга это либо полуокружность(идеальная дуга), либо что-то наподобие полуокружности. А поэтому, нужно располагать по пути от A в B еще и точки C,D,E,F.... ну столько сколько нужно для получения требуемой дуги. И так, у нас есть две точки. Если добавить к ним еще три, находящиеся между ними но на одну координату выше или ниже, по отношению к прямой по которой A идет в B то получится дуга. то есть надо расставить эти точки по координатам A(1 ; 1) E(2 ; 2) C(3 ; 2,4) D(4 ; 2) B(5 ; 1) ну и вот в этом и вся сложность. Если догадлив и по математике нормален, поймешь, а иначе объясню на конкретном примере.

mxac  Offline  Сообщение №42 написано: 7 Октябрь 2012, 12:41



178
Подскажите пожалуйста, есть ли внешний редактор и компилятор скриптов для Skyrim, а то который в Creation Kit сначала просил .net framework, но ничего поставил, а теперь просто выдаёт сообщение об ошибке создания скрипта... Или подскажите как это исправить, или же если это мой Creation Kit глючный, так подскажите в ЛС где взять нормальный и английский(мне в нём удобнее).

Кстати хотел сделать крипт на телекинез(чтобы можно было двери открывать на расстоянии), но из-за того что описал выше несмог :(


Sabira  Сообщение №43 написано: 7 Октябрь 2012, 15:46 | Отредактировано: Sabira - 7 Октябрь 2012, 15:50

mxac, Посмотрите здесь: http://skyrim.nexusmods.com/mods/searchresults/ Наберите в поиске Creation Kit

anton  Offline  Сообщение №44 написано: 7 Октябрь 2012, 20:38



362
Цитата Raser0919

то есть надо расставить эти точки по координатам



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

Вот в игре всякие там птички и бабочки летают же как то, и совсем не по прямой. Я думал для этого используют команду "SplineTranslateToRef()", но она у меня тоже по прямой объекты двигает.

(... может там как то по особому надо параметр TangentMagnetude задавать ? ...)

Мой Блог
Raser0919  Offline  Сообщение №45 написано: 8 Октябрь 2012, 16:58 | Отредактировано: Raser0919 - 8 Октябрь 2012, 17:02



409
anton, ну я думал что тот совет тебе поможет, но да ладно. Лично я не трачу времени на поиски команд, если я их не знаю, я просто беру в помощь мои знания по математике и айда вперед. И кстати не забывай, что помимо скриптов есть еще и анимационные модели(как они там назывались? Кажется moving object) ни или же можно просто привязать анимацию перемещения к обычной модели.

anton  Offline  Сообщение №46 написано: 8 Октябрь 2012, 21:51



362
Raser0919, совет хороший, просто реализовывать его с помощью Папируса мне пока кажется довольно сложно и не надёжно. Хотя как знать, возможно это будет единственный реальный способ двигать статик по кривой траектории...
Про Moving Object - я ничего не слышал, надо будет покопаться. Я так понимаю - там можно прописать заранее траекторию движения ?

Мой Блог
Myprism  Offline  Сообщение №47 написано: 12 Октябрь 2012, 01:30


Физик


У меня проблема с поведением манекенов. Если их в одной локации несколько десятков, то спустя некоторое время (скорее всего, время респавна) они теряют одежду. Точнее, они не теряют её, одежда остаётся у них в инвентаре. В принципе, можно забрать у них одежду и дать снова, тогда они её оденут, но со временем опять могут снять. Это совершенно стандартные игровые манекены, сделанные точно так же, как и манекены в жилищах Довакина. На сколько я знаю, поведением манекенов управляет некоторый скрипт. Нельзя ли его изменить, чтобы манекены больше не раздевались?

sansuli  Offline  Сообщение №48 написано: 17 Октябрь 2012, 00:27 | Отредактировано: sansuli - 25 Октябрь 2012, 23:30


The Red Sun


193
Пожалуй повторюсь

Напишите скрипт что бы
1.при попадании данной магии у НПС отключался АИ.
2.Нужен скрипт, как сделать чтобы броню "Х" мог одевать только мужчина или только женщина?

Да и еще можно ли изменить сон с помощью скрипта? Вот так чтобы если ГГ спал меньше трех часов назад, то он не может спать, если ГГ не спал 15 часов, то он будет спать 9 часов (автоматически, ты не выбираешь время), если ты не спал три дня, спать будешь 24 часа и реген сил, здоровья и магии прекращался, а если пять дней, то ты медленно теряешь здоровье.

Можно же поставить таймер с помощью скрипта?

Красное солнце
Есть вопросы по скриптам Papyrus? Пиши не в ЛС, а в эту тему.
PaukSama  Offline  Сообщение №49 написано: 25 Октябрь 2012, 16:09


Прячущий свое сердце


Такой вопрос. Взял отсюда скрипт "При активации заменяет предметы" прикрутил его к активатору, выбрал заменяемые предметы. Все сохранилось все правильно, но в игре используя активатор ничего совершенно не происходит. В чем может быть причина?

Отними у меня апельсин - и я тебя убью
Съешь мой апельсин - и я тебя убью
Подари мне апельсин - и... я тебя убью
Мне не нужен никто, лишь мой апельсин
А тот кто не пойман - не ассасин!
Vlados007  Offline  Сообщение №50 написано: 3 Ноябрь 2012, 22:56



141
Друзья, можете подсказать отдельную и удобную прогу для редактирования скриптов? А то эти .pex у меня СК не открывает (ругается страшно). Блокнот открывает, но так, что аж плакать хочется. Помогите, пожалуйста!

Движок не меняется
mxac  Offline  Сообщение №51 написано: 4 Ноябрь 2012, 00:56



178
Цитата Vlados007

Друзья, можете подсказать отдельную и удобную прогу для редактирования скриптов? А то эти .pex у меня СК не открывает (ругается страшно). Блокнот открывает, но так, что аж плакать хочется. Помогите, пожалуйста!


Да да, меня тоже интересует такая прога...

А пока, можно ли написать скрипт чтобы при выстреле заклинанием в какую-нибудь точку(точнее наверно на какую нибудь поверхность), призыв осуществлялся только в эту точку(тут ещё для новых заклинаний придётся писать скрипт на проверку наличия такой точки, что будет скорее всего сложнее).


Demolir  Offline  Сообщение №52 написано: 7 Ноябрь 2012, 08:50



420
Vlados007,

Я использую Notepad ++ (начиная с версии 5.9.8 у него уже есть поддержка .psc), причем его можно запускать прямо с СК. Но наверняка есть и другие внешние редакторы.

Не судите, да не судимы будите...
Mig08  Offline  Сообщение №53 написано: 8 Ноябрь 2012, 13:35



1
Scriptname MigCiurassScript extends Actor

Potion Property MigPotion Auto
Armor Property MigCuirass Auto

Event OnEquipped(Actor akActor) ; старт события при одевании брони

if (Game.GetPlayer().IsEquipped(MigCuirass)) ; проверка одета ли броня (почемуто неработает??)
Game.GetPlayer().AddItem(MigPotion, 1, true) ; добавление бутыльков для примера
Debug.Notification("Одета броня - добавим бутыльков")
endIf
endEvent

вот такой простенький скрипт, почемуто неработает, что неправильно
хотел зделать так чтоб пока одета(экипирована) вешь, чтото менялось в скрипте,

вариант запоминать состояние через переменную при экипировке, и проверять уже
саму переменную меня неустраивает

Добавлено (08.11.2012, 12:51)
---------------------------------------------
Мда, а свои сообщения тут редактировать нельзя чтоли?



скрипт сохраняется но в игре чтото неработает
Property в редакторе назначал непомогает

Добавлено (08.11.2012, 13:35)
---------------------------------------------
[spoiler=вариант, который меня неустраивает]
Scriptname ArmorBanditCuirassScript extends Actor ;ObjectReference
;; автор Mig
;; данный скрипт нужно просто прицепить в Редакторе к любой веши
;; в данном примере это ArmorBanditCuirass
Potion Property RestoreStamina01 Auto ; Бутылёк выносливости(малый)
Armor Property ArmorBanditCuirass Auto ; броня
int FlasksEnd = 0

Event OnEquipped(Actor akActor) ;Событие при одевании вещи(предмета)
FlasksEnd = 0
while FlasksEnd == 0 ; Цикл - альтернатива, проблема в том что переменную сложнее отслеживать из другого скрипта
Game.GetPlayer().AddItem(RestoreStamina01, 1, true) ; добавление бутылька для примера
Debug.Notification("Одета броня - добавим бутыльков")
Utility.Wait(30.0) ; Задержка для цикла в секундах
endWhile
endEvent

Event OnUnequipped(Actor akActor) ;Событие при одевании вещи(предмета)
if akActor == Game.GetPlayer() ; данная проверка необязательна.
FlasksEnd = 1 ; нужно просто присвоить переменной другое значение, для прерывания цикла
endIf
endEvent[/spoiler]


Demolir  Offline  Сообщение №54 написано: 13 Ноябрь 2012, 21:20 | Отредактировано: Demolir - 12 Ноябрь 2012, 19:39



420
Вынужден обратиться с вопросом, т.к. проверять все форумы - это уйма времени, а конкретно вопрос нигде не объяснялся.

Как подключить функционал SKSE к Creation Kit? Дело в том, что данный расширитель подключается видимо как-то иначе, не так как его предшественники OBSE и FOSE. Или новые функции начинают работать сами, после распаковки SKSE в папку с игрой?

Добавлено (12.11.2012, 19:03)
---------------------------------------------
Нет, не сами. Попробовал использовать новые skse-функции, постоянно одна и та же ошибка ""Название функции" is not a function or does not exist". Не видит ее редактор. unsure

Добавлено (13.11.2012, 21:20)
---------------------------------------------
Разобрался с данным вопросом самостоятельно. Объясню как это делается:

Новые функции действительно подключаются иначе. Но если для предшественников подключение значило изменение свойств самого редактора, то функции SKSE подключаются непосредственно в скриптах Papyrus, а точнее методом импорта модулей. Например так:

Import Actor
Import Input

либо перед каждой функцией указывается источник импорта:

Actor."function" ---
Input."function" ---

Как оказалось, все просто ;)


Не судите, да не судимы будите...
ArcherL  Offline  Сообщение №55 написано: 19 Ноябрь 2012, 16:32



36
Не подскажете, каким скриптом при заходе игроком в триггер можно воспроизвести звук или видеоролик?

Artem13  Offline  Сообщение №56 написано: 19 Ноябрь 2012, 18:55


Mercenaries. Со смертью на ты.


Что то я на странице СК не могу найти Справочник функций с описанием стандартных функций. Он вообще существует?


Да, мы бандиты и бродяги, как злословит молва,
Мы попадаем в передряги, помня эти слова.
Смотри вперед и не сдавайся ты на милость судьбе!
Предай их всех, останься верен себе. (Канцлер Ги - Кантри Бреган Д'Эрт)
sansuli  Offline  Сообщение №57 написано: 20 Ноябрь 2012, 07:20


The Red Sun


193
вопросов много а ответов нет, видимо люди сюда не особо заходят

Красное солнце
Есть вопросы по скриптам Papyrus? Пиши не в ЛС, а в эту тему.
Demolir  Offline  Сообщение №58 написано: 20 Ноябрь 2012, 12:42



420
Цитата Artem13

Он вообще существует?



Вот тут можно посмотреть. Описания функций правда очень краткие и без примеров.

----------------

Да, вопросы действительно набираются:

- как построить скрипт, который будет выполняться исключительно в режиме меню (если блоков GameMode и MenuMode больше не существует)? Использование MenuMode как функции условий не помогает.
- как задать значение переменной, находящейся в другом скрипте? Раньше это можно было сделать так Set QuestID.Var to Integer, а как это делается в папирусе?

Не судите, да не судимы будите...
Artem13  Offline  Сообщение №59 написано: 20 Ноябрь 2012, 17:54


Mercenaries. Со смертью на ты.


Demolir, сенькс.

Цитата Demolir

- как задать значение переменной, находящейся в другом скрипте? Раньше это можно было сделать так Set QuestID.Var to Integer, а как это делается в папирусе?


Судя по этой статье, в качестве родителя указывается не квест, а собственно скрипт. Попробуй.


Да, мы бандиты и бродяги, как злословит молва,
Мы попадаем в передряги, помня эти слова.
Смотри вперед и не сдавайся ты на милость судьбе!
Предай их всех, останься верен себе. (Канцлер Ги - Кантри Бреган Д'Эрт)
Demolir  Offline  Сообщение №60 написано: 21 Ноябрь 2012, 05:10



420
Цитата Artem13

Попробуй.


Эх...мне бы пример какой-нибудь лучше, слишком там много технического текста :D
Использовать ссылку на скрипт я уже пробовал, но не методом создания функции, а непосредственно вставкой в событие Event OnUpdate, с указанием propertis auto, чтобы потом можно было задать нужный скрипт. Неудачно, я не смог даже сохранить скрипт, видно этот способ не годится.

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





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