AndreySol 215 Опубликовано 3 Октября 2012 Пытаюсь заспаунить источник света. В распакованном all.spawn, в файле alife_l01_escape.ltx скопировал секцию 617 (это лампа в подвальчике справа от костра в центре Деревни новичков, имя - light_alarm_glass_0000), добавил в конец вышеозначенного файла, изменил: имя на light_alarm_glass_0004, координаты, gv и lv, остальное не трогал. Для level.spawn для Кордона сделал все то-же самое. Скомпилил level.spawn и all.spawn, начал НИ - нет источника света в точке спауна. Начал проверять в чем же дело - оказалось, что объект не выходит в он-лайн. Но почему тогда light_alarm_glass_0000 нормально спаунится и светит как положено, ведь для нового источника все скопировал один в один ? Точку спауна проверил - спаунил по ней аптечку, нормально вроде. Поделиться этим сообщением Ссылка на сообщение
AndreySol 215 Опубликовано 3 Октября 2012 (изменено) volazar Печально, но Ваш пример кода не помог. Все его отличия от того что прописал я - наличие s_flags = 0x23 и секция логики custom_data = <<END [collide] ignore_static END При добавлении что первого, что второго ничего не меняется - объект не выходит в он-лайн. Есть еще какие-то варианты ? Изменено 3 Октября 2012 пользователем AndreySol Поделиться этим сообщением Ссылка на сообщение
AndreySol 215 Опубликовано 3 Октября 2012 volazar "как вариант, взять любую уже существующую в игре секцию светильника, скопировать ее изменив только имя и координаты." Так я именно так и сделал, я ж описал все в первом посте. Я уже и без level.spawn'а пробовал - результат то-же - объект не выходит в он-лайн ! Поделиться этим сообщением Ссылка на сообщение
AndreySol 215 Опубликовано 3 Октября 2012 ""нормально вроде". Нормально или вроде?" Аптечка естественно лежала на полу, ну на поверхности значит. Но именно там, где прописано в координатах и вертексах. Насчет координат - пробовал, для проверки, взять координаты от источника, с которого копировал параметры, но изменить только высоту - на метр ниже, один черт, объект не выходит в он-лайн. "возможно где то, что то сбоит/глючит. Например в скриптах." Скрипты при чем, все прописано только в all.spawn ? Поделиться этим сообщением Ссылка на сообщение
AndreySol 215 Опубликовано 3 Октября 2012 Пытаюсь и дальше с этим разбираться - вообще кошмар полный ! Использую такой код, чтоб определиться с состоянием объекта: local obj_ser = alife():object("light_alarm_glass_0004") if obj_ser then level.map_add_object_spot_ser(obj_ser.id, "alife_presentation_monstr", "лампа") -- сталю метку на объект -- alife():set_switch_online(obj_ser.id, true) -- пытаюсь вывести объект в он-лайн -- local text = "объект light_alarm_glass_0004 - " ..string.format("X: %d, Y: %d, Z: %d, gv: %d, lv: %d", obj_ser.position.x, obj_ser.position.y, obj_ser.position.z, obj_ser.m_level_vertex_id, obj_ser.m_game_vertex_id) news_manager.send_tip(db.actor, text, nil, nil, 30000) local obj = level.object_by_id(obj_ser.id) if obj then local text = "объект light_alarm_glass_0004 - " ..string.format("X: %d, Y: %d, Z: %d, gv: %d, lv: %d", obj:position().x, obj:position().y, obj:position().z, obj:level_vertex_id(), obj:game_vertex_id()) news_manager.send_tip(db.actor, text, nil, nil, 30000) end end Вижу только первое сообщение, т.е. получается, что проверка "if obj then" не проходит. Меняю в этом коде light_alarm_glass_0004 на light_alarm_glass_0000 - и опять вижу только первое сообщение. Получается, что для объекта, который явно нормально работает (т.е. светит) не возможно получить его клиентский объект ! Помогайте, кто в этом понимает, а то я уже имею мысль убиться головой об каменную стенку. Сжальтесь ! Поделиться этим сообщением Ссылка на сообщение
AndreySol 215 Опубликовано 3 Октября 2012 - таким образом ты спавнишь объект в ту-же самую точку! почему ? Я же указал, что координаты изменил на требуемые. Сразу после инициирования выхода в онлайн онлайнового объекта ещё нет, надо ждать несколько апдейтов. Это же основы, такие вещи надо знать. Почему Вы решили, что я этот код вызывал в том-же месте что и создание объекта ? Объект создавался в all.spawn, а код, про который Вы указали - уже значительно позже. Atos "т.е. никак не может быть в НЕ в онлайне!" - но ведь та и есть - не выходит моя лампа в он-лайн. Пошел еще дальше в экспирементах - убрал вообще исходную секцию этой лампы. Перекомпилировал all.spawn, начал новую игру - до жопы, лампа как была на месте так и осталась ! Я в ауте, что это значит ?????? Поделиться этим сообщением Ссылка на сообщение
AndreySol 215 Опубликовано 11 Октября 2012 Может надоел кому, но все-же... Снова об объекте, которых светит - можно ли его создать(заспаунить) скриптово ? Вот что я выяснил все о той-же лампе в подвальчике в деревне новичков на Кордоне. 1). В alife_l01_escape.ltx убрал вообще ее секцию, скомпилировал all.spawn, начал НИ, прибежал в подвальчик - лампа светит как обычно. Получается, что spawn-объект light_alarm_glass_0000 не имеет явного отношения к объекту который светит, хотя в его секции в alife_l01_escape.ltx прописано кучу параметров, явно относящихся к объекту, излучающему свет. Помня о предположениях, что я вообще не с тем источником света дрюкаюсь - сделал скриптом получение объекта по имени и установки на него метки - метка появляется именно там где и должно быть. Естественно, для варианта all.spawn, где секция для light_alarm_glass_0000 имеется. 2). В LE SDK выявил, что объект этой лампы состоит из трех честей: - при включенном режиме "Light" имеется объект light_0032 - при включенном режиме "Glow" имеется объект glow_0002 - при включенном режиме "Spawn Element" имеется объект light_alarm_glass_0000 Поиск в файлах 'gamedata' и распакованных файлах all.spawn имен light_0032 и glow_0002 ни чего не дал, получается эти элементы(не знаю как правильно выразится)являются частью "мебели" или геометрии уровня и не являются спаун-объектами, т.е. их нельзя создать ф-цией create ? Так как-же тогда скриптово создать объект, излучающий свет так-же как и "стандартные" лампы\сетильники ? Поделиться этим сообщением Ссылка на сообщение
AndreySol 215 Опубликовано 12 Октября 2012 malandrinus Ну а как тогда заспаунить источник света ? Простое копирование имеющейся в исходном ltx-файле all.spawn'а секции с изменением имени и координат не дает результата. Не могу разобраться почему ? Поделиться этим сообщением Ссылка на сообщение
AndreySol 215 Опубликовано 12 Октября 2012 Скопировано с секции лампы в подвальчике в деревне новичков, у меня она 617 в alife_l01_escape.ltx. Изменил только имя light_alarm_glass_0000 на light_alarm_glass_0004 и координаты спауна. ; cse_abstract properties section_name = lights_hanging_lamp name = light_alarm_glass_0004 position = -195.981475830078, -18.0143604278564, -134.596420288086 direction = 1.36992639454547e-011, 0, 3.14159274101257 version = 118 script_version = 6 ; cse_alife_object properties game_vertex_id = 36 level_vertex_id = 56184 object_flags = 0xffffffba ; cse_visual properties visual_name = physics\light\new_light\light_alarm_glass ; cse_ph_skeleton properties ; cse_alife_object_hanging_lamp properties main_color = 0xfffe8812 main_brightness = 0.699999988079071 main_range = 4 light_flags = 0x2a lamp_fixed_bones = link health = 100 main_virtual_size = 0.100000001490116 ambient_radius = 2 ambient_power = 0.200000002980232 main_bone = bone_lamp main_cone_angle = 2.09439516067505 glow_radius = 0.699999988079071 ambient_bone = bone_omni Поделиться этим сообщением Ссылка на сообщение
AndreySol 215 Опубликовано 13 Октября 2012 Artem_K в ТЧ статические объекты освещения имеют две секции спавна, физ.модель и сам свет от объекта, на статике кстати может не быть видно заспавненого света А как вычислить эти секции для конкретной лампы ? ------------------------------------------------ Такая вот бяда: в описании артефактов, в окне инвентаря, параметры которые в artefacts.ltx описаны как health_restore_speed, radiation_restore_speed, satiety_restore_speed, power_restore_speed, bleeding_restore_speed отображаются всегда 1, не зависимо от присвоенных значений. К примеру для "медузы" - "Радиация +1" а должно быть - "Радиация +5". Параметры-же из секции absorbation отображаются нормально, для той-же "медузы" - "Пулестойкость + 2%". В artefacts.ltx ничего особо не трогал, только прибрал прыжки и свечение для всех артов, да и не в этом дело - пробовал восстанавливать оригинальный artefacts.ltx(от чистой ТЧ v 1.0004), все равно не правильно отображается. В чем еще может быть причина ? Поделиться этим сообщением Ссылка на сообщение
AndreySol 215 Опубликовано 29 Сентября 2013 Вот пример секции из оригинального alife_l01_escape.ltx (распакован ACDC 1.27): [102] ; cse_abstract propertiessection_name = physic_objectname = vedro_0007position = -179.066909790039, -20.1019878387451, -140.893676757813direction = 0.03852479159832, -0.00217132666148245, 0.056316215544939version = 118script_version = 6 ; cse_alife_object propertiesgame_vertex_id = 0level_vertex_id = 3978object_flags = 0xfffffffa ; cse_visual propertiesvisual_name = physics\decor\vedro_01 ; cse_ph_skeleton propertiesskeleton_name =skeleton_flags = 1 ; cse_alife_object_physic propertiesphysic_type = 0x3mass = 10skeleton_flags = 1source_id = 65535 повторяющийся параметр - имеет смысл или просто ляп ? Задача - прикрутить зацикленный звук к объекту, спаунящемуся из all.spawn. [logic] active = ph_sound@generator [ph_sound@generator] snd = work_generator looped = true Сам звук - ambient\marsh_generator.ogg, в sound_theme.script схему прописал. Все работает, но присутствует явно различимый "переход" на повторе звука - провал в долю секунды. Вопрос: провал в звуке - это особенность работы схемы с флагом looped = true или-же есть смысл ковырять сам звук в каком-то редакторе ? Поделиться этим сообщением Ссылка на сообщение
AndreySol 215 Опубликовано 30 Сентября 2013 Подозреваю, что кто-то по ошибке скопипастил дубли строк не в то место... Извините, Artos, но не понял что это означает. Есть all.spawn от чистого ТЧ 1.0005. Есть ACDC 1.27. Распаковываю этот all.spawn с помощью этого ACDC и получаю конкретно в alife_l01_escape.ltx для двух объектов: [102] ; cse_abstract properties section_name = physic_object name = vedro_0007 position = -179.066909790039, -20.1019878387451, -140.893676757813 direction = 0.03852479159832, -0.00217132666148245, 0.056316215544939 version = 118 script_version = 6 ; cse_alife_object properties game_vertex_id = 0 level_vertex_id = 594270 object_flags = 0xfffffffa ; cse_visual properties visual_name = physics\decor\vedro_01 ; cse_ph_skeleton properties skeleton_name = skeleton_flags = 1 ; cse_alife_object_physic properties physic_type = 0x3 mass = 10 skeleton_flags = 1 source_id = 65535 ..................... [143] ; cse_abstract properties section_name = physic_object name = vedro_0001 position = -112.361404418945, -30.1370162963867, -393.068908691406 direction = -0.0343178249895573, 9.07830180949532e-005, 0.00264587346464396 version = 118 script_version = 6 ; cse_alife_object properties game_vertex_id = 0 level_vertex_id = 594270 object_flags = 0xfffffffa ; cse_visual properties visual_name = physics\decor\vedro_01 ; cse_ph_skeleton properties skeleton_name = skeleton_flags = 1 ; cse_alife_object_physic properties physic_type = 0x3 mass = 10 skeleton_flags = 1 source_id = 65535 Я не знаю, что это за два ведра таких хитро...опых, я Вам верю, что значение 1 для skeleton_flags может быть туфтой - но что вижу, о том и спрашиваю. Возможно проблема в ACDC, но на данный момент ссылка на 1.35 не рабочая, как только обновят, проверю на свежей версии. ================================= Ссылка на ACDC 1.35 в шапке ЭТОЙ темы вполне себе рабочая. Только что проверил. BFG Поделиться этим сообщением Ссылка на сообщение
AndreySol 215 Опубликовано 16 Октября 2013 Подскажите - какие соотношения или формулы используются движком при обсчете эффектов от артефактов ? К примеру, имеем в actor.ltx параметр health_restore_v, а в секции какого либо арта health_restore_speed - как они будут обсчитываться движком, есть ли формула обсчета ? И еще - минимальные и максимальные значения для параметров в секции actor_condition и для health_restore_speed, radiation_restore_speed, satiety_restore_speed, power_restore_speed, bleeding_restore_speed у артефактов ? Поделиться этим сообщением Ссылка на сообщение
AndreySol 215 Опубликовано 23 Октября 2013 Прописал такие вот инфо-порции: <info_portion id="esc_tehnic_proceed"></info_portion> <info_portion id="esc_tehnic_complete"> <disable>esc_tehnic_proceed</disable> </info_portion> Выдаю сначала esc_tehnic_proceed, все нормально. Затем выдаю esc_tehnic_complete, проверяю esc_tehnic_proceed - она остается активной ! Я где-то ошибся или что-то не понял о том, что означает тэг <disable></disable> для инфо-порций ? Поделиться этим сообщением Ссылка на сообщение
AndreySol 215 Опубликовано 23 Октября 2013 прописал верно, все должно работать!!! Я и сам вижу, что прописано верно, но не работает ! Поделиться этим сообщением Ссылка на сообщение
AndreySol 215 Опубликовано 27 Октября 2013 (изменено) Имеется диалог построенный по такому шаблону: <dialog id="ляляляляля"> <phrase_list> <phrase id="0"> <text>Привет, сталкер !</text> <next>1</next> </phrase> <phrase id="1"> <text>Что надо от меня ?</text> <next>2</next> <next>4</next> </phrase> <phrase id="2"> <text>...............</text> <next>3</next> </phrase> <phrase id="3"> <text>...............</text> </phrase> <phrase id="4"> <text>...............</text> <next>5</next> </phrase> <phrase id="5"> <text>...............</text> </phrase> </phrase_list> </dialog> т.е. присутствует развилка - 2 или 4 фраза. И получается, что при отсутствии условий в каждой из них они доступны одновременно. Вопрос - как движок это обработает ? Во-первых, в следующий раз подобный пост без спойлера потру. Во-вторых, что мешает узнать проверив это собственно ручно? ColR_iT Изменено 27 Октября 2013 пользователем ColR_iT Поделиться этим сообщением Ссылка на сообщение
AndreySol 215 Опубликовано 27 Октября 2013 Во-первых, в следующий раз подобный пост без спойлера потру. Во-вторых, что мешает узнать проверив это собственно ручно? Про спойлер забыл, извиняйте... Собственноручно у меня получилось нечто вроде рандома - то одна фраза, то другая, хотя я думал что должна выбираться первая по порядку. Потому и хотелось уточнить - это действительно вариант сделать рандомный выбор фраз, или так лучше не делать ? Поделиться этим сообщением Ссылка на сообщение
AndreySol 215 Опубликовано 28 Октября 2013 Два вопроса: 1). Если я правильно понимаю, то: репутация - это параметр ГГ по отношению к группировкам, а благосклонность - это параметр ГГ по отношению к конкретному НПСу ? 2). Имеется добавленный мною НПС, приписан к гулагу, ему прописаны квесты(не регулярные) для ГГ. При их успешном выполнении будет-ли ГГ автоматически(движково\по умолчанию) начисляться репутация и\или благосклонность ? Или надо самому начислять и то и другое по факту выполнения ? malandrinus при каждом заходе актора на какой-то уровень можно уточнение? Имеется в виду именно "заход на уровень", т.е. появление ГГ на уровне через какой-то из левел-чейнджеров или будет срабатывать и простая загрузка сохранения на этом уровне ? Поделиться этим сообщением Ссылка на сообщение
AndreySol 215 Опубликовано 29 Октября 2013 malandrinus 2. По-моему, любой эффект от задания надо прописывать в этом задании явно, как собственно эффект или эффект от фразы при сдаче задания А так называемые регулярные задания, ну типа как у Сидора - принеси то, убей того, найди это ? Там как идет начисление всех этих благосклонностей и репутации ? Поделиться этим сообщением Ссылка на сообщение
AndreySol 215 Опубликовано 30 Октября 2013 В game_relations.ltx прописана группировка "stranger" - кто это в игре ? В этом-же файле есть строчка goodwill_neutal = 0 Похоже на опечатку, видимо должно быть goodwill_neutral ? В оригинальной ТЧ, в квесте на Кордоне по зачистке АТП, группа Петрухи: сам Петруха обычный, на мини-карте отображается желтой точкой, а два его напарника - на мини-карте не отображаются. Подскажите, что у них и где прописано, что их на мини-карте не видно ? Поделиться этим сообщением Ссылка на сообщение