Это популярное сообщение. Dennis_Chikin 3 658 Опубликовано 16 Мая 2014 Это популярное сообщение. Поделиться Опубликовано 16 Мая 2014 Ковыряемся в файлах ТЧ Прежде чем писать в тему - внимательно читаем первый пост, и пользуемся поиском. Возможно, ответ на Ваш вопрос уже есть. Касательно телепатии: если Вы передаете Ваши файлы телепатическим путем - ответы будут передаваться тоже телепатически. Если Вы предлагаете угадать, отчего у Вас в подвале происходит странный стук - ответ будет передан стуком. 4 8 6 12 Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
UnLoaded 313 Опубликовано 3 Апреля 2015 Поделиться Опубликовано 3 Апреля 2015 Интересно, надо попробовать. Сделал поиск по распакованному all.spawn'у #include - 0 результатов. ПЫСы предусмотрели, но никогда не использовали ? А зачем править? Ага, понял - данные из кастом_даты, кроме видимо логики, считываются один раз, при создании объекта. И изменение подключенного через #include ltx-файла с последующим перезапуском игры ничего не даст ? Или даст ? Ссылка на комментарий
Dennis_Chikin 3 658 Опубликовано 3 Апреля 2015 Поделиться Опубликовано 3 Апреля 2015 "по распакованному all.spawn'у #include" Оно и не должно там быть. Это вообще то "вставить указанное при первой же попытке что-либо сделать с этим файлом". То есть, если оно запаковывается, то все уже вставлено, и ни каких #include нет и быть не может. Так же, как с ltx и xml при запустившемся и добравшемся до стартового меню движке. По поводу смартогулагов - есть вообще-то в известно-какой-теме отформаченные/переписанные/откомменченные. Не знаю, что там СЕЙЧАС в них может быть непонятно. Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
Nazgool 250 Опубликовано 3 Апреля 2015 Поделиться Опубликовано 3 Апреля 2015 (изменено) Так же, как с ltx и xml Не все xml загружаются "раз и навсгда". По крайней мере те, что относятся к UI, читаются каждый раз при обращении к ним. Т.е. закрыл окно -> переписал файл с помощью io -> открыл уже измененное окно. Изменено 3 Апреля 2015 пользователем Nazgool 1 Ссылка на комментарий
abramcumner 1 159 Опубликовано 3 Апреля 2015 Поделиться Опубликовано 3 Апреля 2015 Ага, понял - данные из кастом_даты, кроме видимо логики, считываются один раз, при создании объекта. И изменение подключенного через #include ltx-файла с последующим перезапуском игры ничего не даст ? Или даст ?Не даст. В кастом-дату сохранится содержимое файла на момент создания. Ссылка на комментарий
Карлан 1 049 Опубликовано 3 Апреля 2015 Поделиться Опубликовано 3 Апреля 2015 @abramcumner, может я косноязычно изъясняюсь, но черт, я об этом и говорил, что и в all.spawn можно вынести кастом дату в файл (как хонор написал), можно в секции, как ты указал, написать, можно при спавне скриптом записать все это в кастом дату через пакет. Может меня не так поняли, но я это имел ввиду, т.е. вынести можно я хотел сказать. @UnLoaded, если этот объект пересоздашь, то даст. Т.е. дефакто сохраняешь его пакет в переменную, и делаешь его копию с другой кастом датой. @Nazgool, это только те которыми ты из скриптов управляешь, т.е. файлы-настройщики разумеется будут после "перевызова" обновлятся в зависимости от скрипта, будь то xml или ltx. Ссылка на комментарий
Arhara 32 Опубликовано 3 Апреля 2015 Поделиться Опубликовано 3 Апреля 2015 (изменено) Карлан Создавайте неписей, делайте им логику и пути - в алл спавне. Безглючно. Единственный недостаток - НИ. Свободным место в гулаге не бывает - туда всё равно на работу придёт непись, пусть даже с другой локи - но это будет дружественная непись для гулага (по крайней мере - дружественной фракции). Не забудьте оставить хотя бы одно свободное место в гулаге - легче призвать, чем выкинуть. Для неписей, тех, что для Вас важны - легче их создавать ВНЕ гулага - с собственной логикой и путями - т.е. смарт терриан = ноне. Он никуда не привязан и он ВАШ. Это относиться как к неписям, так и к животине... Хотя в соли - логика животинки прописана в конфигах - лень было менять - и всё работало. И - никаких скриптов. В файл логики-то писать можно что угодно. Только это движком восприниматься не будет Ну.... .... Не знаю про двигло, но восприниматься будет, ещё как будет . abramcumner, UnLoaded, если этот объект пересоздашь, то даст. Nazgool, это сказать. UnLoaded, Nazgool, это оставьте скрипты в покое. В этом случае - спавн - гулаг-работа-неписи - они вам ВООБЩЕ (сорри вобще) и нафиг не нужны. И не пихайте логику в ЛТХ, лишняя работа для двигла. Изменено 3 Апреля 2015 пользователем Arhara Еще 10 лет таких цен, зарплат и пенсий, и вместо переписи населения будет перекличка Ссылка на комментарий
Nazgool 250 Опубликовано 3 Апреля 2015 Поделиться Опубликовано 3 Апреля 2015 (изменено) @Arhara, Не совсем понял в каком контексте вы упомянули меня в своей последней цитате. Я, сдается, писал совсем не про логику, поэтому не расцениваю выражение оставьте скрипты в покое относящимся к теме моего поста. Или я не прав? Изменено 3 Апреля 2015 пользователем Nazgool Ссылка на комментарий
blackwings 0 Опубликовано 4 Апреля 2015 Поделиться Опубликовано 4 Апреля 2015 Подправил контейнер на 8 артов. Выставил, чтобы держал радиацию суммарно +40. Там почему-то было на +7 . Однако, он слегка фонит. Чем больше артов в контейнере, тем больше фонит. В результате у ГГ потихоньку падает здоровье. Подскажите как исправить, пожалуйста. Ссылка на комментарий
UnLoaded 313 Опубликовано 4 Апреля 2015 Поделиться Опубликовано 4 Апреля 2015 И не пихайте логику в ЛТХ, лишняя работа для двигла Зато удобнее при тестировании\разработке логики для непися... Ссылка на комментарий
Silver Raven 197 Опубликовано 4 Апреля 2015 Поделиться Опубликовано 4 Апреля 2015 (изменено) И не пихайте логику в ЛТХ, лишняя работа для двигла. А что, ЛТХ логика так "ушатывает" движок? Может поэтому, у меня что 10 НПС, что 5 на не густо заселенной, небольшой локации подгружаются до нескольких секунд, хотя, учитывая их количество и мощность компа, подгрузка не должна быть так заметна? (хотя, кривое двигло сталкера. Фризы на том же Баре, как пример) И кто-нибудь может внятно ответить, есть ли в нынешнее время реальная польза от отключения префетча визулаов и прочей лабуды? И что вообще за него отвечает: папка в конфигах или файл с соотв. названием в в основной директории? (или и то и то?) Изменено 4 Апреля 2015 пользователем Stalker_AleX333 aka Stalker_AleX333 Мои проекты - ЯндексДиск | Я на Gamer-Mods.ru Ссылка на комментарий
Dennis_Chikin 3 658 Опубликовано 4 Апреля 2015 Поделиться Опубликовано 4 Апреля 2015 (изменено) "что 10 НПС, что 5 на не густо заселенной, небольшой локации подгружаются до нескольких секунд" Текстуры все проверены на предмет размеров ? Лишние звуки из загрузки в неписей убраны ? Чтение конфигов для торговли поправлено ? Изменено 4 Апреля 2015 пользователем Dennis_Chikin Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
abramcumner 1 159 Опубликовано 4 Апреля 2015 Поделиться Опубликовано 4 Апреля 2015 А что, ЛТХ логика так "ушатывает" движок? Может поэтому, у меня что 10 НПС, что 5 на не густо заселенной, небольшой локации подгружаются до нескольких секундОчевидно, что дело не в логике. Логика у каждого НПЦ своя и если бы она "ушатывала" движок, то 10 НПЦ грузились бы в 2 раза дольше чем 5. Это или что-то общее для НПЦ(как те же звуки, про что говорил Денис) или вообще к НПЦ не относящееся. Надо садиться и замерять: при оптимизации 90%, что твои предположения о месте тормозов не верны Ссылка на комментарий
Silver Raven 197 Опубликовано 4 Апреля 2015 Поделиться Опубликовано 4 Апреля 2015 (изменено) @Dennis_Chikin, в порядке все с текстурами - все правильных размеров, с наличием мип-мапов, с прописанными в textures.ltx бампами. Единственное, у некоторых стволов пока бампов нет, а они прописаны. О чем лог меня постоянно уведомляет. Но, пока руки не доходят до этого. Звуки у НПС заменял только родные - комментарии у всех прописаны. А насчет "чтения конфигов для торговли" не совсем понял, что там может быть не так? @abramcumner, для примера - у меня на этой локации в одном месте 2 НПС, в другом - около 10. Разница в их подгрузке, когда они попадают в зону онлайна, те самые 150м (по-умолчанию), не сильно различается. Понять бы как это дело ускорить. Не то, что бы это большая проблема... но все же. З.Ы. Кстати, при юзании команды -noprefetch подгрузка НПС ускорилась раза в два, не меньше. Хотя, в конфигах я убрал все визуалы. Хм, может еще чего забыл... По идее, ведь чистый конфиг prefetch.ltx\папка = команда -noprefetch? Изменено 4 Апреля 2015 пользователем Stalker_AleX333 aka Stalker_AleX333 Мои проекты - ЯндексДиск | Я на Gamer-Mods.ru Ссылка на комментарий
Карлан 1 049 Опубликовано 4 Апреля 2015 Поделиться Опубликовано 4 Апреля 2015 , о текстурах я думаю имелось ввиду их размер. А в торговле там все не так. Ты подумай чем твои два тормоза отличаются от тех десяти, если ты прям уверен, что дело в них, ну и сделай выводы . Ссылка на комментарий
UnLoaded 313 Опубликовано 4 Апреля 2015 Поделиться Опубликовано 4 Апреля 2015 Такой вот вылет, особо информативный, при заходе на локацию на синхронизации: Expression : error handler is invoked! Function : invalid_parameter_handler File : E:\stalker\sources\trunk\xrCore\xrDebugNew.cpp Line : 800 Description : Что может быть ? Ссылка на комментарий
Eugen81 1 008 Опубликовано 4 Апреля 2015 Поделиться Опубликовано 4 Апреля 2015 (изменено) @UnLoaded, кривой компил? Expression : error handler is invoked! Function : invalid_parameter_handler File : D:\prog_repository\sources\trunk\xrCore\xrDebugNew.cpp Line : 815 Description : Возможно повреждение игрового архива (например, возникнет, если "забыть" указать entry_point в хидере) [error]Expression : error handler is invoked! [error]Function : invalid_parameter_handler [error]File : D:\prog_repository\sources\trunk\xrCore\xrDebugNew.cpp [error]Line : 815 [error]Description : Причина: вылет скорее всего связан с функцией формирования лога игры, и может возникать по разным причинам, но чаще всего когда в какую то движковую функцию был передан nil или же когда в конфиге указаны пустые значения. Пример #1: Вызвать движковую функцию установки метки на карту, и забыть этой функции передать текст с описанием (nil) Пример #2: В конфиге предмета указать пустое имя "inv_name = " - при попытке взять предмет появиться вылет. Лечение: найти источник вылета и устранить его. .................. менял "restrictor type" с NONE default restrictor на IN default restrictor. Может в этом причина ?Гыгы, не, не в этом Изменено 4 Апреля 2015 пользователем Eugen81 Ссылка на комментарий
UnLoaded 313 Опубликовано 4 Апреля 2015 Поделиться Опубликовано 4 Апреля 2015 Возможно повреждение игрового архива Ну это точно не то - ничего с игровыми архивами не делал. Да и второй вариант мало вероятен, так как ниче с конфигами не крутил и в скриптах ниче не менял\добавлял. Что делал точно перед появлением вылета - в СДК некоторым аномалиям на том уровне, при входе на который вылет происходит, менял "restrictor type" с NONE default restrictor на IN default restrictor. Может в этом причина ? Ссылка на комментарий
Dennis_Chikin 3 658 Опубликовано 4 Апреля 2015 Поделиться Опубликовано 4 Апреля 2015 (изменено) что там может быть не так? см. разбор в "прозекторской". Отдельное открытие файла для каждого непися, да еще по 2 раза подряд. Если файл сколько-то заметного размера - мало не покажется. Но вообще делаем так: читаем про prifile_timer(), сажаем в xr_motivator на вызовы: xr_sound.load_sound() xr_gulag.setup_gulag_and_logic_on_spawn() trade_manager.load() Ну и первый trade_manager.update() - и наслаждаемся результатами. Изменено 4 Апреля 2015 пользователем Dennis_Chikin 1 Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
UnLoaded 313 Опубликовано 4 Апреля 2015 Поделиться Опубликовано 4 Апреля 2015 Насчет Expression : error handler is invoked! - изменил "restrictor type" обратно с IN default restrictor на NONE default restrictor и вылета не стало. Поясните, кто в курсе, что они вообще означают, все эти типы рестрикторов, и что не так может быть с IN default restrictor ? Ссылка на комментарий
плащ 0 Опубликовано 4 Апреля 2015 Поделиться Опубликовано 4 Апреля 2015 (изменено) Доброго времени суток.Проблема вот в чем: на новой локации заспавнил Сидоровича прописав логику: [logic] active = mob_trader@new_idle1 ;trade = misc\trade_trader.ltx ;Основной idle (1) - за столом [mob_trader@new_idle1] anim_global = desk_idle on_signal = animation_end| {~25} mob_trader@new_idle1_to_idle3, {~50} mob_trader@new_idle1_to_idle5, {~75} mob_trader@new_idle1_to_idle2, mob_trader@new_idle1_to_idle1 on_info = {=talking} mob_trader@new_idle1_to_idle3 on_actor_dist_ge_nvis = 5 | {-esc_trader_bye_played +esc_trader_hello_played} mob_trader@new_bye %+esc_trader_bye_played% on_actor_dist_ge_nvis2 = 12 | mob_trader@new_wait ; Idle (2) - по диагонали [mob_trader@new_idle2] anim_global = diagonal_idle on_signal = animation_end| {~25} mob_trader@new_idle2_to_idle3, {~50} mob_trader@new_idle2_to_idle4, {~75} mob_trader@new_idle2_to_idle1, mob_trader@new_idle2_to_idle2 on_info = {=talking} mob_trader@new_idle2_to_idle3 on_actor_dist_ge_nvis = 5 | {-esc_trader_bye_played +esc_trader_hello_played} mob_trader@new_bye %+esc_trader_bye_played% on_actor_dist_ge_nvis2 = 12 | mob_trader@new_wait ; Idle (3) - откинувшись на спинку [mob_trader@new_idle3] anim_global = chair_hack_idle on_signal = animation_end| {~30} mob_trader@new_idle3_to_idle2, {~70} mob_trader@new_idle3_to_idle1, mob_trader@new_idle3_to_idle3 on_info = {=talking} mob_trader@new_talking on_actor_dist_ge_nvis = 5 | {-esc_trader_bye_played +esc_trader_hello_played} mob_trader@new_bye %+esc_trader_bye_played% on_actor_dist_ge_nvis2 = 12 | mob_trader@new_wait ; Idle (4) - за компьютером [mob_trader@new_idle4] anim_global = compute_idle on_signal = animation_end| {~40} mob_trader@new_idle4_to_idle2, mob_trader@new_idle4_to_idle4 on_info = {=talking} mob_trader@new_idle4_to_idle2 on_actor_dist_ge_nvis = 5 | {-esc_trader_bye_played +esc_trader_hello_played} mob_trader@new_bye %+esc_trader_bye_played% on_actor_dist_ge_nvis2 = 12 | mob_trader@new_wait ; Idle (5) - читает [mob_trader@new_idle5] anim_global = listen_idle on_signal = animation_end| {~45} mob_trader@new_idle5_to_idle1, mob_trader@new_idle5_to_idle5 on_info = {=talking} mob_trader@new_idle5_to_idle1 on_actor_dist_ge_nvis = 5 | {-esc_trader_bye_played +esc_trader_hello_played} mob_trader@new_bye %+esc_trader_bye_played% on_actor_dist_ge_nvis2 = 12 | mob_trader@new_wait ;---------------------------------- ;-------- Автопереходы -------- ;---------------------------------- ; Стол - стол (промежуточная) [mob_trader@new_idle1_to_idle1] anim_global = desk_idle on_signal = animation_end| mob_trader@new_idle1 ; Диагональ - диагональ (промежуточная) [mob_trader@new_idle2_to_idle2] anim_global = diagonal_idle on_signal = animation_end| mob_trader@new_idle2 ; Спинка - спинка (промежуточная) [mob_trader@new_idle3_to_idle3] anim_global = chair_hack_idle on_signal = animation_end| mob_trader@new_idle3 ; Компьютер - компьютер (промежуточная) [mob_trader@new_idle4_to_idle4] anim_global = compute_idle on_signal = animation_end| mob_trader@new_idle4 ; Читает - читает (промежуточная) [mob_trader@new_idle5_to_idle5] anim_global = listen_idle on_signal = animation_end| mob_trader@new_idle5 ;---------------------------------- ;----- Переходы между idle-ми ---- ;---------------------------------- ; Диагональ - компьютер [mob_trader@new_idle2_to_idle4] anim_global = diagonal_to_compute on_signal = animation_end| mob_trader@new_idle4 ; Компьютер - диагональ [mob_trader@new_idle4_to_idle2] anim_global = compute_idle_to_diagonal on_signal = animation_end| mob_trader@new_idle2 ; Диагональ - спинка [mob_trader@new_idle2_to_idle3] anim_global = diagonal_to_chair_hack on_signal = animation_end| {=talking} mob_trader@new_talking, mob_trader@new_idle3 ; Спинка - диагональ [mob_trader@new_idle3_to_idle2] anim_global = chair_hack_to_diagonal on_signal = animation_end| mob_trader@new_idle2 ; Стол - спинка [mob_trader@new_idle1_to_idle3] anim_global = desk_to_chair_hack on_signal = animation_end|{=talking} mob_trader@new_talking, mob_trader@new_idle3 ; Спинка - стол [mob_trader@new_idle3_to_idle1] anim_global = chair_hack_to_desk on_signal = animation_end| mob_trader@new_idle1 ; Стол - диагональ [mob_trader@new_idle1_to_idle2] anim_global = desk_to_diagonal on_signal = animation_end| mob_trader@new_idle2 ; Диагональ - стол [mob_trader@new_idle2_to_idle1] anim_global = diagonal_to_desk on_signal = animation_end| mob_trader@new_idle1 ; Стол - читает [mob_trader@new_idle1_to_idle5] anim_global = desk_to_listen on_signal = animation_end| mob_trader@new_idle5 ; Читает - стол [mob_trader@new_idle5_to_idle1] anim_global = listen_to_desk on_signal = animation_end| mob_trader@new_idle1 ;-------------------------------------- ;------------- Разговор --------------- ;-------------------------------------- [mob_trader@new_talking] anim_global = chair_hack_talk anim_head = normal on_info = {!talking} mob_trader@new_idle3 ;------------------------------------- ;---------- Приветствия -------------- ;------------------------------------- [mob_trader@new_hello] anim_global = hello anim_head = normal sound_phrase = trader_hello_what_have_you_got on_signal = animation_end | mob_trader@new_idle2 [mob_trader@new_bye] on_actor_dist_ge_nvis = 12 |mob_trader@new_wait anim_global = hello anim_head = normal sound_phrase = trader_bye on_signal = animation_end | mob_trader@new_wait [mob_trader@new_wait] anim_global = diagonal_idle_short on_actor_dist_le_nvis = 3 | {-esc_trader_hello_played} mob_trader@new_hello %+esc_trader_hello_played% on_actor_dist_ge_nvis = 5 | {-esc_trader_bye_played +esc_trader_hello_played} mob_trader@new_bye %+esc_trader_bye_played% on_actor_dist_ge_nvis2 = 12 | %-esc_trader_hello_played -esc_trader_bye_played% Работало как часы, но через определенный отрезок времени (прошел месяц) он перестал двигаться! Так скажем "застыл", хотя в его логике я даже копаться не смел.Вот код из all.spawn [11337] ; cse_abstract properties section_name = m_trader name = predbannik_m_trader position = -19.5539226531982,-4.34696102142334,329.650390625 direction = 0,1.61639988422394,0 ; cse_alife_object properties game_vertex_id = 3870 distance = 0 level_vertex_id = 7 object_flags = 0xffffff3b custom_data = <<END [spawn] wpn_pm ammo_9x18_fmj [logic] cfg = scripts\predbannik\predbannik_trader.ltx END story_id = 5484 ; cse_visual properties visual_name = actors\trader\trader ; cse_alife_trader_abstract properties money = 1000000 trader_flags = 0 character_profile = escape_trader Изменено 4 Апреля 2015 пользователем плащ Пытаюсь создать глобальный мод с новым сюжетом,буду рад любой оказанной помощи Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти