CRAZY_STALKER666 36 Опубликовано 23 Июня 2016 (изменено) Спавню НПЦ вот так local obj=alife():create("gar_nano",db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id())local params=netpack_write.read_stalker_params(obj)params.custom="[logic]\ncfg = scripts\\ep\\gar\\gar_nano.ltx"params.sid=30198netpack_write.write_stalker_params(params,obj) Потом пытаюсь удалить(через диалог с другим НПЦ) function del()local sim = alife()local se_obj = sim:story_object(30198)if se_obj thensim:release(se_obj, true)endend Но ничего не происходит... Где я ошибаюсь? P.S Выводил при спавне SID - через новости на ПДА - всё хорошо. При удалении поставил брейкпойнтый вот так local sim = alife()local se_obj = alife():story_object(30198)news_manager.send_tip(db.actor, "stage 1", 0, "default", 10000)if se_obj thennews_manager.send_tip(db.actor, "stage 2", 0, "default", 10000)sim:release(se_obj, true)end Доходит лишь до первого... Изменено 23 Июня 2016 пользователем CRAZY_STALKER666 Не соответствует правилам. Поделиться этим сообщением Ссылка на сообщение
CRAZY_STALKER666 36 Опубликовано 23 Июня 2016 В XE для прописывания SIDа была специальная функция, которая одновременно с назначением и регистрировала SID в реестре XE - что это такое? И как мне тогда быть? М.б как всегда есть готовые решения? В том те TT2 использовался тот же функционал, что и у меня и не было таких проблем... Не соответствует правилам. Поделиться этим сообщением Ссылка на сообщение
CRAZY_STALKER666 36 Опубликовано 23 Июня 2016 @Nazgool, нет времени изобретать велосипед... Может кому интересно будет, как я разобрался с проблемой, мало ли... Решил так - просто для этого НПЦ спавн идет через all.spawn, там прописал story_id и тогда всё удаляется прекрасно прекрасно... Не соответствует правилам. Поделиться этим сообщением Ссылка на сообщение
CRAZY_STALKER666 36 Опубликовано 24 Июня 2016 @Nazgool, не понял, о чем ты... Вроде проблема исчерпана Не соответствует правилам. Поделиться этим сообщением Ссылка на сообщение
CRAZY_STALKER666 36 Опубликовано 24 Июня 2016 @Nazgool, Всё, понял. Более не пригодиться задавать sid через скрипт, разве что для рестрикторов, но там проблем таких нету... Не соответствует правилам. Поделиться этим сообщением Ссылка на сообщение
CRAZY_STALKER666 36 Опубликовано 1 Июля 2016 Такой вопрос - как одной функцией убрать всех НПЦ с уровня? Можно и через for 1, 64567 или как то так... Забыл просто, как делать проверку вида IsStalker(obj) Не соответствует правилам. Поделиться этим сообщением Ссылка на сообщение
CRAZY_STALKER666 36 Опубликовано 2 Июля 2016 @Romann, попробовал так сделать. Вписал IsStalker(obj), всё проверил, поставил метки через send_tip(). После этого --> if obj and get_clsid(obj) уже ничего не происходило... Пробовал разные варианты, нашел еще пример... В общем не заладилось. Вызывал это дело из меню. Другой вопрос - как проверить находиться ли ГГ в диалоге с НПЦ скриптом? Почитал справочники - из полезного только level.present() нашел, но это совсем не то(. Не соответствует правилам. Поделиться этим сообщением Ссылка на сообщение
CRAZY_STALKER666 36 Опубликовано 2 Июля 2016 Что это значит? Критично ли для сохранений? ! Invalid object 'single_player' position. Outside of sector structure. Не соответствует правилам. Поделиться этим сообщением Ссылка на сообщение
CRAZY_STALKER666 36 Опубликовано 4 Июля 2016 Почему при спавне НПЦ скриптом в его имени к основному добавляются какие-то рандомные цифры? Если через all.spawn - такого не наблюдаеться... Не соответствует правилам. Поделиться этим сообщением Ссылка на сообщение
CRAZY_STALKER666 36 Опубликовано 4 Июля 2016 @Dennis_Chikin, просто это доставляло некоторые неудобства... С id тоже разобрался + оценил новые возможности использования расширенных библиотек Lua. Но вопрос из поста #7569 покоя не дает до сих пор... Не соответствует правилам. Поделиться этим сообщением Ссылка на сообщение
CRAZY_STALKER666 36 Опубликовано 5 Июля 2016 @Malandrinus, спасибо! С этой функцией я разобрался. Но я, видимо, перепутал номер поста. Хотелось побольше узнать вот об этом. ! Invalid object 'single_player' position. Outside of sector structure. Как я понял, игра ссылается на ГГ, и какую-то структуру сектора... Ну в общем в этой области для меня - туман. Меня этот вопрос потому так волнует, что сейчас пытаюсь устранить один очень неприятный вылет, в логах даже при модифицированной printf() ничего не видно. И обращаю внимание на любые мелочи... Не соответствует правилам. Поделиться этим сообщением Ссылка на сообщение
CRAZY_STALKER666 36 Опубликовано 6 Июля 2016 @Nazgool, да, спасибо поставил. И да, разобрался, что это уникальный id. Выше постом расписали... За динамическое хранилище отдельное спасибо, всё прекрасно работает! Не соответствует правилам. Поделиться этим сообщением Ссылка на сообщение
CRAZY_STALKER666 36 Опубликовано 6 Июля 2016 @Kober(BRUC), всё очень просто! if db.actor:dont_has_info("bar_anom_spawn") then -- проверка на то, что поршня НЕТ --- end if db.actor:has_info("pass_true") then -- проверка на то, что ЕСТЬ. Полный код: if db.actor:has_info("pass_true") thenфункция_2()elseфункция_3()endfunction функция_3()db.actor:give_info_portion("gar_art_spawn") -- выдача поршняprint("это пример")endfunction функция_2()print("еще пример действия")end 1 Не соответствует правилам. Поделиться этим сообщением Ссылка на сообщение
CRAZY_STALKER666 36 Опубликовано 6 Июля 2016 @Kober(BRUC), local x = 1 if x == 1 then end Если я тебя правильно понял, то вот... Не соответствует правилам. Поделиться этим сообщением Ссылка на сообщение
CRAZY_STALKER666 36 Опубликовано 15 Июля 2016 Ребят, такой вопрос. Нужно подменить звуки ходьбы ГГ для определенной локации. Как бы это сделать? Укажите хотя-бы, в какую сторону смотреть) Не соответствует правилам. Поделиться этим сообщением Ссылка на сообщение
CRAZY_STALKER666 36 Опубликовано 15 Июля 2016 @HellRatz, к сожалению, возможности делать что-нибудь в СДК нет. Просто нужно сделать интересную вещь - зиму на одной из локаций, когда на остальных осень... Если с террейном, снегом, и текстурами НПЦ проблем нет, то вот со всем остальным(деревья,звуки,дома машины) - беда... Ну идеальная зима не нужна, можно ограничиться звуками пока. Знать бы, как контролируется система звуков. Если для каждого материала читается звук по уникальному пути - беда. Ну ладно, посмотрим что ещё народ скажет... Не соответствует правилам. Поделиться этим сообщением Ссылка на сообщение
CRAZY_STALKER666 36 Опубликовано 16 Июля 2016 Как получить через скрипт размер файла? Читал руководства по Lua, что-то отдельной функции не нашел... Не соответствует правилам. Поделиться этим сообщением Ссылка на сообщение
CRAZY_STALKER666 36 Опубликовано 16 Июля 2016 (изменено) @mortan, как я понял, в игре к каждому материалу звук идет - и прописывется он не в скриптах. Так что пока - думаем дальше... Изменено 16 Июля 2016 пользователем CRAZY_STALKER666 Не соответствует правилам. Поделиться этим сообщением Ссылка на сообщение
CRAZY_STALKER666 36 Опубликовано 18 Июля 2016 (изменено) Такая проблема - нужна заселить специальными дин.аномалиями специальную локацию для мода. Базируюсь на OGSM, начал ковырять алгоритм спавна, возник вопрос - как получают координаты x,y,z для спавна? В скриптах о них не слова! Рандомно генерировать числа не прокатит, будет каша со спавном, да и бред это малость... Но тогда, как? Открыл скрипт из simbion мода, вгляделся... Мы получаем все аномалии на уровне, и заменяем их на... Свои!?! Нет, серьезно, я заметил открытие таблицы db.anomalies и передачу координат всех аномалий в ф-ю спавна. Но блин, тут рандомность тогда только в секциях аномалий... Возможно выше я и бред сказанул, но понял код - как смог. Обьясните недалекому, как же идет рандомная генерация именно координат пространства, с game v. и level.v я разобрался... P.S Посмотрел скрипты от dsh - там идет получение позиций НПЦ... Мда... Жду дядек, которые развеят туман... Изменено 18 Июля 2016 пользователем CRAZY_STALKER666 Не соответствует правилам. Поделиться этим сообщением Ссылка на сообщение
CRAZY_STALKER666 36 Опубликовано 18 Июля 2016 @dsh, ого,и не знал что из level v можно получить координаты! Метода этого, к сожалению не нашел, у вас очень много функций на файлах из репозитория... Для себя решил делать так(не лучший вариант, но как умею) - получаю координаты всех аномалий. К их х,у,зэд прибавляю какие нибудь числа, и спавню то что нужно. А заранее можно, расставить аномалии-точи вокруг которых будет спавн мои спец.аномалий. Как по мне - вроде не костыль получился Не соответствует правилам. Поделиться этим сообщением Ссылка на сообщение