Добавлено (03.10.2013, 20:14) --------------------------------------------- прошу разъяснить по порядку куда и что вставлять? а то у меня уже дым из ушей валит
Добавлено (03.10.2013, 21:36) --------------------------------------------- прикольно... но в ветреном пике (золотой коготь) я абсолютно не нашёл места с рычагом... хотя в игре оно есть....
что то я нифига не пойму.привязываю нпц к маркеру на вкладке linked ref и никакого эффекта..пакет у нпц верный,сетка есть,даже в ownership маркера указал нпц..ходит вокруг да около и не хочет с маркером связываться..было у кого подобное?
сетку путей переделай.. так чтобы треугольники в нужную сторону смотрели.. было такое.. вместо того чтоб на прямую идти кругами ходили нпс
у меня было так: пути идут по кругу с одной точки, т.е. один нпс идёт по часовой, другой против часовой стрелки, так первый нпс шёл как надо, а второй доходил до определённой точки разворачивался обходил по кругу до этой точки, опять разворачивался и продолжал путь уже как надо. присмотрелся к сетке путей и в одном месте у меня сходились 4 треугольника, а не три... (т.е. так /|\|, а не /|/|)...
(надо сделать свойство AliasItem и назначить на него свой алиас вещи, а потом писать команды скрипта)
чтото у меня не выходит его задать(( из топика..
Добавлено (04.10.2013, 21:19) --------------------------------------------- при попытки скомпилировать 2 последнии стадии он пишет:
Starting 1 compile threads for 1 files... Compiling "QF_000ThePassageInPrison_010DF766"... C:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source\temp\QF_000ThePassageInPrison_010DF766.psc(33,0): variable akSpeaker is undefined C:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source\temp\QF_000ThePassageInPrison_010DF766.psc(33,26): GetRef is not a function or does not exist C:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source\temp\QF_000ThePassageInPrison_010DF766.psc(33,10): none is not a known user-defined type C:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source\temp\QF_000ThePassageInPrison_010DF766.psc(43,34): GetRef is not a function or does not exist C:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source\temp\QF_000ThePassageInPrison_010DF766.psc(43,54): variable akSpeaker is undefined No output generated for QF_000ThePassageInPrison_010DF766, compilation failed.
Batch compile of 1 files finished. 0 succeeded, 1 failed. Failed on QF_000ThePassageInPrison_010DF766
Добавлено (04.10.2013, 23:11) --------------------------------------------- а при таком варианте скрипта:
;BEGIN ALIAS PROPERTY PassInPrison ;ALIAS PROPERTY TYPE ReferenceAlias ReferenceAlias Property Alias_PassInPrison Auto ;END ALIAS PROPERTY
;BEGIN ALIAS PROPERTY ShefGuard ;ALIAS PROPERTY TYPE ReferenceAlias ReferenceAlias Property Alias_ShefGuard Auto ;END ALIAS PROPERTY
;BEGIN ALIAS PROPERTY GuardPrison ;ALIAS PROPERTY TYPE ReferenceAlias ReferenceAlias Property Alias_GuardPrison Auto ;END ALIAS PROPERTY
;BEGIN FRAGMENT Fragment_0 Function Fragment_0() ;BEGIN CODE SetObjectiveDisplayed(10) ;END CODE EndFunction ;END FRAGMENT
;BEGIN FRAGMENT Fragment_0 Function Fragment_0(ObjectReference akSpeakerRef) Actor akSpeaker = akSpeakerRef as Actor ;BEGIN CODE GetOwningQuest().SetStage(30) ;END CODE EndFunction ;END FRAGMENT
;BEGIN FRAGMENT Fragment_0 Function Fragment_0(ObjectReference akSpeakerRef) Actor akSpeaker = akSpeakerRef as Actor ;BEGIN CODE GetOwningQuest().SetStage(40) ;END CODE EndFunction ;END FRAGMENT
;END FRAGMENT CODE - Do not edit anything between this and the begin comment
Alias Property Pass Auto
Alias Property Pass1 Auto
выдаёт следующее сообщение:
Starting 1 compile threads for 1 files... Compiling "QF_000ThePassageInPrison_010DF766"... C:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source\temp\QF_000ThePassageInPrison_010DF766.psc(29,0): script function fragment_0 already defined in the same state C:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source\temp\QF_000ThePassageInPrison_010DF766.psc(38,0): script function fragment_0 already defined in the same state No output generated for QF_000ThePassageInPrison_010DF766, compilation failed.
Batch compile of 1 files finished. 0 succeeded, 1 failed. Failed on QF_000ThePassageInPrison_010DF766
Добавлено (04.10.2013, 23:34) --------------------------------------------- в общем не хочет он строчки вставлять! ругается... говорить ему якобы не с кем, и команду вторую он не понимэ!
Добавлено (05.10.2013, 09:38) --------------------------------------------- 40вые строки не видишь во фрагментах...
Добавлено (05.10.2013, 09:57) --------------------------------------------- всёравно не понимает..
Starting 1 compile threads for 1 files... Compiling "QF_000ThePassageInPrison_010DF766"... C:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source\temp\QF_000ThePassageInPrison_010DF766.psc(33,54): variable akSpeaker is undefined C:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source\temp\QF_000ThePassageInPrison_010DF766.psc(43,0): variable akSpeaker is undefined C:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source\temp\QF_000ThePassageInPrison_010DF766.psc(43,10): none is not a known user-defined type No output generated for QF_000ThePassageInPrison_010DF766, compilation failed.
Batch compile of 1 files finished. 0 succeeded, 1 failed. Failed on QF_000ThePassageInPrison_010DF766
не может определить с кем говорить.. (akSpeaker)
Добавлено (05.10.2013, 10:14) --------------------------------------------- я вечером полностью переделал квест и получил такой основной скрипт:
;BEGIN FRAGMENT CODE - Do not edit anything between this and the end comment ;NEXT FRAGMENT INDEX 11 Scriptname QF_000ThePassageInPrison_010DF766 Extends Quest Hidden
;BEGIN ALIAS PROPERTY ShefGuard ;ALIAS PROPERTY TYPE ReferenceAlias ReferenceAlias Property Alias_ShefGuard Auto ;END ALIAS PROPERTY
;BEGIN ALIAS PROPERTY PassInPrison ;ALIAS PROPERTY TYPE ReferenceAlias ReferenceAlias Property Alias_PassInPrison Auto ;END ALIAS PROPERTY
;BEGIN ALIAS PROPERTY GuardPrison ;ALIAS PROPERTY TYPE ReferenceAlias ReferenceAlias Property Alias_GuardPrison Auto ;END ALIAS PROPERTY
;BEGIN FRAGMENT Fragment_9 Function Fragment_9() ;BEGIN CODE SetObjectiveCompleted(40) ;END CODE EndFunction ;END FRAGMENT
;BEGIN FRAGMENT Fragment_7 Function Fragment_7() ;BEGIN CODE setObjectiveCompleted(30) setObjectiveDisplayed(40) Game.GetPlayer().RemoveItem(Pass1.GetRef(), 1, false, akSpeaker) ;END CODE EndFunction ;END FRAGMENT
;BEGIN FRAGMENT Fragment_2 Function Fragment_2() ;BEGIN CODE SetObjectiveCompleted(10) SetObjectiveDisplayed(30) akSpeaker.RemoveItem(Pass.GetRef(), 1, false, Game.GetPlayer()) ;END CODE EndFunction ;END FRAGMENT
;BEGIN FRAGMENT Fragment_0 Function Fragment_0() ;BEGIN CODE SetObjectiveDisplayed(10) ;END CODE EndFunction ;END FRAGMENT
;END FRAGMENT CODE - Do not edit anything between this and the begin comment
Добавлено (06.10.2013, 15:06) --------------------------------------------- вроде квест заработал, но герой берёт вещь и тут же отдаёт его! не отходя от нпс 2... даже разговора не начинает с нпс 1
в общем перемещения вещи в инвентарь не происходит, а стадия завершается как будто он вещь получил и вещь отдал!
Добавлено (06.10.2013, 16:06) --------------------------------------------- значит так пункт по перемещению вещи от нпс2 к гг выполняется.. и тут же выполняется пункт по перемещению вещи к нпс1 на веще у меня сидит скрипт:
так я убрал этот скрипт, всё равно берёт и тут же отдаёт а мне надо чтобы он взял у нпс2 пошёл к нпс1 и отдал.. я даже из 40 стадии перенёс это в 50..
Добавлено (06.10.2013, 16:58) --------------------------------------------- может добавить промежуточный пункт отнести вещь нпс1? и топик со связью??...
Добавлено (06.10.2013, 17:22) --------------------------------------------- возможно нужно впереди команду добавить, чтобы он отдавал только после разговора с нпс1?
уловил маленький нюанс, но всё равно он перескакивает стадию квеста вещь получил и квест закончил, а отнести... отдать...
вот уже в топиках скрипты:
первый ;BEGIN FRAGMENT CODE - Do not edit anything between this and the end comment ;NEXT FRAGMENT INDEX 2 Scriptname TIF__010DFD01 Extends TopicInfo Hidden
;BEGIN FRAGMENT Fragment_1 Function Fragment_1(ObjectReference akSpeakerRef) Actor akSpeaker = akSpeakerRef as Actor ;BEGIN CODE GetOwningQuest().SetObjectiveDisplayed(10) GetOwningQuest().SetStage(10) ;END CODE EndFunction ;END FRAGMENT
;END FRAGMENT CODE - Do not edit anything between this and the begin comment
то что на поиск нпс2
второй:
;BEGIN FRAGMENT CODE - Do not edit anything between this and the end comment ;NEXT FRAGMENT INDEX 1 Scriptname TIF__010DFD04 Extends TopicInfo Hidden
;BEGIN FRAGMENT Fragment_0 Function Fragment_0(ObjectReference akSpeakerRef) Actor akSpeaker = akSpeakerRef as Actor ;BEGIN CODE GetOwningQuest().SetObjectiveDisplayed(30) GetOwningQuest().setstage(30) akSpeaker.RemoveItem(Propusk1.GetRef(), 1, false, Game.GetPlayer()) ;END CODE EndFunction ;END FRAGMENT
;END FRAGMENT CODE - Do not edit anything between this and the begin comment
ReferenceAlias Property Propusk1 Auto
на получение вещи.
и третий:
;BEGIN FRAGMENT CODE - Do not edit anything between this and the end comment ;NEXT FRAGMENT INDEX 1 Scriptname TIF__010DFD07 Extends TopicInfo Hidden
;BEGIN FRAGMENT Fragment_0 Function Fragment_0(ObjectReference akSpeakerRef) Actor akSpeaker = akSpeakerRef as Actor ;BEGIN CODE Game.GetPlayer().RemoveItem(Propusk1.GetRef(), 1, false, akSpeaker) GetOwningQuest().SetObjectiveDisplayed(40) GetOwningQuest().SetStage(40) ;END CODE EndFunction ;END FRAGMENT
;END FRAGMENT CODE - Do not edit anything between this and the begin comment
ReferenceAlias Property Propusk1 Auto
вроде должен к нпс1 послать, но этого не происходит просто идёт перескок на стадию завершения квеста и всё
Добавлено (06.10.2013, 22:42) --------------------------------------------- не знаю почему но всё таки он заработал... я после создания квеста малость корректировал локу ну и сохранял мод...
я про те команды что ты говорил... что должны быть в топиках.. давай ещё поржом над моей писанино.. где в скрипте на рычаг я написал ахинею? (хотя быстрее всего он весь ахинея) ObjectReference Property GuardPrison Auto Quest Property ThePassageInPrison Auto ObjectReference Property TeleportMarker auto
я программировал на уровне скриптов лет 20 назад... на древнем бэсике, и многие команды сейчас не знаю... а вот то что пересекается с ним более менее оприходую... вот и накапливаю познания по современным языкам)) спс за подчёркивание ошибок... любое изучение начинается с повторения.. и как в вики, да и в видео, было написано в стадиях дублируются команды... и прежде чем начать их убирать с начало смотришь на всё это работает в совокупности...
Добавлено (07.10.2013, 11:01) --------------------------------------------- вопрос: нпс как сидел на месте так и сидит... не хочет вставать и дёргать за рычаг.. а в аипакетах я не нашёл подобного пакета... (TryToEvaluatePackage())
TryToEvaluatePackage() - это команда на пересмотр пакетов актёра-алиаса, а не сам пакет. Чтобы актёр не ждал планового пересмотра пакетов (10-20 сек.), а сменил пакет сейчас.Алиасу надо дать пакет с типом Activate и там цель - твой рычаг, условие на пакете "стадия == 40". На рычаге скрипт, который я писал чуть раньше, чтобы при его активации переключалась стадия и квест выключался, и ГГ телепортировался.
на рычаге висит скрипт ObjectReference Property GuardPrison Auto Quest Property ThePassageInPrison Auto ObjectReference Property TeleportMarker auto
ты меня тоже извини, но из простейшего действия, как я вижу получается не очень простое указание всего.. я занялся квестами только недели 2... и не всё ещё понял.. многое даже на вики: "страница в процессе написания"
Добавлено (08.10.2013, 01:08) --------------------------------------------- вот окно алиаса http://savepic.su/3435212.jpg там есть окошки с пакетами но не те..
Добавлено (08.10.2013, 01:10) --------------------------------------------- вроде нашёл.. посмотрим что выйдет
что то не выходит... пакет висит у алиаса, и у нпс... а он не встаёт
Добавлено (08.10.2013, 01:37) --------------------------------------------- поставил я туда пакет.. http://savepic.su/3471054.jpg честно говоря там немного запутано(( мягко говоря...
спс... одна маленькая строчка... хотя в стадиях она есть((
Добавлено (08.10.2013, 22:00) --------------------------------------------- на рисовать локу плёвое дело.. а вот заселить её.... вон сколько подводных камней...
Добавлено (08.10.2013, 22:07) --------------------------------------------- для создания второго такого квеста параллельного, нужно всё делать по 2, кроме нпс 2? и если так, то как сделать чтобы оба квеста пересекались? т.е. берешь квест у первого НПС1 а можешь сдать второму НПС1... и там и там квест заканчивался бы...
вопрос: как сделать чтобы вещь у нпс в квесте регенерировалась?...
Добавлено (11.10.2013, 09:48) --------------------------------------------- подскажите как добавить звуковой файл? я поставил маркер, и мне нужно подсоединить свой фаил..
вопрос со звуком снят.. нашёл
Добавлено (11.10.2013, 10:57) --------------------------------------------- подскажите где отключение перехода вида в этой строчке: Game.DisablePlayerControls(True, True, True, False, True, False, True)? мне просто нужно сохранение от первого лица в сцене а то эффект портиться. я уже все комбинации перепробовал(
подскажите где отключение перехода вида в этой строчке: Game.DisablePlayerControls(True, True, True, False, True, False, True)? мне просто нужно сохранение от первого лица в сцене а то эффект портиться. как не включаю/выключаю в игре колесо мыши крутану, и вид меняется...
Изменение репутации для пользователя StanislavD
StanislavDOffline
Сообщение №118
| Тема: Вопросы по скриптам Papyrus
написано: 13 октября 2013, 16:45
| Отредактировано: StanislavD - 13 октября 2013, 18:19
читал её... ставил, но стоит в игре повернуть колесо мыши от 3 лица вид(
нифига не выходит... надо отключить практически всё управление, ато портится вся картина((
вот скрипт:
ObjectReference Property Point1 Auto ObjectReference Property Point2 Auto ObjectReference Property Point3 Auto ObjectReference Property Point4 Auto ObjectReference Property Point5 Auto ObjectReference Property Point6 Auto ObjectReference Property Point7 Auto ObjectReference Property Panel Auto ObjectReference Property mySound Auto
Event OnTriggerEnter(ObjectReference akActionRef) If akActionRef == Game.GetPlayer() ; Limit this trigger to the player only. Game.GetPlayer().SetAlpha(0) Game.GetPlayer().SetGhost(True) Game.DisablePlayerControls(1, 1, 1, 0, 1, 0, 1); Блокировка всего управления кроме обзора. Utility.Wait(0.1) Game.GetPlayer().TranslateToRef(Point1, 200) Utility.Wait(0.0) Game.GetPlayer().TranslateToRef(Point2, 200) Utility.Wait(0.0) Game.GetPlayer().TranslateToRef(Point3, 200) Utility.Wait(0.0) Game.GetPlayer().TranslateToRef(Point4, 200) Utility.Wait(0.0) Game.GetPlayer().TranslateToRef(Point5, 200) Utility.Wait(0.0) Game.GetPlayer().TranslateToRef(Point6, 200) Utility.Wait(0.0) Game.GetPlayer().TranslateToRef(Point7, 200) Utility.Wait(0.0) Panel.Disable() Game.GetPlayer().SetAlpha(1) Game.GetPlayer().SetGhost(False) Game.EnablePlayerControls() EndIf EndEvent
Писать Utility.Wait(0.0) не стоит - время нулевое, поэтому никаких действий не будет.
я знаю просто время вылавливал... лучше поясни по скриптам что не так.. я пробовал включать каждый параметр отдельно и с 0/1 и с false/true... почемуто дергая колесо менялся вид с первого лица на вид от третьего
Изменение репутации для пользователя StanislavD
StanislavDOffline
Сообщение №120
| Тема: Вопросы по скриптам Papyrus
написано: 8 сентября 2018, 08:27
| Отредактировано: ApeX - 8 сентября 2018, 19:08
нужен скрипт чтобы отслеживать состояние PortGatePole02 - пика выдвинута, пика убрана... нужен скрипт чтобы отслеживать состояние TrapLinker - прошла активация через него или нет...Перемещено в соответствующую тему. ApeX