Gektor 0 Опубликовано 20 Мая 2011 Поделиться Опубликовано 20 Мая 2011 Добрый день. У меня такой вопрос: Как в зове припяти заставить нпц исчезнуть на глазах? В тенях чернобыля так срабатывал [spawner]. Но в зове он почемуто не сработал. Заранее спасибо. Команда ReWrite Team. От сталкера отошли. Пересели за другую платформу. Ссылка на комментарий
Gektor 0 Опубликовано 20 Мая 2011 Поделиться Опубликовано 20 Мая 2011 Приветствую всех. Такой вопрос: Можно ли заставить скриптово динамический обьект, допустим ведро, менять свои координаты вместе с ГГ и при этом иметь синхронизированый угол поворота? Если можно, то как? Заранее спасибо. Команда ReWrite Team. От сталкера отошли. Пересели за другую платформу. Ссылка на комментарий
gruber 2 481 Опубликовано 20 Мая 2011 Поделиться Опубликовано 20 Мая 2011 strelok200, просто верни их в изначальную логику по какому то сигналу(скажем инфо на смерть всех мобов,так к примеру сделана атака на блокпост долга,но там это сделано через состояние гулага,а у тебя просто они как я понял всегда должны находится в этом состоянии).Да они и так при любом входе в онлайн(заход на локу или загрузка сохранки) будут возвращатся в изначальную логику Ссылка на комментарий
korshyn-3 0 Опубликовано 21 Мая 2011 Поделиться Опубликовано 21 Мая 2011 У меня вот какая проблемма , сделал квест по наподению сталкеров на бандитов , и не могу сделать так чтобы когда нпс бежит то он игнор гг ну то есть не входил с ним в диолог. Помогите пожалуйста ! Ссылка на комментарий
strelok200 0 Опубликовано 21 Мая 2011 Поделиться Опубликовано 21 Мая 2011 А как сделать чтобы после определенного диалога НПС шел в указанную точку Создаю глобальный мод с новыми локациямЭ Ссылка на комментарий
=VENOM= 50 Опубликовано 21 Мая 2011 Поделиться Опубликовано 21 Мая 2011 korshyn-3, укажи в логике, в конкретной секции NPC (walker или кто он у тебя) параметр meet = no_meet. strelok200, в диалоге получай инфопоршн, который будет условием переключения логики NPC на другую секцию, например: on_info = {+infoportion} walker@go_to_new_location. Ссылка на комментарий
Malandrinus 615 Опубликовано 21 Мая 2011 Поделиться Опубликовано 21 Мая 2011 Desertir, Такой вопрос, а как работает функция start_stop_menu класса CDialogHolder, т.е. прошу объяснить ее точное назначение. Как я понимаю она нужна для закрытия и открытия окон, но по конкретней пожалуйста. Да и вообще класс CDialogHolder для чего он нужен, для чего используется. Не полное описание, но минимальный набор приёмов использования есть в этом посте справочника. Плагины Total Commander для работы с игровыми архивами: Архиваторный плагин (для работы с одиночным архивом): link1 link2 Системный плагин (для распаковки установленной игры): link1 link2 Ссылка на комментарий
Disord 1 Опубликовано 22 Мая 2011 Поделиться Опубликовано 22 Мая 2011 Несколько вопросов накопилось 1. Где-то видел, что можно на последней точке пути НПС выдать поршень или что-то другое? Может кто сказать, как примеру поршень выдать? 2. Немного нубский вопрос, но как изменить поворот камеры в начале игры? direction меняю и ничего вообще не происходит (менял все 3 значения). Ссылка на комментарий
=VENOM= 50 Опубликовано 22 Мая 2011 Поделиться Опубликовано 22 Мая 2011 Disord, сам инфопоршн на "последней" точке пути NPC выдать не сможет. Но. В путях на последней точке можно установить так называемый сигнал: [walk] points = p0 p0:name = wp01|a=walk|sig=arrif ... а в логической схеме NPC прописать реакцию на этот сигнал, в том числе и получение инфопоршна, примерно так: [walker@tra_la_la] ... on_signal = arrif | walker@tro_lo_lo %+infoportion% ... По второму вопросу - менять нужно у ГГ не только direction, но и параметр upd:o_torso. Ссылка на комментарий
Valerich 34 Опубликовано 22 Мая 2011 Поделиться Опубликовано 22 Мая 2011 Народ, всем привет. Как удалить предмет из инвентаря у ГГ - (название - val_zapis_n) Черкните функцию, а я её через экшон вставлю в диалог. Заранее спасибо. Ссылка на комментарий
_Призрак_ 11 Опубликовано 22 Мая 2011 Поделиться Опубликовано 22 Мая 2011 Можно воспользоваться функцией amk.remove_item_from_inventory_by_name("val_zapis_n",db.actor) Но ты сначала проверь, есть она у тебя или нет Freedom Ссылка на комментарий
=VENOM= 50 Опубликовано 22 Мая 2011 Поделиться Опубликовано 22 Мая 2011 В АМК главная функция тянет за собой сервисную. Вот готовая, удаляет предмет из инвентаря ГГ по имени. Только не пытайтесь удалять болт : function del_from_player_inventory(item_name) local obj = db.actor:object(item_name) if obj then alife():release(alife():object(obj:id()), true) end end Ссылка на комментарий
Valerich 34 Опубликовано 22 Мая 2011 Поделиться Опубликовано 22 Мая 2011 =VENOM= Я в скриптах не соображаю. Так ? function del_from_player_inventory(item_val_zapis_n) local obj = db.actor:object(item_val_zapis_n) if obj then alife():release(alife():object(obj:id()), true) end end А кавычки не надо "..." в скобках ? А в диалог такой экшон ставить ? <action>valerich_dialog.del_from_player_inventory(item_val_zapis_n)</action> Ссылка на комментарий
_Призрак_ 11 Опубликовано 22 Мая 2011 Поделиться Опубликовано 22 Мая 2011 нет, не правильно Нужно сделать функцию: Если функция, которую кинул тебе =VENOM= лежит допустим в скрипте test1 то function my_megatest() test1.del_from_player_inventory("item_val_zapis_n") end <action>valerich_dialog.my_megatest</action> Freedom Ссылка на комментарий
Disord 1 Опубликовано 22 Мая 2011 Поделиться Опубликовано 22 Мая 2011 (изменено) Valerich, не, не так Данную функцию суёшь в любой скрипт (чтобы потом вызвать): function del_from_player_inventory(item_name) local obj = db.actor:object(item_name) if obj then alife():release(alife():object(obj:id()), true) end end Затем создавай ещё одну функцию, вот такую: function del_val_zapis() название_скрипта.del_from_player_inventory("val_zapis_n") end А в диалоге вызывай так: <action>файл_с_функцией.del_val_zapis</action> ------------------------- Какая функция заставляет НПСа ударить ГГ по лицу? Изменено 22 Мая 2011 пользователем Disord Ссылка на комментарий
Artos 99 Опубликовано 22 Мая 2011 Поделиться Опубликовано 22 Мая 2011 (изменено) Disord Хотелось бы дополнить твой пост предостережением об ограничении использования такого варианта набора функций 'однократным' применением. При попытке модмейкера удалить подобным образом пары (и более) однотипных предметов (да и порою разных) 'за раз', т.е. вызвав подряд в одном цикле (или даже в смежных) функцию удаления из инвентаря, можно получить вылеты. Обоснование: Проверка происходит по по клиентскому объекту актора, а удаление - у серверного объекта. Уже удаленный(!) предмет будет обнаружен и при следующей 'проверке наличия', если делается в одном и том же цикле, т.к. на синхронизацию серверного и клиентских объектов требуется время (несколько циклов апдейта актора). Т.о. упрощенные функции имеют область ограничений на применение. Более безопасный вариант может выглядеть так: function del_from_player_inventory(item_name) local obj = db.actor:object(item_name) if obj then local se_obj = alife():object(obj:id() --/ получаем серверный объект искомого предмета if se_obj then --/ проверка наличия объекта в игре alife():release(se_obj, true) end end end При этом варианте повторное удаление (однотипного предмета) скорее всего не сработает, но все же не вызовет фатальной ошибки выполнения кода. Или же можно использовать методы выставления флагов 'исключения' для предметов, типа: function del_from_player_inventory(item_name) local obj = db.actor:object(item_name) if obj and not db.actor:marked_dropped(obj) then --/ и отсутствует метка 'исключения' db.actor:mark_item_dropped(obj) --/ ставим метку 'исключения' alife():release(alife():object(obj:id()), true) end end Более надежный способ 'множественного удаления' все же предполагает итерацию по инвентарю с запоминанием требуемых идентификаторои с последующим удалением по запомненным идентификаторам. --- Готовых функций 'удара по лицу' не существует, вероятно ты имеешь ввиду схему 'abuse'. Требуется вызывать соответствующие состояния/анимации (или использовать подходящее из схемы 'abuse' или самописное). Есть моды, в которых имеется схема 'мордобоя'. Изменено 22 Мая 2011 пользователем Artos "Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени Ссылка на комментарий
Valerich 34 Опубликовано 22 Мая 2011 Поделиться Опубликовано 22 Мая 2011 (изменено) Ситуация такая , скриптер аддона "Коллекционер" Charsi (для него это дело плевое) - пока отсутствует, а люди спросили , как запустить аддон ещё раз , но он уже установлен. Я в скриптах - "нуб" . У меня завязано все на инфопоршнях. При нахождении в тайнике записки - предыдущая записка удаляется (скриптом) и вот так до последней . Последняя остаётся ,как бы на память. Вот её и надо удалить, чтоб начать заново. Инфопоршен изменяем и погнали по новой, но чтоб не было косяка - нужно удалить последнюю записку, чтоб скрипт не путался. Этот экшен я повешу всего ОДИН раз в диалоге, который больше не появиться. Добавлено через 23 мин.: П.С. Может этим спутал народ val_zapis_n , а n - это конкретный номер записки (просто я его забыл когда писал тот пост, толи 18 или 17) Изменено 23 Мая 2011 пользователем Cyclone Ссылка на комментарий
strelok200 0 Опубликовано 22 Мая 2011 Поделиться Опубликовано 22 Мая 2011 Я прописал НПСу логику и при диалоге вылет [logic] active = remark@lesnik danger = danger_condition [remark@lesnik] target = actor meet = meet combat_ignore_cond = always danger = danger_ignore on_info = {+infoportion} walker@walker1 [danger_condition] ignore_distance = 3 [walker@walker1] path_walk = esc_bridge_kamp_way2 Создаю глобальный мод с новыми локациямЭ Ссылка на комментарий
=VENOM= 50 Опубликовано 22 Мая 2011 Поделиться Опубликовано 22 Мая 2011 А сам инфопоршн зарегистрировал в каком-нибудь файле с инфопоршнами? Если нет, то вот это и причина для вылета. Вторая возможная причина - отсутствие path_look в секции [walker@walker1]. Ссылка на комментарий
strelok200 0 Опубликовано 22 Мая 2011 Поделиться Опубликовано 22 Мая 2011 Инфопоршен есть. Зарегистрировал path_look , все равно вылет Создаю глобальный мод с новыми локациямЭ Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти