AndreySol 215 Опубликовано 22 Июля 2014 (изменено) .Там при взятии записки из тайника спавнится другой тайник и т.д Само собой, только - function actor_binder:on_item_take (obj). Ф-ция срабатывает при появлении(взятии в) инвентарь ГГ предмета. Соответственно делаем проверку что это та самая записка, к примеру, и выполняем требуемое действие. Насчет ассортимента, мне и не надо чтоб старое удалядось, я вроде по русски объяснил, что мне нужно пополнение, а не замена Не все что Вам нужно(хочется) есть в движке... Придется пользоваться тем, что есть. Да и что не устраивает ? Сделайте несколько секций торговли, так чтобы каждая следующая дополняла(пополняла) предыдущую - и переключайтесь по инфо-порциям между ними... Изменено 22 Июля 2014 пользователем AndreySol Поделиться этим сообщением Ссылка на сообщение
AndreySol 215 Опубликовано 22 Июля 2014 если вероятность появления предмета поставить на 1, то по идеи должен же убраться баг с разным ассортиментом при перезагрузке? Все зависит от мировоззрения модостроителя - а я это не считаю багом... некоторые предметы торговцы резервируют "под себя", А вот это интересно ! Можно подробнее ? Это о том, что торговец может взять в слот более лучшее оружие, из того что у него появилось в инвентаре ? Поделиться этим сообщением Ссылка на сообщение
AndreySol 215 Опубликовано 25 Июля 2014 Подскажите плз если существует скриптовая функция для использования (выстрел) активного оружия гг. Другими словами, скриптовая симуляция нажатия левой кнопки мышки. А зачем ? Какова цель такой симуляции ? Если симитировать выстрел ГГ в кого-то - то есть скриптовый хит. Поделиться этим сообщением Ссылка на сообщение
AndreySol 215 Опубликовано 25 Июля 2014 Не понял - чуток подробнее... Поделиться этим сообщением Ссылка на сообщение
AndreySol 215 Опубликовано 25 Июля 2014 По логике вещей, должна быть возможность заставить гг выстрелить через скрипт Что для тебя значит "заставить гг выстрелить" ? Выше ты пишешь - "проиграть худ анимацию". Это разные вещи, не связанные какими-либо скриптовыми телодвижениями.... (по моим сведениям). Опять-же повторюсь - какова цель такой симуляции ? Не боись, поясни смысл, никто не украдет у тебя твою супер-задумку в будущем супер-моде... (без сарказма написано...) Поделиться этим сообщением Ссылка на сообщение
AndreySol 215 Опубликовано 28 Июля 2014 Кто знает, поясните что за скрипт такой - level_tasks.script ? Какова его задача в игре ? Поделиться этим сообщением Ссылка на сообщение
AndreySol 215 Опубликовано 28 Июля 2014 Насчет process_info_portion вроде все понятно, а вот proceed в каких случаях вызывается ? И если я правильно понял - обе эти ф-ции вызываются движком ? Поделиться этим сообщением Ссылка на сообщение
AndreySol 215 Опубликовано 7 Августа 2014 но к сожалению на форуме я подобного не нашел. Как работать с прогресс баром? Справочник по функциям и классам -> Оконные классы. Сложно не найти.... Класс недоэкспортирован в ТЧ, следовательно работать - никак. В ЗП - можно. Поделиться этим сообщением Ссылка на сообщение
AndreySol 215 Опубликовано 9 Августа 2014 (изменено) Кривая инфа из луа_хелпа - не показатель. Все методы есть и в ТЧ Действительно работает ! Правда не все - SetRange таки дает вылет "...attempt to call method..." Информацию брал не из луа_хелп, а из Справочника по ф-циям и классам... Интересно - остальное, описанное в нем как недоэкспортированное - то-же хотя-бы частично рабочее в ТЧ ? Изменено 9 Августа 2014 пользователем AndreySol Поделиться этим сообщением Ссылка на сообщение
AndreySol 215 Опубликовано 17 Августа 2014 (изменено) @Zander_driver, 1. отловить факт того, что предмет попытались использовать (use_collback, тут все просто) Может я не прав, но use_collback вроде извещает о том что уже было сделано, а не о попытке это сделать ? В результате вашим способом получится на мой взгляд коряво - к примеру, если съедание консервы прибавляет здоровья, то когда съели - здоровье прибавилось, затем оказалось что консервного ножа нет, вернули консерву обратно в инвентарь, а затем надо мудрить с отниманием той прибавки к здоровью, что дало съедание этой консервы. как запретить использование предмета без другого А если близко к тексту, именно "запретить" - то можно попытаться покопать в сторону фейковых объектов. Примерно так: все консервы, в момент открытия инвентаря, подменять на фейковые, созданные на родительской секции како-го либо предмета, который можно только выбросить. Открывашку же сделать как-раз "съедобной" (заменив текст подсказки на "Открыть..."), и при ее "съедании" - создавать скриптовое окно, в которое выводить список фейковых консерв, и после выбора нужной, удалять ее из инвентаря, спаунить вместо нее уже нормальную, съедобную консерву и соответственно открывашку обратно. В результате появится уже типа открытая консерва, которую можно съесть стандартно и получить нужный эффект, и готовый к дальнейшему использованию консервный нож. - вообще насчет консервы пример глуповат - имея нож как одно из оружий, не открыть им консерву... - для вскрытых банок можно текстурки использовать соответствующие, для пущей достоверности... - и сделать, чтоб содержимое вскрытой банки протухало по-быстрому, опять-же для пущей достоверности... И вообще - все это извращение... Изменено 17 Августа 2014 пользователем AndreySol 1 Поделиться этим сообщением Ссылка на сообщение
AndreySol 215 Опубликовано 6 Сентября 2014 оказывается ГГ становится наймом, а не НПС ошибка скорее всего в передаче объектов в ф-цию npc_set_killer (actor, npc) - актер и НПС попутаны. Попробуй, сделать так: if npc:section() ~= "actor" then npc:set_character_community ("killer", 0, 0) else actor:set_character_community ("killer", 0, 0) end такой код будет универсальный - в любом раскладе именно НПС сменит группировку. Поделиться этим сообщением Ссылка на сообщение
AndreySol 215 Опубликовано 17 Сентября 2014 Советую почитать настройку логики вот здесь. А где Вы, в указанных статьях, видели какие-то подробности про эти самые team, squad и group ? А общие, вскольз упомянутые, определения не сильно то и помогают... Поделиться этим сообщением Ссылка на сообщение
AndreySol 215 Опубликовано 28 Сентября 2014 (изменено) Пытаюсь заспавненому скриптом НПСу установить story_id. Перепробовал несколько способов - безрезультатно.Пробовал так: local ser_obj = alife():create(.....) if ser_obj then local pk = m_netpk.get(ser_obj) if pk and pk:isOk() then local data = pk:get() if data then data.story_id = 125 pk:set(data) end end end и так:в se_stalker.script в STATE_Write(packet) добавилif self.cb_netpk then self.cb_netpk(self, packet) endзатем local ser_obj = alife():create(.....) if ser_obj then local pk = m_netpk.get(ser_obj, 0) if pk and pk:isOk() then pk:setCallback( function(data) data.story_id = 125 end ) end end и вот так obj_spawn = level.client_spawn_manager() function obj_spawn_callback(first, id, obj) ----- присваиваем SID объекту после выхода в он-лайн ----- local pk = m_netpk.get(obj, 0) if pk and pk:isOk() then pk:setCallback( function(data) data.story_id = 125 end ) end end local ser_obj = alife():create(.....) if ser_obj then obj_spawn:add(ser_obj.id, -1, obj_spawn_callback, 0) end Ничего не получается, НПС спавнится, берется на свободную работу в гулаг, а стори_ид ему не прописывается.Подскажите, что не так ? Не так прежде всего с самой идеей прописывать sid после перехода в онлайн. Для нафига, собственно ? Во-вторых, 4 страницы назад пост был - чем не нравится ? dc Изменено 29 Сентября 2014 пользователем Dennis_Chikin Поделиться этим сообщением Ссылка на сообщение
AndreySol 215 Опубликовано 29 Сентября 2014 (изменено) Не так прежде всего с самой идеей прописывать sid после перехода в онлайн. Для нафига, собственно ? Во-вторых, 4 страницы назад пост был - чем не нравится ? dc Опять повторю - способ с он-лайном, третий из проверенных и перечисленных мной. Не нахожу, блин 4 страницы назад то что я спросил - ткните носом.... http://www.amk-team.ru/forum/index.php?showtopic=6185&p=867602 Берем функции чтения/записи непися, читаем, изменяем нужное поле, записываем все обратно. dc Изменено 29 Сентября 2014 пользователем Dennis_Chikin Поделиться этим сообщением Ссылка на сообщение
AndreySol 215 Опубликовано 30 Сентября 2014 (изменено) Берем функции чтения/записи непися, читаем, изменяем нужное поле, записываем все обратно. dc А что не так в m_netpk.script ? Он что, не так как амк'шный данные нет-пакетов читает\пишет ? Изменено 30 Сентября 2014 пользователем AndreySol 1 Поделиться этим сообщением Ссылка на сообщение
AndreySol 215 Опубликовано 24 Ноября 2014 (изменено) Спасибо, работает и с одной if obj:section() == "bread" then db.actor:give_info_portion( "boxkvest2_dal" ) end Похоже, что любое взятие хлебушка из любого инвентарного ящика будет проходить проверку, и соответственно выполнять назначенное действие... Условия проверки надо доработать, в соответствии с одноразовостью(или нет ?) действия. Изменено 24 Ноября 2014 пользователем AndreySol Поделиться этим сообщением Ссылка на сообщение
AndreySol 215 Опубликовано 10 Сентября 2017 1 час назад, _Sk8_AsTeR_ сказал: self.npc:eat(self.npc:object("vodka")) --НПС должен выпить водку (не работает) self. убери и там и там. 1 час назад, _Sk8_AsTeR_ сказал: dialogs.relocate_item_section(second_speaker, "vodka", "out") second_speaker откуда у тебя взялось? В твоем коде не вижу... И вообще - зачем тебе непосредственное "выпивание" водки неписем ? Толку от этого ноль: эффекта на непися не будет и анимацию он не отыграет. Поделиться этим сообщением Ссылка на сообщение
AndreySol 215 Опубликовано 10 Сентября 2017 31 минуту назад, _Sk8_AsTeR_ сказал: А без self просто выкидывает с ошибкой на этот файл.script Чевой-то у тебя там по накручено... Попробуй так: ... db.actor:eat(db.actor:object("vodka")) --сами выпиваем водочку (РАБОТАЕТ, мы пьянеем и экран покачивается) second_speaker:eat(second_speaker:object("vodka")) --НПС должен выпить водку (не работает) ... Поделиться этим сообщением Ссылка на сообщение
AndreySol 215 Опубликовано 11 Сентября 2017 2 часа назад, _Sk8_AsTeR_ сказал: просто рандомные имя и фамилия из файлика. То есть отправляют сообщения несуществующие нпс. Отсюда вопрос: А можно сделать так, чтобы отправители сообщения были реальными рандомными нпс? Сделать вместо файла, как я понял, из которого идет выборка имен и погонял, табличку, которую заполнять именами и прозвищами реальных неписей. Затем выборку делать уже из этой таблички. @BossBoroda Цитата как увеличить длительность исчезание трупов Это понял, а вот это Цитата и одновременное их нахождение в игре? не понял. Если память не изменяет, в "чистой" ТЧ вообще нет уборки(исчезания) трупов. По этому уточни - что у тебя там за часть трилогии и мод. Поделиться этим сообщением Ссылка на сообщение
AndreySol 215 Опубликовано 11 Сентября 2017 Только что, _Sk8_AsTeR_ сказал: выборка имен и прозвищ и так идет из АМКшной таблицы. Но они рандомно сочетаются друг с другом. Это как понимать ? Только что, _Sk8_AsTeR_ сказал: А я имею в виду чтобы реально существующие НПС были авторами сообщений. Ну так проверь, как вообще заполняется эта "АМКшная" таблица. Что мешает перебрать все объекты в игре, которые являются сталкерами, и заполнить таблицу реально существующими(заспавненными) неписями ? Поделиться этим сообщением Ссылка на сообщение