Полтергейст 37 Опубликовано 12 Ноября 2011 (изменено) Gaz24, я не знаю, какие изменения внёс в него мод, который у тебя установлен. Попробуй взять этот файл с оригинала (игры без мода) и заменить (предварительно сделав резервную копию) - должно помочь. Дед, сделать можно, но тогда игрок сможет выйти за пределы локации, что не есть хорошо. Можно попробовать удалить level changer и на его месте заспавнить аномалию, которая при входе в неё отталкивала бы ГГ обратно, чтобы не выходил за пределы. Starter, можно попробовать во всех секциях костюмов (в ltx) прописать class = II_ATTCH. Изменено 12 Ноября 2011 пользователем Полтергейст Поделиться этим сообщением Ссылка на сообщение
Полтергейст 37 Опубликовано 12 Ноября 2011 (изменено) Без модов... вроде не должно такого быть. 1.Прописываю патроны 9х39_pab9 с ВАЛом для НПС. Это всё прописывалось в character_desc_*.xml или где-то в другом месте? Изменено 12 Ноября 2011 пользователем Полтергейст Поделиться этим сообщением Ссылка на сообщение
Полтергейст 37 Опубликовано 15 Ноября 2011 Возможно ли добавить смарт в рестрикторы неписю? Не будет ли вылета? (спрашиваю потому, что сам сейчас не имею возможности протестировать) Поделиться этим сообщением Ссылка на сообщение
Полтергейст 37 Опубликовано 16 Ноября 2011 Kopcap, без модификации скрипта smart_terrain.script и customdata всех смартов в all.spawn - никак. В прошлом году сталкивался с точно такой же проблемой, но для меня она была некритична. Проблема в том, что нужно полностью менять формат настроек (которые в customdata), отвечающих за возможность "проживания" в смарте NPC той или иной группировки. В оригинале они перечисляются так: (с1, с2, c3 ... - группировки) [smart_terrain] ... communities = c1, c2, c3, ... ... А чтобы этот список зависел от каких-то событий, нужно сделать так: [smart_terrain] ... [communities] c1 = {+infoportion1} c2 = {-infoportion2} ... Выполнение этих условий, если мне не изменяет память, нужно проверять через xr_logic.parse_condlist(...) Соответственно, нужно полностью переделывать ту часть файла smart_terrain.script, которая отвечает за считывание этих настроек. Поделиться этим сообщением Ссылка на сообщение
Полтергейст 37 Опубликовано 17 Ноября 2011 (изменено) Хотя ... если делать по-серьезному, т.е. не для одиночных случаев, то ты прав, может и стОит озаботиться именно модификацией имеющейся 'штатной' логики. При ответе я подразумевал, что автор собирается проделать такое явно не с одним смартом, поэтому так написал Добавить то можно и вылета не будет (в большинстве случаев), вот только ... толку то? Если у многих смартов радиус в 1 метр - толку то от твоего добавления? Для разрешения иль запрета для неписей того иль иного гулага есть немало штатных средств ... Хотел сделать, чтобы неписи при переходе из смарта в смарт не шли прямо через вражеские лагеря (вроде в ЗП такое сделали, только другим способом). Например, чтобы на Кордоне новички и бандиты шли не под мостом, а обходили по "колючке". Увеличить радиус - тоже не проблема. Изменено 17 Ноября 2011 пользователем Полтергейст Поделиться этим сообщением Ссылка на сообщение
Полтергейст 37 Опубликовано 20 Ноября 2011 Поставил аптечке приём за 2 использования, но как сделать так чтобы при втором использовании появился предмет "Использованая аптечка"? Чтобы лечила потом в 2 раза меньше. Найди коллбек на использование предметов в bind_stalker.script и пропиши туда спавн использованной аптечки при использовании ещё не использованной. Можно же сделать хождение по трупам? По-моему да. Так вот что для этого надо (в общем)? Можно при смерти НПС удалить его и на том месте заспавнить обычный физический объект с моделью этого НПС. Но тогда нельзя будет рыться по рюкзакам убитых + удаление и спавн могут быть заметны. Поделиться этим сообщением Ссылка на сообщение
Полтергейст 37 Опубликовано 23 Ноября 2011 Причем удалются уже ПОСЛЕ отработки десменеджера. То есть, если бы удалялось в нем, что происходит с другими предметами - удаление было бы раньше По идее, в скриптах есть только 2 коллбека на смерть NPC: клиентский (xr_motivator.script, функция death_callback) и серверный (se_stalker.script, функция on_death). Тот скрипт (если это скрипт делает), который удаляет патроны, должен быть прописан в одной из них. Если это не скрипт, то какой-то баг движка. Такая вот расплата за бесконечные патроны у NPC. Поделиться этим сообщением Ссылка на сообщение
Полтергейст 37 Опубликовано 24 Ноября 2011 проверив их на наличие "владельца" и на то, что это мертвый гуманоид - получаем псевдо-коллбэк иного типа .. Сделать-то можно для какого-то данного конкретного NPC. Но делать таким способом коллбек для всех (!!) NPC не очень разумно - это просто трата ресурсов. Причём, когда я в death_manager полностью убрал спавн и удаление предметов (кроме фонариков, гитар, болтов) ничего подобного не наблюдалось: после смерти НПС патроны всегда оставались при нем. Если в оружии имеются патроны (заряжено), то факт удаления собственно самого оружия не означает единомоментного удаления и патронов в нем. Сработает коллбэк движка, который должен будет очистить игру от объекта патронов бывших в стволе удаленного оружия (приписанных ему). Так при смерти НПС оружие не удаляется. Или как? Поделиться этим сообщением Ссылка на сообщение
Полтергейст 37 Опубликовано 27 Ноября 2011 подскажите за что отвечают эти параметры в конфиге бинокля: Какого бинокля? Есть wpn_binoc, ему эти строки вроде бы без разницы (можешь закомментировать и проверить). Если binocular_a, то эти строки необходимы для отыгрыша анимации (например, в самом начале когда Петруха смотрит в бинокль на бандитов). Поделиться этим сообщением Ссылка на сообщение
Полтергейст 37 Опубликовано 27 Ноября 2011 для актора они не нужны? Да. Поделиться этим сообщением Ссылка на сообщение
Полтергейст 37 Опубликовано 27 Ноября 2011 метод освещенности гейм-объекта Что под этим понимается? Если имеется в виду определение освещённости предмета или NPC - нет. Иначе разрабы не стали бы заморачиваться с sr_light-рестрикторами. Есть только параметры, регулирующие "зрение" NPC, но выполняется это всё внутри движка и в LUA не экспортировано. Поделиться этим сообщением Ссылка на сообщение
Полтергейст 37 Опубликовано 25 Декабря 2011 Ранг добавляется за хождение по smart_terrain'ам. В AMK помимо этого в оффлайн боях добавляется за победу. Поделиться этим сообщением Ссылка на сообщение
Полтергейст 37 Опубликовано 27 Декабря 2014 Имеется биндер, в нём переменная initialized Так из биндера её и надо читать, а не из внешнего скрипта. local my_mob_binder = obj:binded_object() if my_mob_binder.initialized then (где obj - объект, с биндера которого надо прочитать переменную) 1 Поделиться этим сообщением Ссылка на сообщение
Полтергейст 37 Опубликовано 25 Августа 2015 BFG Отправку сообщений лучше делать на sr_tip - она срабатывает только когда игрок внутри зоны, т.е. дополнительно писать on_actor_inside не надо. on_timer тоже писать не надо, т.к. для этой схемы есть параметр timeout. Условие выдачи сообщения пишется в параметре cond. [logic] active = sr_tip [sr_tip] cond = {+ataka_start} single = true timeout = 6000 name = ;Сюда подставляем имя tips, которое используется внутри функции arhara_dialog.ataka2_sms on_signal = tip_sended| nil %+ataka2_start% 1 Поделиться этим сообщением Ссылка на сообщение
Полтергейст 37 Опубликовано 25 Августа 2015 (изменено) Тогда так [logic] active = sr_tip@1 [sr_tip@1] cond = {+ataka_start} single = true name = сюда подставляем имя tips, которое используется внутри функции arhara_dialog.ataka_sms on_signal = tip_sended| sr_tip@2 [sr_tip@2] single = true timeout = 6000 name = сюда подставляем имя tips, которое используется внутри функции arhara_dialog.ataka2_sms on_signal = tip_sended| nil %+ataka2_start% Изменено 25 Августа 2015 пользователем Полтергейст 1 Поделиться этим сообщением Ссылка на сообщение
Полтергейст 37 Опубликовано 26 Августа 2015 (изменено) Раскопал в исходниках одну особенность. Для монстров можно индивидуально переопределить некоторые параметры, читаемые из их секций в system_ini. Делается это при помощи добавления секции "settings_overrides" в customdata. Можно добавлять следующие параметры: SoundThreshold RunAttack_PathDistance RunAttack_StartDistance DayTime_Begin DayTime_End distance_to_corpse satiety_threshold DamagedThreshold idle_sound_delay eat_sound_delay attack_sound_delay distant_idle_sound_delay distant_idle_sound_range eat_freq eat_slice eat_slice_weight LegsCount max_hear_dist attack_effector Они будут перекрывать те параметры, которые пишутся в секциях монстров. Возможно, подобное есть и для других типов объектов, но я пока не нашёл. Изменено 26 Августа 2015 пользователем Полтергейст 2 1 Поделиться этим сообщением Ссылка на сообщение
Полтергейст 37 Опубликовано 27 Августа 2015 Капрал Хикс, в se_monster.script надо убрать в can_switch_online (offline) зависимость от времени суток. 1 Поделиться этим сообщением Ссылка на сообщение
Полтергейст 37 Опубликовано 1 Ноября 2015 npc:set_mental_state( anim.free ) npc:set_body_state( move.crouch ) - вылет error in stalker with visual actors\novice\green_stalker_4 В куда копать ? Это движковый вылет, я его уже описывал. Вылечить без ковыряния движка нельзя. Просто надо учитывать, что сочетание anim.free и move.crouch недопустимо. 1 Поделиться этим сообщением Ссылка на сообщение
Полтергейст 37 Опубликовано 5 Ноября 2015 (изменено) Причем, при внимательном изучении оказалось, что по npc:best_danger() он постоянно получает этот самый danger с типом attack_sound, источником является он сам. Похоже на какие-то косяки в реализации скрипта xr_danger. Evaluator для stalker_ids.property_danger должен возвращать false, если источником опасности является сам объект, или он далеко, или опасность была давно. Помимо этого можно для "просроченных" или неуместных опасностей дописать удаление объекта из памяти (через enable_memory_object). В оригинале, насколько я помню, такое удаление происходит только для игнорируемых врагов. Хотя определять тип звука по ogg-комментарию, а не по событию, вызывающему этот звук - это как-то... странно. Изменено 5 Ноября 2015 пользователем Полтергейст Поделиться этим сообщением Ссылка на сообщение