![](https://www.amk-team.ru/forum/uploads/set_resources_35/84c1e40ea0e759e3f1505eb1788ddf3c_pattern.png)
Norman Eisenherz
Жители-
Число публикаций
819 -
Регистрация
-
Последнее посещение
-
Дней в топе
1 -
AMKoin
20,226 [Подарить AMKoin]
Весь контент пользователя Norman Eisenherz
-
Здрасьте. Нужно отследить количество денег у NPC после каждой сделки, пока открыто окно торговли. Знаю про колбэк "on_trade"; к чему можно привязаться, чтобы получить id торговца?
-
@Winsor Я пробовал выносить исполняемую часть отдельно (в пределах того же скрипта) – все равно тестовое сообщение приходит один раз. Чуть выше разбирали проверку оффлайн-статуса тайника – если прикрутить к этой функции тестовое сообщение, оно придет только на первом цикле, на котором проверка выдаст true, хотя без level.remove_call должно приходить подряд на каждом последующем цикле (или все же нет?)
-
1. Я предполагал, что это будет db.actor ~= nil, но не учел того, что это не логическая переменная. 2. Если колбэк отключается сам собой, для чего тогда нужна функция level.remove_call?
-
Здрасьте. Нашел вот такой фрагмент обсуждения функции level.add_call: Делаю вот такую проверку: Условие "актер прогружен" выполняется на каждом цикле, а тестовое сообщение приходит только один раз. Почему?
-
@naxac Да, так даже проще. Со временем только странность: при прямой проверке переключение тайника проходит почти незаметно, а с таймером на 1 секунду тайник только уходит в оффлайн и не возвращается. Вроде и ПК не такой старый, и индикатор подгрузки не отображается постоянно.
-
@naxac Задействовал второй подход: добавил в конец функции give_treasure указанную ниже конструкцию с временной проверкой, и на тестовом тайнике результат стабильно положительный – предметы при многократной перезагрузке не теряются. Первый раз применил level.add_call; насколько оптимальна такая конструкция, и нет ли излишней нагрузки на actor_binder:update? Иконка дискеты вроде отображается с обычной частотой…
-
1. Старый баг ТЧ: если перезагрузиться на текущей локации, некоторые известные, но еще не облутанные тайники станут пустыми при сохранении видимости меток. 2. Тут можно поспорить: перебор все равно начинается с полного списка тайников, только по имени вместо sid, и активных тайников в целом больше, чем меток на текущей локации. Однако, при ссылке на готовую таблицу и ключ "active" код действительно получается проще: 3. Остается вопрос с отложенным разовым запуском. Допустим, я применяю вот такую конструкцию с двумя флагами: Как эту конструкцию упростить?
-
1. Проблема: прямая проверка через sid (по видимым меткам) выдает пустые тайники, которые уже были облутаны ранее (стали пустыми нормальным путем, а не в результате сбоя загрузки) и не имеют видимых меток, то есть в текущей задаче только мешают. Ответ: Наличие лута и метки тоже можно проверять. Какова содержательная этого ответа, если в скрипте я как раз проверяю метку и лут? 2. Можно пример с разовым действием на апдейте? С таким, условие запуска которого не проверяется на каждом кадре или каждые несколько секунд.
-
1. Если под проверкой серверных объектов имеется в виду проверка меток напрямую через story_id тайников, то такая проверка выдает все известные тайники на локации, включая те, что давно облутаны и уже не имеют видимых меток. 2. Вот я и спрашиваю, как научить скрипт ждать. Мне известен только костыль через level.client_spawn_manager с ожиданием регистрации лишнего объекта и последующим его удалением, но это занимает не больше 0,5 с.
-
Здрасьте. Делаю перебор пустующих, но все еще отмеченных тайников. Запуск после прогрузки (скажем, при использовании бинта) проходит успешно – с выводом списка. Запуск из actor_binder:net_spawn(data) проходит без какого-либо результата – видимо, тайники/метки еще не успевают прогрузиться. Как правильно отложить запуск скрипта, чтобы получать список сразу после загрузки? Пробовал условия if alife(), if level.present(), if device().precache_frame <= 1 – без эффекта. На всякий случай, код:
-
[SoC] Ковыряемся в файлах
Norman Eisenherz ответил на тему форума автора Halford в Скрипты / конфиги / движок
Здрасьте. Как сослаться на id обыскиваемого в данный момент контейнера (тайник, труп, коробка)? -
[SoC] Ковыряемся в файлах
Norman Eisenherz ответил на тему форума автора Halford в Скрипты / конфиги / движок
@Вася Сапля Сила эффекта действительно не меняется при любом значении выше 0, или у меня баг? -
[SoC] Ковыряемся в файлах
Norman Eisenherz ответил на тему форума автора Halford в Скрипты / конфиги / движок
@Вася Сапля Вроде бы эффект есть, но такое впечатление, что действующие значения – только 0 и любое число в интервале 0,0001…1,0. Между, скажем, 0,1 и 0,9 разницы не видно ни сразу, ни после перезапуска игры, ни после перезахода на локацию. Новую игру для изменения силы эффекта начинать не требуется? -
[SoC] Ковыряемся в файлах
Norman Eisenherz ответил на тему форума автора Halford в Скрипты / конфиги / движок
Здрасьте. ТЧ 1.0006, базовый набор шейдеров и текстур неба, днем часто вот такая засветка: https://drive.google.com/open?id=1dqMJ6DMK_wCEpHqTvu3OIMhyiDMNQ6ep. Можно ли этот свет приглушить без специальных шейдеров типа OGSE, и если да, то куда копать? -
[SoC] Ковыряемся в файлах
Norman Eisenherz ответил на тему форума автора Halford в Скрипты / конфиги / движок
Здрасьте. Задача: повысить агрессивность обычных собак, чтобы не приходилось за ними бегать при выполнении задания на зачистку. Выставил в [config\creatures\m_dog.ltx] panic_threshold для вариаций weak, normal, strong значения, как для кабанов (которые редко убегают): 0.5, 0.2, 0.05 вместо 0.2 для всех собак. Результат: собаки бегут уже при виде Меченого. Выставил все на 0.1 – вроде атакуют до последнего (по крайней мере, стая на Кордоне около электро-тоннеля). Почему при одних и тех же значениях panic_threshold кабаны бросаются в бой, а собаки бегут? Какой еще параметр определяет вероятность паники? -
[SoC] Ковыряемся в файлах
Norman Eisenherz ответил на тему форума автора Halford в Скрипты / конфиги / движок
@sto1en Таки да: редактор последней версии, с поддержкой файлов CoP. @BFG Здесь лежит предел моих текущих знаний, но хотя бы границу удалось установить. Всем спасибо. -
[SoC] Ковыряемся в файлах
Norman Eisenherz ответил на тему форума автора Halford в Скрипты / конфиги / движок
С помощью "X-Ray game asset converter" перевел модель [meshes\weapons\ak-74u\wpn_ak74u_hud.ogf] в формат OBJECT, открыл в ActorEditor: анимация, судя по ползунку внизу окна, проигрывается, но положение модели меняется только отдельными кадрами при клике на названии этой анимации. Сообщений об ошибках при открытии модели не было. Без каких-либо изменений сделал экспорт обратно в OGF через меню ActorEditor, подставил модель в игру, запустил: Expression : fatal error Function : CSkeletonX::_Load File : E:\stalker\sources\trunk\xr_3da\SkeletonX.cpp Line : 380 Description : <no expression> Arguments : Invalid vertex type in skinned model 'weapons\ak-74u\wpn_ak74u_hud:1' Какие инструменты стоит использовать, чтобы получить на выходе совместимую с игрой модель (хотя бы с теми же параметрами)? -
[SoC] Ковыряемся в файлах
Norman Eisenherz ответил на тему форума автора Halford в Скрипты / конфиги / движок
В конфигах, например АК и АКСу одна и та же ссылка anim_idle = idle, но амплитуда раскачивания автомата в положении "у бедра" разная. Где хранятся анимации оружия и есть ли у них конфиги, которые можно изменить без специального редактора (максимум, SDK)? -
[SoC] Ковыряемся в файлах
Norman Eisenherz ответил на тему форума автора Halford в Скрипты / конфиги / движок
Здрасьте. Каким параметром управляется амплитуда движения ствола во время пассивной анимации, в положении "у бедра"? У большинства видов огнестрела амплитуда раскачивания ствола минимальная, но у АКСу, G36 и SG 550 ствол гуляет в очень большом диапазоне – хотелось бы исправить. Версия ТЧ 1.0006 без глобальных модов. -
Здрасьте. ТЧ 1.0006. Есть мод с выводом статиков на HUD. Требуется поймать начало/конец катсцены и нажатие клавиш [Num +/-], чтобы временно скрыть статики. Как отследить указанные события? Может, есть проверка вроде hud_off() == true/false или отслеживание действия level.hide_indicators?
-
@Kirgudu "Сравнение false с числом" – вот эта часть отсутствовала в моих знаниях. Это такие азы, которые неизвестно, в каком разделе учебника искать.
-
@Kirgudu Не догоняю… Было выражение "and not q_name == 36", которое прочиталось до имени переменной с логическим результатом "q_name == nil". Осталась часть "== 36" – с ней что происходит? Пустое место равно числу и никаких действий по этому поводу?
-
@Kirgudu Если так, то не должна ли ни к чему не привязанная часть "== 36" вызывать у компилятора вопрос и вылет?
-
Здрасьте. Укорачивание строки, если она хотя бы на 2 символа больше заданной длины: local q_name = string.len(text) if q_name > 35 and q_name ~= 36 then text = string.sub(text, 1, 35) .. "…" end Вариант "and q_name ~= 36" работает, а вариант "and not q_name == 36" – нет (вылета нет, но строка остается без изменений). Почему?
-
@AndreySol Нет-спавн, скорее всего, не годится, тк проверку требуется выполнять не в момент загрузки, а несколько раз между загрузками. Перебор только db.storage – похоже, то, что нужно. Единственная непонятка: в заголовке [db.script] сказано "база данных живых онлайновых объектов …", но без проверки obj:alive() трупы тоже считаются активными противниками и приведенная ниже проверка выдает "true". Может, в проверке что-то не учтено?
- [ЧН] OGSM CS 1.8 CE Fixes
- [ЧН] HARDWARMOD 3.2
- [ЗП] The Long Road
- [ЧН] New vision of War
- [ЧН] Old Good Stalker Mod - Clear Sky
- [ЗП] Unofficial Patch
- [ЗП] Смерти вопреки
- [ЗП] Контракт на хорошую жизнь
- [ЗП] Shoker Weapon Mod 2.1
- [ЗП] Hardcore pack for SGM 2.2
- [ЗП] Контракт Синдиката
- [ЗП] Клондайк 2.0
- ...и другие моды