Lagos 688 Опубликовано 7 Декабря 2011 Вот вылет: Expression : !object->used_ai_locations() || ai().level_graph().valid_vertex_id(object->m_tNodeID) Function : CALifeSwitchManager::add_online File : D:\prog_repository\sources\trunk\xrGame\alife_switch_manager.cpp Line : 64 Description : Invalid vertex for object Arguments : sim_default_stalker_500257 Как быть!? В спавне не было и нет такого и в помине! Заранее спасибо. P.S.: пробовал это вписать в bind_stalker.script: перед этой строчкой: function actor_binder:update(delta) вписал это: local se_obj = alife():object("sim_default_stalker_500257") if se_obj then alife():release(se_obj, true) end Не помогло. Вылет: Привожу кусочек лога: * [Loading IB] 1048575 indices, 2047 Kb * [Loading IB] 1048572 indices, 2047 Kb * [Loading IB] 1048575 indices, 2047 Kb * [Loading IB] 1048566 indices, 2047 Kb * [Loading IB] 351276 indices, 686 Kb * phase time: 1945 ms * phase cmem: 321332 K * phase time: 215 ms * phase cmem: 324806 K * phase time: 15 ms * phase cmem: 324806 K WARNING: Occlusion map 'd:\Рабочий Стол(Диск d)\program files\s.t.a.l.k.e.r. - Зов Припяти\gamedata\levels\l03_agroprom\level.hom' not found. * phase time: 14 ms * phase cmem: 324806 K * phase time: 37 ms * phase cmem: 324806 K * phase time: 29 ms * phase cmem: 324806 K ! Can't find texture 'crete\crete_walls_old_03' ! Can't find texture 'veh\veh_avtobus' * t-report - base: 1171, 471899 K * t-report - lmap: 2, 2048 K * WARNING: player not logged in ! Can't find texture 'map\map_escape_build' ! Can't find texture 'map\map_l03_agroprom' * phase time: 8019 ms * phase cmem: 326926 K * phase time: 51 ms * phase cmem: 326926 K * [win32]: free[651812 K], reserved[148896 K], committed[1296380 K] * [ D3D ]: textures[502986 K] * [x-ray]: crt heap[326926 K], process heap[10820 K], game lua[6048 K], render[254 K] * [x-ray]: economy: strings[10818 K], smem[10487 K] stack trace: 001B:0299B7ED lua.JIT.1.1.4.dll, lua_yield() Версия игры(на всякий случай):Зов Припяти, 1.6.02 Официальный сайт . Поделиться этим сообщением Ссылка на сообщение
Lagos 688 Опубликовано 7 Декабря 2011 (изменено) Artos, KD87, извините, но level.hom нет на уровне вообще. Я попробую создать. И ещё. Как Вы думаете в чём может быть проблема? Ещё я скажу Вам точно: на уровне один граф поинт. Вроде признался во всём. Спасибо, что растолковали мне что к чему Буду эксперементировать. Не забывай, тут кашпировских нет, и гадать врядли кто будет о том, что ты наковырял и чего не доделал. --/Artos Изменено 7 Декабря 2011 пользователем Artos Официальный сайт . Поделиться этим сообщением Ссылка на сообщение
Lagos 688 Опубликовано 10 Декабря 2011 Sektor1986, помойму имена анимпоинтов пишутся так: имя_смарта_animpoint_1, имя_смарта_animpoint_2 и так далее. Официальный сайт . Поделиться этим сообщением Ссылка на сообщение
Lagos 688 Опубликовано 1 Марта 2012 А можно ли как-то сделать зону, в которой не будет звучать звуки амбиента и фоновой музыки? Если да, то как? Официальный сайт . Поделиться этим сообщением Ссылка на сообщение
Lagos 688 Опубликовано 1 Марта 2012 Решил добавть зону ранодомного звука. 1) Файл script_sound.ltx. #include "script_sound_los.ltx" [list]:list_script_sound_los 2) Файл script_sound_los.ltx [list_script_sound_los] ambient_podzemka [ambient_podzemka] type = 3d path = ambient\ugrnd\ shuffle = rnd idle = 3,5,100 3) Логика space_restrictor: [logic] active = sr_sound [sr_sound] snd = ambient_podzemka rnd = 100 position = random idle = 5 delay = 7 Вылет: Expression : !m_error_code Function : raii_guard::~raii_guard File : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp Line : 748 Description : ....e.r. - Зов Припяти\gamedata\scripts\xr_logic.script:405: attempt to index field '?' (a nil value) P.S.: Добавил это в конец файла xr_sound.script: --' Таблица для хранения созданных саунд обжектов. sound_object_by_theme = {} --' type = [random|seq|looped] function get_sound_object(theme, t_type) if sound_theme.ph_snd_themes[theme] == nil then abort("ph_snd_themes for theme %s", tostring(theme)) return end if sound_object_by_theme[theme] == nil then sound_object_by_theme[theme] = {} end if t_type == nil then t_type = "random" end --' Выбор следующего айдишника local play_id = -1 local table_size = table.getn(sound_theme.ph_snd_themes[theme]) if sound_object_by_theme[theme].last_id == nil then if t_type == "random" then if table_size >= 2 then play_id = math.random(1, table_size) else play_id = 1 end else play_id = 1 end else if t_type == "random" then if table_size >= 2 then play_id = math.random(1, table_size - 1) if play_id >= sound_object_by_theme[theme].last_id then play_id = play_id + 1 end else play_id = 1 end else if sound_object_by_theme[theme].last_id < table_size then play_id = sound_object_by_theme[theme].last_id + 1 else if type == "looped" then play_id = 1 end end end end printf("SOUND_OBJECT: selected id [%s] for theme [%s], type [%s], size [%s]", tostring(play_id), tostring(theme), tostring(type), table_size) if play_id == -1 then return end --' Проверяем создан ли у нас соответствующий саунд обжект или его надо создать if sound_object_by_theme[theme][play_id] == nil then if type(sound_theme.ph_snd_themes[theme][play_id]) == "table" then sound_object_by_theme[theme][play_id.."_r"] = get_safe_sound_object(sound_theme.ph_snd_themes[theme][play_id][1].."_r") sound_object_by_theme[theme][play_id.."_l"] = get_safe_sound_object(sound_theme.ph_snd_themes[theme][play_id][1].."_l") else sound_object_by_theme[theme][play_id] = get_safe_sound_object(sound_theme.ph_snd_themes[theme][play_id]) end end sound_object_by_theme[theme].last_id = play_id --' Возвращаем саунд обжект if type(sound_theme.ph_snd_themes[theme][play_id]) == "table" then return sound_object_by_theme[theme][play_id.."_r"], sound_object_by_theme[theme][play_id.."_l"] else return sound_object_by_theme[theme][play_id] end end local sound_object_by_path = {} --' Обертка вокруг функции, возвращающий звуковой объект. function get_safe_sound_object(path) if sound_object_by_path[path] == nil then sound_object_by_path[path] = sound_object(path) end return sound_object_by_path[path] end function stop_all_sound_object() for k,v in pairs(sound_object_by_path) do if v:playing() then v:stop() end end end function clear_all_sound_object() sound_object_by_theme = {} end И sr_sound прописал в modules.script. Тот же вылет. Прошу помощи. Заранее, благодарю за разъяснение Добавлено через 41 мин.: CuJIbBEP, в папке configs есть папка environment. В ней есть папка weather. В ней файл [default]. Это основной конфиг погоды для поверхностных локаций. Для подземелий используется indoor. В файлах погоды идут ссылки на солнце(suns.ltx), грозовые эффекты(thunderbolts), звуковой амбиент(ambients.ltx, в котором содержаться секции цикла дня(день, ночь, вечер и т.д.), и sound_channels.ltx(сами ссылки и настройки на звуковые файлы)), ссылки на текстуры неба, облаков, эффекты живого мира(effects.ltx) и т.д. Это в кратце. Надеюсь, я правильно тебя понял. Официальный сайт . Поделиться этим сообщением Ссылка на сообщение
Lagos 688 Опубликовано 2 Марта 2012 Clayman, звук должен играть рандомно. Так ведь можно? По крайней мере в ТЧ можно было. Т.е. мне надо зону, при входе в которую начинают воспроизводиться звуки(рандомно). Официальный сайт . Поделиться этим сообщением Ссылка на сообщение
Lagos 688 Опубликовано 3 Марта 2012 (изменено) rusMAFIA, проблема с моделью. Либо игру заново начинать, либо ствол заменять. Clayman, всё сделал. Запустилось. Но при входе в зону с рандомными звуками вылет такого типа: 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\sound_theme.script:672: bad argument #1 to 'select_next_sound' (interval is empty) Звкивписать что-ли надо в sound_theme.script? Изменено 3 Марта 2012 пользователем zoidberg123456789 Официальный сайт . Поделиться этим сообщением Ссылка на сообщение
Lagos 688 Опубликовано 3 Марта 2012 (изменено) Clayman, просто я хотел сделать так, чтобы проигрывалась вся папка.... Ладно. [x] Изменено 3 Марта 2012 пользователем Artos Официальный сайт . Поделиться этим сообщением Ссылка на сообщение
Lagos 688 Опубликовано 7 Марта 2012 (изменено) Добрый вечер. Наверняка, всем известно, что есть в ТЧ и ЧН схема sr_silence(укрытие амбиент-звуков и фоновой музыки). Есть эта схема и в ЗП. Но не работает почему-то...Подскаэите пожалуйста, есть ли альтернатива этой схме, или может можно её как-нибудь "оживить"? Заранее спасибо за ответ. Изменено 7 Марта 2012 пользователем ColR_iT Перенёс. Официальный сайт . Поделиться этим сообщением Ссылка на сообщение
Lagos 688 Опубликовано 8 Марта 2012 (изменено) Artos, я попробовал сделать как Вы сказали. Ну результат немного плачевный В игре остались только два звука в рабочем состоянии(т.е. громкость у них не убрана). Глав.меню и фоновая музыка. Остальные звуки не звучат. Никакие(не встрелы, ни амбиент, ни вступительный ролик, ничего...)... При входе в зону "беззучия" фоновая музыка затухает. При выходе не начинает играть вновь. Только при выходе в глав.меню. и обратно в игру музыка начинает играть вновь. Может я чего-то не так сделал, может игре что-то не нравиться, но описал я всё в точности. Изменено 8 Марта 2012 пользователем zoidberg123456789 Официальный сайт . Поделиться этим сообщением Ссылка на сообщение
Lagos 688 Опубликовано 8 Марта 2012 Artos, вот Вы говорите, что я не показываю, какие я манипуляции делал, чтобы в определённый момент и в определённом месте убрать фоновую музыку и амбиент, затем вернуть. Пожалуйста: Сделал, как предположил товарищ Clayman: "Логика рестриктора" [logic] active = sr_idle@off [sr_idle@off] on_actor_inside = sr_idle@on %=amb_stop% [sr_idle@on] on_actor_outside = sr_idle@off %=amb_start% И функции в xr_effects.script: "По аналогии с ui_sleep_dialog.script" function amb_start() _G.mus_vol = get_console():get_float("snd_volume_music") _G.amb_vol = get_console():get_float("snd_volume_eff") get_console():execute("snd_volume_music 0") get_console():execute("snd_volume_eff 0") end function amb_stop() get_console():execute("snd_volume_music "..tostring(_G.mus_vol)) get_console():execute("snd_volume_eff "..tostring(_G.amb_vol)) _G.amb_vol = 0 _G.mus_vol = 0 end Вроде ничего не упустил. То, что получилось в игре, я уже описывал выше. P.S.: CoP, 1.6.02. Если что-то забыл написать поправьте пожалуйста. P.S.S.: Совет я Ваш принял, и попытался использовать в правильном напрвлении. Получилось, но не совсем так, как хотелось бы. Используй тег код, а не цитату. И спойлер. Cyclone Официальный сайт . Поделиться этим сообщением Ссылка на сообщение
Lagos 688 Опубликовано 9 Марта 2012 (изменено) Artos, большое спасибо за объяснени и потраченное на нас время:-). Но мы оказывается не допоняли друг друга. Рестриктор глушит все(!!!) звуки, а надо только фоновую музыку и амбиент!:-). Вот в чём наша проблема. Это возможно? Artos, вот Вы мне объяснили всё, и я сразу всё понял. Сделал так: при входе в рестриктор затухает фоновая музыка(snd_volume_music) А snd_volume_eff как я понял это все остальные звуки. Возможно ли как-то вынести внешний амбиент на отдельную переменную(допустим snd_volume_amb)? Или это только движок редактировать? Или новый скрипт писать? Или уже есть какой-то другой способ, чтобы убрать только(!) внешний амбмент, а все остальные звуки оставить? Изменено 11 Марта 2012 пользователем ColR_iT Официальный сайт . Поделиться этим сообщением Ссылка на сообщение
Lagos 688 Опубликовано 16 Апреля 2012 (изменено) Artos, я перешёл в тему ЗП. Так как в скриптах я не очень соображаю, но эта функция нужна срочно, то я попытался составить логику для смены погоды: [logic] active = sr_idle@in [sr_idle@in] on_actor_in_zone = agr_sr_weather_indoor | sr_idle@out %=set_weather(<indoor>:true)% [sr_idle@out] on_actor_not_in_zone = agr_sr_weather_indoor | sr_idle@in Вылет при заходе в рестриктор: Expression : !m_error_code Function : raii_guard::~raii_guard File : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp Line : 748 Description : ....e.r. - Зов Припяти\gamedata\scripts\xr_logic.script:648: attempt to index global 'xr_effects' (a nil value) Погодные конфиги проштудировал - всё нормально. А вот по-поводу логики сомневаюсь, что она у меня должна работать...Что я не так сделал? Исправь синтаксическую ошибку в скрипте 'xr_effects' и в дальнейшем используй чекеры. И не заннимайся отсебятиной, а пиши конфиги/скрипты в соответствии с допустимым синтаксисом. Откуда ты использование треугольных скобок для задания аргумента взял? И ... спешка нужна при ловле блох. Тут раздел "Школа" - а наспех не учатся ... --/Artos Изменено 16 Апреля 2012 пользователем Artos Официальный сайт . Поделиться этим сообщением Ссылка на сообщение
Lagos 688 Опубликовано 26 Апреля 2012 Каким способом можно привязать партикл к косточке, чтобы партикл вопроизводился без перерывно? Официальный сайт . Поделиться этим сообщением Ссылка на сообщение