Это популярное сообщение. Dennis_Chikin 3 658 Опубликовано 16 Мая 2014 Это популярное сообщение. Поделиться Опубликовано 16 Мая 2014 Ковыряемся в файлах ТЧ Прежде чем писать в тему - внимательно читаем первый пост, и пользуемся поиском. Возможно, ответ на Ваш вопрос уже есть. Касательно телепатии: если Вы передаете Ваши файлы телепатическим путем - ответы будут передаваться тоже телепатически. Если Вы предлагаете угадать, отчего у Вас в подвале происходит странный стук - ответ будет передан стуком. 4 8 6 12 Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
Balavnik 112 Опубликовано 16 Мая Поделиться Опубликовано 16 Мая Где можно посмотреть свойства нет-пакетов? Типа health и т.д. В справочнике что-то не нашел. Осенний каламбур. Сентябрь - лето. Ссылка на комментарий
Kaban312 3 Опубликовано 16 Мая Поделиться Опубликовано 16 Мая 11 часов назад, CiberZold сказал: вопрос почему у тебя имя нпс = physic_destroyable_object, ты нпс пытаешься задать логику физического объекта? Понятия не имею, имя нпс совсем другое и это я проверял. 16 часов назад, Zander_driver сказал: 16 часов назад, Kaban312 сказал: _bp:_path_parse_waypoints:_pathname='britva_walk' А с параметрами пути все хорошо? Не понял, будьте добры проще, пути чего? 16 часов назад, Zander_driver сказал: Не понял. Какую функцию? В твоем посте только "какая-то функция в _g.script для вывода лога" упоминается. Но ты говорил что без нее вылет безлоговый... Короче пока ничего не понятно. Эту функцию где то на форумах нашёл. function printf(fmt,...) local con = get_console() con:execute(string.gsub(string.format(fmt,...), " ", "_")) con:execute("flush") end И извините забыл главный момент указать, если я захожу в игру через СДК то всё почему то работает, как только я переношу все нужные файлы в саму игру (Тень Чернобыля) то всё перестаёт работать. Все файлы файлы нужные и в которых я работал перенёс и пересматривал раз 5 точно, всё ли я перенёс в игру.. Ссылка на комментарий
mole venomous 3 381 Опубликовано 16 Мая Поделиться Опубликовано 16 Мая @Balavnik , если нет-пакеты, вот из сборки Артоса: https://disk.yandex.ru/d/bh0gKdBu1KTqSA Может там найдёшь ответы на свои вопросы. 4 1 Здесь могла быть ваша реклама. Ссылка на комментарий
Zander_driver 10 333 Опубликовано 16 Мая Поделиться Опубликовано 16 Мая 1 час назад, Kaban312 сказал: пути чего? Естественно, вот это 1 час назад, Kaban312 сказал: britva_walk 18 часов назад, Kaban312 сказал: И да. как только я удаляю ему эту функцию всё начинает работать. Сомневаюсь чтобы такое могло происходить из-за реанимированного printf. Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine. Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист. AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD. Ссылка на комментарий
Balavnik 112 Опубликовано 16 Мая Поделиться Опубликовано 16 Мая @mole venomous Это-то понятно, но в ридми там свойств не указано. Или надо непосредственно искать в файлах? Осенний каламбур. Сентябрь - лето. Ссылка на комментарий
mole venomous 3 381 Опубликовано 16 Мая Поделиться Опубликовано 16 Мая Ну если понятно, то чего искать то? Спавним оружие и задаём некоторые свойства: local pk = get_netpk(obj,1) if pk:isOk() then local data = pk:get() if data then data.condition = condition data.ammo_elapsed = ammo_count data.ammo_type = ammo_type data.addon_flags = flag -- 1 - scope, 2 - grenade_launcher, 3 - scope + grenade_launcher, 4 - silencer, 5 - scope + silencer, -- 6 - grenade_launcher + silencer, 7 - scope + grenade_launcher + silencer pk:set(data) end end 1 Здесь могла быть ваша реклама. Ссылка на комментарий
Balavnik 112 Опубликовано 16 Мая Поделиться Опубликовано 16 Мая @mole venomous Мне интересны именно сами свойства. Например у тебя в примере condition, а мне допустим захотелось поменять другой параметр, а имени этого параметра я не знаю. Осенний каламбур. Сентябрь - лето. Ссылка на комментарий
Zander_driver 10 333 Опубликовано 16 Мая Поделиться Опубликовано 16 Мая 4 минуты назад, Balavnik сказал: а имени этого параметра я не знаю. Взять нетпакет интересующего класса объектов, (у разных классов и параметры разные), и вывести его в лог полностью. Там и будут все ключи и значения... 1 1 Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine. Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист. AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD. Ссылка на комментарий
Balavnik 112 Опубликовано 16 Мая Поделиться Опубликовано 16 Мая (изменено) @Zander_driver Получается просто пробежать for по data.upd и выводить в лог "k = v"? Изменено 16 Мая пользователем Balavnik Добавлено Zander_driver, 16 Мая Ну да, именно так. Осенний каламбур. Сентябрь - лето. Ссылка на комментарий
Kirgudu 1 207 Опубликовано 16 Мая Поделиться Опубликовано 16 Мая (изменено) 4 часа назад, Balavnik сказал: Получается просто пробежать for по data.upd Можно проще. В m_netpk есть встроенный метод print, который выведет в лог все имеющиеся свойства конкретного нет-пакета: local pk = get_netpk(obj) pk:print() Единственное, для вывода в лог там используется метод table.print. Если правильно помню, в штатном lua его нет, поэтому потребуется также подключить артосовский расширитель lua_extension (lua_helper) или аналог. Изменено 16 Мая пользователем Kirgudu 1 3 Инструмент Ссылка на комментарий
Zander_driver 10 333 Опубликовано 16 Мая Поделиться Опубликовано 16 Мая 54 минуты назад, Kirgudu сказал: В m_netpk есть встроенный метод print Ну вот это я уже не знал/забыл Помню что когда дорос до применения Артосо-модулей, функции для вывода в лог чего угодно у меня уже были свои. Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine. Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист. AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD. Ссылка на комментарий
Kirgudu 1 207 Опубликовано 17 Мая Поделиться Опубликовано 17 Мая (изменено) 12 часов назад, Zander_driver сказал: Ну вот это я уже не знал/забыл Я тоже не знал до поры до времени. В своё время полез внутрь для исправления разных выявленных недочётов, ну и заметил. В модулях Артоса есть довольно много полезных вещей, не выставленных публично и не описанных ни в какой инструкции, но для того, чтобы их найти, надо, конечно, изучить модули глазами от и до. @Balavnik, дополню свой предыдущий ответ, поскольку вчера забыл о ещё одной возможности m_netpk. Как я уже сказал, можно использовать встроенный метод print() (также не забыть при этом подключить lua_extension/lua_helper от Артоса для поддержки table.print): local pk = get_netpk(obj) pk:print() Таким способом ты выведешь в лог все текущие значения свойств данного конкретного нет-пакета. Скрытый текст ! Cannot find saved game ~:print_table:m_netpk:netpacket(af_gold_fish26566):~~~~~~~> ! Cannot find saved game ~:netpacket.level_vertex_id = [49746] ! Cannot find saved game ~:netpacket.spawn_story_id = [-1] ! Cannot find saved game ~:netpacket.upgrades. = <<zero_table>> ! Cannot find saved game ~:netpacket.distance = [0] ! Cannot find saved game ~:netpacket.condition = [1] ! Cannot find saved game ~:netpacket.game_vertex_id = [135] ! Cannot find saved game ~:netpacket.visual_name = [dynamics\artefacts\af_gold_fish] ! Cannot find saved game ~:netpacket.object_flags = [-65] ! Cannot find saved game ~:netpacket.visual_flags = [0] ! Cannot find saved game ~:netpacket.upd.num_items = [0] ! Cannot find saved game ~:netpacket.story_id = [-1] ! Cannot find saved game ~:netpacket.custom_data = [<<userdata>>] ! Cannot find saved game ~:netpacket.direct_control = [1] ! Cannot find saved game ~:print_table:m_netpk:netpacket(af_gold_fish26566):~~~~~~~< Но что если тебе нужно узнать не текущее содержимое, а полный возможный состав нет-пакета данного типа объекта и какого типа каждое его свойство? Для этого существует метод dumpDesc(), явно описанный в инструкции к модулю (см. пункт 3.2). Этот метод возвращает строку с полным читабельным описанием нет-пакета, которую, в свою очередь, можно самостоятельно вывести в лог. Но так как строка скорее всего будет слишком длинной для вывода в один приём, потребуется дополнительная обвязка для разбиения на части: local pk = get_netpk(obj) -- получаем нет-пакет объекта local description = pk:dumpDesc() -- получаем его описание -- бьём на части по 200 символов максимум и выводим в лог local console = get_console() local pattern = "(."..string.rep(".?", 199)..")" for line in description:gmatch("[^\n]+") do for part in line:gmatch(pattern) do console:execute("load ~:"..part) end end Результат: Скрытый текст ! Cannot find saved game ~:<<< dump of cse_alife_item_artefact desctiption >>> ! Cannot find saved game ~:;-- cse_alife_object part --- ! Cannot find saved game ~: game_vertex_id => u16 ! Cannot find saved game ~: distance => f32 ! Cannot find saved game ~: direct_control => u32 ! Cannot find saved game ~: level_vertex_id => u32 ! Cannot find saved game ~: object_flags => h32 ! Cannot find saved game ~: custom_data => cd ! Cannot find saved game ~: story_id => s32 ! Cannot find saved game ~: spawn_story_id => s32 ! Cannot find saved game ~:;-- cse_visual part --- ! Cannot find saved game ~: visual_name => sz ! Cannot find saved game ~: visual_flags => u8 ! Cannot find saved game ~:;-- cse_alife_dynamic_object_visual part --- ! Cannot find saved game ~:;-- cse_alife_inventory_item part --- ! Cannot find saved game ~: condition => f32 ! Cannot find saved game ~: upgrades => l32szv ! Cannot find saved game ~: upd.num_items => h8 ! Cannot find saved game ~: upd.force => f32v3 ! Cannot find saved game ~: upd.torque => f32v3 ! Cannot find saved game ~: upd.ph_position => f32v3 ! Cannot find saved game ~: upd.ph_rotation => q8v4 ! Cannot find saved game ~: upd.ph_angular_vel => q8v3 ! Cannot find saved game ~: upd.ph_linear_vel => q8v3 ! Cannot find saved game ~: upd.enabled => b8 ! Cannot find saved game ~:;-- cse_alife_item_artefact part --- ! Cannot find saved game ~:<<< dump end >>> Изменено 17 Мая пользователем Kirgudu 1 2 Инструмент Ссылка на комментарий
Balavnik 112 Опубликовано 17 Мая Поделиться Опубликовано 17 Мая За что отвечает xr_motivator? Очень поход на bind_stalker. Осенний каламбур. Сентябрь - лето. Ссылка на комментарий
Kirgudu 1 207 Опубликовано 17 Мая Поделиться Опубликовано 17 Мая 24 минуты назад, Balavnik сказал: За что отвечает xr_motivator? Они действительно служат примерно одним и тем же целям, только xr_motivator используется для сталкеров, тогда как bind_stalker - для героя. См. разницу между bind_stalker.init() и bind_stalker.actor_init(), которые прописаны в свойстве script_binding в, соответственно, m_stalker.ltx и actor.ltx Инструмент Ссылка на комментарий
Zander_driver 10 333 Опубликовано 17 Мая Поделиться Опубликовано 17 Мая 47 минут назад, Balavnik сказал: xr_motivator? Это биндер нпс. Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine. Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист. AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD. Ссылка на комментарий
Balavnik 112 Опубликовано 17 Мая Поделиться Опубликовано 17 Мая @Zander_driver А для монстров какой биндер? Добавлено Купер, 17 Мая Во избежание начала ящиков, детекторов и прочего. script_binding = ... - вот это в конфиге для объекта определяет что, куда , почему. Также здесь рекомендуется к ознакомлению. 1 Осенний каламбур. Сентябрь - лето. Ссылка на комментарий
Капрал Хикс 519 Опубликовано 17 Мая Поделиться Опубликовано 17 Мая @Balavnik , ну bind_monster.script же. 1 Ссылка на комментарий
Kaban312 3 Опубликовано 17 Мая Поделиться Опубликовано 17 Мая Ничего не понимаю, создал я квест (предварительно удалил оригинальную сюжетную линию, всё работает) , квест рабочий это 100% но хрен знает от куда вылез этот вылет, он или айди или инфопоршень найти не может я так и не понял по этому проверил и то и другое, всё на месте (esc_tutorial_secret_place это короче тайник который Шустрый на АТП даёт за спасение). Удивительно что ничего связано с этим моментом (esc_tutorial_secret_place) я не трогал, его выдаёт Шустрый, Шустрому я диалог этот закомментировал в character_desc_escape и вроде бы как всё работало. Я ничего не понимаю... Expression : no_assert Function : CXML_IdToIndex<class CInfoPortion>::GetById File : s:\sources\xrgame\xml_str_id_loader.h Line : 112 Description : item not found, id Arguments : esc_tutorial_secret_place Добавлено Купер, 17 Мая Перемещено. Ссылка на комментарий
Купер 2 841 Опубликовано 17 Мая Поделиться Опубликовано 17 Мая @Kaban312 , это не 40 минут назад, Kaban312 сказал: короче тайник который Шустрый на АТП даёт за спасение а 41 минуту назад, Kaban312 сказал: чёрт знает от куда вылез section_name = stalker name = esc_stalker_corpse character_profile = esc_bandit_novice [known_info] esc_tutorial_secret_place Боюсь ошибиться за давностью лет - труп бандита на элеваторе. 1 Ссылка на комментарий
Kaban312 3 Опубликовано 17 Мая Поделиться Опубликовано 17 Мая 1 час назад, Купер сказал: 2 часа назад, Kaban312 сказал: чёрт знает от куда вылез section_name = stalker name = esc_stalker_corpse character_profile = esc_bandit_novice [known_info] esc_tutorial_secret_place section_name = stalker name = esc_stalker_corpse character_profile = esc_bandit_novice [known_info] esc_tutorial_secret_place Боюсь ошибиться за давностью лет - труп бандита на элеваторе. Да, я ошибся, не внимательно я как то. Оказывается не за тем я бегал за чем нужно.. В общем удалил я выдачу информации у бандита на АТП (после его смерти падает информация про труп бандита на элеваторе), потом удалил в логика бандита на АТП выдачу информацию тайника esc_tutorial_secret_place (через жд дорогу от упавшего локомотива) , потом проверил и игра жаловалась на труп сталкера около тоннеля с электрами он там тоже как то замешан, в итоге я его удалил и всё начало работать... Спасибо, что глаза мне открыли! 1 1 1 Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти