Trapper023 44 Опубликовано 18 Октября 2010 Поделиться Опубликовано 18 Октября 2010 Sapsan, походу это единственный вариант - удалить/создать чрез пакет, разве что ловить момент и не давать неписю умереть пока не выбросит нужный объект, а потом пусть загибается Ссылка на комментарий
Министр 3 Опубликовано 18 Октября 2010 Поделиться Опубликовано 18 Октября 2010 (изменено) sapsan, если не ошибаюсь malandrinus скидывал в ковырялке правленную дллку с возможностью применить drop_item для тайников. Мысли вслух: можно ли изменить parent_id у объекта? Через нет-пакеты вроде бы есть возможность, но есть ли другой способ? Изменено 18 Октября 2010 пользователем Министр Ссылка на комментарий
Malandrinus 615 Опубликовано 20 Октября 2010 Поделиться Опубликовано 20 Октября 2010 Министр, Мысли вслух: можно ли изменить parent_id у объекта? Через нет-пакеты вроде бы есть возможность, но есть ли другой способ? Так transfer_item и меняет. Но только он его меняет каким-то извращенным способом через посылку сообщения серверу. И работает это только в онлайне и для инвентарных объектов. Что только для инвентарных объектов - это правильно, а вот что только в онлайне - по всей видимости тяжелое наследие сетевого движка. Ну а в оффлайне - либо нетпакетами, либо ковырять движок. Плагины Total Commander для работы с игровыми архивами: Архиваторный плагин (для работы с одиночным архивом): link1 link2 Системный плагин (для распаковки установленной игры): link1 link2 Ссылка на комментарий
iDreD 5 Опубликовано 22 Октября 2010 Поделиться Опубликовано 22 Октября 2010 Столкнулся с проблемой. Имею 5 предметов с префиксом в имени test_имя_итема. В игре мне их нужно удалить, юзал такую функцию, ибо у этих предметов нет стори_айди: function delete_npc() --делет нпс'а\объекта по строке for a=10,65635,1 do local obj=alife():object(a) if obj and string.find(obj:name(),"test_af") then alife():release(obj,true) end end end Но дублировать её для моих пяти предметов я не хочу. Вопрос: как удалить их по префиксу test? P.S. Если можно ответьте с примером пожалуйста. Работа в Sculptris 3D [туториал] Страничка на Проза.ру Ссылка на комментарий
Stalk15 27 Опубликовано 22 Октября 2010 Поделиться Опубликовано 22 Октября 2010 Как можно определить НПС по его секции из spawn_sections?Или так нельзя определять? Ссылка на комментарий
sapsan 336 Опубликовано 22 Октября 2010 Поделиться Опубликовано 22 Октября 2010 Столкнулся с проблемой. Имею 5 предметов с префиксом в имени test_имя_итема. В игре мне их нужно удалить, юзал такую функцию, ибо у этих предметов нет стори_айди: function delete_npc() --делет нпс'а\объекта по строке for a=10,65635,1 do local obj=alife():object(a) if obj and string.find(obj:name(),"test_af") then alife():release(obj,true) end end end Но дублировать её для моих пяти предметов я не хочу. Вопрос: как удалить их по префиксу test? P.S. Если можно ответьте с примером пожалуйста. Вот так: function delete_npc() --делет нпс'а\объекта по строке local sim = alife() local string_find = string.find local obj for a = 1, 65534 do obj = sim:object(a) if obj and string_find(obj:name(), "^test_") then sim:release(obj, true) end end end Диапазон должен быть от 1 до 65534 (0 это ГГ, а 65535 - земля в случае определение хозяина объекта) По работе со строками поищи информацию о регулярных вырежениях в Lua. Ссылка на комментарий
Министр 3 Опубликовано 22 Октября 2010 Поделиться Опубликовано 22 Октября 2010 (изменено) Stalk15, что значит "определить"? Узнать название секции НПС можно через obj:section(). sapsan, а в чем смысл создания таких переменных, например, как string_find и sim? Со 2-ым случаем можно еще понять, что символов в итоге писать меньше, но какой смысл объявления 1-ой переменой? Вопрос снят, спасибо malandrinusу. Изменено 22 Октября 2010 пользователем Министр Ссылка на комментарий
Malandrinus 615 Опубликовано 22 Октября 2010 Поделиться Опубликовано 22 Октября 2010 Министр, это оптимизация для быстродействия. Избегаем лишнего индексирования и лишнего вызова функции на каждом цикле. Плагины Total Commander для работы с игровыми архивами: Архиваторный плагин (для работы с одиночным архивом): link1 link2 Системный плагин (для распаковки установленной игры): link1 link2 Ссылка на комментарий
SkyLoader 53 Опубликовано 22 Октября 2010 Поделиться Опубликовано 22 Октября 2010 (изменено) Напишите, пожалуйста, рабочий пример смены визуала непися, если он передо мной стоит! Что тут надо изменить, чтобы смена визуала происходила на расстоянии меньше 50 метров (принудительный переход в онлайн), т.к. амк скрипт меняет визуал на расстоянии больше 50 метров: local t = amk.read_stalker_params(obj) t.visual = "actors\\dolg\\stalker_do_balon_8" amk.write_stalker_params(t,obj) Задавал этот вопрос, но не получал корректного ответа, т.к. все направляли на тутор Сингапура, а код написать никто не смог Изменено 22 Октября 2010 пользователем SkyLoader Ссылка на комментарий
Malandrinus 615 Опубликовано 23 Октября 2010 Поделиться Опубликовано 23 Октября 2010 SkyLoader, переходи на движок ЗП. Там визуал можно в любой момент менять простой функцией. А с этой методой у тебя всегда будут проблемы с переводом в оффлайн, затем в онлайн. Кроме того, что это для разных сталкеров по разному работает, так тебе ещё придётся ловить момент ухода в оффлайн (и только после этого менять), что неудобно и как правило тормозит игру. Плагины Total Commander для работы с игровыми архивами: Архиваторный плагин (для работы с одиночным архивом): link1 link2 Системный плагин (для распаковки установленной игры): link1 link2 Ссылка на комментарий
SkyLoader 53 Опубликовано 23 Октября 2010 Поделиться Опубликовано 23 Октября 2010 malandrinus, да, я, конечно, понимаю, что движок ЗП лучше, но все-таки мне бы на ТЧ узнать. xStream сделал, чтобы любой непись в любое время мог поменять визуал. Ссылка на комментарий
Kolmogor 5 Опубликовано 23 Октября 2010 Поделиться Опубликовано 23 Октября 2010 SkyLoader, попробуй разобраться, как сделано у xStream`а. Самому тебе придется написать тоже самое. Ну и malandrinus тебе правильно все проблемы расписал. В теории алгоритм для ТЧ простой: - говоришь НПЦ уйти в онлайн - дожидаешься его ухода - перепаковываешь на новый визуал - возвращаешь обратно. На практике все сложнее. Ссылка на комментарий
SkyLoader 53 Опубликовано 23 Октября 2010 Поделиться Опубликовано 23 Октября 2010 (изменено) Kolmogor, спасибо, но мне это уже говорили, а код написать никто не смог. Я открывал скрипт xStream'a, но он там так все запутал, что не распутать Вопрос: Как включить панику у непися не надолго? Пробовал этими методами - ничего не происходит: set_custom_panic_threshold(float), set_default_panic_threshold() Изменено 23 Октября 2010 пользователем SkyLoader Ссылка на комментарий
Хантер 0 Опубликовано 24 Октября 2010 Поделиться Опубликовано 24 Октября 2010 Братцы, помогите! Тут вот какое дело. В сталкер вики я когда-то нашёл статью, как сделать, чтобы в машину нельзя было сесть без наличия у игрока ключей. Я себе в моде это сделал, он благополучно работал, но потом перестал по неизвестной мне причине. То есть в машину теперь можно садиться и без ключей((((. Теперь я хочу подойти к этой проблеме с другой стороны. Теперь вопрос: можно ли как-нибудь к посадке в автомобиль привязать функцию проверки предмета в инвентаре (ключей)? И если можно, то как? Заранее благодарен. Ссылка на комментарий
Charsi 440 Опубликовано 24 Октября 2010 Поделиться Опубликовано 24 Октября 2010 Хантер, напиши машине такую логику: [logic] active = ph_car [ph_car] usable ={=actor_has_item(niva_keys)} Здесь niva_keys - секция ключей от машины. Без ключей в машину с такой логикой не сядешь. А можно ещё сделать так, чтобы в машину можно было сесть, но без ключей нельзя завести двигатель. Lua и LuaJIT плагины для Notepad++ SciTE-RU 3.5.5 плагины для MilkShape3D Ссылка на комментарий
Gandifil 0 Опубликовано 25 Октября 2010 Поделиться Опубликовано 25 Октября 2010 Люди, кто нибудь может объяснить в кратце что такое смарт тирейны, гулаги, описание НПС, логика и как они между собой связаны??Просто во всех туториалах они объясняются частями, мне не очень нравится. Дурак знает как затеять драку, умный знает как победить в драке, мудрец знает как избежать драки. Ссылка на комментарий
Makaveli 1 Опубликовано 26 Октября 2010 Поделиться Опубликовано 26 Октября 2010 Какую нужно прописать логику НПС чтобы он сидел у костра? (Желательно на ЗП) Сообщение от администратора n6260 А почитать тему? А поиск по разделу? Ссылка на комментарий
Серый Волк 841 Опубликовано 27 Октября 2010 Поделиться Опубликовано 27 Октября 2010 (изменено) Камрады, помогите разобраться... сделал для СГМ 1.7 мод с наличкой, там всё работает, а с оригинальной игрой не хочет. так сделано в СГМ : -------- B14 function zat_b14_bar_transfer_money(first_speaker, second_speaker) dialogs.relocate_item_section_to_actor(first_speaker, second_speaker,"kapusta_1000") end function zat_b14_transfer_artefact(first_speaker, second_speaker) local npc = dialogs.who_is_npc(first_speaker, second_speaker) local actor = dialogs.who_is_actor(first_speaker, second_speaker) dialogs.relocate_item_section_from_actor(first_speaker, second_speaker, "af_quest_b14_twisted") end а вот так в оригинале: function zat_b14_bar_transfer_money(first_speaker, second_speaker) dialogs.relocate_money_to_actor(first_speaker, second_speaker, 1000) end function zat_b14_transfer_artefact(first_speaker, second_speaker) local npc = dialogs.who_is_npc(first_speaker, second_speaker) local actor = dialogs.who_is_actor(first_speaker, second_speaker) dialogs.relocate_item_section_from_actor(first_speaker, second_speaker, "af_quest_b14_twisted") end заменеа всего одна строка: dialogs.relocate_item_section_to_actor(first_speaker, second_speaker,"kapusta_1000") один в один прописываю для оригинала, не воспринимает он. Не хочет Борода давать предмет, деньги электронные суёт. В чём может быть причина? Изменено 27 Октября 2010 пользователем Серый Волк Новое меню и интерфейс для ЗП, Наличные деньги для SGM 1.7, Новый инвентарь для ЗП, Новые меню для Солянки и Солянки+ООП+К+МА Ссылка на комментарий
Министр 3 Опубликовано 27 Октября 2010 Поделиться Опубликовано 27 Октября 2010 (изменено) Серый Волк, ф-ия relocate_money_to_actor дает указанное кол-во (3-ий аргумент) денег игроку. Все работает правильно и никакой ошибки нет. Изменено 27 Октября 2010 пользователем Министр Ссылка на комментарий
sapsan 336 Опубликовано 27 Октября 2010 Поделиться Опубликовано 27 Октября 2010 (изменено) Вопрос по биндерам. Прикрутил биндер к тайникам, прописав им в секцию [inventory_box] script_binding = bind_inventory_box.init function init(obj) local new_binder = inventory_box_binder(obj) obj:bind_object(new_binder) end class "inventory_box_binder" (object_binder) function inventory_box_binder:__init(obj) super(obj) end function inventory_box_binder:hit_callback(obj, amount, local_direction, who, bone_index) get_console():execute("load ~~~ inventory_box_binder:hit_callback clsid:"--[[..obj:clsid()..", name: "..obj:name()..", section: "..obj:section()]]) end Стреляю, бросаю гранаты - в консоль ничего не попадает. В чем косяк ? Изменено 27 Октября 2010 пользователем sapsan Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти