Под этим солнцем и небом мы тепло приветствуем Вас, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Бухта 2.0. Тёплая. Ламповая. Твоя.

Автор Тема: [Skyrim] Особенности скриптинга  (Прочитано 27481 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн UNREAL

  • *
  • Сообщений: 813
[Skyrim] Особенности скриптинга
« Ответ #60 : 29 Марта 2012, 23:06 »
0
Цитата: Рызор
Скриптос вот.
Scriptname aaaRazzeScriptosd extends activemagiceffect  
{Ололо, трололо}

ObjectReference Property ololosh  Auto  

Event OnEffectFinish(Actor target, Actor caster)
    ololosh.moveto(game.GetPlayer())
endEvent

А как выбрать любого нпс  в одном конце карты, потом игрок перемещается
в другой конец карты и вызвать спеллом того , что выбрал?

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

Оффлайн Рызоп

  • *
  • Сообщений: 1435
  • Пол: Мужской
  • Не ешь, подумой
[Skyrim] Особенности скриптинга
« Ответ #61 : 30 Марта 2012, 03:03 »
0
Пока еще не разобрался с хранением переменных.
Если хранить переменную с референсом в скрипте заклинания - то время его хранения всего-лишь один фрейм.
Пытался хранить переменные в скриптах, что привязаны к квестам, но пока еще полностью не разобрался в этом. Жаль, что нельзя просто тупо создать глобальную переменную для референсов
Награды За неоценимую помощь по переводу форума на новый движок и техническое содействие Отличительный знак "Пчела" - за трудолюбие, чуткость и отзывчивость

Оффлайн grgplus93

  • *
  • Сообщений: 5
[Skyrim] Особенности скриптинга
« Ответ #62 : 30 Апреля 2012, 10:40 »
0
В общем такой вопрос, как можно реализовать смену какого-нибудь (к примеру) статика, после определенного события? Что-то похожее на штурмы городов, где город преобразуется после оного?

Например: есть у нас дом, после активации красной кнопки модель дома подменяется на руины?

Оффлайн GKalian

  • *
  • Сообщений: 2152
  • Пришедший после
    • http://tesall.ru/
[Skyrim] Особенности скриптинга
« Ответ #63 : 30 Апреля 2012, 10:48 »
0
Скрипт на все объекты. Через disable и enable. Как-то так, но это скрипты, так что я не могу помочь подробнее.

Ты самое бессердечное  существо - жуткий реалист, говорящий отвратительные вещи.
© Борланд.
Награды За неоценимую помощь по переводу форума на новый движок и техническое содействие Почётный житель Бухты - за отличные видеоуроки по СК

Оффлайн Рызоп

  • *
  • Сообщений: 1435
  • Пол: Мужской
  • Не ешь, подумой
[Skyrim] Особенности скриптинга
« Ответ #64 : 30 Апреля 2012, 18:03 »
0
Лучше всего создать например маркер и к нему привязать удаляемые предметы через Enable Parent (В свойствах объекта)
Также делать и для создаваемых объектов. А потом задисаблить или заенаблить нужные маркеры. Вместе с ними включатся\удаляется все прикрепленные к ним объекты.

Для примера - посмотрите "Дом теплых ветров" в вайтране, там увидите несколько хМаркеров. С белой пометкой - эти удаляются при покупке апгрейда. С черной  пометкой - те появляются после покупки апгрейда и т.п.
« Последнее редактирование: 30 Апреля 2012, 18:04 от Рызор »
Награды За неоценимую помощь по переводу форума на новый движок и техническое содействие Отличительный знак "Пчела" - за трудолюбие, чуткость и отзывчивость

Оффлайн Eagle917

  • *
  • Сообщений: 170
  • Пол: Мужской
[Skyrim] Особенности скриптинга
« Ответ #65 : 06 Июня 2012, 18:21 »
0
может  кто  подсказать  как  сделать  что бы  референс  появлялся  при  определённой  стадии  квеста ? пытался  посмотреть  как  сделано  в  квестах  гильдии  воров  ,  но  так  и  не  нашёл  нужных  скриптов  всё  так  запутанно  по  сравнению  с облой  ((
« Последнее редактирование: 06 Июня 2012, 18:21 от Eagle917 »

Оффлайн UNREAL

  • *
  • Сообщений: 813
[Skyrim] Особенности скриптинга
« Ответ #66 : 06 Июня 2012, 19:30 »
0
Цитата: Eagle917
может  кто  подсказать  как  сделать  что бы  референс  появлялся  при  определённой  стадии  квеста ? пытался  посмотреть  как  сделано  в  квестах  гильдии  воров  ,  но  так  и  не  нашёл  нужных  скриптов  всё  так  запутанно  по  сравнению  с облой  ((
Смотря какой реф, если актер-уник, надо указать его в алиасах квеста,
и потом из скрипта - по условию (переменные или стадии квеста )
мув то-один раз конечно, можно и пакетом , но так не факт , что придет, с проблемой навмешей, особенно для кустомных локаций:
http://www.creationkit.com/ObjectReference.MoveTo_(Papyrus)

Также надо позаботиться об условии его пакета(опять же стадия квеста например), чтобы он не свалил в дефолтную локацию.
========
Если же какой-то рандомный актер , переместить его тоже возможно, но встает проблема его исполняемых пакетов,
с этим я еще не разбирался, да и не зачем это, может нарушить игру,
если конечно Вы не делаете мод по типу SG, хотя я считаю , что они там маются дурью, анимации для SG все равно нет.
« Последнее редактирование: 06 Июня 2012, 19:37 от UNREAL »

Оффлайн Eagle917

  • *
  • Сообщений: 170
  • Пол: Мужской
[Skyrim] Особенности скриптинга
« Ответ #67 : 06 Июня 2012, 20:27 »
0
а  если  реф это  предмет  статик  ?  (допустим  статуя) какой  тогда  метод  проще  применять?
« Последнее редактирование: 06 Июня 2012, 20:28 от Eagle917 »

Оффлайн UNREAL

  • *
  • Сообщений: 813
[Skyrim] Особенности скриптинга
« Ответ #68 : 06 Июня 2012, 20:57 »
0
Такой же, только выбрать свою статую в окне,
в скрипте, ее перед отсылкой отключить, после мувто, включить, иначе ее коллизия останется
в прошлой локации.

Оффлайн Eagle917

  • *
  • Сообщений: 170
  • Пол: Мужской
[Skyrim] Особенности скриптинга
« Ответ #69 : 06 Июня 2012, 20:59 »
0
спасибо  ))

Оффлайн худи-дуди

  • *
  • Сообщений: 2
[Skyrim] Особенности скриптинга
« Ответ #70 : 21 Июня 2012, 21:01 »
0
братцы помогите! делаю небольшой мод, застрял на скрипте телепортации, который вешается на зелье: два этапа 1) затемняется экран 2) в момент когда экран черный происходит телепортация. Второй этап почему-то не работает, после затемнения игрок остается на месте
[hide]
    Scriptname tel2 extends activemagiceffect  
ObjectReference Property teleportmarker auto

Event OnInit()
Utility.Wait(3)
game.FadeOutGame(true, True, 2, 6)
RegisterForSingleUpdate(8)
EndEvent

Event OnUpdate()
game.GetPlayer().MoveTo(teleportmarker)
EndEvent[/hide]
« Последнее редактирование: 21 Июня 2012, 21:07 от худи-дуди »

Оффлайн UNREAL

  • *
  • Сообщений: 813
[Skyrim] Особенности скриптинга
« Ответ #71 : 21 Июня 2012, 21:33 »
0
Цитата: худи-дуди
братцы помогите! делаю небольшой мод, застрял на скрипте телепортации, который вешается на зелье: два этапа 1) затемняется экран 2) в момент когда экран черный происходит телепортация. Второй этап почему-то не работает, после затемнения игрок остается на месте
[hide]
    Scriptname tel2 extends activemagiceffect  
ObjectReference Property teleportmarker auto

Event OnInit()
Utility.Wait(3)
game.FadeOutGame(true, True, 2, 6)
RegisterForSingleUpdate(8)
EndEvent

Event OnUpdate()
game.GetPlayer().MoveTo(teleportmarker)
EndEvent[/hide]
В проперти скрипта указали, что за именно реф?

А вообще , все действия перемещений в игровом мире лучше делать из квестового скрипта,
в маг. эффектах же указывать квест-скрипту (глоб.переменными например) что делать.
« Последнее редактирование: 21 Июня 2012, 21:35 от UNREAL »

Оффлайн худи-дуди

  • *
  • Сообщений: 2
[Skyrim] Особенности скриптинга
« Ответ #72 : 21 Июня 2012, 22:10 »
0
Цитата: UNREAL
В проперти скрипта указали, что за именно реф?

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

проперти указал. Если телепортацию и затемнение поместить в один ивент OnInit то все работает, но затемнение тогда не успевает отработать свои 10 секунд. Т.е. получается какой-то конфликт ивентов. То же самое если вешать скрипт на амулет уже не как магическим эффектом а просто скриптом.

Оффлайн Anton

  • *
  • Сообщений: 158
  • Пол: Мужской
  • Экспериментатор
[Skyrim] Особенности скриптинга
« Ответ #73 : 19 Июля 2012, 23:44 »
0
Как добавляют скрипты на Главного Героя ?

