Перейти к контенту

Norman Eisenherz

Жители
  • Число публикаций

    697
  • Регистрация

  • Последнее посещение

  • Дней в топе

    1
  • AMKoin

    15,848 [Подарить AMKoin]

Весь контент пользователя Norman Eisenherz

  1. Подтверждаю ошибку для FN2K, G36 и L85. В нетпакете оружия установленные апгрейды перечислены правильно, так что, видимо, болезнь движковая. Добавил апгрейд оптики в схему СВД: та же проблема. Описание применения апгрейда в движке ЧН/ЗП одинаковое: Ждем более продвинутых моддеров…
  2. Подробнее, пожалуйста: при каких условиях и что именно случается?
  3. Типовой конфиг статьи с описанием задания содержит какое-то неизвестное значение: article_type=task group="task_id/???". Во всех действующих примерах значение после task_id = 0. Если создать в описании задания ссылки на несколько статей с конфигом group="task_id/0", …/1, …/2, то вне зависимости от активной задачи выводится только статья, указанная для задачи 0. Если убрать это значение совсем или указать число в несколько знаков, или указать строку "текст1/текст2/текст3", эффект тот же: статья полностью определяется через article_id без учета group – даже task_id указывать необязательно. В классе SGameTaskObjective есть метод set_article_key(str), который вроде бы ссылается на это значение, но ни одного живого примера нет, а ввод чисел или строк таким методом никак не меняет статью в описании задания. В движке есть вот такие действия при выводе статьи вида "описание задания" в КПК: Что это за значение и как его применять?
  4. Именно так и будет: дополнительное наложение звука при каждой перезагрузке.
  5. Гуглятся именно что частные примеры – стоит отойти немного в сторону, и выясняются какие-то особенности, вроде того, что звук, выведенный через play_no_feedback в режиме "looped", залипает в указанных координатах до действия disconnect и проигрывается даже в других сейвах на той же локации.
  6. @Hind Звук как реакцию на нажатие клавиши? В том же скрипте главного меню добавить действие по образцу привязки DIK_Q для выхода из игры. Вот еще вариант: для 3t-кнопки можно привязать звук состояний "в фокусе" и "нажато" через теги <sound_h> и <sound_t>.
  7. Дополнить один из штатных обработчиков, перечисленных в main_menu:InitCallBacks
  8. @Colder Скорее всего, прочитан id клиентского объекта как obj.id вместо obj:id()
  9. См. страницу [328] здесь же: список + CGIM
  10. При отслеживании события callback.hit в обработчик передается аргумент local_direction – какой-то вектор из трех дробных значений. В движке есть комментарий "convert impulse into local coordinate system". Что за значения пишутся в этот вектор и куда их можно применить?
  11. 1. Инфо ui_inventory + свои действия (actor_binder:info_callback). Если переключателей "достать/убрать оружие" больше одного, обязательно ввести счетчик и убирать/доставать только на околонулевых значениях – оружие, убранное дважды, надо будет и доставать дважды. 2. Никак – в скриптах можно только отслеживать состояние движковых окон и закрывать их. Можно выводить свое окно с текстурами КПК, как в модах Shoker или Hard War.
  12. @Купер Код версии MM Build 110603, правильно? Кому-то отвечал на точно такой же вопрос по Mobile Manager, но, видимо, это было в личке и уже затерто. Там были ошибки в двух или трех строках; нужны логи вылетов, чтобы не копать все скрипты. По идее, вот этих изменений должно хватить: [_Ui_Total.script] local sh_id_val = "%s*([_%w]+)%s*%=%s*([+=-\|}{)(/@_%s%,%.%w]+)%s*" local sh_id_val = "%s*([_%w]+)%s*=%s*([+=-\\%p%(%)|/_%s%w]+)%s*" [_Utils.script] for cf, sec in string.gfind(str, "%s*([%\%.-_%w]+)%s*%|%s*([-_%w]+)%s*") do for cf, sec in string.gfind(str, "%s*([\\%.-_%w]+)%s*|%s*([-_%w]+)%s*") do • знаки +- в пределах [набора] все-таки учитываются и без % • обозначения %| %, %{ равнозначны | , { • знаки | } { @ . , входят в класс пунктуации (круглые скобки – только через %) • двойной слэш \\ обязателен
  13. @Купер • запятая, "=" и "|" не требуют обозначения через % • скобки, наоборот, надо обозначать через % (кроме фигурных) • обратный слэш в тексте должен быть двойным \\ (не %\) • "минус" надо обозначать через % (исключение: проверка наличия знаков [+-]?) Есть примеры исходных строк? В первом выражении просится какой-нибудь обратный шаблон – очень много знаков перечислено.
  14. Надо полагать, это файл из НС-2010, в котором "ориентирование на слух" представлено перебором стандартного списка memory_sound_objects. Потестил в ТЧ: бинты и прочие медикаменты при сбросе даже рядом с NPC в список источников звука не заносятся. В "солянке" не правленый движок, скрипты только – была ли в действительности такая проблема?
  15. Путь поиска: диалог Лиса в ТЧ, выдача награды за аптечку, ссылка give_treasure в скрипте.
  16. Аргументы: пострадавший, значение урона, направление (вектор), нападающий, номер задетой кости на модели. Тип внешнего урона определить невозможно, но для описанного случай достаточно проверки if IsMonster(who) then (инфекция) – по крайней мере, при базовых значениях clsid мутантов. Проблема в том, что в оригинале событие hit для ГГ не обсчитывается. Можно через callback.sound + snd_type == monster_injure в [bind_monster.script], но там придется как-то разбирать, кто слышит свою атаку по ГГ, а кто просто мимокрокодил.
  17. Кто-нибудь разбирал методы биндеров подробно? 1. Что такое net_Relcase и почему этот метод вызывается 10–20 раз подряд при спавне объекта, а после по 1–2 раза при обращении к инвентарю и прочих вроде бы не связанных с отдельным объектом действиях? Есть старый пост, но он мало похож на правду – метод net_destroy показывает, что объект находится в онлайне при всех вызовах net_Relcase. В движке под таким методом вроде как удаляются ссылки на объект. 2. При каких условиях вызываются методы net_import и net_export? Есть другой старый пост, но он, видимо, вообще не про биндеры. 3. Зачем нужен метод reinit(section), если ссылку на секцию объекта можно получить через self.object в методе reload, который вызывается при тех же условиях "спавн / онлайн"? 4. Обязательно ли выполнять обновление объекта через общий класс object_binder в методах reload, reinit и update? 5. Обязательно ли проверять объект через object_binder.net_spawn? 6. Обязательно ли удалять биндер через object_binder.net_destroy? 7. Почему для разрушаемых объектов вроде ящиков привязка событий через set_callback указана не в reinit, а в net_destroy? 8. Обязательно ли отключать обработку событий в net_destroy?
  18. Движок: [xrGame\WeaponMagazinedWGrenade.cpp] bool CWeaponMagazinedWGrenade::install_upgrade_impl( LPCSTR section, bool test ) … result |= process_if_exists( section, "launch_speed", &CInifile::r_float, m_fLaunchSpeed, test ); Судя по отсутствию знака "+", значение m_fLaunchSpeed заменяется.
  19. @DarkSnowder Если я правильно понимаю вопрос, в логике должно быть on_actor_inside / _outside = … %=set_weather(name)% со ссылкой на новую функцию в [xr_effects.script] function set_weather(name) level.set_weather(name, true) -- изменение сразу end
  20. При одном параметре можно обойтись консолью. Если надо больше, требуется полное описание задачи.
  21. В ТЧ через файловую систему: local file = getFS():r_open(полный путь) или …($app_data_root$, "user.ltx") local text = file:r_stringZ() -- дальше разбирать полученный текст через string.find, string.match и прочие методы В ЧН через библиотеку io: local filename = "_appdata_\\user.ltx" for line in io.iines(filename) do -- построчное чтение local x = line:find(…) … Еще через консоль можно: get_console():get_тип(название параметра или привязки клавиши).
  22. Ищу примеры применения биндеров помимо отслеживания типовых событий, связанных с ГГ, NPC, мутантами и т. д. Интересует скриптовая обвязка для новых предметов, которая невозможна без класса object_binder.
  23. 1. ED (hex) = 237 (16^1 * 14 + 16^0 * 13), иначе не сходится. 2. Картинка сложилась: в [lua_help.script] указаны действующие ссылки и неправильные значения, а при проверке if dik == DIK_keys.MOUSE_1 и т. п. читаются движковые значения.
  24. OGSE 0.6.9.3, переназначение клавиш и кнопок для обработки новых действий: В ТЧ 1.0006 событие "нажать / отпустить ЛКМ или ПКМ" успешно ловится (в скриптовом окне) при ссылке на таблицу DIK_keys с "неправильными" кодами кнопок мыши. Как понимать указанный выше комментарий в OGSE?
  25. Бродяга и Пёс в ЧН имеют такую же логику – даже вне задания.

AMK-Team.ru

×
×
  • Создать...