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

Результаты поиска
Dsion  Offline  Сообщение №1111 | Тема: Вопросы по скриптам Papyrus написано: 3 июля 2017, 11:27



Цитата m4mk203

Можешь расписать пошагово как на него вешать обработку события?


Да просто фигаришь квест (должен быть запущенным), в квесте алиас, а в алиасе Specific Reference и выбираешь игрока. Потом на него можно скрипты вешать, умения и еще всякое.

Dsion  Offline  Сообщение №1112 | Тема: Вопросы по скриптам Papyrus написано: 3 июля 2017, 11:48 | Отредактировано: Dsion - 3 июля 2017, 11:49



m4mk203, ну можно и остановить, если датчик когтей перестанет быть нужен. А вообще, в игре дофига таких "невидимых" квестов, которые всегда работают и тихонько что-то делают.

Dsion  Offline  Сообщение №1113 | Тема: Вопросы по скриптам Papyrus написано: 3 июля 2017, 17:04



m4mk203, а обязательно делать это всё в момент смены локации? Нельзя запереть сундук, добавить туда лут и ловушку в момент активации его игроком?
А если в момент смены локации... Ну можно зафигарить квест с сотней алиасов и режимом их заполнения: Find Matching Reference. В момент старта квеста такие алиасы сами заполняются референсами, которые удовлетворяют условия.
С SKSE тоже можно: там есть поиск всех референсов в локации. Но это всё лажа лажовая.

Dsion  Offline  Сообщение №1114 | Тема: Вопросы по скриптам Papyrus написано: 6 июля 2017, 20:02



Цитата m4mk203

Задумка в том, что при каждом входе игрока в локацию там автоматом будет происходить респавн спецлута, спецмонстров, всех замков в локе. То есть: зашел в локу - вычистил - вышел - через 5 мин вернулся в ту же самую локу, а там все новенькое блестит и кусается.


Ну вообще-то есть функция для сброса... Но она действует на Cell, а не на локацию. А локация может состоять из нескольких Cell.
Можно сделать, но надо почесать репу. Например, пусть посещенные игроком Cell добавляются в список. А при смене локации, все Cell из списка сбрасываются.

Dsion  Offline  Сообщение №1115 | Тема: Вопросы по скриптам Papyrus написано: 7 июля 2017, 20:15



m4mk203, в нормальной ванильной игре локации сами сбрасываются через определенное время, которое регулируется то ли глобальной переменной, то ли одной из game settings. Но менять эту настройку - вообще не вариант т.к. затронет все локации, которые вообще могут сбрасываться.
А вот с функцией reset() на cell я бы поэкспериментировал. Вполне возможно, что всё легко и круто получится.

Спавн лута в сундуке в момент активации - точно можно. Даже без скрипта на сундуке. Разобрался бы с перками. В частности, с "add activation choice" - там можно перехватить любую активацию чего-угодно.

Dsion  Offline  Сообщение №1116 | Тема: Вопросы по скриптам Papyrus написано: 13 июля 2017, 10:53



dint999, лично я не очень понял, что означает "выбор в меню". Сделать выполнение скрипта при экипировке оружия легко. Но он выполняется уже после экипировки. То есть, скрипту надо будет снять меч, надеть броню, а потом снова надеть меч? Ну да, кривовато, но такое можно. А что означает "выбирался"?

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

Dsion  Offline  Сообщение №1117 | Тема: Вопросы по скриптам Papyrus написано: 13 июля 2017, 12:44 | Отредактировано: Dsion - 13 июля 2017, 12:45



dint999, ну и ладно. Можно либо снимать+надевать броню при экипировке оружия. Либо "связать" броню с оружием. Тогда броня будет надеваться при экипировке оружия и сниматься при снятии оружия. Не подойдет такое?

И оба варианта можно реализовать двумя способами: либо скриптом на оружии (если это кастомное оружие), либо скриптом на игроке (если оружие ванильное и не хочется его редактировать).

В любом случае, скрипт совсем простой. Если выберешь вариант, мы скрипт зафигарим.

Можешь пока вот такой самый тупой вариант попробовать (вешается на оружие, проперти заполняется броней):


Код
Scriptname ... extends ObjectReference

Armor Property SomeArmor Auto

