Поиграл в Солянку. Новые характеристики артефактов не понравились. Мало того, думаю они ни кому нравятся - но, однозначно, предложи свои - они тоже никому не понравятся.
Возникла идея - а почему бы не включить рандом? То есть при начале игры вычисляется свойства артефактов и модификатов, записываем actor-у (с полкилобайта нужно будет - выдюжит?). Справка меняется (просто нет конкретных цифр). Узнать свойства до получения арта нельзя.
Если идея интересна, то (думаю) могу реализовать. Можно два варианта - "дикий" - получаем, что попало (почти), и "привычный" - возьмем медузу - радиоактивность от 1-5 и пулестойкость тоже от 1 до 5, ну и т.д.
ЗЫ Технической работы очень много нужно будет. На каждый арт нужны глобальные переменные (вид артефакта - уже есть?) и по три (четыре?) бита на свойство, т. е. 2-3 байта на каждый. Все прописать куда-надо. Кажется это несложно, единственное (пока) мне не ясно, как будут показываться (ну и узнаваться) свойства артефакта в инвентаре. Ну и всяко что-нибудь еще вылезет...
ЗЫЫ Я (думаю) мог бы легко реализовать таблицу артефакты-свойства, инициализацию, кодирование, запросы (и проч. - чисто программные вещи), а вот внутренности игры я не очень хорошо знаю.
Я в этом не ГУРУ, но может не так страшен черт, как его малюют. Возможно не нужно ничего писать актору в нетпакет. Ведь все свойства объектов пишутся в их собственные пакеты. Для работы со свойствами пакетов разных типов объектов есть готовые функции (read_stalker_params(), read_monster_params(), write_stalker_params(), write_monster_params(), get_anomaly_data(), set_anomaly_data(), get_lc_data(), set_lc_data(), get_breakable_data(), set_breakable_data(), get_spawner_data(), set_spawner_data(), get_restrictor_data(), set_restrictor_data(), get_trader_data(), set_trader_data(), get_invbox_data(), set_invbox_data(), get_ammo_params(), set_ammo_data(), get_destroyable_data(), set_destroyable_data(), get_weapon_data(), set_weapon_data()), но вот для артефактов что-то не нашел... Хотя, как минимум, есть возможность сохранять и получать свои данные из какого-либо объекта с помощью gen_custom_data() parse_custom_data(). Однако это будет просто как довесок. Стоит поискать формат данных для артефактов. Возможно есть готовые функции в запакованных скриптах. А может их можно выудить из описания объектов-артефактов...
sapsan
---
А интересная идея, все-таки. Ну, понял уже, что о конкретике я рано начал говорить.
Shadowman, По поводу размножения готовых секций в конфигах - я скрипт вполне могу написать, который хоть по мегабайту будет ltx-ки лепить - и прописывать все куда надо (понятно, что тут надо покумекать - но, вот-это, мне, кажется несложно - сложнее будет разумно продумать разброс фиктивных характеристик, и, естественно, разумно ограничить их число). По нет-пакетам предметов еще не ковырялся, но обязательно посмотрю.
---
Shadowman, По поводу поста из Прохождения... Про ID я упомянул, что встречал примеры, как для нахождения чего-либо использовался цикл по всем возможным ID с проверкой - а тот ли это объект, и видел ответы, что по-другому нельзя.
Сильно заметного увеличения времени синхронизации при переходах не заметил, но честно скажу не обращал внимания. Попробую с секундомером посидеть.
А при превращении трупа непися в зомби после выброса из него все вываливается. Раньше часто на Радаре замечал, ну и сейчас разок на базе Свободы (проснулся после первого разговора с Гавром от выброса - ох, там и много трупов свободовцев оказалось ).