Отмаза для ментов
Очередной мой скрипт! На этот раз я делал его не один, ну скрипт писал один конечно же, а вот идею мне для этого подал DefY, а модель ментовской звёздочки зделал poison-master и AndreyC4 (специально для этого скрипта). Теперь расскажу о самом скрипте. Многие люди не любят когда на хвосте эти надоевшие, поршивые, американские полицейские и они всё время стараются ввести код. А это не есть хорошо! Теперь появится возможность отстать от них и без этого... Во всём штате San Andreas появляется 3 пикапа ментовской одежды (в каждом городе по одному - в полицейских участках), взяв его вы будете самым настоящим полицейским... Если у вас на хвосте будут полицеские просто нажмите и подержите 2 секунды клавишу TAB, а затем наблюдайте за зрелищем! Скрипт будет работать только на улице, а так же я не сумел зделать анимации, где CJ показывает значёк, пришлось использовать немного кривую анимацию из игры.
Теперь немного об установке:
1)Скачайте нужные для скрипта файлы здесь
2)Добавте в gta3.img файлы значка (txd и dff)
3)Замените levelxre.col на тот что в архиве (это в gta3.img)
4)Замените GTA San Andreas/data/maps/leveldes/levelxre.ide на новый, тот что в архиве
5)Теперь переходим к редактированию main'a. В самом начале пропишите DEFINE OBJECT COPSTAR, потом создайте поток CJCOP_1 и пропишите скрипт
:CJCOP_1
0001: wait 0 ms
04ED: load animation "POLICE"
04ED: load animation "GANGS"
0247: request model 334
0247: request model 346
0247: request model 280
0247: request model 281
0247: request model 282
0247: request model 283
0247: request model 284
038B: load requested models
:CJCOP_2
0001: wait 0 ms
00D6: if 7
04EE: animation "POLICE" loaded
04EE: animation "GANGS" loaded
0248: model 334 available
0248: model 346 available
0248: model 280 available
0248: model 281 available
0248: model 282 available
0248: model 283 available
004D: jump_if_false ЈЈCJCOP_2
00D6: if 0
0248: model 284 available
004D: jump_if_false ЈЈCJCOP_2
0001: wait 100 ms
004F: create thread ЈЈCJCOP_3
004F: create thread ЈЈCJCOP_6
004E: end thread
:CJCOP_3
0001: wait 0 ms
0213: $cpu1 = create pickup #CLOTHESP type 15 at -1615.049 686.802 6.98
0213: $cpu2 = create pickup #CLOTHESP type 15 at 283.613 171.428 1007.17
0213: $cpu3 = create pickup #CLOTHESP type 15 at 251.030 75.930 1003.640
0002: jump ЈЈCJCOP_4
:CJCOP_4
0001: wait 0 ms
00D6: if 22
0214: pickup $cpu1 picked up
0214: pickup $cpu2 picked up
0214: pickup $cpu3 picked up
004D: jump_if_false ЈЈCJCOP_4
016A: fade 0 () 500 ms
01B4: set_player $PLAYER_CHAR frozen_state 0 (frozen)
0001: wait 700 ms
087B: set_player $PLAYER_CHAR clothes "POLICETR" "POLICETR" 17
070D: $PLAYER_CHAR
01B2: give actor $PLAYER_ACTOR weapon 3 ammo 0
01B2: give actor $PLAYER_ACTOR weapon 22 ammo 80
01B9: set actor $PLAYER_ACTOR armed weapon to 0
0001: wait 700 ms
0002: jump ЈЈCJCOP_5
:CJCOP_5
0001: wait 0 ms
00D6: if 0
0500: player $PLAYER_CHAR skin == "POLICETR" 17
004D: jump_if_false ЈЈCJCOP_5
01B4: set_player $PLAYER_CHAR frozen_state 1 (unfrozen)
016A: fade 1 () 500 ms
0002: jump ЈЈCJCOP_4
:CJCOP_6
0001: wait 0 ms
077E: $ACTIVE_INTERIOR = active interior
00D6: if 3
0038: $ACTIVE_INTERIOR == 0 ;; integer values
80DF: NOT actor $PLAYER_ACTOR driving
0500: player $PLAYER_CHAR skin == "POLICETR" 17
010F: player $PLAYER_CHAR wanted level > 0
004D: jump_if_false ЈЈCJCOP_6
00D6: if 0
00E1: key pressed 0 4
004D: jump_if_false ЈЈCJCOP_6
0001: wait 2000 ms
00D6: if 0
00E1: key pressed 0 4
004D: jump_if_false ЈЈCJCOP_6
016A: fade 0 () 500 ms
01B4: set_player $PLAYER_CHAR frozen_state 0 (frozen)
0001: wait 650 ms
0004: $mid = 284 ;; integer values
0002: jump ЈЈCJCOP_7
:CJCOP_7
0001: wait 0 ms
00D6: if 0
01A6: actor $PLAYER_ACTOR 0 ()in cube on foot 40.00 -420.0 -400.0 3000.0 -3000.0 500.0
004D: jump_if_false ЈЈCJCOP_8
0004: $mid = 280 ;; integer values
0002: jump ЈЈCJCOP_11
:CJCOP_8
0001: wait 0 ms
00D6: if 0
01A6: actor $PLAYER_ACTOR 0 ()in cube on foot -700.00 3000.0 -400.0 3000.0 -600.0 500.0
004D: jump_if_false ЈЈCJCOP_9
0004: $mid = 282 ;; integer values
0002: jump ЈЈCJCOP_11
:CJCOP_9
0001: wait 0 ms
00D6: if 0
01A6: actor $PLAYER_ACTOR 0 ()in cube on foot -3000.00 1650.0 -400.0 -900.0 -760.0 500.0
004D: jump_if_false ЈЈCJCOP_10
0004: $mid = 281 ;; integer values
0002: jump ЈЈCJCOP_11
:CJCOP_10
0001: wait 0 ms
00D6: if 0
01A6: actor $PLAYER_ACTOR 0 ()in cube on foot -3000.00 -899.0 -400.0 39.0 -3000.0 500.0
004D: jump_if_false ЈЈCJCOP_11
0004: $mid = 283 ;; integer values
0002: jump ЈЈCJCOP_11
:CJCOP_11
0001: wait 0 ms
0173: set_actor $PLAYER_ACTOR z_angle_to 270.0
04C4: create coordinate $c1 $c2 $c3 from actor $PLAYER_ACTOR offset 2.0 0.0 0.5
009A: $polm = create_actor 24 $mid at $c1 $c2 $c3
0001: wait 100 ms
04C4: create coordinate $c4 $c5 $c6 from actor $polm offset 1.8 -1.1 1.05
015F: set camera position $c4 $c5 $c6 0.0 0.0 0.0
0159: camera on ped $PLAYER_ACTOR 15 2
0001: wait 100 ms
0639: unknown_action_sequence $PLAYER_ACTOR $polm
0639: unknown_action_sequence $polm $PLAYER_ACTOR
01B9: set actor $PLAYER_ACTOR armed weapon to 0
0001: wait 100 ms
016A: fade 1 () 500 ms
0001: wait 1000 ms
0812: unknown_action_sequence $polm "PRTIAL_GNGTLKC" "GANGS" 4.0 0 0 0 0 -1
0001: wait 2000 ms
04C4: create coordinate $c7 $c8 $c9 from actor $polm offset 3.8 -1.1 0.0
0107: $star = create_object #COPSTAR at $c7 $c8 $c9
070A: unknown_action_sequence $PLAYER_ACTOR $star .16 .0 -.02 6 180 "NULL" "NULL" -1
0001: wait 2000 ms
0605: unknown_action_sequence $PLAYER_ACTOR "COPTRAF_stop" "POLICE" 4.0 0 1 0 0 -1
0001: wait 4000 ms
01C2: remove references to actor $polm
0108: destroy object $star
02EB: restore camera with jumpcut
0373: set camera directly behind player
01B4: set player $PLAYER_CHAR frozen state 1 (unfrozen)
0110: clear player $PLAYER_CHAR wanted level
0002: jump ЈЈCJCOP_6