Two small improvements to the flea market in the Garbage.
So, it includes two modules:
- Worn-out Assortment: The condition of the items will vary from 0 to 100. * I found only one simple way to randomize the condition of the item without overly complicating the code: to set it during the determination of the value of the item. From this comes a small bug that the item you sold will change its condition.
- Assortment Expansion: Almost any item can appear in the assortment (except for food and medicines) * If you are using Trader Overhaul, or another addon that changes the assortment of Flea Markets, the Assortment Expansion module should be installed after.
Итак, он включает в себя два модуля:
- Worn-out Assortment: Состояние предметов будет варьироваться 0 до 100. * Я нашёл только один простой способ рандомизировать состояние товара, не слишком усложняя код: устанавливать его во время определения стоимости предмета. Из этого исходит небольшой баг, что проданный вами предмет, изменит своё состояние.
- Assortment Expansion: В ассортименте может появиться практически любой предмет (кроме еды и медикаментов) * Если вы используете Trader Overhaul, или другой аддон, меняющий ассортимент барахольщиков, модуль Assortment Expansion должен быть установлен после.
nice preview
I want a mod that just absolutely covers the Garbage in trash like that now lol
Interesting. i am gonna try it.
А если я хочу, чтобы все торговцы продавали предметы со случайным состоянием, что для этого мне нужно изменить в коде?
Заменить полностью вторую строку на это:
if obj:condition() then
Ещё на третьей строке можно понизить число 100, например, до 50 и товар в среднем будет иметь состояние в два раза лучше
Хех, я это сделал, но только после открытия инвентаря торговца, в моём инвентаре все предметы тоже рандомно изменили состояние:)))
Помогло 2 варианта:
if obj:condition() and string.find(obj:parent():name(), "trader") then
и
if obj:condition() and not string.find(obj:parent():name(), "actor") then
Какой вариант лучше, даже не знаю.
К сожалению я не знаю, как грамотно исключить из условия игрока, т.к не разбираюсь в скриптах.
О, я не подумал даже о таком исходе :D
Оба варианта выше идентичны, но я бы отдал предпочтению тому, что покороче. А вот я придумал вариант полегче:
if obj:condition() and profile.mode == 2 then
1 - игрок
2 - торговец
Спасибо!
Да, единственное, что мне понятно: чем короче код, тем быстрее он работает:)
Хотя конечно, здесь такая мизерная разница, что можно было этим пренебречь, тем более, что скрипт срабатывает только при открытии инвентаря торговца, а не строчит непрерывно, наверное...
Не за что)
Да, обычно разница слишком незначительна, но в данном случае, скрипт срабатывает для каждого предмета отдельно. Т.е. если у торговца 100 предметов, скрипту придётся проверить каждый из них, однако, нагрузка всё ещё слишком маленькая
In terms of load order where does this go?, after trader overhaul and its addons?
Yes, after Trader overhaul
The content of <anomaly> does not look valid
This comment is currently awaiting admin approval, join now to view.