Перейти к основному содержимому

При каких условиях можно дать неуязвимость объекту и затем убрать её?

Вопрос

При каких условиях можно дать неуязвимость объекту и затем убрать её?

Ответ

Для того чтобы сделать объект неуязвимым к некоторому типу хита временно, можно воспользоваться следующими шагами:

1. Найдите конфиг-файл объекта, который нужно изменить (например, config\models\objects\military_wall_brick_in.ltx).
2. В этом файле найдите секцию с определением хитабилити объекта и добавьте туда новый тип хита, к которому объект будет неуязвимым.
3. Создайте скрипт (например, temp_protection.script), где вы сможете временно устанавливать или отменять защиту.
4. В этом скрипте используйте функцию для добавления защиты:
```lua
function make_unbreakable(object, hit_type)
object:setHitMask(hit_type, 0) -- Заблокировать хит
end
  1. Для отмены защиты используйте аналогичную функцию с другим маской (например, 255):
function unbreakable_off(object, hit_type)
object:setHitMask(hit_type, 255) -- Разблокировать хит
end
  1. Вызовите эти функции в нужных местах вашего кода или диалогов.