Wik 0 Опубликовано 12 Января 2012 Поделиться Опубликовано 12 Января 2012 (изменено) Заспавнил аномалию жарка на локацию «болота» из пака локаций через all.spawn, но когда к ней приближаешься, игра вылетает, причем без лога, а с другими аномалиями все в порядке. Скажите в чем проблема. Заранее спасибо. Вот сама аномалия, делал по подобию «дикой территории». [10332] ; cse_abstract properties section_name = zone_zharka_static_average name = rostok_zone_zharka_static_average_0005 position = 277.48233032227,4.7708797454834,50.111785888672 direction = 0,0,0 ; cse_alife_object properties game_vertex_id = 3519 distance = 9.09999942779541 level_vertex_id = 314615 object_flags = 0xffffff3e ; cse_shape properties shapes = shape0 shape0:type = sphere shape0:offset = 0,0,0 shape0:radius = 1.98340821266174 ; cse_alife_space_restrictor properties restrictor_type = 0 ; cse_alife_custom_zone properties max_power = 0.899999976158142 ; cse_alife_anomalous_zone properties offline_interactive_radius = 30 artefact_spawn_count = 32 artefact_position_offset = 0x4624 ; se_zone_anom properties Изменено 12 Января 2012 пользователем ColR_iT Во-первых под спойлер, а во-вторых с тегом code! Ссылка на комментарий
Artos 99 Опубликовано 12 Января 2012 Поделиться Опубликовано 12 Января 2012 Wik, наиболее вероятно, что ошибка кроется в некорректной работой с ACDC и наименованиями параметров для шейпов аномалии. В Неуниверсальных версиях ACDC параметры назывались: center и radius, дли универсального: offset и radius. Судя по тому, что в приведенной тобою секции отсутствуют метки версии игры - ты используешь обычную версию ACDC, вот и именуй в соответствии ... "Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени Ссылка на комментарий
Wik 0 Опубликовано 12 Января 2012 Поделиться Опубликовано 12 Января 2012 Artos Если я правильно понял offset нужно поменять на center , но тогда аномалия не реагирует на ГГ , просто видно эффект гарячего воздуха. Ссылка на комментарий
Artos 99 Опубликовано 13 Января 2012 Поделиться Опубликовано 13 Января 2012 (изменено) Wik, одно дело правильно заспавнить объект, чтобы не было ошибок и совсем иное - взаимодействие заспавненного объекта с другими. Для того, чтобы аномалия реагировала на ГГ нужно разбираться со всеми параметрами конфига аномалии, а не только теми, которые в спавне. Заодно и в параметрах ГГ/неписей глянуть, а добавлен ли класс/clsid этой аномалии в 'SpaceRestrictionSection' и т.п. Переходи, если еще есть вопросы по этой теме, в топик соотв. версии игры "Ковыряемся в файлах". Изменено 13 Января 2012 пользователем ColR_iT "Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени Ссылка на комментарий
*Shoker* 322 Опубликовано 13 Января 2012 Поделиться Опубликовано 13 Января 2012 (изменено) Кстати говоря. В ЗП по умолчанию аномалии никак не реагируют на сталкеров, это движково или как то регулируется в конфигах\скриптах? И если да, можно ли скриптово включать\выключать эту реакцию? (ЗП\ЧН) Artos Хотел спросить тебя по поводу твоей схемы net-пакетов. У меня возможно не самая новая версия (как раз та, где ты первый раз ввёл универсальную функцию, которая сама определяет тип объекта) но там ты в пакетах объектов помимо зашитых свойств также читаешь\записываешь св-ва объекта из скриптов (где функции save\load во всяких se_stalker.script и тому подобных) Это вызывает свои трудности если например в скрипт (se_stalker) добавляется новое св-во которое тоже записывается в пакет объекта (если помнишь я ещё с тобой это обсуждал, у меня как раз из за этого св-ва пакеты не разбирались корректно), то приходится менять и скрипт разбора net-пакета. Можно ли (и как правильно) заменить чтение вот таких скриптовых кусков пакета на просто запись\чтение остатка или типа того? Ведь доступ к этим данным можно получить напрямую в св-вах объекта, не трогая его net-пакет. Изменено 13 Января 2012 пользователем *Shoker* Можно просто Shoker, форум АМК съел моё старое имя и не хочет отдавать о_О Мастер аномалий на свою заднюю точку. Ссылка на комментарий
Полтергейст 37 Опубликовано 13 Января 2012 Поделиться Опубликовано 13 Января 2012 Так, с set_state вроде разобрался - приходится каждый раз задавать указанное состояние в update самого NPC. Пробовал ставить состояние единожды, через hit_callback - никакого результата. Чего только не делал, даже запрещал обновление state_mgr, если нужное состояние уже установлено. Ничего не помогает. Неужели совсем никак нельзя сделать так, чтобы состояние не сбрасылалось, без вмешательства в эвалуаторы? Ссылка на комментарий
Meller 0 Опубликовано 13 Января 2012 Поделиться Опубликовано 13 Января 2012 (изменено) Подскажите мне насчет респавна, у меня 2 вопроса по нему: 1. Как убрать респавн Сталкеров на Свалке возле Беса? Убрал секции respawn в all.spawn'е, но Сталкеры всё равно появляются. 2. Через 2 дня по игровому времени у меня почему-то некоторые НПС меняют формы, даже бандит может сменить костюм на Экзоскелет. Такое было и в оригинале, или я случайно установил лишний пак? Изменено 13 Января 2012 пользователем Meller Ссылка на комментарий
Artos 99 Опубликовано 13 Января 2012 Поделиться Опубликовано 13 Января 2012 *Shoker*, последнюю версиюмодуля m_net_utils можно взять в топике по языку Lua (там приведена ссылка), но в этой версии есть привязка к конкретному моду, которую несложно убрать. По твоему вопросу о 'своих' данных для 'se_stalker' иль иному: Нет-пакеты объектов имеют строгую последовательность, вмешательство в которую исключает применение общих читалок/писалок, т.е. обуславливает необходимость унесения учитывать подобные 'свои' изменения/добавления. Можно добавлять свои данные в конец пакетов, но ... для большинства классов у меня в нынешнем варианте 'хвосты' не читаются. Конкретно для сталкеров/монстров после прочтения основной части пакето (до job) - далее читается все до конца, но помещается в бинарный остаток (left_chunk), откуда по необходимости можно и прочитать. Сейчас, версия m_net_utils замораживается. Почитай топик "Язык Lua. Общие вопросы программирования.". Мною будет сделан новый кросс-платформенный (для трех версий игры) вариант на базе универсального ACDC (by KD87) и xs_netpk (by xStream). Это позволит читать полностью пакеты всех объектов, доступных для операций с нет-пакетами. Вот тогда и будет возможность читать все свои данные из 'хвостов'. Если же тебе хочется читать свои данные не в бинарном виде, то, как уже писал выше - это эксклюзивная доработка под конкретных модификацию. Не сложно, но ... несовместимо с остальными. Делай выводы. Я бы, без нужды НЕ писал бы все потребное напрямую в нет-пакет. Для этого есть и та же кастом-дата иль pstor. Так же, в той же теме (по Lua) идет речь и о хранилище ... в которое можно вообще переместить большинство моддмейкерских потребностей по хранению. Добавлено через 4 мин.: Meller, уже по респавнерам не один раз тут за последний месяц-два говорилоось ... Респавнеры работают на всю Зону, а не на конкретное место/гулаг. Запретив в одном месте - все равно, если аналогичные респавнеры есть на др.локациях, в это свободное место подтянутся неписи с других локаций. Переодевания НПС в оригинальной игре нет, это вероятно работает схема переодевания от xStream или ее модификация. "Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени Ссылка на комментарий
iDreD 5 Опубликовано 13 Января 2012 Поделиться Опубликовано 13 Января 2012 Как можно получить информацию о текущей погоде для использования в секциях логики? Работа в Sculptris 3D [туториал] Страничка на Проза.ру Ссылка на комментарий
KD87 718 Опубликовано 13 Января 2012 Поделиться Опубликовано 13 Января 2012 (изменено) iDreD, level.get_weather() вернет имя секции текущей погоды, дальше считывай параметры погоды из конфигов с помощью ini_file. Впрочем, еще есть level.rain_factor(), но не думаю, что сильно поможет. Изменено 13 Января 2012 пользователем KD87 Ссылка на комментарий
Meller 0 Опубликовано 14 Января 2012 Поделиться Опубликовано 14 Января 2012 (изменено) Как выглядит функция таймера? Она мне нужна для того, чтобы запустить одну функцию через определённое время, после выполнения другой функции. Выглядит ... как функция. Очень странный вопрос если честно. Если тебя интересует, как работает или как сделана, то можешь глянуть на примере, все того же, АМК да и вообще, уже наверно в каждом моде используется та или иная интерпретация таймеров. Только ты не обольщайся - это не одна строка, придется немного пораскинуть мозгами... ColR_iT Изменено 14 Января 2012 пользователем ColR_iT Ссылка на комментарий
*Shoker* 322 Опубликовано 15 Января 2012 Поделиться Опубликовано 15 Января 2012 (изменено) Как узнать под какой скриптовой схемой сейчас находится НПС? И как расшифровать полученную информация. Ленимся листать топик? #3637 --/Artos Изменено 15 Января 2012 пользователем Artos Можно просто Shoker, форум АМК съел моё старое имя и не хочет отдавать о_О Мастер аномалий на свою заднюю точку. Ссылка на комментарий
xStream 86 Опубликовано 15 Января 2012 Поделиться Опубликовано 15 Января 2012 Как выглядит функция таймера? В теме "Язык Lua. Общие вопросы программирования." - дополнительно к АМК-таймерам (тихий ужас, если честно) выложено аж несколько реализаций этого добра. С помощью тех библиотек таймеры можно сделать в виде пары строк. Все, кто стоит на моем пути: идите нахрен и там погибните! © Ссылка на комментарий
ColR_iT 171 Опубликовано 16 Января 2012 Поделиться Опубликовано 16 Января 2012 Ребята, возник вопрос касательно функции load_job, что в файлах гулагов для локаций, а именно таблица t с описанием работы. Если быть точным, то это скорее не вопрос, а уточнение, дабы, так сказать, удостоверится в верности знаний об этой функции. Итак... Привожу таблицу со всеми найденными и используемыми свойствами в оригинале ТЧ 1.0006, а также небольшое описание, возникшее в результате поиска, исследований и догадок: t = { section = "logic@", -- секция логики в файле config\misc\gulag_название_уровня.ltx; idle = , -- пауза между выполнением данной работы; prior = , -- приорите на работу. Чем больше значение, тем быстрее будет занята работа; state = {}, -- состояние гулага. Необходимо для функции load_states где определяется это состояние, -- т.е. какая из работ (с определенным состоянием) будет занята; squad = , -- сквад; group = groups[], -- будет выбран из массива groups, который задан в custom data. Массив индексируется начиная с 1; in_rest = "", out_rest = "", -- разрешено / запрещено входить в указанные рестрикторы; info_rest = "", -- задается имя рестриктора и все денжеры снаружи этого рестриктора не попадают внутрь для человека, -- находящегося на этой работе; predicate = , -- условие приема на работу; position_threshold = , -- расстояние до места работы при котором персонаж в онлайне считается достигшим места работы. timeout = , -- время по окончании которого работа освобождается/становиться недоступна; online = , -- если true, то на этой работе персонаж всегда в онлайне; idle_after_death = -- в течении этого времени, после смерти предыдущего "работника", данная работа будет недоступна. } Некоторые описания являются дословными цитатами найденными на просторах интернета, так что не судите строго. Теперь собственно вопросы касательно этого: Свойство idle. Определяет паузу перед тем, как НПС начнет выполнять работу вновь. Собственно вопрос: что происходит во время паузы? Переходит ли персонаж под какую-либо секцию, либо выполняет туже работу, например, если указан walker, но со значениями по умолчанию? squad. Что именно определяет этот параметр. Понятно, что если не задан, то будет значение из профиля НПС, но в целом, для чего нужен squad? group. Также не ясно. Каким образом данный параметр влияет на поведение НПС? info_rest. Описание нашел в интернете, но, к сожалению, кроме путаницы мне в голову ничего не привносит. Я так понимаю, что в радиус данного рестриктора, для НПС на данной работе, враги заходить не будут. Так ли это? position_threshold. Понимаю это так: если НПС на расстоянии ближе чем указанно, то гулаг уже начинает искать ему работу. Хотя мне почему-то казалось, что гулаг изначально резервирует место, т.е. занимает работу под найденного НПС. timeout. Время вроде идет в миллисекундах, но это не суть важно, важно другое - после того, как вышло время, что становиться с работой? Возможно ли заново её занять? online. Два возможных значени - true и false. Если быть честным, то недопонимаю для чего данный параметр. idle_after_death. Единицы измерения вроде как тоже мсек. Изначально не понял для чего, потому как увидел его в работе для Макса, на Арм складах... странно то, что исходя из описания непонятно для чего она там была нужно, так как в работе стоит условие на приём именно Макса. Ну и последний интересующий меня вопрос - есть ли еще какие либо свойства, которые можно определять через данную таблицу? P.S. Извините за такое количество вопросов, но разделять их было (ИМХО) также глупо. Ссылка на комментарий
Keng 0 Опубликовано 16 Января 2012 Поделиться Опубликовано 16 Января 2012 Парни, здраствуйте. Возможно ли в Сталке. ТЧ. Реализовать логику для любого сталкера. (что бы он выполнял - в разных местах, при различных боевых ситуациях- разные схемы). 1. Переход из одной локации на другую, с последующим продвежением в лагерь. Прийдя в лагерь он выполнял бы такие действия (рандомно), шел к НПС "говорить", подходил к костру, спускался в подвал (убежища от выброса на кордоне. к Сидоровичу), заходил в дом, становился на пост. 2. При переходе работа ли бы такие схемы: Ищет артефакты. - Собиратель. Скрытно продвигается от куста к кусту. -Разведчик. Снайпер (если есть нужное оружие). Охотник. 3. Сталкеры не стреляют через толстые стены и двери, но стреляют через заборы по ГГ. Всем пока я верю в вас! Ссылка на комментарий
ColR_iT 171 Опубликовано 16 Января 2012 Поделиться Опубликовано 16 Января 2012 Keng. 1. Да, можно. Простой пример - Волк. После выполнения ГГ задания в Темной Долине, он идет аж на Арм Склады. На счет выполнения рандомной работы ... ммм думаю - да, вполне возможно организовать. 2. В принципе возможно. 3. А вот это вряд ли. Для НПС любая геометрия - это ... геометрия. На одном из этапов компиляции АИ карты, необходимо компилировать с учетом геометрии карты, для того чтобы НПС считали стены и заборы, деревянные в том числе, укрытием. При этом, как мне кажется, свойств материалов они не учитывают. Ссылка на комментарий
Полтергейст 37 Опубликовано 16 Января 2012 Поделиться Опубликовано 16 Января 2012 ColR_iT position_threshold не влияет на то, будет ли NPC искать себе работу, а задаёт расстояние, при котором NPC считается "приступившим к выполнению обязанностей". Поиск работы происходит ещё до вызова register_npc в смарте. info_rest отсекает реакцию на события, происходящие снаружи заданного рестриктора. По-хорошему их следовало бы разделить также на in и out, но почему-то этого не сделали. Насколько я понял, параметры squad и group определяют, будет ли NPC вообще зарегистрирован в смарте. Сравнивается с соотв. параметрами самого NPC, но смысла в этом я не вижу никакого. online - попытка запрета (ИМХО - также бессмысленная) перехода в оффлайн. Ссылка на комментарий
gruber 2 481 Опубликовано 16 Января 2012 Поделиться Опубликовано 16 Января 2012 (изменено) ColR_iT, Некоторые параметры остались просто из исключенных схем,сквады и группы насколько я знаю нужны для респавнера и в некоторых логических схемах(патрол или фоловер).А работа онлайн или офлайн-может быть этот параметр отвечает за то что Толик в НС5 спокойно себе доходит до фабрики без ГГ,а Боров в солянке виснет как только доходит до границы онлайна. info_rest я так подозреваю -это триггеры засад,ну типа чтоб неписи не сбегались со всей локи табуном учуя гг,а терпеливо ждали пока он не пересечет нужную точку. Изменено 17 Января 2012 пользователем gruber Ссылка на комментарий
S.T.A.L.K.E.R-DOLG 1 Опубликовано 16 Января 2012 Поделиться Опубликовано 16 Января 2012 Помогите я заспавнил НПС через all.spawn на болотах поставил логику чтобы стояли на месте они стоят но когда на них идет враг они после него не идут на свое место какая логика тогда нужна ))) Создал новую группировку и нпс новых как сделать так чтобы после смерти непися новые неписи спавнились вместо тех и вставали на их место ))) Строгое предупреждение от модератора Cyclone Никакие предупреждения я гляжу не помогают. Режим чтения на 7 суток, пункт 2.5. Пункт 3. Ссылка на комментарий
Keng 0 Опубликовано 16 Января 2012 Поделиться Опубликовано 16 Января 2012 ColR_iT спасибо за ответ, в некоторых случаях последнее очень портит игру - НПС "проталкивает" оружие сквозь дверь/тонкую стенку и стреляет. Я думал что после выполнения определенного задания ГГ,Волк удаляется с Кордона и затем спавнится на Армейских складах. Всем пока я верю в вас! Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти