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

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


aL☢

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

И после всего этого вы говорите, что это лучше и безкостыльней, чем пара скриптов, которые срабатывают один раз по заходу в ячейку?)

А какие тут костыли, твой скрипт в 400+ строк на сундук не самого зажиточного торговца, или пятистроковый шаблонный скрипт, ну мб десятистроковый, который делает товар со случайным разбросом.

Есть ли смысл тогда вообще выставлять Respawn? Или без него resurrect не даёт полного обновления содержимого, включая лвл-листы?

Не даёт, новый товар появляется при респавне. Изменено пользователем Абдулла аль-Хазред
Ссылка на комментарий
Поделиться на другие сайты

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

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

Да там не задумка, просто попробовал предложение Dun Dram'а, выставляем контейнеру respawn, гмст на месяц, скриптом перерождаем его resurrect, в итоге имеем новый набор из того же лвл листа на начало следующего месяца.

 

Серьезно? Resurrect работает на контейнерах? О АЛЬМСИВИ, как же меня радует, когда дыра в реализации одной механики может быть компенсирована дырой в реализации другой. Новый набор получается независимо от того брали что-то из сундука или нет?

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

Серьезно? Resurrect работает на контейнерах? О АЛЬМСИВИ, как же меня радует, когда дыра в реализации одной механики может быть компенсирована дырой в реализации другой. Новый набор получается независимо от того брали что-то из сундука или нет?

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

При скупке всего товара? Или достаточно купить что-то одно?

 

но я думаю, что команда removeitem может помочь, удалить предметы лвл листа.

 

Боюсь что не поможет, но то же самое я и про Ressurect говорил и вот как оно вышло, так что нужно проверить.

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

При скупке всего товара? Или достаточно купить что-то одно?

 

 

 

Боюсь что не поможет, но то же самое я и про Ressurect говорил и вот как оно вышло, так что нужно проверить.

Ну у меня лвл лист давал одну вещь, если её покупаешь - 1 числа месяца респавнится новая вещь. Дык я проверял, удаляет товар.
Ссылка на комментарий
Поделиться на другие сайты

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

А какие тут костыли, твой скрипт в 400+ строк на сундук не самого зажиточного торговца, или пятистроковый шаблонный скрипт, ну мб десятистроковый, который делает товар со случайным разбросом.

 

Мой скрипт есть и работает. Если ты сделаешь свой скрипт, который будет делать то же самое - велкам. Ну и да - мой "километровый" может сделать действительно динамическое обновление - старые НЕ купленные товары не будут обновляться, поверх них буду появляться новые итемы.

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

Да там не задумка, просто попробовал предложение Dun Dram'а, выставляем контейнеру respawn, гмст на месяц, скриптом перерождаем его resurrect, в итоге имеем новый набор из того же лвл листа на начало следующего месяца.

Можешь тестовым плагином поделиться? Очень интересно.

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

Мой скрипт есть и работает. Если ты сделаешь свой скрипт, который будет делать то же самое - велкам. Ну и да - мой "километровый" может сделать действительно динамическое обновление - старые НЕ купленные товары не будут обновляться, поверх них буду появляться новые итемы.

Так тут тоже получается, что старые не купленные товары не будут обновляться (было 10 суджамм – через месяц снова 10). Итемы за счёт левельных списков (а их и в ванильных сундуках навалом) будут обновляться и вместо киродиильского бренди через месяц у торговца может быть флин в инвентаре (причём ещё и независимо от того купили мы его или нет). Прописывать в скрипт кучу id предметов не нужно, работы гораздо меньше в целом.

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

Так тут тоже получается, что старые не купленные товары не будут обновляться (было 10 суджамм – через месяц снова 10). Итемы за счёт левельных списков (а их и в ванильных сундуках навалом) будут обновляться и вместо киродиильского бренди через месяц у торговца может быть флин в инвентаре (причём ещё и независимо от того купили мы его или нет). Прописывать в скрипт кучу id предметов не нужно, работы гораздо меньше в целом.

 

Ну ок, жду тогда тестовую версию.

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

Мой скрипт есть и работает. Если ты сделаешь свой скрипт, который будет делать то же самое - велкам. Ну и да - мой "километровый" может сделать действительно динамическое обновление - старые НЕ купленные товары не будут обновляться, поверх них буду появляться новые итемы.

 

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

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

Тестируйте, магазин арила, сейда нин, часть товара лвльная, часть стационарная 1 ед. Лвльный товар зачарованный, чтоб отличался.

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

test.ESP

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

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

 

Так я и не против, для меня главное конечный результат.

 

Тестируйте, магазин арила, сейда нин, часть товара лвльная, часть стационарная 1 ед.

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

 

Спасибо, забираю.

 

П.С. Не пойму, неорганический контейнер нельзя "воскрешать" ?

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

П.С. Не пойму, неорганический контейнер нельзя "воскрешать" ?

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

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

 

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

 

УПД: Все работает, как я понял. Через месяц товар в ящиках, где был без лвл-листов обновился. Где были лвл-листы появились новые. Все хорошо работает в этом плане, единственное - костыль с положить в ящик... Ну да бог с ним. Еще потестирую - если все будет ок - будем перебираться на новые рельсы.

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

Begin Mort

short state

if ( cellchanged == 1 )

resurrect

endif

end

Нормас

 

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

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

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

Нормас

 

 

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

 

Никого не будет смущать обновление товара раз в месяц?)

 

Судя по всему затык остается только в этом.

 

От Морта еще попрошу видео теста, не для меня, для других юзеров, если не влом)

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

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

Идея собственно проста, при начале разговора с торговцем выставляем игроку лвл в четверть от его навыка торговли, по окончании разговора возвращаем его истинный лвл. Т.о. качество товара становится зависимым от навыка торговли, лвл листы будут считать его установленный лвл.

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

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

Идея собственно проста, при начале разговора с торговцем выставляем игроку лвл в четверть от его навыка торговли, по окончании разговора возвращаем его истинный лвл. Т.о. качество товара становится зависимым от навыка торговли, лвл листы будут считать его установленный лвл.

 

Не нужно додумывать слишком много. Так вы создаете проблемы, которых изначально не было. (с) Фридрих Ницше.

 

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

 

Вот и отличаются СХ и МФР, в СХ слишком много все усложнено и перегружено (и я считаю что это по своему мастхевный мод, играю во все новые его версии). В МФР я чуствую порог, где нужно остановиться, чтобы игрок не чувствовал, что играет в мод.

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

Ну так это же как раз логичное дополнение. Для СХ я планирую ещё некоторые дополнительные вещи прикрутить, такие как реакция торговца на покупки или неудачную попытку торговли всплывающими сообщениями, да и ещё кой чего, а тут всё довольно просто, даже наверное запилю мануальчик как сделать то, что ранее можно было сделать только с помощью мвсе(но это чуть позже).
Ссылка на комментарий
Поделиться на другие сайты

Элу:

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

 

Предлагаю ещё и от именных сундуков отречься: т.е. предметы не по торговцам именовать, а по группам (Есть мешки "com_sack_01_chpfood5" с одинаковым набором товаров → смотрим какие из них есть у торговцев и меняем id (com_sack_01_chpfood5S) → у торговцев есть свой отдельный респаунящийся мешок (вариативность товаров делаем с помощью лвл-итемов), а обычные мешки (com_sack_01_chpfood5) не у торговцев остаются без респауна.

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

 

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

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

 

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

 

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

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

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

 

Идея собственно проста, при начале разговора с торговцем выставляем игроку лвл в четверть от его навыка торговли, по окончании разговора возвращаем его истинный лвл. Т.о. качество товара становится зависимым от навыка торговли, лвл листы будут считать его установленный лвл.

 

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

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

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

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