Перейти к контенту

Dynamic Trade Listings


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

Рот Фронт!

Version 1.4 RC


Изменения:

Добавлен полный дамп ценовых коэффициентов в виде луа-массива, называется karlan_costs (выступает глобальной переменной), и имеет следующие поля:

1. gross_price - цена-брутто
2. condition_factor - фактор влияния состояние предмета на его цену
3. relation_factor - фактор учета личных отношений экономических агентов
4. action_factor - значение отражает комбинированный фактор из произведения между фактором личных отношений и фактором из конфигурационного файла (первое, либо второе число берется в зависимости от количества благосклонности, константы которого устанавливаются в game_relations, и, если не ошибаюсь, имеют ограничения 2^16)
5. deficit_factor - фактор дефицита товара (общно - если существует, то значение количества и вероятности из конфига делится на значение количества и вероятности текущее)
6. net_price - цена-нетто, которая является произведением всех вышеуказанных факторов

Аргументами функций дисконтов теперь являются только две юзердаты (юзердату итема возможно получить из коллбека), они в контексте обновления массива цен являются константами. На финише (после ручной обработки) осталась нормализация значения и округление в диапазоне от 1 до 1000000.

 


 

Полный дамп может выглядеть вот так:

for coeff, value in pairs(karlan_costs) do
printf('%s = [%s]', coeff, value)
end

Следует заметить, что использование актуально только в функциях формирования цены, в остальных случаях - nil.

 


 

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

 

К примеру АС "Вал" стоит 7000р, военный берет водку за 200р, нехитрыми вычислениями получаем, что автомат стоит 35 бутылок. Плюс системы в том, что вы можете за один заход купить у военного все что вам необходимо без мучительного (на мой взгляд) ползания по дебрям диалогов, сначала десять фраз чтобы получить патроны, потом десять фраз за тушенкой.. ну кому как, меня всегда раздражало :).

Ссылка на комментарий

 

 

Также демонстрационно введена бартерная торговля водкой с военными через движковое торговое окно.

Отдельная от торговли фишка, я правильно понял?

Интересно бы заценить наглядно (Видео, к примеру), если так.

Добавлено Карлан,

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

  • Согласен 1
Ссылка на комментарий

Для тех, кто ждал, надеялся и верил.

 

Работа полностью завершена. Разработка в несколько урезанном варианте была опубликована в рамках Prosectors Project.

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

Что делать с темой - на усмотрение самизнаетекого.

 

Всем спасибо за поддержку.

  • Спасибо 1
Ссылка на комментарий
Работа полностью завершена. Разработка в несколько урезанном варианте была опубликована в рамках Prosectors Project.

 

Prosectors Project

  • Согласен 1
  • Не согласен 1
Ссылка на комментарий

Да, но она очень старая (2013 года). У меня сохранилась, по моему, только версия 0.8, сейчас же уже делается 1.6, отличия колоссальные и методы подхода к реализации прямо противоположные, все никак не дойдут руки описать пятнадцатую версию, в ней скрипт выращивался кусками в связи с уходом от оригинала на конкретную платформу. Если интересно, я могу выложить 0.8 (она проще для восприятия, чем та же 1.1 с ее колоссальными данными), но там методы подхода к реализации довольно плохие для пользователя разработки, я бы даже сказал очень плохие, придется затратить достаточно времени на настройку всей торговли. Причем, что весь оригинальный (4-6 патчи, например) потенциал торговли я не раскрыл вплоть до 1.6 версии (сначала недостаток опыта, затем времени), вот так вот :). То есть вот куски, которые появились буквально недавно вполне себе замечательно будут работать и на обычном сталкере безо всяких исходников, если кто-то их портирует на оригинальную игру из скрипта на дату релиза, то возможно где-то кому-то и работы меньше будет. Но куда проще будет перейти на PP.

 

Стоит обратить внимание на мой тутор: http://www.amk-team.ru/forum/topic/13042-dynamic-trade-listings/?p=949806

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

 

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

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

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