00088. Интересные опкоды (Часть 1)

Интересные опкоды (Часть 1)|В этом уроке перечислены самые интересные и полезные опкодов, на мой взгляд.|wmysterio|wmysterio||||Всем привет! Этот урок будет посвящен исключительно опкодам.

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

03C7: set_sensitivity_to_crime 20.0

Здесь: 20.0 - процент возрастания криминального рейтинга. Если поставить 0.0, то, естественно, криминальный рейтинг возрастать не будет ( или будет возрастать, но очень долго )

  1. Возможно так же записать в переменные текущие координаты трупа:

04A5: store_dead_actor 0@ position_to 1@ 2@ 3@

Здесь: 0@ - мёртвый актёр 1@ 2@ 3@ - переменные, в которых будут хранится координаты

  1. Иногда возникает необходимость узнать текущую цену автомобиля. Пожалуйста:

09E1: get_car_model 0@ price_to $PRICE

Здесь: 0@ - хендл автомобиля $PRICE - в эту переменную и заносится цена автомобиля ( целое число )

  1. Вот интересные опкоды, которые убирают некоторый транспортный поток:

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 - включить

  1. Иногда нужно, что бы вертолёт начал падать. Не проблема:

0564: heli 0@ simulate_crash_landing

Опкод заставляет симулировать падение ( как это было в одной из миссий )

  1. Хотите, чтобы звёзды уровня розыска мигали, как после перекраски, держите:

09D4: suspend_wanted_level
  1. Вот ещё одна неплохая проверка:

0A29: player $PLAYER_CHAR climbing

Проверяет: "Игрок лезет на что то ( перелазит через что то )?".

  1. Вот этот опкод вы не найдете в SASCM.INI, но SB не вызовет никаких ошибок:

0488: model 205 exists

Проверка: "Модель 205 существует?".

Здесь: 205 - модель ID ( которое используется в команде Model.Load )

  1. Вот ещё интересный опкод, связаный с Гидрой:

0745: set_hydra 0@ thrust_to_horizontal

Поворачивает турбины Гидры "0@" ( истребителя, если кто не понял :) ) по горизонтали.

  1. Очень часто у меня спрашивали, как заставить актёра стрелять куда то. Вот:

0668: AS_actor 0@ rotate_and_shoot_at 374.2905 -125.681 1001.308 2000 ms

Актёр "0@" будет стрелять в точку "374.2905 -125.681 1001.308" на протяжении "2" секунд.

  1. Бывает необходимость запретить возможность перекрашивать автомобиль:

0294: set_car $car sprayable 0

Если установить значение на "1" - разрешает перекраску.

  1. Следующие три опкода связаны с оружием:

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". Оно не даёт само оружие, а только имитирует выбор. Полезно использовать, когда Вы дали актёру несколько типов оружия и хотите, что бы он начал стрелять именно с нужного номера.

  1. Следующие опкоды связаны с автомобилями:

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@?"
  1. Так же есть ряд опкодов, связанных с шинами автомобиля:

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@ повреждена?"
  1. Так же есть возможность создать и удалять объектные группы:

0776: create_objects_in_object_group "BARRIERS1"
0777: delete_objects_in_object_group "BARRIERS1"

Опкод создаёт/удаляет препятствия на дороге. Например: барьер, который не даёт автомобилям ездить между городами. Все барьеры выставляются автоматически в нужных местах. Вот список известных мне объектных групп:

  1. Если вас достало выскакивающее окошко статистики ( по-умолчанию кнопка TAB` ), то вы можете отключить эту возможность опкодом:

0960: toggle_player_stats_box $PLAYER_CHAR flag 0 // 1- включить. Опкод нужно использовать в цикле!

Как видите, получился неплохой списочек =) Всё это я собирал на протяжении всей моей скриптерской деятельности. И, конечно же, это не всё! Так что время от времени я буду делится этой коллекцией с Вами, а пока, так сказать, урок, закончен. Надеюсь вы откроете что то новое для себя.|2595|1|0||interesnye_opkody_perechislenie_na_moj_vzgljad_samykh_interesnykh_i_poleznykh_opkodov|1500729419

Last updated