Jekyll 92 Опубликовано 25 Октября 2017 Поделиться Опубликовано 25 Октября 2017 8 часов назад, Graff46 сказал: Живые можно удалять так Прошу прощения, может я некорректно задал вопрос, что-то перепутав. Вот здесь автор статьи утверждает обратное (удалить-то живого можно, но к чему это приведет, особенно в массовых случаях?). Впрочем, возможно я слишком заморачиваюсь. 3 часа назад, AndreySol сказал: соответственно метод kill не будет полноценно обработан для объекта, и он будет сразу удален Такой код исправит положение? Скрытый текст if mob then local sim = alife() local sobj = sim:object(mob:id()) if sobj then sim:release(sobj.id, true) end end New Anomalies 1.1 ☢☢☢ "Смерть-лампа" ☢☢☢ Дисраптор Русификатор для игры Vendetta: Curse of Raven's Cry Ссылка на комментарий
Graff46 598 Опубликовано 25 Октября 2017 Поделиться Опубликовано 25 Октября 2017 Только что, Jekyll сказал: автор статьи утверждает обратное Я тоже наслышан об этом, но с проблемами при удалении НПС не сталкивался, уменя в хр_эффектс такое есть: function del (actor, npc) alife():release(alife():object(npc:id()), true) end Пока еще не вылетало. 1 Ссылка на комментарий
dsh 3 824 Опубликовано 25 Октября 2017 Поделиться Опубликовано 25 Октября 2017 @Jekyll не исправит. Нужно, как минимум, разрегистрировать его в смарт террейне, если он там зарегистрирован. Ещё хорошо бы отрегистрировать его в респаунере, который его создал, если если мод был респаунером создан. Ну и в остальных местах отрегистрировать, если он ещё где-то зарегистрирован. 1 dsh mod: https://github.com/dsh2dsh/op2ogse Ссылка на комментарий
AndreySol 215 Опубликовано 25 Октября 2017 Поделиться Опубликовано 25 Октября 2017 (изменено) 7 часов назад, Jekyll сказал: Такой код исправит положение? Мало исходных данных... Надо знать, что за монстров Вы будете удалять - они работают в каком-то гулаге, они под персональной логикой, они просто под движковым управлением ? Насчет отрегистрации в гулагах и респавнерах, на мой взгляд, лучше сделать так, как в первом Вашем посте предлагалось - убить моба, а затем по факту его смерти удалить. Тогда он автоматом будет отрегистрирован везде, где был завязан. Код может выглядеть как-то так: mob:kill(db.actor) level.add_call(mob, function() return mob:alive() ~= false end, function() alife():release(alife():object(mob:id()),true) end)) тут мы используем кэллбэк-ф-цию, которая даст время движку на умерщвление моба, после чего удалит его. Изменено 25 Октября 2017 пользователем AndreySol 1 Ссылка на комментарий
Jekyll 92 Опубликовано 25 Октября 2017 Поделиться Опубликовано 25 Октября 2017 9 часов назад, Graff46 сказал: Пока еще не вылетало. Да и у меня, в общем-то, не вылетало, разве что несколько раз при использовании именно этого своего скрипта ловил такое: Скрытый текст Expression : assertion failed Function : CALifeSimulator__release File : deep deep in space Line : 666 Description : Object to release is a zero pointer Стремно как-то. 1 час назад, AndreySol сказал: Надо знать, что за монстров Вы будете удалять По задумке - всех подряд, кто под "горячую руку" попадет: и НПС, и монстры... Короче, оружие "на каждый день". Не знаю, как к такому подходу отнесется движок - подозреваю, что у него может случится серьезное "несварение". Кстати, появилось еще несколько вопросов, возможно нубских, но уж как есть: 1) в alife():release(alife():object(mob:id()),true) для чего это самое "true"? 2) в логе могут проскакивать записи вроде "! Invalid ogg-comment version, file:" или "- Critical: SMapLocation binded to non-existent object id". Первая отмечается в консоли красным цветом, вторая - зеленым. О чем в таких случаях говорит цвет записи? 3) насколько серьезны "- Critical: SMapLocation binded to non-existent object id" и "- Critical: CMapLocation::UpdateSpot binded to non-existent object id"? Возникает каждый раз, когда удаляется НПС (вторая изредка). Понимаю, что дело в метках, но как от этого избавиться - не знаю. New Anomalies 1.1 ☢☢☢ "Смерть-лампа" ☢☢☢ Дисраптор Русификатор для игры Vendetta: Curse of Raven's Cry Ссылка на комментарий
Graff46 598 Опубликовано 25 Октября 2017 Поделиться Опубликовано 25 Октября 2017 1 час назад, Jekyll сказал: записи вроде "! Invalid ogg-comment version, file:" Это в каком то звуковом файле не прописаны тэги. 1 час назад, Jekyll сказал: Description : Object to release is a zero pointer Пока не встречал... Ссылка на комментарий
Demosfen 142 Опубликовано 30 Октября 2017 Поделиться Опубликовано 30 Октября 2017 Подскажите как сделать приемники отключаемыми? как это у dsn в моде? Ссылка на комментарий
PBAX 4 Опубликовано 30 Октября 2017 Поделиться Опубликовано 30 Октября 2017 Народ, всем хай, как мне узнать ID своего (новосозданного через скрипт) НПСиса и дать ему денег? У меня вылетает при выдачи денег. PS ЗП 1.6.02 Ссылка на комментарий
Kirgudu 1 217 Опубликовано 30 Октября 2017 Поделиться Опубликовано 30 Октября 2017 @PBAX local sobj = alife():create(sect, pos, lvid, gvid) local id = sobj.id Инструмент Ссылка на комментарий
PBAX 4 Опубликовано 30 Октября 2017 Поделиться Опубликовано 30 Октября 2017 @Kirgudu А как мне переменную вызвать? Просто в коде указать ее имя? Ссылка на комментарий
aka_sektor 1 476 Опубликовано 30 Октября 2017 Поделиться Опубликовано 30 Октября 2017 (изменено) В 25.10.2017 в 20:37, Jekyll сказал: Invalid ogg-comment version В 25.10.2017 в 20:37, Jekyll сказал: отмечается в консоли красным цветом В 25.10.2017 в 20:37, Jekyll сказал: О чем в таких случаях говорит Комментарии в *.ogg файле отсутствуют или они неправильные. Как исправлять, смотри тут: https://modfaq.ru/Импорт_звука Изменено 27 Марта 2020 пользователем aka_sektor 1 Discord-сервер modfaq.ru: https://discord.gg/9j42BXwB Ссылка на комментарий
shahvkit 3 540 Опубликовано 31 Октября 2017 Поделиться Опубликовано 31 Октября 2017 (изменено) Добрый день. Скрипты совершенно не моя стихия, поэтому прошу вашей помощи. В моде NLC7 столкнулся с проблемой спавна нужного НПС под текстурами. Решение данного вопроса предлагается такое: Прописать диалоги этого НПС кому нибудь другому и сделать следующее Скрытый текст Если случаются такие косяки с уходящими под текстуры НПС, то я применяю на этот случай простое решение: В логе найти его название как он заспавнен, например в данном случае это rad_tramplin_glavn. Ну и просто удалить его из игры, чтобы не мучался сам и не мучал игрока. Прописать в любом скрипте функцию с произвольным названием. Например test в mike.script Имя НПС вставить того, который глючит. В нашем случае это rad_tramplin_glavn function test() misc.release_by_name("rad_tramplin_glavn") end Загрузить игру на нужной локации и ввести команду исполнения скрипта В нашем случае это flush !mike.test НПС исчезнет навсегда, без убийства и падения репы ГГ. Вот скрипт в который нужно это вставить - http://rgho.st/6ZlCvRDgL Пожалуйста вставьте правильно предложенное выше. И ещё одно: Как ввести команду исполнения скрипта - где то напечатать её ? Просьба снимается. Сделал как написано, и в консоли прописал flush !mike.test Вроде сработало. Изменено 31 Октября 2017 пользователем shahvkit Ссылка на комментарий
Kirgudu 1 217 Опубликовано 31 Октября 2017 Поделиться Опубликовано 31 Октября 2017 20 часов назад, PBAX сказал: А как мне переменную вызвать? Просто в коде указать ее имя? Да. Не забывая об области её видимости: переменную, объявленную локально в одной функции, нельзя использовать в другой без передачи. Инструмент Ссылка на комментарий
PBAX 4 Опубликовано 31 Октября 2017 Поделиться Опубликовано 31 Октября 2017 @Kirgudu С этим способом у меня вылетает. attempt to index local 'npc' (a number value) Ладно не хочу через скрипт спавнить вопрос изменяется, но суть остается. Как мне заспавнить НПС через конфики т.е. заспавню его через сквад (не знаю можно-ли одного спавнить), как мне узнать его ИД и дать ему денег? Ссылка на комментарий
TIGER_VLAD 361 Опубликовано 31 Октября 2017 Поделиться Опубликовано 31 Октября 2017 Всем привет. Есть какие-то способы спрятать оружие актору не считая bind_stalker.hide_weapon() ? bind_stalker.hide_weapon() - прячет оружие слишком резко, отключается худ модели и анимация holster не наблюдается, слышен только звук. А вот restore_weapon() работает нормально. Ссылка на комментарий
Shkiper2012 35 Опубликовано 1 Ноября 2017 Поделиться Опубликовано 1 Ноября 2017 Снимаю флаг flUsedAI_Locations (в данном примере для предметов из ящиков, чтоб не проваливались) local sobj_item = alife():object( obj_itm.id ) local pk = m_netpk.get( sobj_item ) local data = pk:get() data.object_flags = bit_and( data.object_flags, bit_not( 128 ) ) -- снять флаг flUsedAI_Locations pk:set( data ) Как выставить флаг обратно, так же скриптом? (В побитовой математике не шарю.) @TIGER_VLAD Можно попробовать, через имитацию нажатия клавиши (если есть такой функционал). Адаптация мода "AtmosFear" для мода "Боевая Подготовка" v.2.0.2. Адаптация мода "Магазинное питание" для мода "Боевая Подготовка" v.2.0.2. Ссылка на комментарий
abramcumner 1 159 Опубликовано 1 Ноября 2017 Поделиться Опубликовано 1 Ноября 2017 @Shkiper2012 data.object_flags = bit_or(data.object_flags, 128) -- установить флаг flUsedAI_Locations 1 Ссылка на комментарий
TIGER_VLAD 361 Опубликовано 1 Ноября 2017 Поделиться Опубликовано 1 Ноября 2017 22 минуты назад, Shkiper2012 сказал: Можно попробовать, через имитацию нажатия клавиши Только этот вариант и был на уме. Думал может есть попроще вариант. Ссылка на комментарий
sv6o6o9a 1 Опубликовано 7 Ноября 2017 Поделиться Опубликовано 7 Ноября 2017 Помогите 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\sim_board.script:226: attempt to index local 'spawn_smart' (a nil value) Что бы быть конкретнее, я удалил всех нпс в припяти. После чего в файлах удалил что бы они не спавнились 1 Ссылка на комментарий
Pir@t@s 36 Опубликовано 7 Ноября 2017 Поделиться Опубликовано 7 Ноября 2017 Всем привет. Подскажите пожалуйста как при помощи скрипта отключить кнопки использования ПДА. Суть вопроса: Скрытый текст Создал отдельный предмет "пда для актера" и по моему сюжету, если гг теряет свой пда кнопки вызова (карта, контакты и задания - не доступны). Только как это сделать не знаю. Потому что знание скриптов 0 Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти