AndrewMor 539 Опубликовано 13 Января 2018 44 минуты назад, Dennis_Chikin сказал: Опять же, hp_state, hp_state_see, чтоб не орал. Проще заглушки на звуковые файлы воткнуть.... Сталкер - наше всё! Поделиться этим сообщением Ссылка на сообщение
AndrewMor 539 Опубликовано 14 Января 2018 11 часов назад, _Val_ сказал: Так тогда все раненые перестанут орать)) Ну да, перестанут. Орать в Зоне, оказавшись раненым - себе дороже. Еще придет кто-нито на обед Сталкер - наше всё! Поделиться этим сообщением Ссылка на сообщение
AndrewMor 539 Опубликовано 29 Января 2018 3 часа назад, Fenrir02 сказал: Не подскажите как сделать убор оружия при обыске мёртвых неписей/монстров/тайников? Не могу понять каким скриптом вызвать действия при обыске перечисленных предметов. ИМХО, нужно отслеживать выдачу/забирание инфопоршенов при обыске трупа/тайника. Не помню, как они правильно называются. Сталкер - наше всё! Поделиться этим сообщением Ссылка на сообщение
AndrewMor 539 Опубликовано 22 Июля 2018 10 часов назад, _Sk8_AsTeR_ сказал: Вдруг у кого-то есть объяснение этому феномену? Полагаю, что файл из ЗП нужно сначала было переделать для ТЧ (в ЗП весь звук - стерео). Должен воспроизводиться звук сна ГГ, файл не читался движком наверно из-за этого и висло. Сталкер - наше всё! Поделиться этим сообщением Ссылка на сообщение
AndrewMor 539 Опубликовано 25 Июля 2018 В 22.07.2018 в 15:55, gam сказал: Это файл из чистой ТЧ. Все работает хотя бы на на этом примере: В том посте написано: "Данный звуковой файл брал из Зов Припяти". Потому и предположил, что в ЗП звук стерео. А то, что при удалении данного файла все стало работать, прямо об этом говорит. Ибо звук стал читаться из запакованных db-файлов. Сталкер - наше всё! Поделиться этим сообщением Ссылка на сообщение
AndrewMor 539 Опубликовано 12 Февраля 2019 1 час назад, Дмитрий Зверев сказал: В оригинальной ТЧ есть момент, когда ГГ подходит к Кузнецову Я в своем моде делал бандитов и легко с ними мог говорить, даже если они враги (а так и было). Вроде в логике все прописывается. Сталкер - наше всё! Поделиться этим сообщением Ссылка на сообщение
AndrewMor 539 Опубликовано 27 Марта 2019 11 минут назад, Баба ЯГА сказал: я тут учу Lua -> Полезно. Но почему я на функции, модули, операторы (выше по списку) не могу перейти? Сталкер - наше всё! Поделиться этим сообщением Ссылка на сообщение
AndrewMor 539 Опубликовано 27 Марта 2019 @Баба ЯГА, А ларчик просто открывался. Как всегда, все гениальное лежит на самом виду, спасибо. 1 Сталкер - наше всё! Поделиться этим сообщением Ссылка на сообщение
AndrewMor 539 Опубликовано 5 Мая 2019 (изменено) 14 часов назад, _Sk8_AsTeR_ сказал: Так вот, там многих, так сказать, бочек с кострами нету. Каким образом можно получить название лагеря? Надеюсь правильно вопрос задал. Думаю, надо изменить код так, чтобы название смарт-террейна вообще не фигурировало в скрипте. Указывать только flame = "zone_flame_small_0001", light = "lights_camp_fire_omni_r1_r2_0001", а их названия взять из распакованного спавна. Изменено 5 Мая 2019 пользователем AndrewMor Сталкер - наше всё! Поделиться этим сообщением Ссылка на сообщение
AndrewMor 539 Опубликовано 6 Июня 2019 (изменено) Всем привет, возник вопрос. Спавню скриптово аномалии (всякие Жарки, Электры и прочие). Код спавна: Скрытый текст local obj = alife():create(section, pos, lv, gv) local rad_new_anom = math.random(2,4) create_anom(obj, rad_new_anom, "anom_on) function create_anom(p_obj, rad_anom, mode) local packet = net_packet() p_obj:STATE_Write(packet) local game_vertex_id = packet:r_u16() local cse_alife_object__unk1_f32 = packet:r_float() local cse_alife_object__unk2_u32 = packet:r_s32() local level_vertex_id = packet:r_s32() local object_flags = packet:r_s32() local custom_data = packet:r_stringZ() local story_id = packet:r_s32() local cse_alife_object__unk3_u32 = packet:r_s32() local shape_count = packet:r_u8() for i=1,shape_count do local shape_type = packet:r_u8() if shape_type == 0 then local center = packet:r_vec3() local radius = packet:r_float() else local box = packet:r_matrix() end end local restrictor_type = packet:r_u8() local cse_alife_custom_zone__unk1_f32 = packet:r_float() local cse_alife_custom_zone__unk2_u32 = packet:ru8( _s32() local on_off_mode_enabled_time = packet:r_s32() local on_off_mode_disabled_time = packet:r_s32() local on_off_mode_shift_time = packet:r_s32() local offline_interactive_radius = packet:r_float() local artefact_spawn_places_count = packet:r_u16() local cse_alife_anomalous_zone__unk1_u32 = packet:r_s32() local last_spawn_time_present = packet:r_u8() if packet:r_elapsed() ~= 0 then abort("left=%d", packet:r_elapsed()) end packet:w_u16(game_vertex_id) packet:w_float(cse_alife_object__unk1_f32) packet:w_s32(cse_alife_object__unk2_u32) packet:w_s32(level_vertex_id) packet:w_s32(object_flags) if mode~=nil then custom_data = mode end packet:w_stringZ(custom_data) packet:w_s32(story_id) packet:w_s32(cse_alife_object__unk3_u32) packet:w_u8(1) packet:w_u8(0) local sphere_center = vector() sphere_center:set(0, 0, 0) packet:w_vec3(sphere_center) radius = rad_anom packet:w_float(radius) packet:w_u8(restrictor_type) packet:w_float(cse_alife_custom_zone__unk1_f32) cse_alife_custom_zone__unk2_u32 = bit_not(0) packet:w_s32(cse_alife_custom_zone__unk2_u32) packet:w_s32(on_off_mode_enabled_time) packet:w_s32(on_off_mode_disabled_time) packet:w_s32(on_off_mode_shift_time) packet:w_float(offline_interactive_radius) packet:w_u16(artefact_spawn_places_count) packet:w_s32(cse_alife_anomalous_zone__unk1_u32) packet:w_u8(last_spawn_time_present) p_obj:STATE_Read(packet, packet:w_tell()-packet:r_tell()) return p_obj end Все прекрасно спавнится ( в данном случае в Предбаннике). Но когда дело доходит до радиации, начинается фигня. Радиация спавнится, но почему-то не в Предбаннике, а где-то между Кордоном и Болотами. См. скрин Вот в чем здесь причина? Или Радиацию надо как-то по-другому спавнить? upd: пробовал спавнить аномалии на Свалке - все то же самое. Аномалии спавнятся на Свалке, радиация - между Кордоном и Болотами. Изменено 6 Июня 2019 пользователем AndrewMor Сталкер - наше всё! Поделиться этим сообщением Ссылка на сообщение
AndrewMor 539 Опубликовано 7 Июня 2019 @naxac, Спасибо, попробую. Сталкер - наше всё! Поделиться этим сообщением Ссылка на сообщение
AndrewMor 539 Опубликовано 7 Июня 2019 (изменено) @naxac, Попробовал для начала вот это: Нужно сначала поставить чтение пакета на начало: packet:r_seek(0) Радиация спавнится по нужным координатам, но все без исключения аномалии перестают наносить урон. Спавнятся, на детекторе видны, но - пустышки. А вот конструкции if not packet:r_eof() then last_spawn_time_present = packet:r_u8() end ... if last_spawn_time_present then packet:w_u8(last_spawn_time_present) end сработали. Все спавнится и наносит урон, как и задумано. Спасибо за помощь, может еще кому пригодится. Изменено 7 Июня 2019 пользователем AndrewMor 1 Сталкер - наше всё! Поделиться этим сообщением Ссылка на сообщение
AndrewMor 539 Опубликовано 7 Июня 2019 @AndreySol, Я нашел уже готовый скрипт спавна аномалий. Вот и подумал, а почему бы и Радиацию рандомно не спавнить? А про модуль Артоса читал в свое время, но ничего тогда не понял Сталкер - наше всё! Поделиться этим сообщением Ссылка на сообщение
AndrewMor 539 Опубликовано 9 Июня 2019 20 часов назад, AndreySol сказал: Вот тут, я уже тебя не понял - что не понятного в готовом скрипт-модуле для работы с нет-пакетами? Грамотные в этом вопросе люди, обернули все в удобный функционал, и даже справочку не забыли приложить к этому... Давно уже читал, но на тот момент не разбирался. А сейчас видать настал сей момент, когда все ж таки придется разбираться. Всему свое время, походу, мое время само ко мне пришло... Сталкер - наше всё! Поделиться этим сообщением Ссылка на сообщение
AndrewMor 539 Опубликовано 9 Июня 2019 @aka_sektor, попробуй так: Скрытый текст if not has_alife_info("твой инфо") then for a=10,65535,1 do local obj=alife():object(a) if obj and string.find(obj:name(),"trader_zone_task") then alife():release(obj,true) end end db.actor:give_info_portion("твой инфо") end Сталкер - наше всё! Поделиться этим сообщением Ссылка на сообщение
AndrewMor 539 Опубликовано 4 Июля 2019 3 часа назад, AndreySol сказал: В радиусе 150м от ГГ. Правильнее сказать, в радиусе А-лайфа, он может быть другим. Сталкер - наше всё! Поделиться этим сообщением Ссылка на сообщение
AndrewMor 539 Опубликовано 26 Сентября 2019 11 часов назад, Баба ЯГА сказал: Как отправить скриптово НПС из точки А в точку Б, допустим, даже на пару метров от того места где он находится, это вообще возможно?.. В нужный момент выдать инфо, а дальше прописать нужное действие в логике НПС (переход в секцию логики по выдаче инфо). Сталкер - наше всё! Поделиться этим сообщением Ссылка на сообщение
AndrewMor 539 Опубликовано 19 Января 2020 В 16.01.2020 в 17:33, _Sk8_AsTeR_ сказал: @Kirgudu, а какая симптоматика при переполнении нет пакетов? Битые сейвы, или ещё чего? Чаще всего вылеты при загрузке сейва с руганью на несуществующую секцию, что-то типа "ac" или нечто подобное. 1 Сталкер - наше всё! Поделиться этим сообщением Ссылка на сообщение
AndrewMor 539 Опубликовано 2 Апреля 2020 @Norman Eisenherz, Я всегда, кстати, думал, где, как и почему выдается сообщение, логику копал. А дело-то в рестрикторе. Сталкер - наше всё! Поделиться этим сообщением Ссылка на сообщение
AndrewMor 539 Опубликовано 4 Апреля 2020 (изменено) 03.04.2020 в 02:32, Norman Eisenherz сказал: Есть ли какой-то фикс для меток, которые остаются после сюжетных заданий (АТП, X-16, РГ-6)? Насчет фикса - не знаю, но в своем моде исправлял сам. Правда, дело было давно, и откопать не сумею теперь. Вывод: смотри квест пошагово и в нужный момент вызывай функцию удаления конкретной метки. Добавлю: та еще мутота, но все решаемо. В частности, по РГ-6 долго не мог добиться результата, в итоге все ж сделал. Но где и что правил - увы, не помню. Изменено 4 Апреля 2020 пользователем AndrewMor Сталкер - наше всё! Поделиться этим сообщением Ссылка на сообщение