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

Новая динамическая система торговли


aL☢

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

Хочу представить вашему вниманию новую динамическую систему торговли - к черту минусовые значения у сундуков и НПЦ торговцев! Как же бесит, когда открываешь обворованный ссаный торговый сундук, а там опять куча зелий... То же касается и трупа торговца, пока он не исчезнет. Да и вообще - вас не бесит, что когда вы покупаете что либо у торговца - у него при следующей покупке моментально обновляется инвентарь? Меня вот это дико напрягало, после чего за несколько последних месяцев за тонной выпитого кофе была рождена и реализована скриптовая система динамической торговли.

 

Что же делает эта система? Делает ровно 3 вещи! Давайте посмотрим:

 

1. у торговцев и их сундуков убрана напрочь моментальная обновляемость товара. Все минусовые значения выставлены в +.

 

2. сундук торговца теперь именной, скриптом ему добавляется через рандом только те товары торговца, которые были скуплены ГГ и имеют меньшее значение от изначального. Пример - у торговца было 5 скаттла. ГГ купил 3. Скрипт проверит значение скатла, после чего когда ГГ вновь появится у торговца - с 10% шансом кол-во скатла увеличится на 1 единицу. Т.е. станет уже не 2, а 3. И так до тех пор, пока вновь не выровняется до 5. И так для каждого вида товара, который есть именно у этого торговца. Но чтобы пройти путь восстановления товара - пройдет немало времени, ведь шанс 10%, а ГГ не каждый день бегает к одному и тому же торговцу. Т.е. да - товар восстанавливается динамически, со временем. Мало ли, когда торговец и каким образом пополняет свои запасы. Короче говоря - скупите все - и когда вы вернетесь в следующий раз - у торговца будет примерно 10-20% от общих запасов товара.

 

3. Навык торговца меняется теперь тоже довольно динамично и зависит от навыка ГГ. ГГ теперь даже обладая значением торговли более 100 не сможет продать товар торговцу по себестоимости. Но сможет купить его практически по себестоимости. Баланс купли-продажи соблюден, этот нюанс требует обязательного включения в МСР пункта "Фикс Торговли" (включен по умолчанию в M[FR], а так же в МСР при первом запуске после установки в папку Морровинда).

 

Все это дает вполне отличный геймплей как за торговца, так и просто за любой класс, который пользуется расходниками. Ходить в соседний город за товаром теперь не только приветствуется, но и местами будет необходимым. Т.е. модом достигнуты следующие 2 цели:

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

- сделать динамически обновляющиеся товары у торговца.

 

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

 

Скачать:

 

 

В моде затронута ячейка с Налькарией в балморе, т.к. был заменен через серч сундук на именной (на котором и висит один единственный скрипт, который делает все, что необходимо делать, причем после выполнения он не жрет память), Налькария, т.к. минусовым значениям было присвоено плюсовое (если кто знает безболезненный способ скриптом поменять ей минус у товаров на плюс - делитесь, я этот момент особо не копал, т.к.), ну и собственно созданы новый скрипт, 1 штука, новый сундук, 1 штука.

 

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

 

Для примера:

ГГ, привлекательность 50, отношение у Налькарии 50 из 100, навык торговли 17, удача 45, усталость 1/3, покупка зелья с прайсом 80 за 103 монет, продажа оного же за 16.

ГГ, привлекательность 50, отношение у Налькарии 50 из 100, навык торговли 101, удача 45, усталость 1/3, покупка зелья с прайсом 80 за 88 монет, продажа оного же за 31.

Спросите чего так мало дает септимов при высокой торговле? Потому что нужно:

1. привлекательность качать, она имеет самое высокое отношение после торговли.

2. отношение поднимать с торговцем, тогда прайс так же вырастет при продаже.

3. удачу качать. Да да, она так же решает.

4. Усталость должна быть полная.

После того, как вы отмаксите все три указанных параметра - цена продажи перевалит за половину от номинала, возможно добиться и примерно 2/3 - 3/4 цены от номинала.

 

Удачных тестов! С плагином и его системой делайте что угодно с указанием авторства, но я прошу не публиковать плагин до релизной версии со всеми торговцами на сторонних ресурсах, включая буржуйские.

 

П.С. С выключенным фиксом в МСР или просто без МСР плагин не тестировался.

Ссылка на комментарий
Поделиться на другие сайты

  • Ответов 185
  • Создана
  • Последний ответ

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

Спасибо, кончил.

Сделал то, о чем давно уже говорили: надо работать с каждым торговцем, пришивая ему скрипт.

