Форум » Записи участника [Dsion]

Результаты поиска
Dsion  Offline  Сообщение №601 | Тема: Вопросы по Creation Kit (продолжение старой темы) написано: 12 июня 2015, 14:41



Можно легко выполнить задачу, отредактировав квест с фразами "bad dog." и "good dog." Или можно тоже легко выполнить задание, отредактировав квест супружества или HF квест, в котором алиас собаки.

Вопрос в том, как эту задачу выполнить, не засовывая клешни в ванильные квесты...
Скриптик можно прицепить к любому событию, в принципе: игрок загружает игру, игрок меняет локацию, игрок просыпается итп. На любое событие можно повесить скрипт в 3 строчки, который помирит супруга и собаку.

Dsion  Offline  Сообщение №602 | Тема: Вопросы по Creation Kit (продолжение старой темы) написано: 12 июня 2015, 14:45 | Отредактировано: Dsion - 12 июня 2015, 14:46



Если собака - уникальный и лично тобой созданный Актор, то можно на неё саму повесить скрипт с ивентом OnLoad... Каждый раз при загрузке модели, собака будет делаться другом текущему супругу...

Или поменять собаке голос о_О Тоже поможет.

Такое, в общем.

Dsion  Offline  Сообщение №603 | Тема: Вопросы по скриптам Papyrus написано: 13 июня 2015, 08:25



Для скриптов есть функция
Weather currentWeather = Weather.GetCurrentWeather()

Но тебе, скорее, нужно не это, а Condition:
GetIsCurrentWeather - проверяет, соответствует ли погода выбранной
или
IsRaining - идет ли дождь (не проверял).
Эти условия можно просто на пакет вешать.

Dsion  Offline  Сообщение №604 | Тема: Вопросы по скриптам Papyrus написано: 13 июня 2015, 11:47



Проверил IsRaining - работает.

Dsion  Offline  Сообщение №605 | Тема: Вопросы по скриптам Papyrus написано: 13 июня 2015, 14:48



Вряд ли есть штатный способ переименования скриптов. Имя скрипта - это как имя класса в С++. Как тип переменной, если хотите. ObjectReference, Actor - это всё имена скриптом. Переименуем скрипт ObjectReference и тысячи других скриптов перестанут компилироваться.

Dsion  Offline  Сообщение №606 | Тема: Вопросы по Creation Kit (продолжение старой темы) написано: 14 июня 2015, 09:25



Уточним, правильно ли я понимаю, что должен делать этот лошадиный маркер...
Когда игрок использует быстрое перемещение в домашнюю локацию, сидя на лошади, то он появляется на обычном маркере всё еще сидя на лошади.
А если игрок перемещается в домашнюю локацию НЕ сидя на лошади, то игрок должен появиться на обычном маркете, а лошадь - на лошадином маркере.

Так это должно работать? Это не значит, что лошадь отправится пешком в конюшню, если игрок приедет на ней, а потом слезет.

Dsion  Offline  Сообщение №607 | Тема: Вопросы по Creation Kit (продолжение старой темы) написано: 14 июня 2015, 11:54



А можно класть не конкретные вещи, а лэвэлед листы... В них указывается список вещей, с какого уровня и с каким шансом они могут появляться.

Dsion  Offline  Сообщение №608 | Тема: Вопросы по скриптам Papyrus написано: 16 июня 2015, 12:09



Не приходит в голову ничего такого, что работало бы и с самодельными ядами. А если только со стандартными, то можно.

Dsion  Offline  Сообщение №609 | Тема: Вопросы по скриптам Papyrus написано: 16 июня 2015, 12:16



Ну или можно наделать кастомных ядов с любой длительностью действия. Даже сделать, чтоб на их силу влияли перки.
Но с теми, что игрок сам варит на алхимическом столе, - не знаю, как сделать... Без SKSE - точно не знаю.

Dsion  Offline  Сообщение №610 | Тема: Вопросы по скриптам Papyrus написано: 16 июня 2015, 14:53



Цитата nepewka

я имею ввиду длительность эффекта, который висит на нашем оружии.


я тоже. про это и написал.

Dsion  Offline  Сообщение №611 | Тема: Вопросы по скриптам Papyrus написано: 16 июня 2015, 15:18



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

Dsion  Offline  Сообщение №612 | Тема: Вопросы по скриптам Papyrus написано: 16 июня 2015, 16:21



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

Dsion  Offline  Сообщение №613 | Тема: Вопросы по скриптам Papyrus написано: 16 июня 2015, 19:20



Я плохо помню... Но разве игрок замедляется? Именно крик я не пробовал, но делал своё заклинание с замедлением времени и даже полной остановкой.
Помню, что выпущенные стрелы и огненные шары просто висели в воздухе и никуда не летели... Но не помню, чтоб замедлялся игрок...

Dsion  Offline  Сообщение №614 | Тема: Вопросы по скриптам Papyrus написано: 16 июня 2015, 20:00



Аа... Ну ладно.

Dsion  Offline  Сообщение №615 | Тема: Вопросы по Creation Kit (продолжение старой темы) написано: 17 июня 2015, 05:28



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

Dsion  Offline  Сообщение №616 | Тема: Вопросы по Creation Kit (продолжение старой темы) написано: 17 июня 2015, 06:21



Наверное, можно и так. Но я бы сделал это скриптом и в другой список.
И, возможно, новые товары не появятся в продаже до следующего сброса инвентаря торговца.

Dsion  Offline  Сообщение №617 | Тема: Вопросы по Creation Kit (продолжение старой темы) написано: 17 июня 2015, 09:38



Эх, Arin... Не вышло у меня привить тебе уважение к Кодексу :(
В описанном тобой случае конфликты не "вряд ли возможны", а гарантированы... Полная несовместимость с любым другим модом, который захочет добавить что-то торговцам таким же образом. Плюс несовместимость с торговцами из других модов и будущих DLC... И еще черт-знает-что.
А маленький скриптик мог бы добавить товары торговцам и сохранить совместимость мода с чем-угодно навсегда.

Мне так хотелось, чтоб именно ты научилась уважению к конечному пользователю... Чтоб твои работы приносили им только радость, а не проблемы с совместимостью/отключением мода/обновлением итп.

Dsion  Offline  Сообщение №618 | Тема: Вопросы по Creation Kit (продолжение старой темы) написано: 17 июня 2015, 09:41



Rivazza, сойдёт и так, если ты новичок и не дружишь со скриптами.
Но если какой-то другой мод другого автора тоже будет добавлять что-то в этот список еды, то не будет совместимым с твоим...

Dsion  Offline  Сообщение №619 | Тема: Вопросы по скриптам Papyrus написано: 18 июня 2015, 12:28



SoraSt, если максимально просто, то


Код
Scriptname SionRingScript extends ObjectReference

Event OnContainerChanged(ObjectReference akNewContainer, ObjectReference akOldContainer)

     Actor akTarget = (akNewContainer As Actor)

     If (akTarget && akTarget.IsDead())
         akTarget.Resurrect()
     EndIf

EndEvent

Dsion  Offline  Сообщение №620 | Тема: Вопросы по скриптам Papyrus написано: 18 июня 2015, 12:39



В Драгонборне одна из книг предотвращает нанесение урона спутникам заклинаниями. Можно посмотреть, как там это сделано.
Наверное, через Mod Spell Magnitude с определенными Conditions для Target.

Dsion  Offline  Сообщение №621 | Тема: Вопросы по Creation Kit (продолжение старой темы) написано: 18 июня 2015, 14:54



Нормальный вопрос. Посмотрим ванильный квест сна:

       
Код
If RelationshipMarriageFIN.IsRunning() == True && RelationshipMarriageFIN.GetStage() >= 10 && Game.GetPlayer().GetCurrentLocation() == LoveInterest.GetActorRef().GetCurrentLocation()
;             debug.trace(Self + "Giving player the Lover's Comfort spell on Sleep End")
             MarriageRestedMessage.Show()
             RemoveRested()
             Game.GetPlayer().AddSpell(MarriageSleepAbility, abVerbose = false)
         ElseIf Game.GetPlayer().GetCurrentLocation().HasKeyword(LocTypeInn) == True
;             debug.trace(Self + "Giving player the Well Rested spell for sleeping in an Inn")     
             WellRestedMessage.Show()
             RemoveRested()
             Game.GetPlayer().AddSpell(WellRested, abVerbose = false)
         ElseIf Game.GetPlayer().GetCurrentLocation().HasKeyword(LocTypePlayerHouse) == True
;             debug.trace(Self + "Giving player the Well Rested spell for sleeping in Player House")     
             Game.GetPlayer().AddSpell(WellRested, abVerbose = false)
         Else
;             debug.trace(Self + "Giving player the Rested spell for sleeping")     
             RestedMessage.Show()
             RemoveRested()
             Game.GetPlayer().AddSpell(Rested, abVerbose = false)
         EndIf

1. Если у игрока есть супруг/супруга и находится в той же локации, то будет MarriageSleepAbility - адский отдых.
2. Если локация помечена (ключевым словом) как гостиница, будет WellRested - хороший отдых.
3. Если локация помечена, как дом игрока, то тоже WellRested.
4. В остальных случаях - просто Rested.

Ну это, конечно, если игрок - не оборотень и ничего такого.

Dsion  Offline  Сообщение №622 | Тема: Вопросы по скриптам Papyrus написано: 18 июня 2015, 14:57



Не знаю. А консольная команда срабатывает?

Dsion  Offline  Сообщение №623 | Тема: Вопросы по скриптам Papyrus написано: 18 июня 2015, 15:12



Можно скриптом убить кого-угодно в любой момент. Хотя я уже запутался, что тебе нужно :) Ну разбирайся.

