Косметические изменения в игре
Наверное, многие новички задавались вопросом: а зачем учить скриптинг, когда нужно всего-то расставить пару тачек и оружий на нужных местах. Этому и поспособствует данная статья.
Что нужно иметь для начала скриптинга.
Sanny builder, желательно самой последней версии. На момент написания статьи доступна версия 2.97 (скачать можно на нашем сайте)
Подготовка к скриптингу
Распаковываем архив и запускаем программу. Заходите в меню Tools/Options, там ставите все галочки, кроме первой, выбираете GTASA в списке над галочками, нажимаете "многоточие" и выбираете папку с игрой. Затем ОК, а затем выйдите и войдите заново в Sanny builder. Нажмите File/Open и выберите внизу строки тип файла .scm Выберите main.scm. Но это только в том случае, если вы хотите внести некоторые изменения в ваш текущий мэйн.
Т.е., если у вас обычный мэйн, то после изменений в нем вам придется заново проходить миссии. Поэтому я советую вам поставить мэйн с уже пройденными миссиями (stripped-main), которых на свете несколько. Можно скачать с нашего сайта. Там все миссии вырезаны.
Итак, мэйн открыли. Если вы пытаетесь серьезно замодить оригинальный мэйн, то не советую этого делать - возможны любые глюки. Ставить скрипты лучше на stripped-main. Ну а если вам хочется изменить пару паркингов да поставить оружие у хаты, то ради бога. Но в любом случае, придется начинать все заново и проходить миссии.
На всякий случай сообщаю, что поиск вызывается клавишами Ctrl+F - это нам не раз пригодится по ходу чтения статьи.
Изменение стартовой позиции игрока
Сделайте поиск на строку 0053: $PLAYER_CHAR = create_player #NULL at 2488.562 -1666.864 12.8757
Измените в этой строке координаты 2488.562 -1666.864 12.8757 на ваши любые. Как это сделать? Не выходя из билдера запустите игру. Выберите вашу новую стартовую позицию и встаньте в выбранную точку. Не выходя теперь уже из игры переключитесь на SB (alt-tab) и нажмите F4. В появившемся окне указаны ваши текущие координаты. Нажмите Copy и закройте окно. Затем выделите координаты 2488.562 -1666.864 12.8757 и нажмите Ctrl-V (вставить). Координаты заменятся. Сохраните, нажмите F7 (можно не выходя из игры, но тогда вам выдадут сообщение об ошибке, которое само по себе ничего особо важного не сообщает) и перейдите в игру. Начав новую игру, проверьте, где стартуете. Если ничего не изменилось, вставьте те же координаты в строку 03CB: set_camera 2488.562 -1666.864 12.8757
находящуюся чуть выше предыдущей измененной. Если же и после этого ничего не изменится, добавьте первые две координаты в строку выше 04E4: unknown_refresh_game_renderer_at 2488.562 -1666.864
Изменение стартовой одежды игрока
Сделайте поиск на слова 087B: set_player $PLAYER_CHAR clothes
вы увидите примерно такую картину 087B: set_player $PLAYER_CHAR clothes "tshirtsuburb" "tshirt" body_part 0
087B: set_player $PLAYER_CHAR clothes "bbshortwht" "boxingshort" body_part 2
087B: set_player $PLAYER_CHAR clothes "SNEAKERBINCBLK" "SNEAKER" body_part 3
087B: set_player $PLAYER_CHAR clothes "PLAYER_FACE" "HEAD" body_part 1
слова, что в кавычках, можно изменить на другие - тем самым изменится ваша одежда.
Первая строка отвечает за футболку/куртку, вторая за штаны/трусы, третья за обувь, а четвертая за голову. Список одежд лежит в файле shopping.dat, находящемся в папке с игрой/data. Сделайте поиск в этом файле на слово player_torso, все что ниже этого слова, относится к одежде. Рассмотрим строку из мэйна: 087B: set_player $PLAYER_CHAR clothes "tshirtsuburb" "tshirt" body_part 0
Рассмотрим параметры: ["tshirtsuburb"] - означает название одежды. Оно в файле shopping.dat располагается в том же столбце, что и player_torso. Смотрите: дальше идут foot, vestblack и т.д. ["tshirt"] - означает тип одежды. Тип в shopping.dat находится в столбце между словом, выделенным ЗАГЛАВНЫМИ буквами и неким числом от 0 и выше player_torso TORSO torso 0 respect 5 sexy 20 0 третье слово в данном случае - тип одежды.
Например, мы хотим переодеть сиджея в черную футболку. Для этого меняете в той строке мэйна, где есть надпись body_part 0 087B: set_player $PLAYER_CHAR clothes "tshirtsuburb" "tshirt" body_part 0
слово в первых кавычках на "vestblack", а во вторых кавычках на "vest". Получилось следующее: 087B: set_player $PLAYER_CHAR clothes "vestblack" "vest" body_part 0
Аналогично и для остальных строк.
Парковка тачек на заданных местах
Сделайте поиск на слова init_parked_car_generator #CLOVER -1 -1 0 alarm 0 door_lock 0 0 10000 at 2445.5 -1340.8 23.5 angle 180.0, скопируйте строки, например: 014B: $2766 = init_parked_car_generator #CLOVER -1 -1 0 alarm 0 door_lock 0 0 10000 at 2445.5 -1340.8 23.5 angle 180.0
014C: set_parked_car_generator $2766 cars_to_generate_to 101
И вставьте их над найденной строкой. Не выходя из билдера запустите игру. Выберите место для будущей припарковонной машины и встаньте в выбранную точку. Не выходя из игры переключитесь на SB (alt-tab) и нажмите F4. В появившемся окне указаны ваши текущие координаты. Нажмите Copy и закройте окно. Вставьте эти координаты заместо
2445.5 -1340.8 23.5 в той продублированной ранее строке. Теперь выберите саму машину, которую хотите припарковать. Откройте файл vehicles.ide и смотрите все слова, стоящие за числами 400...611 (напр., 400, landstal, и т.д.). Скопируйте это слово (в нашем случае landstal) и вставьте заместо #CLOVER. Затем припишите # впереди. Получится вот что 014B: $2766 = init_parked_car_generator #LANDSTAL -1 -1 0 alarm 0 door_lock 0 0 10000 at ваши координаты angle 180.0
014C: set_parked_car_generator $2766 cars_to_generate_to 101
Затем измените число $2766 и в первой и во второй строках на любое слово, но чтоб знак $ был спереди. Например 014B: $moya_parkovka = init_parked_car_generator #LANDSTAL -1 -1 0 alarm 0 door_lock 0 0 10000 at ваши координаты angle 180.0
014C: set_parked_car_generator $moya_parkovka cars_to_generate_to 101
Некоторые параметры: [-1 -1 0] - эти числа отвечатю за цвет машины. -1 означает любой цвет (рэндом). Т.е. цвет паркованной тачки выберется автоматически. Вы можете подставить свои цвета - от 0 до 126. Эти цвета хранятся в файле carcols.dat, что в папке data. Скорее всего, у вас этот файл выглядит так
col
0,0,0 # 0 black black
245,245,245 # 1 white white
и вот в этих строках и указан номер цвета - от 0 до 126. Напр., 1 это белый, 0 черный и т.д. Ставите розовый цвет, допустим 014B: $moya_parkovka = init_parked_car_generator #LANDSTAL 126 126 0 alarm 0 door_lock 0 0 10000 at ваши координаты angle 180.0
014C: set_parked_car_generator $moya_parkovka cars_to_generate_to 101
Всё, когда наставите тачек, компилируете F7 и запускаете новую игру.
Расстановка оружия
Сделайте поиск на строку ---miss и над ней вставьте 032B: $811 = create_weapon_pickup #M4 15 ammo 60 at 2021.879 1001.467 10.3203
Ищете координаты способом, описанным выше, заменяете их во вставленной строке, затем меняете $811 на что-нибудь свое, например $oruzhie и меняете #M4 на любое другое оружие. Список оружия находится в файле weapon.dat в папке data. Сделайте в том файле поиск на слово AK47 и под ним найдете M4. Вот в том же столбце слева располагаются названия оружий. Допустим, вы ставите калаш 032B: $oruzhie = create_weapon_pickup #AK47 15 ammo 60 at ваши координаты
слово ammo 60 означает, сколько патронов в оружии. Ставите любое число до 9999, например, 032B: $oruzhie = create_weapon_pickup #AK47 15 ammo 575 at ваши координаты
Если же вы хотите разместить оружие нестреляющее (катану там например), то используете не предыдущую строку, а вот эту: 0213: $3058 = create_pickup #POOLCUE type 15 at 2854.0 944.0 11.0
соответственно, опять меняете координаты и название $3058 на свое.