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

Trust

Модмейкер
  • Публикаций

    437
  • Пожертвование

    2 098,51 ₽ 
  • Зарегистрирован

  • Посещение

  • Победитель дней

    21

Trust стал победителем дня 17 февраля

Trust имел наиболее популярный контент!

Репутация

260 Очень добрый

Информация о Trust

  • Звание
    Почетный Линуксоид Falcon-Lair
  • День рождения 11.12.1989

Информация

  • Пол
    Мужчина
  • Интересы
    Линукс, Хакинтош, программирование, моддинг, RPG-игры

Посетители профиля

12 342 просмотра профиля
  1. Trust

    Балансер кармы / Karma Balancer

    Stealing-KillingKarmaFix.esp Простые правки кармы. Ноль за кражу и убийства злых персонажей. ВНИМАНИЕ: В движке есть баг, из-за которого нулевое изменение кармы отображает и играет сообщение. Это можно исправить с помощью Стиви Твикс, если установить порог сообщений кармы в 1 или большее значение. (Ищите в меню Стиви Твикс слово Karma)
  2. Trust

    Балансер кармы / Karma Balancer

    Можно на старое.
  3. ВОООТ! Из погодных модов нужно исходить, они могут править небо
  4. Ну не знаю, я всего лишь предложил метод, а как там всё устроено -- я не знаю
  5. Trust

    "Ремейк ЛАЕР" / LAER Remake (2020-12)

    ЛАЗЕЛНОЕ ЛУЗЬЁ!!111
  6. Теперь переработан цикл. GetItemCount в главном цикле используется теперь всего 9 раз, вместо нескольких тысяч при большом количестве книг. Удалён счётчик и размер массива книг на обмен. Поправлены коэффициенты удачи. Теперь удача за книги дефолтная при пяти, и уходит в небольшой плюс при увеличении, и в минус при уменьшении. С удачей 1 шанс найти книги есть, но гораздо меньший. От удачи 10 шанс не зашкаливает BooksToCaps.7z
  7. Теперь в конфиге есть множитель цены ценных книг BooksToCaps.7z
  8. Оказывается, некоторые переменные функция сохраняет, что приводит к ошибкам в текущем коде. ИСПРАВЛЕНО. UPD: я просто окунь. Функция не сохраняет квестовые переменные. Я просто задержку квестового скрипта принял за ошибку, когда создал много книг, и сразу посмотрел в инвентарь
    Сам себя не похвалишь, никто не похвалит
  9. Система продажи книг Soul of Fallen Worlds К сожалению оригинальная продажа книг Fallout 3 не работает со всем разнообразием книг Fallout New Vegas... И тут на помощь прихожу я, Trust. Старая система продажи книг имела свои недостатки и сильно отличалась от оригинала, тем не менее, идеи старой системы легли в основу нового фикса, в частности, способность «Книголюб» позволяет находить ценные книги и продавать их по большей цене. Новая система конфигурируется через файл настроек, и по умолчанию, предлагает формулы цены и процент нахождения ценных книг основанные на навыках и параметре Удача. В этом документе собраны все нюансы скриптов системы, и опубликован код с подробными комментариями. Фикс вошёл в состав SFW — Приятной игры!!! Авторы системы: Trust (я) и мой друг Вис691, он дал множество ценных советов, без которых реализовать эту систему бы не получилось. ЧТИВО В ФАЙЛЕ RUS.pdf RUS.docx
  10. scn aaaSFWbtcBookPerkScrFunc int i int LuckAffects int LuckValue float BookRandom float Treshold1000 float Treshold725 float Treshold450 int CountForExchange int SFWBookGeneric1000Count int SFWBookGeneric725Count int SFWBookGeneric450Count int PreWarBookCount int CountDivided int DivOffset int RandomBooksCount int i2 float RandomMin float RandomMax int RecycleArrSize int PreBookArrSize Begin Function { LuckAffects } If Player.GetItemCount aaaSFWBooksFormList RecycleArrSize = ListGetCount aaaSFWbtcBooksFormList PreBookArrSize = ListGetCount aaaSFWBooksFormList LuckValue = Player.GetAV Luck If LuckValue > 10 LuckValue = 10 EndIf If LuckAffects Treshold1000 = 99 - LuckValue / 10 ; Luck 10 = 98 (2%) Treshold725 = 97 - LuckValue / 5 ; = 95 (3%) Treshold450 = 94 - LuckValue / 3.333 ; = 91 (4%) Else Treshold1000 = 98.5 ; EQ 5 = 1.5% Treshold725 = 96.0 ; = 2.5% Treshold450 = 92.5 ; = 3.5% EndIf EndIf While Player.GetItemCount aaaSFWBooksFormList If Player.GetItemCount (ListGetNthForm aaaSFWBooksFormList i) > CountForExchange CountForExchange += 1 BookRandom = Rand 0.00, 100.00 ; FLOAT If BookRandom > Treshold1000 SFWBookGeneric1000Count += 1 ElseIf BookRandom > Treshold725 SFWBookGeneric725Count += 1 ElseIf BookRandom > Treshold450 SFWBookGeneric450Count += 1 Else PreWarBookCount += 1 EndIf Else If CountForExchange Player.RemoveItem (ListGetNthForm aaaSFWBooksFormList i) CountForExchange 1 CountForExchange = 0 EndIf i += 1 If i >= PreBookArrSize i = 0 EndIf EndIf Loop If SFWBookGeneric1000Count || SFWBookGeneric725Count || SFWBookGeneric450Count ShowMessage aaaSFWbtcBooksVALUABLEmsg If SFWBookGeneric1000Count Player.AddItem SFWBookGeneric1000 SFWBookGeneric1000Count 1 ;SFWBookGeneric1000Count = 0 ; ТИП "ФУНКЦИЯ" НЕ СОХРАНЯЕТ ПЕРЕМЕННЫЕ EndIf If SFWBookGeneric725Count Player.AddItem SFWBookGeneric725 SFWBookGeneric725Count 1 ;SFWBookGeneric725Count = 0 ; ТИП "ФУНКЦИЯ" НЕ СОХРАНЯЕТ ПЕРЕМЕННЫЕ EndIf If SFWBookGeneric450Count Player.AddItem SFWBookGeneric450 SFWBookGeneric450Count 1 ;SFWBookGeneric450Count = 0 ; ТИП "ФУНКЦИЯ" НЕ СОХРАНЯЕТ ПЕРЕМЕННЫЕ EndIf EndIf If PreWarBookCount CountDivided = PreWarBookCount / RecycleArrSize DivOffset = PreWarBookCount % RecycleArrSize ;i2 = 0 ; ТИП "ФУНКЦИЯ" НЕ СОХРАНЯЕТ ПЕРЕМЕННЫЕ If DivOffset Player.AddItem (ListGetNthForm aaaSFWbtcBooksFormList (GetRandomInRange 0 RecycleArrSize)) DivOffset 1 EndIf If CountDivided RandomMin = 1 / (fsqrt CountDivided) * CountDivided - 1 RandomMax = 2 / (fsqrt CountDivided) * CountDivided - 1 If RecycleArrSize % 2 i2 = 1 Player.AddItem (ListGetNthForm aaaSFWbtcBooksFormList 0) CountDivided 1 EndIf While i2 < RecycleArrSize If CountDivided != 1 RandomBooksCount = Rand RandomMin, RandomMax ;Else ; RandomBooksCount = 0 ; ТИП "ФУНКЦИЯ" НЕ СОХРАНЯЕТ ПЕРЕМЕННЫЕ, ; в данном случае CountDivided всегда одинаково на всех итерациях EndIf Player.AddItem (ListGetNthForm aaaSFWbtcBooksFormList i2) (CountDivided - RandomBooksCount) 1 Player.AddItem (ListGetNthForm aaaSFWbtcBooksFormList (i2 + 1)) (CountDivided + RandomBooksCount) 1 i2 += 2 Loop EndIf ;PreWarBookCount = 0 ; ТИП "ФУНКЦИЯ" НЕ СОХРАНЯЕТ ПЕРЕМЕННЫЕ EndIf End BTC-ReducedScript.esp scn aaaSFWbtcBookPerkScrFunc int iint LuckAffectsint LuckVal.pdf
  11. ИСПРАВЛЕНА КРИТИЧЕСКАЯ ОШИБКА И... Множитель коэффициента вынесен из цикла (микро-оптимизация) RandomMin = 1 / (fsqrt CountDivided) * CountDivided RandomMax = 2 / (fsqrt CountDivided) * CountDivided While i2 < RecycleArrSize If CountDivided > 1 RandomBooksCount = (Rand RandomMin, RandomMax) - 1 BTC-ReducedScript.esp
  12. scn aaaSFWbtcBooksToCaps int HowMuchToSale ref BookListSFWbtc ref rBookSFWbtc int Count int BookPrice int iRewardXP Begin Function { HowMuchToSale } BookPrice = GetINIFloat "BooksToCapsOptions:iFixedPrice" "BooksToCaps.ini" If BookPrice < 1 BookPrice = (Player.GetAV Science)/5 + (Player.GetAV Repair)/5 + (Player.GetAV Medicine)/5 + (Player.GetAV Barter)/5 + (Player.GetAV Survival)/5 EndIf iRewardXP = GetINIFloat "BooksToCapsOptions:iRewardXP" "BooksToCaps.ini" If iRewardXP < 1 iRewardXP = 10 EndIf If aaaSFWbtcBookPerkQuest.BookPerk > 99 BookListSFWbtc = aaaSFWbtcBooksFormList Else BookListSFWbtc = aaaSFWBooksFormList EndIf ForEach rBookSFWbtc <- BookListSFWbtc Count = Player.GetItemCount rBookSFWbtc If Count < 1 Continue EndIf If Count > HowMuchToSale Count = HowMuchToSale EndIf Player.RemoveItem rBookSFWbtc Count Player.AddItem f (Count * BookPrice) RewardXP (Count * iRewardXP) aaaSFWbtcBookPerkQuest.BookPerk += Count HowMuchToSale -= Count If HowMuchToSale < 1 Break EndIf Loop If aaaSFWbtcBookPerkQuest.DoOnceBookPerk == 0 && aaaSFWbtcBookPerkQuest.BookPerk > 19 aaaSFWbtcBookPerkQuest.DoOnceBookPerk = 1 ShowMessage aaaSFWBookPerkSpoiler EndIf If aaaSFWbtcBookPerkQuest.DoOnceBookPerk == 1 && aaaSFWbtcBookPerkQuest.BookPerk > 99 aaaSFWbtcBookPerkQuest.DoOnceBookPerk = 2 Player.AddPerk aaaSFWBookPerk StartQuest aaaSFWbtcBookPerkQuest ShowMessage aaaSFWBookPerkMsg EndIf End BTC-ReducedScript.esp

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