Fenrir02 199 Опубликовано 6 Декабря 2017 Подскажите, что делать: добавил уникального персонажа в НС 2016 на Кордоне. Задал ему логику стоять на месте. Всё работает, но после его спавна, происходят постоянные вылеты с непонятным для меня логом: FATAL ERROR [error]Expression : fatal error [error]Function : CScriptEngine::lua_error [error]File : E:\stalker\patch_1_0004\xr_3da\xrGame\script_engine.cpp [error]Line : 73 [error]Description : <no expression> [error]Arguments : LUA error: ...ogrammes\s.t.a.l.k.e.r\gamedata\scripts\_util.script:20: attempt to perform arithmetic on local 'a' (a nil value) Что это за ошибка? Важнейшая задача цивилизации - научить человека мыслить. Поделиться этим сообщением Ссылка на сообщение
Fenrir02 199 Опубликовано 6 Декабря 2017 Вот что в этой строчке: local a ; a = 1/a; get_console():execute( "quit" ) Важнейшая задача цивилизации - научить человека мыслить. Поделиться этим сообщением Ссылка на сообщение
Fenrir02 199 Опубликовано 6 Декабря 2017 1 час назад, AndreySol сказал: Открой редактором, у которого есть нумерация строк, файл gamedata\scripts\_util.script и смотри, что в нем на 20-й строке прописано. local a ; a = 1/a; get_console():execute( "quit" ) - не знаю что это означает. Пробовал удалить эту строку - получаю вылет с ссылкой на другой фаил Важнейшая задача цивилизации - научить человека мыслить. Поделиться этим сообщением Ссылка на сообщение
Fenrir02 199 Опубликовано 20 Декабря 2017 При каких обстоятельствах при вылете, по которому движок не может открыть секцию, не указывается эта секция? Вот такой непонятный лог: FATAL ERROR [error]Expression : fatal error [error]Function : CInifile::r_section [error]File : E:\stalker\patch_1_0004\xrCore\Xr_ini.cpp [error]Line : 342 [error]Description : <no expression> [error]Arguments : Can't open section '' P.S.: вылет происходит при подходе к шахте, где нужно спасти Дениса по квесту Клыка в НС 2016. В тех. поддержку писать не буду, т.к. играю со своим оружейным паком. Сам профиль Дениса я вообще не трогал. Важнейшая задача цивилизации - научить человека мыслить. Поделиться этим сообщением Ссылка на сообщение
Fenrir02 199 Опубликовано 3 Января 2018 Доброго времени суток! Подскажите как реализовать "Звук при отрезании частей монстров" как в ОП 2 Важнейшая задача цивилизации - научить человека мыслить. Поделиться этим сообщением Ссылка на сообщение
Fenrir02 199 Опубликовано 12 Января 2018 Здравствуйте! Как через ALL.SPAWN сделать нпс бессмертным? Например Волка. Пробовал ставить ему секцию Сахарова - не помогает. Подскажите Важнейшая задача цивилизации - научить человека мыслить. Поделиться этим сообщением Ссылка на сообщение
Fenrir02 199 Опубликовано 25 Января 2018 Что не так с функцией: function spawn_monstr_1() if db.actor and level_id.l02_garbage then alife():create("m_bloodsucker_e",vector():set(145.85691833496,-2.7371287345886,253.02215576172),302432,368) end end Вылет: [error]Arguments : LUA error: ...\s.t.a.l.k.e.r\gamedata\scripts\spawn_new.script:2: attempt to index global 'level_id' (a nil value) Важнейшая задача цивилизации - научить человека мыслить. Поделиться этим сообщением Ссылка на сообщение
Fenrir02 199 Опубликовано 25 Января 2018 20 минут назад, TIGER_VLAD сказал: @Fenrir02 Вот так попробуй: if level.name() == "l02_garbage" then Да работает) Важнейшая задача цивилизации - научить человека мыслить. Поделиться этим сообщением Ссылка на сообщение
Fenrir02 199 Опубликовано 25 Января 2018 Тогда ещё вопросик. if level.name() == "l04_darkvalley" then get_console():execute("start_my_script_level_name_=_"..level.name()) alife():create("m_boodsucker_e",vector():set(27.416481018066,1.3818007707596,-476.2585144043),207244,950) end - эта функция срабатывает не только при переходе на данную локацию, но ещё и при любой загрузке на ней. А как сделать, чтобы только при переходе она срабатывала? Наверное необходимы скрипты AMK - они есть, так как пробую эту функцию в моде на основе AMK. Кто знает, подскажите. Важнейшая задача цивилизации - научить человека мыслить. Поделиться этим сообщением Ссылка на сообщение
Fenrir02 199 Опубликовано 25 Января 2018 (изменено) Значит вот так: if level.name()=="l04_darkvalley" and not has_alife_info("info") then alife():create("m_boodsucker_e",vector():set(27.416481018066,1.3818007707596,-476.2585144043),207244,950) db.actor:give_info_portion("info") end ??? И функцию эту вешать на net_spawn? Изменено 25 Января 2018 пользователем Fenrir02 Важнейшая задача цивилизации - научить человека мыслить. Поделиться этим сообщением Ссылка на сообщение
Fenrir02 199 Опубликовано 25 Января 2018 (изменено) Да, уже разобрался. Просто побольше хочется узнать. Если что прошу прощение за флуд и "глупые вопросы". Изменено 25 Января 2018 пользователем Fenrir02 Важнейшая задача цивилизации - научить человека мыслить. Поделиться этим сообщением Ссылка на сообщение
Fenrir02 199 Опубликовано 29 Января 2018 Не подскажите как сделать убор оружия при обыске мёртвых неписей/монстров/тайников? Не могу понять каким скриптом вызвать действия при обыске перечисленных предметов. Важнейшая задача цивилизации - научить человека мыслить. Поделиться этим сообщением Ссылка на сообщение
Fenrir02 199 Опубликовано 29 Января 2018 А где приблизительно нужно копать, чтобы найти эти инфопоршни? Может в bind_monster.script? Важнейшая задача цивилизации - научить человека мыслить. Поделиться этим сообщением Ссылка на сообщение
Fenrir02 199 Опубликовано 29 Января 2018 Да с поршнями всё работает. Но вот ещё одна проблема: чёрт меня дернул - повесил на скрипт взятия предмета вот такое условие if time_global() > userObj[1] + userObj[2] then end end Теперь время в игре замедлилось. То есть всё движется медленно: перезарядка оружия, бег, другие объекты. Пробовал переустанавливать все - не помогло. Не подскажите что делать? Прошу прощения за флуд. Проблему решил - перезапуском компа) Важнейшая задача цивилизации - научить человека мыслить. Поделиться этим сообщением Ссылка на сообщение
Fenrir02 199 Опубликовано 19 Февраля 2018 Насчёт порчи артов... С помощью этой функции: function degrad_art(obj) if obj:section() == "af_medusa" then obj:set_condition(0.5) -- alife():release(alife():object(obj:id())) end end баловался с состоянием арта - всё работает. Но вот как это реализовать в игре? Денис говорил, что через net_packet можно не меняя движок это сделать. Скачал DSH, нашёл там полный скрипт порчи: dsh_art_degrad.script. Где он подключается? Важнейшая задача цивилизации - научить человека мыслить. Поделиться этим сообщением Ссылка на сообщение
Fenrir02 199 Опубликовано 25 Марта 2018 Доброго времени! Каким способом можно реализовать удаление предмета из инвентаря с течением времени с момента взятия этого предмета. Пример: экзоскелет работает только с аккумулятором (это я сделал), но через некоторое время аккумулятор разряжается и удаляется из рюкзака. Подайте идею. Важнейшая задача цивилизации - научить человека мыслить. Поделиться этим сообщением Ссылка на сообщение
Fenrir02 199 Опубликовано 25 Марта 2018 3 часа назад, Graff46 сказал: пстор Не совсем понял что это Важнейшая задача цивилизации - научить человека мыслить. Поделиться этим сообщением Ссылка на сообщение
Fenrir02 199 Опубликовано 25 Марта 2018 33 минуты назад, Graff46 сказал: Хранилище данных А возможно ли при этом ещё и запоминать состояние аккумулятора (condition), чтобы прямо из инвентаря видеть сколько осталось зарядки? Важнейшая задача цивилизации - научить человека мыслить. Поделиться этим сообщением Ссылка на сообщение
Fenrir02 199 Опубликовано 28 Марта 2018 И снова здравствуйте! Подскажите, можно ли реализовать запрет на обыск трупов\рюкзаков\ящиков, когда у ГГ заняты руки? В NLC 7 есть такая фишка. P.S.: условие "занятых рук" задать могу - if weapon_hide == false then А дальше... Заранее спасибо. 1 Важнейшая задача цивилизации - научить человека мыслить. Поделиться этим сообщением Ссылка на сообщение
Fenrir02 199 Опубликовано 18 Апреля 2018 Доброго времени! Помогите составить таблицу. if box:is_inv_box_empty() then if box:section()=="box" then level.start_stop_menu(level.main_input_receiver(), true) alife():create("treasure_item", db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(), db.actor:id()) alife():release(alife():object(box:id())) end end Другими словами, нужна таблица секций рюкзаков, составленная в примерно таком виде: local box = { "box", "box_2", "box_3" } Заранее спасибо. Важнейшая задача цивилизации - научить человека мыслить. Поделиться этим сообщением Ссылка на сообщение