В этой статье мы рассказываем о том, как можно узнать устройство какого-либо события на карте, которая не декомпилируется. Под событием мы подразумеваем систему взаимосвязанных объектов, которые создают какой-то один эффект, например, летающая птица на De_Survivor или авиаудар на De_Torn. Для опытных декомпиляторщиков не секрет, что некоторые карты не декомпилируются Возможно, это происходит из-за каких-то ограничений внутри программ-декомпиляторов, потому как не декомпилируются, в основном, большие по размеру карты.
Мы не будем декомпилировать карты, а узнаем ее устройство более цивильным методом. Возмем, к примеру, авиаудары на карте De_Torn. Как они сделаны? (Если Вы не знаете, о каких авиаударах идет речь, то можете прочитать об этом в статье из раздела «Секреты».
Консольная команда: developer 2
Загружаем интересующую нас карту карту и вводим в консоли: developer 2. Теперь у нас на экране будут отображаться сообщения обо всех события на карте (активации объектов, где что нажалось, какой звук проигрался и т.д.).
Бегая по карте, мы обнаружили, что активируется некий объект jetmulti. Им оказался multi_manager. При этом на экране появилась строчка:
Found: multi_manager Firing: jetmulti
Затем мы открыли карту (de_torn.bsp) во втроенном редакторе менеджера FAR (можно использовать и TotalCom) и, так как информация об энтити-объектах хранится внутри карт в чистом виде, то можно отыскать объект по имени jetmulti, что мы и сделали. В свойствах multi_manager'а мы нашли имена всех объектов, которые он активирует в игре. Это были и самолеты (которые на поверку оказались обычными дверями, которые func_door :), и звуки, и прочие объекты. Дальше мы составили схему работы всего авиаудара — «кто» «кого» и когда активирует.
Подобным же образом можно определить устройство объектов и на других картах.