На вещь, понятно - нашёл её в редакторе, открыл Свойства, закладку "скрипты", и добавил.
А как на ГГ добавляют чего то не понял пока.

Оффлайн UNREAL

  • *
  • Сообщений: 813
[Skyrim] Особенности скриптинга
« Ответ #74 : 19 Июля 2012, 23:52 »
0
Через квестовый скрипт или скрипт эффекта заклинания

Оффлайн Anton

  • *
  • Сообщений: 158
  • Пол: Мужской
  • Экспериментатор
[Skyrim] Особенности скриптинга
« Ответ #75 : 20 Июля 2012, 21:08 »
0
Я извиняюсь, но ничего не понял как ето делается. А можно поделиться рабочим примером ? (по нему мне будет проще разобраться...)

Вот например: как добавить себе заклинание при старте игры ? (не чтением книги - а чтобы сразу появилось, ну типа команды Player.AddSpell XXXX)

...

Всё, сам разобрался ! Вот кстати ссылочка полезная, благодаря которой у меня всё получилось КЛИК
« Последнее редактирование: 21 Июля 2012, 17:27 от Anton »

Оффлайн Anton

  • *
  • Сообщений: 158
  • Пол: Мужской
  • Экспериментатор
[Skyrim] Особенности скриптинга
« Ответ #76 : 22 Августа 2012, 12:37 »
0
Ещё один глупый вопрос возник:    Как получить ИМЯ персонажа ?

Например есть у меня НПС присвоенный переменной: "Actor  RandomNPC"
Как вывести его Имя на экран командой "Debug.Notification()" ?

Оффлайн akba

  • *
  • Сообщений: 315
[Skyrim] Особенности скриптинга
« Ответ #77 : 22 Августа 2012, 16:23 »
0
Создаем новый квест, цепляем ему скрипт, в проперти указываем штуку, кот.надо дать (спелл, железку)

Scriptname Eisennewscript  extends Quest 

;================================================================
Event onInit()                       ; This event will run once, when the script is initialized

   utility.wait(2)

   Actor PlayerActor = Game.GetPlayer()
   PlayerActor.Additem(zArmorWEisenCuirass, 1)
              PlayerActor.AddSpell (trahtibidoh); ну или спелл
endEvent
;================================================================
Armor Property zArmorWEisenCuirass  Auto 
SPELL Property trahtibidoh  Auto
==
==
==
Про имя не знаю, а зачем имя , вы повесьте на него как.виз.эффект , если для теста, т.е. что то с ним происходит, что надо и он начинает светиться.

Оффлайн Anton

  • *
  • Сообщений: 158
  • Пол: Мужской
  • Экспериментатор
[Skyrim] Особенности скриптинга
« Ответ #78 : 22 Августа 2012, 17:18 »
0
А ведь и правда можно спец эффект прилепить, а я как то на Имени зациклился, спасибо !

(хотя ради спортивного интереса всё таки интересно узнать, как получить Имя НПС)

Оффлайн AleksTirex

  • *
  • Сообщений: 424
