罪恶都市 Paths IO 脚本 v. 2.7f [MAXScript]
罪恶都市 Paths IO 脚本 v.2.7e
用于处理 paths.ipl(及其他)的脚本。
要求:3dsMax 2008 或更高版本。
功能:
- 导入 GTA VC、GTA3、GTA SA 的路径(包括支持 Fastman92 格式的路径,仅限 FLA4 格式);
- 导出 GTA VC 的路径(导出游戏支持的所有线条类型(包括 3 到 12 个点));
- 以 Vice City/3 格式导入 GTA SA 的路径(见下文);
- 可以为每条线指定路径类型(行人、汽车、船只)。如果未指定路径类型,脚本将根据 Default Path Type 的值自动分配类型;
- 可以创建和导出交叉路口(T 形和十字形)。详情请参见“创建交叉路口.docx”或 .avi 文件;
- 可以更改每条线/点的参数。只需选择一条线即可更改参数。所有更改都将自动保存;
无需手动输入所有内容——如果未设置线条设置,脚本将自动生成;
- 可以从 data/paths 文件夹导入/导出路径的 .dat 文件;
- 按类型选择路径的按钮(选择所有交通/行人/船只路径);
- 可以将 VC Paths.ipl 转换为 GTA 3 的路径格式;
- 将 GTA 3 的路径转换为 GTA VC 格式;
- 在视图窗口中显示可编辑线的顶点编号;
- 在视图窗口中显示路径标志、车道数、坐标和路径宽度;
- 更改路径行驶方向的功能;
- 设置路径行驶方向的功能(单向/双向);
- 分割点数大于 12 的线条的功能(适用于选定的线条);
- 重置线条参数的功能(适用于选定的线条);
- 启用/禁用汽车交通的功能。
- 根据相邻线条自动设置交叉路口的功能(该功能尚未正确完成)。
- 删除点数少于 2 的“错误”线条的功能。
版本 2.7f 的更改(更新日期 2024 年 12 月 31 日)
- 添加了将 GTA3 路径转换为罪恶都市格式的功能。为此,需要选择安装了 GTA3 的文件夹,然后指定 Paths.ipl 的保存位置,之后单击 Convert 按钮。
- 修复了一个错误,该错误导致在较新版本的 3dsmax(低于 2012 版本)中将路径转换为 GTA3 格式时,会创建一个大小为 0 字节的 .COL 文件。
- 添加了一个辅助进度条,用于显示将路径转换为 GTA3 格式以及将路径转换为罪恶都市格式的过程。
- 为了更快地加载 GTA3 路径,删除了在 MaxScript Listener 中显示找到的路径的信息——这会减慢路径数据的加载过程。
支持的线条类型:Splines — Line。Initial Type — Corner。Drag Type — Bezier。
请勿对线条应用修改器!这可能会导致无法正常导出路径和创建交叉路口。
为了更方便地绘制路径,请使用 3dsMax 中的吸附(详情请参见 .docx 文件)。
paths_tutorial[RU].pdf 中描述了为 GTAVC 创建路径的示例。
脚本支持导入 GTA VC 路径。如果导入的内容不正确(例如,交叉路口),建议手动更正。
不建议使用此脚本编辑标准路径地图,因为导入标准路径地图时创建的线条比原始 paths.ipl 多,从而破坏了原始路径结构和 Paths.ipl 文件;导出后,路径文件的大小比原始文件大,这导致在某些区域没有交通或行人。
最好使用脚本创建新路径。
脚本支持导入 GTA3 路径——仅限导入,要导出,需要将路径导出为罪恶都市格式,然后转换为 GTA3 格式。
脚本支持将 paths.ipl 转换为 GTA 3 路径格式的功能。
为此,需要指定路径的起始 ID、路径模型的名称前缀、IPL IDE COL 的名称、导出 paths.ipl 时使用的路径坐标乘数(对于标准 .exe 文件为 16)。
然后选择将导出 GTA 3 路径文件的目录,最后一步选择 paths.ipl。
脚本将通知转换过程完成。IPL IDE COL 文件已完全准备好添加到游戏中。
不建议使用此功能编辑标准路径!
最好使用此功能创建新地图的路径或向原始路径添加新路径。
请注意,在向 GTA 3 添加路径时,如果存在原始路径,则需要使用调整器 Dynamic Limits 提高限制:Buildings, PtrNodes, EntryInfoNodes, Treadables; [Pool Limits]: Objects Models; DFF 文件的限制 [ID LIMITS]。
为此,请使用 Limit Adjuster by Vitlgt。还应该设置参数 "Enable path limits patch=1" 并增加 PATH LIMITS 块中的最大 ID。
要提高罪恶都市中的路径限制,需要使用 Maxorator's Path hack。
脚本支持将 GTA3 路径转换为罪恶都市格式的功能。
为此,需要设置 GTA3 和罪恶都市路径的乘数,然后指定 GTA3 目录和保存 Paths.ipl 的路径。
之后单击 Convert 按钮。
应该注意,生成的路径文件大小大于原始文件,因此要使路径正常工作,需要 Maxorator's Path Hack (vcpathlimit.flt)。
脚本支持导入 GTA SA 路径,包括导入 Fastman92 格式的路径。
要导入,需要单击 Import GTASA Paths 按钮并指定 NodesXX.dat 这 64 个路径文件所在的文件夹。
路径导入过程可能需要几十秒到 10 分钟。
路径以样条线的形式导入,可以使用 SA Path Tool by Deniska 对其进行编辑或配置。
作者不保证导入/导出后 GTA SA 路径 100% 可用。
强烈建议检查所有线条的设置,包括红绿灯设置的正确性!
可以加载 GTAVC 格式的路径。导入后,强烈建议检查并更正路径设置以及创建的路径样条线和交叉路口!作者不保证以罪恶都市格式导入的路径将完全正常工作!如果发现路径样条线和交叉路口不正确,建议手动重建错误的路径!
脚本在导入过程中默认处理 GTASA 路径,即删除相同的段并焊接点,以便将来可以编辑 GTASA 或 GTAVC/GTA3 的路径线。
可以在 GTASA Import Settings 选项中禁用这些功能,但在这种情况下,路径线完全不适合在 GTASA 或 GTAVC/GTA3 下编辑。如果需要可视化地查看路径地图(导入未经处理的标准路径地图大约需要 2 分钟),这可能很有用。
详细信息写在“导入 GTA SA 路径.docx”中。
创建新路径线时,脚本会根据 Default Parameters 块中的参数自动为其指定设置!
请注意,内部点的 Lanes 参数始终等于 1 1!要指定行驶方向和车道数,只需编辑终点(外部)点。
或者使用 set one-way/set two-way traffic 按钮设置单向或双向交通,并使用 Change the direction of traffic 按钮更改行驶方向。
要在视图窗口中显示线条参数,请使用 Display helper 选项卡。可显示的信息包括——点编号、车道数、标志、路径宽度、点坐标。
要将选定线条的参数重置为默认值,请使用 Reset User Properties 功能。
如果出现错误消息“The script does not support splines with a number of points greater than 12 and less than 3!Please edit the spline”,请应用 Split Lines to VC Format 功能。
如果线条的点数严格大于 12,或者如果线条只有两个点(罪恶都市不支持有两个点的线条),此功能会将线条分割成 n 条线,或者将其分割成最多三个点。
要导出交通,只需选择线条并单击 Export Paths 按钮。Paths.ipl 的生成行将显示在 MAXScript Listener 窗口中(在 3Ds max 的左下角或按 F11 调用 MAXScript Listener)。
脚本可以通过两种方式创建交叉路口:
1) — 在顶点编辑模式下,分别为每条线选择一个点。
— 选择线条并单击 Create Crossroad 按钮。
2) — 单击 Create Dummys at line end 按钮。
— 选择虚拟对象并单击 Create Crossroad 按钮。
按钮简要说明:
Set Ped — 将线条指定为行人交通。
Select all Ped Paths — 选择所有行人路径。
Set Car — 将线条指定为汽车交通。
Select all Car Paths — 选择所有汽车路径。
Set Boat - 将线条指定为船只交通。
Select all BoatPaths — 选择所有船只路径。
Select All Paths — 选择所有路径。
Import GTAVC Paths — 导入 GTAVC 路径。
Import GTA3 Paths — 导入 GTA3 路径。
Import GTASA Paths — 导入 GTASA 路径。
Import GTASA Paths (Fastman92 FLA4 format only!) — 导入 Fastman92 格式的 GTASA 路径。
Delete Double Segments — 在导入 GTASA 路径时删除相同的段。要编辑路径,此复选框必须选中!
ViceCity/III format (beta) — 将 GTASA 路径转换为 GTAVC/GTAIII 格式。如果以后仅在 GTAVC/GTAIII 下配置路径,则必须选中此复选框!
Weld paths knots and split paths — 在导入 GTASA 路径时焊接路径点并分割线条。要编辑路径,此复选框必须选中!
Create CrossRoad — 创建交叉路口(基于辅助虚拟对象或基于选定的样条点)
Set CrossroadPath name — 将路径标记为交叉路口。如果交叉路口设置不正确,脚本将忽略此线条。
Create dummy at line ends — 在线条末端创建虚拟对象。对于创建交叉路口很有用。
Delete all dummy — 删除所有辅助虚拟对象。
Display vertex number — 在视图窗口中显示路径点的编号(前提是线条中的点数在 2 到 12 之间,包括 2 和 12)。
Display Lanes — 在视图窗口中显示线条的车道数。
Display width — 在视图窗口中显示路径宽度。
Display flags — 在视图窗口中显示路径标志。
Display XYZ coordinate — 在视图窗口中显示点的坐标。
Import .dat — 导入 flightX.dat/tracksX.dat/spathX.dat 等路径的 .dat 文件。
Export .dat — 导出路径的 .dat 文件。
Split lines — 将选定的线条转换为 GTAVC/III 路径格式。
Reset user properties — 重置选定线条的所有设置。
Enable Traffic — 启用交通(设置标志 0)
Disable Traffic — 禁用交通(设置标志 1)
Delete zero shapes — 删除点数少于 2 的错误线条。
Reverse knot order — 更改点的优先级。
set one way traffic — 设置单向交通。
set two way traffic — 设置双向交通。
Change direction traffic — 更改行驶方向。
Assign Line Parameter for Crossroad by lines — 根据相邻线条设置交叉路口的车道数。不适用于相邻交叉路口的情况!
Select Directory — 选择导出 GTA3 路径文件的目录。
Select ViceCity paths.ipl — 选择要转换为 GTAIII 路径格式的 Vice City paths.ipl。
Select GTA3 Dicrectory — 选择已安装 GTA3 的文件夹。
Select save path for Paths.ipl — 选择保存 Paths.ipl 的路径。
脚本支持从 data/paths 文件夹导入和导出 GTA 3 或罪恶都市路径的 .dat 文件,即 flightX.dat、tracksX.dat、spathX.dat,其中 X 是文件编号。
要导出,需要选择一条路径线并单击导出。脚本将提示选择保存文件。
致谢:Shagg_E;Starenat — 感谢编写脚本时的支持。
特别感谢:Ilufir — 协助解决 GTASA 路径结构问题,ZZPuma — 提供 GTASA 路径红绿灯信息。
使用了 Deniska 编写的 SA Path Tool 脚本代码。
2024/12/31
Vice City Paths IO Script v.2.7e
Скрипт для работы с paths.ipl (и не только).
Для работы требуется: 3dsMax 2008 и выше.
Возможности:
- Импорт путей GTA VC, GTA3, GTA SA (в том числе поддержка путей формата Fastman92, только FLA4 формат);
- Экспорт путей GTA VC (экспорт всех типов линий, поддерживаемых игрой (от 3-х до 12 точек включительно));
- Импортирование путей GTA SA в формате Vice City/3 (см.ниже);
- Возможность назначать тип пути (педы, тачки, лодки) каждой линии. Если не назначен тип пути, скрипт автоматически назначит тип, исходя из значения Default Path Type;
- Возможность создавать и экспортировать перекрестки (Т-образные и крестообразные). Подробнее смотрите в "Создание перекрестков.docx" или .avi файлы;
- Возможность менять параметры у каждой линии/точки. Для изменения параметров достаточно выбрать линию. Все изменения будут автоматически сохранены;
Не нужно самому всё вбивать — если настройки линии не назначены, скрипт автоматически их сгенерирует;
- Возможность импорта/экспорта .dat файлов путей из папки data/paths;
- Кнопки выбора путей по их типу (выбор всех путей трафика/педов/лодок);
- Возможность конвертации VC Paths.ipl в формат путей GTA 3;
- Конвертация путей GTA 3 в формат GTA VC;
- Отображение номеров вертексов редактируемой линии во вьюпорте;
- Отображение флагов пути, числа полос, координат и ширины пути во вьюпорте;
- Функция смены направления движения пути;
- Функция назначения направления движения пути (одностороннее/двустороннее);
- Функция разбивки линий с числом точек, больше 12 (для выбранных линий);
- Функция сброса параметров линий (для выбранных линий);
- Функция включения/отключения автомобильного трафика.
- Функция автоматической настройки перекрестков на основе примыкающих к ним линий (функция еще не дописана должным образом).
- Функция удаления "неправильных" линий с числом точек меньше 2.
Изменения в версии 2.7f (обновление 31.12.2024)
- Добавлена функция конвертации путей GTA3 в формат Vice City. Для этого необходимо выбрать папку с установленной GTA3, далее указать, куда будет сохраняться Paths.ipl, после чего нажать кнопку Convert.
- Исправлена ошибка, из-за которой при конвертации путей в формат GTA3 на более свежих версиях 3dsmax (младше 2012) создавался .COL файл весом 0 байт.
- Добавлен вспомогательный прогрессбар для информирования о процессе конвертации путей в формат GTA3 а также для конвертации путей в формат GTA Vice City.
- Для более быстрой загрузки путей GTA3 удалено информирование о найденных путях в MaxScript Listener — это тормозило процесс загрузки данных путей.
Поддерживаемый тип линий Splines — Line. Initial Type — Corner. Drag Type — Bezier.
Не применяйте модификаторы к линиям! Это может привести к невозможности нормально экспортировать пути и создавать перекрестки.
Для более удобного прописывания путей используйте привязки в 3dsMax (см. подробнее .docx файлы).
Пример создания путей для GTAVC описан в paths_tutorial[RU].pdf
Скрипт поддерживает импорт путей GTA VC. Если что-то некорректно импортировалось (например, перекрестки) рекомендую исправить это вручную.
Не рекомендуется использовать данный скрипт для редактирования стандартной карты путей, ввиду того, что при импорте стандартной карты путей создается больше линий по сравнению с оригинальным paths.ipl, тем самым нарушается оригинальная структура путей и файла Paths.ipl; после экспорта файл путей весит больше, чем оригинальный и это приводит к тому, что в некоторых районах отсутствует трафик или пешеходы.
Желательно использовать скрипт для создания новых путей.
Скрипт поддерживает импорт путей GTA3 — только импорт, для экспорта необходимо экспортировать пути в формат Vice City, и далее отконвертировать в формат GTA3.
Скрипт поддерживает возможность конверта paths.ipl в формат путей GTA 3.
Для этого необходимо указать стартовый ID пути, префикс для моделей путей, имя для IPL IDE COL, множитель координат путей, с которым экспортировался paths.ipl (для стандартного .exe равен 16)
После чего выбрать директорию, куда будут экспортироваться файлы путей GTA 3 и последним шагом выбирается paths.ipl.
Скрипт уведомит о завершении процесса конвертации. Файлы IPL IDE COL полностью готовы для добавления в игру.
Не рекомендуется использовать эту функцию для редактирования стандартных путей!
Желательно использовать функцию для создания путей новой карты или добавления новых путей к оригинальным путям.
Обратите внимание, что при добавлении путей в GTA 3 при наличии оригинальных необходимо повышать лимит аджастером Dynamic Limits: Buildings, PtrNodes, EntryInfoNodes, Treadables; [Pool Limits]: Objects Models; лимит по DFF файлам [ID LIMITS].
Для этого используйте Limit Adjuster by Vitlgt. Также стоит установить параметр "Enable path limits patch=1" и повысить максимальный ID в блоке PATH LIMITS.
Для повышения лимита путей в Vice City необходимо использовать Maxorator's Path hack.
Скрипт поддерживает возможность конвертации путей GTA3 в формат Vice City.
Для этого необходимо выставить множители путей GTA3 и Vice City, после этого указать директорию GTA3 и путь для сохранения Paths.ipl.
После этого нажать кнопку Convert.
Следует обратить внимание на то, что получаемый размер файла путей больше оригинального, тем самым для работоспособности путей потребуется Maxorator's Path Hack (vcpathlimit.flt).
Скрипт поддерживает импорт путей GTA SA, в том числе импорт путей формата Fastman92.
Для импорта надо нажать кнопку Import GTASA Paths и указать папку, где лежат 64 файла путей NodesXX.dat.
Процесс импорта путей может занимать от нескольких десятков секунд до 10 минут.
Пути импортируются в виде сплайнов, которые можно отредактировать или настроить с помощью SA Path Tool by Deniska.
Автор не гарантирует 100% работосопособность путей GTASA после их импорта/экспорта.
Настоятельно рекомендуется проверять настройки всех линий, в том числе и правильность настроек светофоров!
Есть возможность загрузить пути в формате GTAVC. После импортирования настоятельно рекомендуется проверить и исправить настройки путей а также созданные сплайны путей и перекрестки! Автор не дает гарантий, что импортированные пути в формате Vice City будут полностью работоспособны! В случае обнаружения некорректных сплайнов путей и перекрестков рекомендуется перестроить неправильный путь (пути) вручную!
Скрипт по умолчанию обрабатывает пути GTASA в процессе импортирования, а именно удаляет одинаковые сегменты и сваривает точки в целях дальнейшей возможности редактирования линий путей под GTASA или под GTAVC/GTA3.
Можно отключить эти функции в графе GTASA Import Settings, но в этом случае линии путей абсолютно непригодны для редактирования под GTASA или под GTAVC/GTA3. Это может быть полезно, если необходимо визуально ознакомиться с картой путей (импорт стандартной карты путей без обработки занимает примерно 2 минуты).
Подробно написано в "Импорт путей GTA SA.docx".
При создании новой линии пути скрипт автоматически назначает ей настройки, исходя из параметров в блоке Default Parameters!
Обратите внимание, что параметры Lanes для внутренних точек всегда равны 1 1! Для назначения направления движения и количества полос достаточно редактировать только конечные (внешние) точки.
Или используйте кнопки set one-way/set two-way traffic для назначения одностороннего или двустороннего движения и используйте кнопку Change the direction of traffic для смены направления движения.
Для отображения параметров линий во вьюпорте используйте вкладку Display helper. Для отображения доступны — номера точек, число полос, флаги, ширина пути, координаты точек.
Для сброса параметров по умолчанию у выделенных линий используйте функцию Reset User Properties.
В случае ошибки "The script does not support splines with a number of points greater than 12 and less than 3!Please edit the spline" примените функцию Split Lines to VC Format.
Эта функция разделяет линию на n-ное количество линий, если число ее точек строго больше 12 или разбивает линию до трёх точек, если у искомой линии их две (Vice City не поддерживает линии с двумя точками).
Для экспорта трафика достаточно выбрать линии и нажать кнопку Export Paths. Готовые строки для Paths.ipl будут выведены в окне MAXScript Listener (в левом нижнем углу 3Ds max или нажмите F11 для вызова MAXScript Listener).
Скрипт имеет возможность создавать перекрестки двумя способами:
1) — У каждой линии ОТДЕЛЬНО выбрать по одной точке в режиме редактирования вершин
— Выделить линии и нажать кнопку Create Crossroad
2) — Нажать кнопку Create Dummys at line end
— Выделить дамми и нажать кнопку Create Crossroad
Краткое описание кнопок:
Set Ped — назначить линии трафик пешеходов.
Select all Ped Paths — выбрать все пути пешеходов.
Set Car — назначить линии трафик авто.
Select all Car Paths — выбрать все пути авто.
Set Boat- назначить линии трафик лодок.
Select all BoatPaths — выбрать все пути лодок.
Select All Paths — выбрать все пути.
Import GTAVC Paths — импортировать пути GTAVC.
Import GTA3 Paths — импортировать пути GTA3.
Import GTASA Paths — импортировать пути GTASA.
Import GTASA Paths (Fastman92 FLA4 format only!) — импортировать пути GTASA формата Fastman92.
Delete Double Segments — удалять одинаковые сегменты при импорте путей GTASA. Для возможности редактирования путей эта галочка должна стоять!
ViceCity/III format (beta) — преобразовывать пути GTASA в формат GTAVC/GTAIII. Необходимо ставить эту галочку, если в дальнейшем пути будут настраиваться только под GTAVC/GTAIII!
Weld paths knots and split paths — сваривать точки путей и разделять линии при импорте путей GTASA. Для возможности редактирования путей эта галочка должна стоять!
Create CrossRoad — создать перекресток (на основе вспомогательных дамми или на основе выделенных точек сплайнов)
Set CrossroadPath name — Обозначить путь как перекресток. При неправильной настройке перекрестка скрипт проигнорирует эту линию.
Create dummy at line ends — создать дамми на концах линий. Полезно для создания перекрестков.
Delete all dummy — удалить все вспомогательные дамми.
Display vertex number — отображать во вьюпорте номера точек путей (при условии что число точек в линии лежит в интервале от 2 до 12 включительно).
Display Lanes — отображать во вьюпорте число полос линии.
Display width — отображать во вьюпорте ширину пути.
Display flags — отображать во вьюпорте флаги путей.
Display XYZ coordinate — отображать во вьюпорте координаты точек.
Import .dat — импортировать .dat файл путей flightX.dat/tracksX.dat/spathX.dat.
Export .dat — экспортировать .dat файл путей.
Split lines — преобразовать выбранные линии в формат путей GTAVC/III.
Reset user properties — сбросить все настройки у выбранной линии.
Enable Traffic — включить трафик (выставляет флаг 0)
Disable Traffic — выключить трафик (выставляет флаг 1)
Delete zero shapes — удаляет неправильные линии с числом точек меньше 2.
Reverse knot order — изменяет приоритет точек.
set one way traffic — сделать одностороннее движение.
set two way traffic — сделать двухстороннее движение.
Change direction traffic — изменить направление движения.
Assign Line Parameter for Crossroad by lines — настроить число полос у перекрестков на основе примыкающих к ним линий. Не работает в случае примыкающих друг к другу перекрестков!
Select Directory — выбрать директорию для экспорта файлов путей GTA3.
Select ViceCity paths.ipl — выбрать Vice City paths.ipl для его преобразования в формат путей GTAIII.
Select GTA3 Dicrectory — выбрать папку с установленной GTA3.
Select save path for Paths.ipl — выбрать путь для сохранения Paths.ipl
Скрипт поддерживает импорт и экспорт .dat файлов путей GTA 3 или GTA Vice City из папки data/paths, а именно flightX.dat, tracksX.dat, spathX.dat, где X — номер файла.
Для экспорта необходимо выбрать ОДНУ линию пути и нажать экспорт. Скрипт предложит выбрать файл для сохранения.
Благодарности: Shagg_E; Starenat — за поддержку при написании скрипта.
Отдельное спасибо: Ilufir — за помощь со структурой путей GTASA, ZZPuma — за информацию о светофорах путей GTASA.
Используется код скрипта SA Path Tool авторства Deniska.
31/12/2024