Dsion  Offline  Сообщение №624 | Тема: Вопросы по скриптам Papyrus написано: 18 июня 2015, 16:17



Я проверил скрипт, который сразу (во время старта игры) убивает NPC. Не очень хорошо. Когда приходишь к нему, он-то мертвый и воскрешается, но голый. Одежда не надета. И я даже знаю, почему, но это не интересно.

Лучшее, что пока пришло в голову, - это сделать два референса. На одном будет галочка "Starts Dead", а второй будет отключен. Экипировка кольца будет не воскрешать NPC, а отключать мертвого и включать на том же месте живого.

Dsion  Offline  Сообщение №625 | Тема: Вопросы по Creation Kit (продолжение старой темы) написано: 18 июня 2015, 16:20



Грю же, пометить всю локацию кейвордом LocTypePlayerHouse.

Dsion  Offline  Сообщение №626 | Тема: Вопросы по Creation Kit (продолжение старой темы) написано: 18 июня 2015, 16:23



Или, если нужно без редактирования локации, можно свой квест запилить со своим скриптом, который будет давать любую выбранную абилити...

Dsion  Offline  Сообщение №627 | Тема: Вопросы по скриптам Papyrus написано: 18 июня 2015, 17:05



Multigone, чойто? А вообще, пути, как минимум два:
1. Уменьшить урон исходящих заклинаний, если цель - союзник.
2. Уменьшить входящий урон, если атака прилетела от союзника.
Хоть что-то одно должно бы сработать.

SoraSt, может, как-то так... Не знаю. Это на референс вешается:

Код
Scriptname StartsDead extends Actor

Event OnInit()
     Utility.Wait(1.0)
     KillEssential()
     MoveToMyEditorLocation()
EndEvent

Dsion  Offline  Сообщение №628 | Тема: Вопросы по скриптам Papyrus написано: 18 июня 2015, 18:44



Видишь, какой Multigone отзывчивый и как подробно объясняет... У него следующий раз и спрашивай сразу...

Dsion  Offline  Сообщение №629 | Тема: Вопросы по скриптам Papyrus написано: 19 июня 2015, 08:16



Цитата Gvinpin

реально помогла проверка


Вот блин. Я уже было впал в праведный гнев и хотел спросить, чем тебя не устроила консольная команда GetGlobalValue, которой я тебе посоветовал проверять эту переменную.
А потом заметил, что этого сообщения нету в исходящих. Неужели не отравилось? Я был уверен, что послал его тебе в приват. Даже точно помню, что писал.

Dsion  Offline  Сообщение №630 | Тема: Вопросы по скриптам Papyrus написано: 19 июня 2015, 09:39



Цитата Multigone

но скрипты немного более динамичны


Что-то я вообще не понял, как вы собираетесь сделать это скриптом...
Установленный IgnoreFriendlyHits означает только то, что актор не будет становиться враждебным, если его пнут пару раз. Вам разве это нужно? Я подумал, что нужно вообще не наносить урона союзникам...

Форум » Записи участника [Dsion]
Поиск:





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