Event OnEquipped(Actor akActor)
    akActor.EquipItem(SomeArmor, true, true);
EndEvent

Event OnUnequipped(Actor akActor)
    akActor.UnequipItem(SomeArmor, false, true);
EndEvent

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



Lost_God, да и забей ты на тот мод. Сделай свой. Варианта два:
1) Через перк. Находишь перк от "The Lover Stone" (камень любовника или как его). Создаешь дубликат. Меняешь название и бонус. Сохраняешь мод. Получается мод со всего одной записью - перком. А потом в игре добавляешь себе этот перк через консоль по ID. ID можно либо посмотреть в редакторе заранее, либо найти перк в консоли командой "help" (типа help MySexyPerk). Где MySexyPerk - имя перка, которое задается в самом перке. Не ID под которым он видел в таблице перков.
2) Через настройку fSkillUseCurve. Поменять можно в Creation kit в Game Settings. По-умолчанию там, вроде, 1,95. Но скорость прокачки скиллов не пропорциональна этой цифре. Она пропорциональна уровню скила, возведенному в степень fSkillUseCurve. Потому эффект этой настройки мало заметен при низких уровнях скиллов, но сильно заметен на высоких уровнях. Если повысишь эту цифру всего до 2.10, то взять 100 уровень навыка будет в два раза сложнее. 1.8 - в два раза легче.

Лично я использую второй вариант и играю с fSkillUseCurve = 2.2 или больше. Поначалу это прокачку скилов почти не замедляет, но под конец качается всё в 3-4 раза медленнее. Но тебе больше 1й вариант подойдет, наверное.

Dsion  Offline  Сообщение №1119 | Тема: Вопросы по Creation Kit (продолжение старой темы) написано: 14 июля 2017, 13:06 | Отредактировано: Dsion - 14 июля 2017, 13:09



Lost_God, да, странно... И что перк не добавляется - странно. И с curve странно.
Там формула требуемого XP какая-то такая:
Skill_Improve_Mult * skill_level1.95 + Skill_Improve_Offset

Если curve - 1.95 и уровень навыка - 50, то множитель 2055.
А если ты curve поставил 1 и уровень навыка снова 50, то множитель всего 50. Разница должна бы быть офигенно заметна. Хотя, может, там оффсет очень большой..?

Короче, лучше с перком разбираться. Может, там на нем conditions какие-то? Надо все убрать. Я бы рад проверить, но у меня нету СК сейчас. Должно работать всё. Явно, какую-то мелочь упустил.

Dsion  Offline  Сообщение №1120 | Тема: Вопросы по скриптам Papyrus написано: 30 июля 2017, 09:09 | Отредактировано: Dsion - 30 июля 2017, 09:11



veto, честно говоря, не знаю. Но стоит проверить две вещи.
Сначала добавить

Код
Debug.MessageBox(GetActorOwner());
Debug.MessageBox(GetFactionOwner());


В твой OnActivate() и посмотреть, подходит ли эта функция для проверки того, кому принадлежит существо. Шансы 50/50.

А вообще, лучше сделать через перк. Даешь игроку перк с Entry Point: Add Activation Choice. И на эту Entry Point еще какие-то условия, чтоб срабатывало только на призванных существах игрока. Позволит обойтись без развешивания скриптов на всех существ.
Но с условиями не уверен. Надо тот же IsOwner проверить. В общем, надо какое-то условие найти, которое отличает твоих призванных сущств от чужих. В крайнем случае, можно сделать проверку враждебности. Но тогда меню будет появляться для существ, призванных союзниками.

Dsion  Offline  Сообщение №1121 | Тема: Вопросы по скриптам Papyrus написано: 1 августа 2017, 22:41



Multigone, а на чужих призванных существах тоже владелец - none?

Dsion  Offline  Сообщение №1122 | Тема: Вопросы по скриптам Papyrus написано: 2 августа 2017, 17:39



Multigone, фигово. Спасибо. Может, что-то и нашел бы, но я вообще без CK.
Интересно, как работает перк в ветке колдовства, дающий призванной нежити +100 ХП?
Неужели там отдельное существо? А если не отдельное, то как?

Dsion  Offline  Сообщение №1123 | Тема: Вопросы по скриптам Papyrus написано: 9 августа 2017, 18:33 | Отредактировано: Dsion - 9 августа 2017, 18:38



Miter, круто! А "захват цели", как у истребителей, будет?!
Я уже всё представил!
Игрок зажимает кнопку мыши и начинает колдоваться cloak заклинание типа "Обнаружение жизни", которое вешает магический эффект на всех противников в большом радиусе и подсвечивает их. На эффекте скрипт, который каждую секунду проверяет, навел ли игрок курсор именно на этого противника. Если курсор наведен, пробавляется единичка к переменной "захват цели". Когда переменная достигает значения 5, происходит "захват". После этого игрок отпускеат кнопку и в противника летят 10 адских огненных шаров :D

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

Dsion  Offline  Сообщение №1124 | Тема: Вопросы по скриптам Papyrus написано: 10 августа 2017, 21:52



Multigone, вот ты пессимист :(
Есть крутая функция ApplyHavokImpulse. Ею можно запустить ледяную стрелу в любом направлении. И ею же можно корректировать курс :D
Настоящий физический projectile. Круто же!

Dsion  Offline  Сообщение №1125 | Тема: Вопросы по скриптам Papyrus написано: 13 августа 2017, 17:08 | Отредактировано: Dsion - 13 августа 2017, 17:13



Multigone, ничо я не неправ) Я думал снаряд именно отдельным объектом сделать, имеющим вес. Информацию в нем можно любую сохранить.
Но с SetAngle, может, даже интереснее. Если не считать часть про размещение триггера.
Интересно, что будет, если создать projectile через функцию PlaceAtMe. Появится ли он и полетит ли куда-то? И кто будет считаться его творцом.

Dsion  Offline  Сообщение №1126 | Тема: Вопросы по скриптам Papyrus написано: 13 августа 2017, 19:06



Multigone, на мой взгляд, ловить снаряд триггером - абсолютно неприемлемо. И предлагаю я от этого избавиться любой ценой.
Если найдется простой способ, то хорошо. А если нет, то да, спавнить какой-нибудь Clutter и добавлять к нему взрыв. Весело же!
А если и это не получится, то вообще забить на идею. Но не оставлять триггер.

Добавлено (13 Августа 2017, 22:06)
---------------------------------------------
Надо будет осенью попробовать прицепить скрипт на projectile. Не в CK, а в hex редакторе. Вдруг выйдет.


Dsion  Offline  Сообщение №1127 | Тема: Вопросы по Creation Kit (продолжение старой темы) написано: 26 августа 2017, 09:18



1Game, а после "Scriptname _GLKCrystaliserTutorSCR" не надо ничего типа "extends ObjectReference"?

Dsion  Offline  Сообщение №1128 | Тема: Вопросы по моделированию написано: 8 сентября 2017, 00:18



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

Dsion  Offline  Сообщение №1129 | Тема: Вопросы по моделированию написано: 8 сентября 2017, 20:57



Cardboarddog, взял бы прочел закон об авторском праве. Там делов-то на 15 минут.
Есть такая хрень "исключительное право". Это означает, что автор может делать со своим произведением что-угодно, а все остальные не могут делать с ним вообще ничего без разрешения автора. То есть, отсутствие запрета на какое-либо использование не является разрешением.
Если автор не сказал иначе, то абсолютно не важно, о коммерческом ли использовании идет речь.

Добавлено (08 Сентября 2017, 23:57)
---------------------------------------------
Вот еще пара замечаний с сайта deviantart

1. Не важно, как много из работы вы хотите использовать. Даже если это один кадр из видео. Вам все-равно нужно разрешение автора.
2. Не важно, каким способом вы достали материал.  Вам все-равно нужно разрешение на его использование.
3. Не имеет значение, указываете ли вы автора оригинальной работы. Вам все-равно нужно разрешение.
4. Не важно, получаете ли вы прибыль.
5. Не важно, если вы вы нашли других людей, которые используют эту работу без разрешения автора. Вам все-равно нужно разрешение.
6. Не важно, если вы немного изменили работу. Если она все еще узнаваема, вам нужно разрешение.

Вот так это работает...


Dsion  Offline  Сообщение №1130 | Тема: Вопросы по скриптам Papyrus написано: 11 сентября 2017, 09:17



Нарада, да просто активируй его. Работает даже если контейнер на другом конце мира.

Dsion  Offline  Сообщение №1131 | Тема: Вопросы по скриптам Papyrus написано: 17 сентября 2017, 07:50 | Отредактировано: Dsion - 17 сентября 2017, 07:52



maxcad, вопрос как вопрос...
Кое-какие функции для работы со строкой есть, но только в SKSE:
https://www.creationkit.com/index.php?title=StringUtil_Script

Многомерные массивы - нормального способа нету. Можно симулировать многомерный массив с помощью одномерного или использовать объекты. Вот тут написано:
https://www.creationkit.com/index.php?title=Arrays_(Papyrus)
(в разделе "Multi-Dimensional Arrays")

Иногда еще подходит решение c массивом из FormList.

Dsion  Offline  Сообщение №1132 | Тема: Вопросы по Creation Kit (продолжение старой темы) написано: 6 октября 2017, 02:59



1Game, решение так себе :(
Если бы это была обычная программа, то она бы на 100% загрузила ядро процессора. Потому что проверка выполняется постоянно без перерывов. И не стоит включать предмет, если он уже включен...

Dsion  Offline  Сообщение №1133 | Тема: Вопросы по скриптам Papyrus написано: 21 октября 2017, 17:31 | Отредактировано: Dsion - 21 октября 2017, 17:35



Lexo, сундуку обязательно быть именно контейнером? Можно создать отдельную локацию (Cell) и телепортировать туда вещи. А потом телепортировать их к сундуку. Потому что если их складировать в настоящий контейнер, то референсы потеряются.

Dsion  Offline  Сообщение №1134 | Тема: Вопросы по скриптам Papyrus написано: 22 октября 2017, 16:59



Если придумаешь, как передать скрипту id референса предмета.

Dsion  Offline  Сообщение №1135 | Тема: Вопросы по скриптам Papyrus написано: 22 октября 2017, 17:59



Multigone, воще не понял, о чем ты и причем тут я...
Если бы Lexo объяснил, как именно хочет отправлять вещи "в сундук", можно было бы что-то подумать... А так...
Будем тут месяц обсуждать, а потом окажется, что ему обычное RemoveAllItems подходит...

Dsion  Offline  Сообщение №1136 | Тема: Вопросы по скриптам Papyrus написано: 23 октября 2017, 17:33



Lexo, каким, блин, заклинанием? Заклинания не накладываются на неживые предметы. Если объяснишь, как оно у тебя работает, придумаем, как сделать выплевываение.

Dsion  Offline  Сообщение №1137 | Тема: Вопросы по скриптам Papyrus написано: 24 октября 2017, 09:15 | Отредактировано: Dsion - 24 октября 2017, 09:18



Lexo, мне три варианта на ум приходит:
1. Телепортировать вещи на маркер в отдельную локацию. Игрок туда никогда не зайдет, физика не включится. А потом можно телепортировать обратно.
2. Складывать вещи в контейнер и повесить на него ивент OnItemRemoved. Когда нужно выплюнуть вещи, вызываем на контейнере RemoveAllItems. Для каждого предмета (или стака) будет вызываться OnItemRemoved. А в OnItemRemoved можно создавать такие же предметы вокруг сундука. Но тут проблема в том, что это будут именно копии базового предмета. Не сохранятся улучшения, заряды камней душ итп.
3. Можно засовывать вещи в алиас перед помещением в сундук. Будет ограничение на количество предметов (по количеству алиасов), но остальные проблемы решатся.

Dsion  Offline  Сообщение №1138 | Тема: Вопросы по скриптам Papyrus написано: 24 октября 2017, 18:57



Lexo, просто MoveTo - это перемещает один референс к другому референсу. А, ладно, пофиг.!

Dsion  Offline  Сообщение №1139 | Тема: Вопросы по скриптам Papyrus написано: 28 октября 2017, 15:11



Lexo, по формлисту, конечно! Или так, как Multigone писал.

Dsion  Offline  Сообщение №1140 | Тема: Вопросы по Creation Kit (продолжение старой темы) написано: 5 ноября 2017, 17:19



Lexo,  пришло время постигнуть таинства ассемблера и реверс-инженерии :)
У esm никаких секретов нету - там всё ясно. Но вместе c DLC выходил и новый экзешник... А в нем без ассемблера ничего не исправить :(

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





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