You are not logged in.
После очистки SA map cleaner'ом и установки другой карты, опкод 07C0: load_path
вызывает вылет из игры.
nodes файлы (пути) оригинальные.
В файл gta.dat прописал следующие строки:
IPL DATA\MAPS\paths.ipl
IPL DATA\MAPS\paths2.ipl
IPL DATA\MAPS\paths3.ipl
IPL DATA\MAPS\paths4.ipl
IPL DATA\MAPS\paths5.ipl
Ситуация не изменилась. (кстати, их удалял на ориг. СА, игра не вылетала).
Хотел на новой карте сделать сцену с использованием путей, может кто-нибудь сталкивался с такой проблемой или знает решение?
ps. Проверял как на Alien City, так и на другой карте.
Offline
Не маппер , ответить поэтому и не смогу , спроси лучше на мапсе ) просто про пути после MClener'a .
Offline
07C0 загружает пути из файла carrec.img. Возможно причина вылета в этом файле.
И насколько я помню, SA не использует PATHS*.IPL файлы из папки MAPS, вместо них используются файлы nodes* из gta3.img (хотя я могу ошибаться).
Offline
Разобрался После очистки карты carrec.img из gta.dat комментируеться.
Убрал комментарий, все заработало. Но я точно не знал, из каких файлов читаються пути. В carrec.img файлы формата .rrr, редактор nodes путей их не берет и редактора rrr я не нашел (скорей всего его и нету), так что на данный момент сделать свой путь невозможно.
Last edited by Sub (08-10-2007 05:10)
Offline
В carrec.img файлы формата .rrr, редактор nodes путей их не берет и редактора rrr я не нашел (скорей всего его и нету), так что на данный момент сделать свой путь невозможно.
Почему же, если открыть файл, то все координаты пути лежат в открытом виде, нужно только знать что означают другие числа.
00000000 0.0 1.690386e-38 -9.844764e-38 -4.436039e+37 00000010 3.587324e-41 2425.774 -1658.530 12.82508 00000020 3.433181e-43 1.938430e-38 -9.771297e-38 -1.774416e+38 00000030 3.587324e-41 2429.373 -1658.378 12.82429 00000040 6.880375e-43 2.112983e-38 -9.771297e-38 -4.436039e+37 00000050 0.0 2433.127 -1658.219 12.82516 00000060 1.010336e-42 2.269158e-38 -9.844736e-38 -1.109010e+37 00000070 0.0 2437.141 -1658.050 12.82060 00000080 1.304609e-42 2.426193e-38 -9.844676e-38 -1.109010e+37 00000090 2.582873e-41 2441.060 -1657.885 12.77140 000000A0 1.601684e-42 2.683418e-38 -9.844743e-38 -4.436039e+37 000000B0 3.120972e-41 2445.223 -1657.709 12.73466 000000C0 1.921180e-42 -3.364314e+38 -3.702810e-37 -1.678098e+38 000000D0 3.573311e-43 2449.852 -1657.652 12.74606 000000E0 2.225262e-42 -8.779940e+37 -3.673420e-37 -1.658160e+38 000000F0 0.0 2454.435 -1657.869 12.74717 00000100 2.529344e-42 -2.410341e+36 -1.387083e-36 -1.571760e+38 00000110 3.573311e-43 2459.104 -1658.366 12.74664 00000120 2.829222e-42 -4.909547e+35 -5.477804e-36 -3.879425e+37 00000130 2.008901e-41 2463.762 -1659.205 12.74660 00000140 3.124896e-42 -3.481705e+35 -5.454330e-36 2.135032e-38 00000150 1.147944e-41 2468.446 -1660.105 12.73538 00000160 3.420570e-42 -2.039424e+35 -5.430792e-36 -1.538503e+38 00000170 3.622777e-41 2473.188 -1661.051 12.79564 00000180 3.719046e-42 -3.733917e+33 -5.004333e-30 -8.409411e+36 00000190 2.351057e-38 2477.705 -1662.340 12.79192 000001A0 4.003510e-42 -5.300510e+32 -1.827719e-08 -1.623201e+36 000001B0 2.351057e-38 2480.968 -1663.898 12.78776 000001C0 4.306190e-42 -6.613502e+33 -1.276625e+27 -1.339471e+33 000001D0 2.351057e-38 2483.079 -1665.490 12.78736 000001E0 4.599062e-42 -8.183381e+36 5.331430e-26 -2.072401e+28 000001F0 2.351057e-38 2483.863 -1666.368 12.78708 00000200 4.887729e-42 0.0 2.270048e-19 -8.548719e+31 00000210 2.351057e-38 2483.845 -1666.455 12.77368 00000220 5.174995e-42 0.0 2.270048e-19 -1.400622e+36 00000230 3.573311e-43 2483.847 -1666.450 12.76908 00000240 5.512708e-42 0.0 2.270048e-19 -2.240995e+37 00000250 0.0 2483.846 -1666.449 12.76845 00000260 5.858829e-42 0.0 2.270048e-19 -2.240995e+37 00000270 0.0 2483.846 -1666.449 12.76843 00000280 6.209153e-42 0.0 2.270048e-19 -2.240995e+37 00000290 0.0 2483.846 -1666.449 12.76844 000002A0 6.549669e-42 0.0 2.270048e-19 -2.240995e+37 000002B0 0.0 2483.846 -1666.449 12.76844 000002C0 6.888783e-42 0.0 2.270048e-19 -2.240995e+37 000002D0 0.0 2483.846 -1666.449 12.76844 000002E0 7.229299e-42 0.0 2.270048e-19 -2.240995e+37 000002F0 0.0 2483.846 -1666.449 12.76844
Offline
2Sanchez:
Там не все поля типа Float. Числа с окончанием E-41 и т.п. говорят о том, что здесь скорее всего целое число. В этом файле должна храниться не только позиция XYZ машины, но и ее разворот по всем осям. В некоторых сценках машина едет на двух колесах (где-то на форуме это уже обсуждалось), и это тоже определяется в этом файле.
Offline
Там не все поля типа Float.
Это понятно. Это я для быстроты просто так скопировал.
Сейчас потестил немнтелепортируется по точкам. ого с этими числами, у меня не получается заставить машину ЕХАТЬ, она как-бы телепортируется по этм точкам.
где-то на форуме это уже обсуждалось
Здесь?
Offline
Sanchez, какой программой ты открыл файл?
Offline
Sanchez, какой программой ты открыл файл?
OllyDbg
Offline
так что на данный момент сделать свой путь невозможно.
А вот это?(Взято из SBanual 3.0,обрезано и переделано(что то не копирует нормально))
Ну как делать пути?
07C0: load_path 706 Загрузка пути
05D6: clear_scmpath отчистка пути
05D7: add_point_to_scmpath 2470.1248 -1661.6222 13.3293 добавление точки в путь
05D8: AS_assign_scmpath to_actor $Act flags 4 0 актёр следует по пути
05EB: assign_vehicle $Car to_path 706 машина следут по пути
04E0: car $Car abandon_path_radius 30 типа машина на точке если она в радиусе от неё 30
0873: release_path 211 выгружаем путь
пример
:Test
wait 2000
model.Load(#FAM1)
038B: load_requested_models
:Test2
wait 0
if
model.Available(#FAM1)
jf @Test2
wait 3000
actor.Create(50@,4,#fam1,2494.9099, -1682.17, 12.32)
05D6: clear_scmpath
05D7: add_point_to_scmpath 2470.1248 -1661.6222 13.3293
05D7: add_point_to_scmpath 2494.9099 -1682.17 12.32
05D7: add_point_to_scmpath 2470.1248 -1661.6222 13.3293
05D8: AS_assign_scmpath to_actor 50@ flags 4 0
end_thread
Всё понятно?
И ещё можно использовать action_sequences.
Last edited by kostay scr (08-10-2007 12:02)
GTA VC - ЭТО НАСТОЯЩАЯ ГТА!
Offline
Описание формата R3
Файлы R3 (.rrr) хранятся в IMG-файле carrec.img. Каждый файл описывает один из путей движения машины в пространстве игры. Особенностью этих путей является то, что движение осуществляется без учета физики. Машины могут двигаться с любой скоростью, под любым углом. R3-пути широко используются в скриптовых сценах и погонях в игре.
Каждый R3-файл состоит из набора записей, каждая из которых описывает одну точку пути. Размер одной записи (каждого участка пути) равен 32 байтам.
Запись содержит данные, которые копируются потом при движении в структуру XYZ машины (эта структура описывает абсолютное положение объекта в пространстве игры). Таким образом задается позиция машины в каждый момент движения.
+00 dword - время (как в катсценах, общий тайминг движения) +04 word - скорость в направлении x * 16383.5 +06 word - скорость в направлении y * 16383.5 +08 word - скорость в направлении z * 16383.5 +10 byte - XYZ.right.x * 127.0 +11 byte - XYZ.right.y * 127.0 +12 byte - XYZ.right.z * 127.0 +13 byte - XYZ.top.x * 127.0 +14 byte - XYZ.top.y * 127.0 +15 byte - XYZ.top.z * 127.0 +16 byte - угол поворота передних колес * 20.0 +17 byte - сила ускорения на данном участке * 100.0 +18 byte - сила торможения на данном участке * 100.0 +19 byte - флаг использования ручного тормоза +20 float - XYZ.pos.x +24 float - XYZ.pos.y +28 float - XYZ.pos.z +32 end
* за более полным разъяснением полей структуры XYZ нужно обращаться к listener'у.
В .exe:
.data:0097D670 R3Paths CR3
Всего может быть загружено и обрабатываться до 16 путей.
00000000 CR3 struc ; (sizeof=0x1FC4) 00000000 R3Path_Index dd 16 dup(?) ; индекс в массиве paths 00000040 field_40 db 16 dup(?) 00000050 field_50 db 16 dup(?) 00000060 field_60 db 16 dup(?) 00000070 field_70 db 16 dup(?) 00000080 field_80 db 16 dup(?) 00000090 SpeedMul dd 16 dup(?) ; мультипликатор скорости движения по пути 000000D0 field_D0 dd 16 dup(?) 00000110 R3Path_Size dd 16 dup(?) 00000150 field_150 dd 16 dup(?) 00000190 R3Path_pData dd 16 dup(?) 000001D0 vehicles dd 16 dup(?) ; offset *CVehicle 00000210 paths CR3Path 475 dup(?) ; общая информация об R3 файлах 00001FC0 num_paths dd ? ; число R3 файлов = 426 00001FC4 CR3 ends 00000000 CR3Path struc ; (sizeof=0x10) 00000000 path_id dd ? ; base 10 00000004 pData dd ? ; offset 00000008 size dd ? ; base 16 0000000C usage_count dd ? ; сколько машин использует этот путь 00000010 CR3Path ends
Last edited by Seemann (10-10-2007 15:48)
Offline
Здесь?
http://sannybuilder.com/forums/viewtopic.php?id=23
Но, судя по всему, в R3 этого все же нет
2kostay scr:
В этой статье намешаны R3-пути и SCM-пути. Это не одно и тоже.
Offline
kostay scr
scm пути- координаты задаються через мейн, а обычные пути (paths) загружаються из файла, это разные вещи.
У scm путей есть ограничения в точках, поэтому он используеться не часто (в ориг. main.scm). Конечно можно с помощью проверок и 05D6 сделать путь каким угодно, но на практике такой вариант не годиться, слишком большая вероятность, что машина или актер будет остановиться на каком-нибудь препятствии, не говоря уже о глюках. Пути из rrr файла сделаны иначе.
Seemann
Сложно написать редактор таких файлов?
Last edited by Sub (08-10-2007 13:58)
Offline
2All
Всё понял, не буду мешать.
GTA VC - ЭТО НАСТОЯЩАЯ ГТА!
Offline
Сложно написать редактор таких файлов?
ну я уже подкинул идейку Alexander'у
Offline
http://foolroot.nm.ru/r3edit.rar
367 КБ (376 447 байт)
Last edited by Sanchez (09-10-2007 12:42)
Offline
2Sanchez:
гут. надо только исправить SppedY, Brak на Brake, и Turn на SteerAngle
. Еще было бы здорово, не выводить лишние пустые строки, а при сохранении дописывать их, чтобы размер файла был кратен 2048. Ну, и работа внутри файла carrec.img - верх мечтаний
Еще, если кликнуть по полям Pos, вместо float будет выведено число в десятичном формате. И формат дробных чисел с точкой более распространен, чем с запятой. Нужно при запуске прожки изменить переменную DecimalSeparator на '.'
Еще возможно было бы лучше сделать, чтобы соотв. поля, которые в описании указаны с мультипликаторами (*16383.5, *127.0) в таблице выводились как числа, деленные на этот мультипликатор. Т.е. не 65528, а 65528/16383.5 = 3.999. Ведь именно эти числа используются в игре, а мультипликаторы используются для упаковки данных в 1 или 2 байта, против 4-х байтов, если бы это был обычный float.
Last edited by Seemann (09-10-2007 14:34)
Offline
2Seemann:
Все понятно. Все учту.
Из-за нестандартных компонентов размер проги почти 1 МБ, может стоит использовать обычные, правда все будет не так красиво, но размер уменьшиться примерно раза в два. Так что лучше красивый интерфейс или размер поменьше?
Offline
Так что лучше красивый интерфейс или размер поменьше?
А ты 2 версии сделай.
GTA VC - ЭТО НАСТОЯЩАЯ ГТА!
Offline
2Sanchez:
Имхо, лучше не заморачиваться по поводу размера программы. Триста килобайт - вполне демократичный размер. Вместо этого лучше подумать над функционалом программы: к базовым операциям типа "вставить строку", "скопировать строку", "переместить строку", "удалить строку", можно было бы добавить возможность открывать файл путем Drag&Drop, горячие клавиши для операций над текстом, и, например, такую возможность, что при вставке текста с разделителями (например, "1 2 3" или "a, b, c", во вставляемую ячейку копировалась бы "a", в следующую - "b", в следующую "с" и т.д. Так было бы удобно вставлять координаты.
Еще не мешало бы разрешить регулировать ширину столбцов, либо сделать автоподбор подходящей ширины. У меня на разрешении "1280x1024" при развернутом окне таблица помещается почти впритык, а у тех, у кого меньшее разрешение, будет полоса горизонтальной прокрутки, что на порядок снижает удобство работы.
Сохранение настроек ширины окна и таблицы, чтобы при запуске они восстанавливались, - тоже вещь нелишняя.
<span style="font-size: 6pt">Кстати, когда-то у меня у самого была идея написать редактор R3, и мой вариант названия программы звучал как R3D (читается как "рэд"). Эдакое модерновое сочетание слов R3 (RRR) и Ed (Editor) </span>
Offline
Хороший редактор , осталось понять что там к чему
Offline
Ха-ха, решил поупражняться в создании собственных путей. Первый блин вышел жутким комом:
http://sannybuilder.com/dev/temp/carrec999.rrr
Добавьте этот файл в carrec.img. После этого используйте следующий скрипт для проверки пути:
1@ = 999 #MONSTER.Load while not #MONSTER.Available wait 0 end 0@ = Car.Create(#MONSTER, 2488.562, -1660.865, 12.8757) #MONSTER.Destroy 07C0: load_path 1@ :L wait 0 07C1: path 1@ available jf @l 085E: assign_car 0@ to_looped_path 1@ 036A: put_actor $PLAYER_ACTOR in_car 0@ 0158: camera_on_car 0@ 18 2 while true wait 1000 0706: advance_car 0@ further_along_path 1.0 end
Предупреждаю сразу: слабонервным и беременным просьба выйти из комнаты!
Offline
Написал скрипт для автоматической генерации R3 - файла прямо из игры.
http://sannybuilder.com/dev/carrec.txt
http://cleo.sannybuilder.com/files/carrec.rar
Принцип работы таков: садитесь в машину, нажмите Shift+R для включения записи и начинайте движение. Когда нужный вам путь будет пройден, нажмите Shift+R еще раз для записи в файл. После этого добавьте получившийся RRR файл (имя по умолчанию "data\Paths\carrec900.rrr") в carrec.img (или любой другой IMG) и пользуйтесь им в скриптах. Получившийся файл можно редактировать в редакторе от Sanchez'а.
Парочка R3-путей, сгенерированных моим скриптом:
http://sannybuilder.com/dev/temp/carrec900.rrr
http://sannybuilder.com/dev/temp/carrec998.rrr
Скрипт для тестирования см выше. Нужно поменять значение переменной 1@ в нем на цифру нужного пути.
скрипт обновлен 11/10/07
Last edited by Seemann (11-10-2007 08:03)
Offline
Работает , только вот на слишком большой скорости при воспроизведении пути проскакивает точки )
Скорость работы записи немного медленная .
Offline
Это регулируется константой
REC_INTERVAL_MS = 225
можно уменьшить ее значение, тогда показания будут сниматься чаще. Однако это не так важно, по идее на этих путях должны ехать машины компа, а не игрока, поэтому такие проскоки будут незаметны (они есть и в оригинальных путях).
Offline