Форум - Скриптинг в GTA
22 Ноября 2017, 13:15:54 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
   Начало   Помощь Поиск Календарь Войти Регистрация  
Страниц: 1 [2]   Вниз
  Печать  
Автор Тема: Опкоды  (Прочитано 22316 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Admiral
Пользователь
**
Офлайн Офлайн

Сообщений: 100


Scorpion


« Ответ #15 : 09 Сентября 2008, 18:48:30 »

Yelmi, я нашёл тут опкод: 0676: AS_actor %1h% in_car %2d% move_from_passengerseat_to_driverseat, но как его использовать, каким опкодом добавить проверку, на то, что сидит ли игрок в переднем правом пассажирском сидении?
Или что, сидит ли он в заднем  правом пассажирском сидении?
Записан
yelmi
Администратор
*****
Офлайн Офлайн

Сообщений: 321



« Ответ #16 : 09 Сентября 2008, 19:33:10 »

Код:
0432: 18@ = get_actor_handle_from_car $TEMPVAR_ACTOR_CAR passenger_seat 0
if
 18@ == $ACTOR
jf @КУДА_НИБУДЬ
0676: AS_actor $ACTOR in_car $TEMPVAR_ACTOR_CAR move_from_passengerseat_to_driverseat
Записан
Admiral
Пользователь
**
Офлайн Офлайн

Сообщений: 100


Scorpion


« Ответ #17 : 09 Сентября 2008, 20:37:07 »

Сделал по-твоему Yelmi, Builder выдаёт ошибку:

Неверное выражение 18@ == $ACTOR.
Одна из переменных имеет неизвестный тип, либо их типы несовместимы.

А можешь ли ты сам сделать такой скрипт: при нажатии на саб-миссию -
 0676: AS_actor $ACTOR in_car $TEMPVAR_ACTOR_CAR move_from_passengerseat_to_driverseat.
А потом выложить его для скачки.
« Последнее редактирование: 09 Сентября 2008, 20:41:45 от Admiral » Записан
Gadina
Пользователь
**
Офлайн Офлайн

Сообщений: 148


мастерство не пропьёш...


« Ответ #18 : 08 Октября 2008, 22:36:59 »

Я тут для себя разобрал да и вам думаю пригодится.
Запчасти машин.
Код:
____________________________________
______________Компоненты машины_________
------------------------------------
------------------------------------
У машин есть несколько компонентов.
0-капот 1-багажник 2-3-4-5-двери и колёса-Это всё можно удалять и заново востанавливать.
А также бутафория Бамперы , фары, передние стёкла.
(Не забываем главное правило не использовать в скриптах Клео переменные $CAR , сдесь я ставил их для примера)

0657: car $CAR open_componentA 4 -Открывает Одну из частей машины, просто мгновенно Становится открытым например Багажник.
08A6: set_car $CAR componentA 2 rotation_to 0.1 -Позволяет сделать плавное открытие части машины. Багажник-2, оттопырить на 0.1. Делайте в цикле, значение оттапыривания от 0.0 до 1.0.
095E: set_car $CAR componentA 4 manipulation 1 value -1.0 -Делает деталь автомобиля расхлябениной. Как будто дверь разболталась или багажник. -1.0 захлопнет, 1.0 расхлебенит.

Два варианта повредить транспорт.
0730: car $CAR damage_component 1 // versionA - Поломка вариант А
073C: car $CAR damage_component 0 // versionB - Поломка вариант В
Эти два опкода по разному наносят ущерб запчастям машины.
Не все запчасти могут быть повреждены одним опкодом.
Делая Повреждение этими опкодами вы имитируете одно сталкновение.
Например чтобы отарвать передний бампер нужно опкод повторить трижды.

0730: car $CAR damage_component 1 // versionA -
0-фара передняя левая. затем крыло отвалится.
1-фара передняя правая.затем крыло отвалится.
3-Фары задние обе.
4-Переднее окно.
5-Бампер передний.
6-Бампер задний.
дополнительное повреждение
-1 пробитое заднее правое колесо. Повторное повреждение и машина трёться по земле днищем.
-2 пробитое переднее правое колесо.
-3 пробивает заднее левое колесо.
-4 пробитое переднее левое колесо.
Если пробить все колёса машина просто плывёт в асфальте.

073C: car $CAR damage_component 0 // versionB -
0-капот.
1-багажник. 
2-левая передняя дверь.
3-правая передняя дверь.
4-Левая задняя дверь.
5-правая задняя дверь.
9-Задние фары обе.
10-Стекло переднее.
11-Бампер передний.
12-Бампер задний.
дополнительное повреждение -1 пробитое заднее колесо

Разобрать быстро машину можно этим опкодом. Всего в машине 12-компонентов.
Но не все можно оторвать одним опкодом.
0689: set_car $CAR remove_componentA 2 visible_effect_flag 1 //-Это опкод может оторвать компонент. 0-капот 1-багажник 2,3,4,5-Двери
0697: set_car $CAR remove_componentB 1 visible_effect_flag 1 //-Это опкод может оторвать Компонент. 0-Крыло левое 1-Крыло правое с решёткой 5-бампер передний 6-бампер задний
flag 0-Просто исчезает компонент, например дверь.
flag 1-Компонент машины видимо Отваливается от машины.

Опкод востанавливает части машины, которые были сломаны Опкодами выше :
068A: set_car $CAR repair_componentA 2 //-компоненты починки от 0 до 11 потом вылетит.
0-капот    2-дверь левая передняя  4-Дверь левая задняя
1-Багажник 3-дверь правая передняя 5-Дверь правая задняя
0698: set_car $CAR repair_componentB 4 //-компоненты починки от 0 до 11 потом вылетит.
0-Левое крыло  4-Стекло переднее 5-Бампер передний
1-Правое крыло                   6-Бампер задний


Проверки компонентов:
06EA:   car_component $10415 available -Компонент машины найден.
86EA:   not car_component #WHEEL_OR1 available -Не загружен компонент
88A7:   not car 34@ componentA 2 opened_or_not_present -Компонент машины НЕ открыт либо НЕ присутствует


-=-=-=-=Колёса.=-=-=-=-

04FE: deflate_tire 2 on_car $CAR -Пробивает колесо-2 машине-$CAR.
0-Левое переднее колесо.
1-Левое заднее колесо.
2-правое переднее колесо.
3-Правое заднее колесо.

053F: set_car 37@ tires_vulnerability 0 -Делает колёса непробиваемыми-0, обычные колёса-1.
0699: set_car 34@ repair_tire 2 -Починить колесо 2
05BD: AS_actor 71@ tired 60000 ms

Загрузкатипа колеса:
06E9: load_car_component #WHEEL_OR1 -Загрузить тип колеса.

Проверки на прокол колёс:
0496: tire 2 on_car 34@ deflated -Проверяет пробито ли колесо 2
8496: not tire 2 on_car 38@ deflated -Не пробито колесо 2
Теперь приведу пример мини скрипта где можете потренероваться и посмотреть как это работает.
Поставим на кнопки действия.
1-Смена номера компонента.
2-Повреждение компонента.
3-востановление.
4-Открытие компонента.
Код:
{$CLEO .cs}

//-------------MAIN---------------
0000:nop //Метка обязательная не даёт склеить скрипт с другими

:SET_CAR  //Cоздадим условие при котором скрипт начнёт работу.
wait 0
if and
 actor.Driving($PLAYER_ACTOR)     //Актёр находится за рулём
84A7:   not actor $PLAYER_ACTOR driving_boat  // не в лодке
84C8:   not actor $PLAYER_ACTOR driving_flying_vehicle  // не в самолёте...Яб ещё и поезд воткнул а вдруг захотите попробовать =)
else_jump @SET_CAR
 03C0: 10@ = actor $PLAYER_ACTOR car //Объявляем переменную 10@ машиной актёра.
 2@ = 0 //Переменная для определения Номера Компонента
 3@ = 0.1 //Переменная для Открывания капота, дверей....
 
 :SET_COMPONENTcar      //Создаём счётчик Компонентов для машины.
 wait 0                 //По нажатию кнопки 1 будет прибавляться Единица к переменной.
 if                     //
  0AB0:  key_pressed 49  // virtual_key_codes -=1=-
 else_jump @DESTROY_COMPONENT
  2@ += 1               //Прибавляем к переменной компонента Единицу.
  01E3: text_1number_styled 'SWEET1B' 2@ 5000 ms 2  //Выводим хитрую надпись с числом компонента.
  01E3: text_1number_styled 'DOLLAR' 2@ 5000 ms 4
  wait 0
  if
   2@ > 12                 //Если компонент больше 12 то обнуляем его.
  else_jump @DESTROY_COMPONENT
  2@ = 0
  01E3: text_1number_styled 'DOLLAR' 2@ 5000 ms 4
  wait 200 
jump @SET_COMPONENTcar 

:DESTROY_COMPONENT      //Начинаем ломать Машину разными опкодами выбирайте сами каким .
wait 0
if
 0AB0:  key_pressed 50  // -=2=- Кнопка
else_jump @REPARE_COMPONENT
 01E3: text_1number_styled 'SWEET1B' 2@ 5000 ms 2
 01E3: text_1number_styled 'DOLLAR' 2@ 5000 ms 4
 //073C: car 10@ damage_component 2@ // versionB Имитировать повреждения компонента от удара
//0730: car 10@ damage_component 2@ // versionA Имитировать повреждения компонента от удара
0689: set_car 10@ remove_componentA 2@ visible_effect_flag 1 //-Это опкод может оторвать компонент. 0-капот 1-багажник 2,3,4,5-Двери
0697: set_car 10@ remove_componentB 2@ visible_effect_flag 1 //-Это опкод может оторвать Компонент. 0-Крыло левое 1-Крыло правое с решёткой 5-бампер передний 6-бампер задний 
wait 1000
jump @DESTROY_COMPONENT
 
:REPARE_COMPONENT    //Чиним выбранный компонент, попробуйте несколькими опкодами.
 wait 0
 if and
  2@ < 11
  0AB0:  key_pressed 51  // -=3=-  Кнопка
 else_jump @OPEN_COMPONENT
 01E3: text_1number_styled 'SWEET1B' 2@ 5000 ms 2
 01E3: text_1number_styled 'DOLLAR' 2@ 5000 ms 4
 //068A: set_car 10@ repair_componentA 2@ //-компоненты починки -=A=-. от 0 до 11 потом вылетит.
 0698: set_car 10@ repair_componentB 2@ //-компоненты починки -=B=-. от 0 до 11 потом вылетит.
 wait 1000
 jump @SET_COMPONENTcar
 
 :OPEN_COMPONENT    //Открываем и закрываем капот Одной кнопкой.
 wait 0
if
  0AB0:  key_pressed 52  // -=4=-  Кнопка
 else_jump @SET_COMPONENTcar
3@ += 0.1 //Переменная для Открывания капота, дверей....
01E3: text_1number_styled 'DOLLAR' 3@ 5000 ms 4
//0657: car 10@ open_componentA 4 //-Открывает Одну из частей машины, просто мгновенно Становится открытым например Багажник.
08A6: set_car 10@ componentA 2@ rotation_to 3@ //-Позволяет сделать плавное открытие части машины. Багажник-2, оттопырить на 0.1. Делайте в цикле, значение оттапыривания от 0.0 до 1.0.
if
 3@ > 1.0         //Закрываем капот если Он Открыт на всю.
else_jump @OPEN_COMPONENT
3@ = -1.0         //Обнуляем открывание
//095E: set_car 10@ componentA 2@ manipulation 1 value -1.0 //-Делает деталь автомобиля расхлябениной. Как будто дверь разболталась или багажник.
01E3: text_1number_styled 'DOLLAR' 3@ 5000 ms 4
wait 1000
jump @OPEN_COMPONENT

Так ну вроде разобрался с частями. Крышу гдето просрал надо посмотреть машины со сменными крышами. Компонент крыши где то должен быть. ЩАс разбераюсь с тюнингом стандартным.

YELMI А ТЕПЕРЬ ВАПРОС НА ЗАСЫПКУ:
07EE: car 35@ enable_tire_marks 1 -?Непонимающий Что то связанно с выбором покрышек.
03E7: flash_hud_component 10 -?Непонимающий
06E7: 2@ = add_car_component #WHEEL_OR1 to_car $CAR -Присваивает переменной компонент машины.Непонимающий А как использовать???
« Последнее редактирование: 08 Октября 2008, 23:25:24 от Gadina » Записан
yelmi
Администратор
*****
Офлайн Офлайн

Сообщений: 321



« Ответ #19 : 09 Октября 2008, 14:21:53 »

Код:
03E7: flash_hud_component 8 – Заставит радар мигать, чтобы убрать этот эффект нужно использовать 03E7: flash_hud_component -1
10 – полоса воздуха
4 - здоровья

06E9: load_car_component #WHEEL_OR1

if
06EA:   car_component #WHEEL_OR1 available
jf

00A5: 4@ = create_car #PONY at 8@ 9@ 10@
06E7: 26@ = add_car_component #WHEEL_OR1 to_car 4@ - добавит компонент к авто, в данном случае будут заменены колеса.

07EE: - этот не знаю, его результат работы не видел.
Записан
Gadina
Пользователь
**
Офлайн Офлайн

Сообщений: 148


мастерство не пропьёш...


« Ответ #20 : 09 Октября 2008, 23:19:19 »

Нашёл классный опкод.
0823: AS_actor 1@ greet_actor $PLAYER_ACTOR 1.0 5 -Последняя цифра 5 означает вариант приветствия.
Опкод связывает двух актёров приветствием. Причём вариантов приветствий там много.
Они заправски могут здароваться в стиле пингвинчиков, хлопать кулачками..... Как поведение бандитов на грув стрит.
Вот мини опкод позваляющий посмотреть приветствия.
Нажимайте ТАБ и смотрите.  Грустный
Код:
{$CLEO .cs}

//-------------MAIN---------------
0000:nop
wait 3000
2@ = 0

:PED_ACTOR
wait 0
if
0AB0:  key_pressed 9 //-=TAB=-
else_jump @PED_ACTOR
04C4: create_coordinate 21@ 22@ 23@ from_actor $PLAYER_ACTOR offset 0.0 3.7 0.0
0376: 1@ = create_random_actor 21@ 22@ 23@
3@ = actor.Angle($PLAYER_ACTOR)
3@ -= 180.0
0173: set_actor 1@ Z_angle_to 3@
wait 1000
0823: AS_actor $PLAYER_ACTOR greet_actor 1@ 1.0 2@
wait 7000
actor.RemoveReferences(1@)
2@ += 1
if
 2@ > 10
else_jump @PED_ACTOR
2@ = 0
wait 500
jump @PED_ACTOR
« Последнее редактирование: 10 Октября 2008, 00:03:27 от Gadina » Записан
Gadina
Пользователь
**
Офлайн Офлайн

Сообщений: 148


мастерство не пропьёш...


« Ответ #21 : 16 Октября 2008, 23:50:04 »

Опять таки Делая что то Для себя Записываю и конспектирую. Делюсь с вами то что разобрал.
Как выяснилось посадка Актёра в ТУРЕТ (иначе Говоря, Стрельба с Одной тОчки, Где не видете актёра, а только прицел) дело Хитрое требующее знания.

Код:
================================================
========Посадка Актёра в транспортное средство========================================
================================================
0-Место возле водителя 1-Заднее левое место 2-Заднее правое место

072B: put_actor $PLAYER_ACTOR into_car 0@ passengerseat 1 -Сажает В машину актёра как пассажира если он НЕ в машине.
0430: put_actor $PLAYER_ACTOR into_car 0@ passenger_seat 0  -Перемещает Актёра на пассажирские места даже если он не сидит в машине.

036A: put_actor $PLAYER_ACTOR in_car 0@ -Сажает Актёра в машину на место водителя.
072A: put_actor $PLAYER_ACTOR into_car 0@ driverseat -Сажает Актёра в машину на место водителя.

Выход из машины
05CD: AS_actor $PLAYER_ACTOR exit_car 0@ -Актёр выходит из транспорта
05CF: AS_actor 102@ exit_car 73@ when_at 2316.4 -1519.2 24.3 -Выходит из машины и бежит в заданную точку. Затем становиться обычным прохожим.
0633: AS_actor 50@ exit_car -Выпрыгивает из машины если она в движении
0362: remove_actor $PLAYER_ACTOR from_car_and_place_at 24@ 25@ 26@ -Мгновенно вытаскивает актёра из машины , перемещая в заданные координаты

Перемещение игрока
00A1: put_actor $PLAYER_ACTOR at 2316.4 -1519.2 24.3 -Перемещает актёра в заданную точку.
08AD: put_actor $PLAYER_ACTOR at 24@ 25@ 26@ radius 1.5 // interior version -Перемещает актёра и Отключается интерьер улицы.
08C7: put_actor $PLAYER_ACTOR at 24@ 25@ 26@ // versionB Перемещает актёра и Отключается интерьер улицы.
0972: put_actor $PLAYER_ACTOR at 24@ 25@ 26@ // versionC Перемещает актёра и Включается интерьер улицы.
09BC: put_actor $PLAYER_ACTOR at 24@ 25@ 26@ // versionD Перемещает актёра и Включается интерьер улицы.

======================СТРЕЛЬБА из Транспортного средства================

0713: unknown_action_sequence $PLAYER_ACTOR -1 -1 0.0 0.0 0.0 100.0 0 0 90 =Актёр высунется и будет стрелять из любой машины или мотоцикла.


0464: put_actor $PLAYER_ACTOR into_turret_on_car 1@ at_car_offset 0.0 0.0 0.0 position 0 shooting_angle_limit 0.0 with_weapon 0 -Помещает игрока в ТУРЕТ транспорта если он НЕ сидит в нём.
at_car_offset 0.0 0.0 0.0 -Положение стрелка в турете
position 0 -Направление обзора стрелка- 0-вперёд 1-влево 2-назад 3-вправо
shooting_angle_limit 0.0 -Допустимый Угол обзора поворота влево вправо.
 
04F4: put_actor $PLAYER_ACTOR into_turret_on_object 1@ offset_from_object_origin 2.85 -0.7 5.9 orientation 0 both_side_angle_limit 360.0 lock_weapon 0

06A7: put_actor $PLAYER_ACTOR into_turret_on_car 1@ at_car_offset -0.2 0.5 0.0 position 1 shooting_angle 110.0 70.0 with_weapon 43 -Помещает Актёра в ТУРЕТ транспорта если он НЕ сидит в нём.
at_car_offset 0.0 0.0 0.0 -Положение стрелка в турете
orientation 0 -Направление обзора стрелка- 0-вперёд 1-влево 2-назад 3-вправо
shooting_angle 110.0 70.0 - Допустимый угол поворота для стрельбы. 110.0-Угол поворота влево вправо, 70.0 - вверх и вниз.
with_weapon 43 - Выбранное оружие для стрельбы.

0887: set_actor $PLAYER_ACTOR turret_mode_orientation 0 both_side_angle_limit 60.0 -????
0465: remove_actor $PLAYER_ACTOR from_turret_mode -Отключает Режим Турета.

 0470: 27@ = actor $PLAYER_ACTOR current_weapon - Присвоить переменную текущему оружию


так ниже привожу пример того что у меня получилось пока я пробовал.
Создадим вертолёт Где можно будет Перемещаться от ТУРЕТА до Места пилота.
У меня стоит модель Ирокеза поэтому координаты немного будут отличаться от оригинала.
Но не сильно так что не бздите. Компилируем и разбираем следующее.
Код:
{$CLEO .cs}

//-------------MAIN---------------
0000:nop

:POLMAV         //Чтобы не бегать и не искать создаём Верталёт возле дома карла. Потом когда вы его Разъя...те то он исчезнет
wait 3000
model.load(#POLMAV)
model.load(#M4)
model.load(#SWAT)
038B: load_requested_models

:COPMAV_1
wait 0
if and
 model.Available(#POLMAV)
 Model.Available(#M4)
 Model.Available(#SWAT)
 else_Jump @COPMAV_1
 car.Create(0@,#POLMAV,2489.6772, -1673.9407, 13.3359)
 model.Destroy(#POLMAV)//Убираем модель вертолёта из загрузки= Нефиг захламлять.
// model.Destroy(#SWAT)  //НАмеренно не включил в удаление из Загрузки так как сами решите нужен вам Запасной пилот или нет.
 wait 2000
 
 
 
 //=======================НАчало скрипта====По желанию то что выше можно отрезать=== Так как выполнив скрипт до конца он вернётся Именно на Эту отметку.
 :POLMAV_ENTER_CAR_2
 wait 0
 if
  actor.DrivingVehicleType($PLAYER_ACTOR,#POLMAV) //ЕСЛИ актёр является Водителем машины типа #POLMAV то....
else_jump @POLMAV_ENTER_CAR_2
03C0: 0@ = actor $PLAYER_ACTOR car //Присваиваем переменную 0@-Машине в которой находится актёр 
04C4: store_coords_to 21@ 22@ 23@ from_actor $PLAYER_ACTOR with_offset -6.0 0.0 0.0  // Сохраняем текущие координаты относительно Актёра со смещением от центра.
Actor.Create(12@,04,#SWAT,21@, 22@, 23@)//Создаём второго пилота. С ним веселее.
wait 1000
01B2: give_actor 12@ weapon 31 ammo 600 // Даём актёру Оружие для важности
//01B2: give_actor $PLAYER_ACTOR weapon 31 ammo 600 // Не Даём актёру Оружие ?
//0841: flying_vehicle 0@ use_secondary_gun 1 //Устанавливаем на Вертолёт Пулемёты? 1-вкл 0-выкл
0430: put_actor 12@ into_car 0@ passenger_seat 0  //Мгновенно помещаем актёра на Соседнее кресло

 //====================ПЕРВЫЙ БЛОК ПРОВЕРОК===================
 //=====================Проверяем Что актёр не залез в турет, не выпустил десант И ваще не разбился на смерть=======================================
:POLMAV_3
wait 0
if
  0AB0:  key_pressed 9 //-=TAB=-
else_jump @PILOT_SWAT_1
0470: 27@ = actor $PLAYER_ACTOR current_weapon //- Присвоить переменную текущему оружию -Ниже мы его в турет воткнём.
04C4: store_coords_to 21@ 22@ 23@ from_actor $PLAYER_ACTOR with_offset 0.0 0.0 0.0 // Сохраняем текущие координаты относительно Актёра со смещением от центра.
0362: remove_actor $PLAYER_ACTOR from_car_and_place_at 21@ 22@ 23@  //Вытаскиваем актёра из машины иначе его в Турет Хрен посадишь
0464: put_actor $PLAYER_ACTOR into_turret_on_car 0@ at_car_offset 0.80 0.40 0.40 position 3 shooting_angle_limit 180.0 with_weapon 27@ //Сажаем в Турет
 wait 1000
  24@ = 0.0 //Переменная для Вертолёта -Высота полёта
  25@ = 0.0 //Переменная для Вертолёта -Скорость
  26@ = 0.0  //Переменная для Вертолёта - Расстояние
jump @POLMAV_4   
   
    :PILOT_SWAT_1
wait  0
if
 0AB0:  key_pressed 17 //-=СTRL=-
 Else_jump @CRASH_HELIcopter
Car.LockInCurrentPosition(0@) = true   //Замораживаем машину в текущем положении
0407: store_coords_to 21@ 22@ 23@ from_car 0@ with_offset 1.30 0.0 1.20 // Сохраняем текущие координаты относительно Верталёта со смещением от центра.
0503: create_rappel 27 #SWAT at 21@ 22@ 23@ with_actor 11@  //Создаём Актёра на верёвке 27 SWAT в условленных координатах и Именуем актёра как 11@
wait 1000
Car.LockInCurrentPosition(0@) = FALSE  //Размораживаем машину
actor.RemoveReferences(11@) //Удаляем сведенья о Актёре.
jump @POLMAV_3
 
:CRASH_HELIcopter
wait 0
if or
not actor.Driving($PLAYER_ACTOR) //Актёр не является водителем
wasted_or_busted //- игрок арестован или убит
 0119: car 0@ wrecked         //Машина Уничтожена нахрен
 Else_jump @POLMAV_3
0465: remove_actor $PLAYER_ACTOR from_turret_mode  //Исключаем турет возвращаем пилота в нормальное состояние
 actor.RemoveReferences(12@)    //Удаляем сведенья Об Актёре
  car.RemoveReferences(0@)      //Удаляем сведенья Об Вертолёте
  jump @POLMAV_ENTER_CAR_2
 //====================================================
  //==========Второй поток Проверок когда Игрок находится в Турете==========================================
   //=========Сдесь мы проверяем действия Нажатия клавишь===========================================
:POLMAV_4
wait 0
if
  0AB0:  key_pressed 9 //-=TAB=-  Вернуться в кресло пилота
else_jump @PILOT_STRELOK_1
0465: remove_actor $PLAYER_ACTOR from_turret_mode  //Исключаем турет возвращаем пилота в нормальное состояние
072A: put_actor $PLAYER_ACTOR into_car 0@ driverseat //Cажаем в кресло пилота
wait 1000
jump @POLMAV_3 
 
:PILOT_STRELOK_1  //НАЖАЛИ Вперёд и пилот летит по направлению взгляда на Условленную дистанцию
wait  0
04A2: heli 0@ fly_to 21@ 22@ 23@ speed 24@ 25@ //Вертолёт летит в указанную Зону.Это действие выполняется постоянно в потоке без проверки.
//Вертолёт летает сам по себе Управлять Актёр его не надо. Просто второй пилот сидит для Важности события.
if
 0AB0:  key_pressed 87 //-=W-=- Летим вперёд
 Else_jump @PILOT_STRELOK_2
04C4: store_coords_to 21@ 22@ 23@ from_actor $PLAYER_ACTOR with_offset 0.0 26@ 0.0
26@ += 10.0    //Прибавляем по 10 метров чтобы вертолёт летел вперёд
01E3: text_1number_styled 'M_PASS' 26@ 5000 ms 4 //Тупо обозначил что кнопка пашет и показывается предел. Ну так для себя лично. Можете убрать мне лично впадлу.
if
 26@ > 500.0       //Когда Дистанция желаемого Лёта составит свыше 500 метров то Оставляем её на прежней отметке.
Else_jump @PILOT_STRELOK_1
26@ = 500.0
01E3: text_1number_styled 'M_PASS' 26@ 5000 ms 4
 jump @PILOT_STRELOK_1
 
:PILOT_STRELOK_2
wait  0
if
 0AB0:  key_pressed 83 //-=S=-- Остановиться
 Else_jump @PILOT_STRELOK_3
04C4: store_coords_to 21@ 22@ 23@ from_actor $PLAYER_ACTOR with_offset 0.0 26@ 0.0
26@ = 0.0          //Обнуляем дистанцию вертолёт стоит на месте немного кружиться.
24@ -= 10.0       //Уменьшаем скорость вертолёта и высоту
25@ -= 10.0       //Уменьшаем скорость вертолёта и высоту
01E3: text_1number_styled 'M_PASS' 26@ 5000 ms 4
   jump @PILOT_STRELOK_2

 :PILOT_STRELOK_3
wait  0
if
 0AB0:  key_pressed 32 //SPACE-Снижаем вертолёт
 Else_jump @PILOT_STRELOK_4
 0407: store_coords_to 21@ 22@ 23@ from_car 0@ with_offset 0.0 0.0 0.0
24@ = 0.0
25@ = 0.0
01E3: text_1number_styled 'M_PASS' 25@ 5000 ms 4
 jump @PILOT_STRELOK_3

   :PILOT_STRELOK_4
wait  0
if
 0AB0:  key_pressed 16 //SHIFT-ГАЗ ВЕРТОЛЁТ взлетает вверх-просим об Этом второго пилота-типа
 Else_jump @PILOT_STRELOK_5
  0407: store_coords_to 21@ 22@ 23@ from_car 0@ with_offset 0.0 0.0 0.0
24@ = 60.0
25@ = 60.0
01E3: text_1number_styled 'M_PASS' 25@ 5000 ms 4
jump @PILOT_STRELOK_5

   :PILOT_STRELOK_5
wait  0
if
 0AB0:  key_pressed 69 //-=Е=--Создаём Десант из двух человек. Модель ВСАД и КАРЛ-клон
 Else_jump @CRASH_HELIcopter_2
Car.LockInCurrentPosition(0@) = true  //Замораживаем вертолёт
0407: store_coords_to 21@ 22@ 23@ from_car 0@ with_offset 1.30 0.0 1.20
0503: create_rappel 27 #SWAT at 21@ 22@ 23@ with_actor 11@
wait 1000
0503: create_rappel 27 #NULL at 21@ 22@ 23@ with_actor 13@
wait 1000
Car.LockInCurrentPosition(0@) = FALSE //Размораживаем
actor.RemoveReferences(11@)
actor.RemoveReferences(13@)
jump @POLMAV_4

 
:CRASH_HELIcopter_2  //Если вдруг всё просрали
wait 0
if or
 wasted_or_busted //- игрок арестован или убит
 0119: car 0@ wrecked   //Вертолёт уничтожен
 Else_jump @POLMAV_4
0465: remove_actor $PLAYER_ACTOR from_turret_mode  //Исключаем турет возвращаем пилота в нормальное состояние
 actor.RemoveReferences(12@)
  car.RemoveReferences(0@)
  jump @POLMAV_ENTER_CAR_2
Эх прокачуууу  Смеющийся

=============================================================
==========КРЕПИМ ОБЪЕКТ на ИГРОКА========>>|=|>>=|>>====================
=============================================================

070A: AS_actor $PLAYER_ACTOR attach_to_object 1@ offset 0.0 0.0 -0.38 on_bone 6 0 perform_animation "NULL" IFP_file "NULL" time 1 //-Прикрепить Объект в правую руку (on_bone 6)
Где :
offset 0.0 0.0 -0.38 -Смещение от центра крепления.
on_bone 6 0 //6-Это часть тела игрока 0-это угол крепления. Может быть 0-Объект захватывается и угол не меняется , 16-Объект захватывается и ставится угол автоматически.
Крепите объекты в свободном захвате, потаму, что Игра начинает считать, что карл Одевает шмотку и может вылететь на некоторых частях.
Поэтому используйте всегда 0 для крепления.
Во время Взятия предмета можно актёру присвоить анимацию. Если в конце поставите 0-то актёр останется в последнем положении из анимации.
Части тела куда крепиться Объект :
1-таз            7-Левое бедро     13-левый локоть
2-грудь          8-Правое бедро    14-правый локоть
3-Левый бок      9-Левая ступня    15-спина (Спина у карла из 4 веток)
4-Правый бок     10-правая ступня  16-спина
5-Левая рука     11-правая икра    17-спина
6-Правая рука    12-левая икра     18-спина
Следующий Опкод используется для крепления второй вещи, он работает только если использован преведущий опкод.
09A0: actor $PLAYER_ACTOR attach_object 1@ with_offset 0.0 0.0 0.0 on_bone 5 16 perform_animation "NULL" IFP_file "NULL" time -1Вот тут можно использовать Вариант свободного и стандартного крепления Либо 0 либо 16 всё будет работать.
Тут всё тоже самое кроме частей. Другие используются суставы карла для крепления.
1-Левая лопатка      7-таз              13-правый локоть
2-Левое плечо        8-правый локоть    14-голова   
3-Левая рука Бицепс  9-левая икра       15-плечи(От одной руки до Другой Живёт палка к ней и крепиться)
4-Правая лопатка    10-правое колено    16-плечи
5-Левая рука        11-левое колено     17-левое плечо
6-Правая рука       12-левый локоть     18-шея
 
Второй предмет, Будет при стрельбе отваливаться. Это я так понял Типа гильза отлетает.
Ваапще есть догадка что именно с Этими опкодами связанны недоступные вещи Из архива "cutscene.img".
Привожу пример:
Код:
{$CLEO .cs}
0000:nop
5@ = 1

:MAFON_0
model.load(2226)   
model.load(2590)
038B: load_requested_models //Остановить загрузку моделей. Это такой специальный опкод запомните его.

:MAFON_G_1
wait 0
if and
 model.Available(2226)
 model.Available(2590)
else_jump @MAFON_G_1
04C4: store_coords_to 21@ 22@ 23@ from_actor $PLAYER_ACTOR with_offset 0.0 1.0 -0.50
object.Create(1@,2226,21@, 22@, 23@)
object.Create(0@,2590,21@, 22@, 23@)
model.Destroy(2226)
model.Destroy(2590)
0453: object 0@ set_rotation 90.0 0.0 0.0

:MAFON_G_2
wait 0
if and
 0471: unknown_actor $PLAYER_ACTOR near_object 1@ radius 1.0 1.0 unknown 0
 0AB0:  key_pressed 69 //-=E=-
else_jump  @MAFON_G_2
01B9: set_actor $PLAYER_ACTOR armed_weapon_to 0
070A: AS_actor $PLAYER_ACTOR attach_to_object 1@ offset 0.0 0.0 -0.38 on_bone 5 0 perform_animation "NULL" IFP_file "NULL" time 1 //ВАРИАНТ-1
//070A: AS_actor $PLAYER_ACTOR attach_to_object 1@ offset 0.0 0.0 -0.38 on_bone 5@ 0 perform_animation "NULL" IFP_file "NULL" time 1 //ВАРИАНТ-2 Автоматическая смена частей после каждого поднятия вещи
2@ = Actor.Angle($PLAYER_ACTOR)
2@ -= 90.0
Object.Angle(1@) = 2@
Object.Angle(0@) = 2@
01E3: text_1number_styled 'DOLLAR' 5@ 5000 ms 4
wait 1000
//09A0: actor $PLAYER_ACTOR attach_object 0@ with_offset 0.0 0.0 0.0 on_bone 5@ 16 perform_animation "NULL" IFP_file "NULL" time -1 //ВАРИАНТ-2 Автоматическая смена частей после каждого поднятия вещи
09A0: actor $PLAYER_ACTOR attach_object 0@ with_offset 0.0 0.0 0.0 on_bone 6 16 perform_animation "NULL" IFP_file "NULL" time -1  //ВАРИАНТ-1


:MAFON_G_3
wait 0
if and
 0471: unknown_actor $PLAYER_ACTOR near_object 1@ radius 1.0 1.0 unknown 0
 0AB0:  key_pressed 69 //-=E=-
else_jump  @MAFON_G_3
wait 1000
object.Destroy(1@)
object.Destroy(0@)
5@ += 1
if
 5@ >= 19
 else_jump  @MAFON_0
5@ = 1
wait 1000
jump @MAFON_0
« Последнее редактирование: 17 Октября 2008, 13:41:13 от Gadina » Записан
Admiral
Пользователь
**
Офлайн Офлайн

Сообщений: 100


Scorpion


« Ответ #22 : 19 Ноября 2008, 21:09:25 »

Здорово народ! Строит глазки
Я готовлюсь делать скрипт о правиле дорожного  движения В СА.

1. Если игрок поехал на красном свете то 1 звезда.
2. Если игрок едет по встречной то ему 1 звезда.
___________________________________________________________________________________


1.############################################################

Мне нужно поставить проверку, но я не знаю опкод.
Я хочу знать какой опкод отвечает за то, что проехал  ли игрок светофор на красном?

Помните такая проверка была в одном из оригинальных миссий СА,  где Карл должен преследовать какую-то машину.

2.#######################################################3
Мне нужно поставить проверку, но я не знаю опкод.
Я хочу знать какой опкод отвечает за то, что едет ли игрок по встречной.

Помните такая проверка была в одном из оригинальных миссий СА, где Карл пугал одного человека на капоте своей машины.
Записан
Skripter
Новичок
*
Офлайн Офлайн

Сообщений: 1


« Ответ #23 : 01 Марта 2010, 12:46:24 »

Товарисчи помогите. Каким опкодом создать поездНепонимающий Я вот пробовал, таким:
06D8: 200@ = create_train_at 2085.2473 -1953.6676 13.5469 type 15 direction 1

Он как только приблежаюсь выдает ошибку и выкидывает из игры. Может, я что то не дописалНепонимающий

А и есчо, yelmi чем ты миссии пишешьНепонимающий Я Саньком(Sanny Builder) пытался открыть а оно пишет неизвестный опкод. Прикинь! Ваще жесть. 
« Последнее редактирование: 03 Марта 2010, 20:33:52 от Skripter » Записан
superyura2
Новичок
*
Офлайн Офлайн

Сообщений: 1


« Ответ #24 : 08 Октября 2012, 05:20:05 »

Народ, а как загрузить новые txd и dff файлы, которые я скачал?
Я так хороший скриптер но вот такого опкода не знаю((((....
Записан
Страниц: 1 [2]   Вверх
  Печать  
 
Перейти в:  

Яндекс.Метрика Powered by SMF 1.1.21 | SMF © 2015, Simple Machines Valid XHTML 1.0! Valid CSS!
Страница сгенерирована за 0.222 секунд. Запросов: 20.

Google visited last this page 19 Ноября 2017, 19:57:41