Сталкер Лом 356 Опубликовано 1 Апреля 2013 Поделиться Опубликовано 1 Апреля 2013 Charsi, закоментировал строки, которые Вы указали для "выпадения" Полтергейста, но не увидел желанного эффекта. Может, за данный эффект отвечают другие строки\параметры? Ссылка на комментарий
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 441 Опубликовано 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 Ссылка на комментарий
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 Ссылка на комментарий
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 сталкер после выстрела аж отлетает к стене. Из за чего такой баг может быть? Ссылка на комментарий
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 Что делать? Или я что-то не так делаю? Ссылка на комментарий
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 Доброго времени суток, коллеги! Вот меня всегда напрягал поиск артефактов в ЧН/ЗП - при помощи детектора. Вот если подумать, то возникает вопрос: а как же самые первые сталкеры находили артефакты без детекторов? Ведь даже в предыстории игры говорится, что "вслед за сталкерами за изучение Зоны берутся учёные", которые, собсна, и придумали детекторы. Короче, суть вопроса такова: можно ли артефактам вернуть видимость как в ТЧ? Не всем. Например, самые простые арты найти можно легко; арты покруче найти сложно, но без детектора возможно, но с детектором легче (всевозможные сигналы, отображение на экране и т.п.); ну а крутые арты уже без детектора не найти. Ссылка на комментарий
Сталкер Лом 356 Опубликовано 21 Апреля 2013 Поделиться Опубликовано 21 Апреля 2013 Wo1fRam, во, хоть кто-то нашёлся, кто разделяет мои чувства! Тоже этот момент меня напрягал и у себя я его исправил так: видимые артефакты - все из ТЧ + несколько новых, засекаемые только детекторами - ново введённые в ЧН и ЗП + несколько новых. А делается это следующим образом: Есть строчка в конфиге артефакта - af_rank и есть несколько значений для неё: 0 (видимый), 1 (засекается Откликом и выше), 2 (Медведь и выше), 3 (Велес и Сварог) И всё. P.S. Но если делать так, то отпадает надобность в детекторах, а они "прижились", без них будет как-то не так... Но из этого положения выход есть... Ссылка на комментарий
Wo1fRam 79 Опубликовано 21 Апреля 2013 Поделиться Опубликовано 21 Апреля 2013 Сталкер Лом, благодарю. И как же я сам до этого не додумался? А детекторы я полностью исключать не хочу: самые простые арты, допустим, "Кипятильник" из книг, пусть будет видно - не обшаривать же аномалию с детектором, чтобы кофейку заварить :ny_z_6: А те что покруче будем детектором находить. Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти