iDreD 5 Опубликовано 1 Июля 2011 Поделиться Опубликовано 1 Июля 2011 Запикает ли детектор рядом с ней. Работа в Sculptris 3D [туториал] Страничка на Проза.ру Ссылка на комментарий
PavelSnork 3 Опубликовано 2 Июля 2011 Поделиться Опубликовано 2 Июля 2011 (изменено) iDreD, имелось ввиду - где-нибудь можно отрегулировать, чтобы, например, НПС одевали фонари раньше/все время их носили и включали позже? Название файла логики в общем интересует... Antnigm, можно. Если я не ошибаюсь, то в файле sr_light.script найди вот эти строки: if not forced then --' Проверка по времени суток (ночью всегда включено) local htime = level.get_time_hours() if htime <= 4 or htime >= 22 then light = true end Думаю, далее ты и сам разберешься, что править. Изменено 2 Июля 2011 пользователем PavelSnork Жду ли я Сталкер 2? Хм... Ссылка на комментарий
iDreD 5 Опубликовано 2 Июля 2011 Поделиться Опубликовано 2 Июля 2011 PavelSnork, это как раз и есть файл с настройками логики для того самого рестриктора. К НПС находящимся в симуляции это не имеет никакого отношения. Работа в Sculptris 3D [туториал] Страничка на Проза.ру Ссылка на комментарий
PavelSnork 3 Опубликовано 2 Июля 2011 Поделиться Опубликовано 2 Июля 2011 iDreD, это как? Да, в том скрипте есть одна маленькая проверка на зоны выключения фонарика, но я писал о проверке на время суток, что и просил подсказать Antnigm. Я только что сам все протестировал (поменял время включения фонарика): Жду ли я Сталкер 2? Хм... Ссылка на комментарий
iDreD 5 Опубликовано 2 Июля 2011 Поделиться Опубликовано 2 Июля 2011 PavelSnork, странное дело. Просто [sr_light] это секция настроек для рестриктора, юзающаяся в его же логике. Не знал, что этот скрипт применим к сталкерам. Работа в Sculptris 3D [туториал] Страничка на Проза.ру Ссылка на комментарий
karavan 36 Опубликовано 2 Июля 2011 Поделиться Опубликовано 2 Июля 2011 (изменено) Кто может подсказать логику для того, что бы монстры передвигались между смарт_терейнами? Например, есть два смарт терейна pred1 и pred2. Что надо писать им в логику? Нужно ли создавать пути для передвижения монстров? Изменено 2 Июля 2011 пользователем karavan Ссылка на комментарий
Clayman 104 Опубликовано 2 Июля 2011 Поделиться Опубликовано 2 Июля 2011 karavan, если ты имеешь ввиду передвижение сквадов монстров, то в описании сквада нужно делать так: target_smart = pred1:pred2 Если хочешь чтобы они зацикленно ходили между смартами то так: target_smart = pred1:pred2:loop Можно добавлять условия стандартые из xr_condition: target_smart = {+info} pred1, {=is_rain} pred2, pred3 - т.е. при наличии инфопоршня идут в первый смарт, если нет, но идет дождь то во второй, если не то не то, то в третий...ну и так далее. Еще можно такую интересную схему: target_smart = pred1:nil - сквад идет в смарт pred1 а потом становится свободным, т.е. уходит в симуляцию. Ссылка на комментарий
karavan 36 Опубликовано 2 Июля 2011 Поделиться Опубликовано 2 Июля 2011 Clayman А если скажем три смарта, то по такой схеме target_smart = pred1:pred2:pred3:loop они будут передвигатся из pred1 в pred2 и потом в pred3 и наконец вернутся в pred1? Или же передвижение будет случайным выбором? Ссылка на комментарий
Clayman 104 Опубликовано 2 Июля 2011 Поделиться Опубликовано 2 Июля 2011 karavan, да, именно так и будут передвигаться, по порядку. Если нужно случайность, то бишь симуляция, то вообще target_smart не указывай, но у смарт-террейнов должен стоять параметр sim_avail = true, чтобы он мог "принимать" сквады. Ссылка на комментарий
karavan 36 Опубликовано 2 Июля 2011 Поделиться Опубликовано 2 Июля 2011 (изменено) Кто может подсказать как создать скользящую дверь как на Свалке? Дело в том, что заселяю Предбанник от АМК, там есть две скользяшие двери и при прописывании им логики для дверей, причём любой, получаю вылет: [error]Expression : assertion failed [error]Function : doors::door::door [error]File : D:\prog_repository\sources\trunk\xrGame\doors_door.cpp [error]Line : 36 [error]Description : m_object.get_door_vectors( m_closed_vector, m_open_vector ) Логика вот: [logic] active = ph_door@close [ph_door@close] locked = false closed = true snd_open_start = trader_door_open_start snd_close_start = trader_door_close_start snd_close_stop = trader_door_close_stop on_use = ph_door@open [ph_door@open] locked = false closed = false snd_open_start = trader_door_open_start snd_close_start = trader_door_close_start snd_close_stop = trader_door_close_stop on_use = ph_door@close Может быть у кого есть рабочая логика? Или способ создания полноценных дверей? Изменено 5 Июля 2011 пользователем Cyclone Ссылка на комментарий
Clayman 104 Опубликовано 2 Июля 2011 Поделиться Опубликовано 2 Июля 2011 karavan, да писали уже много, что в ЗП скользящие двери не работают как класс, логика тут не причем. Самому хотелось бы узнать, если кто решил эту проблему. Ссылка на комментарий
Clayman 104 Опубликовано 2 Июля 2011 Поделиться Опубликовано 2 Июля 2011 Кубанец, это тема "Ковыряемся в файлах ЗП". Вот такое заметил: допустим пошел дождь на уровне, все нормально, шум дождя...перехожу в это время на другую локу - дождь продолжает идти, но звук дождя пропадает. Или та-же ситуация с сохранением: дождь идет, F5-F9, дождь идет, но звука нету... Это баги оригинальной игры или что-то еще? Сразу говорю, погодные конфиги не трогал, погада везде на локах dynamic_default... Ссылка на комментарий
karavan 36 Опубликовано 2 Июля 2011 Поделиться Опубликовано 2 Июля 2011 Clayman Спасибо за совет по поводу передвижения НПС между смартами, все работает. ------------------------------------ Вот возник вопрос. Что нужно прописывать в логику смарта и возможно в логику эксклюзива для того что бы сталкер патрулировал по путям? Пытался писать эксклюзив с путями для НПС, но что-то ничего не происходило. Этого самого эксклюзива даже не появлялось. И еще нжно ли в путях писать например, wp00|a=sprint, что бы бежал и т.п.? Ссылка на комментарий
Clayman 104 Опубликовано 2 Июля 2011 Поделиться Опубликовано 2 Июля 2011 karavan, наздоровье А насчет работ и путей столько уже всего писалось и на сталкер-вики куча статей по логике и путям-работам, и описанием как и что в вей-поинтах писать, что честное слово, лень повторять. Насчет эксклюзивов, ту надо понимать, что когда ты пишешь в конфиге смарт-террейна: [exclusive] что_то_там = папка_уровня\файл.ltx, то ты даешь ссылку на логику эксклюзивной работы для этого смарта. Далее в файл.ltx ты пишешь секцию логики этой работы: [logic@что_то_там] а в этой секции нужно взять под эту логику нужного нпс: suitable = {=check_npc_name(твой_нпс)} или: suitable = {=target_squad_name(нужный_сквад)} Естественно, нужный нпс - сквад должен присутствовать в смарте. Если нужно конкретного непися, то конечно нужно создавать его профиль и все такое, а если напишешь к примеру такое: suitable = {=is_monster_dog} true, то под эту логику возьмется первая попавшая собачка в смарте. Т.е. как я понимаю все это, дается ссылка на эксклюзивную работу (с логикой) для смарта, а в логике ты определяешь, кого под эту работу взять. Добавлено через 18 мин.: И еще, выжный момент, о который спотыкаются многие начинающие (и я не исключение) и о котором я нигде не видел упоминания в туторах: Когда создаешь вей-поинты для своего эксклюзива, называешь их с именем смарта вначале, например: zat_a1_supersniper_walk zat_a1_supersniper_look, то потом в логике обязательно опускаешь имя смарт-террейна: [camper@zat_a1_supersniper] path_walk = supersniper_walk path_look = supersniper_look И вообще советую внимательно изучать пысовские файлы настроек и логики, находишь много нового Ссылка на комментарий
karavan 36 Опубликовано 3 Июля 2011 Поделиться Опубликовано 3 Июля 2011 Товарищи нужна помощь. Добавил новую групировку "csky". При попытке поговорить с НПС этой группировки получаю вылет: [error]Expression : !phrase_dialog->m_PhraseVector.empty() [error]Function : CPhraseDialog::SayPhrase [error]File : D:\prog_repository\sources\trunk\xrGame\PhraseDialog.cpp [error]Line : 146 [error]Description : No available phrase to say, dialog[hello_dialog] Регистрировал группировку в файлах game_relations.ltx, death_manager.script, death_items_by_communities.ltx Подумал что не зарегестрировал где-то начал смотреть в dialog_manager.script дописал в функцию function uni_dialog_precond(first_speaker, second_speaker) local npc = dialogs.who_is_npc(first_speaker, second_speaker) return character_community(npc) == "stalker" or character_community(npc) == "bandit" or character_community(npc) == "freedom" or character_community(npc) == "dolg" or character_community(npc) == "csky" end Вылет при попытке поговорить всеравно происходит. ------------------------------------------- И еще подскажите пожалуйста функцию для проверки через диалог "Если НПС ранен..."? Не могу найти в ЗП подходящий пример. Ссылка на комментарий
Po-meceniy 4 Опубликовано 3 Июля 2011 Поделиться Опубликовано 3 Июля 2011 karavan, возможно это не в группировке дело, а в самом неписе: в его секции должен быть прописан #include "gameplay\character_dialogs.xml" или <start_dialog>hello_dialog</start_dialog> Ссылка на комментарий
karavan 36 Опубликовано 3 Июля 2011 Поделиться Опубликовано 3 Июля 2011 Po-meceniy Да всё это есть. Я вот и не могу понять в чем проблема, если новый НПС со старой группировкой то все в порядке, если новая группировка то вылет. Добавлено через 11 мин.: Товарищи, подскажите пожалуйста, нужна функция для диалога (прекондишн) с провркой если НПС, с которым разговариваеш раненый? Ссылка на комментарий
SibireaStalker 0 Опубликовано 5 Июля 2011 Поделиться Опубликовано 5 Июля 2011 Ох и много же вопросов накопилось! 1) Можно ли сделать постоянно респаунищиеся мины? Чтобы после взрыва, спустя несколько секунд, мина появлялась на том же месте? 2) Захотел сделать аномалию (эта , которая летает, fireball_acidic), но не понял, как задать ей логику... И причём в этой аномалии *anm? 3) Начал ковырять смарты, накопилась пара вопросов: [smart_terrain] squad_id = 34 -- ??? max_population = 3 --понятно respawn_only_smart = true --понятно respawn_params = respawn@pri_sim_12 --понятно arrive_dist = 100 --понятно def_restr = pri_a16_sr_noweap --понятно safe_restr = pri_surge_hide_a16; pri_a16_sr_light --??? smart_control = smart_control --понятно spawn_point = zat_sim_16_spawn_point --??? respawn_radius = 150 --понятно respawn_sector = default --???? до 1. Рабочих примеров нет. Работоспособность сомнительна mutant_lair = --не работает. no_mutant = --не работает. forbidden_point = --не работает. [respawn@pri_sim_12] --понятно sim_tushkano [sim_tushkano] spawn_squads = simulation_tushkano --понятно spawn_num = {+pri_a18_use_idol_done}2, 0 --понятно [smart_control] noweap_zone = pri_a16_sr_noweap --понятно ignore_zone = pri_surge_hide_a16; pri_a16_sr_light --???? combat_ignore_keep_when_attacked = true alarm_start_sound = {-pri_b305_fifth_cam_end} pri_a16_base_alarm, nil --понятно alarm_stop_sound = {-pri_b305_fifth_cam_end} pri_a16_base_relax, nil --понятно [exclusive] pri_b35_envoy_after = pripyat\pri_b35_envoy_logic.ltx --понятно Причём удалив некоторые вещи, игра вылетела с error is handler evonkled! Что вообще можно трогать и с чем связан вылет? 4)Заспаунил НПС через скрипт, получил вылет. Вот так прописал: чертердескл11припять <?xml version='1.0' encoding="windows-1251"?> <xml> <specific_character id="l11_pripyat_trader" team_default = "1"> <name>Олег "Демон" Гусаров</name> <icon>ui_inGame2_neutral_2_mask</icon> <map_icon x="1" y="0"></map_icon> <bio>Опытный сталкер. Детальная информация отсутствует.</bio> <class>my_stalker</class> <community>stalker</community> <terrain_sect>stalker_terrain</terrain_sect> <snd_config>characters_voice\human_03\stalker\</snd_config> <rank>65</rank> <reputation>0</reputation> <visual>actors\stalker_neutral\stalker_neutral_2_mask</visual> <supplies> [spawn] wpn_beretta = 1 \n ammo_9x19_fmj = 1 \n grenade_rgd5 = 1 \n #include "gameplay\character_items.xml" #include "gameplay\character_food.xml" #include "gameplay\character_drugs.xml" </supplies> #include "gameplay\character_criticals_4.xml" <actor_dialog>actor_break_dialog</actor_dialog> </specific_character> </xml> нпцпрофиль <character id="l11_pripyat_trader"> <class>l11_pripyat_trader</class> </character> спаунсекшонсл11припять [l11_pripyat_trader]:stalker $spawn = "respawn\l11_pripyat_trader" character_profile = l11_pripyat_trader spec_rank = master community = stalker custom_data = scripts\l11_pripyat\Oleg_Gusarov_logic.ltx логика [logic] active = remark1 danger = danger_ignore [danger_ignore] ignore_distance = 5 [remark1] no_move = true л11_олег_гусаров (ИНГЛИШ) function start_add_spawn()--\\ --\\ -- spawn_l11_oleg_gusarov() end function spawn_l11_oleg_gusarov_one() local x= -109.224472 local y= -2.230958 local z= 6.826965 local level_vertex= 11884 local game_vertex_id= 1323 alife():create("l11_pripyat_trader",vector():set(x,y,z),level_vertex,game_vertex_id) end function save_variable(variable_name, value) xr_logic.pstor_store(db.actor, variable_name, value) end function load_variable(variable_name, value_if_not_found) return xr_logic.pstor_retrieve(db.actor, variable_name, value_if_not_found) end бинд_сталкирь function actor_binder:update(delta) object_binder.update(self, delta) if string.find(command_line(), "-designer") then return end if self.already_jumped==false and jump_level.need_jump==true and (device().frame > self.spawn_frame+2000) then jump_level.try_to_jump() self.already_jumped = true return end if l11_oleg_gusarov.load_variable("spawn_l11_oleg_gusarov",false)==false then l11_oleg_gusarov.start_add_spawn() l11_oleg_gusarov.save_variable("spawn_l11_oleg_gusarov",true) end Выводы модмейкера: 1)Вылетает - это хорошо. Значит, работает 2) Если хочешь сделать что-то хорошо, делай сам! 3) Если падёшь духом, падёт и мод. 4) Он живой... Ссылка на комментарий
KD87 718 Опубликовано 5 Июля 2011 Поделиться Опубликовано 5 Июля 2011 SibireaStalker, летающие аномалии летают по путям, а не с помощью логики, причем имеют особый класс - zone_torrid. Для того там в конфиге и anm. А по смарт-террейнам есть же статья на вики. Ссылка на комментарий
Cyclone 124 Опубликовано 5 Июля 2011 Поделиться Опубликовано 5 Июля 2011 Есть ряд вопросов: 1) Каким образом можно убрать спавн бандитов на складовске? Утром, сталкеры и бандиты дружно выбегают из люка складовска и отбежав некоторое расстояние, начинают также дружно друг по другу стрелять... 2) Как убрать аларм при стрельбе по бандитам поблизости складовска? Стрельнув с палубы по какому-нибудь бандиту, включается аларм "складовск атакован, мы задраиваем люки". И все кому не лень начинают по мне стрелять. 3) Где подкрутить логику (думаю, дело в ней) у нпц, чтобы при стрельбе по ним с расстояния, они не игнорировали? Пример: идет отряд бандитов, а по ним издалека стреляют сталкеры. Бандиты игнорируют попадания и идут дальше, пока их не перестреляют. Правила форума, 3.6. Предупреждение. ЛС закрыта. Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти