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

Результаты поиска
Dsion  Offline  Сообщение №1201 | Тема: Вопросы по Creation Kit (продолжение старой темы) написано: 17 мая 2019, 20:13



Missy, честно говоря, лично я знаю, что можно сделать, чтоб для всех диалогов демоника считалась, например, эльфом. Но это совсем другой (и я почти уверен, что не твой) уровень.
Подождем, что еще кто скажет... Я уже несколько лет не запускал СК и запросто мог что-то забыть.

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



•DarkBlood•, так просто не получится, скорее всего... Нужен скриптик с ивентом OnHit - он срабатывает как-раз при получении урона.

Для получения случайного числа есть функции
https://www.creationkit.com/index.php?title=RandomInt_-_Utility
https://www.creationkit.com/index.php?title=RandomFloat_-_Utility
Если нужен шанс 5%, то можно генерировать случайное число от 0.0 до 1.0 и проверять, чтоб оно было <= 0.05

А восстанавливать здоровье можное функцией
https://www.creationkit.com/index.php?title=RestoreActorValue_-_Actor

Dsion  Offline  Сообщение №1203 | Тема: Вопросы по скриптам Papyrus написано: 31 мая 2019, 12:52



slastik, а без скрипта точно нельзя, да? Я пока не могу проверить... Лучше бы, конечно, без скрипта.

Не хочешь поискать ивент, который срабатывает в момент выхода игрока из локации? Можно проверить OnCellDetach() и OnDetachedFromCell().
Лучше запускать музыку в одном ивенте, а потом в другом останавливать по instance id.

Хрень в том, что в Скайриме не желательно писать функции, которые выполняются дольше одной секунды. Да и вообще, везде, где есть event loop (асинхронное программирование). Вернее, их лучше не вызывать в основном потоке. А, ладно, забудь.

Но если в Скайриме у тебя есть функция типа PlayMySound, которая выполняется дольше секунды, то что-то у тебя не так.

Dsion  Offline  Сообщение №1204 | Тема: Вопросы по скриптам Papyrus написано: 31 мая 2019, 13:52



slastik, ну сам смотри. Можно использовать не один Sound, а FormList саундов и выбирать случайный в самом скрипте.

Dsion  Offline  Сообщение №1205 | Тема: Вопросы по скриптам Papyrus написано: 31 мая 2019, 16:06



Хотя да, хрен чо сделаешь. События "проигрывание закончилось" нету-то. Это разве что еще и длительность звуков указывать вручную. Лажово.

Dsion  Offline  Сообщение №1206 | Тема: Вопросы по Creation Kit (продолжение старой темы) написано: 9 июня 2019, 04:58



Ridart, так, вроде ж, не сложно. Выбрасывается случайное число от 0 до 100. А условие срабатывает, если это число больше 75. То есть, шанс 25%.
Наверное, можно получить тот же эффект, написав "< 25".

Dsion  Offline  Сообщение №1207 | Тема: Вопросы по Creation Kit (продолжение старой темы) написано: 10 июня 2019, 03:53



Ridart, воще без понятия... Это надо все условия смотреть...
Если перед этим условием стоит другое с галочкой OR, то так вообще всё поломать можно...

Если не уверен, что разобрался, надежнее будет поменять "> 75" на что-то типа "< 1000" или в таком духе.

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



MIKIFORTH, та не, это известная проблема. Если на квесте стоит галочка автозапуска при наначе игры, то вот так вот оно.
Обычно мы это решали отключением автозапуска на первой закладке квеста и добавлением на квест скрипта такого типа:

Код
Event OnInit()
    If (!IsRunning())
        Start();
    EndIf
EndEvent


Dsion  Offline  Сообщение №1209 | Тема: Вопросы по Creation Kit (продолжение старой темы) написано: 13 июля 2019, 23:35 | Отредактировано: Dsion - 13 июля 2019, 23:36



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

Dsion  Offline  Сообщение №1210 | Тема: Вопросы по Creation Kit (продолжение старой темы) написано: 8 августа 2019, 20:47



Dirzi, лично я не вижу никаких причин, по которым это могло бы не работать. В пакете указано, что делать и где делать. И НИП пойдет к этому "где" даже если оно на противоположном конце Скайрима.

Dsion  Offline  Сообщение №1211 | Тема: Вопросы по Creation Kit (продолжение старой темы) написано: 13 августа 2019, 07:01



Stea1ch, у меня сейчас нет CK и скайрима... Но единственное, что приходит в голову и что можно было бы попробовать:
Там где-то в верхних меню есть пункт типа Default Objects. Надо их все просмотреть и глянуть, указан ли там где-то MagicDisallowEnchanting. Ну шансы 50/50. Если есть, то можно заменить его на какой-то свой нигде не используемый кейворд.

Dsion  Offline  Сообщение №1212 | Тема: Вопросы по Creation Kit (продолжение старой темы) написано: 13 августа 2019, 13:23



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

Dsion  Offline  Сообщение №1213 | Тема: Вопросы по Creation Kit (продолжение старой темы) написано: 14 августа 2019, 11:07



Myprism, да? Ну вполне возможно :(
Тогда без понятия, как можно сделать. Функции для снятий кейводра с обхекта даже в skse нет.

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



Miron1812, а "Mod Incoming Spell Duration" не пробовал? Я не говорю, что оно работает... Просто можно попробовать. Сначала попробовать без фильтра: просто удвоить длительность всех входящих эффектов. А если сработает для зелий, то можно добавить фильтр.

Dsion  Offline  Сообщение №1215 | Тема: Вопросы по Creation Kit (продолжение старой темы) написано: 30 августа 2019, 01:35 | Отредактировано: Dsion - 30 августа 2019, 01:41



Miranda_Kusland, глянь GameSettings, которые начинаются на fDiffMult

Если нужно понизить входящий урон по игроку на какой-то сложности на заданный процент, то это то, что надо. Правда, я никогда не пробовало их изменять.

А как изменить броню - не знаю. Но даже если и знать, то там легко запутаться. Броня, чем её больше, тем эффективнее каждая добавленная единаца. Разницы между 0 и 100 почти никакой, а между 500 и 600 - огромная:
https://en.uesp.net/wiki/File:SR-graph-Armor_and_Durability.png
Если игрок носит улучшенную тяжелую броню, то давать ему даже 20% бонус - это адский чит.

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



MIKIFORTH, я уже фигово помню, но, пока никто другой не отвечает, могу рассказать то, что помню.
Игра начинается когда скрипт на каком-то квесте телепортирует игрока в мир. Или можно прямо в главном меню открыть консоль, телепортировать игрока пофиг-куда и игра начнется. Например
Код
coc whiterun


В ванильном варианте есть один квест, который запускается в самом начале. Название уже позабыл. Может, MQ00 или нет. Этот квест проводит кучу настроек (одевает игрока в лохмотья, связывает ему руки, блокирует управление), а потом телепортирует игрока на повозку и игра начинается.
По-моему, этот квест еще указан в Default Objects как главный или что-то такое.
В общем, надо сделать так, чтоб этот квест либо вообще не запускался, либо запускался и сразу останавливался. Что-то в таком духе.
А из другого квеста мы сами телепортируем игрока куда нам надо.

Добавлено (06 Октября 2019, 10:13)
---------------------------------------------
И не забываем вызвать меню выбора расы.


Dsion  Offline  Сообщение №1217 | Тема: Вопросы по скриптам Papyrus написано: 21 октября 2019, 11:03



valambar, думаю, для этого вообще скрипт не нужен. Просто изменить Actor Value "JumpingBonus". Но если увеличить слишком сильно, то будет та же проблема, что и с летанием - мир для этого не предназначен.

Dsion  Offline  Сообщение №1218 | Тема: Вопросы по скриптам Papyrus написано: 22 октября 2019, 12:44



valambar, изменение jumpingbonus через консоль точно работает. 95%, что и магический эффект с типом "value modifier" тоже будет работать.

Dsion  Offline  Сообщение №1219 | Тема: Вопросы по скриптам Papyrus написано: 4 ноября 2019, 15:58



yakor77, повесить оба скрипта на один объект легко, но 95%, что это не даст желаемого эффекта... Вручную исправить один из скриптов, подглядывая в другие, тоже можно. А так, чтоб склеить... автоматически... Не думаю... Ну я, конечно, не большой авторитет. Но я последние лет 5 активно изучаю программирование, использовал штук 10 разных языков и лично я не представляю, как такое можно провернуть.

Dsion  Offline  Сообщение №1220 | Тема: Вопросы по скриптам Papyrus написано: 1 января 2020, 15:41



Myprism, а как ты native функцию исправишь-то..? Скайрим ведь не весь на папирусе написан. И из папируса далеко не на все механики повлиять можно. Потому и появился SKSE, который пытается расширить возможности папируса...
А так-то большая часть Скайрима на С++. Доступа к исходному коду у нас нет. То есть, можно работать только с ассемблером. Вооружившись чем-то типа OllyDbg сделать можно что-угодно, но это совсем не то, что писать скрипты на папирусе с использованием официальных стабильных API... Даже просто найти процедуру (функцию), с которой начинается заполнение камня душ - это можно день мучиться. Потому что в ассеблере никаких имен у функций и переменных нет. Остается только по коду догадываться, что там и для чего.

http://www.ollydbg.de/Pics/OllyDbg2.gif

Dsion  Offline  Сообщение №1221 | Тема: Вопросы по скриптам Papyrus написано: 2 января 2020, 19:45



Myprism, я немного подумал еще тогда, когда ты первый раз спросил, и ничего полезного не придумал... А еще, одна неосмотрительная компания недавно наняла меня С++ программистом :) Так что я сейчас во всю прикидываюсь нормальный трудолюбивым телом и мало сил остается думать о чем-то еще.
А GetSoulSize() не работает на объектах, выброшенных в мир? Тех, кто не в контейнере.
Единственное, что приходит в голову, - так это вообще выкинуть всю систему захвата душ и написать с нуля на папирусе. Абсолютно новый спелл, который проверяет уровень цели, наличие в инвентаре пустого камня достаточного размера, удаляет пустой камень и дает заполненный. Не, бред, забудь.

Dsion  Offline  Сообщение №1222 | Тема: Вопросы по скриптам Papyrus написано: 19 января 2020, 11:59



nepewka, так просто передать его туда через функцию.


Код
На активаторе скрипт с именем BlaBlaActivatorScript и такой функцией:
Function KillHorribly(Actor target)
EndFunction

А на эффекте такая проперти:
BlaBlaActivatorScript Property ActivatorScript Auto;

И передача референса как-то так:
ActivatorScript.KillHorribly(akTarget as Actor);

Dsion  Offline  Сообщение №1223 | Тема: Вопросы по скриптам Papyrus написано: 26 января 2020, 14:36



frodo01, так получение конкретного актора, на которого в данный момент ссылается алиас. Если не ясно, разберитесь с алиасами. Они создаются в настройках квеста и являются чем-то типа переменных: могут указывать или не указывать на конкретные объекты. Например, в квесте управления спутником есть алиас, который указывает на вашего текущего спутника. И мы, можем, например, убить его как-то так: FollowerAlias.GetActorReference().Kill().

Dsion  Offline  Сообщение №1224 | Тема: Вопросы по скриптам Papyrus написано: 30 января 2020, 23:18 | Отредактировано: Dsion - 30 января 2020, 23:24



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

Ну можно попробовать создать еще одного актора, у которого точно будет имя "Разбойник" и сравнивать их GetDisplayName()

Dsion  Offline  Сообщение №1225 | Тема: Вопросы по скриптам Papyrus написано: 1 февраля 2020, 18:01 | Отредактировано: Dsion - 1 февраля 2020, 18:12



myav, ты уже попробовал сравнивать имя НИП с именем другого НИП или объекта? Кольца, например.
Даже если ты хочешь именно сравнивать имя, то прописывать это имя в сам скрипт - это точно лажа лажовая нубская. Создай кольцо, пропиши ему имя "Разбойник" и попробуй сравнивать это имя с именем НИП. Интересно, что будет.
Но ты все-равно рехнулся.

Dsion  Offline  Сообщение №1226 | Тема: Вопросы по скриптам Papyrus написано: 1 февраля 2020, 18:16 | Отредактировано: Dsion - 1 февраля 2020, 18:17



myav, то есть

Берем имя объекта:
String s1 = someForm.GetName();

Берем имя того же объекта в другую переменную:
String s2 = someForm.GetName();

И после этого s1 != s2? Ну ок. Что тогда поделаешь.
Если бы работало, то это бы всё решило.

Dsion  Offline  Сообщение №1227 | Тема: Вопросы по скриптам Papyrus написано: 1 февраля 2020, 18:39



Чо-то ты тупишь. Проверь вот так:

Код
string TempName=selfactor.GetDisplayName()
string TempName2=selfactor.GetDisplayName()
debug.notification("имя нпс: " + TempName)
if TempName == TempName2
    debug.notification("Проверка что бандит - успешна")
endif

Dsion  Offline  Сообщение №1228 | Тема: Вопросы по скриптам Papyrus написано: 1 февраля 2020, 19:11



myav, в StringUtil есть следующие функции:
1. получение длины строки
2. получение конкретной буквы по её индексу
3. получение коды буквы (цифра)

Можно проверить, какие коды (и сколько) выдаются для кириллицы. Для имени, возвращаемого по GetDisplayName и для статического имени. Если там есть какая-то разумная логика, то получится сделать функцию сравнения строк и использовать её как-то так:
string TempName = selfactor.getdisplayname()
if (strcmp(TempName, "Разбойник"))

Но, разумеется, ты этого проверять не будешь, да? Ты будешь сраться на форуме.

Dsion  Offline  Сообщение №1229 | Тема: Вопросы по скриптам Papyrus написано: 4 февраля 2020, 19:20



По-моему, таким постам в теме не место...

Бывает, что человек, шарящий в программировании, мечтает создать игру. И он начинает её создавать. Своими силами, в свободное время. Порой таким людям удается создать что-то стоящее. Порой к ним присоединяются другие люди и начинают помогать. Они хотят создать игру и они готовы ради этого работать.

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

Бывает, талантливый писатель хочет создать игру. Тогда он продумывает мир, сеттинг и пишет книгу. Иногда таким людям везет и по их миру действительно создают игру, а их приглашают дополнять историю и придумывать квесты. Они тоже работают.

Бывает, хороший организатор хочет создать игру. Он создает кампанию на кикстартере, пиарит проект, нанимает людей, выгрызает инвестиции. И он работает.

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

Добавлено (04 Февраля 2020, 22:39)
---------------------------------------------
А, еще мододелов забыл. Много раз слышал истории о том, как моддеры попадали в серьезный геймдев.


Dsion  Offline  Сообщение №1230 | Тема: Вопросы по Creation Kit (продолжение старой темы) написано: 5 февраля 2020, 00:03



UnlimitedCloud, из Обливиона? Вроде, есть скрипт конвертации.

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





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