Перейти к содержанию

Рекомендуемые сообщения

Опубликовано

Все, проблема решена. Кому надо будет, вот код:

int ListSize = Form100.GetSize() - 1 ;Получаем размер нашего списка минус 1, ибо счет с нуля начинается
int num = Utility.RandomInt(0, ListSize) ;Получаем рандомное число позиции
Game.GetPlayer().AddItem(Form100.GetAt(num), 10) ;Даем игроку выпавший предмет по ID в нашем списке, в кол-ве 10шт
  • Ответов 4,8 тыс
  • Создана
  • Последний ответ

Топ авторов темы

Опубликовано
16.05.2020 15:22:50, ac97 сказал(-а):
Кому надо будет, вот код:

А еще можно было сделать уровневый предмет вместо формлиста, и выдавать его.

Опубликовано (изменено)
16.05.2020 18:39:59, Azazellz сказал(-а):

А еще можно было сделать уровневый предмет вместо формлиста, и выдавать его.

Тут своя фишка.) Есть некий активатор, в виде чаши. Есть три формлиста, работа с первым идёт, когда закидывают в чашу 100 монет, со вторым 1000. В третьем листе суперпризы/раритеты. Ведётся учёт кол-ва бросков в чашу. От 500 бросков, начинает работать рандом, и есть шанс в размере 25% достать суперприз. При 1000 бросках, шанс достать рар — 100%. После получения суперприза, счётчик бросков сбрасывается, и все по новой.
В обычных формлистах боевая расходка/свитки. Может как мелкие банки/свитки выпасть, так и со 100% исцелением, ядом и т.д.
=) Изменено пользователем ac97
Опубликовано
16.05.2020 19:04:26, ac97 сказал(-а):
Тут своя фишка.)

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

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

Ко всему остальному это отношения не имеет.

Опубликовано

Подтолкните, пожалуйста в нужную сторону, ибо не нашел такой функции.

Допустим, персонаж выпивает зелье, на него вешается эффект. Этот эффект должен выдавать какой-либо предмет при убийстве моба/нпс. так вот, как отслеживать убийство моба/нпс игроком?

Вешать скрипт на всех нпс/мобов с определением, есть ли у игрока данный эффект - не вариант.

Опубликовано

Доброго времени суток. Помогите с проблемой, пожалуйста.

Наткнулась здесь на двух людей с такой же ситуацией, но решения никто не подсказал (по крайней мере с 70 по 111 страницы).

 

Вылет редактора при добавлении скрипта, без ошибок - просто закрывается.

Скрипты в папке, не в архиве.

Редактор - пиратка, НО до сегодняшнего дня скрипты добавлялись без вылетов, программа работала стабильно.

В папке с игрой никакие файлы не редактировала.

Вылетает только при добавлении скрипта, при редактировании вылетов нет. 

Опубликовано
18.05.2020 13:53:59, М.Гасникова сказал(-а):

Доброго времени суток. Помогите с проблемой, пожалуйста.

Наткнулась здесь на двух людей с такой же ситуацией, но решения никто не подсказал (по крайней мере с 70 по 111 страницы).

 

Вылет редактора при добавлении скрипта, без ошибок - просто закрывается.

Скрипты в папке, не в архиве.

Редактор - пиратка, НО до сегодняшнего дня скрипты добавлялись без вылетов, программа работала стабильно.

В папке с игрой никакие файлы не редактировала.

Вылетает только при добавлении скрипта, при редактировании вылетов нет. 

Совершенно рандомная штука. Тоже такое бывало. Попробуй переустановить, либо перезагрузить)

Опубликовано
18.05.2020 13:53:23, ac97 сказал(-а):
так вот, как отслеживать убийство моба/нпс игроком?

Через динамическое распределение скриптов, я думаю.

Плащ раздает спеллы со скриптовым эффектом. В них эвент OnDeath или OnDying, по которому и будут раздаваться предметы.

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

  • Нравится 1
Опубликовано
18.05.2020 14:00:43, ac97 сказал(-а):

Совершенно рандомная штука. Тоже такое бывало. Попробуй переустановить, либо перезагрузить)

Помогла переустановка. Спасибо. Проблема оказалась в файле SkyrimEditor. Проверила "чистый" редактор - не вылетает. Добавила названия bsa-архивов только из оф.дополнений - не вылетает. Вылетает после прописывания стороннего bsa. Странно! Ведь  работало и с ним... до сегодня. Фантастика. :facepalm

Опубликовано

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

Опубликовано
19.05.2020 13:55:56, Banderlog сказал(-а):
Есть какие-то моды на эту тему, чтобы посмотреть их устройство? 

Насчет модов не уверен. Вроде были, но названия не помню.

Там теоретически просто же. На эвентах OnEquipped\OnObjectEquipped все работать должно, в зависимости от того, куда скрипт цеплять.

Опубликовано
19.05.2020 16:18:32, Azazellz сказал(-а):
Там теоретически просто же. На эвентах OnEquipped\OnObjectEquipped все работать должно, в зависимости от того, куда скрипт цеплять.

Кому и просто, а я из сказанного мало что понял. Что за скрипт и откуда его взять? Как там правильно всё выставить? Но я догадываюсь, что эту функцию можно приспособить и наоборот. Я вот сделал специальную броню для оборотня. На человеке она отображается в виде амулета. При трансформации в оборотня этот одетый амулет превращается в одетую броню. Вот только проблемка в том, что мой оборотень эту броню через секунду сбрасывает, как и положено для оборотня всё сбрасывать. Можно было бы юзать сторонний мод, чтобы она не сбрасывалась, но это очень не лорно. Хотелось бы просто сделать исключение для этой брони. А пока у меня её носят только неписи оборотни. Это как-то можно придумать сделать?

Опубликовано
19.05.2020 20:00:11, Banderlog сказал(-а):
Можно было бы юзать сторонний мод, чтобы она не сбрасывалась, но это очень не лорно. Хотелось бы просто сделать исключение для этой брони.

Либо вмешиваться в ванильные скрипты и их перезаписывать, либо делать свой, который будет экипировать эту броню обратно после ее снятия.

Опубликовано
20.05.2020 08:38:44, Azazellz сказал(-а):
Либо вмешиваться в ванильные скрипты и их перезаписывать, либо делать свой, который будет экипировать эту броню обратно после ее снятия.

Понял, спасибо.

А где в СК регулируется скорость и продолжительность проигрывания анимации? Пытаюсь с ними экспериментировать. Кое-что получилось. Но скорость слишком большая. И не нахожу пути, где прописываются файлы анимаций. Это я чужой мод ковыряю. В форме Quest прописал свои диалоги, а файлы анимации подменил своими. Всё работает (только слишком быстро, как я уже говорил). Но вот где этот Quest с этими анимациями соединяется, так и не могу найти. Может я слепой, но не нахожу, хоть убейте.

И вот ещё с TES5Edit проблемка вышла. Запускается, моды прочитывает. Но потом, когда сами моды открываю, почти во всех пунктах пусто. Ещё вчера всё работало. Это что делать теперь?

Опубликовано
21.05.2020 16:20:40, Banderlog сказал(-а):
А где в СК регулируется скорость и продолжительность проигрывания анимации?

Нигде. Скорость анимации закодирована в самой анимации.

 

21.05.2020 16:20:40, Banderlog сказал(-а):

И вот ещё с TES5Edit проблемка вышла. Запускается, моды прочитывает. Но потом, когда сами моды открываю, почти во всех пунктах пусто. Ещё вчера всё работало. Это что делать теперь?

Фильтры отключить?

Опубликовано

Очень помог LeveledItem с подарками от компаньонов. Попробовала в обратном порядке сделать, чтоб гг из инвентаря мог покормить компаньона. Скрипт Game.GetPlayer().RemoveItem(Food, 1).  Проперти LeveledItem Property Food Auto Кондишен GetItemCount и указываю созданный мною LeveledItem с едой. Что не так? Диалог исчезает после того как кондишен поставила.

Опубликовано
25.05.2020 17:11:17, dylvish сказал(-а):
Что не так?

В обратную сторону это не работает.

Выдать ты чего-то через уровневый предмет можешь, а вот забрать - уже нет.

И в кондишнах его использовать тоже никак.

 

Тут надо на формлисты переходить.

Скрипт, соответственно, усложнится - просто "удалить_итем проперти_формлиста число" - не прокатит. В этом случае скрипт заберет указанное число всех предметов из этого формлиста, а не какой-то один случайный.

А вот в кондишнах оно заработает сходу. GetItemCount>1 - и если хоть что-то у тебя из формлиста есть, то будет true, кондишн сработает.

  • Нравится 1
Опубликовано
25.05.2020 19:48:46, Azazellz сказал(-а):
GetItemCount>1

Изменила проперти на формлист. Компаньон получает все кол-во еды из формлиста (не из инвентаря), а как все-таки сделать,чтобы одну единицу еды он получал? И из инвентаря.

Опубликовано
Ну компаньён у тебя в его инвентарь 1 чего-то сейчас получает? Правильная прверка есть ли 1 этого в инвентаре игрока? Если да да. - напиши хвост удаляющий 1 этого из инвенторя игрока. Или там вышла сложней ситуация?...
  • Нравится 1
Опубликовано
25.05.2020 20:31:25, dylvish сказал(-а):
Изменила проперти на формлист. Компаньон получает все кол-во еды из формлиста (не из инвентаря), а как все-таки сделать,чтобы одну единицу еды он получал? И из инвентаря.

Вот я и говорю - скрипт усложнится.

Надо сначала проверить, что из предметов формлиста есть в инвентаре у игрока.

Потом удалить этот предмет. Первый попавшийся, или рандомный из найденных.

И выдать его компаньону.

  • Нравится 1
Опубликовано
26.05.2020 06:56:52, Azazellz сказал(-а):
скрипт усложнится

Я не знаю, что и как прописать в скрипте, чтобы указанный в формлисте предмет был удален из инвентаря игрока. Мне не нужно, чтобы этот предмет попадал в инвентарь компаньона ( потому что он его съедает как бы сразу). 

 

26.05.2020 06:56:52, Azazellz сказал(-а):
Надо сначала проверить, что из предметов формлиста есть в инвентаре у игрока.

Как? Я всегда прописывала конкретный продукт и все работало. Если этого продукта не было в инвентаре, диалог о еде не появлялся. 

Опубликовано
26.05.2020 07:31:32, dylvish сказал(-а):
Я не знаю, что и как прописать в скрипте

Вот в этом и проблема.

Я даже и не знаю, чего б попроще тут можно придумать.

 

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

 

Можно пойти с другой стороны - сделать много топиков, на каждый из предметов. "У меня для тебя кое что есть", потом под-уровень диалога, а там уже по предметам - "Сладкий рулет", "Зеленое яблоко", и т.д. Каждому под-топику свой кондишн.

Тогда скрипт будет простой. Но работа с диалогами увеличится.

  • Нравится 1
Опубликовано
26.05.2020 08:57:05, Azazellz сказал(-а):
Можно пойти с другой стороны - сделать много топиков, на каждый из предметов.

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

Посмотрите

bandicam 2020-05-26 12-29-27-991.jpg

 

Или вы имеете в виду, что игрок сам в под-упровневом топике выбирает что предложить компаньону?

 

26.05.2020 08:57:05, Azazellz сказал(-а):
брать наименование из формлиста, проверять наличие этого предмета в инвентаре, потом брать следующее наименование, и так циклом идти по листу, пока не найдется что-то, что есть у игрока. И это уже удалять.

Может быть поможете мне с этим? Я не представляю как это вписать в скрипт. Только пример на один предмет, остальные перечисления у меня хватит ума сделать (надеюсь)

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

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйте новый аккаунт в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

×
×
  • Создать...