Теперь дело за малым: осталось запилить такое всем торговцам в игре, + выцепить торгашей из Бладмуна + из Трибунала :crazy:

Изменено пользователем morrow
Ссылка на комментарий
Поделиться на другие сайты

Может, всем и не надо, но тем, у кого продается что-либо значимое. Ведь есть и те, у кого толком ни денег, ни интересного товара.

А ваще это очень круто.

Глобальная переделка торговли началась)

Изменено пользователем usolo
Ссылка на комментарий
Поделиться на другие сайты

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

 

А по поводу не всех торговцев - если убрать у них скрипт - у них же кончится товар совсем, если все скупить) А минуса, т.е. бесконечные товары, я не хочу оставлять.

Ссылка на комментарий
Поделиться на другие сайты

Выглядит очень перспективно. Но будет несовместимо с любыми плагинами, которые добавляют что-либо в ванильные сундуки торговцев, я правильно понял?
Ссылка на комментарий
Поделиться на другие сайты

Выглядит очень перспективно. Но будет несовместимо с любыми плагинами, которые добавляют что-либо в ванильные сундуки торговцев, я правильно понял?

 

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

Ссылка на комментарий
Поделиться на другие сайты

2. сундук торговца теперь именной, скриптом ему добавляется через рандом только те товары торговца, которые были скуплены ГГ и имеют меньшее значение от изначального. Пример - у торговца было 5 скаттла. ГГ купил 3. Скрипт проверит значение скатла, после чего когда ГГ вновь появится у торговца - с 10% шансом кол-во скатла увеличится на 1 единицу. Т.е. станет уже не 2, а 3. И так до тех пор, пока вновь не выровняется до 5. И так для каждого вида товара, который есть именно у этого торговца. Но чтобы пройти путь восстановления товара - пройдет немало времени, ведь шанс 10%, а ГГ не каждый день бегает к одному и тому же торговцу. Т.е. да - товар восстанавливается динамически, со временем. Мало ли, когда торговец и каким образом пополняет свои запасы. Короче говоря - скупите все - и когда вы вернетесь в следующий раз - у торговца будет примерно 10-20% от общих запасов товара.

То есть, если с торговцем не говорить, то и восстановления числа товаров не произойдёт? Что-то мне как-то странно. Разумнее было бы восстанавливать по единице товара в день, или там с шансом 50 % за один день. Если это сложно реализуемо или не нравится сам подход - хотя бы увеличь шанс на восстановление.

 

3. Навык торговца меняется теперь тоже довольно динамично и зависит от навыка ГГ. ГГ теперь даже обладая значением торговли более 100 не сможет продать товар торговцу по себестоимости. Но сможет купить его практически по себестоимости. Баланс купли-продажи соблюден, этот нюанс требует обязательного включения в МСР пункта "Фикс Торговли" (включен по умолчанию в M[FR], а так же в МСР при первом запуске после установки в папку Морровинда).

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

Ссылка на комментарий
Поделиться на другие сайты

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

Если увеличивать навык торговли нпц после каждой сделки он так переплюнуть и Сангвина может в сделках. Т.е 200 раз я поторговал.. И тут не соглашусь. Рост навыка торговца гораздо меньше, когда ГГ уже основательно в торговле разбирается. И я ж написал для чего сделано было - чтобы нельзя было продать вещь дороже номинала и купить дешевле номинала. Если знаешь другой способ решения этой проблемы - говори, я только за.

Ссылка на комментарий
Поделиться на другие сайты

Посмотрел скрипт. Быть может, лучше сделать зависимость навыка через прямую формулу, без градации? А то ведь может возникнуть ситуация, при которой при повышении игроком навыка цены становятся хуже.
Ссылка на комментарий
Поделиться на другие сайты

С торговцем не обязательно говорить, товар обновляется не от разговора, а от появления в ячейке.

То есть достаточно встать у двери и 10-20 раз заходить-выходить, чтобы ингредиенты восстановились?

 

вы представляете сколько прийдется добавлять глобальным скриптом по времени?

Нет, не представляю - потому и спрашиваю.

 

Если увеличивать навык торговли нпц после каждой сделки он так переплюнуть и Сангвина может в сделках. Т.е 200 раз я поторговал.. И тут не соглашусь. Рост навыка торговца гораздо меньше, когда ГГ уже основательно в торговле разбирается. И я ж написал для чего сделано было - чтобы нельзя было продать вещь дороже номинала и купить дешевле номинала. Если знаешь другой способ решения этой проблемы - говори, я только за.

Не знаю, и даже не тестировал - просто ворчу, по фуллрестовскому обычаю. Судя по твоему ответу, всё сделано гармоничнее, чем мне представлялось. А навык торговца ограничен в росте 100?

Ссылка на комментарий
Поделиться на другие сайты

То есть достаточно встать у двери и 10-20 раз заходить-выходить, чтобы ингредиенты восстановились?

 

Нет, не представляю - потому и спрашиваю.

 

Не знаю, и даже не тестировал - просто ворчу, по фуллрестовскому обычаю. Судя по твоему ответу, всё сделано гармоничнее, чем мне представлялось. А навык торговца ограничен в росте 100?

 

Я об этом не думал, но по факту так можно добиться восстановления товара.

 

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

 

Не ограничен. На данный момент у Налькарии после достижения ГГ навыка торговли в 100 идет навык торговли ГГ +15, т.е. 115.

 

Посмотрел скрипт. Быть может, лучше сделать зависимость навыка через прямую формулу, без градации? А то ведь может возникнуть ситуация, при которой при повышении игроком навыка цены становятся хуже.

 

А как такая ситуация может возникнуть? Можно поподробнее.

Ссылка на комментарий
Поделиться на другие сайты

Не тестировал еще, только скрипт посмотрел, но выглядит очень интересно.

 

Удивили зверские значения, в которые навык торговли у продавуов выставляется - до трехсот... Это, так я понимаю, для того, что бы в принцпе шмотки выше номинала продать нельзя было бы?

 

Вообще, я бы просто единократно выставил бы торговцам значения в диапазоне 70-110 в зависимости от уровня и рандома. Так и с понижением навыка у торговца можно читерствовать, и для реиграбельности было бы веселее - каждую новыую игру у торговцев цены бы различались. Но это я не критикую, просто к тому, что несколько иначе идеологию вижу - возможно, запилю под себя версию, когда финальная версия выйдет.

 

В EcoAjuster'e, кстати, торговцам еще и навык красноречия повышали, так как он - вроде как - тоже на цену вляет. Может, стоит присмотреться?

 

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

 

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

Убрал баг самого, видимо, двигла морки, если полностью скупить все у торговца - товар не будет обновляться. Плюс вернул потерянный ретурн, а то все ж таки скрипт висел постоянно в памяти, ага. Перекачать всем скачавшим.

 

Не тестировал еще, только скрипт посмотрел, но выглядит очень интересно.

 

Удивили зверские значения, в которые навык торговли у продавуов выставляется - до трехсот... Это, так я понимаю, для того, что бы в принцпе шмотки выше номинала продать нельзя было бы?

 

Вообще, я бы просто единократно выставил бы торговцам значения в диапазоне 70-110 в зависимости от уровня и рандома. Так и с понижением навыка у торговца можно читерствовать, и для реиграбельности было бы веселее - каждую новыую игру у торговцев цены бы различались. Но это я не критикую, просто к тому, что несколько иначе идеологию вижу - возможно, запилю под себя версию, когда финальная версия выйдет.

 

В EcoAjuster'e, кстати, торговцам еще и навык красноречия повышали, так как он - вроде как - тоже на цену вляет. Может, стоит присмотреться?

 

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

 

А зачем глобального? Надо просто в условие кроме CellChanged поставить еще DaysPassed, или какую-другую проверку на время.

 

Зверские значения из за фикса МСР. Попробуй выставить значения меньше и поторговать - цены при торговле ГГ в 1! и торговле налькарии в 200+ тебя просто насмешат. Но ты прав, все из за ерунды с куплей продажей относительно номинала. Я эти тесты делал последние месяца 2 на досуге с разными значениями, поверь - у меня, имхо, цифры оптимальны. Опять таки - видно будет в самой игре что все плавно происходит, и рост торговли и обновления товаров.

 

Запилить рандомный, но фиксированный навык торговли у НПЦ? я думал об этом, но дело в том, что тогда ГГ натасканный в торговле будет покупать дешевле номинала. Но стоит этот момент перепроверить, вроде б такую ерунду я наблюдал ДО включения фикса МСР.

 

А навык красноречия на цену действительно влияет? Как то этот момент я упустил из виду.

 

Вот так новость... И правда - не появляются больше, если даже хотя бы сундук обчистить. Странно, но я абсолютно ясно помню этот момент, хотя это было давно и я не юзал МСР, т.е. шел где то год 2006. Неужели блудмун или МСР пропатчил игру и этот неприятный баг ушел?

 

А как будет отсрочка работать при CellCanged? А если я вышел с ячейке DayPassed будет высчитываться, а следовательно скрипт будет в памяти висеть? Если да, то это серьезные тормоза после 100 торговца.. По идее.

Ссылка на комментарий
Поделиться на другие сайты

Запилить рандомный, но фиксированный навык торговли у НПЦ? я думал об этом, но дело в том, что тогда ГГ натасканный в торговле будет покупать дешевле номинала.
Ну, для себя лично я в этом особой проблемы не вижу. Но это на любителя, да.

 

А как будет отсрочка работать при CellCanged?
Да так и будет. Сейчас как работает - вышли из ячейки, зашли в ячейку - проверка сработала, скрипт крутится. С отсрочкой будет так - вышли из ячейки, зашли в ячейку - пошла проверка на день, если день изменился - скрипт отрабатывает, если нет - то Return и до следующего CellCanged.

Ну или наоборот, это как уже скрипт написать. Я просто в том смысле, что ничего невозможного в этом нет. Конечно, товар так не будет обновляться, если целый день в магазине простоять, но он и так не будет обновляться; хотя, при желании, можно и это решить (тут, кстати, надо бы подумать на предмет торговцев в гостиницах, буде такие есть - если в магазине игроку действительно нечего торчать круглые сутки, то в гостинице - нет ничего зазорного в том, что бы проваляться в кровати день-другой).

 

А если я вышел с ячейке DayPassed будет высчитываться, а следовательно скрипт будет в памяти висеть?
Да нет, думаю - что там высчитывать, эта же функция просто значение сооветствующей глобальной проверяет, а она должна сама высчитываться, независимо от скриптов.
Ссылка на комментарий
Поделиться на другие сайты

Ну полюбому идея со 2й проверкой на время это тру! ЧУть позже запилю тогда сий плагин. И протестирую торговцев получше, где навык торговли ГГ будет выше навыка торговли НПЦ.
Ссылка на комментарий
Поделиться на другие сайты

Ну полюбому идея со 2й проверкой на время это тру! ЧУть позже запилю тогда сий плагин. И протестирую торговцев получше, где навык торговли ГГ будет выше навыка торговли НПЦ.

Cellganged не нужен, достаточно условий dayspassed для нормальной оптимизации и адекватного восполнения товара. Сейчас времени маловато у меня, но могу старый скрипт торговца скинуть, там есть проверка на дни, т.е. скрипт запоминает первую встречу с торговцем и от этого дня ведет отсчёт, если игрок пришел через n дней, то скрипт высчитывает сколько дней прошло со дня обновления ассортимента. Кину в ЛС.
Ссылка на комментарий
Поделиться на другие сайты

Cellganged не нужен, достаточно условий dayspassed для нормальной оптимизации и адекватного восполнения товара. Сейчас времени маловато у меня, но могу старый скрипт торговца скинуть, там есть проверка на дни, т.е. скрипт запоминает первую встречу с торговцем и от этого дня ведет отсчёт, если игрок пришел через n дней, то скрипт высчитывает сколько дней прошло со дня обновления ассортимента. Кину в ЛС.

по 1 перменной на 1 торговца... много переменных)
Ссылка на комментарий
Поделиться на другие сайты

по 1 переменной на 1 торговца... много переменных)

Можно одну на всех сделать, проблем то. В определенный день обновление товара, в первый день игры скажем. И каждые 7 дней цикл.
Ссылка на комментарий
Поделиться на другие сайты

Cellganged не нужен, достаточно условий dayspassed для нормальной оптимизации и адекватного восполнения товара. Сейчас времени маловато у меня, но могу старый скрипт торговца скинуть, там есть проверка на дни, т.е. скрипт запоминает первую встречу с торговцем и от этого дня ведет отсчёт, если игрок пришел через n дней, то скрипт высчитывает сколько дней прошло со дня обновления ассортимента. Кину в ЛС.

 

Меня вполне устраивает этот вариант, с проверкой на CellChanged, т.к. в том и фишка, что скрипт сработал, и все, до следующего появления у торговца он "дремлет". Но не висит в памяти. А вот 2 проверка на DayPassed весьма неплохая идея, пока что смотрю что да как.

Ссылка на комментарий
Поделиться на другие сайты

Меня вполне устраивает этот вариант, с проверкой на CellChanged, т.к. в том и фишка, что скрипт сработал, и все, до следующего появления у торговца он "дремлет". Но не висит в памяти. А вот 2 проверка на DayPassed весьма неплохая идея, пока что смотрю что да как.

с днями ровно то же самое. первая проверка:

if dayspassed ==Х

return

endif

Ссылка на комментарий
Поделиться на другие сайты

