Painter 3 549 Опубликовано 1 Апреля 2017 configs/misc/simulation.ltxconfigs/misc/simulation.ltxУдали строку: zat_b28_snork_squad = zat_b28zat_b28_snork_squad = zat_b28 1 Портфолио Поделиться этим сообщением Ссылка на сообщение
Painter 3 549 Опубликовано 15 Августа 2017 (изменено) @Дизель, can_select_weapon = falsecan_select_weapon = false Изменено 15 Августа 2017 пользователем Jurok 2 Портфолио Поделиться этим сообщением Ссылка на сообщение
Painter 3 549 Опубликовано 21 Августа 2017 (изменено) Цитата -- Загружаем function load(package) package:r_u32(point_skill) end @XMODER, попробуй так: function load(reader) point_skill = reader:r_u32() endfunction load(reader) point_skill = reader:r_u32() end Изменено 21 Августа 2017 пользователем Jurok Портфолио Поделиться этим сообщением Ссылка на сообщение
Painter 3 549 Опубликовано 23 Августа 2017 (изменено) 22.08.2017 в 22:08, Дизель сказал: Как еще оригинал работает - не понятно. 23.08.2017 в 14:02, warwer сказал: Править надо по любому. Не применяется это в ЗП. Вообще. Можно любую белеберду там писать: хоть лишние символы, хоть слова на кириллице - игра преспокойно запустится. Цитата не хотели искать причину дак лентяй в движке профиксили "Лень - мать прогресса" (с) Изменено 23 Августа 2017 пользователем Jurok Портфолио Поделиться этим сообщением Ссылка на сообщение
Painter 3 549 Опубликовано 6 Марта 2018 Создай рестриктор с примерным содержимым: [logic] active = sr_idle [sr_idle] on_info = {+инфопоршень} sr_idle@teleport %=disable_ui =play_sound(звук)% [sr_idle@teleport] on_game_timer = 20 | sr_idle@end %=teleport_actor(walk:look)% [sr_idle@end] on_game_timer = 20 | sr_idle@nil %=enable_ui% [sr_idle@nil][logic] active = sr_idle [sr_idle] on_info = {+инфопоршень} sr_idle@teleport %=disable_ui =play_sound(звук)% [sr_idle@teleport] on_game_timer = 20 | sr_idle@end %=teleport_actor(walk:look)% [sr_idle@end] on_game_timer = 20 | sr_idle@nil %=enable_ui% [sr_idle@nil] 1 2 2 Портфолио Поделиться этим сообщением Ссылка на сообщение
Painter 3 549 Опубликовано 8 Марта 2018 (изменено) @WizziGun , 1. Пример: Показать [logic] active = sr_idle [sr_idle] on_info = {+инфопоршень} sr_idle@timer [sr_idle@timer] on_game_timer = 10 | sr_idle@teleport %=disable_ui =play_sound(звук)% [sr_idle@teleport] on_game_timer = 20 | sr_idle@end %=teleport_actor(walk:look)% [sr_idle@end] on_game_timer = 20 | sr_idle@nil %=enable_ui% [sr_idle@nil] [logic] active = sr_idle [sr_idle] on_info = {+инфопоршень} sr_idle@timer [sr_idle@timer] on_game_timer = 10 | sr_idle@teleport %=disable_ui =play_sound(звук)% [sr_idle@teleport] on_game_timer = 20 | sr_idle@end %=teleport_actor(walk:look)% [sr_idle@end] on_game_timer = 20 | sr_idle@nil %=enable_ui% [sr_idle@nil] 2. В оригинальном "Зове Припяти", насколько помню, данная анимация отсутствует. Можешь взять из ресурсов "Чистого неба" (anims/camera_effects/prison_1.anm) или воспользоваться похожей (anims/camera_effects/surge_01.anm). Показать В скрипте xr_effects добавь функцию: function название_функции() level.add_cam_effector("camera_effects\\surge_01.anm", 100, false, "") end function название_функции() level.add_cam_effector("camera_effects\\surge_01.anm", 100, false, "") end И вызови на завершающей стадии: [sr_idle@end] on_game_timer = 20 | sr_idle@nil %=enable_ui =название_функции% [sr_idle@end] on_game_timer = 20 | sr_idle@nil %=enable_ui =название_функции% Изменено 8 Марта 2018 пользователем Jurok 1 2 Портфолио Поделиться этим сообщением Ссылка на сообщение
Painter 3 549 Опубликовано 16 Марта 2018 Подойдёт, но если хочешь использовать анимацию "surge_01.anm", то придётся взять её из ресурсов "Зова Припяти". 1 Портфолио Поделиться этим сообщением Ссылка на сообщение
Painter 3 549 Опубликовано 1 Мая 2018 Цитата нужно сделать его или пустым либо с минимальным количеством патронов В death_manager.script найди функцию set_weapon_drop_condition и добавь в ней item:set_ammo_elapsed(0) function set_weapon_drop_condition(item) local condition = (math.random(40)+40)/100 item:set_condition(condition) item:set_ammo_elapsed(0) endfunction set_weapon_drop_condition(item) local condition = (math.random(40)+40)/100 item:set_condition(condition) item:set_ammo_elapsed(0) end 1 2 Портфолио Поделиться этим сообщением Ссылка на сообщение
Painter 3 549 Опубликовано 1 Мая 2018 (изменено) Не совсем понимаю, что требуется. Рандомная вероятность полной очистки рожка? Вот пример из моей разработки: function set_weapon_drop_condition(item) local condition = (math.random(40)+40)/100 local chance = 0.8 -- чем больше число, тем выше шанс очистки рожка. item:set_condition(condition) if (math.random() < chance) then item:set_ammo_elapsed(0) end endfunction set_weapon_drop_condition(item) local condition = (math.random(40)+40)/100 local chance = 0.8 -- чем больше число, тем выше шанс очистки рожка. item:set_condition(condition) if (math.random() < chance) then item:set_ammo_elapsed(0) end end Изменено 1 Мая 2018 пользователем Jurok 2 Портфолио Поделиться этим сообщением Ссылка на сообщение
Painter 3 549 Опубликовано 8 Июня 2018 @sem_27, в "Зове Припяти" отсутствует возможность вызова функции через инфопоршень. 1 Портфолио Поделиться этим сообщением Ссылка на сообщение
Painter 3 549 Опубликовано 21 Июля 2018 @WizziGun, что мешает выдать инфопоршень через рестриктор по аналогии с оригинальным ЗП? Пример: [logic] active = sr_idle [sr_idle] on_info = {=actor_has_item(zat_b206_quest_kurier) -zat_b106_kar_quest_next} sr_idle@nil %+zat_b106_kar_quest_next% [sr_idle@nil][logic] active = sr_idle [sr_idle] on_info = {=actor_has_item(zat_b206_quest_kurier) -zat_b106_kar_quest_next} sr_idle@nil %+zat_b106_kar_quest_next% [sr_idle@nil] 1 1 Портфолио Поделиться этим сообщением Ссылка на сообщение
Painter 3 549 Опубликовано 25 Июля 2018 @WizziGun, Показать [zat_b206_kar_task]icon = ui_inGame2_kar_kurerprior = 1storyline = falsetitle = {+zat_b106_kar_quest_sprosit} zat_b206_kar_title2, {+zat_b106_kar_quest_next} zat_b206_kar_title1, {+zat_b106_kar_quest_start} zat_b206_kar_title0descr = {+zat_b106_kar_quest_sprosit} zat_b206_kar_desc2, {+zat_b106_kar_quest_next} zat_b206_kar_desc1, {+zat_b106_kar_quest_start} zat_b206_kar_desc0target = {+zat_b106_kar_quest_sprosit} zat_a2_stalker_mechanic, {+zat_b106_kar_quest_next} zat_a2_stalker_mechanic, {+zat_b106_kar_quest_start} zat_b106_find_chimera_id 1 1 Портфолио Поделиться этим сообщением Ссылка на сообщение
Painter 3 549 Опубликовано 30 Июля 2018 @WinCap, взгляни на логику псевдособаки Ноя из оригинального "Зова Припяти": Путь к файлу: configs\scripts\zaton\zat_b18_dog_noah.ltx Портфолио Поделиться этим сообщением Ссылка на сообщение
Painter 3 549 Опубликовано 26 Декабря 2018 @t3wm0n, смотри в configs/creatures/immunities.ltx и configs/models/capture 1 Портфолио Поделиться этим сообщением Ссылка на сообщение
Painter 3 549 Опубликовано 1 Января 2019 @t3wm0n, из FAQ по вылетам: Читать: (Показать) Причина: В игре закончились идентификаторы. В игре может быть НЕ БОЛЕЕ 65534 объектов. Видимо, у Вас на создавалось столько, как - это другой вопрос. Лечение: Почистить игру от лишних объектов. 1 1 Портфолио Поделиться этим сообщением Ссылка на сообщение
Painter 3 549 Опубликовано 22 Января 2019 (изменено) @warwer, по моему, @Judex указал всё вполне корректно. В оригинале также есть схема подбора оружия, лежащего на отдалении (xr_gather_items.script). Отключается, если в логике персонажа указать gather_items_enabled = false. Правда, если выкинуть оружие непосредственно перед персонажем или оставить на его пути движения, он всё равно подберёт его. Не копал эту тему, так что было бы самому интересно узнать, как реализовать полный запрета на подбор оружия для конкретного персонажа. Изменено 22 Января 2019 пользователем Jurok 1 1 Портфолио Поделиться этим сообщением Ссылка на сообщение
Painter 3 549 Опубликовано 9 Января 2020 @rnm_016, открываем xr_combat_zombied.script. Находим строку 49 и убираем «--». В строке 54 добавляем аналогичное воспроизведение звука. Будет выглядеть так: Открыть: (Показать) function action_zombie_shoot:initialize() action_base.initialize( self ) -- self.object:set_node_evaluator () -- self.object:set_path_evaluator () self.object:set_desired_direction () self.object:set_detail_path_type ( move.line ) self.last_state = nil local be = self.object:best_enemy() self.enemy_last_seen_pos = be:position() self.enemy_last_seen_vid = be:level_vertex_id() self.last_vid = nil self.valid_path = false self.turn_time = 0 self.st.cur_act = act_shoot xr_sound.set_sound_play(self.object:id(), "fight_enemy") -- воспроизведение звука end function action_zombie_shoot:set_state( state, be, pos ) self.t.look_object = be if be then self.t.look_position = self.enemy_last_seen_pos else self.t.look_position = pos end state_mgr.set_state( self.object, state, nil, nil, self.t ) self.last_state = state xr_sound.set_sound_play(self.object:id(), "fight_attack") -- воспроизведение звука end function action_zombie_shoot:initialize() action_base.initialize( self ) -- self.object:set_node_evaluator () -- self.object:set_path_evaluator () self.object:set_desired_direction () self.object:set_detail_path_type ( move.line ) self.last_state = nil local be = self.object:best_enemy() self.enemy_last_seen_pos = be:position() self.enemy_last_seen_vid = be:level_vertex_id() self.last_vid = nil self.valid_path = false self.turn_time = 0 self.st.cur_act = act_shoot xr_sound.set_sound_play(self.object:id(), "fight_enemy") -- воспроизведение звука end function action_zombie_shoot:set_state( state, be, pos ) self.t.look_object = be if be then self.t.look_position = self.enemy_last_seen_pos else self.t.look_position = pos end state_mgr.set_state( self.object, state, nil, nil, self.t ) self.last_state = state xr_sound.set_sound_play(self.object:id(), "fight_attack") -- воспроизведение звука end 2 3 Портфолио Поделиться этим сообщением Ссылка на сообщение
Painter 3 549 Опубликовано 9 Января 2020 (изменено) @rnm_016, интересует воспроизведение предсмертных реплик? Не проверял, но возможно (!) это реализуемо в xr_motivator.script (в death_callback). Добавляем проверку на принадлежность к группировке. Если убиенный состоит в группировке «зомбированные» - воспроизводим звук. Изменено 10 Января 2020 пользователем Jurok 1 Портфолио Поделиться этим сообщением Ссылка на сообщение
Painter 3 549 Опубликовано 28 Января 2020 @hp416, Чтобы изменить количество людей в отряде, необходимо отредактировать файл: gamedata/configs/misc/squad_descr.ltx Находим строки: npc_in_squad = 2, 3 Первая цифра - минимальное количество NPC в отряде, вторая - максимальное количество. Количество отрядов указано в конфигах смарт-террейнов. Находятся здесь: gamedata/configs/scripts/zaton/smart gamedata/configs/scripts/jupiter/smart gamedata/configs/scripts/pripyat/smart max_population - количество отрядов, которое может принять смарт. Определяет для скольких симуляционных отрядов в смарте найдётся работа. spawn_num - количество отрядов, которое будет респаунится в данном смарте. 1 Портфолио Поделиться этим сообщением Ссылка на сообщение
Painter 3 549 Опубликовано 16 Февраля 2020 (изменено) @Dm1tro, если не считать мусорные конфиги и скрипты (которые, по сути, ни на что не влияют), неиспользуемых моделей, текстур и звуков в ЗП относительно мало. Самое основное, что всплывает в памяти: Открыть: (Показать) Неиспользуемые модели: gamedata/meshes/actors/stalker_lesnik/stalker_lesnik_1.ogf gamedata/meshes/actors/stalker_nebo/stalker_nebo_1.ogf gamedata/meshes/actors/stalker_nebo/stalker_nebo_2.ogf gamedata/meshes/actors/stalker_nebo/stalker_nebo_3.ogf gamedata/meshes/actors/stalker_trader/stalker_trader_1.ogf Неиспользуемые текстуры (и бампы к ним): gamedata/textures/act/act_stalker_trader_1.dds gamedata/textures/act/act_face_holod.dds gamedata/textures/act/act_face_kalancha.dds gamedata/textures/act/act_face_lebedev.dds gamedata/textures/act/act_stalker_lesnik_1.dds gamedata/textures/act/act_trupik.dds Неиспользуемая музыка: gamedata/sounds/music/limansk.ogg gamedata/sounds/music/hospital.ogg gamedata/sounds/music/marsh_1.ogg gamedata/sounds/music/marsh_2.ogg gamedata/sounds/music/marsh_night.ogg Но даже если вычистить абсолютно всё лишнее и перепаковать игровые архивы, польза от этого весьма сомнительна. Разве что для успокоения внутреннего перфекциониста. Изменено 16 Февраля 2020 пользователем Jurok 1 1 Портфолио Поделиться этим сообщением Ссылка на сообщение