Artos 99 Опубликовано 10 Июня 2012 Поделиться Опубликовано 10 Июня 2012 (изменено) karavan, причина в банальной рассинхронизации между моделью серверного об'екта и клиентского. Хотя менеджеры состояний и анимации работают с онлайновыми об'ектами, но немало кодов/условий/проверок идет и от серверного ... Да и просто не исключаю, что информация для анимаций и подобного кешируется где-то в движке и при подобном "онлайновом" переодевании просто не обновляется, хотя ... это наврядли, т.к. тогда от времени не так сильно зависело бы. Да и какая разница, решение по смене визуала давно есть и вполне приемлемое. А эта функция со своими нюансами может кому сгодиться для специфических моментов ... В том виде, как ее применяют разрабы, может она именно так и должна работать, но только вызов именно в той точке по времени как у разрабов, а не как в голову взбрело нам, модмейкерам.. Изменено 10 Июня 2012 пользователем Artos "Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени Ссылка на комментарий
Shredder 49 Опубликовано 12 Июня 2012 Поделиться Опубликовано 12 Июня 2012 Уважаемый Artos, не мог бы ты поделиться со мной библиотечкой для работы с нет-пакетами для чистой версии COP 1.6.02, если таковая имеется в твоём запасе? Просто оказалось, что взятые мной функции из различных модов искажают нет-пакет, даже если я совершенно не трогаю файл se_stalker, т.е. не добавляю какие-либо параметры. По поводу флага смены визуала. Сразу хочу сказать Спасибо! Т.к. твои слова просто писать переменную в pstor твоему об'екту меня просто осинили. Я почему то всегда думал, что pstor - этот только для actora, но сейчас глянул эти функции и убедился, что это не так. Ссылка на комментарий
Artos 99 Опубликовано 12 Июня 2012 Поделиться Опубликовано 12 Июня 2012 (изменено) Shredder 1. Модуль нет пакетов в моем исполнении кроссплатформенен и может использоваться во всех трех играх релизных патчей ТЧ/ЧН/ЗП; 2. В топике по скриптам можно найти ссылку на вполне актуальную мартовсую версию ... 3. Учитывая пару мелких (неособенно востребованных правок) выкладываю последний на 'сейчас' вариант: m_netpk от 25.05.2012 (~26.9 кБ) Ну а насчет флага - поэтому и не устаю повторять, что в вопросах всегда стОит говорить о цели, а не зашориваться только на, зачастую далеком от оптимального, выбранном пути реализации ... ;-) Для более сложных случаев, когда флаг нужно читать и в оффлайновом об'екте (например по всей Зоне) - тоже есть пара простых (относительно) решений, но это уже для тех у кого хорошее знание и понимание по нет-пакетам или по кастомдате и их правкам/чтению. А файл se_stalker - это конструктор об'екта класса, и не обязательно только в нем курочить созданные в нем серверные об'екты. В любом месте, если ты работаешь с серверные об'ектом - ты можешь его запороть ... Важно абсолютно точно соблюдать формат нет-пакета (каждый бит!), учитывая и класс об'екта и версию игры/мода! Изменено 12 Июня 2012 пользователем Artos "Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени Ссылка на комментарий
karonbaron 2 Опубликовано 13 Июня 2012 Поделиться Опубликовано 13 Июня 2012 (изменено) karonbaron, об этом уже много раз писалось и статья на вики есть. Нужно зарегить смарт в simulation_objects_props. ltx с параметром surge = 1 и создать работы (way points типа смарт_surge_1_walk (look)), чтобы нпс юзали укрытие. Да? Что-то я там нормальной статьи не нашел, где-бы пошагово все доходчиво объяснялось. Если нетрудно, скинь, пожалуйста, ссылку на эту статью в личку мне. Спасибо. Изменено 13 Июня 2012 пользователем karonbaron Ссылка на комментарий
VITALIK71RUS 0 Опубликовано 13 Июня 2012 Поделиться Опубликовано 13 Июня 2012 Подключил локи с Чн на ЗП и при проигрования видео в начале происходит вылет Expression : !m_error_code Function : raii_guard::~raii_guard File : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp Line : 748 Description : ....r. - Зов Припяти\gamedata\scripts\xr_effects.script:2685: attempt to index field 'actor' (a nil value) Перепробывал всё,и гуглил ,и сам пытался исправить не чё не выходит.Помогите плиз. Ссылка на комментарий
Shredder 49 Опубликовано 14 Июня 2012 Поделиться Опубликовано 14 Июня 2012 Возвращаюсь к вопросу визуалов и нет-пакетов. У меня походу скоро крыша поедет. Использование m_netpk не к чему не привело, т.к. грёбаные гитары, гармошки и прочая хрень всё также появляется у трупов. Собрал отдельную сборочку: В папке gamedata две папки configs и scripts. В папке configs всего один файл m_netpk.ltx. в Папке scripts 3 файла: m_netpk.script, mod.script и xr_motivator.script. function logf(str,...) if not str then str = "((string is nil))" end get_console():execute("load ~#I#:"..string.format(str,...)) end function npc_first_update(npc) logf('npc update [%s]', npc:name()) if npc and npc:alive() then local pk = m_netpk.get(alife():object(npc:id())) if pk and pk:isOk() then mod.logf("pk is OK") local npc_data = pk:get() npc_data.visual_name = [[actors\stalker_neutral\stalker_neutral_nauchniy]] pk:set(npc_data) end end end function motivator_binder:update(delta) ... if self.first_update == false then if object_alive == false then death_manager.drop_manager(object):create_release_item() end mod.npc_first_update(object) self.first_update = true end ... end m_netpk.script не изменял. В результате, при убийстве npc у него появляются (а точнее не исчезают) вышеупомянутые предметы... Ссылка на комментарий
_Призрак_ 11 Опубликовано 14 Июня 2012 Поделиться Опубликовано 14 Июня 2012 Подскажите пожалуйста, в чем разница логик animpoint и smartcover? Как я понял последняя необходима для боевых смарт каверов? Freedom Ссылка на комментарий
Artos 99 Опубликовано 14 Июня 2012 Поделиться Опубликовано 14 Июня 2012 (изменено) Shredder, сколько тебе можно говорить - За лут отвечает death_manager.script и его конфиги! Нет-пакетами ты только можешь убирать или возобновлять флаг выдачи лута и не более, за ассортимент отвечает только менеджер лута! Изменено 14 Июня 2012 пользователем Artos "Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени Ссылка на комментарий
Shredder 49 Опубликовано 14 Июня 2012 Поделиться Опубликовано 14 Июня 2012 (изменено) Artos я это прекрасно понимаю! Как раз флаг выдачи лута устанавливается в true после записи нет-пакета. Если в приведённом выше примере я не записываю нет-пакет, то с флагом всё в порядке. Ни файл death_manager.script, ни его конфиги (death_items_by_communities.ltx, death_items_by_levels.ltx, death_items_count.ltx) я вообще не трогаю. Я отдельно собрал минимальный набор файлов, который привёл выше. Там всё просто, как три копейки, но флаг death_droped становиться true после записи нет-пакета. Вот ссылка на архивчик с этой минисборкой. Уважаемый Artos, если найдёшь время - посмотри пожалуйста. Я уже 4-ый день не могу спокойно спать и работа над модом стоит... (вообще вот это уже лучше в ЛС, дабы не засорять частностями) Уточни версию патча твоей игры (SHoC 1.0004/5/6 ru/ww) ? Заодно проверь, нет ли в папке игры лишних *.dbN## иль в подпапке 'mods' *.xdb##. И что будешь делать, если посмотрю и скажу, что у меня трупы почти пусты и никаких излишков? В таком случае хотя бы прикладывают сэйвы с логом (до и после события) --/Artos Изменено 15 Июня 2012 пользователем Artos Ссылка на комментарий
SibireaStalker 0 Опубликовано 16 Июня 2012 Поделиться Опубликовано 16 Июня 2012 _Призрак_, я сам в этом не эксперт, но насколько я знаю, анимпоинт юзают когда логика идёт по путям, а смарткавер - это "пришёл, уселся и отыгрывает одну и ту же анимацию" Выводы модмейкера: 1)Вылетает - это хорошо. Значит, работает 2) Если хочешь сделать что-то хорошо, делай сам! 3) Если падёшь духом, падёт и мод. 4) Он живой... Ссылка на комментарий
Batment 0 Опубликовано 16 Июня 2012 Поделиться Опубликовано 16 Июня 2012 Есть у кого нибудь Darkscape для ЗП ? Потому как - Подключал Darkscape из рма мода, подключил, вылет с таким логом: FATAL ERROR [error]Expression : assertion failed [error]Function : CLevelGraph::CLevelGraph [error]File : D:\prog_repository\sources\trunk\xrGame\level_graph.cpp [error]Line : 35 [error]Description : header().version() == XRAI_CURRENT_VERSION stack trace: На АМК форуме сказали что аи сетку надо перекомпилировать, но даже лока не декомпилиться. Есть у кого нибуть декомпиленая ? Ну или сама лока с исправленой аи сеткой ? Ссылка на комментарий
Artem_K. 75 Опубликовано 16 Июня 2012 Поделиться Опубликовано 16 Июня 2012 Batment, гляди тут. Ссылка на комментарий
_Призрак_ 11 Опубликовано 16 Июня 2012 Поделиться Опубликовано 16 Июня 2012 SibireaStalker Логика анимпоинт работает так - указывается смарт_кавер, НПС идет туда, занимает его и отыгрывает анимацию, пока что то не выгонит его с его работы. Freedom Ссылка на комментарий
Batment 0 Опубликовано 16 Июня 2012 Поделиться Опубликовано 16 Июня 2012 Artem_K. Если ты про тутор то я знаю как правильно подключать локации и подключил уже 20 штук без проблем, локации Darkscape я там не нашел Ссылка на комментарий
Artem_K. 75 Опубликовано 16 Июня 2012 Поделиться Опубликовано 16 Июня 2012 Batment, я имел ввиду пак локаций в формате SDK от AK-103, сам не скачивал, но может там есть Даркскейп. Ссылка на комментарий
Outlaw 85 Опубликовано 17 Июня 2012 Поделиться Опубликовано 17 Июня 2012 (изменено) Вопрос - при переносе уровня на ЗП еногда игра в последствии выдает такой лог FATAL ERROR [error]Expression : fatal error [error]Function : CResourceManager::_GetBlender [error]File : D:\prog_repository\sources\trunk\Layers\xrRender\ResourceManager.cpp [error]Line : 60 [error]Description : <no expression> [error]Arguments : Shader 'бла-бла-бла' not found in library. stack trace: как с этим боротся (обойти)???? Добавлено через 19 мин.: *иногда Добавить недостающий шейдер. ColR_iT Изменено 17 Июня 2012 пользователем ColR_iT Ссылка на комментарий
Clayman 104 Опубликовано 18 Июня 2012 Поделиться Опубликовано 18 Июня 2012 Как отследить хиты и смерть вертушки, желательно в логике? Секции on_hit и on_death не работают. Ссылка на комментарий
Batment 0 Опубликовано 19 Июня 2012 Поделиться Опубликовано 19 Июня 2012 (изменено) Вообщем надо логику чтоб нпс стоял и отыгрывал анимку, НО, перепробовал все что можно, либо вылет с движковым логом либо не работает. Вот пример одной из них: [logic@predban_a15_bandos] active = walker@bandos_1 [walker@bandos_1] path_walk = guard_1_walk path_look = guard_1_look meet = meet combat_ignore_cond = true combat_ignore_keep_when_attacked = true И guard_1_look, guard_1_walk: [guard_1_walk] points = p0 p0:name = name00|a=guard p0:flags = 0x1 p0:position = 229.758270263672,-0.0100167440250516,0.700320720672607 p0:game_vertex_id = 3209 p0:level_vertex_id = 59900 [guard_1_look] points = p0 p0:name = name00|a=guard p0:flags = 0x1 p0:position = 229.758270263672,-0.0100167440250516,0.700320720672607 p0:game_vertex_id = 3209 p0:level_vertex_id = 59900 И вот что он вытворяет: http://www.youtube.com/watch?v=9KA09WXfymc&feature=plcp Может я что-то не так делаю ? Раньше работало а теперь нет. Изменено 19 Июня 2012 пользователем Batment Ссылка на комментарий
ColR_iT 171 Опубликовано 19 Июня 2012 Поделиться Опубликовано 19 Июня 2012 Batment, чтобы НПС стоял и отыгрывал анимацию, то нужно ставить флаг анимации только в точке look, причём только из раздела "Стоячие состояния" в файле state_lib.script. Если же поставить таковой флаг в точке walk, то это будет означать, что НПС должен идти в эту точку с указанной анимацией, естественно анимации нужно брать из раздела "Ходячие состояния" того же файла, а ты ставишь стоячую анимацию guard, отсюда и вылеты. Ссылка на комментарий
Batment 0 Опубликовано 19 Июня 2012 Поделиться Опубликовано 19 Июня 2012 (изменено) ColR_iT он у меня кругами вокруг точки guard_1_walk ходит, а должен поидее стоять, вот в чем проблема Убери из точки walk флаг анимации (a=guard). ColR_iT Добавлено через 52 мин.: ColR_iT Все равно ходит по кругу Изменено 19 Июня 2012 пользователем ColR_iT Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти