Заработай на своем сайте Купите рекламу от 5 центов за клиента!
GTA Скриптинг
Приветствую Вас Гость | RSS
Главная | Каталог статей | Регистрация | Вход
Меню сайта

Научись скриптить

Реклама

Главная » Статьи » Учения скриптингу » Уроки

ТРАНСПОРТ

                                                                  

Транспортом являются все самолёты,машины,мотоциклы,велосипеды,катера,верто-
лёты и поезда.Я разделил эту главу на несколько частей:
1 - Создание припаркованных транспортных средств.Пример.
2 - Общие команды,т.е. команды применимые ко всем видам транспртных средств.
3 - Команды,применимые только для машин,мотоциклов и велосипедов.
4 - Команды,применяемые к самолётам.
5 - Команды,применяемые к вертолётам.
6 - Команды,применяемые к лодкам.
7 - Команды,применяемые к поездам.
8 - Условия(проверки).
9 - Примеры.

1) Создание припаркованных транспортных средств.
Чтобы создать припаркованное транспортных средство не надо загружать никаких моделей,надо
в первую очередь создать свой поток,потом написать начало,ваит и конец потока:

create_thread @MyCars

  :MyCars
  wait 0
-------Тут надо писать создание припаркованного тр. средства.-------
  end_thread

Там где написано "-------Тут надо писать ..." описывается создание транспортного средства.
Оно состоит из двух команд:
 014B: $Car = init_parked_car_generator #Model 8 8 0 alarm 50 door_lock 0 0 40000 at X Y Z
 angle 180.0
 014C: set_parked_car_generator $Car cars_to_generate_to 101
Разберём эти две команды поподробнее:
 1 команда:
$Car - имя тр. средства,не должно повторяться.
#Model - показывает,машина какой модели должна быть припаркована,все модели в первой колонке
файла "handling.cfg" после вырыжения "- cars -".Файл в папке "data" вашего San Andreas'a.
Не забывайте,что там модели написаны без знака # впереди,а в SB этот знак надо обязательно
добавлять.
Цифры 8 8 обозначают цвет машины,цвета описаны в файле "Carcols.dat",лежит в папке "data".
Цифра 50 показывает установленность сигнализации в машине,это проценты.
Цифра 0 после слова "door_lock" показывает вероятность(в процентах) закрытых дверей.
Цифра 0 после слова "lock 0" указывает будут ли менты реагировать на то, что вы угнали
 машину,если 0,то будут,а если 1,то им это будет по-барабану.
Цифра 40000 указывает цену машины,правда зачем она нужна,ведь тачку всё равно не продать.
X,Y,Z - понятно,что это координаты машины.
Цифра 180.0 указывает на угол поворота машины.
 2 команда:
$Car - имя тр. средства,которое мы только-что создали.
101 - частота появления машины,если поставим 0,то вообще никогда тачку не увидим,а вот если
 101,то транспортное средство будет появлятся всегда.

Теперь вы знаете,как создать припаркованную машину,давайте создадим припаркованных Урануса
и Инфернуса возле дома CJ'я:
Если вы ещё не создали поток с именем MyCars,то создаёи его вот так:

create_thread @MyCars   // Если не поняли,где его создавать,то читайте первую главу.

:MyCars
wait 0
014B: $Car1 = init_parked_car_generator #URANUS 8 8 0 alarm 0 door_lock 0 0 40000 at
 2488.74 -1670.0 13.34 angle 120.0  // Команда должна быть написана на одной строке !!!
014C: set_parked_car_generator $Car1 cars_to_generate_to 101
014B: $Car2 = init_parked_car_generator #INFERNUS 8 8 0 alarm 50 door_lock 0 0 40000 at
 2479.71 -1671.72 13.4 angle 120.0  // Команда должна быть написана на одной строке !!!
014C: set_parked_car_generator $Car2 cars_to_generate_to 101
end_thread

Если у вас игра начинается не возле дома CJ'я,то едьте к его дому и смотрите на припаркован-
ные машины,а если вы с самого начала там появляетесь,то отъедьте недалеко,потом приедьте
обратно и получите своего Урануса и Инфернуса вместе с ним тоже.Теперь эти машины будут
появлятся постоянно.
А вот сейчас я расскажу о транспорте,который специально создают для потоков,так называемом-
одноразовом транспорте.
 

2) Общие команды,т.е. команды применимые ко всем видам транспртных средств:

 Начнём конечно с команды создания транспртного средства:
car.Create($Car,#MODEL,1024.0,768.0,32.0)
  $Car - имя нашей машины.
  #MODEL - модель машины,где смотреть все модели написал раньше.
  1024.0 - координата по оси X.
  768.0 - координата по оси Y.
  32.0 - координата по оси Z.
Эта команда создаёт транспорт один раз,потом он там появлятся сам не будет,поэтому её и ис-
пользуют во всех потоках и миссиях.
car.Destroy($Car) - уничтожает машину.
car.PutAt($Car,X,Y,Z) - помещает в заданную точку.
03C0: $Car = actor $PLAYER_ACTOR car - записывает в переменную $Car машину актёра.
02E3: $Speed = car $Car speed - присваевает переменной скорость машины.
04BA: set_car $Car speed_instantly 20.0 - устанавливает скорость машины.
Car.SetMaxSpeed($Car, 10.0) - устанавливает максимальную скорость машины,т.е. ту ,до
 которой машина может сама разогнаться.
car.RemoveReferences($Car) - удалить все свединия о машине $Car.
0229: set_car $Car color_to 11 0 - цвета написаны в файле "Carcols.dat" из папки "data".
0294: set_car $Car sprayable 0 - машину можно перекрашивать,если 1 и нельзя,если 0.
car.StorePos($Car,$X,$Y,$Z) - записать координаты машины в переменные $X,$Y и $Z.
0622: AS_unknown_remove_actor $Actor from_car $Car - убрать актёра из машины.
05CD: AS_actor $Actor exit_car $Car - актёр выходит из машины,если та стоит и выпрыгивает,
 если едет.
0407: create_coordinate $X1 $Y1 $Z1 from_car $Car offset 0.0 10.8 3.0
0683: attach_car $Car_1 to_car $Car_2 at_offset 0.0 -4.6 0.65 rotation 0.0 0.0 0.0 -
 прицепляет одну машину к другой на опред. расстоянии под опред. углами вращения.
marker.CreateAboveCar($Mark,$Car) - создаёт маркер над транспортным средством.
car.DoorStatus($Car) = 0 - двери у машины открыты,если 2,то закрыты.
Car.LockInCurrentPosition($Car) = true - закрепить машину в конкретной позици.
car.SetImmunities($Car,1,1,1,1,1) - устанавливает машине определённые имунитеты,тут
 первая цифра - защита от пуль, вторая - от огня, третья - от взрывов, четвертая - от
 оружия ближнего боя,пятая от столкновений.
066C: $P = attach_particle "CEMENT" to_vehicle $C offset 0.0 -4.4 0.0 rotation 0.0 1.0 0.0 1 -
  прицепить Раrticle эффект к машине.Все Раrticle эффекты описаны в главе "Раrticle эффекты".
041E: set_radio_station 0 - устанавливает радиостанцию.Вот их номера:
 0 - PlayBack
 1 - K-Rose
 2 - K-DST
 3 - Bounce FM
 4 - SFUR
 5 - Radio Los Santos
 6 - Radio X
 7 - CSR 103.9
 8 - K-JAH West Radio
 9 - Master Sounds
 10 - WCTR Talking Radio
 11 - MP3 Player
 12 - Выключить радио


3) Машины,мотоциклы и велосипеды:
Подбирайте команды с умом,например на велосипед или мотоцикл гидравлику не поставишь,просто
некоторые команды тут только для машин.

car.DriveTo($Car) - машина едет в заданную точку.
car.ToggleTaxiLight($Car) = true - включить значок такси на машине,false - выкл.
067F: set_car $Car headlights 2 - включить у машины фары,если 0,то выключить.
06E9: request_car_component #COMPONENT - загрузить компонент тюнинга
06E7: $Comp = add_car_component #COMPONENT to_car $Car - прицепить машине компонент тюнинга.
Car.SetToNormalDriver($Car) - устанавливает машине нормального водителя.
Car.SetDriverBehaviour($Car,Nowhere) - устанавливает тип езды для машины,0 или Nowhere -
никуда не ехать,1 или FollowRoad - следовать дороге, 2 - ездить за игроком, 4 - ездить за
игроком,8 - ехать напрямик,не обращая внимания на дорогу.
07F8: car $Car_1 follow_vehicle $Car_2 radius 27.0 - заставляет одну машину следовать за
 другой,держась на определённом расстоянии.
car.ToggleHydraulics($Car) = true - устанавливает на машину гидравлику.
0657: car $Car open_component 0 - открывает часть машины.Вот номера частей:
 0 - Капот.
 1 - Багажник.
 2 - Дверь водителя или левого переднего места.
 3 - Дверь правого переднего места.
 4 - Дверь заднего левого места.
 5 - Дверь заднего правого места.
00AE: unknown_set_car 71@ to_ignore_traffic_lights 2 - машина игнорирует светофоры(2-да).
0674: set_car_model #ADMIRAL numberplate "VOVAN" - присваевает модели машины задний номер
 с текстом VOVAN. Сначало надо написать эту команду,а потом уже создать машину с такой
 моделью.
0939: attach_car $Car to_object $Obj at_offset 0.0 0.0 -0.8 rotation 0.0 0.0 180.0 -
 прицепить машину к объекту.


4) Команды,применяемые к самолётам:

04D2: unknown_RC_car $Plane race_to 1600.0 1200.0 64.0 - заставляет настоящий самолёт
 лететь к заданной точке.
070F: (unknown) $Plane 0.0 130.0 130.0 - заставляет самолёт лететь под опред.углом(0.0) на
 опред.высоте(130.0 130.0).Если рассмотреть карту SA,как плоскость,то легко подсчитать угол
 полёта.
08E6: plane $Plane change_landing_gear 1 - шасси у самолёта выпушенуо,если 1 и не выпущено,
 если 0,но временами эти команды проглючивают.
084E: flying_vehicle $SamNeLet use_primary_gun 1 - использование самолётом (ГИДРА) ракет.
0841: flying_vehicle $SamNeLet use_secondary_gun 1 - использование пулемёта (ДИЛЛЕР).
0724: flying_vehicle $SamNeLet follow_and_attack_player $PLAYER_CHAR radius 40.0 -
 самолёт держится на определённом радиусе от игрока и атакует его.


5) Команды,применяемые к вертолётам:

04A2: heli $Heli fly_to 640.0 480.0 128.0 speed 60.0 60.0 - указывает вертолёту,куда надо
 лететь,высотой являются последние два параметра "60.0 60.0".
084E: flying_vehicle $Heli use_primary_gun 1 - использование вертолётом (HUNTER) ракет.
0841: flying_vehicle $Heli use_secondary_gun 1 - исп. вертолётом (HUNTER) пулемёта.
0724: flying_vehicle $Heli follow_and_attack_player $PLAYER_CHAR radius 40.0 -
 вертолётом держится на определённом радиусе от игрока и атакует его.
0788: enable_heli $Heli magnet 1 - устанавливает на вертолёт магнит,если 0,то убирает.
 

6) Команды применяемые к лодкам:

02D3: boat $Boat drive_to 10000.0 -100.0 0.0 - лодка плывёт в заданную точку.
02DB: set_boat $Boat speed_to 50.0 - установить лодке скорость.


7)Команды применяемые к поездам:

06D8: $Train = create_train_at 2285.1523 -1257.4998 23.0 type 15 direction 1 - создаёт поезд
 типа 15 и ставит его на рельсы.
06DD: set_train $Train speed 23.0 - устанавливает скорость поезда.
06D7: toggle_train_traffic 0 - частота появления поездов(0-нет вообще,1+ - как всегда).


8) Вот проверки,применяющиеся к транспортным средствам :

  0185: car $Car health >= 10 - жизни машины $Car больше либо равняется 10
  07AB: car $Car_1 attached_to_car $Car_2 - машина 1 пицеплена к машине 2.
  0495: car $Car burning - машина горит.
  02CA: car $Car bounding_sphere_visible - игрок видит авто $Car
  02BF: car $Car sunk - машина с именем $Car упало в воду
  0981: train $Poezd wrecked - поезд с именем $Poezd уничтожен
  01C1: car $Car stopped - машина с именем $Car остановилась
  03C9: car $Car damaged - машина с именем $Car повреждена
  096E: car $Car lowrider - машина с именем $Car лоурайдер
  01C1: car $Car stopped - машина с именем $Car стоит на месте
  Car.Id($car) == #HYDRA - модель машины с именем $Car-это #HYDRA 
   //тут перед всем опкодом можно поставить "not",потому-что тут нет кодового слова.
  01F3: car $Car airborne - машина с именем $Car находится в воздухе
   //я думаю,что вы поняли,что и в эту команду можно вставить "not".
  03CE: car $Car stuck - машина с именем $Car перевёрнута
  0119: car $Car wrecked - машина с именем $Car уничтожена
  01B0: car $Car stopped 0 near_point  X Y Z radius 4.0 4.0 4.0 машина с именем $Car остано-
                                         вилась в радиусе 4.0 от точку с координатами X Y Z
  01F4: car $Car flipped - машина с именем $Car тонет
  056E: $Car - машина $Car существует
  0431: car $Car car_passenger_seat_free 0 - место 0 в машине $Car свободно
  051D: cars $Car_1 and $Car_2 collided - машина $Car_1 и $Car_2 столкнулись.
  0803: car $Car have_hydraulics - у машины $Car есть гидравлика

9) Примеры:

 1. Давайте сделаем так,что когда игрок садится в машину,то она становится неуязвимой,и все
    двери у неё становятся запертыми,так что менты вас оттуда не смогут вытащить:

   create_thread @SuperCar  //создаём поток,если не знаете как,то читайте первую главу.

 :SuperCar                 // Начинаем поток
 wait 5000                 // ждём 5 секунд
 if and                             // условие с выполнением всех подусловий
 player.defined($Player_char)       // подусловие - игрок существует
 actor.driving($Player_actor)       // подусловие - игрок за рулём
 jf @SuperCar                       // если эти два подусловия не выполнились,то переходим
 03C0: $Car = actor $PLAYER_ACTOR car//Присваиваем переменной имя машины игрока // на начало
 car.SetImmunities($Car,1,1,1,1,1)  // устанавливаем машине иммунитеты
 car.DoorStatus($Car) = 2             // делаем двери закрытыми.
 wait 2000

 :SuperCar_2                     // создаём второй label
 wait 0                           // не ждём ,но писать всё равно надо
 if                               // просто условие
 not actor.driving($Player_actor) // актёр не за рулём
 jf @SuperCar_2                   // если всё таки за рулём,то переходим на начало label'a
 car.DoorStatus($Car) = 0            // если он не за рулём,то возвращаем машине откр. двери
 car.SetImmunities($Car,0,0,0,0,0)   // и делаем машину опять уязвимой
 car.RemoveReferences($Car)         // и удаляем все сведения о машине игрока,чтобы память
 jump @SuperCar        // переходим к началу потока                       //зря не забивать

Категория: Уроки | Добавил: gtascript (11.08.2007)
Просмотров: 829 | Комментарии: 1 | Рейтинг: 0.0/0 |

Всего комментариев: 0
Имя *:
Email *:
Код *:
Форма входа

Часы

Скорость интернета

Друзья сайта

eServer.ru :: Хостинг-оператор #1 Сайт полностью посвящен мультфильму
САЙТ КАМРАНА!!!! Бесплатные игры, программы, МР3, новости и многое другое Только на сайте КАМРАНА!!!!! Все о Mafia 2 GTAIV Портал Только русские файлы для gta san andreas Софт для gta sanandreas Лада-тюнинг-эксклюзивные тюнингованые авто для GTA:SA


Статистика

Dating.ru Топ100 - Игры RusTusovka.COM - ТОП 100 Русско-Язычных Сайтов Русский Топ Рейтинг Топ GamerPro SERP: gta скрипты программы миссии


Copyright MyCorp © 2025 Конструктор сайтов - uCoz