Меня вполне устраивает этот вариант, с проверкой на CellChanged, т.к. в том и фишка, что скрипт сработал, и все, до следующего появления у торговца он "дремлет". Но не висит в памяти. А вот 2 проверка на DayPassed весьма неплохая идея, пока что смотрю что да как.

Проверку на время в том или ином виде реализовать надо. Вот представь: скупился ты у Балморских торгашей, закинул за плечи распухшую суму и отправился в Эшленд. Вернулся через три месяца, тощий, вшивый, с дырявой торбой, а в Балморе... правильно, пустые лавки.
Ссылка на комментарий
Поделиться на другие сайты

Проверку на время в том или ином виде реализовать надо. Вот представь: скупился ты у Балморских торгашей, закинул за плечи распухшую суму и отправился в Эшленд. Вернулся через три месяца, тощий, вшивый, с дырявой торбой, а в Балморе... правильно, пустые лавки.

 

Окей, займусь такой проверкой на досуге.

Ссылка на комментарий
Поделиться на другие сайты

  • 11 месяцев спустя...

1. Касательно сумм - простое увеличение платы становится препятствием только на первых порах. Уровню к 20-му денег столько, что не 150, и даже не 3000 монет - все слишком дешево. Нужно править экономику, без этого толку не будет.

2. Рост характеристик - нужно делать динамическим это дело. На старте игры 1,5-2 утомляет, но как прокачаться чуть, то уже быстро лвл-апы достигаются.

1 А что если сделать так, чтобы торговцы не скупали у игрока всё подряд? Даже не так... есть в игре ростовщики, которые скупают всё, но по ценам грабительским, а есть кузнецы, которые сами куют оружие и покупать у игрока всякий шлак им нафиг не нужно, зачем ему ещё мечи, если он своё продать не может? Это как один из вариантов правки баланса. Кроме того, товар у нпк статичен, если бы он обновлялся рандомно раз в неделю, было бы здорово. У меня есть концепт не плохой на торговлю, там много чего задумано, но мне лениво составлять списки товаров по торговцам( были мысли сделать рандом от класса торговца, региона нахождения, гильдии, расы но это будет не так продумано, как если заняться составлением индивидуальных списков товаров). Так вот, если будет желание объединить усилия в данном направлении - я только за. Концепт могу в лс развернуто написать.

2 Рост характеристик или навыков? Если навыков- то стоит их рост балансировать индивидуально, а не одной гмст переменной, так как некоторые навыки качаются за 10 минут до 100, а некоторые при низком навыке вообще не прокачать, только у тренеров( блокирование к примеру). А уже после этой балансировки можно замедлять прокачку.

Ссылка на комментарий
Поделиться на другие сайты

1 А что если сделать так, чтобы торговцы не скупали у игрока всё подряд? Даже не так... есть в игре ростовщики, которые скупают всё, но по ценам грабительским, а есть кузнецы, которые сами куют оружие и покупать у игрока всякий шлак им нафиг не нужно, зачем ему ещё мечи, если он своё продать не может? Это как один из вариантов правки баланса. Кроме того, товар у нпк статичен, если бы он обновлялся рандомно раз в неделю, было бы здорово. У меня есть концепт не плохой на торговлю, там много чего задумано, но мне лениво составлять списки товаров по торговцам( были мысли сделать рандом от класса торговца, региона нахождения, гильдии, расы но это будет не так продумано, как если заняться составлением индивидуальных списков товаров). Так вот, если будет желание объединить усилия в данном направлении - я только за. Концепт могу в лс развернуто написать.

2 Рост характеристик или навыков? Если навыков- то стоит их рост балансировать индивидуально, а не одной гмст переменной, так как некоторые навыки качаются за 10 минут до 100, а некоторые при низком навыке вообще не прокачать, только у тренеров( блокирование к примеру). А уже после этой балансировки можно замедлять прокачку.

1 – Эл уже этим занимается (обновлением товаров) → http://www.fullrest.ru/forum/topic/40648-novaja-dinamicheskaja-sistema-torgovli/ В принципе если не ограничение покупки нереваринского барахла торговцами, так хотя бы скупку вещей по обалденно грабительским ценам у всех торговцев реализовать можно прямо в одном плагине. Так что давайте, объединяйтесь.))

2 – вот здесь есть → http://www.fullrest.ru/forum/topic/14823-bistrii-vopros-bistrii-otvet-po-plaginam/page__view__findpost__p__946148

Если грамотно настроить рост каждого скилла (где-то оставить как есть, где-то в 4 раза замедлить), то будет норм.

Ссылка на комментарий
Поделиться на другие сайты

Гость
Эта тема закрыта для публикации ответов.
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...