Это популярное сообщение. Dennis_Chikin 3 658 Опубликовано 16 Мая 2014 Это популярное сообщение. Поделиться Опубликовано 16 Мая 2014 Ковыряемся в файлах ТЧ Прежде чем писать в тему - внимательно читаем первый пост, и пользуемся поиском. Возможно, ответ на Ваш вопрос уже есть. Касательно телепатии: если Вы передаете Ваши файлы телепатическим путем - ответы будут передаваться тоже телепатически. Если Вы предлагаете угадать, отчего у Вас в подвале происходит странный стук - ответ будет передан стуком. 4 8 6 12 Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
HellRatz 2 861 Опубликовано 10 Апреля 2016 Поделиться Опубликовано 10 Апреля 2016 А можно спавнить предмет по условию? Спавн скриптом - не предлагать, ибо мне нужно заспавнить предмет там, где нет АИ-сетки, в итоге предмет куда-то теряется из-за этого. Предмет ставлю в СДК, убираю использование АИ-сетки и все ок, но предмет есть на старте игры. Для живых объектов есть, к примеру, секция [spawner], а для предметов..? Есть ли что-то подобное? GTA 3 MAP X-Ray | NFS U:2 MAP X-Ray | RTCW MAP X-Ray | L2D | Раритетные моды на моем облаке — на память о былом. Ссылка на комментарий
=VENOM= 50 Опубликовано 10 Апреля 2016 Поделиться Опубликовано 10 Апреля 2016 @HellRatz, скорее всего, условного спона у объектов не предусмотрено. А почему скриптом не предлагать? Совершенно спокойно спонятся предметы там, где АИ-сетки нет и в помине. Есть ещё один способ, но это уже совсем через... ну, вы поняли. Смысл таков: ставим предмет там, где это необходимо (в СДК или редактируя all.spawn), затем при старте игры игры удаляем его скриптом, а когда нужно - восстанавливаем обратно, тоже скриптом. В этом случае предмет будет иметь те же координаты, наклон, поворот, и т.д. Ссылка на комментарий
HellRatz 2 861 Опубликовано 10 Апреля 2016 Поделиться Опубликовано 10 Апреля 2016 Совершенно спокойно спонятся предметы там, где АИ-сетки нет и в помине. Подсказали логику для таких объектов, чтобы не уезжали. Лично у меня объекты тупо не появляются (Уезжают куда-то?) при спавне скриптом. Попробую еще с логикой. GTA 3 MAP X-Ray | NFS U:2 MAP X-Ray | RTCW MAP X-Ray | L2D | Раритетные моды на моем облаке — на память о былом. Ссылка на комментарий
Zander_driver 10 333 Опубликовано 10 Апреля 2016 Поделиться Опубликовано 10 Апреля 2016 Если не появляются там где надо, значит или не там заспавнили, или не заспавнили вовсе. И таки да, скриптом можно спавнить без АИ-сетки, и задавать положение-наклон-поворот через нетпакет. Добавлено HellRatz, 10 Апреля 2016 Странно. Координаты точно правильные. Ок, посмотрю еще. Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на 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. Ссылка на комментарий
e1_nin0 3 Опубликовано 10 Апреля 2016 Поделиться Опубликовано 10 Апреля 2016 Не подскажите есть ли консольная команда на закрытие инвентаря?get_console():execute("inventory_close") не пашет. Пробовал через get_hud():HidePdaMenu() get_hud():HideActorMenu() Тоже не получается. Ссылка на комментарий
HellRatz 2 861 Опубликовано 10 Апреля 2016 Поделиться Опубликовано 10 Апреля 2016 @e1_nin0, обязательно консольная? Есть вот у меня например такая скриптовая функция (Закрывает любое активное открытое окно) --// Закрываем инвентарь. function actor_disable_inventory() -- закрываем верхнее окно: local wnd = level.main_input_receiver() if wnd then wnd:GetHolder():start_stop_menu(wnd, true) end end 1 GTA 3 MAP X-Ray | NFS U:2 MAP X-Ray | RTCW MAP X-Ray | L2D | Раритетные моды на моем облаке — на память о былом. Ссылка на комментарий
e1_nin0 3 Опубликовано 10 Апреля 2016 Поделиться Опубликовано 10 Апреля 2016 HellRatz, вот спасибо А я думал, что уже не найду решения этой проблемы. Ссылка на комментарий
Jekyll 92 Опубликовано 10 Апреля 2016 Поделиться Опубликовано 10 Апреля 2016 Пардон, похоже я ненароком ввел всех в заблуждение. При изучении логов я нашел одну особенность - при количестве секций в аллспавне менее 10991 происходит вышеупомянутый вылет. Поднял базовый аллспавн мода (последний номер секции в нем - 10990), удалил на пробу 1 секцию - и тот же вылет. Получается, если у меня были заспавнены новые объекты (количество стало 11006), то и появилась возможность удалить соответствующее число секций без последствий... Если я все правильно понял, нужно уменьшить каким-то образом этот "минимум" = 10991. Но как? New Anomalies 1.1 ☢☢☢ "Смерть-лампа" ☢☢☢ Дисраптор Русификатор для игры Vendetta: Curse of Raven's Cry Ссылка на комментарий
Eugen81 1 008 Опубликовано 10 Апреля 2016 Поделиться Опубликовано 10 Апреля 2016 команда на закрытие инвентаря? if has_alife_info("ui_inventory") then level.start_stop_menu(level.main_input_receiver(), true) end Ссылка на комментарий
Zander_driver 10 333 Опубликовано 10 Апреля 2016 Поделиться Опубликовано 10 Апреля 2016 Если я все правильно понял, нужно уменьшить каким-то образом этот "минимум" = 10991. Но как? Для начала можно задаться вопросом откуда-почему этот минимум происходит.что-то у меня закралось подозрение, а не делается ли у вас где-то в скриптах спавн или еще какое действие с объектом по его секции в аллспавне? как раз по значению 10991 Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на 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. Ссылка на комментарий
HellRatz 2 861 Опубликовано 10 Апреля 2016 Поделиться Опубликовано 10 Апреля 2016 (изменено) Вот так да. Столкнулся с такой вещью, как ограничение кол-ва секций логики для объекта. Долго парил, почему у меня вылетает при создании игры с логом: * Loading spawn registry... FATAL ERROR [error]Expression : error handler is invoked! [error]Function : invalid_parameter_handler [error]File : E:\stalker\sources\trunk\xrCore\xrDebugNew.cpp [error]Line : 804 [error]Description : Оказывается, если у объекта больше 20 секций, то будет такой вылет. Изменено 10 Апреля 2016 пользователем HellRatz 3 GTA 3 MAP X-Ray | NFS U:2 MAP X-Ray | RTCW MAP X-Ray | L2D | Раритетные моды на моем облаке — на память о былом. Ссылка на комментарий
Jekyll 92 Опубликовано 10 Апреля 2016 Поделиться Опубликовано 10 Апреля 2016 Zander_driver, 10991 - это как бы "рабочий" минимум. Получается, последняя секция 10990 + начальная секция под номером 0 = 10991, так я понимаю? При нормальной загрузке в логе идет такой отрезок: Создание новой игры...* Creating new game...* Loading spawn registry...* 11007 spawn points are successfully loaded* Saving spawns...* Saving objects...* 20546 objects are successfully saved* Game all.sav is successfully saved to file 'd:\games\s.t.a.l.k.e.r - shadow of chernobyl\userdata\savedgames\all.sav'* New game is successfully created!* phase time: 6932 ms и так далее... Вылет наблюдается уже при "10990 spawn points are successfully loaded", при "10991 spawn points are successfully loaded" игра еще грузится. А вот теперь самое интересное: покопавшись, я выявил, что у моих новых секций строчки "spawn_id" дублируют уже имеющиеся. Я "как полагается" довел их соответственно до 11006. И, как и ожидалось, при удалении одной единственной секции происходит тот самый вылет, но уже: Создание новой игры...* Creating new game...* Loading spawn registry...* 11006 spawn points are successfully loadedstack trace:0023:04BDF915 xrGame.dll Выходит, удаление секций лимитируется самым последним spawn_id? Если да, то как от этого избавиться? New Anomalies 1.1 ☢☢☢ "Смерть-лампа" ☢☢☢ Дисраптор Русификатор для игры Vendetta: Curse of Raven's Cry Ссылка на комментарий
Korpus 49 Опубликовано 11 Апреля 2016 Поделиться Опубликовано 11 Апреля 2016 @Jekyll,насколько я понял из постов на других ресурсах, ты пытаешься вычистить секции аномалий. И при этом в используемом тобой моде, наверняка, есть скрипты "динамических аномалий". Попробуй поискать причину в них. т.е. отключи для начала "ДинАномалии". 1 Ссылка на комментарий
UnLoaded 313 Опубликовано 11 Апреля 2016 Поделиться Опубликовано 11 Апреля 2016 (изменено) @Jekyll Ну ты уже такого насочинял... Если я не ошибаюсь, параметр spawn_id в секциях распакованного all.spawn'а не имеет никакого отношения непосредственно к игре и движку, а проставляется утилитой распаковки\запаковки all.spawn'а. Возьми из шапки темы "Universal ACDC и другие perl-скрипты" раздела "Инструментарий" нормальную версию uACDC, освой и не парься. Я, по необходимости, удалял любое кол-во секций в произвольном порядке и вышеуказанный параметр вообще не трогал в оставшихся секциях - после запаковки и последующей распаковки uACDC сам его обновит. Изменено 11 Апреля 2016 пользователем UnLoaded Добавлено BFG, 11 Апреля 2016 Можно вообще удалить все строки с этим параметром и спокойно упаковать. Ни на что не влияет. 1 Ссылка на комментарий
Jekyll 92 Опубликовано 11 Апреля 2016 Поделиться Опубликовано 11 Апреля 2016 Ок, попробую предложенные варианты. Благодарю всех за участие. Кстати, насчет сочинительства) Если нужно придумать описание монстра, его запчасти или артефакта - я к вашим услугам) New Anomalies 1.1 ☢☢☢ "Смерть-лампа" ☢☢☢ Дисраптор Русификатор для игры Vendetta: Curse of Raven's Cry Ссылка на комментарий
ins33 16 Опубликовано 11 Апреля 2016 Поделиться Опубликовано 11 Апреля 2016 Возвращаясь к смене визуала НПС. После долгих проб и ошибок получилось это: function test_visual_clear() local ltx = system_ini() -- Указали конфигиif ltx thenlocal outfit = db.actor:item_in_slot(6) -- Как выглядит ГГif outfit thenlocal osect = outfit:section()local visual = ltx:r_string(osect, "actor_visual") -- Получили visual_name = actors\svoboda\stalker_sv_nauchniy.ogflocal sim = alife()local obj = sim:story_object(9700) -- Вот и жертва.local pk = m_netpk.net_cse_visual(obj,nil) -- Запишем в пакет его visual_nameif pk:isOk() then -- Если пакет записан верноlocal data = pk:get() -- получаем таблицуif data ~= nil thenif visual ~= nil thendata.visual_name = visual -- присвоим нужный визуал ; cse_visual propertiespk:set(data) -- и наконец то присвоим изменение.local description = pk:dumpDesc() -- возвращает строку, содержащую читабельное описание пакета (его можно, например, вывести в лог)endendendendendendВставлял в код проверки, всё проходит до data.visual_name = visual, а pk:set(data) уже не срабатывает. Как впрочем и смена визуала. В se_stalker.script добавил if self.cb_netpk then self.cb_netpk(self, packet) end -- коллбэк для изменения свойств пакетаcse_alife_human_stalker.STATE_Write (self, packet) Подскажите, где ошибка. Использую m_netpk Ссылка на комментарий
UnLoaded 313 Опубликовано 11 Апреля 2016 Поделиться Опубликовано 11 Апреля 2016 @ins33 Не так давно, я тут находил схему "Компаньоны". Там, среди прочего, есть переодевание НПСа, взятого компаньоном, в более крутую броню. Это то, что тебе нуно. Подсмотри там, как реализовано... Насчет твоей ф-ции - чтоб применился новый визуал непися, необходимо "передернуть" его офф\он лайн. Это есть в m_netpk... Ссылка на комментарий
Charsi 440 Опубликовано 11 Апреля 2016 Поделиться Опубликовано 11 Апреля 2016 @ins33, данные объекта читаются так: local pk = get_netpk(sobj) Lua и LuaJIT плагины для Notepad++ SciTE-RU 3.5.5 плагины для MilkShape3D Ссылка на комментарий
Сусаль 1 Опубликовано 12 Апреля 2016 Поделиться Опубликовано 12 Апреля 2016 Мододелы, как сделать качание оружия в руках гг при прицеливании (как в lost alpha). Только не анимацией как в ЧН и ЗП! Ссылка на комментарий
ins33 16 Опубликовано 16 Апреля 2016 Поделиться Опубликовано 16 Апреля 2016 (изменено) Сейчас написал так: function test_visual()local sobj = alife():object("esc_wolf")if sobj thenlocal pk = get_netpk(sobj,0)if pk:isOk() thenlocal visuals = {[[actors\hero\stalker_killer]]}local status = pk:setCallback( function(data)data.visual_name = visualsend )endendend Волк на долю секунды пропадает, поворачивается на ЮГ(?), визуал не меняет. Подскажите, где ошибка: local visuals = {[[actors\hero\stalker_killer]]} или тут data.visual_name = visuals Или у меня полностью не правильный подход? Изменено 16 Апреля 2016 пользователем ins33 Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти