Рейтинг - 4.0 (3)

Всем привет! Этот урок будет посвящен исключительно опкодам. А именно самые интересные, на мой взгляд.

1. Все мы помним, как тяжело иногда набрать 6 звёзд, не используя читы. Вот этот опкод позволит вам набрать все шесть звёзд за два убийства:
  • 03C7: set_sensitivity_to_crime 20.0
Здесь:
20.0 - процент возрастания криминального рейтинга. Если поставить 0.0, то естественно криминальный рейтинг возрастать не будет (или будет возрастать, но очень долго).

2. Возможно так же записать в переменные текущие координаты трупа:
  • 04A5: store_dead_actor 0@ position_to 1@ 2@ 3@
Здесь:
0@ - мёртвый актёр
1@ 2@ 3@ - переменные, в которых будут хранится координаты


3. Иногда возникает необходимость узнать текущую цену автомобиля. Пожалуйста:
  • 09E1: get_car_model 0@ price_to $PRICE
Опкод занеосит в переменную эту самую цену. Здесь:
0@ - хендл автомобиля
$PRICE - в эту переменную и заносится цена автомобиля (целое число)

4. Вот интересные опкоды, которые убирают некоторый транспортный поток:
  • 099E: enable_police_patrols 0 // Патрули полиции не будут встречаться по дороге
  • 072C: generate_police_bikes 0 // Тоже самое, что и опкод 099E, только убирает полицейские байки
  • 06D0: enable_emergency_traffic 0 // На убийства и пожары перестанут приезжать медики и пожарные
  • 06D7: toggle_train_traffic 0 // Поезда перестанут ездить.
  • 0923: unknown_toggle_air_traffic 0 // Убирает воздушный трафик(самолёты и вертолеты)
Здесь:
0 - выключить, 1 - включить

5. Иногда нужно, что бы вертолёт начал падать. Не проблема:
  • 0564: heli 0@ simulate_crash_landing
Опкод заставляет симулировать падение(как это было  в одной из миссий)

6. Хотите, что бы звёзды уровня розыска мигали, как после перекраски, держите:
  • 09D4: suspend_wanted_level
7. Вот ещё одна неплохая проверка:
  • 0A29:  player $PLAYER_CHAR climbing
Проверяет: "Игрок лезет на что то(перелазит через что то)? "

8. Вот этот опкод вы не найдете в SASCM.INI, но SB не вызовет никаких ошибок:
  • 0488:  model 205 exists
Проверка: "Модель 205 существует?". Здесь:
205 - модель ID(которое используется в команде Model.Load)

9. Вот ещё интересный опкод, связаный с Гидрой:
  • 0745: set_hydra 0@ thrust_to_horizontal
Поворачивает турбины Гидры 0@ (истребителя, если кто не понял :)  ) по горизонтали.

10. Очень часто у меня спрашивали, как заставить актёра стрелять куда то. Вот:
  • 0668: AS_actor 0@ rotate_and_shoot_at 374.2905 -125.681 1001.308 2000 ms
Актёр 0@ будет стрелять в точку 374.2905 -125.681 1001.308 на протяжении 2 секунд.

11. Бывает по задумке, нужно доставить автомобиль и есть необходимость запретить перекрашивать автомобиль:
  • 0294: set_car $car sprayable 0
Опкод отключает возможность машине $car делать перекраску. 1 - разрешает.

12. Следующие три опкода связаны с оружием:
  • 0881: set_player $PLAYER_CHAR able_to_shoot_weapons 0 // 1 - обратное действие
  • 0992: set_player $PLAYER_CHAR weapons_scrollable 0 // 1 - обратное действие
  • 01B9: set_actor 0@ armed_weapon_to 30
Первый опкод запрещает игроку стрелять.
Второй опкод запрещает игроку менять слоты оружия.
Третий опкод устанавливает актёру 0@ оружие с номером 30. Оно не даёт само оружие, а только имитирует выбор. Полезно использовать, когда вы дали актёру несколько типов оружия и хотите, что бы он начал стрелять именно с нужного номера.


13. Следующие опкоды связаны с автомобилями:
  • 01E9: 1@ = car 0@ num_passengers // Записать в переменную 1@ текущее кол-во пассажиров автомобиля 0@
  • 01EA: 1@ = car 0@ max_passengers // Записать в переменную 1@ максимальное количество мест в автомобиле 0@
  • 01E0: 1@ = car 0@ occupied_seats // Записать в переменную 1@ количество зянятых мест в автомобиле 0@
  • 0431:   car 0@ passenger_seat_free 0 // Проверка: "Место с номером 0 занято в автомобиле 0@?"
14. Так же есть ряд опкодов, связанных с шинами автомобиля:
  • 04FE: deflate_tire 2 on_car 0@ // Повредить шину с номер 2 в автомобиле 0@
  • 0699: set_car 0@ repair_tire 2 // Отремонтировать шину с номер 2 в автомобиле 0@
  • 053F: set_car 0@ tires_vulnerability 0 // Устанавливает всем покрышкам автомобиля 0@ иммунитеты к выстрелам
  • 0496:     tire 0 on_car 0@ deflated // Проверка:  "Шина 0 в машине 0@ повреждена?"
15. Так же есть возможность создать объектные группы:
  • 0776: create_objects_in_object_group "BARRIERS1"
Опкод создаёт препятствия на дороге. Например барьер, который не пускает автомобили ездить между городами.
Что бы убрать этот барьер, используем:
  • 0777: delete_objects_in_object_group "BARRIERS1"
Все барьеры выставляются автоматически в нужных местах. Вот список известных мне объектных групп:
"BARRIERS1", "BARRIERS2", "TRUTHSFARM", "CRACK" ... { unknown }

16. Если вас достало выскакивающее окошко статистики(по умолчанию кнопка TAB), то вы можете отключить эту возможность опкодом:
  • 0960: toggle_player_stats_box $PLAYER_CHAR flag  0 // 1- включить. Опкод нужно использовать в цикле!
Как видите, получился неплохой списочек =) Всё это я собирал на протяжении всего моего скриптерской деятельности. И, конечно же, это не всё! Так что время от времени я буду делится этой коллекцией с вами, а пока, так сказать, урок, закончен. Надеюсь вы откроете что то новое для себя.

Yurko_UA   (07.10.12 00:24)
Реально багато цікавих опкодів. Щось я приминив писати скрипти, ідей немає. Але завдяки твоєму сайтові я багато чого можу зробити! Класні уроки! biggrin
Вход на сайт

Поиск
Категории раздела
Мини-чат
Пожалуйста, все вопросы по скриптингу задавать на форуме!
Наш опрос
Какая GTA Вам понравилась больше всего?
Всего ответов: 6
Активность на сайте
Пожертвования
Кошельки WebMoney:
U859420971000
R407741810602
Z331072372430
E314272616890
Друзья сайта
Полезные ресурсы
Статистика

Онлайн всего: 2
Гостей: 2
Пользователей: 0

Сегодня нас посетили:
wmysterio, DK22Pac, Dyabda
Реклама