[Skyrim] Особенности скриптинга
« Ответ #79 : 11 Октября 2012, 00:38 »
0
Цитировать
Ещё один глупый вопрос возник:    Как получить ИМЯ персонажа ?
Смотря что именно надо, имя актёра (Вася, Петя и т.д.) или что за актёр запомнен в этой переменной RandomNPC?

1. Если "что за актёр RandomNPC", то это вот так: Debug.Notification("Актёр FormID:" + RandomNPC), тогда высветится FormID актёра и скрипт/квест (в зависимости что за переменная RandomNPC: актёр или алиас)

2. Если надо конкретно имя актёра, то здесь лучше пользоваться message, а не Notification. Это делается так:
а. Нужен свой квест, в нём создаётся в разделе Quest Aliases алиас, например AliasRandomNPC с галочкой Optional и с позицией Specific Reference, больше ничего там не надо заполнять.
б. Создаётся message в одноимённом разделе КК, например MessageName, в котором указываете в Owner Quest ваш квест, и в графе Message Text прописываете следущее: Имя актёра <Alias=AliasRandomNPC>
в. Для вывода этого сообщения в нужном скрипте надо прописать так:

   AliasRandomNPC.ForceRefTo(RandomNPC)
   MessageName.Show()
   Utility.Wait(0.2)
   AliasRandomNPC.Clear()

Тогда на экране высветится сообщение типа: Имя актёра Вася
Хоть и вместо одной команды Debug.Notification() будет 4 команды, но результат того стоит.
Награды Орден "Ремесленник" - за уникальный плагин "Мелисса"  Орден "Ремесленник" - за мод "Сказка о потерянном счастье"

Оффлайн Anton

  • *
  • Сообщений: 158
  • Пол: Мужской
  • Экспериментатор
[Skyrim] Особенности скриптинга
« Ответ #80 : 13 Октября 2012, 17:21 »
0
Это как раз то, что мне было нужно ! Спасибо ! (я бы сам никогда не додумался до такой реализации  :-X)

Побежал проверять ....

Оффлайн Demolir.uptar

  • *
  • Сообщений: 1
[Skyrim] Особенности скриптинга
« Ответ #81 : 20 Ноября 2012, 15:36 »
0
Здравствуйте. Есть парочка вопросов, связанных с папирусом:

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

Оффлайн РЕДМЕНЪ

  • *
  • Сообщений: 17291
  • Красный мракобесЪ
[Skyrim] Особенности скриптинга
« Ответ #82 : 21 Декабря 2015, 10:52 »
+1
Нарисовалась проблема: при попытке добавить новый скрипт конструктор вылетает.

Вопрос: как лечить?
УЛЫБНИСЬ МИРУ И МИР УЛЫБНЁТСЯ ТЕБЕ!
Награды Маяк - за неоценимую помощь в создании Бухты 2.0 Мужественному и неотразимому Господину Бухты-2016 Друг императора - монетка на удачу! За то, что успевает, проделывает, умудряется и непонятный (ПП 2014 года) За участие в Битве сонетов За победу на новогоднем конкурсе скриншотов "Зимний пейзаж" Нетрезвому Драугру, правившему бал на Фестивале ведьм 13.10.13 Цветущий Кактус - лучшему критику Первого поэтического конкурса Бухты Синяя Роза - за победу на Первом поэтическом конкурсе Бухты За обширный и значительный вклад в развитие сайта и форума (ВП 2012 года) За обширный и значительный вклад в развитие сайта и форума (ПП 2012 года) Друг Скайрима - монетка на удачу! Почётный житель Бухты (ВП 2011) Победитель конкурса модмейкеров №1 по теме "Расы" Золотой Пергамент - за замечательные рассказы (ВП 2011 года)

Оффлайн Станислав

  • *
  • Сообщений: 2
[Skyrim] Особенности скриптинга
« Ответ #83 : 10 Ноября 2018, 16:12 »
0
люди! есть кто живой в блоге??? есть вопросы!!!

имеем скрипе с переменной b, ее нужно прочитать другим скриптом! я задолбался лазить по нету ища эту информацию! помогите... как правильно прописать ее во втором скрипте?

пишу в первом скрипте

int property b auto