Сталкер Лом 356 Опубликовано 1 Апреля 2013 Поделиться Опубликовано 1 Апреля 2013 Charsi, закоментировал строки, которые Вы указали для "выпадения" Полтергейста, но не увидел желанного эффекта. Может, за данный эффект отвечают другие строки\параметры? Работы на Artstation - https://www.artstation.com/artist/stalker_lom Ссылка на комментарий
Prorok_Stalker 0 Опубликовано 1 Апреля 2013 Поделиться Опубликовано 1 Апреля 2013 Простите за беспокойство еще один лог FATAL ERROR [error]Expression : BI_NONE != bone[error]Function : CDamageManager::load_section[error]File : D:\prog_repository\sources\trunk\xrGame\damage_manager.cpp[error]Line : 86[error]Description : bip01_ponytail1 Ссылка на комментарий
Charsi 440 Опубликовано 1 Апреля 2013 Поделиться Опубликовано 1 Апреля 2013 Удаление полтергейста, как оказалось, нужно для отключения его эффектов. Можно заспавнить фейковый труп - физический объект с визуалом полтергейста. local obj_clsid = self.object:clsid() if obj_clsid == clsid.poltergeist_s then if alife():object(self.object:id()) ~= nil then -- удаляем полтергейста alife():release(alife():object(self.object:id()), true) -- спавним фейковый труп local sobj = alife():create("polter_dead",self.object:position(),self.object:level_vertex_id(),self.object:game_vertex_id()) self.object:set_fastcall(function() -- ждем спавна трупа local obj=level.object_by_id(sobj.id) if not obj then return false end -- пинаем физическую оболочку obj:get_physics_shell():apply_force(0,0.1,0) return true end) end end [polter_dead] class = O_PHYS_S remove_time = 999999 visual = monsters\poltergeist\poltergeist 1 Lua и LuaJIT плагины для Notepad++ SciTE-RU 3.5.5 плагины для MilkShape3D Ссылка на комментарий
Nostrik 0 Опубликовано 1 Апреля 2013 Поделиться Опубликовано 1 Апреля 2013 (изменено) А есть способ отследить уход ГГ с уровня, чтобы успеть перевести спейс-рестриктор в другую схему? Вот допустим пример логики: [logic] active = sr_idle@wait [sr_idle@wait] on_info = {=actor_on_level(zaton)} sr_idle@wait_out [sr_idle@wait_out] on_info = {!actor_on_level(zaton)} sr_idle@wait - которая не срабатывает. Проверка {!actor_on_level(zaton)} не успевает отработать и спейс-рестриктор остается все время в последней схеме...можно такое решить? А мне вот интересно, а как ты проверял, что условие не срабатывает? ColR_iT Изменено 1 Апреля 2013 пользователем ColR_iT Ссылка на комментарий
Nostrik 0 Опубликовано 2 Апреля 2013 Поделиться Опубликовано 2 Апреля 2013 (изменено) А мне вот интересно, а как ты проверял, что условие не срабатывает?Когда уходишь с уровня, потом возвращаешься - рестриктор остается во второй схеме. Проверьте, если не верите. Да, нет я то верю. :ny_megalol: Проблема в том, что ты возвращаешься на уровень... ColR_iT Вы меня наверное опять не поняли. Хорошо, чтобы понятней было изменим вот так: [logic] active = sr_idle@wait [sr_idle@wait] on_info = {=actor_on_level(zaton)} sr_idle@wait_out %=send_tip(actor_on_level)% [sr_idle@wait_out] on_info = {!actor_on_level(zaton)} sr_idle@wait То есть стартуем напрмер на затоне, получаем месседж, потом уходим на Юпитер, возвращаемся на Затон, но месседж опять не получаем. Рестриктор во второй схеме так и висит. Так вот с этого и нужно было начинать. Проблема не в условии, а в том, что ты от него хочешь. Апдейт работает только в онлайне, поэтому условие и не срабатывает. ColR_iT Изменено 2 Апреля 2013 пользователем ColR_iT Ссылка на комментарий
Artos 99 Опубликовано 2 Апреля 2013 Поделиться Опубликовано 2 Апреля 2013 (изменено) Nostrik, клиентский объект актора (game_object) НИКОГДА не меняет локации, т.е.актор всегда находится на той локации, которая загружена из сэйва. Поэтому любые проверки связанные с ним никогда не покажут смену уровня. В момент "перед переходом", когда создается автосэйв - серверному объекту актора устанавливаются соответствующие координаты локации, куда актор перейдет после перезагрузки... Можешь написать что-то свое или использовать проверку из utils.level_changing(), которая как раз и определяет будет ли переход на др.уровень или нет. Однако, я бы посоветовал, чтобы не рестриктор сам из своего апдейта выполнял бы проверку, а в момент создания автосэйва логика рестриктора должна принудительно проверяться и изменяться. В противном случае, не гарантированно, что сработает очередной апдейт для рестриктора и он сменит логику до записи его состояния в автосэйв. Изменено 2 Апреля 2013 пользователем Artos "Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени Ссылка на комментарий
Nostrik 0 Опубликовано 2 Апреля 2013 Поделиться Опубликовано 2 Апреля 2013 Artos спасибо. А где отследить момент создания автосейва? Ссылка на комментарий
Artos 99 Опубликовано 2 Апреля 2013 Поделиться Опубликовано 2 Апреля 2013 (изменено) Nostrik, есть вопросы, на которые невозможно ответить информативно но кратко... Автосэйвом заведует движок и нам, тем кто только скриптами и конфигами манипулирует в моддинге, сей момент доступен только наравне со всеми остальными аналогичными событиями, т.е. обычными сэйвами и квик-сэйвами... Т.о. у тебя два три пути: - по факту активизации метода actor_binder:save(...) ловить момент любого сэйва и уже из него определять "авто-" или нет. - в биндере твоего рестриктора в соответствующем методе сохранения делать то, что выше... - добавить в соотв.схему (например в твою sr_idle) недостающий метод сохранения и из него уже выполнять проверки и корректировки активной секции... Собственно готовые решения имеются в некоторых модах, но... парой строчек, без знаний Lua и алгоритмов игры тебе не обойтись. Ищи и обрящешь. ;-) Изменено 2 Апреля 2013 пользователем Artos "Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени Ссылка на комментарий
Nostrik 0 Опубликовано 2 Апреля 2013 Поделиться Опубликовано 2 Апреля 2013 Понятно, простого решения нет)) Будем искать... Спасибо за инфу! И вот еще замучил меня этот вылет с жалобами на xrRender_R3.dll(((( И игру переставлял, и юзер.лтх удалял - вылетает! Причем в самых неожиданных местах - может в меню вылететь, или при загрузке игры на стадии амд-роликов, и на чистой игре и с модами. Может что в системе не так? Но ведь раньше все нормально было на этой же системе и с этим железом. Драйвера свежие, железо нормальное...Помогайте братцы, я уже замучился((( Ссылка на комментарий
Shredder 49 Опубликовано 6 Апреля 2013 Поделиться Опубликовано 6 Апреля 2013 Восстанавливаю кошек. Как бы там много ума не надо. Но есть один вопрос. Если подойти к кошке, когда он идёт в спокойном состоянии, то слышен очень громкий топот, как будто это не кошка, а слон. Какой параметр можно подкрутить, чтобы шаги стало не слышно? Ссылка на комментарий
FeLLoN 0 Опубликовано 7 Апреля 2013 Поделиться Опубликовано 7 Апреля 2013 (изменено) Есть один вопрос. Пытался сам реализовать, но не получилось. Суть такова. Есть здание ( большое ). Есть один смарт. Нужно, что-бы вокруг здания находилось 3 отряда собак! в разных точках. Здание от начала новый игры далеко ( собаки при старте новой игры оффлайн ), нужно, что-бы при переходе в онлайн, собачки оказались на своих местах. Что я делал: В squad_descr_pripyat, в секции отряда писал spawn_point = pripyat_fmg4_spawn_point_1 ( и ставил вей поинт с таким-же именем. В итоге когда я прихожу на смарт, собаки появляются в центре смарта, а не на spawn_pont. Ставил 3 точки ( pripyat_fmg4_dog_home_1,2,3 ). В логике смарта писал: [smart_terrain];собачки! перед КБО! squad_id = 4 max_population = 4 [exclusive] dog_1 = fmg\pripyat\logic_dog_kbo.ltx dog_2 = fmg\pripyat\logic_dog_kbo.ltx dog_3 = fmg\pripyat\logic_dog_kbo.ltx dog_4 = fmg\pripyat\logic_dog_kbo.ltx dog_5 = fmg\pripyat\logic_dog_kbo.ltx dog_6 = fmg\pripyat\logic_dog_kbo.ltx dog_7 = fmg\pripyat\logic_dog_kbo.ltx dog_8 = fmg\pripyat\logic_dog_kbo.ltx dog_9 = fmg\pripyat\logic_dog_kbo.ltx dog_10 = fmg\pripyat\logic_dog_kbo.ltx dog_11 = fmg\pripyat\logic_dog_kbo.ltx dog_12 = fmg\pripyat\logic_dog_kbo.ltx Вот логика собачек: ;********************** 1 *************** [logic@dog_1] active = mob_home@dog_1 suitable = {=target_squad_name(sim_fmg_dog_squad_1)} true prior = 200 monster_job = true out_restr = pripyat_fmg4_sr_dombita [mob_home@dog_1] path_home = pripyat_fmg4_god_home_1 home_min_radius = 30 home_max_radius = 45 aggressive_home ;********************** 2 *************** [logic@dog_2] active = mob_home@dog_2 suitable = {=target_squad_name(sim_fmg_dog_squad_1)} true prior = 200 monster_job = true out_restr = pripyat_fmg4_sr_dombita [mob_home@dog_2] path_home = pripyat_fmg4_god_home_1 home_min_radius = 30 home_max_radius = 45 aggressive_home ;********************** 3 *************** [logic@dog_3] active = mob_home@dog_3 suitable = {=target_squad_name(sim_fmg_dog_squad_1)} true prior = 200 monster_job = false out_restr = pripyat_fmg4_sr_dombita [mob_home@dog_3] path_home = pripyat_fmg4_god_home_1 home_min_radius = 30 home_max_radius = 45 aggressive_home ;********************** 4 *************** [logic@dog_4] active = mob_home@dog_4 suitable = {=target_squad_name(sim_fmg_dog_squad_1)} true prior = 200 monster_job = false out_restr = pripyat_fmg4_sr_dombita [mob_home@dog_4] path_home = pripyat_fmg4_god_home_1 home_min_radius = 30 home_max_radius = 45 aggressive_home ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;*****************5*********************** [logic@dog_5] active = mob_home@dog_5 suitable = {=target_squad_name(sim_fmg_dog_squad_2)} true prior = 200 monster_job = false out_restr = pripyat_fmg4_sr_dombita [mob_home@dog_5] path_home = pripyat_fmg4_god_home_2 home_min_radius = 30 home_max_radius = 45 aggressive_home ;*****************6*********************** [logic@dog_6] active = mob_home@dog_6 suitable = {=target_squad_name(sim_fmg_dog_squad_2)} true prior = 200 monster_job = false out_restr = pripyat_fmg4_sr_dombita [mob_home@dog_6] path_home = pripyat_fmg4_god_home_2 home_min_radius = 45 home_max_radius = 100 aggressive_home ;*****************7*********************** [logic@dog_7] active = mob_home@dog_7 suitable = {=target_squad_name(sim_fmg_dog_squad_2)} true prior = 200 monster_job = false out_restr = pripyat_fmg4_sr_dombita [mob_home@dog_7] path_home = pripyat_fmg4_god_home_2 home_min_radius = 65 home_max_radius = 110 aggressive_home ;*****************8*********************** [logic@dog_8] active = mob_home@dog_8 suitable = {=target_squad_name(sim_fmg_dog_squad_2)} true prior = 200 monster_job = false out_restr = pripyat_fmg4_sr_dombita [mob_home@dog_8] path_home = pripyat_fmg4_god_home_2 home_min_radius = 22 home_max_radius = 48 aggressive_home ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;*****************9*********************** [logic@dog_9] active = mob_home@dog_9 suitable = {=target_squad_name(sim_fmg_dog_squad_3)} true prior = 200 monster_job = false out_restr = pripyat_fmg4_sr_dombita [mob_home@dog_9] path_home = pripyat_fmg4_god_home_3 home_min_radius = 60 home_max_radius = 89 aggressive_home ;*****************10*********************** [logic@dog_10] active = mob_home@dog_10 suitable = {=target_squad_name(sim_fmg_dog_squad_3)} true prior = 200 monster_job = false out_restr = pripyat_fmg4_sr_dombita [mob_home@dog_10] path_home = pripyat_fmg4_god_home_3 home_min_radius = 54 home_max_radius = 84 aggressive_home ;*****************11*********************** [logic@dog_11] active = mob_home@dog_11 suitable = {=target_squad_name(sim_fmg_dog_squad_3)} true prior = 200 monster_job = false out_restr = pripyat_fmg4_sr_dombita [mob_home@dog_11] path_home = pripyat_fmg4_god_home_3 home_min_radius = 71 home_max_radius = 96 aggressive_home ;*****************12*********************** [logic@dog_12] active = mob_home@dog_12 suitable = {=target_squad_name(sim_fmg_dog_squad_3)} true prior = 200 monster_job = false out_restr = pripyat_fmg4_sr_dombita [mob_home@dog_12] path_home = pripyat_fmg4_god_home_3 home_min_radius = 23 home_max_radius = 47 aggressive_home Если написать в squad_descr_pripyat, в секции отряда target_smart = pripyat_fmg4, то происходит вот такой вылет: Expression : !m_error_code Function : raii_guard::~raii_guard File : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp Line : 748 Description : ...Ð. Çîâ Ïðèÿïÿòè\gamedata\scripts\bind_monster.script:262: attempt to index local 'smart_task' (a nil value) Там, что-то связанно с работой... Ставил 12 валкеров в смарте... в логике собачек писал monster_job = false (там это в коде есть ). Мб я, что-то не так делаю? В оригинальном ЗП видел, как отряд монстров пришел на смарт, некоторые кабаны начали патрулировать, другие спать... смотрел в СДК смарт... вроде стандартный, с гуардами, валкерами, кемпом, коверами... Помогите пожалуйста! Изменено 7 Апреля 2013 пользователем FeLLoN Ссылка на комментарий
Silver Raven 197 Опубликовано 7 Апреля 2013 Поделиться Опубликовано 7 Апреля 2013 (изменено) Shredder Звук ходьбы у мобов настраивается параметром material = creatures\*имя параметра* в соответствующем конфиге. З.Ы. Для кошки, советую поставить бесшумный: material = creatures\phantom. З.Ы.Ы. Народ, подскажите, кто знает, как правильно настроить направление взгляда ГГ, при создании своего перехода между уровнями. Пробовал ставить соответствующие координаты выдаваемые спец. скриптом, но толку нет. В различных статьях по созданию переходов, как через алл.спавн (в моем случае), так и через скрипт, этому не уделяется никакого внимания. Как говориться: "Работает и ладно...". По переходам можешь заглянуть сюда: >>ClicK Me<< ColR_iT Изменено 7 Апреля 2013 пользователем ColR_iT 3 aka Stalker_AleX333 Мои проекты - ЯндексДиск | Я на Gamer-Mods.ru Ссылка на комментарий
S.K.Y.M.I.X.X.E.R.S 4 Опубликовано 10 Апреля 2013 Поделиться Опубликовано 10 Апреля 2013 (изменено) FeLLoN Ну логику ты нормально якобы написал, ну не все. Здесь много недостающих данных. 1.зарегистрировал ли в simulation_objects_props.ltx Если да то какое оно имеет значение??? 2.покажы код сквада собак 3.непонятно какой ты используешь смарт свой или оригинальный??? Если свой то squad_id должен быть уникальным не повторяться. 4.поставь лучше monster_job = true в всех работах собак 5.что за aggressive_home может aggressive = true 6.проверь путти в файле way_pripyat.ltx, а именно префикс имени пути Если я правильно тебя понял смарт у тебя pripyat_fmg4, ну тогда пути у way_pripyat.ltx должны иметь такие имена pripyat_fmg4_pripyat_fmg4_god_home_1 pripyat_fmg4_pripyat_fmg4_god_home_2 pripyat_fmg4_pripyat_fmg4_god_home_3 7.что-то мне не нравится такая запись fmg\pripyat\logic_dog_kbo.ltx, ну не знаю точно, надо видеть содержимое папок. Папка fmg должна быть вместе с папкой smart в папке configs\scripts\pripyat\ В оригинальном ЗП видел, как отряд монстров пришел на смарт, некоторые кабаны начали патрулировать, другие спать... смотрел в СДК смарт... вроде стандартный, с гуардами, валкерами, кемпом, коверами... Что касается этого если хочешь чтобы в твой смарт приходили симуляционные монстры, то напиши такой код у файле simulation_objects_props.ltx. Это уже как повезет, когда кто-то из мутантов придет с другого смарта у твой. Кто знает кабаны, кровососы, собаки, может прийти кто угодно. В том фишка симуляции. Если ты спавниш в своем смарте отряд, то вряд ли он задержатся там. [TVOY_SMART]:default_lair territory = 1 sim_avail = true Изменено 10 Апреля 2013 пользователем S.K.Y.M.I.X.X.E.R.S Ссылка на комментарий
Сталкер Лом 356 Опубликовано 14 Апреля 2013 Поделиться Опубликовано 14 Апреля 2013 Здравствуйте. С анимациями заминка получилась: в схеме remark параметр anim ставлю psy_shoot. Всё идёт нормально: сталкер падает на колени, тяжело дышит, собирается с силами для последнего усилия в его жизни - нажатия отягощёнными пальцами на спусковой курок пистолета и... Падает замертво. Просто падает, выстрела из пистолета нет, а в Build 2232 сталкер после выстрела аж отлетает к стене. Из за чего такой баг может быть? Работы на Artstation - https://www.artstation.com/artist/stalker_lom Ссылка на комментарий
Jeka81 75 Опубликовано 14 Апреля 2013 Поделиться Опубликовано 14 Апреля 2013 Доброго времени суток! 1. У меня такая проблема - ресурсы Зова Припяти распаковал, перекинул в "K:\X-Ray_CoP_SDK\editors\gamedata". 2. Скачал конвертер, распаковал в папку editors. 3. Переименовал fsconverter_cop в fsconverter. В строке 2 прописал свой путь: "$sdk_root$ = false| false| K:\X-Ray_CoP_SDK\editors\" 4. В converter.ini изменил следующие строки: ; 3870+ (Call of Pripyat включая обновления) [3870_config]:3456_config $game_data$ = K:\X-Ray_CoP_SDK\editors\gamedata\ $game_levels$ = K:\X-Ray_CoP_SDK\editors\gamedata\levels\ spawn_version = cop 5. Вот мой батник: converter -level zaton -out zaton_decompiled -mode le -with_lods pause Но при запуске он выдает такое сообщение: Level name: zaton can't load zaton Что делать? Или я что-то не так делаю? С#Н#Т#Р# (CoP 1.6.02) Ссылка на комментарий
Shredder 49 Опубликовано 14 Апреля 2013 Поделиться Опубликовано 14 Апреля 2013 converter -level cop:zaton -out zaton_decompiled -mode le -with_lods Ссылка на комментарий
kiv@ 0 Опубликовано 16 Апреля 2013 Поделиться Опубликовано 16 Апреля 2013 (изменено) У меня есть вопрос - НПС в логике использует схему remark, как прописать чтобы при этом он смотрел в заданную точку. :ny_use_search: >>ClicK Me<< ColR_iT Изменено 16 Апреля 2013 пользователем ColR_iT Ссылка на комментарий
Wo1fRam 79 Опубликовано 21 Апреля 2013 Поделиться Опубликовано 21 Апреля 2013 Доброго времени суток, коллеги! Вот меня всегда напрягал поиск артефактов в ЧН/ЗП - при помощи детектора. Вот если подумать, то возникает вопрос: а как же самые первые сталкеры находили артефакты без детекторов? Ведь даже в предыстории игры говорится, что "вслед за сталкерами за изучение Зоны берутся учёные", которые, собсна, и придумали детекторы. Короче, суть вопроса такова: можно ли артефактам вернуть видимость как в ТЧ? Не всем. Например, самые простые арты найти можно легко; арты покруче найти сложно, но без детектора возможно, но с детектором легче (всевозможные сигналы, отображение на экране и т.п.); ну а крутые арты уже без детектора не найти. Мой канал на YouTube Бессмысленно осмысливать смысл неосмысленными мыслями. Ссылка на комментарий
Сталкер Лом 356 Опубликовано 21 Апреля 2013 Поделиться Опубликовано 21 Апреля 2013 Wo1fRam, во, хоть кто-то нашёлся, кто разделяет мои чувства! Тоже этот момент меня напрягал и у себя я его исправил так: видимые артефакты - все из ТЧ + несколько новых, засекаемые только детекторами - ново введённые в ЧН и ЗП + несколько новых. А делается это следующим образом: Есть строчка в конфиге артефакта - af_rank и есть несколько значений для неё: 0 (видимый), 1 (засекается Откликом и выше), 2 (Медведь и выше), 3 (Велес и Сварог) И всё. P.S. Но если делать так, то отпадает надобность в детекторах, а они "прижились", без них будет как-то не так... Но из этого положения выход есть... Работы на Artstation - https://www.artstation.com/artist/stalker_lom Ссылка на комментарий
Wo1fRam 79 Опубликовано 21 Апреля 2013 Поделиться Опубликовано 21 Апреля 2013 Сталкер Лом, благодарю. И как же я сам до этого не додумался? А детекторы я полностью исключать не хочу: самые простые арты, допустим, "Кипятильник" из книг, пусть будет видно - не обшаривать же аномалию с детектором, чтобы кофейку заварить :ny_z_6: А те что покруче будем детектором находить. Мой канал на YouTube Бессмысленно осмысливать смысл неосмысленными мыслями. Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти