00028. Актёры и команды, свойственны им. Команды для игрока
Актёры и команды, свойственны им. Команды для игрока|В этом уроке мы рассмотрим команды, которые будут влиять на актёров и игрока.|wmysterio|wmysterio||||Естественно от одного созданного актёра пользы не будет, так как он будет стоять. Все команды можно разделить на 2 большие группы: условные ( опкоды, назначены для проверок ) и безусловные. Начнём с самых простых:
Безусловные | |||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Actor.Health($Actor) = 1000 | |||||||||||||||||||||
устанавливает кол-во жизни у актёра | |||||||||||||||||||||
Actor.Armour($Actor) = 150 | |||||||||||||||||||||
устанавливает кол-во брони актёра | |||||||||||||||||||||
Actor.Angle($Actor) = 250.24 | |||||||||||||||||||||
устанавливает угол поворота актёра | |||||||||||||||||||||
actor.RemoveReferences($ACTOR) | |||||||||||||||||||||
стирает все сведения о актёре. другими словами - актёр нам больше не нужен и игра уже будет сама решать что ему делать | |||||||||||||||||||||
actor.DestroyInstantly($Actor) | |||||||||||||||||||||
уничтожает созданного ранее актёра | |||||||||||||||||||||
actor.PutAt($Actor, 1234.0, -189.0, 36.0) | |||||||||||||||||||||
перемещает актёра в заданные координаты | |||||||||||||||||||||
05D4: AS_actor $Actor rotate_angle 175.8 | |||||||||||||||||||||
актёр повернётся на заданный угол ( в отличии от Actor.Angle мы сможем увидеть как он будет поворачиваться ) | |||||||||||||||||||||
0672: AS_actor $Actor attack_car $Car | |||||||||||||||||||||
актёр будет атаковать заданную машину | |||||||||||||||||||||
0850: AS_actor $Actor follow_actor $Actor2 | |||||||||||||||||||||
актёр1 будет следовать за актёром2 | |||||||||||||||||||||
04EB: AS_actor $Actor crouch 1 | |||||||||||||||||||||
заставляет актёра присесть, если поставить 0, то заставляет актёра встать. | |||||||||||||||||||||
0332: set_actor $Actor bleeding_to 1 | |||||||||||||||||||||
заставляет актёра истекать кровью | |||||||||||||||||||||
03FE: set actor $Actor money 0 | |||||||||||||||||||||
устанавливает актёру кол-во денег | |||||||||||||||||||||
05CD: AS_actor $Actor exit_car $Car | |||||||||||||||||||||
заставляет актёра выйти с заданной машины | |||||||||||||||||||||
Actor.WeaponAccuracy($Actor) = 95 | |||||||||||||||||||||
устанавливает актёру точность стрельбы | |||||||||||||||||||||
05E2: actor $Actor1 kill_actor $Actor2 | |||||||||||||||||||||
заставляет актёра1 убивать актёра2 | |||||||||||||||||||||
0639: AS_actor $Actor1 rotate_to_actor $Actor2 | |||||||||||||||||||||
заставляет актёра1 повернуться лицом к актёру2 | |||||||||||||||||||||
0729: AS_actor $Actor hold_cellphone 1 | |||||||||||||||||||||
заставляет актёра взять телефон и приложить его к уху, если поставить 0, то актёр положит телефон обратно в карман ( учтите, что бы было видно телефон нужно загрузить модель #CELLPHONE, а потом использовать этот опкод ) | |||||||||||||||||||||
0321: kill_actor $Actor | |||||||||||||||||||||
убить актёра | |||||||||||||||||||||
05BC: AS_actor $Actor jump 0 | |||||||||||||||||||||
заставляет пригнуть актёра ( 0 - стиль прыжка, так его и оставляйте, так как ничего особого не поменяется ) | |||||||||||||||||||||
actor.SetImmunities($Actor, 1, 1, 1, 1, 1) | |||||||||||||||||||||
устанавливает актёру иммунитеты к ударам, взрывам и прочего. | |||||||||||||||||||||
07FE: set_actor $Actor fighting_style_to 5 6 | |||||||||||||||||||||
устанавливает актёру определённый стиль драки | |||||||||||||||||||||
08C6: set_actor $Actor stay_on_bike 1 | |||||||||||||||||||||
актёр не сможет упасть с байка, если поставить 0 - то сможет | |||||||||||||||||||||
06B0: AS_actor $Actor sit_down 5000 ms | |||||||||||||||||||||
заставляет актёра сидеть 5 секунд ( 1000 ms = 1 сек. ) | |||||||||||||||||||||
05BA: AS_actor $Actor chew_gum 5000 ms | |||||||||||||||||||||
заставляет актёра жевать жвачку 5 секунд ( 1000 ms = 1 сек. ), но иногда не срабатывает | |||||||||||||||||||||
0245: set_actor $Actor walk_style_to "FATMAN" | |||||||||||||||||||||
устанавливает актёру определённый стиль походки. Я нашел только эти стили:
| |||||||||||||||||||||
Стиль | Описание | ||||||||||||||||||||
"FATMAN" | толстяк | ||||||||||||||||||||
"GANG1" | гангстер 1 | ||||||||||||||||||||
"GANG2" | гангстер 2 | ||||||||||||||||||||
"MAN" | мужчина | ||||||||||||||||||||
"WOMAN" | женщина | ||||||||||||||||||||
"BLINDMAN" | слепой мужчина | ||||||||||||||||||||
"SEXYWOMAN" | сексуальная женщина | ||||||||||||||||||||
"DRUNKMAN" | алкаш | ||||||||||||||||||||
"PLAYER" | стиль игрока ( СЖ ), но я не тестировал этот стиль | ||||||||||||||||||||
0446: set_actor $Actor immune_to_headshots 0 | |||||||||||||||||||||
устанавливает актёру иммунитет от хеадшотов ( выстрелов в голову ), если поставить 1 - то, как уже догадались, прострелить голову будет нельзя |
Вот список условных опкодов, то есть тех, которые должны использоваться в блоке "if"
Условные |
---|
0965: actor $Actor swimming_in_water |
проверка: находится актёр в воде? |
06EE: actor $Actor in_group $Player_Group |
проверка: находится актёр в группе $Player_Group? |
actor.InCar($PLAYER_ACTOR, $Car) |
проверка: находится актёр в заданной машине? |
actor.Driving($PLAYER_ACTOR) |
проверка: сидит актёр за рулём(или в транспорте)? |
actor.DrivingPoliceVehicle($PLAYER_ACTOR) |
проверка: сидит актёр за рулём полицейского транспорта? |
actor.DrivingTaxiVehicle($PLAYER_ACTOR) |
проверка: актёр сидит за рулём в такси? |
04A7: actor $PLAYER_ACTOR driving_boat |
проверка: актёр сидит за рулём(штурвалом) лодки? |
actor.DrivingVehicleType($ACTOR, #CAR_MODEl) |
проверка: модель машины актёра равна #CAR_MODEl? |
actor.Dead($PLAYER_ACTOR) |
проверка: актёр умер? |
actor.Stopped($PLAYER_ACTOR) |
проверка: актёр остановился(не бежит)? |
04C5: actor $PLAYER_ACTOR photographed |
проверка: актёр фотографирует? |
056D: actor $ACTOR defined |
проверка: существует ли актёр? |
Эти опкоды можно использовать со всеми актёрами, в том числе СЖ. Однако есть опкоды, которые свойственны только игроку. Рассмотрим некоторые с них:
Безусловные |
---|
052C: set_player $PLAYER_CHAR drunk_visuals 100 |
заставляет экран шататься, как будто игрок пьян (100 - сила шатания, не советую делать очень большие цифры, иначе шатание превратится в мерцание) |
player.CanMove($PLAYER_CHAR) = false |
вы не сможете ничего делать. Если поставить true, то сможете. Очень часто используется, особенно при видеороликах. |
player.ClearWantedLevel($PLAYER_CHAR) |
очищает уровень розыска |
player.Money($PLAYER_CHAR) += 1000 |
прибавляет игроку 1000 денег |
0998: add respect 5 |
прибавляет игроку респект ( уважение ) |
0992: set_player $PLAYER_CHAR weapons_scrollable 1 |
даёт игроку возможность менять оружие, которое у него в руках. Если поставить 0 то вы не сможете менять ( как бы замораживает его в руке ) |
Условные |
---|
Player.Defined($PLAYER_CHAR) |
проверка: игрок существует? |
player.PressingHorn($PLAYER_CHAR) |
проверка: игрок сигналит? Что бы сработала эта проверка нужно находится в транспорте и нажать "Сигнал" |
wasted_or_busted |
проверка: игрок пойман или арестован? Использовать только в миссиях!!! |
Player.Controllable($PLAYER_CHAR) |
проверка: игрок контролируем? |
0457: player $PLAYER_CHAR aiming_at_actor $Actor |
проверка: игрок целится в актёра? |
Player.WantedLevel($PLAYER_CHAR) > 0 |
проверка: уровень розыска игрока больше нуля? Максимальный уровень розыска может быть 6 и не более. |
Это только самые распространённые команды в скрипте. Есть очень большое количество опкодов и по мере изучения скриптинга в целом мы будем изучать новые и новые опкоды.
Стоит также расказать о разнице между "$PLAYER_ACTOR" и "$PLAYER_CHAR". Новички часто путают эти переменные и используют их не там, где нужно. Если в описании опкода есть слово "actor", то в тотальном большинстве случаев нужно использовать "$PLAYER_ACTOR". Если в опкоде есть слово "player", то нужно использовать "$PLAYER_CHAR".|2652|1|0||aktjory|1498735550
Last updated