http://gtamodding.ru/w/api.php?action=feedcontributions&user=Seemann&feedformat=atomGTAModding.ru - Вклад участника [ru]2024-03-29T09:26:17ZВклад участникаMediaWiki 1.21.1http://gtamodding.ru/wiki/%D0%92%D0%B8%D0%B7%D1%83%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B5_%D1%8D%D1%84%D1%84%D0%B5%D0%BA%D1%82%D1%8B_%D0%B2_%D1%81%D0%BA%D1%80%D0%B8%D0%BF%D1%82%D0%B8%D0%BD%D0%B3%D0%B5Визуальные эффекты в скриптинге2020-07-24T17:17:56Z<p>Seemann: исправлено название файла</p>
<hr />
<div>В серии игр GTA визуальные эффекты реализуются при помощи систем частиц (particles). В этой статье мы рассмотрим не только системы частиц, но и другие 2dfx эффекты.<br />
==GTA 3==<br />
===Короны===<br />
{| {{Таблица}}<br />
!№<br />
!Описание<br />
!Скриншот<br />
|-<br />
|0<br />
|Круглый свет<br />
|[[Изображение:Gta3_corona_0.jpg|184px]]<br />
|-<br />
|1<br />
|Круглый свет (менее яркий)<br />
|[[Изображение:Gta3_corona_1.jpg|184px]]<br />
|-<br />
|2<br />
|Луна<br />
|[[Изображение:Gta3_corona_2.jpg|184px]]<br />
|-<br />
|3<br />
|Шероховатый продолговатый свет<br />
|[[Изображение:Gta3_corona_3.jpg|184px]]<br />
|-<br />
|4<br />
|Удлинённый в ширину свет<br />
|[[Изображение:Gta3_corona_4.jpg|184px]]<br />
|-<br />
|5<br />
|Восьмиугольник<br />
|[[Изображение:Gta3_corona_5.jpg|184px]]<br />
|-<br />
|6<br />
|Круг<br />
|[[Изображение:Gta3_corona_6.jpg|184px]]<br />
|-<br />
|7<br />
|Кольцо<br />
|[[Изображение:Gta3_corona_7.jpg|184px]]<br />
|-<br />
|8<br />
|Длинная полоса света<br />
|[[Изображение:Gta3_corona_8.jpg|184px]]<br />
|-<br />
|}<br />
<br />
==Vice City==<br />
===Системы частиц===<br />
<source lang="scm">0437: scatter_particle 1 size 0.52 at 772.2785 -268.6476 10.3203 speed_XYZ 0.0 0.0 0.0</source><BR><br />
Создаёт одну (или несколько) частиц, нужно применять в цикле.<br />
* scatter_particle 1 - номер частицы (перечислены в таблице ниже)<br />
* size 0.52 - размер частиц<br />
* at 772.2785 -268.6476 10.3203 - координаты<br />
* speed_XYZ 0.0 0.0 0.0 - проекции скорости по осям<br />
<br />
{| {{Таблица}} class="collapsible collapsed"<br />
!№<br />
!Название в particle.cfg<br />
!Описание<br />
!Рисунок<br />
|-<br />
|0<br />
|SPARK<br />
|Жёлтые искры<br />
|[[Изображение:vc_particle_00.jpg|184px]]<br />
|-<br />
|1<br />
|SPARK_SMALL<br />
|Белые короткие искры<br />
|[[Изображение:vc_particle_01.jpg|184px]]<br />
|-<br />
|2<br />
|WATER_SPARK<br />
|Блеск воды<br />
|[[Изображение:vc_particle_02.jpg|184px]]<br />
|-<br />
|3<br />
|WHEEL_DIRT<br />
|Кусочки земли, как при езде по земле<br />
|[[Изображение:vc_particle_03.jpg|184px]]<br />
|-<br />
|4<br />
|SAND<br />
|Песок<br />
|[[Изображение:vc_particle_04.jpg|184px]]<br />
|-<br />
|5<br />
|WHEEL_WATER<br />
|Капли воды<br />
|[[Изображение:vc_particle_05.jpg|184px]]<br />
|-<br />
|6<br />
|BLOOD<br />
|Светлая кровь<br />
|[[Изображение:vc_particle_06.jpg|184px]]<br />
|-<br />
|7<br />
|BLOOD_SMALL<br />
|Тёмная кровь<br />
|[[Изображение:vc_particle_07.jpg|184px]]<br />
|-<br />
|8<br />
|BLOOD_SPURT<br />
|Струя крови<br />
|[[Изображение:vc_particle_08.jpg|184px]]<br />
|-<br />
|9<br />
|DEBRIS<br />
|Листья<br />
|[[Изображение:vc_particle_09.jpg|184px]]<br />
|-<br />
|10<br />
|DEBRIS2<br />
|Больше обломков<br />
|[[Изображение:vc_particle_10.jpg|184px]]<br />
|-<br />
|11<br />
|FLYERS<br />
|Газеты<br />
|[[Изображение:vc_particle_11.jpg|184px]]<br />
|-<br />
|12<br />
|WATER<br />
|Пар?<br />
|[[Изображение:vc_particle_12.jpg|184px]]<br />
|-<br />
|13<br />
|FLAME<br />
|Огонь<br />
|[[Изображение:vc_particle_13.jpg|184px]]<br />
|-<br />
|14<br />
|FIREBALL<br />
|Огненный шар<br />
|[[Изображение:vc_particle_14.jpg|184px]]<br />
|-<br />
|15<br />
|GUNFLASH<br />
|Вспышка оружия<br />
|[[Изображение:vc_particle_15.jpg|184px]]<br />
|-<br />
|16<br />
|GUNFLASH_NOANIM<br />
|Тусклая вспышка оружия<br />
|[[Изображение:vc_particle_16.jpg|184px]]<br />
|-<br />
|17<br />
|GUNSMOKE<br />
|Линия?<br />
|[[Изображение:vc_particle_17.jpg|184px]]<br />
|-<br />
|18<br />
|GUNSMOKE2<br />
|Дым от оружия<br />
|[[Изображение:vc_particle_18.jpg|184px]]<br />
|-<br />
|19<br />
|CIGARETTE_SMOKE<br />
|Сигаретный дым<br />
|[[Изображение:vc_particle_19.jpg|184px]]<br />
|-<br />
|20<br />
|SMOKE<br />
|Белый дым<br />
|[[Изображение:vc_particle_20.jpg|184px]]<br />
|-<br />
|21<br />
|SMOKE_SLOWMOTION<br />
|Белый медленный дым<br />
|[[Изображение:vc_particle_21.jpg|184px]]<br />
|-<br />
|22<br />
|DRY_ICE<br />
|<br />
|[[Изображение:vc_particle_22.jpg|184px]]<br />
|-<br />
|23<br />
|TEARGAS<br />
|<br />
|[[Изображение:vc_particle_23.jpg|184px]]<br />
|-<br />
|24<br />
|GARAGEPAINT_SPRAY<br />
|<br />
|[[Изображение:vc_particle_24.jpg|184px]]<br />
|-<br />
|25<br />
|SHARD<br />
|<br />
|[[Изображение:vc_particle_25.jpg|184px]]<br />
|-<br />
|26<br />
|SPLASH<br />
|<br />
|[[Изображение:vc_particle_26.jpg|184px]]<br />
|-<br />
|27<br />
|CARFLAME<br />
|<br />
|[[Изображение:vc_particle_27.jpg|184px]]<br />
|-<br />
|28<br />
|STEAM<br />
|<br />
|[[Изображение:vc_particle_28.jpg|184px]]<br />
|-<br />
|29<br />
|STEAM2<br />
|Закручивающийся пар<br />
|[[Изображение:vc_particle_29.jpg|184px]]<br />
|-<br />
|30<br />
|STEAM_NY<br />
|<br />
|[[Изображение:vc_particle_30.jpg|184px]]<br />
|-<br />
|31<br />
|STEAM_NY_SLOWMOTION<br />
|<br />
|[[Изображение:vc_particle_31.jpg|184px]]<br />
|-<br />
|32<br />
|GROUND_STEAM<br />
|<br />
|[[Изображение:vc_particle_32.jpg|184px]]<br />
|-<br />
|33<br />
|ENGINE_STEAM<br />
|<br />
|[[Изображение:vc_particle_33.jpg|184px]]<br />
|-<br />
|34<br />
|RAINDROP<br />
|<br />
|[[Изображение:vc_particle_34.jpg|184px]]<br />
|-<br />
|35<br />
|RAINDROP_SMALL<br />
|<br />
|[[Изображение:vc_particle_35.jpg|184px]]<br />
|-<br />
|36<br />
|RAIN_SPLASH<br />
|<br />
|[[Изображение:vc_particle_36.jpg|184px]]<br />
|-<br />
|37<br />
|RAIN_SPLASH_BIGGROW<br />
|<br />
|[[Изображение:vc_particle_37.jpg|184px]]<br />
|-<br />
|38<br />
|RAIN_SPLASHUP<br />
|<br />
|[[Изображение:vc_particle_38.jpg|184px]]<br />
|-<br />
|39<br />
|WATERSPRAY<br />
|<br />
|[[Изображение:vc_particle_39.jpg|184px]]<br />
|-<br />
|40<br />
|WATERDROP<br />
|<br />
|[[Изображение:vc_particle_40.jpg|184px]]<br />
|-<br />
|41<br />
|BLOODDROP<br />
|<br />
|[[Изображение:vc_particle_41.jpg|184px]]<br />
|-<br />
|42<br />
|EXPLOSION_MEDIUM<br />
|<br />
|[[Изображение:vc_particle_42.jpg|184px]]<br />
|-<br />
|43<br />
|EXPLOSION_LARGE<br />
|<br />
|[[Изображение:vc_particle_43.jpg|184px]]<br />
|-<br />
|44<br />
|EXPLOSION_MFAST<br />
|<br />
|[[Изображение:vc_particle_44.jpg|184px]]<br />
|-<br />
|45<br />
|EXPLOSION_LFAST<br />
|<br />
|[[Изображение:vc_particle_45.jpg|184px]]<br />
|-<br />
|46<br />
|CAR_SPLASH<br />
|<br />
|[[Изображение:vc_particle_46.jpg|184px]]<br />
|-<br />
|47<br />
|BOAT_SPLASH<br />
|<br />
|[[Изображение:vc_particle_47.jpg|184px]]<br />
|-<br />
|48<br />
|BOAT_THRUSTJET<br />
|<br />
|[[Изображение:vc_particle_48.jpg|184px]]<br />
|-<br />
|49<br />
|WATER_HYDRANT<br />
|<br />
|[[Изображение:vc_particle_49.jpg|184px]]<br />
|-<br />
|50<br />
|WATER_CANNON<br />
|<br />
|[[Изображение:vc_particle_50.jpg|184px]]<br />
|-<br />
|51<br />
|EXTINGUISH_STEAM<br />
|<br />
|[[Изображение:vc_particle_51.jpg|184px]]<br />
|-<br />
|52<br />
|PED_SPLASH<br />
|<br />
|[[Изображение:vc_particle_52.jpg|184px]]<br />
|-<br />
|53<br />
|PEDFOOT_DUST<br />
|<br />
|[[Изображение:vc_particle_53.jpg|184px]]<br />
|-<br />
|54<br />
|CAR_DUST<br />
|<br />
|[[Изображение:vc_particle_54.jpg|184px]]<br />
|-<br />
|55<br />
|HELI_DUST<br />
|<br />
|[[Изображение:vc_particle_55.jpg|184px]]<br />
|-<br />
|56<br />
|HELI_ATTACK<br />
|<br />
|[[Изображение:vc_particle_56.jpg|184px]]<br />
|-<br />
|57<br />
|ENGINE_SMOKE<br />
|<br />
|[[Изображение:vc_particle_57.jpg|184px]]<br />
|-<br />
|58<br />
|ENGINE_SMOKE2<br />
|<br />
|[[Изображение:vc_particle_58.jpg|184px]]<br />
|-<br />
|59<br />
|CARFLAME_SMOKE<br />
|<br />
|[[Изображение:vc_particle_59.jpg|184px]]<br />
|-<br />
|60<br />
|FIREBALL_SMOKE<br />
|<br />
|[[Изображение:vc_particle_60.jpg|184px]]<br />
|-<br />
|61<br />
|PAINT_SMOKE<br />
|<br />
|[[Изображение:vc_particle_61.jpg|184px]]<br />
|-<br />
|62<br />
|TREE_LEAVES<br />
|<br />
|[[Изображение:vc_particle_62.jpg|184px]]<br />
|-<br />
|63<br />
|CARCOLLISION_DUST<br />
|<br />
|[[Изображение:vc_particle_63.jpg|184px]]<br />
|-<br />
|64<br />
|CAR_DEBRIS<br />
|<br />
|[[Изображение:vc_particle_64.jpg|184px]]<br />
|-<br />
|65<br />
|BIRD_DEBRIS<br />
|<br />
|[[Изображение:vc_particle_65.jpg|184px]]<br />
|-<br />
|66<br />
|HELI_DEBRIS<br />
|<br />
|[[Изображение:vc_particle_66.jpg|184px]]<br />
|-<br />
|67<br />
|EXHAUST_FUMES<br />
|<br />
|[[Изображение:vc_particle_67.jpg|184px]]<br />
|-<br />
|68<br />
|RUBBER_SMOKE<br />
|<br />
|[[Изображение:vc_particle_68.jpg|184px]]<br />
|-<br />
|69<br />
|BURNINGRUBBER_SMOKE<br />
|<br />
|[[Изображение:vc_particle_69.jpg|184px]]<br />
|-<br />
|70<br />
|BULLETHIT_SMOKE<br />
|<br />
|[[Изображение:vc_particle_70.jpg|184px]]<br />
|-<br />
|71<br />
|GUNSHELL_FIRST<br />
|<br />
|[[Изображение:vc_particle_71.jpg|184px]]<br />
|-<br />
|72<br />
|GUNSHELL<br />
|<br />
|[[Изображение:vc_particle_72.jpg|184px]]<br />
|-<br />
|73<br />
|GUNSHELL_BUMP1<br />
|<br />
|[[Изображение:vc_particle_73.jpg|184px]]<br />
|-<br />
|74<br />
|GUNSHELL_BUMP2<br />
|<br />
|[[Изображение:vc_particle_74.jpg|184px]]<br />
|-<br />
|75<br />
|ROCKET_SMOKE<br />
|<br />
|[[Изображение:vc_particle_75.jpg|184px]]<br />
|-<br />
|76<br />
|TEST<br />
|<br />
|[[Изображение:vc_particle_76.jpg|184px]]<br />
|-<br />
|77<br />
|BIRD_FRONT<br />
|<br />
|[[Изображение:vc_particle_77.jpg|184px]]<br />
|-<br />
|78<br />
|SHIP_SIDE<br />
|<br />
|[[Изображение:vc_particle_78.jpg|184px]]<br />
|-<br />
|79<br />
|BEASTIE<br />
|<br />
|[[Изображение:vc_particle_79.jpg|184px]]<br />
|-<br />
|80<br />
|RAINDROP_2D<br />
|<br />
|[[Изображение:vc_particle_80.jpg|184px]]<br />
|-<br />
|81<br />
|HEATHAZE<br />
|<br />
|[[Изображение:vc_particle_81.jpg|184px]]<br />
|-<br />
|82<br />
|HEATHAZE_IN_DIST<br />
|<br />
|[[Изображение:vc_particle_82.jpg|184px]]<br />
|-<br />
|83-87<br />
|<br />
|Нет<br />
|[[Изображение:vc_particle_83-87.jpg|184px]]<br />
|}<br />
<br />
==San Andreas==<br />
===Системы частиц===<br />
В San Andreas система цастиц создаётся опкодом:<BR><br />
<source lang="scm">064B: 0@ = create_particle "prt_gunshell" at 1557.162 24.305 22.7313 type 1</source><br />
* 0@ - переменная, в которую сохранится хендл системы частиц<br />
* "prt_gunshell" - название создаваемой системы частиц (перечислены далее)<br />
* at 1557.162 24.305 22.7313 - координаты<br />
* type 1 - какой-то тип, я не понял.<br />
Также можно создать систему частиц на актёре, объекте, машине; с вращением и без:<br />
<source lang="scm"><br />
0669: 55@ = create_attached_particle "EXHALE" on_actor $ACTOR_RYDER with_offset 90@ 91@ 92@ flag 1 <br />
066A: 137@ = create_attached_particle "PETROLCAN" on_actor 71@ with_offset 0.0 0.116 0.048 rotation 95@ 96@ 97@ flag 1 <br />
066B: 280@ = create_attached_particle "PRT_SPARK" on_car 152@ with_offset -1.69 3.607 -0.271 flag 1 <br />
066C: 179@ = create_attached_particle "CEMENT" on_car 90@ with_offset 0.0 -4.4 0.0 rotation 0.0 -1.0 0.0 flag 1 <br />
066D: 100@ = create_attached_particle "SMOKE_FLARE" on_object 94@ with_offset 0.0 0.0 0.1 flag 1 <br />
066E: create_attached_particle "COKE_TRAIL" on_object 22@ with_offset 0.0 -0.2 -0.1 rotation 0.0 0.0 -1.0 flag 1 handle_as 20@ <br />
</source><br />
При создании мы создаём только объект системы частиц, что бы воспроизвести эффект, нужно применить опкод: <BR><br />
<source lang="scm">064C: play_particle 0@</source><br />
* 0@ - хендл системы частиц<br />
Что бы остановить, нужно применить опкод:<BR><br />
<source lang="scm">064E: stop_particle 0@</source><br />
Ещё есть команда прицепления ситемы частиц на позвонок актёра:<BR><br />
<source lang="scm">0883: attach_particle 0@ to_actor $ACTOR_RYDER mode 5</source><br />
* attach_particle 0@<br />
* to_actor $ACTOR_RYDER - хендл актёра<br />
* mode 5 - режим, чем меньше, тем ниже, чем больше, тем выше<br />
Например, этот код создаёт дым у рта актёра:<BR><br />
<source lang="scm" line><br />
0669: 0@ = create_attached_particle "EXHALE" on_actor $PLAYER_ACTOR with_offset 0.05 0.12 0.0 flag 1 <br />
0883: attach_particle 0@ to_actor $PLAYER_ACTOR mode 5<br />
064C: make_particle 0@ visible <br />
</source><br />
Уничтожение системы частиц:<BR><br />
<source lang="scm">0650: destroy_particle 177@ </source><br />
Освободить хендл particl'ей можно этой командой (когда игрок отвернётся, игра удалит систему частиц):<BR><br />
<source lang="scm">064F: remove_references_to_particle 167@</source><br />
<br />
{| {{Таблица}} class="collapsible collapsed"<br />
!Название<br />
!Описание<br />
!Цикл<br />
!Звук<br />
!Скриншот<br />
|-<br />
|prt_blood<br />
|Фонтан крови. Серой.<br />
|Цикл<br />
|Нет<br />
|[[Изображение:sa_particle_prt_blood.jpg|184px|Система частиц "prt_blood"]]<br />
|-<br />
|prt_boatsplash<br />
|Пена от лодки<br />
|Цикл<br />
|Нет<br />
|[[Изображение:sa_particle_prt_boatsplash.jpg|184px|Система частиц "prt_boatsplash"]]<br />
|-<br />
|prt_bubble<br />
|Пузыри. Видны только под водой.<br />
|Цикл<br />
|Нет<br />
|[[Изображение:sa_particle_prt_bubble.jpg|184px|Система частиц "prt_bubble"]]<br />
|-<br />
|prt_cardebris<br />
|Огромные серые осколки коробки<br />
|Цикл<br />
|Нет<br />
|[[Изображение:sa_particle_prt_cardebris.jpg|184px|Система частиц "prt_cardebris"]]<br />
|-<br />
|prt_collisionsmoke<br />
|Плотный белый стоячий дым<br />
|Цикл<br />
|Нет<br />
|[[Изображение:sa_particle_prt_collisionsmoke.jpg|184px|Система частиц "prt_collisionsmoke"]]<br />
|-<br />
|prt_glass<br />
|Огромные осколки<br />
|Цикл<br />
|Нет<br />
|[[Изображение:sa_particle_prt_glass.jpg|184px|Система частиц "prt_glass"]]<br />
|-<br />
|prt_gunshell<br />
|Гильзы<br />
|Цикл<br />
|Нет<br />
|[[Изображение:sa_particle_prt_gunshell.jpg|184px|Система частиц "prt_gunshell"]]<br />
|-<br />
|prt_sand<br />
|Пыль плотная<br />
|Цикл<br />
|Нет<br />
|[[Изображение:sa_particle_prt_sand.jpg|184px|Система частиц "prt_sand"]]<br />
|-<br />
|prt_sand2<br />
|Пыль плотная побольше<br />
|Цикл<br />
|Нет<br />
|[[Изображение:sa_particle_prt_sand2.jpg|184px|Система частиц "prt_sand2"]]<br />
|-<br />
|prt_smokeII_3_expand<br />
|Серый дым<br />
|Цикл<br />
|Нет<br />
|[[Изображение:sa_particle_prt_smokeII_3_expand.jpg|184px|Система частиц "prt_smokeII_3_expand"]]<br />
|-<br />
|prt_smoke_huge<br />
|Серый дым побольше<br />
|Цикл<br />
|Нет<br />
|[[Изображение:sa_particle_prt_smoke_huge.jpg|184px|Система частиц "prt_smoke_huge"]]<br />
|-<br />
|prt_spark<br />
|Искры<br />
|Цикл<br />
|Нет<br />
|[[Изображение:sa_particle_prt_spark.jpg|184px|Система частиц "prt_spark"]]<br />
|-<br />
|prt_spark_2<br />
|Большие искры<br />
|Цикл<br />
|Нет<br />
|[[Изображение:sa_particle_prt_spark_2.jpg|184px|Система частиц "prt_spark_2"]]<br />
|-<br />
|prt_splash<br />
|Всплеск воды<br />
|Цикл<br />
|Нет<br />
|[[Изображение:sa_particle_prt_splash.jpg|184px|Система частиц "prt_splash"]]<br />
|-<br />
|prt_wake<br />
|Волна от плывущего человека<br />
|Нет цикла<br />
|Нет<br />
|[[Изображение:sa_particle_prt_wake.jpg|184px|Система частиц "prt_wake"]]<br />
|-<br />
|prt_watersplash<br />
|Всплеск капель воды<br />
|Цикл<br />
|Нет<br />
|[[Изображение:sa_particle_prt_watersplash.jpg|184px|Система частиц "prt_watersplash"]]<br />
|-<br />
|prt_wheeldirt<br />
|Пыль от колёс<br />
|Цикл<br />
|Нет<br />
|[[Изображение:sa_particle_prt_wheeldirt.jpg|184px|Система частиц "prt_wheeldirt"]]<br />
|-<br />
|boat_prop<br />
|Распыляющиеся капли воды от лодки<br />
|Цикл<br />
|Нет<br />
|[[Изображение:sa_particle_boat_prop.jpg|184px|Система частиц "boat_prop"]]<br />
|-<br />
|camflash<br />
|Вспышка фотокамеры<br />
|Нет цикла<br />
|Нет<br />
|[[Изображение:sa_particle_camflash.jpg|184px|Система частиц "camflash"]]<br />
|-<br />
|exhale<br />
|Дымок<br />
|Нет цикла<br />
|Нет<br />
|[[Изображение:sa_particle_exhale.jpg|184px|Система частиц "exhale"]]<br />
|-<br />
|explosion_fuel_car<br />
|Вспышка взрыва топлива<br />
|Нет цикла<br />
|Нет<br />
|[[Изображение:sa_particle_explosion_fuel_car.jpg|184px|Система частиц "explosion_fuel_car"]]<br />
|-<br />
|explosion_large<br />
|Большой взрыв<br />
|Нет цикла<br />
|Нет<br />
|[[Изображение:sa_particle_explosion_large.jpg|184px|Система частиц "explosion_large"]]<br />
|-<br />
|explosion_medium<br />
|Средний взрыв<br />
|Нет цикла<br />
|Нет<br />
|[[Изображение:sa_particle_explosion_medium.jpg|184px|Система частиц "explosion_medium"]]<br />
|-<br />
|explosion_molotov<br />
|Взрыв от коктейля Молотова<br />
|Нет цикла<br />
|Нет<br />
|[[Изображение:sa_particle_explosion_molotov.jpg|184px|Система частиц "explosion_molotov"]]<br />
|-<br />
|explosion_small<br />
|Малый взрыв<br />
|Нет цикла<br />
|Нет<br />
|[[Изображение:sa_particle_explosion_small.jpg|184px|Система частиц "explosion_small"]]<br />
|-<br />
|explosion_tiny<br />
|Очень маленький взрыв<br />
|Нет цикла<br />
|Нет<br />
|[[Изображение:sa_particle_explosion_tiny.jpg|184px|Система частиц "explosion_tiny"]]<br />
|-<br />
|extinguisher<br />
|Пена огнетушителя<br />
|Цикл<br />
|Нет<br />
|[[Изображение:sa_particle_extinguisher.jpg|184px|Система частиц "extinguisher"]]<br />
|-<br />
|fire<br />
|Огонь<br />
|Цикл<br />
|Есть<br />
|[[Изображение:sa_particle_fire.jpg|184px|Система частиц "fire"]]<br />
|-<br />
|fire_bike<br />
|Огонь с дымом (от мотоцикла)<br />
|Цикл<br />
|Есть<br />
|[[Изображение:sa_particle_fire_bike.jpg|184px|Система частиц "fire_bike"]]<br />
|-<br />
|fire_car<br />
|Огонь с дымом побольше (от машины)<br />
|Цикл<br />
|Есть<br />
|[[Изображение:sa_particle_fire_car.jpg|184px|Система частиц "fire_car"]]<br />
|-<br />
|fire_large<br />
|Большой огонь<br />
|Цикл<br />
|Есть<br />
|[[Изображение:sa_particle_fire_large.jpg|184px|Система частиц "fire_large"]]<br />
|-<br />
|fire_med<br />
|Средний огонь<br />
|Цикл<br />
|Есть<br />
|[[Изображение:sa_particle_fire_med.jpg|184px|Система частиц "fire_med"]]<br />
|-<br />
|flamethrower<br />
|Огонь <br />
|Цикл<br />
|Нет<br />
|[[Изображение:sa_particle_flamethrower.jpg|184px|Система частиц "flamethrower"]]<br />
|-<br />
|gunflash<br />
|Вспышка вылетевших пуль<br />
|Нет цикла<br />
|Нет<br />
|[[Изображение:sa_particle_gunflash.jpg|184px|Система частиц "gunflash"]]<br />
|-<br />
|gunsmoke<br />
|Дым от ствола (пистолета)<br />
|Нет цикла<br />
|Нет<br />
|[[Изображение:sa_particle_gunsmoke.jpg|184px|Система частиц "gunsmoke"]]<br />
|-<br />
|heli_dust<br />
|Клубы пыли на земле, как от вертолёта<br />
|Цикл<br />
|Нет<br />
|[[Изображение:sa_particle_heli_dust.jpg|184px|Система частиц "heli_dust"]]<br />
|-<br />
|jetpack<br />
|Оранджево-синий огонь от сопел джетпака<br />
|Цикл<br />
|Нет<br />
|[[Изображение:sa_particle_jetpack.jpg|184px|Система частиц "jetpack"]]<br />
|-<br />
|jetthrust<br />
|Огонь от сопел реактивного самолёта<br />
|Цикл<br />
|Нет<br />
|[[Изображение:sa_particle_jetthrust.jpg|184px|Система частиц "jetthrust"]]<br />
|-<br />
|molotov_flame<br />
|Огонёк от коктейля Молотова<br />
|Цикл<br />
|Нет<br />
|[[Изображение:sa_particle_molotov_flame.jpg|184px|Система частиц "molotov_flame"]]<br />
|-<br />
|nitro<br />
|Нитро<br />
|Цикл<br />
|Нет<br />
|[[Изображение:sa_particle_nitro.jpg|184px|Система частиц "nitro"]]<br />
|-<br />
|overheat_car<br />
|Чёрно-белый дым от машины<br />
|Цикл<br />
|Нет<br />
|[[Изображение:sa_particle_overheat_car.jpg|184px|Система частиц "overheat_car"]]<br />
|-<br />
|overheat_car_electric<br />
|Чёрно-белый дым с искрами от электрической машины<br />
|Цикл<br />
|Нет<br />
|[[Изображение:sa_particle_overheat_car_electric.jpg|184px|Система частиц "overheat_car_electric"]]<br />
|-<br />
|riot_smoke<br />
|Черный дым. Грубый, но поднимается высоко.<br />
|Нет цикла<br />
|Нет<br />
|[[Изображение:sa_particle_riot_smoke.jpg|184px|Система частиц "riot_smoke"]]<br />
|-<br />
|spraycan<br />
|Спрей (зелёная краска)<br />
|Цикл<br />
|Нет<br />
|[[Изображение:sa_particle_spraycan.jpg|184px|Система частиц "spraycan"]]<br />
|-<br />
|tank_fire<br />
|Выстрел танка<br />
|Нет цикла<br />
|Нет<br />
|[[Изображение:sa_particle_tank_fire.jpg|184px|Система частиц "tank_fire"]]<br />
|-<br />
|teargas<br />
|Серый круглый малый дым<br />
|Цикл<br />
|Нет<br />
|[[Изображение:sa_particle_teargas.jpg|184px|Система частиц "teargas"]]<br />
|-<br />
|teargasAD<br />
|Слезоточивый газ<br />
|Цикл<br />
|Нет<br />
|[[Изображение:sa_particle_teargasAD.jpg|184px|Система частиц "teargasAD"]]<br />
|-<br />
|water_hydrant<br />
|Вода из сломанного водоразборного крана<br />
|Нет цикла<br />
|Есть<br />
|[[Изображение:sa_particle_water_hydrant.jpg|184px|Система частиц "water_hydrant"]]<br />
|-<br />
|water_ripples<br />
|Круги на воде<br />
|Цикл<br />
|Нет<br />
|[[Изображение:sa_particle_water_ripples.jpg|184px|Система частиц "water_ripples"]]<br />
|-<br />
|water_speed<br />
|Очень большой (по сравнению с последующими) настоящий всплеск воды<br />
|Нет цикла<br />
|Нет<br />
|[[Изображение:sa_particle_water_speed.jpg|184px|Система частиц "water_speed"]]<br />
|-<br />
|water_splash<br />
|Средние брызги от всплеска<br />
|Нет цикла<br />
|Нет<br />
|[[Изображение:sa_particle_water_splash.jpg|184px|Система частиц "water_splash"]]<br />
|-<br />
|water_splash_big<br />
|Большие брызги от всплеска<br />
|Нет цикла<br />
|Нет<br />
|[[Изображение:sa_particle_water_splash_big.jpg|184px|Система частиц "water_splash_big"]]<br />
|-<br />
|water_splsh_sml<br />
|Маленькие брызги от всплеска<br />
|Нет цикла<br />
|Нет<br />
|[[Изображение:sa_particle_water_splsh_sml.jpg|184px|Система частиц "water_splsh_sml"]]<br />
|-<br />
|water_swim<br />
|Всплеск воды<br />
|Нет цикла<br />
|Нет<br />
|[[Изображение:sa_particle_water_swim.jpg|184px|Система частиц "water_swim"]]<br />
|-<br />
|cigarette_smoke<br />
|Дым от сигареты<br />
|Цикл<br />
|Нет<br />
|[[Изображение:sa_particle_cigarette_smoke.jpg|184px|Система частиц "cigarette_smoke"]]<br />
|-<br />
|Flame<br />
|Огонёк<br />
|Цикл<br />
|Нет<br />
|[[Изображение:Sa_particle_flame.jpg|184px|Система частиц "Flame"]]<br />
|-<br />
|insects<br />
|Насекомые<br />
|Цикл<br />
|Нет<br />
|[[Изображение:sa_particle_insects.jpg|184px|Система частиц "insects"]]<br />
|-<br />
|smoke30lit<br />
|Серо-белый уходящий вверх и расширяющийся дым<br />
|Цикл<br />
|Нет<br />
|[[Изображение:sa_particle_smoke30lit.jpg|184px|Система частиц "smoke30lit"]]<br />
|-<br />
|smoke30m<br />
|Чёрно-серый уходящий вверх дым<br />
|Цикл<br />
|Нет<br />
|[[Изображение:sa_particle_smoke30m.jpg|184px|Система частиц "smoke30m"]]<br />
|-<br />
|smoke50lit<br />
|Серо-белый уходящий ещё выше дым<br />
|Цикл<br />
|Нет<br />
|[[Изображение:sa_particle_smoke50lit.jpg|184px|Система частиц "smoke50lit"]]<br />
|-<br />
|vent<br />
|Дымок из трубы<br />
|Цикл<br />
|Нет<br />
|[[Изображение:sa_particle_vent.jpg|184px|Система частиц "vent"]]<br />
|-<br />
|vent2<br />
|Дымок из трубы побольше<br />
|Цикл<br />
|Нет<br />
|[[Изображение:sa_particle_vent2.jpg|184px|Система частиц "vent2"]]<br />
|-<br />
|waterfall_end<br />
|Пар от каскада водопадов<br />
|Цикл<br />
|Нет<br />
|[[Изображение:sa_particle_waterfall_end.jpg|184px|Система частиц "waterfall_end"]]<br />
|-<br />
|water_fnt_tme<br />
|Фонтан регулярно вкл/выкл (как гейзер "Regular Tom")<br />
|Цикл<br />
|Есть<br />
|[[Изображение:sa_particle_water_fnt_tme.jpg|184px|Система частиц "water_fnt_tme"]]<br />
|-<br />
|water_fountain<br />
|Фонтан<br />
|Цикл<br />
|Есть<br />
|[[Изображение:sa_particle_water_fountain.jpg|184px|Система частиц "water_fountain"]]<br />
|-<br />
|tree_hit_fir<br />
|"Листья" дерева<br />
|Нет цикла<br />
|Нет<br />
|[[Изображение:sa_particle_tree_hit_fir.jpg|184px|Система частиц "tree_hit_fir"]]<br />
|-<br />
|tree_hit_palm<br />
|Несколько пальмовых листов<br />
|Нет цикла<br />
|Нет<br />
|[[Изображение:sa_particle_tree_hit_palm.jpg|184px|Система частиц "tree_hit_palm"]]<br />
|-<br />
|blood_heli<br />
|Кровавый взрыв (Как во когда время миссии "Return the Families" копа разморошили лопастями вертолёта)<br />
|Нет цикла<br />
|Нет<br />
|[[Изображение:sa_particle_blood_heli.jpg|184px|Система частиц "blood_heli"]]<br />
|-<br />
|carwashspray<br />
|Много пара (от автомойки)<br />
|Цикл<br />
|Нет<br />
|[[Изображение:sa_particle_carwashspray.jpg|184px|Система частиц "carwashspray"]]<br />
|-<br />
|cement<br />
|Выливающийся цемент<br />
|Цикл<br />
|Нет<br />
|[[Изображение:sa_particle_cement.jpg|184px|Система частиц "cement"]]<br />
|-<br />
|cloudfast<br />
|Быстрые облака, как в миссии "Stowaway"<br />
|Цикл<br />
|Нет<br />
|[[Изображение:sa_particle_cloudfast.jpg|184px|Система частиц "cloudfast"]]<br />
|-<br />
|coke_puff<br />
|Вспышка пара (регулярно)<br />
|Цикл<br />
|Нет<br />
|[[Изображение:sa_particle_coke_puff.jpg|184px|Система частиц "coke_puff"]]<br />
|-<br />
|coke_trail<br />
|Выливается кокс<br />
|Цикл<br />
|Нет<br />
|[[Изображение:sa_particle_coke_trail.jpg|184px|Система частиц "coke_trail"]]<br />
|-<br />
|explosion_barrel<br />
|Сломался ящик (осколки вверх)<br />
|Нет цикла<br />
|Нет<br />
|[[Изображение:sa_particle_explosion_barrel.jpg|184px|Система частиц "explosion_barrel"]]<br />
|-<br />
|explosion_crate<br />
|Сломался ящик (осколки во все стороны)<br />
|Нет цикла<br />
|Нет<br />
|[[Изображение:sa_particle_explosion_crate.jpg|184px|Система частиц "explosion_crate"]]<br />
|-<br />
|explosion_door<br />
|Резкая маленькая вспышка взрыва и рассеивающийся дым<br />
|Нет цикла<br />
|Нет<br />
|[[Изображение:sa_particle_explosion_door.jpg|184px|Система частиц "explosion_door"]]<br />
|-<br />
|petrolcan<br />
|Струя, использовалась R* как струя мочи<br />
|Цикл<br />
|Нет<br />
|[[Изображение:sa_particle_petrolcan.jpg|184px|Система частиц "petrolcan"]]<br />
|-<br />
|puke<br />
|Рвота<br />
|Нет цикла<br />
|Нет<br />
|[[Изображение:sa_particle_puke.jpg|184px|Система частиц "puke"]]<br />
|-<br />
|shootlight<br />
|Осколки, искры и дымок от разбитого прожектора<br />
|Нет цикла<br />
|Нет<br />
|[[Изображение:sa_particle_shootlight.jpg|184px|Система частиц "shootlight"]]<br />
|-<br />
|smoke_flare<br />
|Яркий сигнальный огонь со светящимся красным дымом<br />
|Цикл<br />
|Нет<br />
|[[Изображение:sa_particle_smoke_flare.jpg|184px|Система частиц "smoke_flare"]]<br />
|-<br />
|wallbust<br />
|Появляющиеся и быстро оседающие клубы пыли (как от сломанной стены в миссии End Of The Line)<br />
|Нет цикла<br />
|Нет<br />
|[[Изображение:sa_particle_wallbust.jpg|184px|Система частиц "wallbust"]]<br />
|-<br />
|WS_factorysmoke<br />
|Фабричный желтоватый дым<br />
|Нет цикла<br />
|Нет<br />
|[[Изображение:sa_particle_WS_factorysmoke.jpg|184px|Система частиц "WS_factorysmoke"]]<br />
|}<br />
===Короны===<br />
<source lang="scm">024F: create_corona_with_radius 0.2 type 2 lensflares 0 with_color 255 0 0 at 2112.607 2422.873 59.8223</source><br />
Создаёт корону. Нужно исполнять эту команду в цикле.<br />
* _with_radius 0.2 - радиус короны<br />
* type 2 - вид короны (перечислены далее)<br />
* lensflares 0 - Определяет нечто вроде гало (перечислены далее)<br />
* with_color 255 0 0 - цвет в формате RGB<br />
* at 2112.607 2422.873 59.8223 - координаты<br />
<br />
{| {{Таблица}}<br />
!№<br />
!Описание<br />
!Скриншот<br />
|-<br />
|1<br />
|Круглый свет<br />
|[[Изображение:particle_corona_1.jpg|184px]]<br />
|-<br />
|2<br />
|Луна<br />
|[[Изображение:particle_corona_2.jpg|184px]]<br />
|-<br />
|3<br />
|Шероховатый продолговатый свет<br />
|[[Изображение:particle_corona_3.jpg|184px]]<br />
|-<br />
|4<br />
|Удлинённый в ширину свет<br />
|[[Изображение:particle_corona_4.jpg|184px]]<br />
|-<br />
|5-8<br />
|Нет?<br />
|<br />
|-<br />
|9<br />
|Кольцо<br />
|[[Изображение:particle_corona_9.jpg|184px]]<br />
|-<br />
|}<br />
Виды бликов:<br />
{| {{Таблица}}<br />
!№<br />
!Описание<br />
!Скриншот<br />
|-<br />
|0<br />
|Нет бликов<br />
|[[Изображение:particle_corona_lensflares_0.jpg|184px]]<br />
|-<br />
|1<br />
|Размытые жёлтые и красные<br />
|[[Изображение:particle_corona_lensflares_1.jpg|184px]]<br />
|-<br />
|2<br />
|Чёткие, цвета короны<br />
|[[Изображение:particle_corona_lensflares_2.jpg|184px]]<br />
|}<br />
<br />
===Проекции===<br />
Это 3D-эффект, создаваемый на горизонтальной поверхности карты.<br />
С помощью этой команды можно создать тень, пятно крови на земле, световой круг на земле и т.д.<BR><br />
<source lang="scm">016F: create_particle 2 rotation_factor 0.0 size 1.0 intensity 150 color_RGB 0 0 0 at 2112.607 2422.873 59.8223</source><br />
* create_particle 2 - тип проекции<br />
* rotation_factor 0.0 - угол в радианах<br />
* size 1.0 - размер<br />
* intensity 150 - интенсивность (яркость)<br />
* color_RGB 0 0 0 - цвет в формате RGB (не действует на тени, а у крови меняется только красный канал)<br />
* at 2112.607 2422.873 59.8223 - координаты X, Y, Z<br />
{| {{Таблица}}<br />
!№<br />
!Описание<br />
!Скриншот<br />
|-<br />
|1<br />
|Квадратная тень<br />
|[[Изображение:particle_g_1.jpg|184px]]<br />
|-<br />
|2<br />
|Круглая тень<br />
|[[Изображение:particle_g_2.jpg|184px]]<br />
|-<br />
|3<br />
|Круглый свет<br />
|[[Изображение:particle_g_3.jpg|184px]]<br />
|-<br />
|4<br />
|Тень в форме рыбки (от вертолёта)<br />
|[[Изображение:particle_g_4.jpg|184px]]<br />
|-<br />
|5<br />
|Свет от фар машины<br />
|[[Изображение:particle_g_5.jpg|184px]]<br />
|-<br />
|6<br />
|Пятно крови<br />
|[[Изображение:particle_g_6.jpg|184px]]<br />
|}<br />
<br />
==GTA 4==<br />
===Короны===<br />
В GTA 4 используется только один вид корон.<br />
<br />
[[Изображение:Gta4corona.jpg|184px]]<br />
<br />
Для создания короны используется команда [http://gtamodding.ru/wiki/DRAW_CORONA DRAW_CORONA]<br />
===Список названий PTFX===<br />
{{Шаблон:Заготовка}}<br />
====Ambient====<br />
*ambient_ashtray_smoke<br />
*ambient_butterflies<br />
*ambient_butterflies_b<br />
*ambient_ceiling_dust<br />
*ambient_ceiling_spawned<br />
*ambient_chemical_drips<br />
*ambient_cig_clouds<br />
*ambient_cig_smoke<br />
*ambient_cockroaches<br />
*ambient_dry_ice <br />
*ambient_dust_lit_windows<br />
*ambient_dust_windy<br />
*ambient_electrical_sparks<br />
*ambient_fire_flames<br />
*ambient_fire_generic<br />
*ambient_fire_glow<br />
*ambient_fire_smoke<br />
*ambient_flies_circling<br />
*ambient_flies_glow<br />
*ambient_flies_smoke<br />
*ambient_flies_sparked<br />
*ambient_flies_sparks<br />
*ambient_flies_spawner<br />
*ambient_flies_zapped<br />
*ambient_horn_blast<br />
*ambient_horn_steam<br />
*ambient_hotdogstand<br />
*ambient_hot_tub <br />
*ambient_leaves_windy<br />
*ambient_oil_drips<br />
*ambient_overpass_debris<br />
*ambient_overpass_spawned<br />
*ambient_receipts_windy<br />
*ambient_receipts_windy_3d<br />
*ambient_respray_can<br />
*ambient_rubbish_windy<br />
*ambient_sand_windy<br />
*ambient_sewerage_flows<br />
*ambient_sewerage_sinks<br />
*ambient_steam_chimney<br />
*ambient_steam_cold<br />
*ambient_steam_cooking<br />
*ambient_steam_exhaust<br />
*ambient_steam_manhole<br />
*ambient_steam_vent<br />
*ambient_steam_vent_oblong<br />
*ambient_tower_plume_large<br />
*ambient_tower_plume_small<br />
*ambient_water_drips<br />
*ambient_water_drips_int<br />
*ambient_water_pipe_drips<br />
*amb_ceiling_area_spawns<br />
*amb_ceiling_chunks<br />
*amb_ceiling_dust<br />
*amb_ceiling_silt<br />
*amb_leaves_windy<br />
*amb_overpass_area_spawns<br />
*amb_overpass_chunks<br />
*amb_overpass_dust<br />
*amb_overpass_silt<br />
*amb_plane_engines<br />
*amb_receipts_windy<br />
*amb_rubbish_windy<br />
*amb_ship_plume<br />
*amb_ship_whitesmoke<br />
*amb_steam_chimney<br />
*amb_steam_cooking<br />
*amb_steam_exhaust<br />
*amb_steam_manhole<br />
*amb_tower_plume_lg<br />
*amb_tower_plume_sm<br />
<br />
====Anim====<br />
*anim_hammer_debris<br />
*anim_hammer_dirt<br />
*anim_hammer_dust<br />
*anim_hammer_specks<br />
*anim_pneumatic<br />
*anim_pneumatic_dust<br />
*anim_pneumatic_specks<br />
*anim_rake_leaves<br />
*anim_sweep_dust<br />
*anim_watering_can<br />
<br />
====Bang====<br />
*bang_blood<br />
*bang_carmetal<br />
*bang_carmetal_dust<br />
*bang_concrete<br />
*bang_concrete_dust<br />
*bang_dusty<br />
*bang_glass<br />
*bang_grass<br />
*bang_gravel<br />
*bang_gravel_dust<br />
*bang_leaves<br />
*bang_mud_soft<br />
*bang_mud_splashes<br />
*bang_sand<br />
*bang_wood<br />
*bark_chunks_sheet<br />
<br />
====Blood====<br />
*blood_artery_mist<br />
*blood_bang_chunks<br />
*blood_fall_chunks<br />
*blood_gun_chunks<br />
*blood_gun_entry<br />
*blood_gun_entry_arterial<br />
*blood_gun_exit<br />
*blood_gun_exit_arterial<br />
*blood_melee_blunt<br />
*blood_melee_fluid<br />
*blood_melee_sharp<br />
*blood_melee_sharp_ig<br />
*blood_mouth_chunks<br />
*blood_mouth_mist<br />
*blood_scrape_mist<br />
*blood_sharp_cloud<br />
*blood_sharp_fluid<br />
*blood_shotgun_entry<br />
*blood_shotgun_exit<br />
*blood_shotgun_mist<br />
*blood_sniper_entry<br />
*blood_sniper_exit<br />
*blood_sniper_mist<br />
*blood_stun_punch<br />
*blood_wheel_squash<br />
<br />
====Break====<br />
*break_cardboard<br />
*break_card_flaps<br />
*break_card_small_chunks<br />
*break_card_small_slivers<br />
*break_ceramic<br />
*break_ceramic_bits<br />
*break_ceramic_dots<br />
*break_ceramic_dust<br />
*break_ceramic_slabs<br />
*break_dino_bones<br />
*break_drugs_cloud<br />
*break_drugs_jar_dots<br />
*break_electrical<br />
*break_electrical_dust<br />
*break_electrical_fire_lg<br />
*break_electrical_fire_sm<br />
*break_electrical_glow<br />
*break_electrical_sparks<br />
*break_laundry_basket<br />
*break_laundry_socks_1<br />
*break_metal<br />
*break_metal_dust<br />
*break_metal_shards<br />
*break_metal_slivers<br />
*break_metal_sparks<br />
*break_plasterboard<br />
*break_sparks<br />
*break_sparks_dust<br />
*break_sparks_fast<br />
*break_sparks_glow<br />
*break_SPAWN_fire<br />
*break_stone<br />
*break_stone_bits<br />
*break_stone_dots<br />
*break_stone_dust<br />
*break_stone_slabs<br />
*break_water_barrel<br />
*break_water_barrel_core<br />
*break_water_barrel_splash<br />
*break_wood<br />
*break_wood_chunks<br />
*break_wood_planks<br />
*break_wood_shards<br />
<br />
====Col====<br />
*col_bin_bits_max10<br />
*col_bin_bits_max25<br />
*col_bin_bits_max5<br />
*col_bin_bits_max50<br />
*col_bin_fastfood_chips<br />
*col_bin_fastfood_cups<br />
*col_bin_fastfood_lids<br />
*col_bin_fastfood_napkins<br />
*col_bin_gunk_splash<br />
*col_bin_household_apple3<br />
*col_bin_household_banana8<br />
*col_bin_household_fagp2<br />
*col_bin_household_paper<br />
*col_bin_street_banana8<br />
*col_dumpsters_cardboard<br />
*col_dumpsters_paint<br />
*col_dumpsters_paper<br />
*col_dumpsters_slabs<br />
*col_dumpsters_wood<br />
*col_electrical<br />
*col_electrical_arcexp_arc<br />
*col_electrical_arcexp_dust<br />
*col_electrical_arcexp_glow<br />
*col_electrical_arcing<br />
*col_fastfood_nuts<br />
*col_fruitpile_apples<br />
*col_fruitpile_bananas<br />
*col_fruitpile_mix<br />
*col_fruitpile_oranges<br />
*col_leaves_autumnal<br />
*col_leaves_pale<br />
*col_mail_bundle<br />
*col_napkins<br />
*col_newspaper_bundle<br />
*col_soda_cans_ecola<br />
*col_soda_cans_ginger<br />
*col_soda_cans_lemon<br />
*col_soda_cans_mix<br />
*col_soda_cans_sprunk<br />
<br />
====CS====<br />
*CS_blood_saw_mist<br />
*CS_blowtorch_core<br />
*CS_blowtorch_glow<br />
*CS_burn_box_flames<br />
*CS_burn_box_smoke<br />
*CS_cabaret_dry_ice<br />
*CS_cabbit_chunks_B<br />
*CS_cabbit_chunks_F<br />
*CS_cabbit_mist_B<br />
*CS_cabbit_mist_F<br />
*CS_chest_chunks_B<br />
*CS_chest_chunks_F<br />
*CS_chin_chunks_B<br />
*CS_chin_chunks_F<br />
*CS_clarence_mist_B<br />
*CS_clarence_mist_F<br />
*CS_dimitri_brain_B<br />
*CS_dimitri_mist_B<br />
*CS_dimitri_mist_F<br />
*CS_end_blood_drool<br />
*CS_execution_blood<br />
*CS_execution_chest<br />
*CS_execution_chin<br />
*CS_execution_eye<br />
*CS_execution_incar<br />
*CS_Fau7a_cigar_smoke<br />
*CS_Fau7a_lingering_smoke<br />
*CS_faustin_mist_B<br />
*CS_faustin_mist_F<br />
*CS_food_splatter<br />
*CS_GT02_dry_ice <br />
*CS_incar_brain_B<br />
*CS_incar_chunks_B<br />
*CS_incar_chunks_F<br />
*CS_interior_smoke<br />
*CS_kneecaps_mist_B<br />
*CS_kneecaps_mist_F<br />
*CS_lighter_flame<br />
*CS_lighter_flames<br />
*CS_peg_blood_loop<br />
*CS_peg_blood_nose<br />
<br />
====Destruction====<br />
*dest_banknote_pile<br />
*dest_bin_fastfood<br />
*dest_bin_household<br />
*dest_bin_street <br />
*dest_bin_street<br />
*dest_ceramic<br />
*dest_ceramic_plate<br />
*dest_ceramic_plates<br />
*dest_chips<br />
*dest_chip_packet<br />
*dest_coin_pile<br />
*dest_crispbag_full<br />
*dest_dumpsters <br />
*dest_dumpsters<br />
*dest_electrical<br />
*dest_electrical_plastic<br />
*dest_flower_leaves<br />
*dest_flower_petals<br />
*dest_food_debris<br />
*dest_fruitpile_apples<br />
*dest_fruitpile_bananas<br />
*dest_fruitpile_mix<br />
*dest_fruitpile_oranges<br />
*dest_fuel_dump<br />
*dest_glass_brown_empty<br />
*dest_glass_clear_dots<br />
*dest_glass_clear_dust<br />
*dest_glass_clear_empty<br />
*dest_glass_clear_lager<br />
*dest_glass_clear_redwine<br />
*dest_glass_clear_shards<br />
*dest_glass_green_empty<br />
*dest_glass_lager<br />
*dest_glass_panes<br />
*dest_glass_redwine<br />
*dest_glass_water<br />
*dest_juice_cups<br />
*dest_juice_splash<br />
*dest_lightbulb_dots<br />
*dest_lightbulb_dust<br />
*dest_lightbulb_glass<br />
*dest_lightbulb_glow<br />
*dest_lightbulb_off<br />
*dest_lightbulb_on<br />
*dest_lightbulb_sparks<br />
*dest_mail_bundle<br />
*dest_metal_objects<br />
*dest_metal_shards<br />
*dest_metal_slivers<br />
*dest_metal_sparks<br />
*dest_money_mixed<br />
*dest_napkin_pieces<br />
*dest_newspaper_bundle<br />
*dest_paint_pot<br />
*dest_paint_pot_goop<br />
*dest_paint_pot_metal<br />
*dest_pigeon_blood<br />
*dest_pigeon_fluff<br />
*dest_pigeon_mist<br />
*dest_plasterboard<br />
*dest_plastic<br />
*dest_plastic_brown_cider<br />
*dest_plastic_chunks<br />
*dest_plastic_clear_empty<br />
*dest_plastic_clear_water<br />
*dest_plastic_dust<br />
*dest_plastic_specks<br />
*dest_sauce_bottle<br />
*dest_sodapile_ecola<br />
*dest_sodapile_ginger<br />
*dest_sodapile_lemon<br />
*dest_sodapile_mix<br />
*dest_sodapile_sprunk<br />
*dest_sparking_SPAWN_sparks<br />
*dest_sparking_wires<br />
*dest_sparks_fast<br />
*dest_stone_objects<br />
*dest_stone_pillars<br />
*dest_stone_slabs<br />
*dest_sweeties<br />
*dest_wood<br />
*dest_wood_crate<br />
*dest_wood_planks<br />
*dest_wood_shards<br />
<br />
====Explosion====<br />
*explosion_a_anim<br />
*exp_air_car_chunks<br />
*exp_bridge_explosion<br />
*exp_chopper_chase<br />
*exp_fireball<br />
*exp_fireball_air<br />
*exp_fireball_explosion<br />
*exp_fireball_lingeringsmoke<br />
*exp_fireball_simpleglow<br />
*exp_fireball_smoke<br />
*exp_fireball_smokeRing<br />
*exp_grenade<br />
*exp_grenade_air<br />
*exp_grenade_core<br />
*exp_grenade_smoke<br />
*exp_grenade_spikes<br />
*exp_missed_chopper<br />
*exp_molotov<br />
*exp_molotov_air<br />
*exp_mol_air_glass<br />
*exp_mol_air_sparks<br />
*exp_mol_explosion<br />
*exp_mol_simpleglow<br />
*exp_petrol_boom<br />
*exp_petrol_boom_back<br />
*exp_petrol_burst<br />
*exp_petrol_chunks<br />
*exp_petrol_flaming_debris<br />
*exp_petrol_pump<br />
*exp_petrol_slivers<br />
*exp_petrol_smoke<br />
*exp_petrol_sparks<br />
*exp_petrol_spike<br />
*exp_rigged_boom_up<br />
*exp_rigged_chunks<br />
*exp_rigged_smoke<br />
*exp_rigged_spikes<br />
*exp_rocket<br />
*exp_rocket_air<br />
*exp_ship_destroy<br />
*exp_trespass_boom<br />
*exp_trespass_boom2<br />
*exp_trespass_core<br />
*exp_trespass_core2<br />
*exp_trespass_huge<br />
*exp_trespass_mid<br />
*exp_trespass_upper<br />
*exp_upper1_SPAWN<br />
*exp_upper2_SPAWN<br />
*exp_upper3_SPAWN<br />
*exp_upper4_SPAWN<br />
*exp_upper5_SPAWN<br />
*exp_vehicle<br />
*exp_vehicle_air<br />
<br />
====Fire====<br />
*fire_blast_spawned<br />
*fire_blocks_flames<br />
*fire_blocks_road<br />
*fire_blocks_smoke<br />
*fire_chopper_tail<br />
*fire_gas_blast_flames<br />
*fire_gas_blast_glow<br />
*fire_gas_burner <br />
*fire_gas_burner_flames<br />
*fire_gas_burner_glow<br />
*fire_gas_burn_blast<br />
*fire_gas_intermittent<br />
*fire_hotdog_blaze<br />
*fire_object_flames<br />
*fire_object_glow<br />
*fire_object_smoke<br />
*fire_ped_body_glow<br />
*fire_ped_limb_glow<br />
*fire_ped_smoking<br />
*fire_plume_large<br />
*fire_tyre_flames<br />
*fire_vehicle_smoke<br />
<br />
====Glass====<br />
*glass_chunk_sheet<br />
*glass_dots_sheet<br />
<br />
====Impact====<br />
*imp_bullet_armour<br />
*imp_bullet_cardboard<br />
*imp_bullet_carpet<br />
*imp_bullet_concrete<br />
*imp_bullet_default<br />
*imp_bullet_dirt_dry<br />
*imp_bullet_glass<br />
*imp_bullet_gravel<br />
*imp_bullet_leaves<br />
*imp_bullet_mattress_foam<br />
*imp_bullet_metal<br />
*imp_bullet_mud_soft<br />
*imp_bullet_paper<br />
*imp_bullet_pillow_feathers<br />
*imp_bullet_sand<br />
*imp_bullet_tvscreen<br />
*imp_bullet_videowall<br />
*imp_bullet_water<br />
*imp_bullet_wood<br />
*imp_exp_concrete<br />
*imp_exp_metal<br />
*imp_exp_metal_core<br />
*imp_exp_wood<br />
*imp_exp_wood_core<br />
*imp_glass_shards<br />
*imp_leaves_falling<br />
*imp_melee_concrete<br />
*imp_melee_glass<br />
*imp_melee_wood<br />
*imp_shotgun_glass<br />
*imp_shotgun_water<br />
<br />
====Leaves====<br />
*leaves_fallinginwind<br />
*leaves_windy_autumnal<br />
*leaves_windy_pale<br />
*leaves_wind_autumnal<br />
*leaves_wind_pale<br />
<br />
====Metal====<br />
*metal_chunk_sheet<br />
*metal_shard_spec<br />
<br />
====Misc====<br />
*Cardboard_Flap_A<br />
*Cardboard_Flap_B<br />
*cardboard_pieces<br />
*china_chunks_sheet<br />
*cockroaches_anim<br />
*disco_ice<br />
*draw_screenspace<br />
*grainy_dirt_sheet<br />
*gravel_chunk_sheet<br />
*gravel_lots_sheet<br />
*interior_gunsmoke<br />
*normal_sphere_128<br />
*player_wasted_cash<br />
*raindrop_blurred<br />
<br />
====Multi====<br />
*multi_objects_01<br />
*multi_objects_02<br />
*multi_objects_03<br />
<br />
====Muzzle====<br />
*muz_launcher_smoke<br />
*muz_machine<br />
*muz_machine_core<br />
*muz_machine_front<br />
*muz_machine_glow<br />
*muz_minigun<br />
*muz_minigun_smoke<br />
*muz_pistol_large<br />
*muz_pistol_small<br />
*muz_pistol_smoke<br />
*muz_rocket<br />
*muz_rocket_front<br />
*muz_rocket_smoke<br />
*muz_shotgun<br />
*muz_shotgun_core<br />
*muz_shotgun_glow<br />
*muz_shotgun_smoke<br />
*muz_shotgun_sparks<br />
*muz_smg<br />
<br />
====Overhang====<br />
*overhang_drips_10m<br />
*overhang_drips_1m<br />
*overhang_drips_2m<br />
*overhang_drips_5m<br />
*overhang_drips_spawner<br />
*overhang_littledrips_10m<br />
*overhang_littledrips_1m<br />
*overhang_littledrips_2m<br />
*overhang_littledrips_5m<br />
<br />
====Ped====<br />
*ped_exhale_linger<br />
*ped_exhale_vapour<br />
*ped_foot_dirt_dry<br />
*ped_foot_gravel<br />
*ped_foot_leaves<br />
*ped_foot_mud_dust<br />
*ped_foot_mud_soft<br />
*ped_foot_sand<br />
*ped_foot_water<br />
*ped_foot_water_L<br />
*ped_pissing_mist<br />
*ped_smoke_exhale<br />
<br />
====Qub3d====<br />
*qub_explode_dust<br />
*qub_explode_glow<br />
*qub_explode_rings<br />
*qub_explode_sparks<br />
*qub_explode_streaks<br />
*qub_lg_explode_blue<br />
*qub_lg_explode_green<br />
*qub_lg_explode_orange<br />
*qub_lg_explode_purple<br />
*qub_lg_explode_red<br />
*qub_lg_explode_yellow<br />
*qub_merge_orange<br />
*qub_merge_purple<br />
*qub_merge_sparks<br />
*qub_merge_yellow<br />
*qub_sm_explode_blue<br />
*qub_sm_explode_green<br />
*qub_sm_explode_orange<br />
*qub_sm_explode_purple<br />
*qub_sm_explode_red<br />
*qub_sm_explode_yellow<br />
<br />
====Scrape====<br />
*scrape_bark_shards<br />
*scrape_carpet<br />
*scrape_carpet_dust<br />
*scrape_dusty<br />
*scrape_leaves_3D<br />
*scrape_mud_specks<br />
*scrape_wood_shards<br />
<br />
====Shot====<br />
*shot_chemical_glug<br />
*shot_directed_chem<br />
*shot_directed_chem_core<br />
*shot_directed_flame<br />
*shot_directed_oil<br />
*shot_directed_oil_core<br />
*shot_directed_steam<br />
*shot_directed_steam_core<br />
*shot_directed_steam_linger<br />
*shot_directed_water<br />
*shot_directed_water_core<br />
*shot_gas_canister<br />
*shot_gas_explosion<br />
*shot_oil_glug<br />
*shot_plasterboard<br />
*shot_water_glug<br />
*shot_water_tower<br />
*shot_water_tower_core<br />
<br />
====Smoke====<br />
*smoke_chimney_sheet<br />
*smoke_cloud_anim<br />
*smoke_filled_car<br />
*smoke_new_plumes<br />
*smoke_only_cinders<br />
*smoke_only_flames<br />
*smoke_only_smoke<br />
*smoke_plume_float<br />
*smoke_plume_window<br />
*smoke_vault_lingers<br />
*sparks_arcing_anim<br />
<br />
====Vehicle====<br />
*veh_backfire_glow<br />
*veh_exhaust_banger<br />
*veh_exhaust_core<br />
*veh_exhaust_front<br />
*veh_exhaust_truck<br />
*veh_headlight_dots<br />
*veh_headlight_dust<br />
*veh_heli_downwash<br />
*veh_heli_tail_dust<br />
*veh_petroltank_car<br />
*veh_plume_rising<br />
*veh_respray_smoke<br />
*veh_rim_disp_conc<br />
*veh_train_sparks<br />
*veh_tyre_puncture<br />
*veh_wrecked_bike<br />
*veh_wrecked_boat<br />
*veh_wrecked_flames<br />
*veh_wrecked_heli<br />
*veh_wrecked_linger<br />
*veh_wrecked_smoke<br />
*veh_wrecked_truck<br />
<br />
====Water====<br />
*water_boat_entry<br />
*water_boat_entry_L<br />
*water_boat_entry_R<br />
*water_carwash_drips<br />
*water_carwash_drips_droplets<br />
*water_carwash_drips_spawnpoints<br />
*water_carwash_jets<br />
*water_carwash_mist<br />
*water_carwash_spawn<br />
*water_carwash_spit<br />
*water_carwash_spray<br />
*water_casino_drop<br />
*water_castle_dir<br />
*water_castle_drop<br />
*water_castle_jet<br />
*water_central_drop<br />
*water_cityhall_dir<br />
*water_corner_jet<br />
*water_drips_sheet<br />
*water_fountain_5th<br />
*water_fountain_castle_low<br />
*water_fountain_castle_up<br />
*water_fountain_central<br />
*water_fountain_cityhall<br />
*water_fountain_corners<br />
*water_fountain_directional<br />
*water_fountain_jet<br />
*water_fountain_pour<br />
*water_fountain_rock<br />
*water_fountain_spout<br />
*water_fountain_spray<br />
*water_fountain_tier<br />
*water_fountain_tier_L<br />
*water_generic_dir<br />
*water_generic_jet<br />
*water_heli_blades<br />
*water_hose_spray<br />
*water_hydrant_dir<br />
*water_hydrant_jet<br />
*water_hydrant_side<br />
*water_hydrant_SP<br />
*water_hydrant_top<br />
*water_hydrant_vertical_jet<br />
*water_jets_misty<br />
*water_pipe_bubble<br />
*water_pipe_bubble2<br />
*water_pipe_casino<br />
*water_pipe_flow <br />
*water_rock_bubble<br />
*water_rock_bubble2<br />
*water_splashes_sheet<br />
*water_splash_cam<br />
*water_splash_ped<br />
*water_tier_spray<br />
*water_vehicle_ring<br />
<br />
====Weapon====<br />
*weap_ejected_pistol<br />
*weap_ejected_rifle<br />
*weap_ejected_shotgun<br />
*weap_ejected_smg<br />
*weap_glow_spike_L<br />
*weap_molotov_flame<br />
*weap_molotov_glow<br />
*weap_molotov_smoke<br />
*weap_molotov_trail<br />
*weap_rocket_glow<br />
*weap_rocket_player<br />
*weap_rocket_smoke<br />
*wpn_bullet_smoke<br />
*wpn_bullet_trace<br />
<br />
====Wheel====<br />
*wheel_burnout_dirt<br />
*wheel_burnout_pool<br />
*wheel_disp_conc_rim<br />
*wheel_disp_grass<br />
*wheel_disp_gravel<br />
*wheel_disp_gravel_w<br />
*wheel_disp_hard_rim<br />
*wheel_disp_hard_w<br />
*wheel_disp_leaves<br />
*wheel_disp_leaves_w<br />
*wheel_disp_mud<br />
*wheel_disp_wood_rim<br />
*wheel_friction_conc_rim<br />
*wheel_friction_dirt_dry<br />
*wheel_friction_dirt_dry_rim<br />
*wheel_friction_grass<br />
*wheel_friction_gravel<br />
*wheel_friction_gravel_rim<br />
*wheel_friction_hard<br />
*wheel_friction_hard_rim<br />
*wheel_friction_hard_w<br />
*wheel_friction_leaves<br />
*wheel_friction_leaves_w<br />
*wheel_friction_mud<br />
*wheel_friction_sand<br />
*wheel_friction_sand_rim<br />
*wheel_friction_water<br />
*wheel_friction_wood_rim<br />
*Wheel_Gravel_Lots<br />
*wheel_sand_burnout<br />
<br />
====Wind====<br />
*wind_debris_leaves<br />
*wind_debris_mail<br />
*wind_debris_paper<br />
[[Категория:GTA_3]][[Категория:GTA_VC]][[Категория:GTA_SA]][[Категория:GTA_4]][[Категория:Скриптинг]]</div>Seemannhttp://gtamodding.ru/wiki/%D0%A4%D0%B0%D0%B9%D0%BB:Chase0.PNGФайл:Chase0.PNG2019-11-01T22:43:29Z<p>Seemann: </p>
<hr />
<div></div>Seemannhttp://gtamodding.ru/wiki/Sanny_BuilderSanny Builder2011-07-05T11:22:41Z<p>Seemann: </p>
<hr />
<div>{{Программа<br />
| version = 3.04<br />
| date = 17 августа 2008<br />
| author = {{U|Seemann}}<br />
| game = [[GTA 3]], [[GTA VC]], [[GTA SA]],<br>[[GTA LCS]], [[GTA VCS]]<br />
| genre = [[:Категория:Скриптинг|редактор скриптов]]<br />
| site = http://sannybuilder.com<br />
| image = [[Image:SannyBuilder_01.gif|250px|Sanny Builder 3]]<br />
}}<br />
'''Sanny Builder''' &ndash; это быстрая и мощная программа для редактирования скриптов трехмерной серии GTA (GTA3, VC, SA; частично LCS и VCS). <br />
Включает в себя дизассемблер, позволяющий пользователю быстро декомпилировать [[main.scm]] с игровыми скриптами. Автор и разработчик Sanny Builder &ndash; [[User:Seemann|Seemann]].<br />
<br />
== Возможности программы ==<br />
=== Основные возможности ===<br />
* Поддержка всех игр трехмерной серии GTA, кроме [[GTA 4]]. Позволяет декомпилировать и компилировать скрипты для GTA3, GTA VC и GTA SA. Скриптовый формат GTA LCS и GTA VCS поддерживается лишь частично: Sanny Builder поможет только декомпилировать скрипты этих игр;<br />
* В Sanny Builder встроен самый быстрый компилятор среди аналогичных программ;<br />
* Представляет собой удобную интегрированную среду разработки с подсветкой кода;<br />
* Содержит детальную справку, включающую описания и пути разрешения различных run-time ошибок.<br />
<br />
{|{{Таблица}}<br />
!Игра<br />
!Декомпиляция<br />
!Компиляция<br />
|-<br />
|[[Изображение:Gta3.png|16px]] GTA III<br />
|да<br />
|да<br />
|-<br />
|[[Изображение:Vc.png|16px]] GTA VC<br />
|да<br />
|да<br />
|-<br />
|[[Изображение:Sa.png|16px]] GTA SA<br />
|да<br />
|да<br />
|-<br />
|[[Изображение:Lcs.png|16px]] GTA LCS <br />
|да<br />
|нет<br />
|-<br />
|[[Изображение:Vcs.png|16px]] GTA VCS<br />
|да<br />
|нет<br />
|-<br />
|}<br />
<br />
=== Возможности среды программирования ===<br />
Sanny Builder как среда программирования предоставляет пользователю следующие возможности:<br />
<br />
====Подсветка синтаксиса====<br />
Есть возможность раскрашивать в любые цвета параметры опкодов, комментарии, ключевые слова. Набор ключевых слов содержится в файлах <code>keywords.txt</code> и <code>keywords.ini</code>.<br />
<br />
====Быстрый переход по тексту====<br />
Для этого есть два способа: <br />
<br />
#Установить на нужной строке маркер комбинацией клавиш <code>Ctrl + Shift + <0..9></code>, а затем быстро перейти к этой строке комбинацией <code>Ctrl + <0..9></code>. Удалить все маркеры можно через меню <code>Правка -> Удалить закладки</code><br />
#Через опцию <code>Перейти...</code>. Она вызывается комбинацией <code>Ctrl+G</code>. Вводите порядковый номер нужной строки, и редактор быстро переместит Вас к ней.<br />
<br />
====Быстрый переход по меткам====<br />
Для этого установите курсор на какой-либо метке, например '''[color=green]@MyLabel[/color]'''. Нажмите <code>Ctrl+Num2</code> и редактор переместит курсор к строке с этой меткой ([color=green]''':MyLabel'''[/color]). Вернуться обратно можно нажатием <code>Ctrl+Num8</code>. Также можно исследовать переходы (jumps). Для этого установите курсор на метку (например, [color=green]'''@MyLabel'''[/color]) и нажмите <code>Ctrl+Num4</code> для перехода на строку с другим переходом на эту же метку, находящуюся выше. Или <code>Ctrl+Num6</code> на переход, находящийся ниже. Если больше таких переходов нет, то позиция курсора меняться не будет.<br />
<br />
====Показ различной информации о текущем опкоде====<br />
Сейчас реализован вывод количества параметров опкода и, если курсор находится над именем модели, цифрового значения модели (только для моделей из IDE - файлов и только когда определена директория [[San Andreas]]). <br />
<br />
Конвертирование исходников из SAMB <br />
<br />
В текущей версии поддерживается формат <code>SAMB 0.33</code>. <br />
Для конвертации откройте файл в Sanny Builder и выберите пункт меню <code>Сервис->Конвертация->MB->SB</code>. <br />
<br />
Также можно конвертировать отдельный, выделенный участок кода. <br />
<br />
Внимание: при конвертировании используется файл <code>MB.ini</code>, в котором содержатся текстовые имена переменных и значения адресов памяти. Если Вы добавляли свои переменные в файл <code>variables.ini</code> в <code>SAMB 0.33</code>, используйте его (переименовав в файл <code>MB.ini</code>).<br />
<br />
====Подбор опкодов====<br />
Напишите часть опкода (например '''fade''') и нажмите '''F1'''. Программа из файла <code>opcodes.txt</code> выберет первую строку с этим словом. <source lang="scm">0169: set_fade_color 0 0 0</source><br />
<br />
Если Вам нужен другой опкод с этим словом, нажмите '''F1''' нужное количество раз.<br />
Вы можете составить свой список опкодов из текущего исходника через опцию <code>Сервис->Построить opcodes.txt</code>.<br />
<br />
====Чтение координат и угла разворота игрока====<br />
Нажмите <code>Ctrl+Alt+1</code>, когда запущен SA, и появится окно менеджера.<br />
Здесь вы можете установить новые координаты и угол разворота и скопировать текущие.<br />
В верхнем поле ввода вы можете указать сразу 3 координаты, разделив их пробелом или ",".<br />
Также вы можете быстро вставить координаты игрока в текст комбинацией <code>Ctrl+Shift+C</code>. Вставка угла разворота (<code>z_angle</code>) в текст производится нажатием <code>Ctrl+Shift+E</code>.<br />
<br />
====Поддержка макросов====<br />
Иногда скриптеру необходимо писать одни и те же строки кода, например для загрузки моделей. Чтобы сократить время написания такого кода, вы можете вызвать специальный макрос, который вставит в редактор нужный код. Для этого напишите ключевое слово, соответствующее этому макросу, например ''load'' и нажмите '''F2'''. В редакторе появится код<br />
<br />
<source lang="scm">#.Load<br />
<br />
while not #.Available<br />
wait 0<br />
end</source><br />
<br />
Вам останется только написать нужное имя модели в качестве параметра.<br />
<br />
Список используемых макросов содержится в файле <code>'macroes.txt'</code>. <br />
Используется следующий синтаксис:<br />
<br />
Имя макроса (ключевое слово) пишется обычной строкой. На этой же строке можно добавить краткое описание макроса. Для этого достаточно поставить знак = (равно), а после добавить описание. Поддерживаются только однострочные описания.<br />
<br />
После строки с именем записывается содержимое макроса, каждая строка обозначается символом =. Место, куда должен быть помещен курсор после вставки обозначается символом |.<br />
<br />
В ходе работы можно вызвать список макросов комбинацией <code>Ctrl+J</code>.<br />
<br />
Также можно добавить свой макрос в файл <code>'macroes.txt'</code> прямо из редактора. Для этого достаточно выделить нужный кусок текста и выбрать меню "<code>Сервис->Добавить макрос</code>". В появившемся диалоговом окне вы должны ввести имя нового макроса (вместе или без описания) и нажать кнопку <code>OK</code>. Новый макрос будет сразу же готов к использованию.<br />
<br />
Также существует возможность создавать свои собственные макросы в ходе работы. По сути редактор будет запоминать нажатия любых клавиш и потом вопроизводить их в том же порядке.<br />
Например, у вас есть код:<br />
<br />
<source lang="scm">$Actor = Actor.Create(CivMale, #MALE01, 100.0, 100.0, 10.0)<br />
$ActorWithGun = Actor.Create(CivMale, #MALE01, 110.0, 100.0, 20.0)<br />
$Gang01 = Actor.Create(CivMale, #MALE01, 120.0, 100.0, 30.0)<br />
$Gang02 = Actor.Create(CivMale, #MALE01, 130.0, 100.0, 40.0)<br />
$Killer = Actor.Create(CivMale, #MALE01, 140.0, 100.0, 50.0)<br />
$ActorWithoutGun = Actor.Create(CivMale, #MALE01, 150.0, 100.0, 60.0) <br />
</source><br />
<br />
Допустим, Вам нужно обменять имена актеров в кажой паре (поставить вместо [color=blue]$Actor $ActorWithGun[/color], а вместо [color=blue]$ActorWithGun[/color] - [color=blue]$Actor[/color] и т.д.) Путем записи макроса можно сократить время написания такого кода.<br />
<br />
Поставьте курсор на первую строку и нажмите <code>Ctrl+M</code>. С этого момента редактор запоминает все нажатия клавиш, так что будьте осторожны.<br />
<br />
#Зажмите <code>Ctrl</code> и нажмите один раз стрелку вправо. <code>Ctrl</code> нужен так как строки разной длины. <br />
#Теперь нажмите <code>Shift+Home</code> и <code>Ctrl+Ins</code>. <br />
#Нажмите стрелку вниз. Вы должны оказаться на второй строке, при этом глобальная переменная будет в буфере обмена. <br />
#Нажмите <code>Ctrl+стрелка вправо</code> и <code>Shift+Ins</code>.<br />
#Нажмите <code>Ctrl+стрелка влево</code>, <code>Shift+Home</code>, <code>Ctrl+Ins</code> и кнопку <code>Delete</code><br />
#Нажмите <code>стрелку вверх</code><br />
#Нажмите <code>Ctrl+Shift+стрелка вправо</code> и <code>Shift+Ins</code><br />
#Нажмите кнопку <code>Home</code>.<br />
<br />
Теперь первые две строки выглядят как<br />
<br />
<source lang="scm">$ActorWithGun = Actor.Create(CivMale, 100.0, 100.0, 10.0)<br />
$Actor = Actor.Create(CivMale, 110.0, 100.0, 20.0)</source><br />
<br />
курсор стоит в начале первой строки. Теперь нажмите <code>Ctrl+M</code><br />
<br />
Макрос записан. Теперь вы можете воспроизводить нажатия клавиш комбинацией <code>Ctrl+P</code>. Установите курсор на 3-ю строку, нажмите <code>Ctrl+P</code> и имена актеров поменяются местами.<br />
<br />
Во время записи макроса можно включить паузу нажатием <code>Ctrl+P</code>. Продолжить запись - <code>Ctrl+P</code>.<br />
<br />
====Замена номеров миссий на их имена====<br />
Sanny Builder допускает использовать вместо номера миссии ее имя. Именем миссии явялется имя ее метки, которая определена в блоке '''DEFINE MISSION'''.<br />
<br />
Например, если у вас есть<br />
<br />
<source lang="scm">DEFINE MISSION 10 AT @MYMISSION</source><br />
<br />
то вы можете использовать вместо <br />
<br />
<source lang="scm">start_mission 10</source><br />
<br />
<br />
<source lang="scm">start_mission MYMISSION</source><br />
<br />
В SB добавлена опция Заменять номера миссий. Когда она включена, декомпилятор автоматически заменяет все номера миссий в коде на их имена. На компилятор эта опция не влияет, он поддерживает оба варианта.<br />
<br />
Эта опция дает возможность безболезненно удалять миссии, не заботясь о переименовывании всех последующих номеров в коде. Все что нужно, это изменить блок '''DEFINE MISSION'''.<br />
<br />
Для дополнительного удобства в строке '''start_mission''' можно вызвать список имен миссий и их номеров нажатием <code>Ctrl+[space]</code>.<br />
<br />
Также можно быстро перейти с имени миссии на нее саму. Переход осуществляется так же, как и переход на метку <br />
<br />
====Многоязычный интерфейс====<br />
Начиная с версии <code>2.98</code> Sanny Builder поддерживает различные варианты перевода интерфейса и сообщений. В стандартной комплектации доступны русскоязычный и англоязычный варианты. Переключить язык можно через опции (<code>F10</code>).<br />
<br />
Информация по созданию своего перевода содержится в файле <code>'lang\How to translate.txt'</code><br />
<br />
====Различные режимы редактирования====<br />
Sanny Builder может редактировать скрипты игр [[GTA3]], [[GTA VC]], [[GTA SA]]. Текущий режим отображается в нижнем правом углу программы.<br />
<br />
Переключить режимы редактирования можно через контекстное меню, которое появляется при клике по названию текущего режима. <br />
<br />
====Меню внешних приложений====<br />
Вы можете добавить в меню Инструменты до 9 внешних приложений, которые будут запускаться когда они вам понадобятся. Каждому приложению можно присвоить комбинацию горячих клавиш и ряд параметров, необходимых для запуска.<br />
<br />
В качестве параметра запускаемого приложения может использоваться специальное слово: <code>$SB_FileName</code>. Оно обозначает имя текущего открытого файла и может быть передано во внешнее приложение.<br />
<br />
====Комментирование кода====<br />
Комментарии обозначаются в коде двойным слешем [color=navy]''//''[/color]<br />
Все, что идет после данного знака до конца строки, игнорируется компилятором. <br />
<br />
Для того чтобы закомментировать несколько строк сразу либо только часть строки (например в середине или начале) вы можете использовать блочные комментарии [color=navy]''{}''[/color]<br />
<br />
<source lang="scm">0001: wait {это игнорируется} 0 ms</source><br />
<br />
Также вы можете закомментировать несколько строк выделив их и нажав <code>Ctrl+Q</code> Для раскоментирования выделите текст и нажмите <code>Ctrl+Q</code> еще раз.<br />
<br />
====Собственные имена для меток====<br />
Вы можете давать меткам собственные имена, которые не будут зависеть от опций декомпилятора. Перечень имен содержится в файле <code>CustomLabels.ini</code> (отдельный для каждой игры). Формат записи следующий:<br />
<br />
<label address>=<custom name><br />
<br />
Если декомпилятор встретит метку по данному адресу, он заменит ее на указанное имя. <br />
<br />
Узнать адрес метки можно включив в опциях формат меток <code>"Смещение от начала"</code>. После декомпиляции файла, число после слова <code>Label</code> и будет адресом метки. <br />
<br />
==Опции программы==<br />
<br />
Опции программы вызываются нажатием кнопки F10. Вы увидите окно, поделенное на 4 части, каждая из которых содержит определенный вид настроек. По умолчанию открывается страница общих настроек.<br />
<br />
===Общие настройки===<br />
<br />
[[Изображение:SB-1.png]]<br />
<br />
Данная страница содержит в основном настройки (де)компилятора.<br />
<br />
[[Изображение:SB-2.png]]<br />
<br />
Работа программы требует использования определенных файлов игры, поэтому вы должны указать корректный путь к папке, куда была установлена игра. Вы можете ввести адрес вручную или выбрать папку через диалог, появляющийся при нажатии кнопки.<br />
<br />
[[Изображение:SB-3.png]]<br />
<br />
Для корректной работы программы ей требуется <code>INI-файл</code>, со списком опкодов. В данном поле вы можете указать путь к данному файлу. При нажатии на кнопку появится диалог выбора файла.<br />
<br />
[[Изображение:SB-4.png]]<br />
<br />
В правой части находится список доступных языков для интерфейса программы. Сами переводы находится в папке <code>lang</code>. Для установки нового языка интерфейса, выберите его в списке.<br />
<br />
Информация о создании новых переводов содержится в файле <code>How to translate.txt</code> в папке <code>lang</code>.<br />
<br />
[[Изображение:SB-5.png]]<br />
<br />
Для удобства работы с SCM-файлами вы можете ассоциировать их с Sanny Builder’ом. <br />
<br />
Когда галочка выбрана, в реестр Windows будут внесены необходимые изменения, и теперь при клике по файлу с расширением .[[scm]] будет автоматически запускаться декомпилятор SB. Для того чтобы прекратить ассоциацию, уберите галочку.<br />
<br />
[[Изображение:SB-6.png]]<br />
<br />
Общий список опций (де)компилятора. В левом столбце находятся опции, сопутствующие процессу работы программы, в правом - конкретные варианты (де)компиляции.<br />
<br />
[U]Перезапись выходного файла[/U]<br />
<br />
При выборе данной опции декомпилятор будет записывать данные в выходной файл, независимо от того, существует он уже или нет. Если опция не выбрана, то при условии существования выходного текстового с таким именем, декомпилятор не будет его перезаписывать, а создаст новый файл, добавив к нему индекс (например, <code>main[0].txt</code>). <br />
<br />
[U]Показывать прогресс[/U]<br />
<br />
При выборе данной опции в процессе работы (де)компилятора в статусбаре будет отображаться текущий прогресс. В противном случае в статусбаре будут слова «Пожалуйста ждите…». Показ прогресса немного замедляет процесс (де)компиляции.<br />
<br />
[U]Показывать отчет[/U]<br />
<br />
При выборе данной опции Sanny Builder будет показывать различную информацию об итогах проделанной декомпиляции либо компиляции.<br />
<br />
[U]Показывать предупреждение[/U]<br />
<br />
Данная опция имеет значение только при компиляции скриптов [[San Andreas]]. Если игра запущена ко время компиляции, то файл <code>script.img</code>, содержащий часть скриптов не сможет быть перезаписан, поскольку игра использует данный файл. Компилятор покажет об этом предупреждение. Вы можете отключить его показ, выбрав данную опцию.<br />
<br />
[U]Ручной выбор IMG-файла[/U]<br />
<br />
При декомпиляции программа ищет файл <code>script.img</code>, содержащий часть игровых скриптов. Если файл не будет найден в одной папке с .[[scm]]-файлом или в папке игры, то будет показана ошибка. Однако при выборе данной опции вы сможете указать [[IMG]]-файл вручную.<br />
<br />
[U]Быстрая загрузка игры[/U]<br />
<br />
Sanny Builder способен пропускать начальные заставки при запуске [[San Andreas]] (F8). Если данная возможность вызывает ошибку в вашей версии игры, отключите данную опцию.<br />
<br />
[U]Проверка условий[/U]<br />
<br />
Данная опция имеет 2 значения. При декомпиляции с включенной данной опцией программа будет заменять [[Кодинг_в_Sanny_Builder_3#Условия|количество условий]] в опкоде '''IF''' на слова '''AND''' и '''OR'''. При компиляции программа будет способна компилировать конструкции '''IF..END''', а также определять параметр для опкода '''IF''' в условиях со словами '''AND''' и '''OR'''.<br />
<br />
[U]Проверка локальных переменных[/U]<br />
<br />
Количество используемых локальных переменных имеет свои лимиты. При включении данной опции компилятор будет проверять правильность их использования.<br />
<br />
[U]Использовать опкоды[/U]<br />
<br />
Данная опция превращает декомпилятор Sanny Builder из высокоуровневого в низкоуровневый и наоборот. При ее выключении декомпилятор будет использовать доступные классы и кейворды, заменяя ими опкоды. Также не будут записываться опкоды для некоторых простых математических выражений. При включении данной опции все опкоды будут записываться в исходник.<br />
<br />
[U]Заменять номера миссий[/U]<br />
<br />
При включении данной опции декомпилятор будет заменять номера миссий в опкоде '''start_mission 0''' на ее имя. Например, '''start_mission INITIAL'''. Имя миссии определяется по имени метки в [[SCM#Заголовок|заголовке файла]]. Его также можно использовать для быстрого перехода к телу миссии.<br />
<br />
[U]Вставлять оригинальные имена миссий[/U]<br />
<br />
Когда данная опция включена, декомпилятор добавляет заранее определенные имена миссий как комментарии к опкоду '''start_mission''', а также к строке '''DEFINE MISSION''' в [[SCM#Заголовок|заголовке файла]].<br />
<br />
[U]Добавлять дополнительную информацию в [[SCM]].[/U]<br />
<br />
При включении данной опции компилятор будет записывать определенную информацию в конец файла <code>main.scm</code>. Эта информация будет потом использоваться при декомпиляции файла для максимального соответствия оригинальному скомпилированному файлу. В конец <code>main.scm</code> записываются позиции конструкций '''hex..end''', имена использованных глобальных переменных и т. п. Обратите внимание, что файл, скомпилированный таким образом нельзя будет декомпилировать в старых версиях SB (кроме случая включения опции '''ignore_unknown'''). <br />
<br />
См. так же "[[Кодинг в Sanny Builder 3]]".<br />
<br />
===Форматирование===<br />
<br />
[[Изображение:SB-7.png]]<br />
<br />
На данной вкладке вы можете настроить имена исходника, форматы меток, регистры идентификаторов.<br />
<br />
[[Изображение:SB-8.png]]<br />
<br />
Здесь вы можете выбрать как будут называться файлы, получаемые после (де)компиляции. В верхнем поле вы указываете путь и имя текстового файла, в который записывается содержимое декомпилируемого файла. В нижних двух – пути и имена бинарных файлов [[SCM]] и [[IMG]], содержащих скомпилированные скрипты. Все поля имеют общий синтаксис. Специальными словами обозначатся часть имени декомпилируемого [[SCM]]-файла (для верхнего поля), либо исходного текстового файла (для нижних двух полей). <br />
<br />
<br />
'''$dir''' – путь к указанному файлу<br />
<br />
'''$name''' – имя файла<br />
<br />
'''$ext''' – его расширение<br />
<br />
'''$game''' – папка игры // game path<br />
<br />
'''$sb''' – папка Sanny Builder // Sanny Builder path<br />
<br />
<br />
Например, если вы декомпилируете файл C:\MyDir\main.scm, то <br />
<br />
'''$dir''' = C:\MyDir; <br />
<br />
'''$name''' = main<br />
<br />
'''$ext''' - .scm<br />
<br />
<br />
Тогда при задании маски <code>$dir\$name.txt</code> декомпилированный исходник получит имя <code>C:\MyDir\main.txt</code> (это будет отображаться в строке под одним из 3-х полей).<br />
<br />
[[Изображение:SB-9.png]]<br />
<br />
В этой части страницы вы можете выбрать как будут именоваться метки при декомпиляции scm-файла. <br />
<br />
Смещение от начала файла: все метки будут иметь числовое имя, например [color=green]'''@12345'''[/color]. Цифра после знака @ будет означать позицию данной метки в декомпилируемом файле.<br />
<br />
Имя потока+смещение от его начала: все метки будут иметь имя потока, в котором они находятся (определяется по опкоду '''name_thread''') плюс дополнительно смещение от начала потока. Например, [color=green]'''@MAIN_12'''[/color]<br />
<br />
Имя потока+смещение от начала файла: данный вариант похож на предыдущий, только после имени потока в метке будет записано ее позиция в файле (как в первом случае). Например, [color=green]@HELP_34567[/color].<br />
<br />
Если вы хотите, чтобы смещения в именах меток были указаны в 16-чном формате, поставьте галочку в соответствующем поле внизу. По умолчанию смещения записываются в десятеричном формате.<br />
<br />
[[Изображение:SB-10.png]]<br />
<br />
Здесь вы можете выбрать будет ли декомпилятор использовать имена отдельных элементов скрипта, определенные пользователем в соответствующих файлах. <br />
<br />
Имена меток содержатся в файле <code>CustomLabels.ini</code> в папке <code>data\<игра></code>. Файл представляет собой список имен меток и их смещений от начала файла. Если данная галочка поставлена, декомпилятор, в случае соответствия позиции метки в файле одной из позиций в данном списке, назовет метку как указано в списке. Содержимое файла <code>CustomLabels.ini</code> содержит смещения для оригинального файла <code>main.scm</code> версии 1.0<br />
<br />
Имена переменных содержатся в файле <code>CustomVariables.ini</code> для каждой игры. Файл представляет собой список оригинальных числовых имен переменных (DMA) и их текстовые эквиваленты. При включении данной опции декомпилятор будет называть переменные указанными именами.<br />
<br />
Имена массивов содержатся в файле <code>CustomArrays.ini</code>. Формат файла следующий: первым числом на строке стоит оригинальное имя переменной – начало массива, затем через пробел количество элементов в массиве – размер, затем текстовое имя. Данная опция предназначена для того, чтобы декомпилятор заменял некоторые идущие подряд глобальные переменные на индексированные переменные.<br />
<br />
<br />
[[Изображение:SB-11.png]]<br />
<br />
Эта опция имеет 2 назначения. Декомпилятор, используя данную опцию, будет именовать глобальные переменные, метки, массивы в указанном регистре букв. Компилятор будет записывать строковые значения в SCM также в указанном регистре.<br />
<br />
===Редактор===<br />
<br />
[[Изображение:SB-12.png]]<br />
<br />
На данной странице вы можете изменить настройки IDE<br />
<br />
[[Изображение:SB-13.png]]<br />
<br />
Данные списки устанавливают цвета различных элементов окна редактора. <br />
'''Активная строка''' – цвет строки, на которой стоит курсор.<br />
'''Отступ''' – цвет левого края редактора.<br />
'''Поле редактора''' – фон текста в редакторе.<br />
<br />
[[Изображение:SB-14.png]]<br />
<br />
Значение глубины просмотра используется при построении списка миссий, меток, переменных и т.п. по нажатию <code>Ctrl+[space]</code>. Число означает количество просматриваемых строк вверх и вниз от той строки, где был вызван список. Если вы поставите число 0, программа будет искать указанные элементы по всему скрипту.<br />
<br />
Также вы можете регулировать автоматическое появление списка. При поставленной галочке, список будет автоматически появляться после набора символа @, $, # и т.д.<br />
<br />
[[Изображение:SB-15.png]]<br />
<br />
Здесь представлены основные опции редактора.<br />
<br />
'''Показывать главную панель''' – вы можете показать/спрятать панель с кнопками в главном окне редактора.<br />
<br />
'''Показывать информацию об опкодах''' – при выборе данной опции редактор будет отображать с статусбаре отдельную информацию об опкоде на текущей строке: число параметров, имя опкода в классе, номер модели, тип переменной и т. д.<br />
<br />
'''Показывать номера строк''' – в левом отступе появятся номера строк.<br />
<br />
'''Показывать границу отступа''' – при выборе этой опции левый отступ будет ограничен с правой стороны. Отключите данную опцию, если вы хотите визуально увеличить пространство редактора.<br />
<br />
'''Открывать при запуске последний файл''' – при выборе данной опции программа при запуске будет открывать последний закрытый файл, если таковой имеется.<br />
<br />
'''Открывать все закрытые файлы''' – вы можете открывать разом все закрытые файлы при запуске. Данная опция может быть выбрана только при включенной опции Открывать при запуске последний файл.<br />
<br />
'''Подтверждать выход''' – при закрытии программы вы должны будете подтвердить выход. Полезно для предупреждения случайного закрытия программы.<br />
<br />
[[Изображение:SB-16.png]]<br />
<br />
Здесь вы можете выбрать шрифт и его настройки для редактора. Sanny Builder поддерживает только пропорциональные шрифты. Строка <code>AaBbCcDd</code> отражает текущие настройки. <br />
<br />
<br />
===Подсветка===<br />
<br />
[[Изображение:SB-17.png]]<br />
<br />
На данной вкладке вы можете выбрать варианты подсветки синтаксиса в окне редактора. <br />
Каждый элемент кода имеет 3 свойства: '''Цвет''', '''Фон''', '''Стиль'''.<br />
<br />
Доступны 3 элемента стиля: '''B''' – ''полужирный'', '''I''' – ''курсив'', '''U''' – [U]подчеркнутый[/U].<br />
<br />
Выбранный вариант подсветки используется также при сохранении кода в формат RTF или HTML.<br />
<br />
Элементы кода:<br />
<br />
Комментарии – текст, находящийся за двойным слешем [color-navy]//[/color] либо между фигурными скобками [color-navy]{}[/color]. <br />
<br />
Метки – идентификаторы, начинающиеся с символа [color=green]'''@'''[/color]. <br />
<br />
Переменные - – идентификаторы, начинающиеся с символа [color=blue]$[/color] (глобальные), а также заканчивающиеся символом [color=blue]@[/color] (локальные). Также к переменным приравнивается тип aDMA (начинается c [color=blue]&[/color]) и массивы.<br />
<br />
Кейворды – специальные слова, записанные в файле <code>keywords.ini</code> (общий для всех) и <codekeywords.txt (свой для каждой игры).<br />
<br />
'''Числа''' – целые и дробные числа.<br />
<br />
'''Строки''' – текст между символами [color=red]“…”[/color] и [color=red]‘…’[/color].<br />
<br />
'''Модели''' - идентификаторы, начинающиеся с символа [color=brown]#[/color]. <br />
<br />
'''Классы''' – часть класса, идентификатор стоящий перед знаком точки.<br />
<br />
'''Команды''' - часть класса, идентификатор стоящий после знака точки.<br />
<br />
'''Директивы''' – идентификаторы, заключенные в фигурные скобки и начинающиеся с [color=green]$[/color]<br />
<br />
<br />
==Консоль==<br />
<br />
Назначение консоли в Sanny Builder’е – переключение особых опций программы (в первую очередь (де)компилятора). Консоль вызывается нажатием <code>Ctrl + ~</code>. В поле ввода внизу вы можете писать команды и параметры. После набора команды нажмите Enter. Результат работы будет отображаться в поле консоли.<br />
<br />
Команды нечувствительны к регистру, поэтому вы можете набирать их в любом удобном регистре букв.<br />
<br />
Список поддерживаемых команд:<br />
<br />
'''help''' – при вводе команды ''help'' откроется окно справки о командах консоли.<br />
<br />
'''clear''' – очищает поле консоли<br />
<br />
'''list''' – команда ''list'' выводит в консоли список всех поддерживаемых команд.<br />
<br />
Дополнительный параметр:<br />
'''list options''' – при наборе слов ''list options'' в консоли появится список всех возможных опций для переключения. См. команду ''toggle''.<br />
<br />
'''toggle''' – основная команда для переключения опций программы.<br />
<br />
Дополнительный параметр:<br />
'''toggle <имя опции> [on/off]''' <br />
Список опций может меняться в разных версиях. Для получения всех возможных опций наберите ''list options''. <br />
<br />
После имени опции может стоять либо слово '''ON''' (тогда опция будет включена), либо слово '''OFF''' (опция будет выключена), либо ничего (тогда опция будет переключена на другое состояние – с '''ON''' на '''OFF''' или наоборот).<br />
<br />
{| {{Таблица}}<br />
!Игра<br />
!Декомпиляция<br />
|-<br />
|'''toggle CODE_OFFSETS''' <br />
|при включении этой опции декомпилятор будет печатать оффсеты для каждого опкода.<br />
|-<br />
|'''toggle VAR_COUNTER'''<br />
|при включении данной опции после компиляции исходника в поле консоли будет выведен список глобальных переменных, которые использовались в коде только раз. Очень полезно при поиске ненужных переменных. <br />
|-<br />
|'''toggle IGNORE_UNKNOWN''' <br />
|при включении это опции декомпилятор будет пропускать весь неизвестный ему код. Это поможет декомпилировать поврежденные или защищенные scm-файлы.<br />
|-<br />
|'''toggle CONSTANT_INDEXES'''<br />
|декомпилятор будет записывать идущие подряд глобальные переменные как массив, используя числовые константы. Например <br />
<br />
{| {{Таблица}}<br />
!Было<br />
!Стало<br />
|-<br />
|[color=blue]$10[/color]<br />
|[color=blue]$10[/color][0]<br />
|-<br />
|[color=blue]$11[/color]<br />
|[color=blue]$11[/color][1]<br />
|-<br />
|[color=blue]$12[/color]<br />
|[color=blue]$12[/color][2]<br />
|-<br />
|}<br />
По умолчанию данная опция включена.<br />
|-<br />
|'''toggle SKIP_SCM_HEADER'''<br />
|Будет пропущено чтение заголовка scm-файла. Это поможет декомпилировать внешние скрипты из файла <code>script.img</code> Компилятор не будет писать заголовок для компилируемого файла.<br />
Аналогом использования данной опции является директива [[Кодинг в Sanny Builder 3#$EXTERNAL|$EXTERNAL]]. <br />
|-<br />
|}<br />
<br />
Более быстрый и простой способ переключать данные опции - использовать меню, выпадающее после нажатия на кнопку 'Отладочные опции' на панели инструментов.<br />
<br />
Вы также можете устанавливать все опции разом при запуске программы. Для этого используется ключ '''\debug'''. Параметром ключа является число, значения битов которого определяют включена опция или нет.<br />
<br />
Для правильного указания параметра запустите Калькулятор Windows, переключите его сначала на инженерный, а затем на двоичный режим (F8). Напишите последовательность нулей и единиц, обозначающих состояние той или иной опции в соответствии с таблицей ниже. Счет идет справа налево.<br />
<br />
Например, двоичное число 10 (или 2 в десятичном формате) выключит опцию code offsets и включит ignore_unknown. Таким образом при запуске Sanny Builder с ключом \debug=2 будет такой же эффект, как если бы активировали указанные опции через консоль.<br />
<br />
{| {{Таблица}}<br />
!'''#'''<br />
!Sanny Builder Option <br />
!'''#'''<br />
!Sanny Builder Option <br />
|-<br />
|0<br />
|toggle code offsets<br />
|16<br />
|<br />
|-<br />
|1<br />
|toggle ignore_unknown<br />
|17<br />
|<br />
|-<br />
|2<br />
|toggle var_counter<br />
|18<br />
|<br />
|-<br />
|3<br />
|toggle constant_indexes<br />
|19<br />
|<br />
|-<br />
|4<br />
|toggle skip_scm_header <br />
|20<br />
|<br />
|-<br />
|5<br />
|<br />
|21<br />
|<br />
|-<br />
|6<br />
|<br />
|22<br />
|<br />
|-<br />
|7<br />
|<br />
|23<br />
|<br />
|-<br />
|8<br />
|<br />
|24<br />
|<br />
|-<br />
|9<br />
|<br />
|25<br />
|<br />
|-<br />
|10<br />
|<br />
|26<br />
|<br />
|-<br />
|11<br />
|<br />
|27<br />
|<br />
|-<br />
|12<br />
|<br />
|28<br />
|<br />
|-<br />
|13<br />
|<br />
|29<br />
|<br />
|-<br />
|14<br />
|<br />
|30<br />
|<br />
|-<br />
|15<br />
|<br />
|31<br />
|<br />
|-<br />
|}<br />
<br />
==Горячие клавиши==<br />
<br />
Помимо стандартных (Ctrl+C, Ctrl+Z, ... ) работают следующие комбинации клавиш:<br />
<br />
{| {{Таблица}}<br />
!Клавиши<br />
!Значение<br />
|-<br />
|'''TAB , Shift+TAB'''<br />
|двигать выделенный блок текста влево/вправо<br />
|-<br />
|'''Ctrl + Alt + A / D'''<br />
|двигать выделенный блок текста влево/вправо (на 1 символ)<br />
|-<br />
|'''Ctrl + Alt + B / N / M'''<br />
|различные режимы выделения текста: обычный, по столбцам (аналог - выделение с зажатым Alt), по строкам<br />
|-<br />
|'''Ctrl + Shift + Num8 / Num2'''<br />
|прокрутить страницу на одну строку вверх/вниз<br />
|-<br />
|'''Ctrl + Scroll Up / Down'''<br />
|страница вверх/вниз<br />
|-<br />
|'''Ctrl + Shift + U / L'''<br />
|перевод слова в верхний/нижний регистр<br />
|-<br />
|'''Ctrl + T'''<br />
|удалить слово<br />
|-<br />
|'''Ctrl + Y'''<br />
|удалить строку<br />
|-<br />
|'''Ctrl + Shift + Y'''<br />
|очистить строку<br />
|-<br />
|'''Ctrl + [space]'''<br />
|показать список классов/свойств/моделей/меток/переменных/миссий<br />
|-<br />
|'''Ctrl + Shift + [space]'''<br />
|показать подсказку для текущей команды класса<br />
|-<br />
|'''Ctrl + Shift + C'''<br />
|вставить текущие координаты игрока<br />
|-<br />
|'''Ctrl + Shift + E'''<br />
|вставить текущий угол поворота игрока<br />
|-<br />
|'''Ctrl+Shift+V'''<br />
|вставить в начало выделенного блока текста директиву [[Кодинг в Sanny Builder 3#$VERSION|$VERSION]], в конец - директиву [[Кодинг в Sanny Builder 3#$VERSION_RESTORE|VERSION_RESTORE]]<br />
|-<br />
|'''Ctrl + Enter'''<br />
|открыть файл по имени под курсором<br />
|-<br />
|'''Alt + S'''<br />
|(когда активен список моделей) - пересортировать список<br />
|-<br />
|'''F1'''<br />
|искать опкод с данным словом (без учета '_' и '.')<br />
|-<br />
|'''Ctrl + F1'''<br />
|искать опкод с данным словом (с учетом '_' и '.')<br />
|-<br />
|'''F2'''<br />
|использовать макрос<br />
|-<br />
|'''Ctrl + J'''<br />
|вызвать список макросов<br />
|-<br />
|'''Ctrl + M'''<br />
|запись последовательности нажатия клавиш/остановка записи<br />
|-<br />
|'''Ctrl + P'''<br />
|воспроизведение записанной последовательности/пауза во время записи<br />
|-<br />
|'''Ctrl + ~''' <br />
|вызвать [[#Консоль|консоль]]<br />
|-<br />
|}<br />
<br />
==Поиск опкодов ==<br />
<br />
Вы можете вызвать программу <code>OST</code> нажатием <code>Ctrl+Alt+2</code> или через меню<br />
<code>Сервис->Инструменты->Поиск опкодов</code>.<br />
<br />
Чтобы найти нужный опкод, впишите в верхнем поле слова, соответствующие ему, например <code>'actor car'</code> (без кавычек). В списке останутся команды, содержащие эти слова. Вписывайте уточняющие слова, пока нужный опкод не будет найден. При поиске можно пользоваться специальными операторами (подробнее о них ниже). <br />
<br />
Также программа учитывает кол-во введенных одинаковых слов и ищет их в необходимом количестве. Т.е, если вы напишете три слова <code>'car'</code>, то программа будет искать опкоды, в которых именно три слова <code>car</code>. <br />
<br />
Вы можете регулировать задержку перед началом поиска. Если вы хотите найти длинное слово, например <code>'weapon'</code>, то лишний отсев, который происходит, пока вы пишете слово, может быть нежелателен. Чтобы увеличить или уменьшить задержку, откройте настроечный файл <code>settings.ini</code> и измените значение параметра '''delay''' на нужное. Единица измерения - миллисекунда. По умолчанию задержка - 300 мс. <br />
<br />
Есть также еще один вариант. Измените значение параметра '''extra_search''' на '''1''', и теперь, если <code>SCROLL LOCK</code> будет включен, то поиск осуществляться не будет. Напишите нужное вам выражение, отключите <code>SCROLL LOCK</code>, и поиск будет осуществлен. <br />
<br />
Если при открытии окна поиска в редакторе был выделен участок строки, он будет автоматически вставлен в строку поиска. <br />
<br />
'''Копирование''': <br />
<br />
После того, как вы нашли нужный вам опкод, выделите его в списке и нажмите <code>ENTER</code>. Опкод будет записан в буфер. Если вы хотите добавить к нему еще один опкод, нажмите <code>SHIFT+ENTER</code>. Тогда в буфере обмена будет уже два ваших опкода.<br />
<br />
<code>F2</code> - скопировать весь список целиком. <br />
<br />
Горячие клавиши:<br />
<br />
{| {{Таблица}}<br />
!Клавиши<br />
!Значение<br />
|-<br />
|'''ENTER''' <br />
|По выделенному опкоду - скопировать в буфер.<br />
|-<br />
|'''SHIFT + ENTER''' <br />
|По выделенному опкоду - добавить его к содержимому буфера.<br />
|-<br />
|'''SCROLL LOCK'''<br />
|(при параметре extra_search=1) включить/отключить поиск<br />
|-<br />
|'''F1'''<br />
|Вызвать справку по поиску <br />
|-<br />
|'''F2'''<br />
|Скопировать все опкоды в списке в буфер<br />
|-<br />
|'''F3'''<br />
|Сортировка по опкодам<br />
|-<br />
|'''F4'''<br />
|Сортировка по словам<br />
|-<br />
|'''F11'''<br />
|Очистить строку поиска, показать все опкоды <br />
|-<br />
|'''ESC'''<br />
|Выход<br />
|-<br />
|}<br />
<br />
'''Операторы поиска:'''<br />
<br />
[U]ЛОГИЧЕСКИЕ ОПЕРАТОРЫ[/U]<br />
<br />
Оператор '''И (AND)''' <br />
В программе эту функцию выполняет одиночный пробел между словами. <br />
<br />
Пример: @ player<br />
<br />
Будут показаны опкоды, где встречаются И символ @, И слово player <br />
<br />
Оператор '''ИЛИ (OR)''' <br />
В программе эту функцию выполняет символ | между словами. <br />
<br />
Пример: @ | player<br />
Будут показаны опкоды, где встречаются ИЛИ символ @, ИЛИ слово player<br />
<br />
Если поставить | первым элементом, программа будет связывать все последующие слова оператором OR.<br />
<br />
Пример: | actor player car<br />
Будут показаны опкоды, где есть хотя бы одно из этих слов. <br />
<br />
Оператор '''НЕТ (NOT)''' <br />
Для всех случаев это два минуса перед исключаемым словом -- <br />
<br />
Пример: car --car2 <br />
Будут показаны опкоды, где ЕСТЬ слово car И НЕТ слова car2<br />
<br />
Для слов и символов $ и @ можно использовать один минус. Это сделано, чтобы не перепутать исключение с поиском отрицательных чисел.<br />
<br />
Пример: -10 -@ -car --3<br />
<br />
Будут показаны опкоды, где ЕСТЬ число -10 И НЕТ символа @, слова car и цифры 3.<br />
<br />
<br />
[U]ДРУГИЕ ОПЕРАТОРЫ[/U] <br />
<br />
<br />
'''^''' показать все условия в списке <br />
'''^выражение''' найти выражение в условных опкодах <br />
<br />
Пример: ^car == <br />
<br />
Будут показаны условные опкоды, где есть слово car и знак == <br />
<br />
'''-^''' исключить все условия из списка <br />
<br />
Пример: player -^ <br />
<br />
Будут показаны все опкоды, где есть слово player, и этот опкод не является условием в IF. <br />
<br />
'''-^''' выражение исключить условия, содержащие выражение <br />
<br />
Пример: player -^actor<br />
<br />
Будут показаны все опкоды, где есть слово player, исключая условные опкоды со словом actor.<br />
<br />
'''%''' искать в заданном порядке <br />
<br />
Пример: % @ == @<br />
<br />
Будут показаны все опкоды, где эти символы идут в данном порядке <br />
<br />
== Ссылки ==<br />
* [http://sannybuilder.com/?lang=ru Официальный сайт]<br />
* [http://sannybuilder.com/forums/viewforum.php?id=2 Форум, посвященный обсуждению SB]</div>Seemannhttp://gtamodding.ru/wiki/CLEOCLEO2011-07-05T11:19:13Z<p>Seemann: </p>
<hr />
<div>{{stub}}<br />
'''CLEO''' - это дополнительная библиотека для серии игр GTA. Библиотека CLEO добавляет новые [[опкод]]ы и дает возможность запускать новые скрипты без редактирования [[main.scm]] и начала новой игры. Автор и первоначальный разработчик - {{U|Seemann}}. Начиная с четвертой версии библиотеки разработку ведет Alien. <br />
<br />
==Ссылки==<br />
* [http://cleo.sannybuilder.com Официальный сайт]<br />
<br />
{{SA-navi}}</div>Seemannhttp://gtamodding.ru/wiki/VC_GUI_Editor_1.0VC GUI Editor 1.02011-07-05T11:08:58Z<p>Seemann: </p>
<hr />
<div>{{Программа<br />
| version = 1.0<br />
| date = 29 июля 2011<br />
| game = [[GTA VC]]<br />
| author = [http://forums.gtamodding.ru/index.php?showuser=1338 VintProg]<br />
| genre = редактор интерфейса<br />
}}<br />
<br />
'''VC GUI Editor 1.0''' - программа для редактирования интерфейса GTA Vice City, созданная VintProg. С помошью данной программы можно изменить различные параметры, такие как цвета звезд, здоровья, радио, полосы загрузки и т.д.<br />
<br />
== Скриншоты ==<br />
[URL=http://imgcoin.ru/i/1309434368/][IMG]http://imgcoin.ru/photo/mini/1309434368_Image.png[/IMG][/URL]<br />
<br />
== Внешние ссылки ==<br />
* [http://gtaexe.3dn.ru/ Официальный сайт]<br />
* [http://gtaexe.3dn.ru/load/gta_vc/instrumenty/vc_gui_editor_1_0/6-1-0-4 Ссылка для скачивания с GTAEXE]<br />
<br />
{{VC-navi}}</div>Seemannhttp://gtamodding.ru/wiki/%D0%97%D0%B0%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0Заглавная страница2011-07-05T11:03:39Z<p>Seemann: </p>
<hr />
<div><div style="text-align: center; font-size: 125%">Добро пожаловать на [[{{SITENAME}}:Описание|{{SITENAME}}]]!</div><br />
__NOTOC__ __NOEDITSECTION__<br />
<table width="98%" border="0" cellpadding="10"><br />
<tr><td colspan="2" valign="top">Целью этого сайта является создание русскоязычной энциклопедии моддинга в играх серии Grand Theft Auto. Здесь вы найдете туториалы, учебники, а также документацию по моддингу. <br />
<br />
Любой желающий может внести свой [[Служебная:ContributionScores|вклад в проект]]. Обратите внимание на списки [[Служебная:WantedPages|требуемых]] и [[:Категория:Незавершенные статьи|незавершенных статей]]. Вы можете помочь с их написанием и доработкой.<br />
<br />
Для того чтобы начать работу с энциклопедией, зарегистрируйтесь на [http://forums.gtamodding.ru нашем форуме] и [[Служебная:UserLogin|войдите]], используя учетные данные вашего аккаунта.</td><br />
<br />
<td rowspan="3" valign="top"><br />
{{MainBlock<br />
|Цвет=#c4ffd6<br />
|Заголовок=Изображение недели<br />
|Содержание=<br />
[[Изображение:ConPedSa12.jpg|thumb|200px|center|Итоговый результат [[Конвертирование персонажа в SA|конвертирования персонажа в San Andreas]]]]<br />
<div style="text-align: right; font-size: 80%"><span class="plainlinks">[http://forums.gtamodding.ru/index.php?showtopic=104 Другие изображения недели]</span></div><br />
}}<br />
<br />
{{MainBlock<br />
|Цвет=#faf985<br />
|Заголовок=[[Спецификация версий]]<br />
|Содержание=<br />
* [[Изображение:GTAIV.png|16px]]&nbsp;[[:Категория:GTA 4|Grand Theft Auto IV]]<br />
* [[Изображение:Vcs.png|16px]]&nbsp;[[:Категория:GTA VCS|GTA Vice City Stories]]<br />
* [[Изображение:Lcs.png|16px]]&nbsp;[[:Категория:GTA LCS|GTA Liberty City Stories]]<br />
* [[Изображение:Sa.png|16px]]&nbsp;[[:Категория:GTA SA|GTA San Andreas]]<br />
* [[Изображение:Vc.png|16px]]&nbsp;[[:Категория:GTA VC|GTA Vice City]]<br />
* [[Изображение:Gta3.png|16px]]&nbsp;[[:Категория:GTA 3|Grand Theft Auto III]]<br />
* [[Изображение:Gta2.png|16px]]&nbsp;[[:Категория:GTA 2|Grand Theft Auto 2]]<br />
* [[Изображение:Gta1.png|16px]]&nbsp;[[:Категория:GTA 1|Grand Theft Auto]]<br />
}}<br />
<br />
{{MainBlock<br />
|Цвет=#f89784<br />
|Заголовок=Совместная работа<br />
|Содержание=<br />
<table><tr><td>[[Изображение:GTAIV.png|16px]]&nbsp;Приглашаем к совместной работе над [[:Служебная:LonelyPages| одинокими статьями]]. На данные статьи нет ссылок с других статей энциклопедии. Необходимо найти им применение.</td></tr><tr><td><div style="text-align: right; font-size: 80%"><span class="plainlinks">[[:Служебная:LonelyPages|Внести вклад]]</span> &middot; <span class="plainlinks">[http://forums.gtamodding.ru/index.php?showtopic=104 Другие работы]</span></div></td></tr></table><br />
}}<br />
<br />
</td></tr><br />
<br />
<tr><br />
<td width="33%" valign="top"><br />
==[[:Категория:Туториалы|Туториалы и учебники]]==<br />
* [[:Категория:Маппинг|Маппинг]]<br />
* [[:Категория:Скрипты|Скрипты]]<br />
* [[:Категория:Установка модификаций|Установка модификаций]]<br />
** [[Моддинг San Andreas v2.0]]<br />
* [[:Категория:Моддинг консольных версий|Моддинг консольных версий]]<br />
* [[:Категория:Моделирование|Моделирование]]<br />
** [[:Категория:Моделирование персонажей|Моделирование персонажей]]<br />
** [[:Категория:Моделирование объектов карты|Моделирование объектов карты]]<br />
** [[:Категория:Моделирование транспортных средств|Моделирование транспортных средств]]<br />
* [[:Категория:Анимации|Анимации]]<br />
</td><br />
<td width="33%" valign="top"><br />
==[[:Категория:Документация|Документация]]==<br />
* [[:Категория:Форматы файлов|Форматы файлов]]<br />
* [[:Категория:Адреса Памяти|Адреса Памяти]]<br />
* [[:Категория:Скриптинг|Скриптинг]]<br />
** [[:Категория:Скриптовые функции|Скриптовые функции GTA 4]]<br />
** [[:Категория:Опкоды|Опкоды]]<br />
* [[:Категория:Инструменты|Инструменты]]<br />
* [[:Категория:Модификации|Модификации]]<br />
** [[:Категория:Мультиплеер|Мультиплеер]]<br />
* [[:Категория:Устранение багов|Устранение багов]]<br />
** [[Часто задаваемые вопросы]]<br />
</td><br />
</tr><br />
<br />
<tr><td colspan="2" valign="top"><br />
{{MainBlock<br />
|Заголовок=Примечательная статья<br />
|Содержание=<br />
{{Примечательная статья<br />
|Заголовок=Полная замена радио Chinatown Wars PSP<br />
|Изображение=CW_Radio_Stations.jpg<br />
|Цитата=С помощью программы '''AEC PSP Edition''' и кодека [[AT3|'''Atrac3''']] можно переконвертировать музыку из формата '''*.wav''' в формат, [[AT3|читаемый GTA Chinatown Wars]], причем возможно абсолютно полностью заменить каждую радиостанцию. К примеру можно вставить вполне полноценное радио из GTA IV.<br />
}}}}</td><br />
<br />
</tr><br />
</table><br />
<div style="font-size: 80%;" align="right">Количество [[Служебная:AllPages|статей в энциклопедии]]: {{NUMBEROFARTICLES}}. Количество правок: {{NUMBEROFEDITS}}.</div><br />
<div style="font-size: 80%;" align="right">[[Служебная:NewPages|Список новых статей]] &bull; [[:Категория:Основы энциклопедии|Основы энциклопедии]]</div></div>Seemannhttp://gtamodding.ru/wiki/%D0%97%D0%B0%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0Заглавная страница2011-07-05T11:02:57Z<p>Seemann: </p>
<hr />
<div><div style="text-align: center; font-size: 125%">Добро пожаловать на [[{{SITENAME}}:Описание|{{SITENAME}}]]!</div><br />
__NOTOC__ __NOEDITSECTION__<br />
<table width="98%" border="0" cellpadding="10"><br />
<tr><td colspan="2" valign="top">Целью этого сайта является создание русскоязычной энциклопедии моддинга в играх серии Grand Theft Auto. Здесь вы найдете туториалы, учебники, а также документацию по моддингу. <br />
<br />
Любой желающий может внести свой [[Служебная:ContributionScores|вклад в проект]]. Обратите внимание на списки [[Служебная:WantedPages|требуемых]] и [[:Категория:Незавершенные статьи|незавершенных статей]]. Вы можете помочь с их написанием и доработкой.<br />
<br />
Для того чтобы начать работу с энциклопедией, зарегистрируйтесь на [http://forums.gtamodding.ru нашем форуме] и [[Служебная:UserLogin|войдите]], используя учетные данные вашего аккаунта.</td><br />
<br />
<td rowspan="3" valign="top"><br />
{{MainBlock<br />
|Цвет=#c4ffd6<br />
|Заголовок=Изображение недели<br />
|Содержание=<br />
[[Изображение:ConPedSa12.jpg|thumb|200px|center|Итоговый результат [[Конвертирование персонажа в SA|конвертирования персонажа в San Andreas]]]]<br />
<div style="text-align: right; font-size: 80%"><span class="plainlinks">[http://forums.gtamodding.ru/index.php?showtopic=104 Другие изображения недели]</span></div><br />
}}<br />
<br />
{{MainBlock<br />
|Цвет=#faf985<br />
|Заголовок=[[Спецификация версий]]<br />
|Содержание=<br />
* [[Изображение:GTAIV.png|16px]]&nbsp;[[:Категория:GTA 4|Grand Theft Auto IV]]<br />
* [[Изображение:Vcs.png|16px]]&nbsp;[[:Категория:GTA VCS|GTA Vice City Stories]]<br />
* [[Изображение:Lcs.png|16px]]&nbsp;[[:Категория:GTA LCS|GTA Liberty City Stories]]<br />
* [[Изображение:Sa.png|16px]]&nbsp;[[:Категория:GTA SA|GTA San Andreas]]<br />
* [[Изображение:Vc.png|16px]]&nbsp;[[:Категория:GTA VC|GTA Vice City]]<br />
* [[Изображение:Gta3.png|16px]]&nbsp;[[:Категория:GTA 3|Grand Theft Auto III]]<br />
* [[Изображение:Gta2.png|16px]]&nbsp;[[:Категория:GTA 2|Grand Theft Auto 2]]<br />
* [[Изображение:Gta1.png|16px]]&nbsp;[[:Категория:GTA 1|Grand Theft Auto]]<br />
}}<br />
<br/><br/><br />
<br />
{{MainBlock<br />
|Цвет=#f89784<br />
|Заголовок=Совместная работа<br />
|Содержание=<br />
<table><tr><td>[[Изображение:GTAIV.png|16px]]&nbsp;Приглашаем к совместной работе над [[:Служебная:LonelyPages| одинокими статьями]]. На данные статьи нет ссылок с других статей энциклопедии. Необходимо найти им применение.</td></tr><tr><td><div style="text-align: right; font-size: 80%"><span class="plainlinks">[[:Служебная:LonelyPages|Внести вклад]]</span> &middot; <span class="plainlinks">[http://forums.gtamodding.ru/index.php?showtopic=104 Другие работы недели]</span></div></td></tr></table><br />
}}<br />
<br />
</td></tr><br />
<br />
<tr><br />
<td width="33%" valign="top"><br />
==[[:Категория:Туториалы|Туториалы и учебники]]==<br />
* [[:Категория:Маппинг|Маппинг]]<br />
* [[:Категория:Скрипты|Скрипты]]<br />
* [[:Категория:Установка модификаций|Установка модификаций]]<br />
** [[Моддинг San Andreas v2.0]]<br />
* [[:Категория:Моддинг консольных версий|Моддинг консольных версий]]<br />
* [[:Категория:Моделирование|Моделирование]]<br />
** [[:Категория:Моделирование персонажей|Моделирование персонажей]]<br />
** [[:Категория:Моделирование объектов карты|Моделирование объектов карты]]<br />
** [[:Категория:Моделирование транспортных средств|Моделирование транспортных средств]]<br />
* [[:Категория:Анимации|Анимации]]<br />
</td><br />
<td width="33%" valign="top"><br />
==[[:Категория:Документация|Документация]]==<br />
* [[:Категория:Форматы файлов|Форматы файлов]]<br />
* [[:Категория:Адреса Памяти|Адреса Памяти]]<br />
* [[:Категория:Скриптинг|Скриптинг]]<br />
** [[:Категория:Скриптовые функции|Скриптовые функции GTA 4]]<br />
** [[:Категория:Опкоды|Опкоды]]<br />
* [[:Категория:Инструменты|Инструменты]]<br />
* [[:Категория:Модификации|Модификации]]<br />
** [[:Категория:Мультиплеер|Мультиплеер]]<br />
* [[:Категория:Устранение багов|Устранение багов]]<br />
** [[Часто задаваемые вопросы]]<br />
</td><br />
</tr><br />
<br />
<tr><td colspan="2" valign="top"><br />
{{MainBlock<br />
|Заголовок=Примечательная статья<br />
|Содержание=<br />
{{Примечательная статья<br />
|Заголовок=Полная замена радио Chinatown Wars PSP<br />
|Изображение=CW_Radio_Stations.jpg<br />
|Цитата=С помощью программы '''AEC PSP Edition''' и кодека [[AT3|'''Atrac3''']] можно переконвертировать музыку из формата '''*.wav''' в формат, [[AT3|читаемый GTA Chinatown Wars]], причем возможно абсолютно полностью заменить каждую радиостанцию. К примеру можно вставить вполне полноценное радио из GTA IV.<br />
}}}}</td><br />
<br />
</tr><br />
</table><br />
<div style="font-size: 80%;" align="right">Количество [[Служебная:AllPages|статей в энциклопедии]]: {{NUMBEROFARTICLES}}. Количество правок: {{NUMBEROFEDITS}}.</div><br />
<div style="font-size: 80%;" align="right">[[Служебная:NewPages|Список новых статей]] &bull; [[:Категория:Основы энциклопедии|Основы энциклопедии]]</div></div>Seemannhttp://gtamodding.ru/wiki/RAWRAW2010-09-09T09:36:26Z<p>Seemann: </p>
<hr />
<div>{{stub}}<br />
'''RAW''' - один из форматов архивов серии GTA, содержащий звуковые файлы. Используется в PSP и PS2 версиях [[VCS]]/[[LCS]]. Ниже будут описаны его вариации и возможные действия.<br />
<br />
==Извлечение звуков из RAW ==<br />
В данном случае RAW-формат представляет собой последовательность [[VAG]]-звуков. Извлечь звуки можно при помощи HEX-редактора и [[MF Audio]].<br />
<br />
Извлечение звука из [[RAW]]-файла на примере [[GTA VCS]] при помощи HEX-редактора и MF Audio:<br />
* Итак, я хочу найти фразу Фила, которую он произносит на миссии Cholo Victory перед столкновением со стеной.<br />
* Идем в папку \AUDIO\SET6\ и открываем HEX-редакторе SFX67_PSP.RAW.<br />
* Эта фраза называется PHI1AA, поэтому ищем ее с помощью комбинации клавиш Ctrl+F (как ASCII String).<br />
* Поднимаемся немного выше и видим сигнатуру 'VAG'.<br />
* Выделяем содержимое начиная с первого символа сигнатуры VAG до следующей сигнатуры.<br />
* Сохраняем выделенный текст как файл с любым именем.<br />
* Закрываем HEX-редактор и запускаем MF Audio.<br />
* Открываем только что сохраненный файл. Если вы все сдеелали правильно, кликнув Play вы услышите звук, в данном случае <i>Let's go! YEEE-HAAAR!</i><br />
* Выбираем нужный ''File Format'', к примеру, WAV.<br />
* ''Save As'' - сохраняем под любым именем, ''Process!'' - готово.<br />
<br />
==Содержимое RAW в GTA LCS==<br />
В этом разделе описывается содержимое [[RAW]]-файлов PS2 версии [[LCS]].<br />
<br><br />
===Директория SET0===<br />
* SFX1_PS – Пустой файл.<br />
<br />
* SFX2_PS – Реплики. Голоса персонажей.<br />
<br />
* SFX3_PS – Мотор машины.<br />
<br />
* SFX4_PS – Мотор машины.<br />
<br />
* SFX5_PS – Мотор машины.<br />
<br />
* SFX6_PS – Мотор машины.<br />
<br />
* SFX7_PS – Мотор машины.<br />
<br />
* SFX8_PS – Мотор машины.<br />
<br />
* SFX9_PS – Мотор машины.<br />
<br />
===Директория SET1===<br />
звуки транспортных средств.<br />
<br />
===Директория SET2===<br />
<br />
* SFX20_PS – Мотор машины.<br />
<br />
* SFX21_PS – Мотор горного мотоцикла.<br />
<br />
* SFX22_PS – Мотор горного мотоцикла.<br />
<br />
* SFX23_PS – Мотор быстрого мотоцикла.<br />
<br />
* SFX24_PS – Пустой файл.<br />
<br />
* SFX25_PS – Пустой файл.<br />
<br />
* SFX26_PS – Пустой файл.<br />
<br />
* SFX27_PS – Пустой файл.<br />
<br />
* SFX28_PS – Пустой файл.<br />
<br />
* SFX29_PS – Пустой файл.<br />
<br />
===Директория SET3===<br />
* SFX30_PS – Звуки летательных средств передвижения (самолёты, вертолёты).<br />
<br />
* SFX31_PS – Пустой файл.<br />
<br />
* SFX32_PS – Пустой файл.<br />
<br />
* SFX33_PS – Пустой файл.<br />
<br />
* SFX34_PS – Пустой файл.<br />
<br />
* SFX35_PS – Пустой файл.<br />
<br />
* SFX36_PS – Пустой файл.<br />
<br />
* SFX37_PS – Пустой файл.<br />
<br />
* SFX38_PS – Пустой файл.<br />
<br />
* SFX39_PS – Пустой файл.<br />
<br />
===Директория SET4===<br />
* SFX40_PS – Звук тревоги.<br />
<br />
* SFX41_PS – Храп.<br />
<br />
===Директория SET5===<br />
* SFX57_PS – Музыка, которая проигрывается в клубе.<br />
<br />
* SFX58_PS – Музыка, которая проигрывается в клубе.<br />
<br />
* SFX59_PS – Музыка, которая проигрывается в клубе.<br />
<br />
===Директория SET6===<br />
* SFX60_PS – Музыка, которая проигрывается в клубе.<br />
<br />
* SFX61_PS – Шаги по траве.<br />
<br />
* SFX62_PS – Шаги по траве.<br />
<br />
* SFX63_PS – Шаги по деревянной поверхности.<br />
<br />
* SFX64_PS – Шаги по металлу.<br />
<br />
* SFX65_PS - Шаги по воде.<br />
<br />
* SFX66_PS - Шаги по песку.<br />
<br />
== Содержимое RAW в GTA VCS ==<br />
''Основная статья: [[Список содержимого RAW в GTA VCS]]''<br />
<br />
{{GTA_Stories-navi}}</div>Seemannhttp://gtamodding.ru/wiki/XLiveLessXLiveLess2010-08-31T10:39:20Z<p>Seemann: </p>
<hr />
<div>{{Программа<br />
| author = {{Ui|listener}}<br />
| version = 0.999b7<br />
| date = 29 May 2010<br />
| game = [[GTA 4]]<br />
}}<br />
'''XLiveLess''' - компактная замена xlive.dll без поддержки онлайновых возможностей. Автор - {{U|listener}}.<br />
<br />
== Основные особенности ==<br />
* полная замена xlive.dll (оригинальная dll не требуется)<br />
* отключены все онлайновые возможности (для предотвращения жульничества в онлайновых играх)<br />
* убрана вся антиотладочная защита<br />
* все игровые переменные хранятся в незащищенном виде (что дает возможность написания тренеров, контрол-центров и прочих интересных, но нечестных вещей)<br />
* встроенный asi-loader (не требуется дополнительных модулей и переименования оригинальных файлов)<br />
* поддержка загрузки модулей из каталога plugins (для предотвращения "замусоривания" каталога с игрой). Модули должны иметь расширение .dll или .asi<br />
<br />
== Дополнительные возможности ==<br />
''для версии 1.0.1-1.0.4, 1.0.0.4:''<br />
* убрана проверка сэйвов (что дает возможность загрузки сэйва, сделаного из под любого оффлайнового пользователя Live, и редактирования сэйва без пересчета контрольной суммы)<br />
* отключена проверка файлов, перечисленных в files.txt (аналог FileCheckFix.asi)<br />
* возвращена возможность запуска дебаггера по критической ошибке (вместо отправки отчета)<br />
* открыт доступ на запись к сегментам кода и .rdata (не требуется делать VirtualProtect при необходимости поменять что-либо из .asi)<br />
* отключен запуск RGSC<br />
* перенесен каталог с сэйвами (см.ниже)<br />
<br />
=== Поддержка плагинов ===<br />
* API для плагинов (xliveless.h и xlive.lib)<br />
* Приложен пример плагина для перемещения каталога сэйвов в основной каталог игры (saveToGameFolder.dll)<br />
<br />
=== Дополнительные возможности для Red Faction: Guerilla ===<br />
* убрана проверка сэйвов<br />
<br />
== Установка ==<br />
* скопируйте файл xlive.dll в каталог с игрой (не забудьте удалить .asi loader, если он был установлен ранее)<br />
* для включения отладочной печати, скопируйте файл xlive_d.dll в каталог с игрой и переименуйте его в xlive.dll<br />
<br />
== Особенности работы с сэйвами ==<br />
* файлы сохранений хранятся в каталоге: <br />
**(для Windows Vista) %USERPROFILE%\Documents\Rockstar Games\GTA IV\savegames\<br />
**(для Windows XP) %USERPROFILE%\My Documents\Rockstar Games\GTA IV\savegames\<br />
* не забудьте скопировать сэйвы на новое место<br />
<br />
== Примечания == <br />
* версия игры от 1С не поддерживается<br />
<br />
== Ссылки ==<br />
* http://public.sannybuilder.com/GTA4/xliveless-0.999b7.rar<br />
{{GTA4-navi}}</div>Seemannhttp://gtamodding.ru/wiki/OpenIVOpenIV2010-08-31T10:37:28Z<p>Seemann: </p>
<hr />
<div>{{программа<br />
| name = OpenIV<br />
| version = 0.9<br />
| author = {{Ui|GooD-NTS|GooD}}<br />
| game = [[GTA 4]]<br />
| site = http://openiv.com<br />
| image = [[Изображение:OpenIV.png|250px|OpenIV v0.8]]<br />
}}<br />
'''OpenIV''' - программа для редактирования [[:Категория:GTA 4|GTA IV]] на платформе PC. Автор и разработчик программы - {{U|GooD-NTS|GooD}}. Первая публичная бета-версия программы вышла 28-го декабря 2008 года.<br />
<br />
== Возможности программы ==<br />
На данный момент программа поддерживает открытие основных игровых архивов (<code>[[IMG|*.img]]</code>, <code>[[RPF|*.rpf]]</code>), просмотр текстур, импорт/экспорт файлов. Поддерживается множество языков, в том числе и русский.<br />
<br />
{{заготовка}}<br />
<br />
=== Версия 0.9 ===<br />
''вышла 30.01.2009''<br />
* Добавлена поддержка новых версий (1.0.2.0 и 1.0.1.1) [[GTA IV]].<br />
* Добавлена возможность прослушивания и сохранения всех звуковых файлов [[GTA IV]].<br />
* Улучшена совместимость с Windows 7.<br />
* Улучшен интерфейс в Windows XP.<br />
* Исправлены различные ошибки.<br />
* Различные изменения и улучшения в интерфейсе.<br />
<br />
=== Версия 0.8 ===<br />
''вышла 28.12.2008''<br />
* Удобный просмотр файлов [[GTA IV]] через функцию "Открыть содержимое".<br />
* Полное редактирование <code>[[RPF|*.rpf]] v2</code> архивов. Вы можете добавлять, удалять или заменять любые файлы.<br />
* Просмотр и извлечение данных из <code>[[RPF|*.rpf]] v3</code> (показываются имена файлов).<br />
* Полное редактирование <code>[[IMG|*.img]] v3</code>-архивов. Вы можете добавлять, удалять или заменять любые файлы.<br />
* Замена текстур в любых <code>[[WTD|*.wtd]]</code> и <code>[[WHM|*.whm]]</code> файлах. В настоящий момент поддерживается только формат <code>*.png</code> и замена на файлы с одинаковым разрешением. (Например, текстуру 512х512 можно заменить только на другую текстуру 512х512).<br />
* Встроенный декомпилятор <code>[[SCO|*.sco]]</code>-скриптов. (В настоящие время имеет множество ошибок).<br />
* Предварительный просмотр для большинства файлов встречающихся в [[GTA IV]].<br />
* Возможность устанавливать внешние приложения для просмотра или редактирования файлов.<br />
* Вы можете извлекать ресурсные файлы, как в оригинальном сжатом виде, так и в распакованном, для этого существует функция "Сохранить содержимое". Например, эта функция позволяет сохранить все текстуры из <code>[[WTD|*.wtd]]</code> файла не открывая его.<br />
* C помощью функции "Посмотреть HEX" любой файл может быть просмотрен в HEX-режиме.<br />
<br />
== OpenIV и другие проекты ==<br />
С помощью [[OpenIV]] сделан первый мод [[GTA IV]] для <code>XBox 360</code> версии игры, который распространяется исключительно среди авторов программы из-за проблем с пиратством. Также с помощью [[OpenIV]] был запущен проект неофициального перевода [[GTA IV]] от [http://enpy.net ENPY Studio].<br />
<br />
== Ссылки ==<br />
* [http://openiv.com/?cat=4 Официальный блог OpenIV]<br />
* [http://forums.gtamodding.ru/index.php?showtopic=21 Тема для обсуждения на нашем форуме]<br />
<br />
{{GTA4-navi}}</div>Seemannhttp://gtamodding.ru/wiki/SparkIVSparkIV2010-08-31T10:34:29Z<p>Seemann: </p>
<hr />
<div>{{Программа<br />
| name = SparkIV<br />
| version = 0.6.8<br />
| date = 05 июня 2010<br />
| author = aru; gamerzworld<br />
| game = [[GTA 4]]<br />
| site = http://code.google.com/p/gtaivtools/<br />
| image = [[Изображение:SparkIV.jpg|250px|SparkIV v0.6.0]]<br />
}}<br />
'''SparkIV''' - программа для просмотра и редактирования ресурсов [[GTA 4]]. Автор и разработчик - <span class="plainlinks">[http://www.gtaforums.com/index.php?showuser=88061 aru]</span>. Начиная с версии 0.5.1, программа публикуется под лицензией [http://ru.wikipedia.org/wiki/GNU_General_Public_License GPL v3]. <br />
<br />
Исходный код доступен по адресу: http://code.google.com/p/gtaivtools/<br />
<br />
В настоящее время разработка программы ведется <span class="plainlinks">[http://www.gtaforums.com/index.php?showuser=131778 gamerzworld]</span>.<br />
<br />
== Возможности программы ==<br />
* Поддерживаются все версии GTA 4.<br />
* Открытие [[IMG]] и [[RPF]] архивов. Поддержка изменения для [[IMG]] и [[RPF]], пересборки только для [[IMG]].<br />
* Открытие [[RPF3]] архивов, просмотр названий аудиофайлов.<br />
* Текстуры ([[WTD]]) - просмотр и поддержка экспорта\импорта текстур.<br />
* Экспериментальный вьювер моделей ([[WDR]] и [[WDD]]) <br />
* Экспериментальная поддержка просмотра скриптов ([[SCO]]) <br />
* Поддержка просмотра XML и других текстовых файлов <br />
* Экспериментальная поддержка текстур при просмотре моделей (загружаются автоматически (имя файла.[[WTD]]) если они присутствуют)<br />
* Поддержка отображения моделей без текстур<br />
* Поддержка структурного дерева моделей, для просмотра под-объектов<br />
* Поддержка просмотра сетки моделей (может быть медленным)<br />
* Возможность редактирования и просмотра [[WHM]] файлов<br />
* Поддержка прослушивания аудио-файлов<br />
* Возможность просмотра [[WFT]] файлов<br />
* Просмотр [[LOD]] моделей<br />
<br />
== Требования ==<br />
* Microsoft .NET Framework 3.5. Если вы установили [[RGSC]], то Microsoft .NET Framework 3.5 у вас уже есть.<br />
<br />
== Файлы ресурсов ==<br />
Для извлечения данных из файлов ресурсов есть инструмент под названием Resoursaur. Экспортируемые данные будут извлечены как есть и будут сжаты. Этот инструмент будет весьма полезной для тех, кто желает изучить форматы файлов в шестнадцатеричном редакторе.<br />
<br />
== Примечания == <br />
При открытии [[Шифрование (GTA 4)|шифрованного]] архива (в оригинальной версии игры все архивы шифрованы) SparkIV сохранит его в нешифрованном формате. Для сохранения шифра используйте [[OpenIV]].<br />
<br />
== Ссылки ==<br />
* [http://www.gtaforums.com/index.php?showtopic=384933 Обсуждение на gtaforums.com]<br />
* [http://forums.gtamodding.ru/index.php?showtopic=5 Обсуждение на gtamodding.ru]<br />
* [http://code.google.com/p/gtaivtools/downloads/list Скачать последнюю версию]<br />
{{GTA4-navi}}</div>Seemannhttp://gtamodding.ru/wiki/RSC_ManagerRSC Manager2010-08-31T10:26:58Z<p>Seemann: </p>
<hr />
<div>{{программа<br />
| name = RSC Manager<br />
| version = 0.5<br />
| author = {{Ui|Dageron}}<br />
| game = [[GTA 4]]<br />
| site = http://gtamodding.ru<br />
| image = [[Изображение:GTA IV RSC Manager 0.5.png|250px|GTA IV RSC Manager 0.5.png]]<br />
}}<br />
<br />
'''RSC Manager''' - программа для работы с ресурсными файлами ([[RSC]]) PC-версии [[GTA IV]]. Удобна тем что позволяет быстро работать с основными характеристиками заголовка, компрессией и сегментами данных.<br />
<br />
== Основные возможности ==<br />
<br />
* Экспорт и импорт sys/gfx сегментов данных.<br />
* Изменение флагов и версии ресурса.<br />
* Возможность использовать ресурс не только в сжатом виде (оригинальные [[RSC]] сжаты), но и в распакованном.<br />
<br />
При сохранении важно учитывать следующее:<br />
* Пункт "Save With Original Flags" - параметр флагов останется оригинальным<br />
* Пункт "Save With New Flags" - вы можете сами ввести параметр флагов из соответствующего поля (пункт "Edit special data" должен быть включен).<br />
* Пункт "Save With Calculated Flags" - параметр флагов будет взят из расчета sys и gfx частей. Не рекомендуется использовать по причине того что работать такое вычисление может некорректно.<br />
<br />
== Ссылки ==<br />
[http://gtamodding.ru/w/images/b/b7/GTA_IV_RSC_Manager_0.5.rar Скачать]<br />
<br />
{{GTA4-navi}}</div>Seemannhttp://gtamodding.ru/wiki/GTAIV_Ped_Personality_EditorGTAIV Ped Personality Editor2010-08-31T10:22:25Z<p>Seemann: </p>
<hr />
<div>{{Программа<br />
| name = GTAIV Ped Personality Editor<br />
| version = 1.0.<br />
| author = CoMPMStR<br />
| game = [[GTA 4]]<br />
| site = http://www.gtaforums.com/index.php?showtopic=387298<br />
| image = [[Изображение:PedPersonalityEditor.jpg|250px|Ped Personality Editor 1.0]]<br />
}}<br />
'''GTAIV Ped Personality Editor''' - программа для редактирования [[pedpersonality.dat]] [[GTA 4]] (файла характеристики пешеходов)<br />
<br />
[URL=http://www.gtamodding.ru/w/images/1/1f/GTAIV_Ped_Personality_Editor.rar]Скачать[/URL] <br />
<br />
==Требования==<br />
* Microsoft .NET Framework 3.5. Если вы установили [[RGSC]], то Microsoft .NET Framework 3.5 у вас уже есть.<br />
<br />
==Ссылки==<br />
*[http://www.gtaforums.com/index.php?showtopic=387298 Обсуждение на gtaforums.com]<br />
<br />
[[Категория:GTA 4]][[Категория:Инструменты]]</div>Seemannhttp://gtamodding.ru/wiki/%D0%9E%D1%81%D0%BD%D0%BE%D0%B2%D1%8B_%D0%BC%D0%B0%D0%BF%D0%BF%D0%B8%D0%BD%D0%B3%D0%B0_GTA:SAОсновы маппинга GTA:SA2010-08-30T21:15:01Z<p>Seemann: /* Инструменты */</p>
<hr />
<div>Эта статья научит вас вставлять свои модели на карту.<br />
==Инструменты==<br />
'''Для работы нам понадобятся:<br />
*3DS Max 7,8,9<br />
*Скрипты KAM'a для экспорта\импорта dff.<br />
*[[Coll Editor 2]]<br />
*[[TXD Workshop|Txd Workshop 4]] или [[G-TXD]] (в статье рассматривается Txd Workshop)<br />
*[[IMG Tool|IMG Tool 2]] или [[G-IMG]] (в статье рассматривается IMG Tool2)<br />
*[[Map Editor]] 0.32 (MeD)<br />
*И конечно же сама GTA:SA<br />
<br />
==Конвертирование==<br />
===Создание DFF=== <br />
Сначала выделяем нашу модель в 3dsMax'e.<br><br />
[[Изображение:Osn map 01.jpg|300px|thumbnail|none|Увеличить]]<br><br />
Открываем окно DFF IO (скрипты KAM'a). Открываем сварачивающееся меню Export и выставляем все параметры<br><br />
как на скрине. Затем жмем Export. Называем нашу модель как-нибудь по латыни. (в примере zaboor)<br><br />
<br />
[[Изображение:Osn map 02.jpg|300px|thumb|none|Увеличить]]<br><br />
Удаляем из сцены нашу модель. Опять открываем окно DFF IO и открываем меню Import.<br><br />
Жмем непосредственно кнопку Import и выбираем нашу модель.<br />
[[Изображение:Osn map 03.jpg|300px|thumb|none|Увеличить]]<br><br />
Выделяем ее. Идем File-Export.<br><br />
[[Изображение:Osn map 04.jpg|300px|thumb|none|Увеличить]]<br><br />
Сохраняем ее в 3ds формате в ту же папку что и dff.<br><br />
[[Изображение:Osn map 05.jpg|300px|thumb|none|Увеличить]]<br><br />
===Создание COL=== <br />
Открываем программу CollEditor2. Жмем правой кнопкой на рабочей части и жмем Add. Выбираем нашу модель zaboor.3ds<br />
[[Изображение:Osn map 06.jpg|300px|thumb|none|Увеличить]]<br><br />
Шелкаем по ней правой кнопкой и жмем Rename. После чего переименовываем ее в соответствии с названием dff. (в примере zaboor.dff --> переименовываем в zaboor).<br />
[[Изображение:Osn map 07.jpg|300px|thumb|none|Увеличить]]<br><br />
Шелкаем еще раз правой кнопкой и жмем по Lighting. Выставляем значения как на скрине. Данная операция делается для того чтобы СиДжей небыл слишком темным, находясь на нашей модели.Жмем ОК.<br />
[[Изображение:Osn map 08.jpg|300px|thumb|none|Увеличить]]<br><br />
Переходим в режим Edit Mode. Закладка Face. Выделяем все полигоны.<br />
[[Изображение:Osn map 09.jpg|300px|thumb|none|Увеличить]]<br><br />
Выбираем материал.<br />
[[Изображение:Osn map 10.jpg|300px|thumb|none|Увеличить]]<br><br />
Переходим обратно в View Mode.Жмем правой кнопкой на название модели. Copy As LOD.<br />
[[Изображение:Osn map 11.jpg|300px|thumb|none|Увеличить]]<br><br />
Еще раз по названию модели. Shadow Mesh-Get selected faces only.<br />
[[Изображение:Osn map 12.jpg|300px|thumb|none|Увеличить]]<br><br />
Все. COL сделан. Сохраняем: File-Save As. Сохраняем с таким же названием что и dff.<br />
===Создание txd-архива. (файл с текстурами)===<br />
Открываем программу txd workshop. File-New.<br />
[[Изображение:Osn map 13.jpg|300px|thumb|none|Увеличить]]<br><br />
Выбираем 32BPP.<br />
[[Изображение:Osn map 14.jpg|300px|thumb|none|Увеличить]]<br><br />
Import. Выбираем текстуру которой мы текстурировали нашу модель., заодно копируем в буфер обмена ее название.Жмем ОК.<br />
2 раза шелкаем по названию текстуры. Делаем как на скрине (вставляем свое название текстуры вместо 32bit image и жмем compressed).Жмем ОК.<br />
Внизу справа в окошке выбираем SanAndreas вместо GTAVC.<br />
[[Изображение:Osn map 15.jpg|300px|thumb|none|Увеличить]]<br><br />
Все готово. Сохраняем наш txd-архив в папку c dff и col.<br />
Вот такие файлы должны быть сейчас в вашей папке:<br />
[[Изображение:Osn map 16.jpg|300px|thumb|none|Увеличить]]<br><br />
==Установка модели в игру==<br />
Запускаем IMG Tool2. File-Open. Идем в дерикторию с игрой-папка models-выбираем файл gta3.img. Жмем открыть.<br />
[[Изображение:Osn map 17.jpg|300px|thumb|none|Увеличить]]<br><br />
Commands-Add. Поочередно добавляем все наши 3 файла<br />
*zaboor.dff<br />
*zaboor.col<br />
*zaboor.txd<br />
[[Изображение:Osn map 18.jpg|300px|thumb|none|Увеличить]]<br><br />
Commands-Rebuild Archive. Соглашаемся (Yes)<br />
[[Изображение:Osn map 19.jpg|300px|thumb|none|Увеличить]]<br><br />
Запускаем Map Editor 0.32.Жмем ADD и указываем путь к игре. Жмем ОК.<br />
[[Изображение:Osn map 20.jpg|300px|thumb|none|Увеличить]]<br><br />
Идем в закладку IDE, выбираем какой-нибудь IDE . Нажимаем New Item.<br />
[[Изображение:Osn map 21.jpg|300px|thumb|none|Увеличить]]<br><br />
Прописываем названия нашей модели (как на скрине). Жмем ОК.<br />
[[Изображение:Osn map 22.jpg|300px|thumb|none|Увеличить]]<br><br />
Переходим в закладку Scene. Выбираем тот же IDE что и до этого, ставим рядом с ним галочку и жмем Render.<br />
[[Изображение:Osn map 23.jpg|300px|thumb|none|Увеличить]]<br><br />
Переходим в закладку IPL выделяем любой понравившийся IPL и жмем New.<br><br />
В появившемся окне выбираем наш IDE и в соседнем списке находим название нашей модели. Выбираем ее. Жмем ОК. <br />
[[Изображение:Osn map 24.jpg|300px|thumb|none|Увеличить]]<br><br />
С помощью кнопок редактирования координат выставляем нашу модель в нужном месте (см. скрин). Жмем ОК.<br />
[[Изображение:Osn map 25.jpg|300px|thumb|none|Увеличить]]<br><br />
==Результат==<br />
Ну и наконец в потверждение вот скриншот уже из игры с нашей моделью.<br />
[[Изображение:Osn map 26.jpg|300px|thumb|none|Увеличить]]<br><br />
[[Категория:GTA SA]][[Категория:Маппинг]]</div>Seemannhttp://gtamodding.ru/wiki/%D0%9F%D0%BE%D0%BB%D0%BD%D0%B0%D1%8F_%D0%B7%D0%B0%D0%BC%D0%B5%D0%BD%D0%B0_%D1%80%D0%B0%D0%B4%D0%B8%D0%BE_Chinatown_Wars_PSPПолная замена радио Chinatown Wars PSP2010-08-30T21:09:54Z<p>Seemann: </p>
<hr />
<div>[[Изображение:CW Radio Stations.jpg|thumb|300px|Логотипы радиостанций CW]]<br />
<br />
С помощью программы '''AEC PSP Edition''' и кодека [[AT3|'''Atrac3''']] можно переконвертировать музыку из формата '''*.wav''' в формат, [[AT3|читаемый GTA Chinatown Wars]], причем возможно абсолютно полностью заменить каждую радиостанцию. К примеру можно вставить вполне полноценное радио из GTA IV.<br />
<br />
==Пошаговая Инструкция==<br />
<br />
'''1.''' Я использовал '''ULUS-10490'''.<br />
<br />
'''2.''' Скачиваем [http://depositfiles.com/files/gbz8xyqhs этот] архив с необходимым софтом для работы ([http://onemove.ru/19983/ Зеркало])<br />
<br />
'''3.''' Из скачанного архива запускаем и устанавливаем следующие файлы: [[AT3|'''atrac3.exe''']] и '''EACSetup.exe''', после чего перезагружаем компьютер.<br />
<br />
==Подготавливаем аудио файлы==<br />
<br />
[[Изображение:Nero WaveEditor.JPG|thumb|250px|Склеиваем множество треков в один с помощью Nero WaveEditor]]<br />
<br />
'''4.''' Если вы просто хотите накидать в игру множество своих любимых треков, лучше всего соединить их в один '''*.wav''' файл, сделать это можно с помощью практически любого аудиоредатора, я использовал '''Nero WaveEditor 10'''.<br />
На примере '''Nero WaveEditor 10''' объясняю как это делается, нажимаем открыть файл и открываем десяточек любимых композиций, каждая из которых откроется в отдельном окне, затем выбираем один из них как основной, в который мы будем пихать все остальные, отодвигаем его в сторону и хватаем любой из оставшихся, нажимаем '''Ctrl+A''' (Выделить все), затем '''Ctrl+C''' (Копируем то, что выделили), а затем уже не закрывая текущее окно, откуда мы и копируем, лезем в ранее отложенный "базовый" трек, в котором мы и склеиваем множество треков, наводим курсор на самый конец трека и жмем '''Ctrl+v''' (Вставляем то, что копировали ранее). По этой же схеме копируем все остальные треки в один, затем сохраняем наш гигантский файл в формате '''*.wav''' со стандартными настройками. Таких гигантских файлов можно создать 11, это число радиостанций в игре, естественно в каждом из 11 надо поместить разные треки. Так же за большой выходной размер файла можно особо не волноваться, при конвертации в [[AT3|'''*.at3''']] формат, например '''*.wav''' файл размером 164 мб на выходе имеет всего лишь 15 мб, чудеса да и только :)<br />
<br />
Если же вы хотите импортировать радио из других игр серии GTA, то схема та же, разве что вам придется где-то добыть полную версию записи радио вместе с голосами диджеев, ну или просто соединить треки из официального саундтрека, и точно так же посохранять их всех в 11 файлов используя аудио редактор.<br />
<br />
==Конвертируем радио и вставляем в игру==<br />
<br />
[[Изображение:Recompression.jpg|thumb|250px|Процесс перегона файлов пошел]]<br />
<br />
'''5.''' После завершения выше написанного, открываем ранее установленной программой '''Exact Audio Copy PSP Edition''' наши гигантские аудио файлы для радио: '''EAC -> Convert MP3 Music to Harddisc''', затем показываем место расположения выходных файлов, после завершения процесса жмем ОК. Файлы почти готовы, дело осталось за малым! (Приятно удивитесь размеру файлов)<br />
<br />
'''6.''' Переименовываем наши переконвертированные файлы формата '''*.toc''' по очереди в нижеследующие радиостанции, включая изменение расширение с '''*.toc''' на [[AT3|'''*.at3''']]:<br />
<br />
* ANVIL.AT3 <br />
* CHINESE.AT3 <br />
* DFA.AT3 <br />
* KHALIL.AT3 <br />
* RADIO1.AT3 <br />
* RADIO2.AT3 <br />
* RADIO3.AT3 <br />
* RADIO4.AT3 <br />
* RADIO5.AT3 <br />
* TORTOISE.AT3 <br />
* TOTH.AT3<br />
(Если после всего этого вам понадобилось послушать файл, для этого надо временно изменить расширение на '''*.wav''', а после прослушивания вернуть родное обратно)<br />
<br />
[[Изображение:UMDGen CW.jpg|thumb|250px|Заменяем оригинальные фалы на наше самодельное радио]]<br />
'''7.''' Запускаем программу из ранее скачанного архива [[UMD Gen|'''UMDGEN.exe''']], открываем ей собственно ранее заготовленный образ игры, радио хранятся тут: '''GTA CW:/PSP_GAME/USRDIR/WAD'''. Ранее заготовленные и переименованные наши файлы для замены радио простым перетаскиванием из окна в окно кладем в папку '''WAD''', на все вопросы о замене файлов, отвечаем утвердительно.<br />
<br />
Если у вас оригинальный образ не сжатый, то можно за одно уменьшить его размер ничего важного не удаляя, сделав так называемый '''FullRip''', эта функция находится во вкладке "'''UMD Properties'''" снизу слева кнопочка "'''Optimize'''".<br />
<br />
И теперь последний штрих, жмем: '''File -> Save As -> Compressed (*.cso)''', затем указываем место сохранения выходного файла и ставим '''Compression value''' равным '''9''' (я тестировал, почти не лагает), далее ждем окончания формирования образа, кидаем его на вашу PSP, запускаем игру и радуемся.<br />
<br />
Иногда UMDGen выдает ошибки подобного рода...<br />
<br />
[[Изображение:Bad iso error.jpg|250px]]<br />
<br />
==Ссылки==<br />
[http://pspiso.ru/psp-soft/7055-delaem-svoe-radio-v-grand-theft-auto-china-town.html Материал статьи частично основан на этом источнике]<br />
<br />
[http://en.wikigta.org/wiki/Radio_stations_(GTA_Chinatown_Wars) Подробнее о радио на англо вики]<br />
[[Категория:Моддинг консольных версий]]<br />
<br />
{{Консольное описание}}</div>Seemannhttp://gtamodding.ru/wiki/%D0%97%D0%B0%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0Заглавная страница2010-08-30T21:00:05Z<p>Seemann: новая Совместная работа</p>
<hr />
<div><div style="text-align: center; font-size: 125%">Добро пожаловать на [[{{SITENAME}}:Описание|{{SITENAME}}]]!</div><br />
__NOTOC__ __NOEDITSECTION__<br />
<table width="98%" border="0" cellpadding="10"><br />
<tr><td colspan="2" valign="top">Целью этого сайта является создание русскоязычной энциклопедии моддинга в играх серии Grand Theft Auto. Здесь вы найдете туториалы, учебники, а также документацию по моддингу. <br />
<br />
Любой желающий может внести свой [[Служебная:ContributionScores|вклад в проект]]. Обратите внимание на списки [[Служебная:WantedPages|требуемых]] и [[:Категория:Незавершенные статьи|незавершенных статей]]. Вы можете помочь с их написанием и доработкой.<br />
<br />
Для того чтобы начать работу с энциклопедией, зарегистрируйтесь на [http://forums.gtamodding.ru нашем форуме] и [[Служебная:UserLogin|войдите]], используя учетные данные вашего аккаунта.</td><br />
<br />
<td rowspan="3" valign="top"><br />
{{MainBlock<br />
|Цвет=#c4ffd6<br />
|Заголовок=Изображение недели<br />
|Содержание=<br />
[[Изображение:ConPedSa12.jpg|thumb|200px|center|Итоговый результат [[Конвертирование персонажа в SA|конвертирования персонажа в San Andreas]]]]<br />
<div style="text-align: right; font-size: 80%"><span class="plainlinks">[http://forums.gtamodding.ru/index.php?showtopic=104 Другие изображения недели]</span></div><br />
}}<br />
<br />
{{MainBlock<br />
|Цвет=#faf985<br />
|Заголовок=Спецификация версий<br />
|Содержание=<br />
* [[Изображение:GTAIV.png|16px]]&nbsp;[[:Категория:GTA 4|Grand Theft Auto IV]]<br />
* [[Изображение:Vcs.png|16px]]&nbsp;[[:Категория:GTA VCS|GTA Vice City Stories]]<br />
* [[Изображение:Lcs.png|16px]]&nbsp;[[:Категория:GTA LCS|GTA Liberty City Stories]]<br />
* [[Изображение:Sa.png|16px]]&nbsp;[[:Категория:GTA SA|GTA San Andreas]]<br />
* [[Изображение:Vc.png|16px]]&nbsp;[[:Категория:GTA VC|GTA Vice City]]<br />
* [[Изображение:Gta3.png|16px]]&nbsp;[[:Категория:GTA 3|Grand Theft Auto III]]<br />
* [[Изображение:Gta2.png|16px]]&nbsp;[[:Категория:GTA 2|Grand Theft Auto 2]]<br />
* [[Изображение:Gta1.png|16px]]&nbsp;[[:Категория:GTA 1|Grand Theft Auto]]<br><br><br />
}}<br />
<br />
{{MainBlock<br />
|Цвет=#f89784<br />
|Заголовок=Совместная работа недели<br />
|Содержание=<br />
<table><tr><td>[[Изображение:GTAIV.png|16px]]&nbsp;Приглашаем к совместной работе над [[:Служебная:LonelyPages| одинокими статьями]]. На данные статьи нет ссылок с других статей энциклопедии. Необходимо найти им применение.</td></tr><tr><td><div style="text-align: right; font-size: 80%"><span class="plainlinks">[[:Служебная:LonelyPages|Внести вклад]]</span> &middot; <span class="plainlinks">[http://forums.gtamodding.ru/index.php?showtopic=104 Другие работы недели]</span></div></td></tr></table><br />
}}<br />
<br />
</td></tr><br />
<br />
<tr><br />
<td width="33%" valign="top"><br />
==[[:Категория:Туториалы|Туториалы и учебники]]==<br />
* [[:Категория:Маппинг|Маппинг]]<br />
* [[:Категория:Скрипты|Скрипты]]<br />
* [[:Категория:Установка модификаций|Установка модификаций]]<br />
** [[Моддинг San Andreas v2.0]]<br />
* [[:Категория:Моддинг консольных версий|Моддинг консольных версий]]<br />
* [[:Категория:Моделирование|Моделирование]]<br />
** [[:Категория:Моделирование персонажей|Моделирование персонажей]]<br />
** [[:Категория:Моделирование объектов карты|Моделирование объектов карты]]<br />
** [[:Категория:Моделирование транспортных средств|Моделирование транспортных средств]]<br />
* [[:Категория:Анимации|Анимации]]<br />
</td><br />
<td width="33%" valign="top"><br />
==[[:Категория:Документация|Документация]]==<br />
* [[:Категория:Форматы файлов|Форматы файлов]]<br />
* [[:Категория:Адреса Памяти|Адреса Памяти]]<br />
* [[:Категория:Скриптинг|Скриптинг]]<br />
** [[:Категория:Скриптовые функции|Скриптовые функции GTA 4]]<br />
** [[:Категория:Опкоды|Опкоды]]<br />
* [[:Категория:Инструменты|Инструменты]]<br />
* [[:Категория:Модификации|Модификации]]<br />
** [[:Категория:Мультиплеер|Мультиплеер]]<br />
* [[:Категория:Устранение багов|Устранение багов]]<br />
** [[Часто задаваемые вопросы]]<br />
</td><br />
</tr><br />
<br />
<tr><td colspan="2" valign="top"><br />
{{MainBlock<br />
|Заголовок=Примечательная статья<br />
|Содержание=<br />
{{Примечательная статья<br />
|Заголовок=Полная замена радио Chinatown Wars PSP<br />
|Изображение=CW_Radio_Stations.jpg<br />
|Цитата=С помощью программы '''AEC PSP Edition''' и кодека [[AT3|'''Atrac3''']] можно переконвертировать музыку из формата '''*.wav''' в формат, [[AT3|читаемый GTA Chinatown Wars]], причем возможно абсолютно полностью заменить каждую радиостанцию. К примеру можно вставить вполне полноценное радио из GTA IV.<br />
}}}}</td><br />
<br />
</tr><br />
</table><br />
<div style="font-size: 80%;" align="right">Количество [[Служебная:AllPages|статей в энциклопедии]]: {{NUMBEROFARTICLES}}. Количество правок: {{NUMBEROFEDITS}}.</div><br />
<div style="font-size: 80%;" align="right">[[Служебная:NewPages|Список новых статей]] &bull; [[:Категория:Основы энциклопедии|Основы энциклопедии]]</div></div>Seemannhttp://gtamodding.ru/wiki/%D0%98%D0%BC%D0%BF%D0%BE%D1%80%D1%82_.wdr_%D0%BC%D0%BE%D0%B4%D0%B5%D0%BB%D0%B5%D0%B9_%D0%B2_3ds_MaxИмпорт .wdr моделей в 3ds Max2010-08-30T20:52:36Z<p>Seemann: </p>
<hr />
<div>Из этой статьи вы узнаете один из способов импортирования [[WDR|.wdr]] моделей [[GTA 4]] в [[3ds Max]].<br />
<br />
==Способ 1==<br />
<br />
=== Инструменты & Загрузки ===<br />
[[Изображение:Police_collada.jpeg|thumb|250px|Пример загруженной через collada модели]]<br />
* Модифицированная версия [[SparkIV]].<br />
* [[3ds Max|3D Studio MAX]].<br />
<br />
===Описание===<br />
<br />
* Запустите SparkIV.exe, нажмите кнопку "Browse". Выберите [[IMG]]-файл, содержащий необходимые нам модели (\pc\models\cdimages\componentpeds.img).<br />
<br />
* Дважды щелкните по [[WTD]] файлу (ig_romanw.wtd) и нажмите "Save All Textures", указав папку textures.<br />
<br />
* Дважды щелкните по [[WDD]] файлу (ig_romanw.wdd) и нажмите "Export selected to Collada", присваивая модели имя ig_romanw.dae. Сохраняем в папку models.<br />
<br />
* Откройте 3ds Max и перейдите в "Customize" > "Configure User Paths" > "External Files", нажмите "Add..." и выберите папку textures, нажав "Use Path". Затем "OK".<br />
<br />
* Откройте "File" > "Open...", укажите тип файла "All files (*.*)". Откройте ig_romanw.dae (созданный заранее).<br />
<br />
''Примечания:''<br />
- если ваш 3ds Max не поддерживает импорт .DAE, скачайте [http://usa.autodesk.com/adsk/servlet/index?siteID=123112&id=10775855| отсюда] последнюю версию FBX-плагина.<br />
- если вы используете 3ds Max 7, то файл .DAE нужно не открывать, а импортировать ("File" > "Import").<br />
Обновление FBX [http://usa.autodesk.com/adsk/servlet/item?siteID=123112&id=9245865 здесь], а именно "FBX 2006.11.1 Plug-in for 3ds Max 7.0".<br />
<br />
===Полезные ссылки===<br />
[http://gtaiv3dmodelexporter.blogspot.com/ Блог автора, оригинальная статья]<br />
<br />
[http://gtaivexporter.googlepages.com/GTA_IV_3D_model_Exporter.zip Binary]<br />
<br />
[http://gtaivexporter.googlepages.com/gta_iv_3d_exporter.src.zip Исходник]<br />
<br />
==Способ 2==<br />
<br />
=== Инструменты & Загрузки ===<br />
* [[SparkIV]] или [[OpenIV]].<br />
* [[WDR Viewer]] для импорта [[WDR|.wdr]] и экспорта его в '''.wef'''. <br />
* ну и очевидно [[3ds Max|3D Studio MAX]].<br />
<br />
=== Экспорт [[WTD|.wtd]] файлов с помощью [[SparkIV]] ===<br />
Запустите Spark IV, нажмине на "Browse", укажите директорию с установленой GTA IV и выберете нужный .wdr файл. В этом туториале будем экспортировать модель MP5. <br />
<br />
Она находится в архиве '''weapons.img''' (\pc\models\cdimages):<br />
<br />
[[Изображение:importwdrto3dsmax01.jpg|250px]]<br />
<br />
Дважды щелкните на '''weapons.img''' чтобы открыть его:<br />
<br />
[[Изображение:importwdrto3dsmax02.jpg|250px]]<br />
<br />
Как вы видите на картинке, есть 2 типа файлов для каждого объекта:<br />
<br />
* [[WDR|.wdr]] файл (3D модель)<br />
* [[WTD|.wtd]] файл (Текстуры)<br />
<br />
Вам нужно дважды щелкнуть на .wdr файле для 3D просмотра с текстурами:<br />
<br />
[[Изображение:importwdrto3dsmax03.jpg|250px]]<br />
<br />
И экспортируем модель:<br />
<br />
[[Изображение:importwdrto3dsmax04.jpg|250px]]<br />
<br />
Укажите директорию для сохранения (напр. Рабочий стол).<br />
<br />
Наш .wdr теперь экспортирован. Теперь мы должны сконвертировать его в фотмат '''.wef'''<br />
<br />
=== Из .wtd в .wef с помощью WDR Viewer ===<br />
<br />
Открываем WDR Viewer:<br />
<br />
[[Изображение:importwdrto3dsmax05.jpg|250px]]<br />
<br />
Щелкаем по "WDR_Viewer.exe" чтобы запустить программу.<br />
<br />
Кликаем "File" -> "Open" и ищем только что экспортированый w_mp5.wdr.<br />
<br />
[[Изображение:importwdrto3dsmax06.jpg|180px]]<br />
<br />
Можете посмопотреть 3D превью:<br />
<br />
[[Изображение:importwdrto3dsmax07.jpg|250px]]<br />
<br />
Теперь щелкните на "File" -> "Export" и извлеките на Рабочий стол:<br />
<br />
[[Изображение:importwdrto3dsmax08.jpg|180px]]<br />
<br />
Новый файл назовем: w_mp5.wdr'''.wef'''<br />
<br />
=== Импортируем .wef в 3D Studio MAX ===<br />
<br />
Зпускаем 3ds Max, щеокаем на "MAXScript", дальше "Run Script.." чтобы открыть скрипт который находится в папке WDR_Viewer'а.<br />
<br />
[[Изображение:importwdrto3dsmax09.jpg|250px]]<br />
<br />
Найдите и откройте ее:<br />
<br />
[[Изображение:importwdrto3dsmax10.jpg|250px]]<br />
<br />
Откройте ''wef_import.ms'' и программа загрузит скрипт.<br />
Теперь на экране должно появиться окно, щелкаем на "Import .wef":<br />
<br />
[[Изображение:importwdrto3dsmax11.jpg|180px]]<br />
<br />
и загружем только что экспортированый файл w_mp5.wdr.wef:<br />
<br />
[[Изображение:importwdrto3dsmax12.jpg|250px]]<br />
<br />
И теперь мы видим мпортированую модель:<br />
<br />
[[Изображение:importwdrto3dsmax13.jpg|250px]]<br />
<br />
Автор: '''Fabio206'''<br />
=== Полезные ссылки ===<br />
[http://www.gtaforums.com/index.php?showtopic=395969 Оригинальная статья на GTAForums]<br />
{{GTA4-navi}}<br />
[[Категория:Моделирование]]</div>Seemannhttp://gtamodding.ru/wiki/MF_AudioMF Audio2010-08-30T20:49:28Z<p>Seemann: </p>
<hr />
<div>{{Программа<br />
| name = MF Audio<br />
| version = 1.1<br />
| author = Muzzleflash<br />
| genre = Аудиоконвертер<br />
| image = [[Изображение:MFAudio_1.1.png|300px|MFAudio 1.1]]<br />
}}<br />
<b>MF Audio</b> - программа, позволяющая открыть [[VAG]]-файлы, прослушать их и сохранить в другом формате. Поскольку формат VAG встречается в линейке GTA, например, [[GTA VCS]], MF Audio можно считать одним из инструментов в GTA-моддинге.<br />
<br />
==Ссылки==<br />
*[http://gtamodding.ru/w/images/4/42/MFAudio_1.1.rar Скачать MFAudio 1.1]<br />
{{GTA_Stories-navi}}</div>Seemannhttp://gtamodding.ru/wiki/IMG_ToolIMG Tool2010-08-30T20:49:13Z<p>Seemann: </p>
<hr />
<div>{{Программа<br />
| name = IMG Tool<br />
| version = 2.0<br />
| author = Spooky<br />
| game = [[GTA 3]], [[GTA VC]], [[GTA SA]]<br />
| genre = Редактор IMG-архивов.<br />
| site = [http://www.gtagarage.com.com/ www.GTAGarage.com]<br />
| image = [[Изображение:Img_tool_official_screenshot.jpg|250px|IMG Tool]]<br />
}}<br />
<br />
IMG Tool - программа для редактирования <code>[[IMG|*.img]]</code> архивов в GTAIII/VC/SA. Имеет простой, интуитивно понятный интерфейс.<br />
<br />
==Возможности==<br />
*Автоматическое распознавание 1-ой и 2-ой версии архива.<br />
*Импорт/экспорт/замена/переименование файлов.<br />
*Пересборка (Rebuild) архива.<br />
*Поиск по архиву.<br />
*Сортировка файлов.<br />
*После создания <code>*.dir</code>-файла с помощью [[YAIE]] поддерживает некоторые архивы [[GTA VCS]] и [[GTA LCS]].<br />
<br />
==Скачать==<br />
*[http://gtamodding.ru/w/images/2/28/Imgtool20.zip IMG Tool 2.0]<br />
*[http://gtamodding.ru/w/images/a/ae/Imgtool13.zip IMG Tool 1.3(старая версия)]<br />
<br />
==Ссылки==<br />
*[http://www.gtagarage.com/mods/show.php?id=63|страница IMG Tool 2.0 (на GTAGarage.com)]<br />
*Статья [[IMG архив]]</div>Seemannhttp://gtamodding.ru/wiki/GXT_EditorGXT Editor2010-08-30T20:49:04Z<p>Seemann: </p>
<hr />
<div>{{Программа<br />
| name = GXT Editor<br />
| version = 1.3<br />
| author = Zverik<br />
| game = [[GTA 2]], [[GTA 3]], [[GTA VC]], [[GTA SA]], [[GTA LCS]], частично [[GTA VCS]] и [[GTA 4]]<br />
| genre = GXT редактор<br />
| site = http://zverik.rbcmail.ru/gxtedit.html<br />
| image = [[Изображение:Gxt-editor-1.3.jpg|300px|GXT Editor 1.3]]<br />
}}<br />
<br />
'''GXT Editor''' - редактор текстовых файлов в линейке GTA. С ее помощью можно открыть [[GXT]]-файлы практически всех частей, в последних версиях реализован поиск, положение в таблице сохраняется после добавления записи, что довольно-таки удобно.<br />
<!-- GTA 2 и GTA LCS не проверял, может кто проверит - есть какие-то особенности? --><br />
<br />
Иногда под GTX Editor понимают какой-либо редактор текстов вообще, не обязательно именно эту программу.<br />
<br />
==Элементы меню==<br />
'''File''' - операции над файлом<br />
*''Open...'' - открыть файл в формате gxt, gxs или txt<br />
*''Select Base File...'' - открыть базовый файл, его вы редактировать не сможете, просто вы сможете смотреть оригинал изменяемого текста.<br />
*''Save'' - сохранить изменения<br />
*''Save as...'' - сохранить как... в формат gxt, gxs или txt<br />
*''Import...'' - импорт секции в формат gxs или txt<br />
*''Export...'' - экспорт секции в формате gxs или txt<br />
*''Mass Export...'' - экспорт нескольких секций<br />
*''Exit'' - выход<br />
<br />
'''Search''' - поиск<br />
*''Find...'' - найти текст<br />
*''Search again'' - найти далее<br />
<br />
'''Settings''' - настройки<br />
*''Translation'' - транслитерация. <br />
*''Translate text export'' - применить транслитерацию при экспорте.<br />
*''Cycle preview font'' - последовательно менять шрифт предпросмотра.<br />
*''Load first texture'' - загрузить первую текстуру шрифта (Pricedown)<br />
*''Load second texture'' - загрузить вторую текстуру шрифта (наклонный или готический шрифт)<br />
*''Read widths from file'' - считать размеры символов из файла. Выберите /data/fonts.dat если [[GTA SA|San Andreas]] или gta-vc.exe, если [[GTA VC|Vice]].<br />
*''Select keylist file'' - для [[GTA SA|San Andreas]]: загрузить файл со всеми ключами. (подробнее [[GXT_(SA)|здесь]])<br />
*''Sort strings by key'' - сортировать по ключам, есили отключено - то по хэшам названий (имеет смысл для [[GTA SA|San Andreas]]).<br />
*''Key mapping in text export'' - экспортировать с ключами или с хэшами названий (имеет смысл для [[GTA SA|San Andreas]]).<br />
<br />
==Процесс редактирования==<br />
* Открываем файл.<br />
* Слева выбираем секцию. Самой первой идет секция main, в ней хранятся тексты меню, районов, названий автомобилей и т.д. В -остальных секциях хранятся тексты отдельных миссий. Обычно для определенной миссии используется определенная секция и секция MAIN.<br />
* Ищем с помощью поиска или по алфавиту ключей нужную нам строку справа.<br />
* Кликаем два раза по ней, открывается маленькое окошко.<br />
* В поле вводим нужный текст.<br />
* Кликаем ОК.<br />
* Сохраняем файл.<br />
<br />
[[Категория:Инструменты]][[Категория:GTA 2]][[Категория:GTA 3]][[Категория:GTA VC]][[Категория:GTA SA]][[Категория:GTA LCS]]</div>Seemannhttp://gtamodding.ru/wiki/PS2_TXD_ViewerPS2 TXD Viewer2010-08-30T20:48:57Z<p>Seemann: </p>
<hr />
<div>{{Программа<br />
| name = PS2 TXD Viewer<br />
| version = 1.2<br />
| author = Steve-M<br />
| game = [[GTA 3]], [[GTA VC]], [[GTA SA]] (Только PS2 версии)<br />
| genre = Просмотрщик текстур<br />
| site = [http://www.steve-m.com/ www.steve-m.com]<br />
| image = [[Изображение:PS2-5.JPG|250px|PS2 TXD Viewer 1.2]]<br />
}}<br />
<br />
'''PS2 TXD Viewer''' - программа для просмотра и извлечения текстур GTA 3, GTA VC, GTA SA из [[TXD]] файлов PS2 версий. Разрабатывалась в то время, когда PC-версии соответствующей игры не было.<br />
<br />
Дальнейшее развитие программы остановлено. Так же автор отказался от добавления в нее функции редактирования текстур (в настоящее время для этого разработан [[PS2 TXD Mod]]). <br />
<br />
<br />
==Ссылки==<br />
* [http://www.steve-m.com/downloads/tools/txdviewer/ Программа на сайте автора]<br />
* [http://files.steve-m.com/ps2txdviewer-1.2.zip Скачать]<br />
* [http://gtamodding.ru/wiki/Моддинг_San_Andreas_PS2 Подробная инструкция по моддингу GTA:SA PS2 версии]<br />
<br />
<br />
{{Консольное описание}}<br />
<br />
[[Категория:GTA 3]][[Категория:GTA VC]][[Категория:GTA SA]][[Категория:Инструменты]][[Категория:Моддинг консольных версий]]</div>Seemannhttp://gtamodding.ru/wiki/G-IMGG-IMG2010-08-30T20:48:48Z<p>Seemann: </p>
<hr />
<div>{{Программа<br />
| name = G-IMG<br />
| version = 0.1 <br />
| author = REspawn (Дэвид Брэннан)<br />
| game = [[GTA 3]], [[GTA VC]], [[GTA SA]]<br />
| genre = Редактор игровых [[IMG]] архивов<br />
| site = [http://www.turnipfan.com/ www.turnipfan.com]<br />
| image = [[Изображение:G-img_screen_271006_large.gif|250px|G-TXD 0.1]]<br />
}}<br />
<br />
'''G-IMG''' - программа для редактирования [[IMG]] архивов GTAIII/VC/SA.<br />
<br />
== Возможности ==<br />
* Добавление<br />
* Извлечение<br />
* Удаление<br />
* Замена<br />
* Перемещение в конец<br />
* Перемещение вверх<br />
* Перемещение вниз<br />
* Переименование<br />
* Пересборка<br />
<br />
== Дополнительные функции ==<br />
* Просмотр/редактирование нескольких архивов сразу<br />
* Поддержка командной строки<br />
* Новый интерфейс/движок<br />
* Конвертирование архивов между версиями 1.0 и 2.0<br />
* Объединение архивов<br />
* Построение архива из конкретных файлов<br />
* Скачивание / Проверка обновлений одним кликом<br />
* Сканирование архива<br />
* Быстрое извлечение<br />
* Многоязыковая поддержка<br />
* Поиск в файлах<br />
* Быстрая замена<br />
* Автозагрузка архива, загруженного в последний раз<br />
<br />
== Ссылки ==<br />
* [http://www.turnipfan.com/index.php?page=g-img Страница программы на сайте автора]<br />
* [http://www.turnipfan.com/index.php?page=gimg_download Прямая ссылка для закачки]<br />
<br />
[[Категория:GTA 3]][[Категория:GTA VC]][[Категория:GTA SA]]</div>Seemannhttp://gtamodding.ru/wiki/G-DARG-DAR2010-08-30T20:48:32Z<p>Seemann: </p>
<hr />
<div>{{Программа<br />
| name = G-DAR<br />
| version = 0.1 <br />
| author = REspawn (Дэвид Брэннан)<br />
| game = [[GTA 3]], [[GTA VC]], [[GTA SA]]<br />
| genre = Редактор текстур (радара)<br />
| site = [http://www.turnipfan.com/ www.turnipfan.com]<br />
| image = [[Изображение:Gdar_rel_01_01m.gif|250px|G-TXD 0.1]]<br />
}}<br />
<br />
G-DAR - программа для редактирования радара в GTAIII/VC/SA.Позволяет производить любые действия с радаром в одной оболочке. Позволяет редактировать, экспортировать и импортировать карту как одно изображение. <br />
<br />
==Возможности==<br />
<br />
- Просмотр радара прямо из [[IMG]] архива.<br />
<br />
- Поддержка GTA3 / Vice City / San Andreas.<br />
<br />
- Экспорт / Импорт всей карты одним изображением.<br />
<br />
- Экспорт / Импорт определенных фрагментов радара.<br />
<br />
- Экспорт радара как набор текстурных архивов.<br />
<br />
- Поддержка альфа-каналов.<br />
<br />
==Ссылки==<br />
<br />
[http://www.gtagarage.com/mods/show.php?id=2090 Страница программы на gtagarage]<br />
<br />
[http://www.gtagarage.com/mods/show.php?id=2090# Прямая ссылка для закачки]<br />
<br />
[[Категория:GTA 3]][[Категория:GTA VC]][[Категория:GTA SA]][[Категория:Инструменты]]</div>Seemannhttp://gtamodding.ru/wiki/GTA_Stories_Texture_ViewerGTA Stories Texture Viewer2010-08-30T20:48:21Z<p>Seemann: </p>
<hr />
<div>{{Программа<br />
| name = GTAStories Texture Viewer<br />
| version = 1.0<br />
| author = Aru<br />
| game = [[GTA LCS]], [[GTA VCS]]<br />
| genre = Просмотрщик текстур<br />
| image = [[Изображение:GTAStories Tex.JPG|250px|GTAStories Texture Viewer 1.0]]<br />
}}<br />
<br />
'''GTAStories Texture Viewer''' - программа для просмотра и извлечения <code>[[TEX|текстур с заголовком "tex"]]</code> из [[GTA LCS]] и [[GTA VCS]]. <br />
Позволяет открывать файлы с любым расширением (<code>[[CHK|*.chk]]</code>, <code>[[TEX|*.xtx]]</code>), содержащие текстуры. Поддерживает PSP и PS2 версию.<br />
<br />
Имеет функции увеличения изображения, работы с альфа-каналами, экспорта в PNG/JPEG/BMP/GIF форматы.<br />
<br />
==Ссылки==<br />
* [http://gtamodding.ru/w/images/1/18/GTAStoriesTex.rar Скачать программу]<br />
<br />
{{GTA Stories-navi}}<br />
{{Консольное описание}}<br />
[[Категория:GTA_LCS]][[Категория:GTA_VCS]][[Категория:Инструменты]][[Категория:Моддинг консольных версий]]</div>Seemannhttp://gtamodding.ru/wiki/TXD_WorkshopTXD Workshop2010-08-30T20:48:10Z<p>Seemann: </p>
<hr />
<div>{{Программа<br />
| name = Txd Workshop<br />
| version = 4.0B<br />
| author = JernejL<br />
| game = [[GTA 3]], [[GTA VC]] (+XBox), [[GTA SA]]<br />
| genre = Редактор текстур<br />
| site = [http://www.gtatools.com www.gtatools.com]<br />
| image = [[Изображение:TXD Workshop.JPG|250px|<описание>]]<br />
}}<br />
<br />
'''TXD Workshop''' - программа для редактирования текстур ([[TXD]] файлов) GTA 3, GTA VC, GTA SA. Поддерживает работу с XBox - форматом GTA VC. Есть возможность считывания текстур прямо из [[IMG]] архивов. Имеет расширенные функции работы с компрессией и альфа-каналами.<br />
<br />
==Ссылки==<br />
* [http://www.gtatools.com/filedb/action.php?action=file&id=16 Программа на сайте автора]<br />
* [http://media.gtanet.com/hosted/gtatools.com/filedb/files/txdworkshop.rar Скачать]<br />
<br />
[[Категория:GTA 3]][[Категория:GTA VC]][[Категория:GTA SA]]</div>Seemannhttp://gtamodding.ru/wiki/GTAIV_Weapon_EditorGTAIV Weapon Editor2010-08-30T20:47:54Z<p>Seemann: </p>
<hr />
<div>{{Программа<br />
| name = GTAIV Weapon Editor<br />
| version = 1.0.<br />
| author = CoMPMStR<br />
| game = [[GTA 4]]<br />
| genre = [[Оружие|редактор оружия]]<br />
| site = http://www.gtaforums.com/index.php?showtopic=385815<br />
| image = [[Изображение:WeaponEditorIV.jpg|250px|GTAIV Weapon Editor 1.0]]<br />
}}<br />
'''GTAIV Weapon Editor''' - программа для редактирования характеристик оружия [[GTA 4]], хранящихся в следующих файлах:<br />
*[[WeaponInfo.xml]]<br />
*[[ThrownWeaponInfo.xml]]<br />
*[[MeleeAnims.dat]]<br />
<br />
[URL=http://www.gtamodding.ru/w/images/8/8b/GTAIV_Weapon_Editor.rar]Скачать[/URL] <br />
<br />
==Требования==<br />
* Microsoft .NET Framework 3.5. Если вы установили [[RGSC]], то Microsoft .NET Framework 3.5 у вас уже есть.<br />
<br />
==Ссылки==<br />
*[http://www.gtaforums.com/index.php?showtopic=385815 Обсуждение на gtaforums.com]<br />
<br />
[[Категория:GTA 4]][[Категория:Инструменты]]</div>Seemannhttp://gtamodding.ru/wiki/GTAIV_Vehicle_Colors_EditorGTAIV Vehicle Colors Editor2010-08-30T20:47:43Z<p>Seemann: </p>
<hr />
<div>{{Программа<br />
| name = GTAIV Vehicle Colors Editor<br />
| version = 1.0.<br />
| author = CoMPMStR<br />
| game = [[GTA 4]]<br />
| site = http://www.gtaforums.com/index.php?showtopic=386489<br />
| image = [[Изображение:VehicleColorsEditor.jpg|250px|GTAIV Vehicle Colors Editor 1.0]]<br />
}}<br />
'''GTAIV Vehicle Colors Editor''' - программа для редактирования [[carcols.dat]] [[GTA 4]].<br />
<br />
[URL=http://www.gtamodding.ru/w/images/e/e8/GTAIV_Vehicle_Colors_Editor.rar]Скачать[/URL] <br />
<br />
==Требования==<br />
* Microsoft .NET Framework 3.5. Если вы установили [[RGSC]], то Microsoft .NET Framework 3.5 у вас уже есть.<br />
<br />
==Ссылки==<br />
*[http://www.gtaforums.com/index.php?showtopic=386489 Обсуждение на gtaforums.com]<br />
<br />
[[Категория:GTA 4]][[Категория:Инструменты]]</div>Seemannhttp://gtamodding.ru/wiki/GTAIV_IDE_EditorGTAIV IDE Editor2010-08-30T20:47:33Z<p>Seemann: </p>
<hr />
<div>{{Программа<br />
| name = GTAIV IDE EDITOR<br />
| version = 1.0<br />
| author = CoMPMStR<br />
| game = [[GTA 4]]<br />
| site = http://www.gtaforums.com/index.php?showtopic=388132<br />
| image = [[Изображение:GTAIVIDEEditor.jpg|250px|GTAIV IDE Editor 1.0]]<br />
}}<br />
<br />
'''GTAIV IDE Editor''' - программа для редактирования следующих [[IDE]] файлов [[GTA 4]]:<br />
*[[Default.ide]]<br />
*[[Peds.ide]]<br />
*[[Vehicles.ide]]<br />
<br />
[URL=http://www.gtamodding.ru/w/images/5/5f/GTAIV_iDE_Editor.rar]Скачать[/URL] <br />
<br />
==Требования==<br />
*Microsoft .NET Framework 3.5. Если вы установили [[RGSC]], то Microsoft .NET Framework 3.5 у вас уже есть.<br />
<br />
==Ссылки==<br />
*[http://www.gtaforums.com/index.php?showtopic=388132 Обсуждение на gtaforums.com]<br />
<br />
[[Категория:GTA 4]][[Категория:Инструменты]]</div>Seemannhttp://gtamodding.ru/wiki/IDE_KillerIDE Killer2010-08-30T20:47:03Z<p>Seemann: </p>
<hr />
<div>{{Программа<br />
| name = IDE Killer<br />
| version = 2.0 <br />
| author = ghost_master2000<br />
| game = [[GTA VC]]<br />
| genre = Очистка игрового пространства [[GTA VC]]<br />
| image = [[Изображение:IDE_Killer2.jpg|250px|IDE Killer 2.0]]<br />
}}<br />
При помощи '''IDE Killer''' можно очистить все игровое пространство игры за несколько секунд. Просто скопируйте в папку с игрой, запустите и подождите несколько секунд. Перестройте (Rebuild) [[IMG|gta3.img]] - все готово. (Не забудьте, что с оригинальным [[main.scm]] игра не пойдет, поэтому киньте чистый main.scm в папку data).<br />
<br />
==Ссылки==<br />
[http://gtamodding.ru/w/images/c/cc/IDE_Killer2.zip Cкачать] (136 КБ)<br />
[[Категория:GTA VC]]</div>Seemannhttp://gtamodding.ru/wiki/GTA_Stories_Texture_ExplorerGTA Stories Texture Explorer2010-08-30T20:46:53Z<p>Seemann: </p>
<hr />
<div>{{Программа<br />
| name = GTA Stories Texture Explorer<br />
| version = 1.0 public<br />
| author = {{Ui|Dageron}}<br />
| site = [http://www.Dageron.com www.Dageron.com] [http://www.GTAModding.ru www.GTAModding.ru]<br />
| game = [[GTA LCS]], [[GTA VCS]]<br />
| genre = Просмотрщик текстур<br />
| image = [[Изображение: StoriesTextureExplorer_1_0.png|250px]]<br />
}}<br />
[[GTA Stories Texture Explorer]] - программа для работы с текстурными директориями [[GTA LCS]] и [[GTA VCS]]. PS2-версия данных игр поддерживается полностью. PSP-версия поддерживается частично (отображение многих текстур является некорректным).<br />
<br />
== Возможности программы ==<br />
<br />
* Работа с [[TEX|файлами с сигнатурой "tex"]] - просмотр и экспорт (имеют расширения <code>[[TEX|*.chk]]</code> и <code>[[TEX|*.xtx]]</code>).<br />
* Работа с несжатыми текстурными директориями внутри <code>[[DTZ|game.dtz]]</code> - просмотр и экспорт (<code>hud</code>, <code>particle</code>, <code>generic</code>).<br />
* Работа со сжатыми текстурными директориями внутри <code>[[DTZ|game.dtz]]</code> - просмотр и экспорт (<code>fonts</code>, <code>menu</code>).<br />
<br />
'''Режимы отображения:'''<br />
<br />
Ctrl+S (или View->Enable Swizzling) - включить режим swizzling-а.<br />
<br />
Ctrl+A (или View->Alpha Mode) - включить режим альфа-канала.<br />
<br />
Публичная версия поддерживает только просмотр текстур, без возможности редактирования.<br />
<br />
==Ссылки==<br />
[http://gtamodding.ru/w/images/7/77/GTA_Stories_Texture_Explorer_1.0_public.rar Скачать]<br />
<br />
{{GTA Stories-navi}}<br />
{{Консольное описание}}<br />
[[Категория:GTA_LCS]][[Категория:GTA_VCS]][[Категория:Инструменты]][[Категория:Моддинг консольных версий]]</div>Seemannhttp://gtamodding.ru/wiki/YAIEYAIE2010-08-30T20:46:28Z<p>Seemann: </p>
<hr />
<div>{{Программа<br />
| name = YAIE (Yet Another IMG Editor)<br />
| version = 1.3 <br />
| author = Dustin Holden<br />
| game = [[GTA 3]], [[GTA VC]], [[GTA SA]] Частично: [[GTA LCS]], [[GTA VCS]]<br />
| genre = IMG редактор<br />
| site = http://dustcrazy.blogspot.com/<br />
| image = [[Изображение:YAIE.JPG|250px|YAIE 1.3]]<br />
}}<br />
<br />
'''YAIE''' ''(Yet Another IMG Editor)'' - программа для открытия и изменения <code>[[IMG|*.img]]</code> архивов GTA 3, GTA VC, GTA SA. Главное ее достоинство по сравнению с аналогами - возможность частичной работы с PSP/PS2 версиями GTA LCS и GTA VCS (открывает и изменяет <code>GTA3PS2.IMG</code> и <code>GTA3PSP.IMG</code>). При открытии архива консольной версии будет создан <code>*.dir</code> файл (генерируется через поиск заголовков форматов в архиве), что сделает возможным работу с этим архивом в других [[IMG|*.img]]-редакторах.<br />
<br />
==Ссылки==<br />
* [http://dustcrazy.blogspot.com/ Блог Автора]<br />
* [http://dustin.gzwn.net/YAIE.rar Скачать]<br />
<br />
<br />
{{Консольное описание}}<br />
{{GTA_Stories-navi}}<br />
[[Категория:Моддинг консольных версий]][[Категория:GTA 3]][[Категория:GTA VC]][[Категория:GTA SA]][[Категория:GTA_VCS]][[Категория:GTA_LCS]][[Категория:Инструменты]]</div>Seemannhttp://gtamodding.ru/wiki/CheatDeviceCheatDevice2010-08-30T20:45:45Z<p>Seemann: </p>
<hr />
<div>{{Программа<br />
| name = CheatDevice(LCS)<br />
| version = PRX<br />
| author = Эдисон Картер<br />
| game = [[GTA LCS]]<br />
| genre = Чит-система, среда для разработки модов<br />
}}<br />
<br />
==Что это такое?==<br />
<br />
PRX-версия утилиты Эдисона Картера CheatDevice для GTA: Liberty City Stories, предназначенная для использования на консолях PlayStation Portable с DevHook, SE, OE, M33 (всех "ломанных" прошивок"). Программа работает с оригинальными и пропатчеными дисками/образами американского релиза и оригинальными дисками/образами европейского релиза, пропатченные европейские диски/образы в данной версии не поддерживаются. <br />
<br />
[http://gta.ag.ru/files/lcs/stuff/info/?11 Скачать GTA: LCS CheatDevice PRX]<br />
<br />
Устанавливается как обынчный PSP PRX-плагин, активируется в Recovery Menu.<br />
<br />
==Моддинг игры==<br />
<br />
CheatDevice - не только универсальная читерская программа, но и еще средство для разработки/установки модов. К сожалению, создать высококачественные глобальные модификации не удастся, но зато программа включает все функции работы с картой (а значит, можно создавать новые острова из стандартных объектов) и характеристикой автомобилей (можно полностью изменить поведение, цвет, статические характеристики) .<br />
<br />
Для того, чтобы полностью осознать возможности моддинга, рекомендую скачать[http://www.libertycitystories.fr/downloads/pafiledb.php?action=file&id=339 это видео].<br />
<br />
===Где брать моды===<br />
<br />
[http://www.libertycitystories.fr/ libertycitystories.fr] - уникальный в своем роде сайт о моддинге в GTA:LCS при помощи CheatDevice. Не смотря на то, что он французский, интерфейс совершенно легкий и понятный.<br />
<br />
[http://www.libertycitystories.fr/downloads/pafiledb.php?action=category&id=33 Новые автомобили]<br />
<br />
[http://www.libertycitystories.fr/downloads/pafiledb.php?action=category&id=10 Карты]<br />
<br />
Тем, кто хочет испытать действительно сильно измененную карту Liberty City 1998-го года, советую скачать [[http://www.libertycitystories.fr/downloads/pafiledb.php?action=file&id=511 RemadeLibertyCity]]<br />
<br />
===Установка модов при помощи CheatDevice===<br />
<br />
Оригинальная статья на французском находится [http://www.libertycitystories.fr/index.php?page=tutovehiculesmaps тут].<br />
<br />
<br />
Нам понадобится:<br />
<br />
1)Сама PSP и GTA:LCS (не важно, "ISO образом" или "на UMD диске")<br />
<br />
2)Карта памяти<br />
<br />
3)USB 2.0. кабель<br />
<br />
4)CheatDevice<br />
<br />
<br />
1)Подключаем PSP к компьютеру, выбираем в настройках "Соединение USB".<br />
<br />
2)Выбираем нужный мод. Пусть это будет<br />
<br />
Aspartia island<br />
<br />
[[Изображение:Aspartia island.jpg]]<br />
<br />
Автомобиль Murcielago roadster<br />
<br />
[[Изображение:Murcielago roadster.jpg]]<br />
<br />
3)Скачиваем сами параметры модификаций (хранятся в текстовом формате). <br />
<br />
4)Кладем файлы в X:\CHEATS (где "X" - обозначение вашей PSP как съемного диска)<br />
<br />
5)Активируем моды непосредственно в игре (путем нажатия "File" в конце списка функций) - ставим везде "ON"<br />
<br />
[[Изображение:CD menu map.jpg]]<br />
<br />
<br />
Результат:<br />
<br />
[[Изображение:Garage car.jpg]]<br />
<br />
[[Изображение:Aspartia.jpg]]<br />
<br />
[[Категория:Инструменты]][[Категория:GTA LCS]]</div>Seemannhttp://gtamodding.ru/wiki/%D0%A0%D0%B0%D0%B4%D0%B8%D0%BE%D1%81%D1%82%D0%B0%D0%BD%D1%86%D0%B8%D0%B8_(GTA_IV)Радиостанции (GTA IV)2010-08-30T20:44:38Z<p>Seemann: </p>
<hr />
<div>Список радиостанций GTA 4 с названиями, изображениями, индексами и именами, которые могут быть использованы [[список скриптовых функций|скриптовыми функциями]]. Для подробной информации о радиостанциях вы можете посетить страницы на [http://www.gta4.net/music/ gta4.net] и на [http://gta.ag.ru/gta4/db/radio/ ag.ru]. <br />
<br />
{|{{Таблица}}<br />
!Номер<br />
!Название для хеша<br />
!Изображение<br />
!Название<br />
|-<br />
|0 ||THE_VIBE ||[[Изображение:Thevibe bw.png]] ||THE VIBE 98.9 <br />
|-<br />
|1 ||LIBERTY_ROCK ||[[Изображение:Lrr_bw.png]] ||LRR 97.8 LIBERTY ROCK RADIO<br />
|-<br />
|2 ||JAZZ_NATION ||[[Изображение:Jnr bw.png]] ||JNR JAZZ NATION RADIO 108.5<br />
|-<br />
|3 ||BOBBY_KONDERS ||[[Изображение:Massiveb_bw.png]] ||MASSIVE B<br />
|-<br />
|4 ||K109_THE_STUDIO||[[Изображение:K109 bw.png]] ||K 109 THE STUDIO<br />
|-<br />
|5 ||WKTT ||[[Изображение:Thevibe bw.png]] ||WKTT RADIO<br />
|-<br />
|6 ||HARDCORE ||[[Изображение:Lchc_bw.png]] ||LCHC (WHERE HARDCORE LIVES)<br />
|-<br />
|7 ||CLASSICAL_AMBIENT ||[[Изображение:Thejourney_bw.png]] ||THE JOURNEY<br />
|-<br />
|8 ||FUSION_FM ||[[Изображение:Fusion_bw.png]] ||FUSION FM<br />
|-<br />
|9 ||BEAT_95 ||[[Изображение:Beat_bw.png]] ||THE BEAT 102.7<br />
|-<br />
|10 ||DANCE_ROCK ||[[Изображение:Radiobroker_bw.png]] ||RADIO BROKER<br />
|-<br />
|11 ||VLADIVOSTOK ||[[Изображение:Vladivostok bw.png]] ||VLADIVOSTOK FM<br />
|-<br />
|12 ||PLR ||[[Изображение:Plr_bw.png]] ||PLR - PUBLIC LIBERTY RADIO<br />
|-<br />
|13 ||SAN_JUAN_SOUNDS ||[[Изображение:Sanjuan_bw.png]] ||SAN JUAN SOUNDS<br />
|-<br />
|14 ||DANCE_MIX ||[[Изображение:Electrochoc_bw.png]] ||ELECTRO-CHOC<br />
|-<br />
|15 ||NY_CLASSICS ||[[Изображение:Theclassics_bw.png]] ||THE CLASSICS 104.1<br />
|-<br />
|16 ||AFRO_BEAT ||[[Изображение:If99_bw.png]] ||IF 99 - INTERNATIONAL FUNK<br />
|-<br />
|17 ||BABYLON ||[[Изображение:Wktt bw.png]] ||TUFF GONG<br />
|-<br />
|18 ||INDEPENDENT ||[[Изображение:Independence bw.png]] ||INPEDENDENCE FM<br />
|-<br />
|19 ||INTEGRITY ||[[Изображение:Integrity_bw.png]] ||INTEGRITY 2.0<br />
|-<br />
|254 ||GAME START ||none ||GAME START<br />
|-<br />
|255 ||OFF ||none ||RADIO OFF<br />
|}<br />
<br />
{{GTA4-navi}}</div>Seemannhttp://gtamodding.ru/wiki/SCMSCM2010-08-30T20:42:33Z<p>Seemann: </p>
<hr />
<div>Игровые скрипты заключены в файле main.scm. Данный файл представляет собой нетипизированный бинарный файл с определенной структурой. При декомпиляции получается исходный файл, строение которого выстроено в точности по данной структуре.<br />
<br />
==Общая структура==<br />
Нас будет интересовать прежде всего строение текстового исходника, поскольку работа с бинарным, скомпилированным файлом прерогатива декомпилятора. Итак, какое строение должен иметь типичный исходник, чтобы быть успешно скомпилированным в рабочий main.scm. <br />
<br />
Файл main.scm состоит из следующих частей:<br />
<br />
# заголовок <br />
# «майн» <br />
# миссии <br />
<br />
===Заголовок===<br />
<br />
В самом верху исходного файла вы можете увидеть заголовок. Он представляет собой набор полей, определяющих часть структуры заголовка. Каждое поле начинается со слова DEFINE.<br />
<br />
Первой частью заголовка является сегмент (или блок) моделей. Он начинается со строки<br />
<br />
<source lang="scm">DEFINE OBJECTS 389</source><br />
<br />
Слово DEFINE указывает на то, что эта строка – часть заголовка. OBJECTS указывает на то, что мы определяем размер сегмента объектов, а точнее – число объектов, чьи названия будут указаны ниже. 389 – число этих объектов (число может отличаться в разных исходниках). Допустимые значения – положительные числа и ноль. Смотрите также [[Лимиты объектов]].<br />
<br />
После этой строки перечисляются имена объектов.<br />
<br />
<source lang="scm">DEFINE OBJECT INFO // Object number -1 <br />
</source><br />
<br />
Слово '''OBJECT''' указывает компилятору, что данная строка содержит имя импортируемой модели. Особенностью данных моделей является то, что они не требуют загрузки при использовании, а обращение к ним в скрипте происходит не по их реальному ID, а по порядковому номеру, который указан в комментарии (-1). Например,<br />
<br />
<source lang="scm">0213: $PICKUP_INFO_HOSPITAL = create_pickup #INFO type 3 at 2027.77 -1420.52 16.49 <br />
</source><br />
<br />
или <br />
<source lang="scm"><br />
0213: $PICKUP_INFO_HOSPITAL = create_pickup -1 type 3 at 2027.77 -1420.52 16.49 </source><br />
<br />
[color=brown]'''INFO'''[/color] – имя [[DFF]]-модели из gta3.[[img]] или другого архива.<br />
<br />
<br />
Самая первая модель в списке не используется игрой.<br />
<br />
Обратите внимание, что данный сегмент заголовка опционален и не обязателен к указыванию. Если вы не укажете какие модели следует компилировать как импортируемые, компилятор сделает это за вас, когда будет обнаруживать использование имен моделей в скрипте, чьи имена не содержатся в IDE-файлах (модели из IDE-файлов можно использовать по их ID, не требуется указывать их в заголовке). См. также: [[Объекты (SA)]].<br />
<br />
Второй частью заголовка является сегмент миссий. Он начинается со строки<br />
<br />
<source lang="scm">DEFINE MISSIONS 135</source><br />
<br />
Здесь указывается, какое число миссий будет присутствовать в данном исходнике. Компилятор будет искать именно заданное число миссий и если их будет меньше или больше возникнет ошибка.<br />
<br />
После указания общего числа миссий следует перечисление миссий:<br />
<br />
<source lang="scm">DEFINE MISSION 0 AT @INITIAL // Initial 1 </source><br />
<br />
Разберем данную строку. После слова DEFINE стоит слово MISSION, указывающее что здесь определяется начало миссии. После него стоит порядковый номер миссии. Этот номер используется в опкоде start_mission. После слова AT вы должны указать метку миссии, с которой она начнется.<br />
<br />
На этой строке может также стоять комментарий с названием миссии из оригинального main.scm. Вы можете отключить показ оригинальных имен миссий в опциях программы. См. также [[Создание миссии в SA]].<br />
<br />
Указанные выше части заголовка являются общими для всех игр, поддерживаемых Sanny Builder’ом. Следующие части заголовка указываются только для игры San Andreas.<br />
<br />
<source lang="scm">DEFINE EXTERNAL_SCRIPTS 78 // Use -1 in order not to compile AAA script </source><br />
<br />
В данной части заголовка определяются [[внешние скрипты]]. После слова EXTERNAL_SCRIPTS указывается общее число внешних скриптов. В исходном файле эти скрипты должны располагаться сразу после всех миссий. Как и в случае с последними, компилятор будет искать заданное количество скриптов.<br />
<br />
Обратите внимание, что внешние скрипты имеют в своем составе особый скрипт с названием AAA. Содержимое этого скрипта заполняется компилятором и делается это исключительно с целью максимального соответствия оригинальным файлам игры. Если вы указываете число EXTERNAL_SCRIPTS как 0, скрипт AAA тем не менее будет скомпилирован. Для того чтобы не делать этого, укажите в качестве значения число -1. Тогда script.img вообще не будет создаваться.<br />
<br />
Версия 3.0 позволяет также перезаписать скрипт AAA. Для этого создайте свой собственный скрипт и назовите его этим именем.<br />
<br />
Определение внешнего скрипта происходит в строке<br />
<br />
<source lang="scm">DEFINE SCRIPT PLAYER_PARACHUTE AT @PLCHUTE // 0 </source><br />
<br />
Здесь PLAYER_PARACHUTE – имя скрипта в файле script.img. [color=green]'''@PLCHUTE'''[/color] – имя метки с которой начинает тело скрипта.<br />
<br />
В комментарии указан порядковый номер скрипта, который используется в опкодах, например:<br />
<source lang="scm">08A9: load_external_script 0 </source><br />
<br />
После сегмента внешних скриптов идут еще два блока, назначение которых неизвестно. Скорее всего игра не использует эти значения.<br />
<br />
<source lang="scm">DEFINE UNKNOWN_EMPTY_SEGMENT 0<br />
<br />
DEFINE UNKNOWN_THREADS_MEMORY 574<br />
</source><br />
<br />
Если вы пользуетесь урезанным скриптом (stripped.txt) без миссий и скриптов, вы можете не указывать заголовок совсем. <br />
<br />
Шаблон заголовка можно вызывать в редакторе, используя макрос headsa или headvc. <br />
<br />
===Главная часть===<br />
<br />
Сразу после заголовка идет основной блок скрипта, именуемый майном. Здесь находятся все потоки, которые создаются и работают во время игры. Начало майна обозначено комментарием <br />
<br />
<source lang="scm">//-------------MAIN---------------.</source><br />
<br />
Майн состоит из набора отдельных потоков. Самым первым потоком, который автоматически запускает игра, является поток MAIN (начинается с опкода 03A4: name_thread 'MAIN'). Все остальные потоки активируются уже из данного потока опкодами 004F или 00D7 (обратите внимание, эти опкоды по сути одинаковы, только 004F еще дополнительно может передавать в создаваемый поток параметры). Замечание по поводу создания потоков из MAIN верно только для новой игры. При загрузке сейва игра уже сама восстанавливает ранее созданные потоки. <br />
<br />
Потоки состоят из опкодов, выражений и меток. Также при компиляции в скрипте могут встречаться конструкции (VAR..END, CONST..END, FOR..END и т.д.) и директивы, которые служат исключительно для удобства работы с кодом (cм. [[Кодинг в Sanny Builder 3]]). После компиляции эти конструкции так или иначе преобразуются в опкоды, выражения или метки.<br />
<br />
====Опкод====<br />
<br />
Опкод – (OpCode - Operation Code - код операции) - число, обозначающее одну из инструкций для парсера скриптов игры и указывающее на определенную последовательность действий, которые необходимо выполнить с учетом переданных параметров. <br />
<br />
Например, 0001 это код операции wait, которое указывает машине, что нужно приостановить выполнение потока на число миллисекунд, переданных как параметр этого опкода. Все опкоды хранятся в INI-файле. <br />
<br />
====Выражение====<br />
<br />
Выражение – это опкод с математической или логической операцией. Например, <br />
<br />
<source lang="scm">$var += 1<br />
10 < 5@<br />
&10 = 0</source><br />
<br />
и т.д. Некоторые выражения могут писаться без указания номера опкода (как в примере выше). Логические выражения (условия) используются для проверки каких-либо значений.<br />
<br />
====Метка====<br />
<br />
Метка – это идентификатор, обозначающий позицию в скрипте. Имя метки должно быть уникальным. По своей сути это число, обозначающее смещение от начала майна или миссии до того места, где стоит метка. В коде она обозначается символом :<br />
<br />
<source lang="scm">:MAIN_177</source><br />
<br />
Сами по себе метки бесполезны, если их не используют. Под использованием метки понимается переход на нее в одном из специальных опкодов. Существуют два вида перехода на метку: условное и безусловное.<br />
Безусловный переход осуществляется опкодами '''jump''', '''gosub'''.<br />
<br />
<source lang="scm">jump @MAIN_177 </source><br />
<br />
Обратите внимание, что имя метки для перехода обозначается символом [color=green]'''@'''[/color] в начале. При включении автоматического списка, редактор будет выводить список используемых меток в коде. <br />
Когда игра достигнет этого опкода, она сразу перейдет на то место в скрипте, где стоит метка (<source lang="scm">:MAIN_177</source>). <br />
<br />
Отличительной особенностью команды gosub является то, что после перехода на метку игра может (и должна) вернуться обратно после того, как встретит команду return. <br />
<br />
<source lang="scm">…<br />
gosub @MAIN_177<br />
$var += 1<br />
…<br />
<br />
:MAIN_177<br />
$var = 1<br />
return </source><br />
<br />
Когда игра достигнет команды '''gosub''', она сразу перейдет по указанной метке на команду <source lang="scm">$var = 1</source>. После выполнения этой команды, она перейдет на команду '''return'''. Смысл ее заключается в «вернуться-на-то-место-где-был-последний-gosub». В нашем примере это будет команда <source lang="scm">$var += 1</source>. Команды '''jump''' (или '''goto'''), '''gosub''' и '''return''' являются базовыми понятиями в любом языке программирования.<br />
<br />
''Условный'' переход в отличие от безусловного осуществляется только при определенном условии. Для этого используется опкод jump_if_false ('''jf'''). Он является составной частью любого условия в скриптах.<br />
<br />
<source lang="scm">00D6: if <br />
08AB: external_script 75 loaded<br />
004D: jump_if_false @MAIN_4492<br />
0913: run_external_script 75 </source><br />
<br />
В данном примере сначала проверяется загружен ли в память внешний скрипт 75. После опкода 08AB: состояние условия будет либо правдивым ('''True''') либо ложным ('''False'''), в зависимости от того, загружен скрипт или нет. <br />
Состояние условия определяет два различных поведения игры после проверки условия.''' Если условие было правдивым (т.е. скрипт был загружен) игра пропустит опкод jump_if_false.''' Следующим шагом, таким образом, станет опкод 0913.<br />
'''Если условие было ложным (т.е. скрипт не был загружен) игра выполнит опкод jump_if_false и перейдет на метку''' <source lang="scm">@MAIN_4492</source>.<br />
Собственно из перевода слов jump_if_false видно, что это '''переход, если ложь'''.<br />
<br />
Майн заканчивается там, где начинаются миссии.<br />
<br />
===Миссии===<br />
<br />
Блок миссий начинается с метки нулевой миссии из заголовка (в оригинале [color=green]''':INITIAL'''[/color]). Обычно там стоит комментарий <br />
<br />
<source lang="scm">//-------------Mission 0---------------.</source><br />
<br />
Особенностью миссий является то, что в игре может одновременно быть запущена только одна миссия. После команды '''start_mission''' игра полностью загружает тело миссии в отдельную область памяти, после чего начинает работать с ним как с обычным потоком из майна. Все сказанное по поводу опкодов, выражений и меток в майне действительно и для миссий. Миссия как и обычный поток заканчивается командой '''end_thread'''. <br />
<br />
Все миссии в исходном файле должны идти в той же последовательности, что и в заголовке файла. Миссия должна идти одним блоком, не допускается вложение части одной миссии в тело другой.<br />
<br />
===Внешние скрипты===<br />
В San Andreas’е часть игровых скриптов вынесена в отдельный файл script.img. Он состоит из набора небольших scm-файлов. Их отличие от главного main.scm заключается в отсутствии заголовка. <br />
<br />
При декомпиляции эти скрипты добавляются в конец исходника, составляя таким образом четвертую его часть. Таким образом началом данного блока является конец блока миссий. Там должна стоять метка первого внешнего скрипта (если таковые используются). Обычно там стоит комментарий<br />
<br />
<source lang="scm">//-------------External script 0 (PLAYER_PARACHUTE)---------------.</source><br />
<br />
Внешний скрипт представляет собой обычный поток со своими опкодами, выражениями и метками. Этот поток загружается в отдельную область памяти.<br />
<br />
[[Категория:GTA 3]][[Категория:GTA VC]][[Категория:GTA SA]][[Категория:GTA LCS]][[Категория:GTA VCS]][[Категория: Форматы файлов]][[Категория:Скриптинг]]</div>Seemannhttp://gtamodding.ru/wiki/SCMSCM2010-08-30T20:37:37Z<p>Seemann: </p>
<hr />
<div>Игровые скрипты заключены в файле main.scm. Данный файл представляет собой нетипизированный бинарный файл с определенной структурой. При декомпиляции получается исходный файл, строение которого выстроено в точности по данной структуре.<br />
<br />
Файл main.scm состоит из следующих частей:<br />
<br />
# заголовок <br />
# «майн» <br />
# миссии <br />
<br />
В San Andreas’е часть игровых скриптов, однако, вынесена в отдельный файл script.[[img]]. Он состоит из набора небольших [[scm]]-файлов. Их отличие от главного main.[[scm]] заключается в отсутствии заголовка. При декомпиляции эти скрипты добавляются в конец исходника, составляя таким образом четвертую его часть.<br />
<br />
Нас будет интересовать прежде всего строение текстового исходника, поскольку работа с бинарным, скомпилированным файлом прерогатива декомпилятора. Итак, какое строение должен иметь типичный исходник, чтобы быть успешно скомпилированным в рабочий main.scm. <br />
<br />
==Заголовок==<br />
<br />
В самом верху исходного файла вы можете увидеть заголовок. Он представляет собой набор полей, определяющих часть структуры заголовка. Каждое поле начинается со слова DEFINE.<br />
<br />
Первой частью заголовка является сегмент (или блок) моделей. Он начинается со строки<br />
<br />
<source lang="scm">DEFINE OBJECTS 389</source><br />
<br />
Слово DEFINE указывает на то, что эта строка – часть заголовка. OBJECTS указывает на то, что мы определяем размер сегмента объектов, а точнее – число объектов, чьи названия будут указаны ниже. 389 – число этих объектов (число может отличаться в разных исходниках). Допустимые значения – положительные числа и ноль. Смотрите также [[Лимиты объектов]].<br />
<br />
После этой строки перечисляются имена объектов.<br />
<br />
<source lang="scm">DEFINE OBJECT INFO // Object number -1 <br />
</source><br />
<br />
Слово '''OBJECT''' указывает компилятору, что данная строка содержит имя импортируемой модели. Особенностью данных моделей является то, что они не требуют загрузки при использовании, а обращение к ним в скрипте происходит не по их реальному ID, а по порядковому номеру, который указан в комментарии (-1). Например,<br />
<br />
<source lang="scm">0213: $PICKUP_INFO_HOSPITAL = create_pickup #INFO type 3 at 2027.77 -1420.52 16.49 <br />
</source><br />
<br />
или <br />
<source lang="scm"><br />
0213: $PICKUP_INFO_HOSPITAL = create_pickup -1 type 3 at 2027.77 -1420.52 16.49 </source><br />
<br />
[color=brown]'''INFO'''[/color] – имя [[DFF]]-модели из gta3.[[img]] или другого архива.<br />
<br />
<br />
Самая первая модель в списке не используется игрой.<br />
<br />
Обратите внимание, что данный сегмент заголовка опционален и не обязателен к указыванию. Если вы не укажете какие модели следует компилировать как импортируемые, компилятор сделает это за вас, когда будет обнаруживать использование имен моделей в скрипте, чьи имена не содержатся в IDE-файлах (модели из IDE-файлов можно использовать по их ID, не требуется указывать их в заголовке). См. также: [[Объекты (SA)]].<br />
<br />
Второй частью заголовка является сегмент миссий. Он начинается со строки<br />
<br />
<source lang="scm">DEFINE MISSIONS 135</source><br />
<br />
Здесь указывается, какое число миссий будет присутствовать в данном исходнике. Компилятор будет искать именно заданное число миссий и если их будет меньше или больше возникнет ошибка.<br />
<br />
После указания общего числа миссий следует перечисление миссий:<br />
<br />
<source lang="scm">DEFINE MISSION 0 AT @INITIAL // Initial 1 </source><br />
<br />
Разберем данную строку. После слова DEFINE стоит слово MISSION, указывающее что здесь определяется начало миссии. После него стоит порядковый номер миссии. Этот номер используется в опкоде start_mission. После слова AT вы должны указать метку миссии, с которой она начнется.<br />
<br />
На этой строке может также стоять комментарий с названием миссии из оригинального main.scm. Вы можете отключить показ оригинальных имен миссий в опциях программы. См. также [[Создание миссии в SA]].<br />
<br />
Указанные выше части заголовка являются общими для всех игр, поддерживаемых Sanny Builder’ом. Следующие части заголовка указываются только для игры San Andreas.<br />
<br />
<source lang="scm">DEFINE EXTERNAL_SCRIPTS 78 // Use -1 in order not to compile AAA script </source><br />
<br />
В данной части заголовка определяются [[внешние скрипты]]. После слова EXTERNAL_SCRIPTS указывается общее число внешних скриптов. В исходном файле эти скрипты должны располагаться сразу после всех миссий. Как и в случае с последними, компилятор будет искать заданное количество скриптов.<br />
<br />
Обратите внимание, что внешние скрипты имеют в своем составе особый скрипт с названием AAA. Содержимое этого скрипта заполняется компилятором и делается это исключительно с целью максимального соответствия оригинальным файлам игры. Если вы указываете число EXTERNAL_SCRIPTS как 0, скрипт AAA тем не менее будет скомпилирован. Для того чтобы не делать этого, укажите в качестве значения число -1. Тогда script.img вообще не будет создаваться.<br />
<br />
Версия 3.0 позволяет также перезаписать скрипт AAA. Для этого создайте свой собственный скрипт и назовите его этим именем.<br />
<br />
Определение внешнего скрипта происходит в строке<br />
<br />
<source lang="scm">DEFINE SCRIPT PLAYER_PARACHUTE AT @PLCHUTE // 0 </source><br />
<br />
Здесь PLAYER_PARACHUTE – имя скрипта в файле script.img. [color=green]'''@PLCHUTE'''[/color] – имя метки с которой начинает тело скрипта.<br />
<br />
В комментарии указан порядковый номер скрипта, который используется в опкодах, например:<br />
<source lang="scm">08A9: load_external_script 0 </source><br />
<br />
После сегмента внешних скриптов идут еще два блока, назначение которых неизвестно. Скорее всего игра не использует эти значения.<br />
<br />
<source lang="scm">DEFINE UNKNOWN_EMPTY_SEGMENT 0<br />
<br />
DEFINE UNKNOWN_THREADS_MEMORY 574<br />
</source><br />
<br />
Если вы пользуетесь урезанным скриптом (stripped.txt) без миссий и скриптов, вы можете не указывать заголовок совсем. <br />
<br />
Шаблон заголовка можно вызывать в редакторе, используя макрос headsa или headvc. <br />
<br />
==Майн==<br />
<br />
Сразу после заголовка идет основной блок скрипта, именуемый майном. Здесь находятся все потоки, которые создаются и работают во время игры. Начало майна обозначено комментарием <br />
<br />
<source lang="scm">//-------------MAIN---------------.</source><br />
<br />
Майн состоит из набора отдельных потоков. Самым первым потоком, который автоматически запускает игра, является поток MAIN (начинается с опкода 03A4: name_thread 'MAIN'). Все остальные потоки активируются уже из данного потока опкодами 004F или 00D7 (обратите внимание, эти опкоды по сути одинаковы, только 004F еще дополнительно может передавать в создаваемый поток параметры). Замечание по поводу создания потоков из MAIN верно только для новой игры. При загрузке сейва игра уже сама восстанавливает ранее созданные потоки. <br />
<br />
Потоки состоят из опкодов, выражений и меток. Также при компиляции в скрипте могут встречаться конструкции (VAR..END, CONST..END, FOR..END и т.д.) и директивы, которые служат исключительно для удобства работы с кодом (cм. [[Кодинг в Sanny Builder 3]]). После компиляции эти конструкции так или иначе преобразуются в опкоды, выражения или метки.<br />
<br />
===Опкод===<br />
<br />
Опкод – (OpCode - Operation Code - код операции) - число, обозначающее одну из инструкций для парсера скриптов игры и указывающее на определенную последовательность действий, которые необходимо выполнить с учетом переданных параметров. <br />
<br />
Например, 0001 это код операции wait, которое указывает машине, что нужно приостановить выполнение потока на число миллисекунд, переданных как параметр этого опкода. Все опкоды хранятся в INI-файле. <br />
<br />
===Выражение===<br />
<br />
Выражение – это опкод с математической или логической операцией. Например, <br />
<br />
<source lang="scm">$var += 1<br />
10 < 5@<br />
&10 = 0</source><br />
<br />
и т.д. Некоторые выражения могут писаться без указания номера опкода (как в примере выше). Логические выражения (условия) используются для проверки каких-либо значений.<br />
<br />
===Метка===<br />
<br />
Метка – это идентификатор, обозначающий позицию в скрипте. Имя метки должно быть уникальным. По своей сути это число, обозначающее смещение от начала майна или миссии до того места, где стоит метка. В коде она обозначается символом :<br />
<br />
<source lang="scm">:MAIN_177</source><br />
<br />
Сами по себе метки бесполезны, если их не используют. Под использованием метки понимается переход на нее в одном из специальных опкодов. Существуют два вида перехода на метку: условное и безусловное.<br />
Безусловный переход осуществляется опкодами '''jump''', '''gosub'''.<br />
<br />
<source lang="scm">jump @MAIN_177 </source><br />
<br />
Обратите внимание, что имя метки для перехода обозначается символом [color=green]'''@'''[/color] в начале. При включении автоматического списка, редактор будет выводить список используемых меток в коде. <br />
Когда игра достигнет этого опкода, она сразу перейдет на то место в скрипте, где стоит метка (<source lang="scm">:MAIN_177</source>). <br />
<br />
Отличительной особенностью команды gosub является то, что после перехода на метку игра может (и должна) вернуться обратно после того, как встретит команду return. <br />
<br />
<source lang="scm">…<br />
gosub @MAIN_177<br />
$var += 1<br />
…<br />
<br />
:MAIN_177<br />
$var = 1<br />
return </source><br />
<br />
Когда игра достигнет команды '''gosub''', она сразу перейдет по указанной метке на команду <source lang="scm">$var = 1</source>. После выполнения этой команды, она перейдет на команду '''return'''. Смысл ее заключается в «вернуться-на-то-место-где-был-последний-gosub». В нашем примере это будет команда <source lang="scm">$var += 1</source>. Команды '''jump''' (или '''goto'''), '''gosub''' и '''return''' являются базовыми понятиями в любом языке программирования.<br />
<br />
''Условный'' переход в отличие от безусловного осуществляется только при определенном условии. Для этого используется опкод jump_if_false ('''jf'''). Он является составной частью любого условия в скриптах.<br />
<br />
<source lang="scm">00D6: if <br />
08AB: external_script 75 loaded<br />
004D: jump_if_false @MAIN_4492<br />
0913: run_external_script 75 </source><br />
<br />
В данном примере сначала проверяется загружен ли в память внешний скрипт 75. После опкода 08AB: состояние условия будет либо правдивым ('''True''') либо ложным ('''False'''), в зависимости от того, загружен скрипт или нет. <br />
Состояние условия определяет два различных поведения игры после проверки условия.''' Если условие было правдивым (т.е. скрипт был загружен) игра пропустит опкод jump_if_false.''' Следующим шагом, таким образом, станет опкод 0913.<br />
'''Если условие было ложным (т.е. скрипт не был загружен) игра выполнит опкод jump_if_false и перейдет на метку''' <source lang="scm">@MAIN_4492</source>.<br />
Собственно из перевода слов jump_if_false видно, что это '''переход, если ложь'''.<br />
<br />
Майн заканчивается там, где начинаются миссии.<br />
<br />
==Миссии==<br />
<br />
Блок миссий начинается с метки нулевой миссии из заголовка (в оригинале [color=green]''':INITIAL'''[/color]). Обычно там стоит комментарий <br />
<br />
<source lang="scm">//-------------Mission 0---------------.</source><br />
<br />
Особенностью миссий является то, что в игре может одновременно быть запущена только одна миссия. После команды '''start_mission''' игра полностью загружает тело миссии в отдельную область памяти, после чего начинает работать с ним как с обычным потоком из майна. Все сказанное по поводу опкодов, выражений и меток в майне действительно и для миссий. Миссия как и обычный поток заканчивается командой '''end_thread'''. <br />
<br />
Все миссии в исходном файле должны идти в той же последовательности, что и в заголовке файла. Миссия должна идти одним блоком, не допускается вложение части одной миссии в тело другой.<br />
<br />
==Внешние скрипты==<br />
<br />
Игра San Andreas также использует внешние скрипты, которые вставляются в исходник сразу после всех миссий. Таким образом началом данного блока является конец блока миссий. Там должна стоять метка первого внешнего скрипта (если таковые используются). Обычно там стоит комментарий<br />
<br />
<source lang="scm">//-------------External script 0 (PLAYER_PARACHUTE)---------------.</source><br />
<br />
Внешний скрипт представляет собой обычный поток со своими опкодами, выражениями и метками. Этот поток загружается в отдельную область памяти.<br />
<br />
См. также [[Внешние скрипты]].<br />
<br />
'''Материал взят из справки к [[Sanny Builder]].'''<br />
<br />
[[Категория:GTA 3]][[Категория:GTA VC]][[Категория:GTA SA]][[Категория:GTA LCS]][[Категория:GTA VCS]][[Категория: Форматы файлов]][[Категория:Скриптинг]]</div>Seemannhttp://gtamodding.ru/wiki/Main.scmMain.scm2010-08-30T20:37:11Z<p>Seemann: Перенаправление на SCM</p>
<hr />
<div>#REDIRECT [[SCM]]</div>Seemannhttp://gtamodding.ru/wiki/GXT_(GTA_4)GXT (GTA 4)2010-08-30T20:35:17Z<p>Seemann: </p>
<hr />
<div>Бинарные файлы с расширением <code>.gxt</code> используются для хранения текстовых строк на разных языках (для каждого языка свой файл). В упрощённом виде файл состоит из нескольких таблиц, которые содержат наборы пар ключ=значение.<br />
<br />
Формат <code>.gxt</code> файлов для GTA 4 идентичен [[GXT (SA)|формату файлов для GTA San Andreas]]. Основное отличие состоит в алгоритме вычисления хэша строки, а также в длине и наборе символов в идентификаторах.<br />
<br />
==Алгоритм вычисления хэша строки==<br />
<br />
Для вычисления хэша используется следующая разновидность алгоритма [http://en.wikipedia.org/wiki/Hash_table#Choosing_a_good_hash_function Jenkins One-at-a-time hash]:<br />
<source lang="cpp"><br />
DWORD GetHash(char *szKeyName)<br />
{<br />
DWORD hash = 0;<br />
BOOL bQuote = FALSE;<br />
char ch;<br />
if(*szKeyName == '"')<br />
{<br />
bQuote = TRUE;<br />
szKeyName++;<br />
}<br />
ch = *szKeyName;<br />
while(ch != '\0')<br />
{<br />
if(bQuote != FALSE)<br />
{<br />
if(ch == '"')<br />
break;<br />
}<br />
if((ch >= 'A') && (ch <= 'Z')) // make lowercase<br />
ch += 0x20;<br />
else if(ch == '\\')<br />
ch = '/';<br />
hash = (hash + (ch)) * 1025; // 0x0401<br />
hash = hash ^ (hash >> 6);<br />
szKeyName++;<br />
ch = *szKeyName;<br />
}<br />
hash *= 9;<br />
hash = ((hash >> 11) ^ hash) * 32769; // 0x8001<br />
return hash;<br />
}<br />
</source><br />
Хэш строки вычисляется из идентификатора, представляющего собой ASCIIZ строку переменной длины (предположительно до 32 байт). В идентификаторе допускаются следующие символы: <br />
* заглавные латинские буквы ( A-Z ) <br />
* символ подчеркивания ( _ ) <br />
<br />
Перед вычислением хэша идентификатор приводится к нижнему регистру. <br />
<br />
Примеры идентификаторов:<br />
BLISTA<br />
GERV4_AIDS_86<br />
PB_MISC_02<br />
<br />
==Теги==<br />
В текст GXT можно вставлять различные теги, которые изменяют цвет последующего текста или вставляют различные объекты в текст. Теги отгораживаются с двух сторон знаками ~ (тильда), например: ~INPUT_JUMP~ и состоят из знаков латинского алфавита, цифр и знака подчёркивания.<br />
===Теги вставки скриптовых значений===<br />
{| {{Таблица}} class="collapsible collapsed"<br />
!Тег<br />
!Что вставляет<br />
|-<br />
|~1~<br />
|Вставляет целое число (Скриптовые функции [[PRINT_HELP_FOREVER_WITH_NUMBER]], [[PRINT_HELP_WITH_NUMBER]], [[PRINT_WITH_2_NUMBERS]], [[PRINT_WITH_2_NUMBERS_NOW]], [[PRINT_WITH_NUMBER]], [[PRINT_WITH_NUMBER_BIG]], [[PRINT_WITH_NUMBER_NOW]] и др.)<br />
|-<br />
|~a~<br />
|Вставляет GXT-строку (Скриптовые функции [[PRINT_HELP_FOREVER_WITH_STRING]], [[PRINT_HELP_FOREVER_WITH_STRING_NO_SOUND]], [[PRINT_HELP_WITH_STRING]], [[PRINT_HELP_WITH_STRING_NO_SOUND]], [[PRINT_STRING_IN_STRING]], [[PRINT_STRING_IN_STRING_NOW]] и др.)<br />
|-<br />
|~e~<br />
|Вставляет литеральную строку (Скриптовые функции [[PRINT_STRING_WITH_LITERAL_STRING_NOW]] и др.)<br />
|}<br />
===Теги изменения цвета===<br />
{| {{Таблица}} class="collapsible collapsed"<br />
!Цвет<br />
!Тег<br />
!Примечание<br />
|-<br />
|bgcolor=#336972|<br />
|~b~<br />
|Имя друга или машина<br />
|-<br />
|bgcolor=#8C8C8C|<br />
|~c~<br />
|На другом языке<br />
|-<br />
|bgcolor=#577C58|<br />
|~g~<br />
|Предмет<br />
|-<br />
|bgcolor=#82BA84|<br />
|~h~<br />
|Выделение слов<br />
|-<br />
|bgcolor=#000000|<br />
|~l~<br />
|<br />
|-<br />
|bgcolor=#646464|<br />
|~m~<br />
|<br />
|-<br />
|bgcolor=#986F9E|<br />
|~p~<br />
|<br />
|-<br />
|bgcolor=#994545|<br />
|~r~<br />
|Враг<br />
|-<br />
|bgcolor=#E1E1E1|<br />
|~s~<br />
|Обычный цвет<br />
|-<br />
|bgcolor=#E1E1E1|<br />
|~w~<br />
|Обычный цвет<br />
|-<br />
|bgcolor=#D7C579|<br />
|~y~<br />
|Название места<br />
|-<br />
|bgcolor=#E66E00|<br />
|~COL_NET_1~<br />
|<br />
|-<br />
|bgcolor=#8000D2|<br />
|~COL_NET_2~<br />
|<br />
|-<br />
|bgcolor=#09AF00|<br />
|~COL_NET_3~<br />
|<br />
|-<br />
|bgcolor=#B41D00|<br />
|~COL_NET_4~<br />
|<br />
|-<br />
|bgcolor=#B96363|<br />
|~COL_NET_5~<br />
|<br />
|-<br />
|bgcolor=#904F15|<br />
|~COL_NET_6~<br />
|<br />
|-<br />
|bgcolor=#29978B|<br />
|~COL_NET_7~<br />
|<br />
|-<br />
|bgcolor=#96FFFF|<br />
|~COL_NET_8~<br />
|<br />
|-<br />
|bgcolor=#D8CF82|<br />
|~COL_NET_9~<br />
|<br />
|-<br />
|bgcolor=#036448|<br />
|~COL_NET_10~<br />
|<br />
|-<br />
|bgcolor=#4338A5|<br />
|~COL_NET_11~<br />
|<br />
|-<br />
|bgcolor=#BD99E9|<br />
|~COL_NET_12~<br />
|<br />
|-<br />
|bgcolor=#C46E44|<br />
|~COL_NET_13~<br />
|<br />
|-<br />
|bgcolor=#ACBF19|<br />
|~COL_NET_14~<br />
|<br />
|-<br />
|bgcolor=#70662E|<br />
|~COL_NET_15~<br />
|<br />
|-<br />
|bgcolor=#891C67|<br />
|~COL_NET_16~<br />
|<br />
|}<br />
===Теги вставки изображений===<br />
В GTA4 в текст можно вставить значки радара тегом ~BLIP_НомерЗначка~, например тег ~BLIP_74~ вставит в текст значок радара [[Изображение:radar_michelle.png|24px|Мишель]]. Номера значков можно узнать из статьи [[Иконки радара]].<br />
===Теги кнопок геймпада===<br />
В ПК-версии осталась возможность вставлять в текст значки кнопок геймпада Xbox360:<br />
{| {{Таблица}} class="collapsible collapsed"<br />
!Рисунок<br />
!Тег<br />
!Описание<br />
!В ПК-версии<br />
|-<br />
|[[Изображение:a_butt.png]]<br />
|~PAD_A~<br />
|Кнопка A<br />
|Да<br />
|-<br />
|[[Изображение:b_butt.png]]<br />
|~PAD_B~<br />
|Кнопка B<br />
|Да<br />
|-<br />
|[[Изображение:x_butt.png]]<br />
|~PAD_X~<br />
|Кнопка X<br />
|Заменяется на кл. ПРОБЕЛ<br />
|-<br />
|[[Изображение:y_butt.png]]<br />
|~PAD_Y~<br />
|Кнопка Y<br />
|Заменяется на кл. F<br />
|-<br />
|[[Изображение:lstick_all.png]]<br />
|~PAD_LSTICK_ALL~<br />
|Левый стик<br />
|Заменяется на кл. W S A D<br />
|-<br />
|[[Изображение:lstick_leftright.png]]<br />
|~PAD_LSTICK_LEFTRIGHT~ или ~PAD_LSTICK_LEFTRIGHT_VEH~<br />
|Левый стик вправо-влево<br />
|Заменяется на кл. A D<br />
|-<br />
|[[Изображение:lstick_updown.png]]<br />
|~PAD_LSTICK_UPDOWN~<br />
|Левый стик вверх-вниз<br />
|Заменяется на кл. W S<br />
|-<br />
|[[Изображение:lstick_left.png]]<br />
|~PAD_LSTICK_LEFT~<br />
|Левый стик влево<br />
|Заменяется на кл. A<br />
|-<br />
|[[Изображение:lstick_right.png]]<br />
|~PAD_LSTICK_RIGHT~<br />
|Левый стик вправо<br />
|Заменяется на кл. D<br />
|-<br />
|[[Изображение:lstick_up.png]]<br />
|~PAD_LSTICK_UP~<br />
|Левый стик вверх<br />
|Заменяется на кл. W<br />
|-<br />
|[[Изображение:lstick_down.png]]<br />
|~PAD_LSTICK_DOWN~<br />
|Левый стик вниз<br />
|Заменяется на кл. S<br />
|-<br />
|[[Изображение:lstick_none.png]]<br />
|~PAD_LSTICK_NONE~<br />
|Левый стик ничего<br />
|Заменяется на кл. W S A D<br />
|-<br />
|[[Изображение:rstick_all.png]]<br />
|~PAD_RSTICK_ALL~<br />
|Правый стик во все стороны<br />
|Заменяется на кл. МЫШЬ<br />
|-<br />
|[[Изображение:rstick_leftright.png]]<br />
|~PAD_RSTICK_LEFTRIGHT~<br />
|Правый стик влево-вправо<br />
|Заменяется на кл. МЫШЬ<br />
|-<br />
|[[Изображение:rstick_updown.png]]<br />
|~PAD_RSTICK_UPDOWN~<br />
|Правый стик вверх-вниз<br />
|Заменяется на кл. МЫШЬ<br />
|-<br />
|[[Изображение:rstick_updown.png]]<br />
|~PAD_RSTICK_UPDOWN_ONLY~<br />
|<br />
|Да<br />
|-<br />
|[[Изображение:rstick_left.png]]<br />
|~PAD_RSTICK_LEFT~<br />
|Правый стик влево<br />
|Да<br />
|-<br />
|[[Изображение:rstick_right.png]]<br />
|~PAD_RSTICK_RIGHT~<br />
|Правый стик вправо<br />
|Да<br />
|-<br />
|[[Изображение:rstick_up.png]]<br />
|~PAD_RSTICK_UP~<br />
|Правый стик вверх<br />
|Да<br />
|-<br />
|[[Изображение:rstick_down.png]]<br />
|~PAD_RSTICK_DOWN~<br />
|Правый стик вниз<br />
|Да<br />
|-<br />
|[[Изображение:rstick_none.png]]<br />
|~PAD_RSTICK_NONE~<br />
|Правый стик ничего<br />
|Заменяется на кл. МЫШЬ<br />
|-<br />
|[[Изображение:dpad_all.png]]<br />
|~PAD_DPAD_ALL~<br />
|Крестовина во все стороны<br />
|Заменяется на кл. [[Изображение:arrow_up_pc.png|20px]][[Изображение:arrow_down_pc.png|20px]][[Изображение:arrow_left_pc.png|20px]][[Изображение:arrow_right_pc.png|20px]]<br />
|-<br />
|[[Изображение:dpad_leftright.png]]<br />
|~PAD_DPAD_LEFTRIGHT~<br />
|Крестовина влево-вправо<br />
|Заменяется на кл. [[Изображение:arrow_left_pc.png|20px]][[Изображение:arrow_right_pc.png|20px]]<br />
|-<br />
|[[Изображение:dpad_updown.png]]<br />
|~PAD_DPAD_UPDOWN~<br />
|Крестовина вверх-вниз<br />
|Заменяется на кл. [[Изображение:arrow_up_pc.png|20px]][[Изображение:arrow_down_pc.png|20px]]<br />
|-<br />
|[[Изображение:dpad_left.png]]<br />
|~PAD_DPAD_LEFT~<br />
|Крестовина влево<br />
|Заменяется на кл. [[Изображение:arrow_left_pc.png|20px]]<br />
|-<br />
|[[Изображение:dpad_right.png]]<br />
|~PAD_DPAD_RIGHT~<br />
|Крестовина вправо<br />
|Заменяется на кл. [[Изображение:arrow_right_pc.png|20px]]<br />
|-<br />
|[[Изображение:dpad_up.png]]<br />
|~PAD_DPAD_UP~<br />
|Крестовина вверх<br />
|Заменяется на кл. [[Изображение:arrow_up_pc.png|20px]]<br />
|-<br />
|[[Изображение:dpad_down.png]]<br />
|~PAD_DPAD_DOWN~<br />
|Крестовина вниз<br />
|Заменяется на кл. [[Изображение:arrow_down_pc.png|20px]]<br />
|-<br />
|[[Изображение:dpad_none.png]]<br />
|~PAD_DPAD_NONE~<br />
|Крестовина ничего<br />
|Да<br />
|-<br />
|[[Изображение:back_butt.png]]<br />
|~PAD_BACK~<br />
|Назад<br />
|Заменяется на кл. V<br />
|-<br />
|[[Изображение:start_butt.png]]<br />
|~PAD_START~<br />
|Старт<br />
|Заменяется на кл. ESC<br />
|-<br />
|[[Изображение:lt_butt.png]]<br />
|~PAD_LT~<br />
|Левый шифт<br />
|Да<br />
|-<br />
|[[Изображение:lb_butt.png]]<br />
|~PAD_LB~<br />
|Левый шифт<br />
|Заменяется на кл. E<br />
|-<br />
|[[Изображение:rt_butt.png]]<br />
|~PAD_RT~<br />
|Правый шифт<br />
|Да<br />
|-<br />
|[[Изображение:rb_butt.png]]<br />
|~PAD_RB~<br />
|Правый шифт<br />
|Заменяется на кл. Q<br />
|-<br />
|[[Изображение:left_arrow.png]]<br />
|~PAD_LEFT~<br />
|Влево(?)<br />
|Да?<br />
|-<br />
|[[Изображение:right_arrow.png]]<br />
|~PAD_RIGHT~<br />
|Вправо(?)<br />
|Да?<br />
|-<br />
|[[Изображение:up_arrow.png]]<br />
|~PAD_UP~<br />
|Вверх(?)<br />
|Да?<br />
|-<br />
|[[Изображение:down_arrow.png]]<br />
|~PAD_DOWN~<br />
|Вниз(?)<br />
|Да?<br />
|}<br />
===Теги игровых клавиш===<br />
{{Шаблон:Заготовка}}<br />
{| {{Таблица}} class="collapsible collapsed"<br />
!Тег<br />
!Функция<br />
!Клавиша по умолчанию<br />
|-<br />
|~INPUT_AIM~<br />
|Прицелиться<br />
|ПКМ<br />
|-<br />
|~INPUT_ATTACK~<br />
|Атаковать<br />
|ЛКМ<br />
|-<br />
|~INPUT_COVER~<br />
|В укрытие<br />
|Q<br />
|-<br />
|~INPUT_DROP_WEAPON~<br />
|Бросить(?) оружие<br />
|R<br />
|-<br />
|~INPUT_DUCK~<br />
|Присесть, нагнуться<br />
|Левый CTRL<br />
|-<br />
|~INPUT_ENTER~<br />
|Enter<br />
|F<br />
|-<br />
|~INPUT_FE_REPLAY_PREVIEW~<br />
|<br />
|Пробел<br />
|-<br />
|~INPUT_FE_REPLAY_TOGGLETIME~<br />
|<br />
|C<br />
|-<br />
|~INPUT_FE_REPLAY_TOGGLETIPS~<br />
|<br />
|V<br />
|-<br />
|~INPUT_FREE_AIM~<br />
|<br />
|ПКМ<br />
|-<br />
|~INPUT_FRONTEND_ACCEPT~<br />
|<br />
|Enter<br />
|-<br />
|~INPUT_FRONTEND_APPLY~<br />
|<br />
|Пробел<br />
|-<br />
|~INPUT_FRONTEND_AXIS_BACK~<br />
|<br />
|S<br />
|-<br />
|~INPUT_FRONTEND_AXIS_FWD~<br />
|<br />
|W<br />
|-<br />
|~INPUT_FRONTEND_AXIS_LEFT~<br />
|<br />
|A<br />
|-<br />
|~INPUT_FRONTEND_AXIS_RIGHT~<br />
|<br />
|D<br />
|-<br />
|~INPUT_FRONTEND_CANCEL~<br />
|<br />
|Backspace<br />
|-<br />
|~INPUT_FRONTEND_CUT~<br />
|<br />
|CTRL+X<br />
|-<br />
|~INPUT_FRONTEND_COPY~<br />
|<br />
|CTRL+C<br />
|-<br />
|~INPUT_FRONTEND_PASTE~<br />
|<br />
|CTRL+V<br />
|-<br />
|~INPUT_FRONTEND_DELETE_FILTER~<br />
|<br />
|DEL<br />
|-<br />
|~INPUT_FRONTEND_UP~<br />
|<br />
|[[Изображение:arrow_up_pc.png|20px]]<br />
|-<br />
|~INPUT_FRONTEND_DOWN~<br />
|<br />
|[[Изображение:arrow_down_pc.png|20px]]<br />
|-<br />
|~INPUT_FRONTEND_F6~<br />
|<br />
|F6<br />
|-<br />
|~INPUT_FRONTEND_LB~<br />
|<br />
|E<br />
|-<br />
|~INPUT_FRONTEND_LEGEND~<br />
|<br />
|Tab<br />
|-<br />
|~INPUT_FRONTEND_LOCK_LOBBY~<br />
|<br />
|Левый Shift<br />
|-<br />
|~INPUT_FRONTEND_LT~<br />
|<br />
|Колёсико вниз<br />
|-<br />
|~INPUT_FRONTEND_MARKER_DELETE~<br />
|<br />
|Del<br />
|-<br />
|~INPUT_FRONTEND_MINIGAME_1~<br />
|<br />
|1<br />
|-<br />
|~INPUT_FRONTEND_MINIGAME_2~<br />
|<br />
|2<br />
|-<br />
|~INPUT_FRONTEND_MINIGAME_3~<br />
|<br />
|3<br />
|-<br />
|~INPUT_FRONTEND_MINIGAME_4~<br />
|<br />
|4<br />
|-<br />
|~INPUT_FRONTEND_MODEL_SCREEN~<br />
|<br />
|M<br />
|-<br />
|~INPUT_FRONTEND_PAUSE~<br />
|<br />
|ESC<br />
|-<br />
|~INPUT_FRONTEND_PLAYER_LIST~<br />
|<br />
|P<br />
|-<br />
|~INPUT_FRONTEND_RB~<br />
|<br />
|Q<br />
|-<br />
|~INPUT_FRONTEND_REFRESH~<br />
|<br />
|F5<br />
|-<br />
|~INPUT_FRONTEND_REPLAY_ADVANCE~<br />
|<br />
|[[Изображение:arrow_up_pc.png|20px]]<br />
|-<br />
|~INPUT_FRONTEND_REPLAY_BACK~<br />
|<br />
|[[Изображение:arrow_down_pc.png|20px]]<br />
|-<br />
|~INPUT_FRONTEND_REPLAY_CYCLEMARKERLEFT~<br />
|<br />
|,<br />
|-<br />
|~INPUT_FRONTEND_REPLAY_CYCLEMARKERRIGHT~<br />
|<br />
|.<br />
|-<br />
|~INPUT_FRONTEND_REPLAY_FFWD~<br />
|<br />
|[[Изображение:arrow_right_pc.png|20px]]<br />
|-<br />
|~INPUT_FRONTEND_REPLAY_HIDEHUD~<br />
|<br />
|H<br />
|-<br />
|~INPUT_FRONTEND_REPLAY_NEWMARKER~<br />
|<br />
|M<br />
|-<br />
|~INPUT_FRONTEND_REPLAY_PAUSE~<br />
|<br />
|Пробел<br />
|-<br />
|~INPUT_FRONTEND_REPLAY_RESTART~<br />
|<br />
|B<br />
|-<br />
|~INPUT_FRONTEND_REPLAY_REWIND~<br />
|<br />
|[[Изображение:arrow_left_pc.png|20px]]<br />
|-<br />
|~INPUT_FRONTEND_REPLAY_SCREENSHOT~<br />
|<br />
|U<br />
|-<br />
|~INPUT_FRONTEND_REPLAY_SHOWHOTKEY~<br />
|<br />
|K<br />
|-<br />
|~INPUT_FRONTEND_REPLAY_TOOLS~<br />
|<br />
|T<br />
|-<br />
|~INPUT_FRONTEND_RT~<br />
|<br />
|Колёсико вверх<br />
|-<br />
|~INPUT_FRONTEND_VEHICLE_TOGGLE~<br />
|<br />
|V<br />
|-<br />
|~INPUT_FRONTEND_X~<br />
|<br />
|Пробел<br />
|-<br />
|~INPUT_FRONTEND_Y~<br />
|<br />
|F<br />
|-<br />
|~INPUT_JUMP~<br />
|<br />
|Пробел<br />
|-<br />
|~INPUT_KB_DOWN~<br />
|<br />
|[[Изображение:arrow_down_pc.png|20px]]<br />
|-<br />
|~INPUT_KB_LEFT~<br />
|<br />
|[[Изображение:arrow_left_pc.png|20px]]<br />
|-<br />
|~INPUT_KB_RIGHT~<br />
|<br />
|[[Изображение:arrow_right_pc.png|20px]]<br />
|-<br />
|~INPUT_KB_UP~<br />
|<br />
|[[Изображение:arrow_up_pc.png|20px]]<br />
|-<br />
|~INPUT_MELEE_ATTACK1~<br />
|<br />
|ЛКМ<br />
|-<br />
|~INPUT_MELEE_ATTACK2~<br />
|<br />
|R<br />
|-<br />
|~INPUT_MELEE_ATTACK3~<br />
|<br />
|ESC<br />
|-<br />
|~INPUT_MELEE_BLOCK~<br />
|<br />
|Пробел<br />
|-<br />
|~INPUT_MELEE_KICK~<br />
|<br />
|Q<br />
|-<br />
|~INPUT_MOUSE_LMB~<br />
|<br />
|ЛКМ<br />
|-<br />
|~INPUT_MOUSE_RMB~<br />
|<br />
|ПКМ<br />
|-<br />
|~INPUT_MOUSE_UD~<br />
|<br />
|Мышь<br />
|-<br />
|~INPUT_MOUSE_WHEEL_DOWN~<br />
|<br />
|Колёсико вниз<br />
|-<br />
|~INPUT_MOUSE_WHEEL_UP~<br />
|<br />
|Колёсико вверх<br />
|-<br />
|~INPUT_MOVE_LEFT~<br />
|<br />
|[[Изображение:lstick_leftright.png|20px]]<br />
|-<br />
|~INPUT_NEXT_CAMERA~<br />
|<br />
|V<br />
|-<br />
|~INPUT_NEXT_TRACK~<br />
|<br />
|N<br />
|-<br />
|~INPUT_NEXT_WEAPON~<br />
|<br />
|Колёсико вверх<br />
|-<br />
|~INPUT_PHONE_ACCEPT~<br />
|<br />
|Enter<br />
|-<br />
|~INPUT_PHONE_CANCEL~<br />
|<br />
|Backspace<br />
|-<br />
|~INPUT_PHONE_PUT_AWAY~<br />
|<br />
|Scroll Lock<br />
|-<br />
|~INPUT_PHONE_TAKE_OUT~<br />
|<br />
|[[Изображение:arrow_up_pc.png|20px]]<br />
|-<br />
|~INPUT_PICKUP~<br />
|<br />
|E<br />
|-<br />
|~INPUT_PREV_TRACK~<br />
|<br />
|B<br />
|-<br />
|~INPUT_PREV_WEAPON~<br />
|<br />
|Колёсико вниз<br />
|-<br />
|~INPUT_RELOAD~<br />
|<br />
|R<br />
|-<br />
|~INPUT_REPLAY_SAVE_TO_HDD~<br />
|<br />
|F2<br />
|-<br />
|~INPUT_SNIPER_ZOOM_IN_ALTERNATE~<br />
|<br />
|Колёсико вверх<br />
|-<br />
|~INPUT_SNIPER_ZOOM_IN~<br />
|<br />
|Колёсико вверх<br />
|-<br />
|~INPUT_SNIPER_ZOOM_OUT_ALTERNATE~<br />
|<br />
|Колёсико вниз<br />
|-<br />
|~INPUT_SNIPER_ZOOM_OUT~<br />
|<br />
|Колёсико вниз<br />
|-<br />
|~INPUT_SPRINT~<br />
|<br />
|Левый Shift<br />
|-<br />
|~INPUT_TEXT_CHAT_RESULTS_TOGGLE~<br />
|<br />
|C<br />
|-<br />
|~INPUT_TEXT_CHAT_Y~<br />
|<br />
|Y<br />
|-<br />
|~INPUT_TURN_OFF_RADIO~<br />
|<br />
|X<br />
|-<br />
|~INPUT_VEH_ACCELERATE~<br />
|<br />
|W<br />
|-<br />
|~INPUT_VEH_ATTACK~<br />
|<br />
|ЛКМ<br />
|-<br />
|~INPUT_VEH_ATTACK2~<br />
|<br />
|ЛКМ<br />
|-<br />
|~INPUT_VEH_BRAKE~<br />
|<br />
|S<br />
|-<br />
|~INPUT_VEH_CIN_CAM~<br />
|<br />
|Caps Lock<br />
|-<br />
|~INPUT_VEH_EXIT~<br />
|<br />
|F<br />
|-<br />
|~INPUT_VEH_FLY_PITCH_DOWN~<br />
|<br />
|Цифр. кл. "2"<!--Не поправлять! Это оригинал--><br />
|-<br />
|~INPUT_VEH_FLY_PITCH_UP~<br />
|<br />
|Цифр. кл. "8"<br />
|-<br />
|~INPUT_VEH_FLY_ROLL_LEFT~<br />
|<br />
|A<br />
|-<br />
|~INPUT_VEH_FLY_ROLL_RIGHT~<br />
|<br />
|D<br />
|-<br />
|~INPUT_VEH_FLY_THROTTLE_DOWN~<br />
|<br />
|S<br />
|-<br />
|~INPUT_VEH_FLY_THROTTLE_UP~<br />
|<br />
|W<br />
|-<br />
|~INPUT_VEH_FLY_YAW_LEFT~<br />
|<br />
|Цифр. кл. "4"<br />
|-<br />
|~INPUT_VEH_FLY_YAW_RIGHT~<br />
|<br />
|Цифр. кл. "6"<br />
|-<br />
|~INPUT_VEH_HANDBRAKE_ALT~<br />
|<br />
|[[Изображение:a_butt.png|20px]]<br />
|-<br />
|~INPUT_VEH_HANDBRAKE~<br />
|<br />
|Пробел<br />
|-<br />
|~INPUT_VEH_HEADLIGHT~<br />
|<br />
|H<br />
|-<br />
|~INPUT_VEH_HORN~<br />
|<br />
|G<br />
|-<br />
|~INPUT_VEH_HOTWIRE_LEFT~<br />
|<br />
|W<br />
|-<br />
|~INPUT_VEH_HOTWIRE_RIGHT~<br />
|<br />
|S<br />
|-<br />
|~INPUT_VEH_KEY_UD~<br />
|<br />
|[Левый Shift][Левый CTRL]<br />
|-<br />
|~INPUT_VEH_KEY_LR~<br />
|<br />
|[A][D]<br />
|-<br />
|~INPUT_VEH_LOOK_BEHIND~<br />
|<br />
|C<br />
|-<br />
|~INPUT_VEH_LOOK_LEFT~<br />
|<br />
|нет?<br />
|-<br />
|~INPUT_VEH_LOOK_RIGHT~<br />
|<br />
|нет?<br />
|-<br />
|~INPUT_VEH_NEXT_RADIO~<br />
|<br />
|Колёсико вверх<br />
|-<br />
|~INPUT_VEH_NEXT_WEAPON~<br />
|<br />
|Q<br />
|-<br />
|~INPUT_VEH_PREV_RADIO~<br />
|<br />
|Колёсико вниз<br />
|-<br />
|~INPUT_ZOOM_RADAR~<br />
|<br />
|T<br />
|}<br />
===Другие теги===<br />
{{Шаблон:Заготовка}}<br />
* ~z~ - Применяется, если текст - реплика диалога<br />
* ~x~ - Неизвестно. Применяется всегда вместе с ~z~<br />
<br />
== Ссылки ==<br />
* [http://public.sannybuilder.com/GTA4/american.gxt.reversed.rar Список частично расшифрованных хэшей]<br />
{{GTA4-navi}}<br />
<br />
[[Категория: Форматы файлов]]</div>Seemannhttp://gtamodding.ru/wiki/IDE_KillerIDE Killer2010-08-30T20:33:14Z<p>Seemann: </p>
<hr />
<div>{{Карточка программы<br />
| name = IDE Killer<br />
| version = 2.0 <br />
| author = ghost_master2000<br />
| game = [[GTA VC]]<br />
| genre = Очистка игрового пространства [[GTA VC]]<br />
| image = [[Изображение:IDE_Killer2.jpg|250px|IDE Killer 2.0]]<br />
}}<br />
При помощи '''IDE Killer''' можно очистить все игровое пространство игры за несколько секунд. Просто скопируйте в папку с игрой, запустите и подождите несколько секунд. Перестройте (Rebuild) [[IMG|gta3.img]] - все готово. (Не забудьте, что с оригинальным [[main.scm]] игра не пойдет, поэтому киньте чистый main.scm в папку data).<br />
<br />
==Ссылки==<br />
[http://gtamodding.ru/w/images/c/cc/IDE_Killer2.zip Cкачать] (136 КБ)<br />
[[Категория:GTA VC]]</div>Seemannhttp://gtamodding.ru/wiki/Sanny_BuilderSanny Builder2010-08-30T20:30:31Z<p>Seemann: /* Консоль */</p>
<hr />
<div>{{Программа<br />
| version = 3.04<br />
| author = [[Участник:Seemann|Seemann]]<br />
| game = [[GTA 3]], [[GTA VC]], [[GTA SA]],<br>[[GTA LCS]], [[GTA VCS]]<br />
| genre = [[:Категория:Скриптинг|редактор скриптов]]<br />
| site = http://sannybuilder.com<br />
| image = [[Image:SannyBuilder_01.gif|250px|Sanny Builder 3]]<br />
}}<br />
'''Sanny Builder''' &ndash; это быстрая и мощная программа для редактирования скриптов трехмерной серии GTA (GTA3, VC, SA; частично LCS и VCS). <br />
Включает в себя дизассемблер, позволяющий пользователю быстро декомпилировать [[main.scm]] с игровыми скриптами. Автор и разработчик Sanny Builder &ndash; [[User:Seemann|Seemann]].<br />
<br />
== Возможности программы ==<br />
=== Основные возможности ===<br />
* Поддержка всех игр трехмерной серии GTA, кроме [[GTA 4]]. Позволяет декомпилировать и компилировать скрипты для GTA3, GTA VC и GTA SA. Скриптовый формат GTA LCS и GTA VCS поддерживается лишь частично: Sanny Builder поможет только декомпилировать скрипты этих игр;<br />
* В Sanny Builder встроен самый быстрый компилятор среди аналогичных программ;<br />
* Представляет собой удобную интегрированную среду разработки с подсветкой кода;<br />
* Содержит детальную справку, включающую описания и пути разрешения различных run-time ошибок.<br />
<br />
{|{{Таблица}}<br />
!Игра<br />
!Декомпиляция<br />
!Компиляция<br />
|-<br />
|[[Изображение:Gta3.png|16px]] GTA III<br />
|да<br />
|да<br />
|-<br />
|[[Изображение:Vc.png|16px]] GTA VC<br />
|да<br />
|да<br />
|-<br />
|[[Изображение:Sa.png|16px]] GTA SA<br />
|да<br />
|да<br />
|-<br />
|[[Изображение:Lcs.png|16px]] GTA LCS <br />
|да<br />
|нет<br />
|-<br />
|[[Изображение:Vcs.png|16px]] GTA VCS<br />
|да<br />
|нет<br />
|-<br />
|}<br />
<br />
=== Возможности среды программирования ===<br />
Sanny Builder как среда программирования предоставляет пользователю следующие возможности:<br />
<br />
====Подсветка синтаксиса====<br />
Есть возможность раскрашивать в любые цвета параметры опкодов, комментарии, ключевые слова. Набор ключевых слов содержится в файлах <code>keywords.txt</code> и <code>keywords.ini</code>.<br />
<br />
====Быстрый переход по тексту====<br />
Для этого есть два способа: <br />
<br />
#Установить на нужной строке маркер комбинацией клавиш <code>Ctrl + Shift + <0..9></code>, а затем быстро перейти к этой строке комбинацией <code>Ctrl + <0..9></code>. Удалить все маркеры можно через меню <code>Правка -> Удалить закладки</code><br />
#Через опцию <code>Перейти...</code>. Она вызывается комбинацией <code>Ctrl+G</code>. Вводите порядковый номер нужной строки, и редактор быстро переместит Вас к ней.<br />
<br />
====Быстрый переход по меткам====<br />
Для этого установите курсор на какой-либо метке, например '''[color=green]@MyLabel[/color]'''. Нажмите <code>Ctrl+Num2</code> и редактор переместит курсор к строке с этой меткой ([color=green]''':MyLabel'''[/color]). Вернуться обратно можно нажатием <code>Ctrl+Num8</code>. Также можно исследовать переходы (jumps). Для этого установите курсор на метку (например, [color=green]'''@MyLabel'''[/color]) и нажмите <code>Ctrl+Num4</code> для перехода на строку с другим переходом на эту же метку, находящуюся выше. Или <code>Ctrl+Num6</code> на переход, находящийся ниже. Если больше таких переходов нет, то позиция курсора меняться не будет.<br />
<br />
====Показ различной информации о текущем опкоде====<br />
Сейчас реализован вывод количества параметров опкода и, если курсор находится над именем модели, цифрового значения модели (только для моделей из IDE - файлов и только когда определена директория [[San Andreas]]). <br />
<br />
Конвертирование исходников из SAMB <br />
<br />
В текущей версии поддерживается формат <code>SAMB 0.33</code>. <br />
Для конвертации откройте файл в Sanny Builder и выберите пункт меню <code>Сервис->Конвертация->MB->SB</code>. <br />
<br />
Также можно конвертировать отдельный, выделенный участок кода. <br />
<br />
Внимание: при конвертировании используется файл <code>MB.ini</code>, в котором содержатся текстовые имена переменных и значения адресов памяти. Если Вы добавляли свои переменные в файл <code>variables.ini</code> в <code>SAMB 0.33</code>, используйте его (переименовав в файл <code>MB.ini</code>).<br />
<br />
====Подбор опкодов====<br />
Напишите часть опкода (например '''fade''') и нажмите '''F1'''. Программа из файла <code>opcodes.txt</code> выберет первую строку с этим словом. <source lang="scm">0169: set_fade_color 0 0 0</source><br />
<br />
Если Вам нужен другой опкод с этим словом, нажмите '''F1''' нужное количество раз.<br />
Вы можете составить свой список опкодов из текущего исходника через опцию <code>Сервис->Построить opcodes.txt</code>.<br />
<br />
====Чтение координат и угла разворота игрока====<br />
Нажмите <code>Ctrl+Alt+1</code>, когда запущен SA, и появится окно менеджера.<br />
Здесь вы можете установить новые координаты и угол разворота и скопировать текущие.<br />
В верхнем поле ввода вы можете указать сразу 3 координаты, разделив их пробелом или ",".<br />
Также вы можете быстро вставить координаты игрока в текст комбинацией <code>Ctrl+Shift+C</code>. Вставка угла разворота (<code>z_angle</code>) в текст производится нажатием <code>Ctrl+Shift+E</code>.<br />
<br />
====Поддержка макросов====<br />
Иногда скриптеру необходимо писать одни и те же строки кода, например для загрузки моделей. Чтобы сократить время написания такого кода, вы можете вызвать специальный макрос, который вставит в редактор нужный код. Для этого напишите ключевое слово, соответствующее этому макросу, например ''load'' и нажмите '''F2'''. В редакторе появится код<br />
<br />
<source lang="scm">#.Load<br />
<br />
while not #.Available<br />
wait 0<br />
end</source><br />
<br />
Вам останется только написать нужное имя модели в качестве параметра.<br />
<br />
Список используемых макросов содержится в файле <code>'macroes.txt'</code>. <br />
Используется следующий синтаксис:<br />
<br />
Имя макроса (ключевое слово) пишется обычной строкой. На этой же строке можно добавить краткое описание макроса. Для этого достаточно поставить знак = (равно), а после добавить описание. Поддерживаются только однострочные описания.<br />
<br />
После строки с именем записывается содержимое макроса, каждая строка обозначается символом =. Место, куда должен быть помещен курсор после вставки обозначается символом |.<br />
<br />
В ходе работы можно вызвать список макросов комбинацией <code>Ctrl+J</code>.<br />
<br />
Также можно добавить свой макрос в файл <code>'macroes.txt'</code> прямо из редактора. Для этого достаточно выделить нужный кусок текста и выбрать меню "<code>Сервис->Добавить макрос</code>". В появившемся диалоговом окне вы должны ввести имя нового макроса (вместе или без описания) и нажать кнопку <code>OK</code>. Новый макрос будет сразу же готов к использованию.<br />
<br />
Также существует возможность создавать свои собственные макросы в ходе работы. По сути редактор будет запоминать нажатия любых клавиш и потом вопроизводить их в том же порядке.<br />
Например, у вас есть код:<br />
<br />
<source lang="scm">$Actor = Actor.Create(CivMale, #MALE01, 100.0, 100.0, 10.0)<br />
$ActorWithGun = Actor.Create(CivMale, #MALE01, 110.0, 100.0, 20.0)<br />
$Gang01 = Actor.Create(CivMale, #MALE01, 120.0, 100.0, 30.0)<br />
$Gang02 = Actor.Create(CivMale, #MALE01, 130.0, 100.0, 40.0)<br />
$Killer = Actor.Create(CivMale, #MALE01, 140.0, 100.0, 50.0)<br />
$ActorWithoutGun = Actor.Create(CivMale, #MALE01, 150.0, 100.0, 60.0) <br />
</source><br />
<br />
Допустим, Вам нужно обменять имена актеров в кажой паре (поставить вместо [color=blue]$Actor $ActorWithGun[/color], а вместо [color=blue]$ActorWithGun[/color] - [color=blue]$Actor[/color] и т.д.) Путем записи макроса можно сократить время написания такого кода.<br />
<br />
Поставьте курсор на первую строку и нажмите <code>Ctrl+M</code>. С этого момента редактор запоминает все нажатия клавиш, так что будьте осторожны.<br />
<br />
#Зажмите <code>Ctrl</code> и нажмите один раз стрелку вправо. <code>Ctrl</code> нужен так как строки разной длины. <br />
#Теперь нажмите <code>Shift+Home</code> и <code>Ctrl+Ins</code>. <br />
#Нажмите стрелку вниз. Вы должны оказаться на второй строке, при этом глобальная переменная будет в буфере обмена. <br />
#Нажмите <code>Ctrl+стрелка вправо</code> и <code>Shift+Ins</code>.<br />
#Нажмите <code>Ctrl+стрелка влево</code>, <code>Shift+Home</code>, <code>Ctrl+Ins</code> и кнопку <code>Delete</code><br />
#Нажмите <code>стрелку вверх</code><br />
#Нажмите <code>Ctrl+Shift+стрелка вправо</code> и <code>Shift+Ins</code><br />
#Нажмите кнопку <code>Home</code>.<br />
<br />
Теперь первые две строки выглядят как<br />
<br />
<source lang="scm">$ActorWithGun = Actor.Create(CivMale, 100.0, 100.0, 10.0)<br />
$Actor = Actor.Create(CivMale, 110.0, 100.0, 20.0)</source><br />
<br />
курсор стоит в начале первой строки. Теперь нажмите <code>Ctrl+M</code><br />
<br />
Макрос записан. Теперь вы можете воспроизводить нажатия клавиш комбинацией <code>Ctrl+P</code>. Установите курсор на 3-ю строку, нажмите <code>Ctrl+P</code> и имена актеров поменяются местами.<br />
<br />
Во время записи макроса можно включить паузу нажатием <code>Ctrl+P</code>. Продолжить запись - <code>Ctrl+P</code>.<br />
<br />
====Замена номеров миссий на их имена====<br />
Sanny Builder допускает использовать вместо номера миссии ее имя. Именем миссии явялется имя ее метки, которая определена в блоке '''DEFINE MISSION'''.<br />
<br />
Например, если у вас есть<br />
<br />
<source lang="scm">DEFINE MISSION 10 AT @MYMISSION</source><br />
<br />
то вы можете использовать вместо <br />
<br />
<source lang="scm">start_mission 10</source><br />
<br />
<br />
<source lang="scm">start_mission MYMISSION</source><br />
<br />
В SB добавлена опция Заменять номера миссий. Когда она включена, декомпилятор автоматически заменяет все номера миссий в коде на их имена. На компилятор эта опция не влияет, он поддерживает оба варианта.<br />
<br />
Эта опция дает возможность безболезненно удалять миссии, не заботясь о переименовывании всех последующих номеров в коде. Все что нужно, это изменить блок '''DEFINE MISSION'''.<br />
<br />
Для дополнительного удобства в строке '''start_mission''' можно вызвать список имен миссий и их номеров нажатием <code>Ctrl+[space]</code>.<br />
<br />
Также можно быстро перейти с имени миссии на нее саму. Переход осуществляется так же, как и переход на метку <br />
<br />
====Многоязычный интерфейс====<br />
Начиная с версии <code>2.98</code> Sanny Builder поддерживает различные варианты перевода интерфейса и сообщений. В стандартной комплектации доступны русскоязычный и англоязычный варианты. Переключить язык можно через опции (<code>F10</code>).<br />
<br />
Информация по созданию своего перевода содержится в файле <code>'lang\How to translate.txt'</code><br />
<br />
====Различные режимы редактирования====<br />
Sanny Builder может редактировать скрипты игр [[GTA3]], [[GTA VC]], [[GTA SA]]. Текущий режим отображается в нижнем правом углу программы.<br />
<br />
Переключить режимы редактирования можно через контекстное меню, которое появляется при клике по названию текущего режима. <br />
<br />
====Меню внешних приложений====<br />
Вы можете добавить в меню Инструменты до 9 внешних приложений, которые будут запускаться когда они вам понадобятся. Каждому приложению можно присвоить комбинацию горячих клавиш и ряд параметров, необходимых для запуска.<br />
<br />
В качестве параметра запускаемого приложения может использоваться специальное слово: <code>$SB_FileName</code>. Оно обозначает имя текущего открытого файла и может быть передано во внешнее приложение.<br />
<br />
====Комментирование кода====<br />
Комментарии обозначаются в коде двойным слешем [color=navy]''//''[/color]<br />
Все, что идет после данного знака до конца строки, игнорируется компилятором. <br />
<br />
Для того чтобы закомментировать несколько строк сразу либо только часть строки (например в середине или начале) вы можете использовать блочные комментарии [color=navy]''{}''[/color]<br />
<br />
<source lang="scm">0001: wait {это игнорируется} 0 ms</source><br />
<br />
Также вы можете закомментировать несколько строк выделив их и нажав <code>Ctrl+Q</code> Для раскоментирования выделите текст и нажмите <code>Ctrl+Q</code> еще раз.<br />
<br />
====Собственные имена для меток====<br />
Вы можете давать меткам собственные имена, которые не будут зависеть от опций декомпилятора. Перечень имен содержится в файле <code>CustomLabels.ini</code> (отдельный для каждой игры). Формат записи следующий:<br />
<br />
<label address>=<custom name><br />
<br />
Если декомпилятор встретит метку по данному адресу, он заменит ее на указанное имя. <br />
<br />
Узнать адрес метки можно включив в опциях формат меток <code>"Смещение от начала"</code>. После декомпиляции файла, число после слова <code>Label</code> и будет адресом метки. <br />
<br />
==Опции программы==<br />
<br />
Опции программы вызываются нажатием кнопки F10. Вы увидите окно, поделенное на 4 части, каждая из которых содержит определенный вид настроек. По умолчанию открывается страница общих настроек.<br />
<br />
===Общие настройки===<br />
<br />
[[Изображение:SB-1.png]]<br />
<br />
Данная страница содержит в основном настройки (де)компилятора.<br />
<br />
[[Изображение:SB-2.png]]<br />
<br />
Работа программы требует использования определенных файлов игры, поэтому вы должны указать корректный путь к папке, куда была установлена игра. Вы можете ввести адрес вручную или выбрать папку через диалог, появляющийся при нажатии кнопки.<br />
<br />
[[Изображение:SB-3.png]]<br />
<br />
Для корректной работы программы ей требуется <code>INI-файл</code>, со списком опкодов. В данном поле вы можете указать путь к данному файлу. При нажатии на кнопку появится диалог выбора файла.<br />
<br />
[[Изображение:SB-4.png]]<br />
<br />
В правой части находится список доступных языков для интерфейса программы. Сами переводы находится в папке <code>lang</code>. Для установки нового языка интерфейса, выберите его в списке.<br />
<br />
Информация о создании новых переводов содержится в файле <code>How to translate.txt</code> в папке <code>lang</code>.<br />
<br />
[[Изображение:SB-5.png]]<br />
<br />
Для удобства работы с SCM-файлами вы можете ассоциировать их с Sanny Builder’ом. <br />
<br />
Когда галочка выбрана, в реестр Windows будут внесены необходимые изменения, и теперь при клике по файлу с расширением .[[scm]] будет автоматически запускаться декомпилятор SB. Для того чтобы прекратить ассоциацию, уберите галочку.<br />
<br />
[[Изображение:SB-6.png]]<br />
<br />
Общий список опций (де)компилятора. В левом столбце находятся опции, сопутствующие процессу работы программы, в правом - конкретные варианты (де)компиляции.<br />
<br />
[U]Перезапись выходного файла[/U]<br />
<br />
При выборе данной опции декомпилятор будет записывать данные в выходной файл, независимо от того, существует он уже или нет. Если опция не выбрана, то при условии существования выходного текстового с таким именем, декомпилятор не будет его перезаписывать, а создаст новый файл, добавив к нему индекс (например, <code>main[0].txt</code>). <br />
<br />
[U]Показывать прогресс[/U]<br />
<br />
При выборе данной опции в процессе работы (де)компилятора в статусбаре будет отображаться текущий прогресс. В противном случае в статусбаре будут слова «Пожалуйста ждите…». Показ прогресса немного замедляет процесс (де)компиляции.<br />
<br />
[U]Показывать отчет[/U]<br />
<br />
При выборе данной опции Sanny Builder будет показывать различную информацию об итогах проделанной декомпиляции либо компиляции.<br />
<br />
[U]Показывать предупреждение[/U]<br />
<br />
Данная опция имеет значение только при компиляции скриптов [[San Andreas]]. Если игра запущена ко время компиляции, то файл <code>script.img</code>, содержащий часть скриптов не сможет быть перезаписан, поскольку игра использует данный файл. Компилятор покажет об этом предупреждение. Вы можете отключить его показ, выбрав данную опцию.<br />
<br />
[U]Ручной выбор IMG-файла[/U]<br />
<br />
При декомпиляции программа ищет файл <code>script.img</code>, содержащий часть игровых скриптов. Если файл не будет найден в одной папке с .[[scm]]-файлом или в папке игры, то будет показана ошибка. Однако при выборе данной опции вы сможете указать [[IMG]]-файл вручную.<br />
<br />
[U]Быстрая загрузка игры[/U]<br />
<br />
Sanny Builder способен пропускать начальные заставки при запуске [[San Andreas]] (F8). Если данная возможность вызывает ошибку в вашей версии игры, отключите данную опцию.<br />
<br />
[U]Проверка условий[/U]<br />
<br />
Данная опция имеет 2 значения. При декомпиляции с включенной данной опцией программа будет заменять [[Кодинг_в_Sanny_Builder_3#Условия|количество условий]] в опкоде '''IF''' на слова '''AND''' и '''OR'''. При компиляции программа будет способна компилировать конструкции '''IF..END''', а также определять параметр для опкода '''IF''' в условиях со словами '''AND''' и '''OR'''.<br />
<br />
[U]Проверка локальных переменных[/U]<br />
<br />
Количество используемых локальных переменных имеет свои лимиты. При включении данной опции компилятор будет проверять правильность их использования.<br />
<br />
[U]Использовать опкоды[/U]<br />
<br />
Данная опция превращает декомпилятор Sanny Builder из высокоуровневого в низкоуровневый и наоборот. При ее выключении декомпилятор будет использовать доступные классы и кейворды, заменяя ими опкоды. Также не будут записываться опкоды для некоторых простых математических выражений. При включении данной опции все опкоды будут записываться в исходник.<br />
<br />
[U]Заменять номера миссий[/U]<br />
<br />
При включении данной опции декомпилятор будет заменять номера миссий в опкоде '''start_mission 0''' на ее имя. Например, '''start_mission INITIAL'''. Имя миссии определяется по имени метки в [[SCM#Заголовок|заголовке файла]]. Его также можно использовать для быстрого перехода к телу миссии.<br />
<br />
[U]Вставлять оригинальные имена миссий[/U]<br />
<br />
Когда данная опция включена, декомпилятор добавляет заранее определенные имена миссий как комментарии к опкоду '''start_mission''', а также к строке '''DEFINE MISSION''' в [[SCM#Заголовок|заголовке файла]].<br />
<br />
[U]Добавлять дополнительную информацию в [[SCM]].[/U]<br />
<br />
При включении данной опции компилятор будет записывать определенную информацию в конец файла <code>main.scm</code>. Эта информация будет потом использоваться при декомпиляции файла для максимального соответствия оригинальному скомпилированному файлу. В конец <code>main.scm</code> записываются позиции конструкций '''hex..end''', имена использованных глобальных переменных и т. п. Обратите внимание, что файл, скомпилированный таким образом нельзя будет декомпилировать в старых версиях SB (кроме случая включения опции '''ignore_unknown'''). <br />
<br />
См. так же "[[Кодинг в Sanny Builder 3]]".<br />
<br />
===Форматирование===<br />
<br />
[[Изображение:SB-7.png]]<br />
<br />
На данной вкладке вы можете настроить имена исходника, форматы меток, регистры идентификаторов.<br />
<br />
[[Изображение:SB-8.png]]<br />
<br />
Здесь вы можете выбрать как будут называться файлы, получаемые после (де)компиляции. В верхнем поле вы указываете путь и имя текстового файла, в который записывается содержимое декомпилируемого файла. В нижних двух – пути и имена бинарных файлов [[SCM]] и [[IMG]], содержащих скомпилированные скрипты. Все поля имеют общий синтаксис. Специальными словами обозначатся часть имени декомпилируемого [[SCM]]-файла (для верхнего поля), либо исходного текстового файла (для нижних двух полей). <br />
<br />
<br />
'''$dir''' – путь к указанному файлу<br />
<br />
'''$name''' – имя файла<br />
<br />
'''$ext''' – его расширение<br />
<br />
'''$game''' – папка игры // game path<br />
<br />
'''$sb''' – папка Sanny Builder // Sanny Builder path<br />
<br />
<br />
Например, если вы декомпилируете файл C:\MyDir\main.scm, то <br />
<br />
'''$dir''' = C:\MyDir; <br />
<br />
'''$name''' = main<br />
<br />
'''$ext''' - .scm<br />
<br />
<br />
Тогда при задании маски <code>$dir\$name.txt</code> декомпилированный исходник получит имя <code>C:\MyDir\main.txt</code> (это будет отображаться в строке под одним из 3-х полей).<br />
<br />
[[Изображение:SB-9.png]]<br />
<br />
В этой части страницы вы можете выбрать как будут именоваться метки при декомпиляции scm-файла. <br />
<br />
Смещение от начала файла: все метки будут иметь числовое имя, например [color=green]'''@12345'''[/color]. Цифра после знака @ будет означать позицию данной метки в декомпилируемом файле.<br />
<br />
Имя потока+смещение от его начала: все метки будут иметь имя потока, в котором они находятся (определяется по опкоду '''name_thread''') плюс дополнительно смещение от начала потока. Например, [color=green]'''@MAIN_12'''[/color]<br />
<br />
Имя потока+смещение от начала файла: данный вариант похож на предыдущий, только после имени потока в метке будет записано ее позиция в файле (как в первом случае). Например, [color=green]@HELP_34567[/color].<br />
<br />
Если вы хотите, чтобы смещения в именах меток были указаны в 16-чном формате, поставьте галочку в соответствующем поле внизу. По умолчанию смещения записываются в десятеричном формате.<br />
<br />
[[Изображение:SB-10.png]]<br />
<br />
Здесь вы можете выбрать будет ли декомпилятор использовать имена отдельных элементов скрипта, определенные пользователем в соответствующих файлах. <br />
<br />
Имена меток содержатся в файле <code>CustomLabels.ini</code> в папке <code>data\<игра></code>. Файл представляет собой список имен меток и их смещений от начала файла. Если данная галочка поставлена, декомпилятор, в случае соответствия позиции метки в файле одной из позиций в данном списке, назовет метку как указано в списке. Содержимое файла <code>CustomLabels.ini</code> содержит смещения для оригинального файла <code>main.scm</code> версии 1.0<br />
<br />
Имена переменных содержатся в файле <code>CustomVariables.ini</code> для каждой игры. Файл представляет собой список оригинальных числовых имен переменных (DMA) и их текстовые эквиваленты. При включении данной опции декомпилятор будет называть переменные указанными именами.<br />
<br />
Имена массивов содержатся в файле <code>CustomArrays.ini</code>. Формат файла следующий: первым числом на строке стоит оригинальное имя переменной – начало массива, затем через пробел количество элементов в массиве – размер, затем текстовое имя. Данная опция предназначена для того, чтобы декомпилятор заменял некоторые идущие подряд глобальные переменные на индексированные переменные.<br />
<br />
<br />
[[Изображение:SB-11.png]]<br />
<br />
Эта опция имеет 2 назначения. Декомпилятор, используя данную опцию, будет именовать глобальные переменные, метки, массивы в указанном регистре букв. Компилятор будет записывать строковые значения в SCM также в указанном регистре.<br />
<br />
===Редактор===<br />
<br />
[[Изображение:SB-12.png]]<br />
<br />
На данной странице вы можете изменить настройки IDE<br />
<br />
[[Изображение:SB-13.png]]<br />
<br />
Данные списки устанавливают цвета различных элементов окна редактора. <br />
'''Активная строка''' – цвет строки, на которой стоит курсор.<br />
'''Отступ''' – цвет левого края редактора.<br />
'''Поле редактора''' – фон текста в редакторе.<br />
<br />
[[Изображение:SB-14.png]]<br />
<br />
Значение глубины просмотра используется при построении списка миссий, меток, переменных и т.п. по нажатию <code>Ctrl+[space]</code>. Число означает количество просматриваемых строк вверх и вниз от той строки, где был вызван список. Если вы поставите число 0, программа будет искать указанные элементы по всему скрипту.<br />
<br />
Также вы можете регулировать автоматическое появление списка. При поставленной галочке, список будет автоматически появляться после набора символа @, $, # и т.д.<br />
<br />
[[Изображение:SB-15.png]]<br />
<br />
Здесь представлены основные опции редактора.<br />
<br />
'''Показывать главную панель''' – вы можете показать/спрятать панель с кнопками в главном окне редактора.<br />
<br />
'''Показывать информацию об опкодах''' – при выборе данной опции редактор будет отображать с статусбаре отдельную информацию об опкоде на текущей строке: число параметров, имя опкода в классе, номер модели, тип переменной и т. д.<br />
<br />
'''Показывать номера строк''' – в левом отступе появятся номера строк.<br />
<br />
'''Показывать границу отступа''' – при выборе этой опции левый отступ будет ограничен с правой стороны. Отключите данную опцию, если вы хотите визуально увеличить пространство редактора.<br />
<br />
'''Открывать при запуске последний файл''' – при выборе данной опции программа при запуске будет открывать последний закрытый файл, если таковой имеется.<br />
<br />
'''Открывать все закрытые файлы''' – вы можете открывать разом все закрытые файлы при запуске. Данная опция может быть выбрана только при включенной опции Открывать при запуске последний файл.<br />
<br />
'''Подтверждать выход''' – при закрытии программы вы должны будете подтвердить выход. Полезно для предупреждения случайного закрытия программы.<br />
<br />
[[Изображение:SB-16.png]]<br />
<br />
Здесь вы можете выбрать шрифт и его настройки для редактора. Sanny Builder поддерживает только пропорциональные шрифты. Строка <code>AaBbCcDd</code> отражает текущие настройки. <br />
<br />
<br />
===Подсветка===<br />
<br />
[[Изображение:SB-17.png]]<br />
<br />
На данной вкладке вы можете выбрать варианты подсветки синтаксиса в окне редактора. <br />
Каждый элемент кода имеет 3 свойства: '''Цвет''', '''Фон''', '''Стиль'''.<br />
<br />
Доступны 3 элемента стиля: '''B''' – ''полужирный'', '''I''' – ''курсив'', '''U''' – [U]подчеркнутый[/U].<br />
<br />
Выбранный вариант подсветки используется также при сохранении кода в формат RTF или HTML.<br />
<br />
Элементы кода:<br />
<br />
Комментарии – текст, находящийся за двойным слешем [color-navy]//[/color] либо между фигурными скобками [color-navy]{}[/color]. <br />
<br />
Метки – идентификаторы, начинающиеся с символа [color=green]'''@'''[/color]. <br />
<br />
Переменные - – идентификаторы, начинающиеся с символа [color=blue]$[/color] (глобальные), а также заканчивающиеся символом [color=blue]@[/color] (локальные). Также к переменным приравнивается тип aDMA (начинается c [color=blue]&[/color]) и массивы.<br />
<br />
Кейворды – специальные слова, записанные в файле <code>keywords.ini</code> (общий для всех) и <codekeywords.txt (свой для каждой игры).<br />
<br />
'''Числа''' – целые и дробные числа.<br />
<br />
'''Строки''' – текст между символами [color=red]“…”[/color] и [color=red]‘…’[/color].<br />
<br />
'''Модели''' - идентификаторы, начинающиеся с символа [color=brown]#[/color]. <br />
<br />
'''Классы''' – часть класса, идентификатор стоящий перед знаком точки.<br />
<br />
'''Команды''' - часть класса, идентификатор стоящий после знака точки.<br />
<br />
'''Директивы''' – идентификаторы, заключенные в фигурные скобки и начинающиеся с [color=green]$[/color]<br />
<br />
<br />
==Консоль==<br />
<br />
Назначение консоли в Sanny Builder’е – переключение особых опций программы (в первую очередь (де)компилятора). Консоль вызывается нажатием <code>Ctrl + ~</code>. В поле ввода внизу вы можете писать команды и параметры. После набора команды нажмите Enter. Результат работы будет отображаться в поле консоли.<br />
<br />
Команды нечувствительны к регистру, поэтому вы можете набирать их в любом удобном регистре букв.<br />
<br />
Список поддерживаемых команд:<br />
<br />
'''help''' – при вводе команды ''help'' откроется окно справки о командах консоли.<br />
<br />
'''clear''' – очищает поле консоли<br />
<br />
'''list''' – команда ''list'' выводит в консоли список всех поддерживаемых команд.<br />
<br />
Дополнительный параметр:<br />
'''list options''' – при наборе слов ''list options'' в консоли появится список всех возможных опций для переключения. См. команду ''toggle''.<br />
<br />
'''toggle''' – основная команда для переключения опций программы.<br />
<br />
Дополнительный параметр:<br />
'''toggle <имя опции> [on/off]''' <br />
Список опций может меняться в разных версиях. Для получения всех возможных опций наберите ''list options''. <br />
<br />
После имени опции может стоять либо слово '''ON''' (тогда опция будет включена), либо слово '''OFF''' (опция будет выключена), либо ничего (тогда опция будет переключена на другое состояние – с '''ON''' на '''OFF''' или наоборот).<br />
<br />
{| {{Таблица}}<br />
!Игра<br />
!Декомпиляция<br />
|-<br />
|'''toggle CODE_OFFSETS''' <br />
|при включении этой опции декомпилятор будет печатать оффсеты для каждого опкода.<br />
|-<br />
|'''toggle VAR_COUNTER'''<br />
|при включении данной опции после компиляции исходника в поле консоли будет выведен список глобальных переменных, которые использовались в коде только раз. Очень полезно при поиске ненужных переменных. <br />
|-<br />
|'''toggle IGNORE_UNKNOWN''' <br />
|при включении это опции декомпилятор будет пропускать весь неизвестный ему код. Это поможет декомпилировать поврежденные или защищенные scm-файлы.<br />
|-<br />
|'''toggle CONSTANT_INDEXES'''<br />
|декомпилятор будет записывать идущие подряд глобальные переменные как массив, используя числовые константы. Например <br />
<br />
{| {{Таблица}}<br />
!Было<br />
!Стало<br />
|-<br />
|[color=blue]$10[/color]<br />
|[color=blue]$10[/color][0]<br />
|-<br />
|[color=blue]$11[/color]<br />
|[color=blue]$11[/color][1]<br />
|-<br />
|[color=blue]$12[/color]<br />
|[color=blue]$12[/color][2]<br />
|-<br />
|}<br />
По умолчанию данная опция включена.<br />
|-<br />
|'''toggle SKIP_SCM_HEADER'''<br />
|Будет пропущено чтение заголовка scm-файла. Это поможет декомпилировать внешние скрипты из файла <code>script.img</code> Компилятор не будет писать заголовок для компилируемого файла.<br />
Аналогом использования данной опции является директива [[Кодинг в Sanny Builder 3#$EXTERNAL|$EXTERNAL]]. <br />
|-<br />
|}<br />
<br />
Более быстрый и простой способ переключать данные опции - использовать меню, выпадающее после нажатия на кнопку 'Отладочные опции' на панели инструментов.<br />
<br />
Вы также можете устанавливать все опции разом при запуске программы. Для этого используется ключ '''\debug'''. Параметром ключа является число, значения битов которого определяют включена опция или нет.<br />
<br />
Для правильного указания параметра запустите Калькулятор Windows, переключите его сначала на инженерный, а затем на двоичный режим (F8). Напишите последовательность нулей и единиц, обозначающих состояние той или иной опции в соответствии с таблицей ниже. Счет идет справа налево.<br />
<br />
Например, двоичное число 10 (или 2 в десятичном формате) выключит опцию code offsets и включит ignore_unknown. Таким образом при запуске Sanny Builder с ключом \debug=2 будет такой же эффект, как если бы активировали указанные опции через консоль.<br />
<br />
{| {{Таблица}}<br />
!'''#'''<br />
!Sanny Builder Option <br />
!'''#'''<br />
!Sanny Builder Option <br />
|-<br />
|0<br />
|toggle code offsets<br />
|16<br />
|<br />
|-<br />
|1<br />
|toggle ignore_unknown<br />
|17<br />
|<br />
|-<br />
|2<br />
|toggle var_counter<br />
|18<br />
|<br />
|-<br />
|3<br />
|toggle constant_indexes<br />
|19<br />
|<br />
|-<br />
|4<br />
|toggle skip_scm_header <br />
|20<br />
|<br />
|-<br />
|5<br />
|<br />
|21<br />
|<br />
|-<br />
|6<br />
|<br />
|22<br />
|<br />
|-<br />
|7<br />
|<br />
|23<br />
|<br />
|-<br />
|8<br />
|<br />
|24<br />
|<br />
|-<br />
|9<br />
|<br />
|25<br />
|<br />
|-<br />
|10<br />
|<br />
|26<br />
|<br />
|-<br />
|11<br />
|<br />
|27<br />
|<br />
|-<br />
|12<br />
|<br />
|28<br />
|<br />
|-<br />
|13<br />
|<br />
|29<br />
|<br />
|-<br />
|14<br />
|<br />
|30<br />
|<br />
|-<br />
|15<br />
|<br />
|31<br />
|<br />
|-<br />
|}<br />
<br />
==Горячие клавиши==<br />
<br />
Помимо стандартных (Ctrl+C, Ctrl+Z, ... ) работают следующие комбинации клавиш:<br />
<br />
{| {{Таблица}}<br />
!Клавиши<br />
!Значение<br />
|-<br />
|'''TAB , Shift+TAB'''<br />
|двигать выделенный блок текста влево/вправо<br />
|-<br />
|'''Ctrl + Alt + A / D'''<br />
|двигать выделенный блок текста влево/вправо (на 1 символ)<br />
|-<br />
|'''Ctrl + Alt + B / N / M'''<br />
|различные режимы выделения текста: обычный, по столбцам (аналог - выделение с зажатым Alt), по строкам<br />
|-<br />
|'''Ctrl + Shift + Num8 / Num2'''<br />
|прокрутить страницу на одну строку вверх/вниз<br />
|-<br />
|'''Ctrl + Scroll Up / Down'''<br />
|страница вверх/вниз<br />
|-<br />
|'''Ctrl + Shift + U / L'''<br />
|перевод слова в верхний/нижний регистр<br />
|-<br />
|'''Ctrl + T'''<br />
|удалить слово<br />
|-<br />
|'''Ctrl + Y'''<br />
|удалить строку<br />
|-<br />
|'''Ctrl + Shift + Y'''<br />
|очистить строку<br />
|-<br />
|'''Ctrl + [space]'''<br />
|показать список классов/свойств/моделей/меток/переменных/миссий<br />
|-<br />
|'''Ctrl + Shift + [space]'''<br />
|показать подсказку для текущей команды класса<br />
|-<br />
|'''Ctrl + Shift + C'''<br />
|вставить текущие координаты игрока<br />
|-<br />
|'''Ctrl + Shift + E'''<br />
|вставить текущий угол поворота игрока<br />
|-<br />
|'''Ctrl+Shift+V'''<br />
|вставить в начало выделенного блока текста директиву [[Кодинг в Sanny Builder 3#$VERSION|$VERSION]], в конец - директиву [[Кодинг в Sanny Builder 3#$VERSION_RESTORE|VERSION_RESTORE]]<br />
|-<br />
|'''Ctrl + Enter'''<br />
|открыть файл по имени под курсором<br />
|-<br />
|'''Alt + S'''<br />
|(когда активен список моделей) - пересортировать список<br />
|-<br />
|'''F1'''<br />
|искать опкод с данным словом (без учета '_' и '.')<br />
|-<br />
|'''Ctrl + F1'''<br />
|искать опкод с данным словом (с учетом '_' и '.')<br />
|-<br />
|'''F2'''<br />
|использовать макрос<br />
|-<br />
|'''Ctrl + J'''<br />
|вызвать список макросов<br />
|-<br />
|'''Ctrl + M'''<br />
|запись последовательности нажатия клавиш/остановка записи<br />
|-<br />
|'''Ctrl + P'''<br />
|воспроизведение записанной последовательности/пауза во время записи<br />
|-<br />
|'''Ctrl + ~''' <br />
|вызвать [[#Консоль|консоль]]<br />
|-<br />
|}<br />
<br />
==Поиск опкодов ==<br />
<br />
Вы можете вызвать программу <code>OST</code> нажатием <code>Ctrl+Alt+2</code> или через меню<br />
<code>Сервис->Инструменты->Поиск опкодов</code>.<br />
<br />
Чтобы найти нужный опкод, впишите в верхнем поле слова, соответствующие ему, например <code>'actor car'</code> (без кавычек). В списке останутся команды, содержащие эти слова. Вписывайте уточняющие слова, пока нужный опкод не будет найден. При поиске можно пользоваться специальными операторами (подробнее о них ниже). <br />
<br />
Также программа учитывает кол-во введенных одинаковых слов и ищет их в необходимом количестве. Т.е, если вы напишете три слова <code>'car'</code>, то программа будет искать опкоды, в которых именно три слова <code>car</code>. <br />
<br />
Вы можете регулировать задержку перед началом поиска. Если вы хотите найти длинное слово, например <code>'weapon'</code>, то лишний отсев, который происходит, пока вы пишете слово, может быть нежелателен. Чтобы увеличить или уменьшить задержку, откройте настроечный файл <code>settings.ini</code> и измените значение параметра '''delay''' на нужное. Единица измерения - миллисекунда. По умолчанию задержка - 300 мс. <br />
<br />
Есть также еще один вариант. Измените значение параметра '''extra_search''' на '''1''', и теперь, если <code>SCROLL LOCK</code> будет включен, то поиск осуществляться не будет. Напишите нужное вам выражение, отключите <code>SCROLL LOCK</code>, и поиск будет осуществлен. <br />
<br />
Если при открытии окна поиска в редакторе был выделен участок строки, он будет автоматически вставлен в строку поиска. <br />
<br />
'''Копирование''': <br />
<br />
После того, как вы нашли нужный вам опкод, выделите его в списке и нажмите <code>ENTER</code>. Опкод будет записан в буфер. Если вы хотите добавить к нему еще один опкод, нажмите <code>SHIFT+ENTER</code>. Тогда в буфере обмена будет уже два ваших опкода.<br />
<br />
<code>F2</code> - скопировать весь список целиком. <br />
<br />
Горячие клавиши:<br />
<br />
{| {{Таблица}}<br />
!Клавиши<br />
!Значение<br />
|-<br />
|'''ENTER''' <br />
|По выделенному опкоду - скопировать в буфер.<br />
|-<br />
|'''SHIFT + ENTER''' <br />
|По выделенному опкоду - добавить его к содержимому буфера.<br />
|-<br />
|'''SCROLL LOCK'''<br />
|(при параметре extra_search=1) включить/отключить поиск<br />
|-<br />
|'''F1'''<br />
|Вызвать справку по поиску <br />
|-<br />
|'''F2'''<br />
|Скопировать все опкоды в списке в буфер<br />
|-<br />
|'''F3'''<br />
|Сортировка по опкодам<br />
|-<br />
|'''F4'''<br />
|Сортировка по словам<br />
|-<br />
|'''F11'''<br />
|Очистить строку поиска, показать все опкоды <br />
|-<br />
|'''ESC'''<br />
|Выход<br />
|-<br />
|}<br />
<br />
'''Операторы поиска:'''<br />
<br />
[U]ЛОГИЧЕСКИЕ ОПЕРАТОРЫ[/U]<br />
<br />
Оператор '''И (AND)''' <br />
В программе эту функцию выполняет одиночный пробел между словами. <br />
<br />
Пример: @ player<br />
<br />
Будут показаны опкоды, где встречаются И символ @, И слово player <br />
<br />
Оператор '''ИЛИ (OR)''' <br />
В программе эту функцию выполняет символ | между словами. <br />
<br />
Пример: @ | player<br />
Будут показаны опкоды, где встречаются ИЛИ символ @, ИЛИ слово player<br />
<br />
Если поставить | первым элементом, программа будет связывать все последующие слова оператором OR.<br />
<br />
Пример: | actor player car<br />
Будут показаны опкоды, где есть хотя бы одно из этих слов. <br />
<br />
Оператор '''НЕТ (NOT)''' <br />
Для всех случаев это два минуса перед исключаемым словом -- <br />
<br />
Пример: car --car2 <br />
Будут показаны опкоды, где ЕСТЬ слово car И НЕТ слова car2<br />
<br />
Для слов и символов $ и @ можно использовать один минус. Это сделано, чтобы не перепутать исключение с поиском отрицательных чисел.<br />
<br />
Пример: -10 -@ -car --3<br />
<br />
Будут показаны опкоды, где ЕСТЬ число -10 И НЕТ символа @, слова car и цифры 3.<br />
<br />
<br />
[U]ДРУГИЕ ОПЕРАТОРЫ[/U] <br />
<br />
<br />
'''^''' показать все условия в списке <br />
'''^выражение''' найти выражение в условных опкодах <br />
<br />
Пример: ^car == <br />
<br />
Будут показаны условные опкоды, где есть слово car и знак == <br />
<br />
'''-^''' исключить все условия из списка <br />
<br />
Пример: player -^ <br />
<br />
Будут показаны все опкоды, где есть слово player, и этот опкод не является условием в IF. <br />
<br />
'''-^''' выражение исключить условия, содержащие выражение <br />
<br />
Пример: player -^actor<br />
<br />
Будут показаны все опкоды, где есть слово player, исключая условные опкоды со словом actor.<br />
<br />
'''%''' искать в заданном порядке <br />
<br />
Пример: % @ == @<br />
<br />
Будут показаны все опкоды, где эти символы идут в данном порядке <br />
<br />
== Ссылки ==<br />
* [http://sannybuilder.com/?lang=ru Официальный сайт]<br />
* [http://sannybuilder.com/forums/viewforum.php?id=2 Форум, посвященный обсуждению SB]</div>Seemannhttp://gtamodding.ru/wiki/Sanny_BuilderSanny Builder2010-08-30T20:23:17Z<p>Seemann: /* Горячие клавиши */</p>
<hr />
<div>{{Программа<br />
| version = 3.04<br />
| author = [[Участник:Seemann|Seemann]]<br />
| game = [[GTA 3]], [[GTA VC]], [[GTA SA]],<br>[[GTA LCS]], [[GTA VCS]]<br />
| genre = [[:Категория:Скриптинг|редактор скриптов]]<br />
| site = http://sannybuilder.com<br />
| image = [[Image:SannyBuilder_01.gif|250px|Sanny Builder 3]]<br />
}}<br />
'''Sanny Builder''' &ndash; это быстрая и мощная программа для редактирования скриптов трехмерной серии GTA (GTA3, VC, SA; частично LCS и VCS). <br />
Включает в себя дизассемблер, позволяющий пользователю быстро декомпилировать [[main.scm]] с игровыми скриптами. Автор и разработчик Sanny Builder &ndash; [[User:Seemann|Seemann]].<br />
<br />
== Возможности программы ==<br />
=== Основные возможности ===<br />
* Поддержка всех игр трехмерной серии GTA, кроме [[GTA 4]]. Позволяет декомпилировать и компилировать скрипты для GTA3, GTA VC и GTA SA. Скриптовый формат GTA LCS и GTA VCS поддерживается лишь частично: Sanny Builder поможет только декомпилировать скрипты этих игр;<br />
* В Sanny Builder встроен самый быстрый компилятор среди аналогичных программ;<br />
* Представляет собой удобную интегрированную среду разработки с подсветкой кода;<br />
* Содержит детальную справку, включающую описания и пути разрешения различных run-time ошибок.<br />
<br />
{|{{Таблица}}<br />
!Игра<br />
!Декомпиляция<br />
!Компиляция<br />
|-<br />
|[[Изображение:Gta3.png|16px]] GTA III<br />
|да<br />
|да<br />
|-<br />
|[[Изображение:Vc.png|16px]] GTA VC<br />
|да<br />
|да<br />
|-<br />
|[[Изображение:Sa.png|16px]] GTA SA<br />
|да<br />
|да<br />
|-<br />
|[[Изображение:Lcs.png|16px]] GTA LCS <br />
|да<br />
|нет<br />
|-<br />
|[[Изображение:Vcs.png|16px]] GTA VCS<br />
|да<br />
|нет<br />
|-<br />
|}<br />
<br />
=== Возможности среды программирования ===<br />
Sanny Builder как среда программирования предоставляет пользователю следующие возможности:<br />
<br />
====Подсветка синтаксиса====<br />
Есть возможность раскрашивать в любые цвета параметры опкодов, комментарии, ключевые слова. Набор ключевых слов содержится в файлах <code>keywords.txt</code> и <code>keywords.ini</code>.<br />
<br />
====Быстрый переход по тексту====<br />
Для этого есть два способа: <br />
<br />
#Установить на нужной строке маркер комбинацией клавиш <code>Ctrl + Shift + <0..9></code>, а затем быстро перейти к этой строке комбинацией <code>Ctrl + <0..9></code>. Удалить все маркеры можно через меню <code>Правка -> Удалить закладки</code><br />
#Через опцию <code>Перейти...</code>. Она вызывается комбинацией <code>Ctrl+G</code>. Вводите порядковый номер нужной строки, и редактор быстро переместит Вас к ней.<br />
<br />
====Быстрый переход по меткам====<br />
Для этого установите курсор на какой-либо метке, например '''[color=green]@MyLabel[/color]'''. Нажмите <code>Ctrl+Num2</code> и редактор переместит курсор к строке с этой меткой ([color=green]''':MyLabel'''[/color]). Вернуться обратно можно нажатием <code>Ctrl+Num8</code>. Также можно исследовать переходы (jumps). Для этого установите курсор на метку (например, [color=green]'''@MyLabel'''[/color]) и нажмите <code>Ctrl+Num4</code> для перехода на строку с другим переходом на эту же метку, находящуюся выше. Или <code>Ctrl+Num6</code> на переход, находящийся ниже. Если больше таких переходов нет, то позиция курсора меняться не будет.<br />
<br />
====Показ различной информации о текущем опкоде====<br />
Сейчас реализован вывод количества параметров опкода и, если курсор находится над именем модели, цифрового значения модели (только для моделей из IDE - файлов и только когда определена директория [[San Andreas]]). <br />
<br />
Конвертирование исходников из SAMB <br />
<br />
В текущей версии поддерживается формат <code>SAMB 0.33</code>. <br />
Для конвертации откройте файл в Sanny Builder и выберите пункт меню <code>Сервис->Конвертация->MB->SB</code>. <br />
<br />
Также можно конвертировать отдельный, выделенный участок кода. <br />
<br />
Внимание: при конвертировании используется файл <code>MB.ini</code>, в котором содержатся текстовые имена переменных и значения адресов памяти. Если Вы добавляли свои переменные в файл <code>variables.ini</code> в <code>SAMB 0.33</code>, используйте его (переименовав в файл <code>MB.ini</code>).<br />
<br />
====Подбор опкодов====<br />
Напишите часть опкода (например '''fade''') и нажмите '''F1'''. Программа из файла <code>opcodes.txt</code> выберет первую строку с этим словом. <source lang="scm">0169: set_fade_color 0 0 0</source><br />
<br />
Если Вам нужен другой опкод с этим словом, нажмите '''F1''' нужное количество раз.<br />
Вы можете составить свой список опкодов из текущего исходника через опцию <code>Сервис->Построить opcodes.txt</code>.<br />
<br />
====Чтение координат и угла разворота игрока====<br />
Нажмите <code>Ctrl+Alt+1</code>, когда запущен SA, и появится окно менеджера.<br />
Здесь вы можете установить новые координаты и угол разворота и скопировать текущие.<br />
В верхнем поле ввода вы можете указать сразу 3 координаты, разделив их пробелом или ",".<br />
Также вы можете быстро вставить координаты игрока в текст комбинацией <code>Ctrl+Shift+C</code>. Вставка угла разворота (<code>z_angle</code>) в текст производится нажатием <code>Ctrl+Shift+E</code>.<br />
<br />
====Поддержка макросов====<br />
Иногда скриптеру необходимо писать одни и те же строки кода, например для загрузки моделей. Чтобы сократить время написания такого кода, вы можете вызвать специальный макрос, который вставит в редактор нужный код. Для этого напишите ключевое слово, соответствующее этому макросу, например ''load'' и нажмите '''F2'''. В редакторе появится код<br />
<br />
<source lang="scm">#.Load<br />
<br />
while not #.Available<br />
wait 0<br />
end</source><br />
<br />
Вам останется только написать нужное имя модели в качестве параметра.<br />
<br />
Список используемых макросов содержится в файле <code>'macroes.txt'</code>. <br />
Используется следующий синтаксис:<br />
<br />
Имя макроса (ключевое слово) пишется обычной строкой. На этой же строке можно добавить краткое описание макроса. Для этого достаточно поставить знак = (равно), а после добавить описание. Поддерживаются только однострочные описания.<br />
<br />
После строки с именем записывается содержимое макроса, каждая строка обозначается символом =. Место, куда должен быть помещен курсор после вставки обозначается символом |.<br />
<br />
В ходе работы можно вызвать список макросов комбинацией <code>Ctrl+J</code>.<br />
<br />
Также можно добавить свой макрос в файл <code>'macroes.txt'</code> прямо из редактора. Для этого достаточно выделить нужный кусок текста и выбрать меню "<code>Сервис->Добавить макрос</code>". В появившемся диалоговом окне вы должны ввести имя нового макроса (вместе или без описания) и нажать кнопку <code>OK</code>. Новый макрос будет сразу же готов к использованию.<br />
<br />
Также существует возможность создавать свои собственные макросы в ходе работы. По сути редактор будет запоминать нажатия любых клавиш и потом вопроизводить их в том же порядке.<br />
Например, у вас есть код:<br />
<br />
<source lang="scm">$Actor = Actor.Create(CivMale, #MALE01, 100.0, 100.0, 10.0)<br />
$ActorWithGun = Actor.Create(CivMale, #MALE01, 110.0, 100.0, 20.0)<br />
$Gang01 = Actor.Create(CivMale, #MALE01, 120.0, 100.0, 30.0)<br />
$Gang02 = Actor.Create(CivMale, #MALE01, 130.0, 100.0, 40.0)<br />
$Killer = Actor.Create(CivMale, #MALE01, 140.0, 100.0, 50.0)<br />
$ActorWithoutGun = Actor.Create(CivMale, #MALE01, 150.0, 100.0, 60.0) <br />
</source><br />
<br />
Допустим, Вам нужно обменять имена актеров в кажой паре (поставить вместо [color=blue]$Actor $ActorWithGun[/color], а вместо [color=blue]$ActorWithGun[/color] - [color=blue]$Actor[/color] и т.д.) Путем записи макроса можно сократить время написания такого кода.<br />
<br />
Поставьте курсор на первую строку и нажмите <code>Ctrl+M</code>. С этого момента редактор запоминает все нажатия клавиш, так что будьте осторожны.<br />
<br />
#Зажмите <code>Ctrl</code> и нажмите один раз стрелку вправо. <code>Ctrl</code> нужен так как строки разной длины. <br />
#Теперь нажмите <code>Shift+Home</code> и <code>Ctrl+Ins</code>. <br />
#Нажмите стрелку вниз. Вы должны оказаться на второй строке, при этом глобальная переменная будет в буфере обмена. <br />
#Нажмите <code>Ctrl+стрелка вправо</code> и <code>Shift+Ins</code>.<br />
#Нажмите <code>Ctrl+стрелка влево</code>, <code>Shift+Home</code>, <code>Ctrl+Ins</code> и кнопку <code>Delete</code><br />
#Нажмите <code>стрелку вверх</code><br />
#Нажмите <code>Ctrl+Shift+стрелка вправо</code> и <code>Shift+Ins</code><br />
#Нажмите кнопку <code>Home</code>.<br />
<br />
Теперь первые две строки выглядят как<br />
<br />
<source lang="scm">$ActorWithGun = Actor.Create(CivMale, 100.0, 100.0, 10.0)<br />
$Actor = Actor.Create(CivMale, 110.0, 100.0, 20.0)</source><br />
<br />
курсор стоит в начале первой строки. Теперь нажмите <code>Ctrl+M</code><br />
<br />
Макрос записан. Теперь вы можете воспроизводить нажатия клавиш комбинацией <code>Ctrl+P</code>. Установите курсор на 3-ю строку, нажмите <code>Ctrl+P</code> и имена актеров поменяются местами.<br />
<br />
Во время записи макроса можно включить паузу нажатием <code>Ctrl+P</code>. Продолжить запись - <code>Ctrl+P</code>.<br />
<br />
====Замена номеров миссий на их имена====<br />
Sanny Builder допускает использовать вместо номера миссии ее имя. Именем миссии явялется имя ее метки, которая определена в блоке '''DEFINE MISSION'''.<br />
<br />
Например, если у вас есть<br />
<br />
<source lang="scm">DEFINE MISSION 10 AT @MYMISSION</source><br />
<br />
то вы можете использовать вместо <br />
<br />
<source lang="scm">start_mission 10</source><br />
<br />
<br />
<source lang="scm">start_mission MYMISSION</source><br />
<br />
В SB добавлена опция Заменять номера миссий. Когда она включена, декомпилятор автоматически заменяет все номера миссий в коде на их имена. На компилятор эта опция не влияет, он поддерживает оба варианта.<br />
<br />
Эта опция дает возможность безболезненно удалять миссии, не заботясь о переименовывании всех последующих номеров в коде. Все что нужно, это изменить блок '''DEFINE MISSION'''.<br />
<br />
Для дополнительного удобства в строке '''start_mission''' можно вызвать список имен миссий и их номеров нажатием <code>Ctrl+[space]</code>.<br />
<br />
Также можно быстро перейти с имени миссии на нее саму. Переход осуществляется так же, как и переход на метку <br />
<br />
====Многоязычный интерфейс====<br />
Начиная с версии <code>2.98</code> Sanny Builder поддерживает различные варианты перевода интерфейса и сообщений. В стандартной комплектации доступны русскоязычный и англоязычный варианты. Переключить язык можно через опции (<code>F10</code>).<br />
<br />
Информация по созданию своего перевода содержится в файле <code>'lang\How to translate.txt'</code><br />
<br />
====Различные режимы редактирования====<br />
Sanny Builder может редактировать скрипты игр [[GTA3]], [[GTA VC]], [[GTA SA]]. Текущий режим отображается в нижнем правом углу программы.<br />
<br />
Переключить режимы редактирования можно через контекстное меню, которое появляется при клике по названию текущего режима. <br />
<br />
====Меню внешних приложений====<br />
Вы можете добавить в меню Инструменты до 9 внешних приложений, которые будут запускаться когда они вам понадобятся. Каждому приложению можно присвоить комбинацию горячих клавиш и ряд параметров, необходимых для запуска.<br />
<br />
В качестве параметра запускаемого приложения может использоваться специальное слово: <code>$SB_FileName</code>. Оно обозначает имя текущего открытого файла и может быть передано во внешнее приложение.<br />
<br />
====Комментирование кода====<br />
Комментарии обозначаются в коде двойным слешем [color=navy]''//''[/color]<br />
Все, что идет после данного знака до конца строки, игнорируется компилятором. <br />
<br />
Для того чтобы закомментировать несколько строк сразу либо только часть строки (например в середине или начале) вы можете использовать блочные комментарии [color=navy]''{}''[/color]<br />
<br />
<source lang="scm">0001: wait {это игнорируется} 0 ms</source><br />
<br />
Также вы можете закомментировать несколько строк выделив их и нажав <code>Ctrl+Q</code> Для раскоментирования выделите текст и нажмите <code>Ctrl+Q</code> еще раз.<br />
<br />
====Собственные имена для меток====<br />
Вы можете давать меткам собственные имена, которые не будут зависеть от опций декомпилятора. Перечень имен содержится в файле <code>CustomLabels.ini</code> (отдельный для каждой игры). Формат записи следующий:<br />
<br />
<label address>=<custom name><br />
<br />
Если декомпилятор встретит метку по данному адресу, он заменит ее на указанное имя. <br />
<br />
Узнать адрес метки можно включив в опциях формат меток <code>"Смещение от начала"</code>. После декомпиляции файла, число после слова <code>Label</code> и будет адресом метки. <br />
<br />
==Опции программы==<br />
<br />
Опции программы вызываются нажатием кнопки F10. Вы увидите окно, поделенное на 4 части, каждая из которых содержит определенный вид настроек. По умолчанию открывается страница общих настроек.<br />
<br />
===Общие настройки===<br />
<br />
[[Изображение:SB-1.png]]<br />
<br />
Данная страница содержит в основном настройки (де)компилятора.<br />
<br />
[[Изображение:SB-2.png]]<br />
<br />
Работа программы требует использования определенных файлов игры, поэтому вы должны указать корректный путь к папке, куда была установлена игра. Вы можете ввести адрес вручную или выбрать папку через диалог, появляющийся при нажатии кнопки.<br />
<br />
[[Изображение:SB-3.png]]<br />
<br />
Для корректной работы программы ей требуется <code>INI-файл</code>, со списком опкодов. В данном поле вы можете указать путь к данному файлу. При нажатии на кнопку появится диалог выбора файла.<br />
<br />
[[Изображение:SB-4.png]]<br />
<br />
В правой части находится список доступных языков для интерфейса программы. Сами переводы находится в папке <code>lang</code>. Для установки нового языка интерфейса, выберите его в списке.<br />
<br />
Информация о создании новых переводов содержится в файле <code>How to translate.txt</code> в папке <code>lang</code>.<br />
<br />
[[Изображение:SB-5.png]]<br />
<br />
Для удобства работы с SCM-файлами вы можете ассоциировать их с Sanny Builder’ом. <br />
<br />
Когда галочка выбрана, в реестр Windows будут внесены необходимые изменения, и теперь при клике по файлу с расширением .[[scm]] будет автоматически запускаться декомпилятор SB. Для того чтобы прекратить ассоциацию, уберите галочку.<br />
<br />
[[Изображение:SB-6.png]]<br />
<br />
Общий список опций (де)компилятора. В левом столбце находятся опции, сопутствующие процессу работы программы, в правом - конкретные варианты (де)компиляции.<br />
<br />
[U]Перезапись выходного файла[/U]<br />
<br />
При выборе данной опции декомпилятор будет записывать данные в выходной файл, независимо от того, существует он уже или нет. Если опция не выбрана, то при условии существования выходного текстового с таким именем, декомпилятор не будет его перезаписывать, а создаст новый файл, добавив к нему индекс (например, <code>main[0].txt</code>). <br />
<br />
[U]Показывать прогресс[/U]<br />
<br />
При выборе данной опции в процессе работы (де)компилятора в статусбаре будет отображаться текущий прогресс. В противном случае в статусбаре будут слова «Пожалуйста ждите…». Показ прогресса немного замедляет процесс (де)компиляции.<br />
<br />
[U]Показывать отчет[/U]<br />
<br />
При выборе данной опции Sanny Builder будет показывать различную информацию об итогах проделанной декомпиляции либо компиляции.<br />
<br />
[U]Показывать предупреждение[/U]<br />
<br />
Данная опция имеет значение только при компиляции скриптов [[San Andreas]]. Если игра запущена ко время компиляции, то файл <code>script.img</code>, содержащий часть скриптов не сможет быть перезаписан, поскольку игра использует данный файл. Компилятор покажет об этом предупреждение. Вы можете отключить его показ, выбрав данную опцию.<br />
<br />
[U]Ручной выбор IMG-файла[/U]<br />
<br />
При декомпиляции программа ищет файл <code>script.img</code>, содержащий часть игровых скриптов. Если файл не будет найден в одной папке с .[[scm]]-файлом или в папке игры, то будет показана ошибка. Однако при выборе данной опции вы сможете указать [[IMG]]-файл вручную.<br />
<br />
[U]Быстрая загрузка игры[/U]<br />
<br />
Sanny Builder способен пропускать начальные заставки при запуске [[San Andreas]] (F8). Если данная возможность вызывает ошибку в вашей версии игры, отключите данную опцию.<br />
<br />
[U]Проверка условий[/U]<br />
<br />
Данная опция имеет 2 значения. При декомпиляции с включенной данной опцией программа будет заменять [[Кодинг_в_Sanny_Builder_3#Условия|количество условий]] в опкоде '''IF''' на слова '''AND''' и '''OR'''. При компиляции программа будет способна компилировать конструкции '''IF..END''', а также определять параметр для опкода '''IF''' в условиях со словами '''AND''' и '''OR'''.<br />
<br />
[U]Проверка локальных переменных[/U]<br />
<br />
Количество используемых локальных переменных имеет свои лимиты. При включении данной опции компилятор будет проверять правильность их использования.<br />
<br />
[U]Использовать опкоды[/U]<br />
<br />
Данная опция превращает декомпилятор Sanny Builder из высокоуровневого в низкоуровневый и наоборот. При ее выключении декомпилятор будет использовать доступные классы и кейворды, заменяя ими опкоды. Также не будут записываться опкоды для некоторых простых математических выражений. При включении данной опции все опкоды будут записываться в исходник.<br />
<br />
[U]Заменять номера миссий[/U]<br />
<br />
При включении данной опции декомпилятор будет заменять номера миссий в опкоде '''start_mission 0''' на ее имя. Например, '''start_mission INITIAL'''. Имя миссии определяется по имени метки в [[SCM#Заголовок|заголовке файла]]. Его также можно использовать для быстрого перехода к телу миссии.<br />
<br />
[U]Вставлять оригинальные имена миссий[/U]<br />
<br />
Когда данная опция включена, декомпилятор добавляет заранее определенные имена миссий как комментарии к опкоду '''start_mission''', а также к строке '''DEFINE MISSION''' в [[SCM#Заголовок|заголовке файла]].<br />
<br />
[U]Добавлять дополнительную информацию в [[SCM]].[/U]<br />
<br />
При включении данной опции компилятор будет записывать определенную информацию в конец файла <code>main.scm</code>. Эта информация будет потом использоваться при декомпиляции файла для максимального соответствия оригинальному скомпилированному файлу. В конец <code>main.scm</code> записываются позиции конструкций '''hex..end''', имена использованных глобальных переменных и т. п. Обратите внимание, что файл, скомпилированный таким образом нельзя будет декомпилировать в старых версиях SB (кроме случая включения опции '''ignore_unknown'''). <br />
<br />
См. так же "[[Кодинг в Sanny Builder 3]]".<br />
<br />
===Форматирование===<br />
<br />
[[Изображение:SB-7.png]]<br />
<br />
На данной вкладке вы можете настроить имена исходника, форматы меток, регистры идентификаторов.<br />
<br />
[[Изображение:SB-8.png]]<br />
<br />
Здесь вы можете выбрать как будут называться файлы, получаемые после (де)компиляции. В верхнем поле вы указываете путь и имя текстового файла, в который записывается содержимое декомпилируемого файла. В нижних двух – пути и имена бинарных файлов [[SCM]] и [[IMG]], содержащих скомпилированные скрипты. Все поля имеют общий синтаксис. Специальными словами обозначатся часть имени декомпилируемого [[SCM]]-файла (для верхнего поля), либо исходного текстового файла (для нижних двух полей). <br />
<br />
<br />
'''$dir''' – путь к указанному файлу<br />
<br />
'''$name''' – имя файла<br />
<br />
'''$ext''' – его расширение<br />
<br />
'''$game''' – папка игры // game path<br />
<br />
'''$sb''' – папка Sanny Builder // Sanny Builder path<br />
<br />
<br />
Например, если вы декомпилируете файл C:\MyDir\main.scm, то <br />
<br />
'''$dir''' = C:\MyDir; <br />
<br />
'''$name''' = main<br />
<br />
'''$ext''' - .scm<br />
<br />
<br />
Тогда при задании маски <code>$dir\$name.txt</code> декомпилированный исходник получит имя <code>C:\MyDir\main.txt</code> (это будет отображаться в строке под одним из 3-х полей).<br />
<br />
[[Изображение:SB-9.png]]<br />
<br />
В этой части страницы вы можете выбрать как будут именоваться метки при декомпиляции scm-файла. <br />
<br />
Смещение от начала файла: все метки будут иметь числовое имя, например [color=green]'''@12345'''[/color]. Цифра после знака @ будет означать позицию данной метки в декомпилируемом файле.<br />
<br />
Имя потока+смещение от его начала: все метки будут иметь имя потока, в котором они находятся (определяется по опкоду '''name_thread''') плюс дополнительно смещение от начала потока. Например, [color=green]'''@MAIN_12'''[/color]<br />
<br />
Имя потока+смещение от начала файла: данный вариант похож на предыдущий, только после имени потока в метке будет записано ее позиция в файле (как в первом случае). Например, [color=green]@HELP_34567[/color].<br />
<br />
Если вы хотите, чтобы смещения в именах меток были указаны в 16-чном формате, поставьте галочку в соответствующем поле внизу. По умолчанию смещения записываются в десятеричном формате.<br />
<br />
[[Изображение:SB-10.png]]<br />
<br />
Здесь вы можете выбрать будет ли декомпилятор использовать имена отдельных элементов скрипта, определенные пользователем в соответствующих файлах. <br />
<br />
Имена меток содержатся в файле <code>CustomLabels.ini</code> в папке <code>data\<игра></code>. Файл представляет собой список имен меток и их смещений от начала файла. Если данная галочка поставлена, декомпилятор, в случае соответствия позиции метки в файле одной из позиций в данном списке, назовет метку как указано в списке. Содержимое файла <code>CustomLabels.ini</code> содержит смещения для оригинального файла <code>main.scm</code> версии 1.0<br />
<br />
Имена переменных содержатся в файле <code>CustomVariables.ini</code> для каждой игры. Файл представляет собой список оригинальных числовых имен переменных (DMA) и их текстовые эквиваленты. При включении данной опции декомпилятор будет называть переменные указанными именами.<br />
<br />
Имена массивов содержатся в файле <code>CustomArrays.ini</code>. Формат файла следующий: первым числом на строке стоит оригинальное имя переменной – начало массива, затем через пробел количество элементов в массиве – размер, затем текстовое имя. Данная опция предназначена для того, чтобы декомпилятор заменял некоторые идущие подряд глобальные переменные на индексированные переменные.<br />
<br />
<br />
[[Изображение:SB-11.png]]<br />
<br />
Эта опция имеет 2 назначения. Декомпилятор, используя данную опцию, будет именовать глобальные переменные, метки, массивы в указанном регистре букв. Компилятор будет записывать строковые значения в SCM также в указанном регистре.<br />
<br />
===Редактор===<br />
<br />
[[Изображение:SB-12.png]]<br />
<br />
На данной странице вы можете изменить настройки IDE<br />
<br />
[[Изображение:SB-13.png]]<br />
<br />
Данные списки устанавливают цвета различных элементов окна редактора. <br />
'''Активная строка''' – цвет строки, на которой стоит курсор.<br />
'''Отступ''' – цвет левого края редактора.<br />
'''Поле редактора''' – фон текста в редакторе.<br />
<br />
[[Изображение:SB-14.png]]<br />
<br />
Значение глубины просмотра используется при построении списка миссий, меток, переменных и т.п. по нажатию <code>Ctrl+[space]</code>. Число означает количество просматриваемых строк вверх и вниз от той строки, где был вызван список. Если вы поставите число 0, программа будет искать указанные элементы по всему скрипту.<br />
<br />
Также вы можете регулировать автоматическое появление списка. При поставленной галочке, список будет автоматически появляться после набора символа @, $, # и т.д.<br />
<br />
[[Изображение:SB-15.png]]<br />
<br />
Здесь представлены основные опции редактора.<br />
<br />
'''Показывать главную панель''' – вы можете показать/спрятать панель с кнопками в главном окне редактора.<br />
<br />
'''Показывать информацию об опкодах''' – при выборе данной опции редактор будет отображать с статусбаре отдельную информацию об опкоде на текущей строке: число параметров, имя опкода в классе, номер модели, тип переменной и т. д.<br />
<br />
'''Показывать номера строк''' – в левом отступе появятся номера строк.<br />
<br />
'''Показывать границу отступа''' – при выборе этой опции левый отступ будет ограничен с правой стороны. Отключите данную опцию, если вы хотите визуально увеличить пространство редактора.<br />
<br />
'''Открывать при запуске последний файл''' – при выборе данной опции программа при запуске будет открывать последний закрытый файл, если таковой имеется.<br />
<br />
'''Открывать все закрытые файлы''' – вы можете открывать разом все закрытые файлы при запуске. Данная опция может быть выбрана только при включенной опции Открывать при запуске последний файл.<br />
<br />
'''Подтверждать выход''' – при закрытии программы вы должны будете подтвердить выход. Полезно для предупреждения случайного закрытия программы.<br />
<br />
[[Изображение:SB-16.png]]<br />
<br />
Здесь вы можете выбрать шрифт и его настройки для редактора. Sanny Builder поддерживает только пропорциональные шрифты. Строка <code>AaBbCcDd</code> отражает текущие настройки. <br />
<br />
<br />
===Подсветка===<br />
<br />
[[Изображение:SB-17.png]]<br />
<br />
На данной вкладке вы можете выбрать варианты подсветки синтаксиса в окне редактора. <br />
Каждый элемент кода имеет 3 свойства: '''Цвет''', '''Фон''', '''Стиль'''.<br />
<br />
Доступны 3 элемента стиля: '''B''' – ''полужирный'', '''I''' – ''курсив'', '''U''' – [U]подчеркнутый[/U].<br />
<br />
Выбранный вариант подсветки используется также при сохранении кода в формат RTF или HTML.<br />
<br />
Элементы кода:<br />
<br />
Комментарии – текст, находящийся за двойным слешем [color-navy]//[/color] либо между фигурными скобками [color-navy]{}[/color]. <br />
<br />
Метки – идентификаторы, начинающиеся с символа [color=green]'''@'''[/color]. <br />
<br />
Переменные - – идентификаторы, начинающиеся с символа [color=blue]$[/color] (глобальные), а также заканчивающиеся символом [color=blue]@[/color] (локальные). Также к переменным приравнивается тип aDMA (начинается c [color=blue]&[/color]) и массивы.<br />
<br />
Кейворды – специальные слова, записанные в файле <code>keywords.ini</code> (общий для всех) и <codekeywords.txt (свой для каждой игры).<br />
<br />
'''Числа''' – целые и дробные числа.<br />
<br />
'''Строки''' – текст между символами [color=red]“…”[/color] и [color=red]‘…’[/color].<br />
<br />
'''Модели''' - идентификаторы, начинающиеся с символа [color=brown]#[/color]. <br />
<br />
'''Классы''' – часть класса, идентификатор стоящий перед знаком точки.<br />
<br />
'''Команды''' - часть класса, идентификатор стоящий после знака точки.<br />
<br />
'''Директивы''' – идентификаторы, заключенные в фигурные скобки и начинающиеся с [color=green]$[/color]<br />
<br />
<br />
==Консоль==<br />
<br />
Назначение консоли в Sanny Builder’е – переключение особых опций программы (в первую очередь (де)компилятора). Консоль вызывается нажатием <code>Ctrl + ~</code>. В поле ввода внизу вы можете писать команды и параметры. После набора команды нажмите Enter. Результат работы будет отображаться в поле консоли.<br />
<br />
Команды нечувствительны к регистру, поэтому вы можете набирать их в любом удобном регистре букв.<br />
<br />
Список поддерживаемых команд:<br />
<br />
'''help''' – при вводе команды ''help'' откроется окно справки о командах консоли.<br />
<br />
'''clear''' – очищает поле консоли<br />
<br />
'''list''' – команда ''list'' выводит в консоли список всех поддерживаемых команд.<br />
<br />
Дополнительный параметр:<br />
'''list options''' – при наборе слов ''list options'' в консоли появится список всех возможных опций для переключения. См. команду ''toggle''.<br />
<br />
'''toggle''' – основная команда для переключения опций программы.<br />
<br />
Дополнительный параметр:<br />
'''toggle <имя опции> [on/off]''' <br />
Список опций может меняться в разных версиях. Для получения всех возможных опций наберите ''list options''. <br />
<br />
После имени опции может стоять либо слово '''ON''' (тогда опция будет включена), либо слово '''OFF''' (опция будет выключена), либо ничего (тогда опция будет переключена на другое состояние – с '''ON''' на '''OFF''' или наоборот).<br />
<br />
{| {{Таблица}}<br />
!Игра<br />
!Декомпиляция<br />
|-<br />
|'''toggle CODE_OFFSETS''' <br />
|при включении этой опции декомпилятор будет печатать оффсеты для каждого опкода.<br />
|-<br />
|'''toggle VAR_COUNTER'''<br />
|при включении данной опции после компиляции исходника в поле консоли будет выведен список глобальных переменных, которые использовались в коде только раз. Очень полезно при поиске ненужных переменных. <br />
|-<br />
|'''toggle IGNORE_UNKNOWN''' <br />
|при включении это опции декомпилятор будет пропускать весь неизвестный ему код. Это поможет декомпилировать поврежденные или защищенные scm-файлы.<br />
|-<br />
|'''toggle CONSTANT_INDEXES'''<br />
|декомпилятор будет записывать идущие подряд глобальные переменные как массив, используя числовые константы. Например <br />
<br />
{| {{Таблица}}<br />
!Было<br />
!Стало<br />
|-<br />
|[color=blue]$10[/color]<br />
|[color=blue]$10[/color][0]<br />
|-<br />
|[color=blue]$11[/color]<br />
|[color=blue]$11[/color][1]<br />
|-<br />
|[color=blue]$12[/color]<br />
|[color=blue]$12[/color][2]<br />
|-<br />
|}<br />
По умолчанию данная опция включена.<br />
|-<br />
|'''toggle SKIP_SCM_HEADER'''<br />
|Будет пропущено чтение заголовка scm-файла. Это поможет декомпилировать внешние скрипты из файла <code>script.img</code> Компилятор не будет писать заголовок для компилируемого файла.<br />
Аналогом использования данной опции является директива [[Кодинг в Sanny Builder 3#$EXTERNAL|$EXTERNAL]]. <br />
|-<br />
|}<br />
<br />
Эти опции могут быть переключены через меню на главной панели.<br />
<br />
Вы также можете устанавливать все опции разом при запуске программы. Для этого используется ключ '''\debug'''. Параметром ключа является число, значения битов которого определяют включена опция или нет.<br />
<br />
Для правильного указания параметра запустите Калькулятор Windows, переключите его сначала на инженерный, а затем на двоичный режим (F8). Напишите последовательность нулей и единиц, обозначающих состояние той или иной опции в соответствии с таблицей ниже. Счет идет справа налево.<br />
<br />
Например, двоичное число 10 (или 2 в десятичном формате) выключит опцию code offsets и включит ignore_unknown. Таким образом при запуске Sanny Builder с ключом \debug=2 будет такой же эффект, как если бы активировали указанные опции через консоль.<br />
<br />
{| {{Таблица}}<br />
!'''#'''<br />
!Sanny Builder Option <br />
!'''#'''<br />
!Sanny Builder Option <br />
|-<br />
|0<br />
|toggle code offsets<br />
|16<br />
|<br />
|-<br />
|1<br />
|toggle ignore_unknown<br />
|17<br />
|<br />
|-<br />
|2<br />
|toggle var_counter<br />
|18<br />
|<br />
|-<br />
|3<br />
|toggle constant_indexes<br />
|19<br />
|<br />
|-<br />
|4<br />
|toggle skip_scm_header <br />
|20<br />
|<br />
|-<br />
|5<br />
|<br />
|21<br />
|<br />
|-<br />
|6<br />
|<br />
|22<br />
|<br />
|-<br />
|7<br />
|<br />
|23<br />
|<br />
|-<br />
|8<br />
|<br />
|24<br />
|<br />
|-<br />
|9<br />
|<br />
|25<br />
|<br />
|-<br />
|10<br />
|<br />
|26<br />
|<br />
|-<br />
|11<br />
|<br />
|27<br />
|<br />
|-<br />
|12<br />
|<br />
|28<br />
|<br />
|-<br />
|13<br />
|<br />
|29<br />
|<br />
|-<br />
|14<br />
|<br />
|30<br />
|<br />
|-<br />
|15<br />
|<br />
|31<br />
|<br />
|-<br />
|}<br />
<br />
<br />
==Горячие клавиши==<br />
<br />
Помимо стандартных (Ctrl+C, Ctrl+Z, ... ) работают следующие комбинации клавиш:<br />
<br />
{| {{Таблица}}<br />
!Клавиши<br />
!Значение<br />
|-<br />
|'''TAB , Shift+TAB'''<br />
|двигать выделенный блок текста влево/вправо<br />
|-<br />
|'''Ctrl + Alt + A / D'''<br />
|двигать выделенный блок текста влево/вправо (на 1 символ)<br />
|-<br />
|'''Ctrl + Alt + B / N / M'''<br />
|различные режимы выделения текста: обычный, по столбцам (аналог - выделение с зажатым Alt), по строкам<br />
|-<br />
|'''Ctrl + Shift + Num8 / Num2'''<br />
|прокрутить страницу на одну строку вверх/вниз<br />
|-<br />
|'''Ctrl + Scroll Up / Down'''<br />
|страница вверх/вниз<br />
|-<br />
|'''Ctrl + Shift + U / L'''<br />
|перевод слова в верхний/нижний регистр<br />
|-<br />
|'''Ctrl + T'''<br />
|удалить слово<br />
|-<br />
|'''Ctrl + Y'''<br />
|удалить строку<br />
|-<br />
|'''Ctrl + Shift + Y'''<br />
|очистить строку<br />
|-<br />
|'''Ctrl + [space]'''<br />
|показать список классов/свойств/моделей/меток/переменных/миссий<br />
|-<br />
|'''Ctrl + Shift + [space]'''<br />
|показать подсказку для текущей команды класса<br />
|-<br />
|'''Ctrl + Shift + C'''<br />
|вставить текущие координаты игрока<br />
|-<br />
|'''Ctrl + Shift + E'''<br />
|вставить текущий угол поворота игрока<br />
|-<br />
|'''Ctrl+Shift+V'''<br />
|вставить в начало выделенного блока текста директиву [[Кодинг в Sanny Builder 3#$VERSION|$VERSION]], в конец - директиву [[Кодинг в Sanny Builder 3#$VERSION_RESTORE|VERSION_RESTORE]]<br />
|-<br />
|'''Ctrl + Enter'''<br />
|открыть файл по имени под курсором<br />
|-<br />
|'''Alt + S'''<br />
|(когда активен список моделей) - пересортировать список<br />
|-<br />
|'''F1'''<br />
|искать опкод с данным словом (без учета '_' и '.')<br />
|-<br />
|'''Ctrl + F1'''<br />
|искать опкод с данным словом (с учетом '_' и '.')<br />
|-<br />
|'''F2'''<br />
|использовать макрос<br />
|-<br />
|'''Ctrl + J'''<br />
|вызвать список макросов<br />
|-<br />
|'''Ctrl + M'''<br />
|запись последовательности нажатия клавиш/остановка записи<br />
|-<br />
|'''Ctrl + P'''<br />
|воспроизведение записанной последовательности/пауза во время записи<br />
|-<br />
|'''Ctrl + ~''' <br />
|вызвать [[#Консоль|консоль]]<br />
|-<br />
|}<br />
<br />
==Поиск опкодов ==<br />
<br />
Вы можете вызвать программу <code>OST</code> нажатием <code>Ctrl+Alt+2</code> или через меню<br />
<code>Сервис->Инструменты->Поиск опкодов</code>.<br />
<br />
Чтобы найти нужный опкод, впишите в верхнем поле слова, соответствующие ему, например <code>'actor car'</code> (без кавычек). В списке останутся команды, содержащие эти слова. Вписывайте уточняющие слова, пока нужный опкод не будет найден. При поиске можно пользоваться специальными операторами (подробнее о них ниже). <br />
<br />
Также программа учитывает кол-во введенных одинаковых слов и ищет их в необходимом количестве. Т.е, если вы напишете три слова <code>'car'</code>, то программа будет искать опкоды, в которых именно три слова <code>car</code>. <br />
<br />
Вы можете регулировать задержку перед началом поиска. Если вы хотите найти длинное слово, например <code>'weapon'</code>, то лишний отсев, который происходит, пока вы пишете слово, может быть нежелателен. Чтобы увеличить или уменьшить задержку, откройте настроечный файл <code>settings.ini</code> и измените значение параметра '''delay''' на нужное. Единица измерения - миллисекунда. По умолчанию задержка - 300 мс. <br />
<br />
Есть также еще один вариант. Измените значение параметра '''extra_search''' на '''1''', и теперь, если <code>SCROLL LOCK</code> будет включен, то поиск осуществляться не будет. Напишите нужное вам выражение, отключите <code>SCROLL LOCK</code>, и поиск будет осуществлен. <br />
<br />
Если при открытии окна поиска в редакторе был выделен участок строки, он будет автоматически вставлен в строку поиска. <br />
<br />
'''Копирование''': <br />
<br />
После того, как вы нашли нужный вам опкод, выделите его в списке и нажмите <code>ENTER</code>. Опкод будет записан в буфер. Если вы хотите добавить к нему еще один опкод, нажмите <code>SHIFT+ENTER</code>. Тогда в буфере обмена будет уже два ваших опкода.<br />
<br />
<code>F2</code> - скопировать весь список целиком. <br />
<br />
Горячие клавиши:<br />
<br />
{| {{Таблица}}<br />
!Клавиши<br />
!Значение<br />
|-<br />
|'''ENTER''' <br />
|По выделенному опкоду - скопировать в буфер.<br />
|-<br />
|'''SHIFT + ENTER''' <br />
|По выделенному опкоду - добавить его к содержимому буфера.<br />
|-<br />
|'''SCROLL LOCK'''<br />
|(при параметре extra_search=1) включить/отключить поиск<br />
|-<br />
|'''F1'''<br />
|Вызвать справку по поиску <br />
|-<br />
|'''F2'''<br />
|Скопировать все опкоды в списке в буфер<br />
|-<br />
|'''F3'''<br />
|Сортировка по опкодам<br />
|-<br />
|'''F4'''<br />
|Сортировка по словам<br />
|-<br />
|'''F11'''<br />
|Очистить строку поиска, показать все опкоды <br />
|-<br />
|'''ESC'''<br />
|Выход<br />
|-<br />
|}<br />
<br />
'''Операторы поиска:'''<br />
<br />
[U]ЛОГИЧЕСКИЕ ОПЕРАТОРЫ[/U]<br />
<br />
Оператор '''И (AND)''' <br />
В программе эту функцию выполняет одиночный пробел между словами. <br />
<br />
Пример: @ player<br />
<br />
Будут показаны опкоды, где встречаются И символ @, И слово player <br />
<br />
Оператор '''ИЛИ (OR)''' <br />
В программе эту функцию выполняет символ | между словами. <br />
<br />
Пример: @ | player<br />
Будут показаны опкоды, где встречаются ИЛИ символ @, ИЛИ слово player<br />
<br />
Если поставить | первым элементом, программа будет связывать все последующие слова оператором OR.<br />
<br />
Пример: | actor player car<br />
Будут показаны опкоды, где есть хотя бы одно из этих слов. <br />
<br />
Оператор '''НЕТ (NOT)''' <br />
Для всех случаев это два минуса перед исключаемым словом -- <br />
<br />
Пример: car --car2 <br />
Будут показаны опкоды, где ЕСТЬ слово car И НЕТ слова car2<br />
<br />
Для слов и символов $ и @ можно использовать один минус. Это сделано, чтобы не перепутать исключение с поиском отрицательных чисел.<br />
<br />
Пример: -10 -@ -car --3<br />
<br />
Будут показаны опкоды, где ЕСТЬ число -10 И НЕТ символа @, слова car и цифры 3.<br />
<br />
<br />
[U]ДРУГИЕ ОПЕРАТОРЫ[/U] <br />
<br />
<br />
'''^''' показать все условия в списке <br />
'''^выражение''' найти выражение в условных опкодах <br />
<br />
Пример: ^car == <br />
<br />
Будут показаны условные опкоды, где есть слово car и знак == <br />
<br />
'''-^''' исключить все условия из списка <br />
<br />
Пример: player -^ <br />
<br />
Будут показаны все опкоды, где есть слово player, и этот опкод не является условием в IF. <br />
<br />
'''-^''' выражение исключить условия, содержащие выражение <br />
<br />
Пример: player -^actor<br />
<br />
Будут показаны все опкоды, где есть слово player, исключая условные опкоды со словом actor.<br />
<br />
'''%''' искать в заданном порядке <br />
<br />
Пример: % @ == @<br />
<br />
Будут показаны все опкоды, где эти символы идут в данном порядке <br />
<br />
== Ссылки ==<br />
* [http://sannybuilder.com/?lang=ru Официальный сайт]<br />
* [http://sannybuilder.com/forums/viewforum.php?id=2 Форум, посвященный обсуждению SB]</div>Seemannhttp://gtamodding.ru/wiki/GTA_Stories_Texture_ExplorerGTA Stories Texture Explorer2010-08-30T20:18:33Z<p>Seemann: /* Возможности программы */</p>
<hr />
<div>{{Карточка программы<br />
| name = GTA Stories Texture Explorer<br />
| version = 1.0 public<br />
| author = {{Ui|Dageron}}<br />
| site = [http://www.Dageron.com www.Dageron.com] [http://www.GTAModding.ru www.GTAModding.ru]<br />
| game = [[GTA LCS]], [[GTA VCS]]<br />
| genre = Просмотрщик текстур<br />
| image = [[Изображение: StoriesTextureExplorer_1_0.png|250px]]<br />
}}<br />
[[GTA Stories Texture Explorer]] - программа для работы с текстурными директориями [[GTA LCS]] и [[GTA VCS]]. PS2-версия данных игр поддерживается полностью. PSP-версия поддерживается частично (отображение многих текстур является некорректным).<br />
<br />
== Возможности программы ==<br />
<br />
* Работа с [[TEX|файлами с сигнатурой "tex"]] - просмотр и экспорт (имеют расширения <code>[[TEX|*.chk]]</code> и <code>[[TEX|*.xtx]]</code>).<br />
* Работа с несжатыми текстурными директориями внутри <code>[[DTZ|game.dtz]]</code> - просмотр и экспорт (<code>hud</code>, <code>particle</code>, <code>generic</code>).<br />
* Работа со сжатыми текстурными директориями внутри <code>[[DTZ|game.dtz]]</code> - просмотр и экспорт (<code>fonts</code>, <code>menu</code>).<br />
<br />
'''Режимы отображения:'''<br />
<br />
Ctrl+S (или View->Enable Swizzling) - включить режим swizzling-а.<br />
<br />
Ctrl+A (или View->Alpha Mode) - включить режим альфа-канала.<br />
<br />
Публичная версия поддерживает только просмотр текстур, без возможности редактирования.<br />
<br />
==Ссылки==<br />
[http://gtamodding.ru/w/images/7/77/GTA_Stories_Texture_Explorer_1.0_public.rar Скачать]<br />
<br />
{{GTA Stories-navi}}<br />
{{Консольное описание}}<br />
[[Категория:GTA_LCS]][[Категория:GTA_VCS]][[Категория:Инструменты]][[Категория:Моддинг консольных версий]]</div>Seemannhttp://gtamodding.ru/wiki/GTA_Stories_Texture_ExplorerGTA Stories Texture Explorer2010-08-30T13:01:51Z<p>Seemann: </p>
<hr />
<div>{{Карточка программы<br />
| name = GTA Stories Texture Explorer<br />
| version = 1.0 public<br />
| author = {{Ui|Dageron}}<br />
| site = [http://www.Dageron.com www.Dageron.com] [http://www.GTAModding.ru www.GTAModding.ru]<br />
| game = [[GTA LCS]], [[GTA VCS]]<br />
| genre = Просмотрщик текстур<br />
| image = [[Изображение: StoriesTextureExplorer_1_0.png|250px]]<br />
}}<br />
[[GTA Stories Texture Explorer]] - программа для работы с текстурными директориями [[GTA LCS]] и [[GTA VCS]]. PS2-версия данных игр поддерживается полностью. PSP-версия поддерживается частично (отображение многих текстур является некорректным).<br />
<br />
== Возможности программы ==<br />
<br />
* Работа с [[TEX|файлами с сигнатурой "tex"]] - просмотр и экспорт (имеют расширения <code>[[TEX|*.chk]]</code> и <code>[[TEX|*.xtx]]</code>).<br />
* Работа с несжатыми текстурными директориями внутри <code>[[DTZ|game.dtz]]</code> - просмотр и экспорт (<code>hud</code>, <code>particle</code>, <code>generic</code>).<br />
* Работа со сжатыми текстурными директориями внутри <code>[[DTZ|game.dtz]]</code> - просмотр и экспорт (<code>fonts</code>, <code>menu</code>).<br />
<br />
'''Режимы отображения:'''<br />
<br />
<code>Ctrl+S</code> (или <code>View->Enable Swizzling</code>) - включить режим swizzling-а.<br />
<br />
<code>Ctrl+A</code> (или <code>View->Alpha Mode</code>) - включить режим альфа-канала.<br />
<br />
Публичная версия поддерживает только просмотр, редактирование реализовано лишь частично во "внутренних"/"рабочих" версиях.<br />
<br />
==Ссылки==<br />
[http://gtamodding.ru/w/images/7/77/GTA_Stories_Texture_Explorer_1.0_public.rar Скачать]<br />
<br />
{{GTA Stories-navi}}<br />
{{Консольное описание}}<br />
[[Категория:GTA_LCS]][[Категория:GTA_VCS]][[Категория:Инструменты]][[Категория:Моддинг консольных версий]]</div>Seemannhttp://gtamodding.ru/wiki/UMD_GenUMD Gen2010-08-30T13:00:41Z<p>Seemann: </p>
<hr />
<div>{{Программа<br />
| name = UMDGen<br />
| version = 4.00<br />
| author = {{Ui|GEN|GEN}}<br />
| game = [[GTA LCS]], [[GTA VCS]]<br />
| genre = Работа с образами дисков UMD<br />
| site = http://www.umdgen.com/<br />
| image = [[Image:UMDGen.png|300px|UMDGen v4.00]]<br />
}}<br />
'''UMDGen''' - программа для создания {{hint|Full Rip|полная версия игры, но сжатая по сравнению с оригиналом}} образов игр для консоли PlayStation Portable. Также в этой версии есть возможность конвертации ISO, СSO и DAX друг в друга.<br />
<br />
== Возможности программы ==<br />
UMDGen может полностью редактировать, извлекать, удалять и заменять любые файлы и даже папки в образе игры на что угодно. Кроме того, она может генерировать файл "UMD_DATA.BIN", если он был утерян. Есть возможность изменить PSP_SYSTEM_VER в PARAM.SFO на различные версии прошивки, что открывает дополнительные возможности.<br />
<br />
== История версий ==<br />
''Версия 4.00, вышла 16.07.2007''<br />
* Новая графическая оболочка . <br />
* '''UMDGen''' теперь отображает информацию с UPDATE\PARAM.SFO так же, как и с PSP_GAME\PARAM.SFO . <br />
* Добавлена кнопка '''Optimize'''. Эта функция автоматом обнулит вам пустышки и снесет папку '''UPDATE'''. Короче, автоматически сдeлает вам '''FullRip'''. <br />
* Добавлен UMD_DATA.BIN генератор. Если вы потеряли этот файл, то '''UMDGen''' даст вам возможность создать новый. <br />
* Новая возможность менять PSP_SYSTEM_VER в PARAM.SFO на различные версии прошивки (!). Используйте кнопки +/- при выборе версий. <br />
* Полная поддержка '''CSO + DAX'''. Теперь вы можете редактировать сжатые образы так же как и обычные. <br />
* Добавлена опция Dummy File по многочисленным просьбам юзеров.<br />
<br />
== Полное описание основных функций в картинках, с примерами ==<br />
[[Изображение:UMDGen 1.png|thumb|150px|Рис. 1]][[Изображение:UMDGen 2.png|thumb|150px|Рис. 2]][[Изображение:UMDGen 3.png|thumb|150px|Рис. 3]][[Изображение:UMDGen 4.png|thumb|150px|Рис. 4]][[Изображение:UMDGen 5.png|thumb|150px|Рис. 5]][[Изображение:UMDGen 6.png|thumb|150px|Рис. 6]]<br />
Многие пользователи заинтересованы в малом размере скаченной игры. Люди хотят иметь на своей карте памяти кроме игр еще какие-либо еще файлы. Представляю вашему вниманию руководство по программе '''UMDGen v4.00'''. На данный момент это последняя версия программы для работы с '''ISO''' образами. Кроме '''ISO''' программа также поддерживает форматы '''CSO''' и '''DAX'''. <br />
<br />
Начинаем мы с того, что скачиваем программу [http://www.gtamodding.ru/w/images/b/b5/UMDGen_v4.0.rar отсюда]. Запускаем файл '''UMDGen v4.00.exe''' - программа запущена. Для того, чтобы открыть программой образ игры, заходим в '''File -> Open Disk Image'''. <br />
<br />
Теперь начнем осмотр функций UMDGen. <br />
<br />
#Если вы хотите сделать быстро и легко '''Full Rip''', то надо зайти во вкладку '''UMD Properties''' и внизу найти кнопку '''Optimize'''. Эта функция обнуляет все пустышки и удаляет папку UPDATE. Структура папок остается. Делать '''Full Rip''' очень быстро и легко, никаких проблем у вас возникнуть не должно. (Рис. 1)<br />
#Также в этой версии есть возможность конвертации '''ISO''', '''СSO''' и '''DAX''' друг в друга. Заходим во вкладку '''Batch Image Converter'''. Добавлям в список файл образа, выбираем тип образа, в который хотите конвертировать, и начинаем. Скорость конвертирования очень быстрая, и это радует. (Рис. 2)<br />
#Также и при сохранении сделанного вами '''Full Rip''' можно выбрать тип образа. Нажав на значок '''Save''' вы увидите 3 типа сохранения : '''DAX''', '''CSO''' и '''ISO''', что в предыдущех версиях программы не было. <br />
#Также появилась новая фунция: UMD_DATA.BIN генератор. Если вы потеряли этот файл, то '''UMDGen''' даст вам возможность создать новый. Для этого зайдите в '''UMD Properties''' и нажмите на кнопку '''Generate'''. Делается за считанные секунды: UMD_DATA.BIN создан. (Рис. 3)<br />
#Также есть возможность изменить в PSP_SYSTEM_VER в PARAM.SFO на различные версии прошивки . Используйте кнопки +/- при выборе версий. Для этого зайдите в UMD Properties . Смотри скриншот. По непроверенным данным это позволяет сделать так, чтобы например, игра Гарри Поттер и Орден Феникса требовала вместо прошивки 3.11 прошивку 3.03 , и, соответственно, переделанный образ игры пойдет, например, на 3.03 OE-C , что раньше не получалось. (Рис. 4)<br />
#Рипать игры совсем не трудно в этой версии. Выделяем файл UMD_DATA.BIN. Он имеет размер 48 Кб, что очень мало. Далее жмем правую кнопку мыши и ищем '''FileRelinker -> Use selected file as a source''' (Можно просто нажать Ctrl+M ). Теперь этот файл мы используем как ресурс для замены ненужных файлов. (Рис 5)<br />
<br />
Далее находим файлы, которые вы хотите рипнуть. На моем примере это видео. Выделяем их, нажимаем правую кнопку мыши. В появившемся меню ищем '''FileRelinker -> Relink to \UMD_DATA.BIN'''. (Не затрудняясь, просто нажмите Ctrl+L). Теперь выделенные файлы заменятся на файл, который вы до этого поставили ресурсом ( Source ). В нашем случае это UMD_DATA.BIN. (Рис. 6)<br />
<br />
Программа очень полезная, благодаря ней вы сможете как разобрать, так и собрать образ игры. Размер игры в среднем уменьшится на 20%. <br />
После окончания всех действий, которые вы провели над образом, не забудьте его сохранить перед выходом из программы.<br />
<br />
== Ссылки ==<br />
* [http://www.gtamodding.ru/w/images/b/b5/UMDGen_v4.0.rar Скачать программу]<br />
* [http://pspgig.com/load/0-0-1-1001-20 Зеркало]<br />
* [http://depositfiles.com/files/92xit57im Зеркало 2]<br />
* [http://www.psp-hacks.com/download.php?id=194 Зеркало 3]<br />
* [http://www.ps3news.com/forums/psp-umdgen-news/psp-umdgen-releases-110136.html Все версии программы на официальном сайте]<br />
* [http://www.pspinfo.ru/2007/07/16/umdgen_v400.html Материал частично взят отсюда]<br />
* [http://pspfaqs.ru/faqs/170-umd-gen.html Работа с программой на примере GTA: LCS]<br />
<br />
{{Консольное описание}}<br />
{{GTA_Stories-navi}}<br />
[[Категория:GTA_VCS]][[Категория:GTA_LCS]][[Категория:Моддинг консольных версий]][[Категория:Инструменты]]</div>Seemannhttp://gtamodding.ru/wiki/UMD_GenUMD Gen2010-08-30T12:57:40Z<p>Seemann: </p>
<hr />
<div>{{Программа<br />
| name = UMDGen<br />
| version = 4.00<br />
| author = {{Ui|GEN|GEN}}<br />
| game = Grand Theft Auto: Liberty City Stories, Grand Theft Auto: Vice City Stories<br />
| genre = Работа с образами дисков UMD<br />
| site = http://www.umdgen.com/<br />
| image = [[Image:UMDGen.png|300px|UMDGen v4.00]]<br />
}}<br />
'''UMDGen''' - программа для создания {{hint|Full Rip|полная версия игры, но сжатая по сравнению с оригиналом}} образов игр для консоли PlayStation Portable. Также в этой версии есть возможность конвертации ISO, СSO и DAX друг в друга.<br />
<br />
== Возможности программы ==<br />
UMDGen может полностью редактировать, извлекать, удалять и заменять любые файлы и даже папки в образе игры на что угодно. Кроме того, она может генерировать файл "UMD_DATA.BIN", если он был утерян. Есть возможность изменить PSP_SYSTEM_VER в PARAM.SFO на различные версии прошивки, что открывает дополнительные возможности.<br />
<br />
== История версий ==<br />
''Версия 4.00, вышла 16.07.2007''<br />
* Новая графическая оболочка . <br />
* '''UMDGen''' теперь отображает информацию с UPDATE\PARAM.SFO так же, как и с PSP_GAME\PARAM.SFO . <br />
* Добавлена кнопка '''Optimize'''. Эта функция автоматом обнулит вам пустышки и снесет папку '''UPDATE'''. Короче, автоматически сдeлает вам '''FullRip'''. <br />
* Добавлен UMD_DATA.BIN генератор. Если вы потеряли этот файл, то '''UMDGen''' даст вам возможность создать новый. <br />
* Новая возможность менять PSP_SYSTEM_VER в PARAM.SFO на различные версии прошивки (!). Используйте кнопки +/- при выборе версий. <br />
* Полная поддержка '''CSO + DAX'''. Теперь вы можете редактировать сжатые образы так же как и обычные. <br />
* Добавлена опция Dummy File по многочисленным просьбам юзеров.<br />
<br />
== Полное описание основных функций в картинках, с примерами ==<br />
[[Изображение:UMDGen 1.png|thumb|150px|Рис. 1]][[Изображение:UMDGen 2.png|thumb|150px|Рис. 2]][[Изображение:UMDGen 3.png|thumb|150px|Рис. 3]][[Изображение:UMDGen 4.png|thumb|150px|Рис. 4]][[Изображение:UMDGen 5.png|thumb|150px|Рис. 5]][[Изображение:UMDGen 6.png|thumb|150px|Рис. 6]]<br />
Многие пользователи заинтересованы в малом размере скаченной игры. Люди хотят иметь на своей карте памяти кроме игр еще какие-либо еще файлы. Представляю вашему вниманию руководство по программе '''UMDGen v4.00'''. На данный момент это последняя версия программы для работы с '''ISO''' образами. Кроме '''ISO''' программа также поддерживает форматы '''CSO''' и '''DAX'''. <br />
<br />
Начинаем мы с того, что скачиваем программу [http://www.gtamodding.ru/w/images/b/b5/UMDGen_v4.0.rar отсюда]. Запускаем файл '''UMDGen v4.00.exe''' - программа запущена. Для того, чтобы открыть программой образ игры, заходим в '''File -> Open Disk Image'''. <br />
<br />
Теперь начнем осмотр функций UMDGen. <br />
<br />
#Если вы хотите сделать быстро и легко '''Full Rip''', то надо зайти во вкладку '''UMD Properties''' и внизу найти кнопку '''Optimize'''. Эта функция обнуляет все пустышки и удаляет папку UPDATE. Структура папок остается. Делать '''Full Rip''' очень быстро и легко, никаких проблем у вас возникнуть не должно. (Рис. 1)<br />
#Также в этой версии есть возможность конвертации '''ISO''', '''СSO''' и '''DAX''' друг в друга. Заходим во вкладку '''Batch Image Converter'''. Добавлям в список файл образа, выбираем тип образа, в который хотите конвертировать, и начинаем. Скорость конвертирования очень быстрая, и это радует. (Рис. 2)<br />
#Также и при сохранении сделанного вами '''Full Rip''' можно выбрать тип образа. Нажав на значок '''Save''' вы увидите 3 типа сохранения : '''DAX''', '''CSO''' и '''ISO''', что в предыдущех версиях программы не было. <br />
#Также появилась новая фунция: UMD_DATA.BIN генератор. Если вы потеряли этот файл, то '''UMDGen''' даст вам возможность создать новый. Для этого зайдите в '''UMD Properties''' и нажмите на кнопку '''Generate'''. Делается за считанные секунды: UMD_DATA.BIN создан. (Рис. 3)<br />
#Также есть возможность изменить в PSP_SYSTEM_VER в PARAM.SFO на различные версии прошивки . Используйте кнопки +/- при выборе версий. Для этого зайдите в UMD Properties . Смотри скриншот. По непроверенным данным это позволяет сделать так, чтобы например, игра Гарри Поттер и Орден Феникса требовала вместо прошивки 3.11 прошивку 3.03 , и, соответственно, переделанный образ игры пойдет, например, на 3.03 OE-C , что раньше не получалось. (Рис. 4)<br />
#Рипать игры совсем не трудно в этой версии. Выделяем файл UMD_DATA.BIN. Он имеет размер 48 Кб, что очень мало. Далее жмем правую кнопку мыши и ищем '''FileRelinker -> Use selected file as a source''' (Можно просто нажать Ctrl+M ). Теперь этот файл мы используем как ресурс для замены ненужных файлов. (Рис 5)<br />
<br />
Далее находим файлы, которые вы хотите рипнуть. На моем примере это видео. Выделяем их, нажимаем правую кнопку мыши. В появившемся меню ищем '''FileRelinker -> Relink to \UMD_DATA.BIN'''. (Не затрудняясь, просто нажмите Ctrl+L). Теперь выделенные файлы заменятся на файл, который вы до этого поставили ресурсом ( Source ). В нашем случае это UMD_DATA.BIN. (Рис. 6)<br />
<br />
Программа очень полезная, благодаря ней вы сможете как разобрать, так и собрать образ игры. Размер игры в среднем уменьшится на 20%. <br />
После окончания всех действий, которые вы провели над образом, не забудьте его сохранить перед выходом из программы.<br />
<br />
== Ссылки ==<br />
* [http://www.gtamodding.ru/w/images/b/b5/UMDGen_v4.0.rar Скачать программу]<br />
* [http://pspgig.com/load/0-0-1-1001-20 Зеркало]<br />
* [http://depositfiles.com/files/92xit57im Зеркало 2]<br />
* [http://www.psp-hacks.com/download.php?id=194 Зеркало 3]<br />
* [http://www.ps3news.com/forums/psp-umdgen-news/psp-umdgen-releases-110136.html Все версии программы на официальном сайте]<br />
* [http://www.pspinfo.ru/2007/07/16/umdgen_v400.html Материал частично взят отсюда]<br />
* [http://pspfaqs.ru/faqs/170-umd-gen.html Работа с программой на примере GTA: LCS]<br />
<br />
{{Консольное описание}}<br />
{{GTA_Stories-navi}}<br />
[[Категория:GTA_VCS]][[Категория:GTA_LCS]][[Категория:Моддинг консольных версий]][[Категория:Инструменты]]</div>Seemannhttp://gtamodding.ru/wiki/MF_AudioMF Audio2010-08-30T12:47:10Z<p>Seemann: </p>
<hr />
<div>{{Карточка программы<br />
| name = MF Audio<br />
| version = 1.1<br />
| author = Muzzleflash<br />
| genre = Аудиоконвертер<br />
| image = [[Изображение:MFAudio_1.1.png|300px|MFAudio 1.1]]<br />
}}<br />
<b>MF Audio</b> - программа, позволяющая открыть [[VAG]]-файлы, прослушать их и сохранить в другом формате. Поскольку формат VAG встречается в линейке GTA, например, [[GTA VCS]], MF Audio можно считать одним из инструментов в GTA-моддинге.<br />
<br />
==Ссылки==<br />
*[http://gtamodding.ru/w/images/4/42/MFAudio_1.1.rar Скачать MFAudio 1.1]<br />
{{GTA_Stories-navi}}</div>Seemannhttp://gtamodding.ru/wiki/GXT_EditorGXT Editor2010-08-30T12:43:10Z<p>Seemann: </p>
<hr />
<div>{{Карточка программы<br />
| name = GXT Editor<br />
| version = 1.3<br />
| author = Zverik<br />
| game = [[GTA 2]], [[GTA 3]], [[GTA VC]], [[GTA SA]], [[GTA LCS]], частично [[GTA VCS]] и [[GTA 4]]<br />
| genre = GXT редактор<br />
| site = http://zverik.rbcmail.ru/gxtedit.html<br />
| image = [[Изображение:Gxt-editor-1.3.jpg|300px|GXT Editor 1.3]]<br />
}}<br />
<br />
'''GXT Editor''' - редактор текстовых файлов в линейке GTA. С ее помощью можно открыть [[GXT]]-файлы практически всех частей, в последних версиях реализован поиск, положение в таблице сохраняется после добавления записи, что довольно-таки удобно.<br />
<!-- GTA 2 и GTA LCS не проверял, может кто проверит - есть какие-то особенности? --><br />
<br />
Иногда под GTX Editor понимают какой-либо редактор текстов вообще, не обязательно именно эту программу.<br />
<br />
==Элементы меню==<br />
'''File''' - операции над файлом<br />
*''Open...'' - открыть файл в формате gxt, gxs или txt<br />
*''Select Base File...'' - открыть базовый файл, его вы редактировать не сможете, просто вы сможете смотреть оригинал изменяемого текста.<br />
*''Save'' - сохранить изменения<br />
*''Save as...'' - сохранить как... в формат gxt, gxs или txt<br />
*''Import...'' - импорт секции в формат gxs или txt<br />
*''Export...'' - экспорт секции в формате gxs или txt<br />
*''Mass Export...'' - экспорт нескольких секций<br />
*''Exit'' - выход<br />
<br />
'''Search''' - поиск<br />
*''Find...'' - найти текст<br />
*''Search again'' - найти далее<br />
<br />
'''Settings''' - настройки<br />
*''Translation'' - транслитерация. <br />
*''Translate text export'' - применить транслитерацию при экспорте.<br />
*''Cycle preview font'' - последовательно менять шрифт предпросмотра.<br />
*''Load first texture'' - загрузить первую текстуру шрифта (Pricedown)<br />
*''Load second texture'' - загрузить вторую текстуру шрифта (наклонный или готический шрифт)<br />
*''Read widths from file'' - считать размеры символов из файла. Выберите /data/fonts.dat если [[GTA SA|San Andreas]] или gta-vc.exe, если [[GTA VC|Vice]].<br />
*''Select keylist file'' - для [[GTA SA|San Andreas]]: загрузить файл со всеми ключами. (подробнее [[GXT_(SA)|здесь]])<br />
*''Sort strings by key'' - сортировать по ключам, есили отключено - то по хэшам названий (имеет смысл для [[GTA SA|San Andreas]]).<br />
*''Key mapping in text export'' - экспортировать с ключами или с хэшами названий (имеет смысл для [[GTA SA|San Andreas]]).<br />
<br />
==Процесс редактирования==<br />
* Открываем файл.<br />
* Слева выбираем секцию. Самой первой идет секция main, в ней хранятся тексты меню, районов, названий автомобилей и т.д. В -остальных секциях хранятся тексты отдельных миссий. Обычно для определенной миссии используется определенная секция и секция MAIN.<br />
* Ищем с помощью поиска или по алфавиту ключей нужную нам строку справа.<br />
* Кликаем два раза по ней, открывается маленькое окошко.<br />
* В поле вводим нужный текст.<br />
* Кликаем ОК.<br />
* Сохраняем файл.<br />
<br />
[[Категория:Инструменты]][[Категория:GTA 2]][[Категория:GTA 3]][[Категория:GTA VC]][[Категория:GTA SA]][[Категория:GTA LCS]]</div>Seemannhttp://gtamodding.ru/wiki/GXT_EditorGXT Editor2010-08-30T12:42:37Z<p>Seemann: </p>
<hr />
<div>{{Карточка программы<br />
| name = GXT Editor<br />
| version = 1.3<br />
| author = Zverik<br />
| game = [[GTA 2]], [[GTA 3]], [[GTA VC]], [[GTA SA]], [[GTA LCS]], частично [[GTA VCS]] и [[GTA 4]]<br />
| genre = GXT редактор<br />
| site = http://zverik.rbcmail.ru/gxtedit.html<br />
| image = [[Изображение:Gxt-editor-1.3.jpg|300px|GXT Editor 1.3]]<br />
}}<br />
<br />
'''GXT Editor''' - редактор текстовых файлов в линейке GTA. С ее помощью можно открыть [[GXT]]-файлы практически всех частей, в последних версиях реализован поиск, положение в таблице сохраняется после добавления записи, что довольно-таки удобно.<br />
<!-- GTA 2 и GTA LCS не проверял, может кто проверит - есть какие-то особенности? --><br />
<br />
Иногда под GTX Editor понимают какой-либо редактор текстов вообще, не обязательно именно эту программу.<br />
<br />
==Элементы меню==<br />
'''File''' - операции над файлом<br />
*''Open...'' - открыть файл в формате [[GXT|gxt]], gxs или txt<br />
*''Select Base File...'' - открыть базовый файл, его вы редактировать не сможете, просто вы сможете смотреть оригинал изменяемого текста.<br />
*''Save'' - сохранить изменения<br />
*''Save as...'' - сохранить как... в формат [[GXT|gxt]], gxs или txt<br />
*''Import...'' - импорт секции в формат gxs или txt<br />
*''Export...'' - экспорт секции в формате gxs или txt<br />
*''Mass Export...'' - экспорт нескольких секций<br />
*''Exit'' - выход<br />
<br />
'''Search''' - поиск<br />
*''Find...'' - найти текст<br />
*''Search again'' - найти далее<br />
<br />
'''Settings''' - настройки<br />
*''Translation'' - транслитерация. <br />
*''Translate text export'' - применить транслитерацию при экспорте.<br />
*''Cycle preview font'' - последовательно менять шрифт предпросмотра.<br />
*''Load first texture'' - загрузить первую текстуру шрифта (Pricedown)<br />
*''Load second texture'' - загрузить вторую текстуру шрифта (наклонный или готический шрифт)<br />
*''Read widths from file'' - считать размеры символов из файла. Выберите /data/fonts.dat если [[GTA SA|San Andreas]] или gta-vc.exe, если [[GTA VC|Vice]].<br />
*''Select keylist file'' - для [[GTA SA|San Andreas]]: загрузить файл со всеми ключами. (подробнее [[GXT_(SA)|здесь]])<br />
*''Sort strings by key'' - сортировать по ключам, есили отключено - то по хэшам названий (имеет смысл для [[GTA SA|San Andreas]]).<br />
*''Key mapping in text export'' - экспортировать с ключами или с хэшами названий (имеет смысл для [[GTA SA|San Andreas]]).<br />
<br />
==Процесс редактирования==<br />
* Открываем файл.<br />
* Слева выбираем секцию. Самой первой идет секция main, в ней хранятся тексты меню, районов, названий автомобилей и т.д. В -остальных секциях хранятся тексты отдельных миссий. Обычно для определенной миссии используется определенная секция и секция MAIN.<br />
* Ищем с помощью поиска или по алфавиту ключей нужную нам строку справа.<br />
* Кликаем два раза по ней, открывается маленькое окошко.<br />
* В поле вводим нужный текст.<br />
* Кликаем ОК.<br />
* Сохраняем файл.<br />
<br />
[[Категория:Инструменты]][[Категория:GTA 2]][[Категория:GTA 3]][[Категория:GTA VC]][[Категория:GTA SA]][[Категория:GTA LCS]]</div>Seemannhttp://gtamodding.ru/wiki/GTA_Stories_Texture_ExplorerGTA Stories Texture Explorer2010-08-30T12:38:22Z<p>Seemann: убран раздел История (нет смысловой нагрузки)</p>
<hr />
<div>{{Карточка программы<br />
| name = GTA Stories Texture Explorer<br />
| version = 1.0 public<br />
| author = Dageron<br />
| site = [http://www.Dageron.com www.Dageron.com] [http://www.GTAModding.ru www.GTAModding.ru]<br />
| game = [[GTA LCS]], [[GTA VCS]]<br />
| genre = Просмотрщик текстур<br />
| image = [[Изображение: StoriesTextureExplorer_1_0.png|250px]]<br />
}}<br />
[[GTA Stories Texture Explorer]] - программа для работы с текстурными директориями [[GTA LCS]] и [[GTA VCS]]. PS2-версия данных игр поддерживается полностью. PSP-версия поддерживается частично (отображение многих текстур является некорректным).<br />
<br />
== Возможности программы ==<br />
<br />
* Работа с [[TEX|файлами с сигнатурой "tex"]] - просмотр и экспорт (имеют расширения <code>[[TEX|*.chk]]</code> и <code>[[TEX|*.xtx]]</code>).<br />
* Работа с несжатыми текстурными директориями внутри <code>[[DTZ|game.dtz]]</code> - просмотр и экспорт (<code>hud</code>, <code>particle</code>, <code>generic</code>).<br />
* Работа со сжатыми текстурными директориями внутри <code>[[DTZ|game.dtz]]</code> - просмотр и экспорт (<code>fonts</code>, <code>menu</code>).<br />
<br />
'''Режимы отображения:'''<br />
<br />
<code>Ctrl+S</code> (или <code>View->Enable Swizzling</code>) - включить режим swizzling-а.<br />
<br />
<code>Ctrl+A</code> (или <code>View->Alpha Mode</code>) - включить режим альфа-канала.<br />
<br />
Публичная версия поддерживает только просмотр, редактирование реализовано лишь частично во "внутренних"/"рабочих" версиях.<br />
<br />
==Ссылки==<br />
[http://gtamodding.ru/w/images/7/77/GTA_Stories_Texture_Explorer_1.0_public.rar Скачать]<br />
<br />
{{GTA Stories-navi}}<br />
{{Консольное описание}}<br />
[[Категория:GTA_LCS]][[Категория:GTA_VCS]][[Категория:Инструменты]][[Категория:Моддинг консольных версий]]</div>Seemannhttp://gtamodding.ru/wiki/RPFRPF2010-08-30T12:21:27Z<p>Seemann: </p>
<hr />
<div>'''RPF''' - новый вид архивов, представленных в GTA 4 (версии 2 и 3). Rockstar Games активно используют этот формат и в других своих играх.<br />
<br />
В большинстве своем <code>[[RPF|*.rpf]]</code> версии 2 "тотально" использовались в консольных версиях [[GTA IV]] (<code>common.rpf</code>, <code>xbox360.rpf</code>, <code>playerped.rpf</code>).<br />
<br />
в ПК-версии <code>[[RPF|*.rpf ]]</code> версии 2 практически упразднены (за исключением <code>playerped.rpf</code> и добавленного <code>game.rpf</code>). Поскольку консольный и ПК-формат не отличаются, не раз возникал вопрос о целесообразности возможностей полного редактирования формата публичными версиями программ. В настоящее время <code>[[RPF|*.rpf]]</code>-архивы версии 2/3 могут быть отредактированы в [[OpenIV]] и [[SparkIV]] (из-за чего появлялись читерские модификациии в Xbox Live).<br />
<br />
Список игр, использующих <code>[[RPF|*.rpf]]</code>:<br />
* Rockstar Games Presents Table Tennis: '''RPF 0''', '''RPF 1'''<br />
* GTA IV/EFLC: '''RPF 2''', '''RPF 3'''<br />
* Midnight Club: Los Angelos: '''RPF 3'''<br />
* Red Dead Redemption: '''RPF 6'''<br />
Отличия '''RPF 0''' - '''RPF 1''' и '''RPF 2''' - '''RPF 3''' в том, что четные (0, 2) содержат имена файлов, а нечетные - только хэши имен. '''RPF 6''' содержит хэши и может содержать имена.<br />
<br />
Ниже приведена структура архивов версий 2 и 3 (имеющих место в GTA IV).<br />
<br />
==Структура==<br />
<br />
===Заголовок===<br />
<br />
Все <code>[[RPF|*.rpf]]</code>-архивы имеют однотипный заголовок, из которого можно узнать версию архива, количество содержимого и зашифрован ли архив.<br />
<br />
4 байта - INT32 - Версия RPF (2: 0x32465052; 3: 0x33465052).<br />
4 байта - INT32 - Размер таблицы содержимого.<br />
4 байта - INT32 - Количество содержимых объектов.<br />
4 байта - INT32 - Неизвестно.<br />
4 байта - INT32 - Параметр зашифровки (если архив не зашифрован, то флаг равен нулю).<br />
<br />
===Таблица содержимого===<br />
<br />
Размер таблицы содержимого определяется значением в заголовке архива. Сама таблица начинается после 2048 байт от начала файла, ее шифрование так же зависит от соответствующего значения в заголовке (См. [[Шифрование (GTA 4)]]).<br />
<br />
Таблица содержит разделы директорий и файлов. Оба раздела отличаются своими структурами.<br />
<br />
===Раздел директорий===<br />
<br />
4 байта - INT32 - Оффсет имени (определяет оффсет в таблице названий где находится имя директории).<br />
4 байта - INT32 - Флаги (дает информацию о директории).<br />
4 байта - UINT32 - Индекс (дает информацию о номере в таблице первого файла директории).<br />
4 байта - UINT32 - Количество файлов в директории.<br />
<br />
===Раздел файлов===<br />
<br />
4 байта - INT32 - Оффсет имени (определяет оффсет в таблице названий).<br />
4 байта - INT32 - Размер (определяет размер файла).<br />
3 байта - UINT24 - Оффсет (определяет оффсет файла в архиве).<br />
1 байт - UCHAR8 - Тип ресурса (определяет версию ресурса - только для [[RSC]]).<br />
4 байта - UINT32 - Определяет сжат файл или нет.<br />
<br />
В качестве алгоритма сжатия используется Zlib (без deflate-заголовка).<br />
<br />
{{Консольное описание}}<br />
[[Категория:GTA 4]][[Категория:Форматы файлов]][[Категория:Моддинг консольных версий]]</div>Seemannhttp://gtamodding.ru/wiki/IMG_%D0%B0%D1%80%D1%85%D0%B8%D0%B2IMG архив2010-08-30T12:15:00Z<p>Seemann: </p>
<hr />
<div>В '''<code>[[IMG|*.img]]</code> архивах''' GTA в основном хранятся игровые модели, текстуры, транспортные и пешеходные пути, анимации, а так же [[Внешние скрипты|внешние скрипты]]. IMG архив имеет расширение <code>.img</code>. Эти архивы разделяются на версии и имеют схожий между собой формат (за исключением версии, используемой GTA 4).<br />
<br />
== Структура ==<br />
<br />
=== Версия 1 - GTA III & VC ===<br />
Архивы первой версии, используемые в [[GTA III]] и [[Vice City]], разделены на два файла: директория содержимого архива <code>*.dir</code> и сам архив, содержащий файлы <code>[[IMG|*.img]]</code>.<br />
<br />
Директория содержит список файлов, их имена, смещение и размер. Изначально формат <code>[[IMG|*.img]]</code> оптимизировался для использования на DVD или CD, поэтому размер и смещение файлов кратны сектору DVD (2048 байт). Даже если файл имеет размер менее 2-х КБ (например, 218 байт), то в архиве он будет занимать 2 КБ. Файлы (обычно) не сортированы, не сжаты и располагаются "друг за другом" (никакой древовидной иерархии).<br />
<br />
Чтобы найти общее количество элементов (файлов) в <code>[[IMG|*.img]]</code> архиве, необходимо разделить размер *.dir файла на 32.<br />
<br />
Файл директории не имеет заголовка, просто массив элементов по 32 байта на каждый:<br />
<br />
Элемент (повторяется n-раз, где n - общее количество элементов):<br />
<br />
4 байта - DWORD - смещение файла (в блоках) в *.img архиве, относительно его начала<br />
4 байта - DWORD - размер файла (в блоках) в *.img архиве<br />
24 байта - CHAR[24] - имя файла<br />
<br />
Сам IMG архив не имеет заголовка, просто файлы, как говорилось ранее, расположенные в блоках по 2 КБ.<br />
<br />
[[Изображение:IMG_file_alloc.png|center|Схема распределения файлов в <code>[[IMG|*.img]]</code> архиве]]<br />
<br />
===Версия 1А - GTA:LCS и GTA:VCS===<br />
<br />
Структура <code>[[IMG|*.img]]</code>-архива Stories не отличается от структуры версии 1, однако отсутствует <code>.dir</code> файл в открытом виде (исключение - <code>CUTS.IMG</code> [[GTA:LCS]] и <code>MOCAP.IMG</code> [[GTA:VCS]]). Для того чтобы открыть такой архив нужно либо извлечь данные директории из [[DTZ|game.dtz]] (имена файлов, их смещение и размер находятся именно там), либо составить <code>.dir</code> таблицу файлов (причем второй вариант оказался гораздо более простым и данная функция есть в [[YAIE]] - таблица директории формируется исходя из заголовков самих файлов).<br />
<br />
=== Версия 2 - GTA SA ===<br />
Архивы второй версии, используемые в GTA San Andreas, содержат <code>.dir</code> и <code>.img</code> файлы в одном <code>[[IMG|*.img]]</code> файле. Директория имеет такой же формат, как и в формате 1-ой версии, но располагается в начале <code>[[IMG|*.img]]</code> файла. Файлы так же размещены в блоках по 2 КБ. Смещения файлов задаются ''от начала самого архива'', а не от конца списка файлов.<br />
<br />
Заголовок:<br />
<br />
4 байта - CHAR[4] - сигнатура архива, всегда имеет значение "VER2"<br />
4 байта - DWORD - общее количество элементов (файлов)<br />
<br />
Элемент: (повторяется n-раз, где n - общее количество элементов):<br />
<br />
4 байта - DWORD - смещение файла (в блоках) в архиве<br />
4 байта - DWORD - размер файла (в блоках)<br />
24 байта - CHAR[24] - имя файла<br />
<br />
Недостаток этого формата - неудобство его расширяемости. Если вы добавите слишком много файлов, директория начнёт записываться ''поверх первых файлов в архиве'', поэтому вам нужно будет записывать первые файлы в конец архива.<br />
<br />
===Версия 3 - GTA IV===<br />
Данная версия архива имеет более сложную структуру. Общим со старыми версиями осталось только то, что файлы выравнены по размеру сектора (2048 байт). <br />
Каталог архива может быть зашифрован.<br />
<br />
==== Заголовок ====<br />
<br />
Заголовок файла всегда равен '''20 байтам'''.<br />
<br />
4 байта - DWORD - Идентификатор (0xA94E2A52) Если, это поле имеет другое значение, архив зашифрован<br />
4 байта - DWORD - Версия (всегда 3)<br />
4 байта - DWORD - Количество объектов<br />
4 байта - DWORD - Размер каталога (в байтах)<br />
2 байта - WORD - Размер элемента каталога (всегда должен быть равен 0x10)<br />
2 байта - WORD - Неизвестно<br />
<br />
==== Каталог архива ====<br />
<br />
Каталог архива состоит из двух частей: описателей файлов, содержащих смещение и размер файла внутри архива и имен файлов. <br />
В зависимости от способа загрузки файла, формат полей описателя может отливаться. Для [[RSC]], указывается размер и количество выделяемых блоков памяти (страниц), для обычных файлов, указывается общая длина.<br />
<br />
Определить, какой из форматов описателя используется ([[RSC]]/не [[RSC]]), можно по старшему биту поля dwLength (для RSC он равен 1)<br />
<br />
В начале идет массив описателей по 16 байт:<br />
<br />
{| {{Таблица}}<br />
!Размер || Имя поля || Назначение || RSC-файлы || Остальные файлы <br />
|-<br />
|4 byte - DWORD || dwLength || Размер объекта в памяти || Поле флагов из заголовка RSC || Размер объекта <br />
|-<br />
|4 byte - DWORD || dwVersion || Версия ресурса || Поле версии из заголовка RCS || не используется<br />
|-<br />
|4 byte - DWORD || dwOffset || Позиция в IMG || Смещение в блоках || Смещение в блоках <br />
|-<br />
|2 byte - WORD || wSectorCount || Размер объекта на диске || Кол-во блоков || Кол-во блоков <br />
|-<br />
|2 byte - WORD || wPaddingSize || Размер объекта на диске || PaddingSize+установлен бит 13 || PaddingSize <br />
|}<br />
<br />
PaddingSize - Размер неиспользуемого места в последнем блоке<br />
<br />
За описателями следуют имена файлов, разделенные '\x0' (нулевым байтом), в том же порядке, что и описатели.<br />
<br />
==== Чтение зашифрованных архивов ====<br />
<br />
Если идентификатор архива не равен <code>0xA94E2A52</code>, архив считается зашифрованным.<br />
Для чтения такого архива, следует прочитать заголовок (20 байт), но дешифровать только первые 16 байт.<br />
После этого, следует снова проверить идентификатор. Если идентификатор корректный, следует считать каталог (размер берется из расшифрованного заголовка) и дешифровать его, округлив размер до числа кратного 16, вниз. (Например, если указан размер 259 байт, дешифруются только первые 256).<br />
<br />
Шифрование - стандартное для IV - [[Шифрование (GTA 4)|AES]].<br />
<br />
[[Категория:GTA 3]][[Категория:GTA VC]][[Категория:GTA SA]][[Категория:GTA 4]][[Категория:Форматы файлов]]</div>Seemannhttp://gtamodding.ru/wiki/DATDAT2010-08-30T12:14:20Z<p>Seemann: </p>
<hr />
<div>{{Stub}}<br />
[[DAT]]-файл - это файл, хранящий определенные настройки или параметры. Как правило, DAT-файлы являются текстовыми (но встречаются и бинарные) и имеют четкую структуру. Файлы данного типа обычно расположены в папке data корневого каталога игры.<br />
<br />
== Описание файлов ==<br />
* [[weapon.dat]] - хранит настройки оружия (скорострельность, количество патронов и т.п.)<br />
* [[popcycle.dat]] - определяет количество транспорта, людей в различных областях карты<br />
* [[ped.dat]] - определяет взаимоотношения между определенными группами и так далее.<br />
* [[Carcols.dat]] - настройки цветов для транспорта<br />
* [[Handling.dat (GTA 4)|Handling.dat]] - характеристики автотранспорта в GTA 4<br />
<br />
[[Категория:Форматы файлов]]</div>Seemann