Скриптинг в Gta SA. Вопросы и ответы [x]
Комментарии:
958
сначала
по количеству реакций
Тема закрыта. Публикация новых комментариев отключена.
Как сделать так, чтобы какая нить тачка постоянно стояла в одном месте?
Открывешь main.txt, ищешь там строчку "create_thread", и вставляешь свой поток, например "create_thread @car1" (Без кавычек)
Затем ищешь строку --mission 0--, и НАД этой строкой пишешь название своего потока, вот как это выглядит:
:Car
<а здесь пишешь опкоды и команды>
---mission 0---
Чтобы поставить машину в опр. место, используй опкод:
014B: $217 = init_parked_car_generator #BF400 -1 -1 1 alarm 0 door_lock 0 0 10000 at 209.3484 321.1553 12.434 angle 178.0476
014C: set_parked_car_generator $217 cars_to_generate_to 30
А теперь разберем что и как :
014B-опкод
$217-переменная в которую заносится информация(может быть любое слово или число)
#BF400-модель машины
-1 -1 1-цвет(оставьте значение -1 -1 1 и цет машины будет всегда разный)
209.3484 321.1553 12.434-координаты, по которым будет установлена машина
angle 178.0476-угол поворота авто относительно Севера
014C-опять же опкод
set_parked_car_generator $217 cars_to_generate_to 30 - команда для появления машины, число 30 - процент успеха того, что она появится
Вот вроде вкратце объяснил..
Кто может подробно объяснить, как делать гаражи перекраски и тюнинга..? плиз! очень надо!
а ты глянь в моде player selection, на www.gta.ru есть.
Там вроде только тюнинг оставили.
2 Flu
Не нахожу я этот main.txt
В папке script может не быть main.txt, за то там по любому есть main.SCM, который ты можешь отрыть Sanny Builder'oм..
C.J
постучи в асю.481-463-027
можно сделать чтобы на место пасажира садится?
чтобы покатать cj'я в качестве пассажира, следует создать такой поток:
:PASSEHG
03A4: name_thread 'PASSEHG'
:PASSEHG_11
060A: unknown_create_entity 0 $12249
01C3: remove_references_to_car $11248
01C2: remove_references_to_actor $12246
01C2: remove_references_to_actor $12247
01C2: remove_references_to_actor $12248
:PASSEHG_38
0001: wait 50 ms
00D6: if and
810F: not player $2 wanted_level > 3
8449: not actor $3 in_a_car
00E1: key_pressed 0 11
0038: $409 == 0 // integer values
004D: jump_if_false @PASSEHG_38
04C4: create_coordinate $11247 $11246 $11245 from_actor $3 offset 3.75 3.75 0.0
04C4: create_coordinate $11244 $11243 $11245 from_actor $3 offset -3.7499 -3.7499 0.0
053E: $11248 = get_random_car_with_actors -1 in_area $11247 $11246 $11244 $11243
00D6: if
056E: carcass_of_car $11248 valid
004D: jump_if_false @PASSEHG_38
046C: $12246 = car $11248 driver
00D6: if
056D: carcass_of_actor $12246 valid
004D: jump_if_false @PASSEHG_11
00D6: if
056C: actor $12246 driving_police_vehicle
004D: jump_if_false @PASSEHG_245
01C0: $12244 = player $2 wanted_level
0008: $12244 += 1 // integer values
010D: set_player $2 wanted_level_to $12244
0001: wait 50 ms
0002: jump @PASSEHG_11
:PASSEHG_245
00D6: if and
8137: not car $11248 id == #BMX
8137: not car $11248 id == #BIKE
8137: not car $11248 id == #MTBIKE
84C8: not actor $3 driving_flying_vehicle
84A9: not actor $3 driving_helicopter
84A7: not actor $3 driving_boat
89AE: not actor $3 driving_train
004D: jump_if_false @PASSEHG_11
00A9: set_car $11248 to_normal_driver
060B: unknown_actor_use_entity $12246 $12249
0224: set_car $11248 health_to 1750
00AE: unknown_set_car $11248 to_ignore_traffic_lights 2
0004: $12250 = 0 // integer values
00D6: if
8431: not car $11248 car_passenger_seat_free 0
004D: jump_if_false @PASSEHG_493
00D6: if
0431: car $11248 car_passenger_seat_free 1
004D: jump_if_false @PASSEHG_418
0004: $12250 = 1 // integer values
0519: lock_vehicle $11248 in_current_position 1
0002: jump @PASSEHG_468
:PASSEHG_418
00D6: if
0431: car $11248 car_passenger_seat_free 2
004D: jump_if_false @PASSEHG_11
0004: $12250 = 2 // integer values
0519: lock_vehicle $11248 in_current_position 1
0432: $12247 = get_actor_handle_from_car $11248 passenger 1
060B: unknown_actor_use_entity $12247 $12249
:PASSEHG_468
0432: $12248 = get_actor_handle_from_car $11248 passenger 0
060B: unknown_actor_use_entity $12248 $12249
0002: jump @PASSEHG_500
:PASSEHG_493
0519: lock_vehicle $11248 in_current_position 1
:PASSEHG_500
05CA: AS_actor $3 enter_car $11248 passenger_seat $12250 -1 ms
0001: wait 50 ms
00D6: if
00E1: key_pressed 0 10
004D: jump_if_false @PASSEHG_592
:PASSEHG_534
0633: AS_actor $3 exit_vehicle
0519: lock_vehicle $11248 in_current_position 0
05D2: unknown_action_sequence $12246 $11248 20.0 2
0001: wait 100 ms
05C0: AS_actor $3 look_at_car $11248 5000 ms
06C9: remove_actor $12246 from_group
0001: wait 100 ms
0002: jump @PASSEHG_11
:PASSEHG_592
00D6: if or
0118: actor $3 dead
0741: (unknown) $3
004D: jump_if_false @PASSEHG_650
06C9: remove_actor $12246 from_group
05D2: unknown_action_sequence $12246 $11248 20.0 0
0002: jump @PASSEHG_11
:PASSEHG_650
00D6: if
01C1: car $11248 stopped
004D: jump_if_false @PASSEHG_534
00D6: if and
8741: not (unknown) $3
0448: actor $3 in_car $11248
004D: jump_if_false @PASSEHG_500
0519: lock_vehicle $11248 in_current_position 0
05D2: unknown_action_sequence $12246 $11248 20.0 2
:PASSEHG_736
0001: wait 50 ms
00D6: if and
8741: not (unknown) $3
0448: actor $3 in_car $11248
004D: jump_if_false @PASSEHG_11
00D6: if
00E1: key_pressed 0 10
004D: jump_if_false @PASSEHG_954
00D6: if
847A: not actor $3 driving_a_motorbike
004D: jump_if_false @PASSEHG_954
00D6: if
0038: $12250 == 0 // integer values
004D: jump_if_false @PASSEHG_954
:PASSEHG_815
0001: wait 50 ms
00D6: if and
8741: not (unknown) $3
0448: actor $12246 in_car $11248
004D: jump_if_false @PASSEHG_870
0622: AS_unknown_remove_actor $12246 from_car $11248
00D6: if
8448: not actor $12246 in_car $11248
004D: jump_if_false @PASSEHG_815
:PASSEHG_870
0676: AS_actor $3 in_car $11248 move_from_passengerseat_to_driverseat
0001: wait 50 ms
00D6: if
00DF: actor $3 driving
004D: jump_if_false @PASSEHG_870
05CB: AS_actor $3 enter_car_as_driver $11248 -1 ms
05C0: AS_actor $12246 look_at_car $11248 -1 ms
05D2: unknown_action_sequence $12246 $11248 20.0 2
0001: wait 100 ms
0002: jump @PASSEHG_11
:PASSEHG_954
00D6: if
00E1: key_pressed 0 15
004D: jump_if_false @PASSEHG_736
:PASSEHG_971
0622: AS_unknown_remove_actor $3 from_car $11248
0001: wait 50 ms
00D6: if
8448: not actor $3 in_car $11248
004D: jump_if_false @PASSEHG_971
0633: AS_actor $3 exit_vehicle
0519: lock_vehicle $11248 in_current_position 0
05D2: unknown_action_sequence $12246 $11248 17.5 2
0001: wait 100 ms
05C0: AS_actor $3 look_at_car $11248 7500 ms
06C9: remove_actor $12246 from_group
0001: wait 100 ms
0002: jump @PASSEHG_11
end_thread
поясняю: $2 и $3 - сам cj как написано в начале main'a; $11248 - сама тачка; $12246, $12247 и $12248 - сам водила и потенциальные попутчики cj'я; если сядем в коповозку - дадут звезду на память; так что тачку выбирай с умом - о всяких летающих биглях и великах забудь.
как использовать: подходи к тачке с хотя бы одним свободным местом, жми "Беседа - да" (по умолчанию Y). Чувак залезет в тачку. Шоб вылезти - Entеr, выкинуть водилу - "Беседа - нет" (обычно N).
насчёт курить - тоже просто. также создаёш поток, назначаеш определённой анимации клавиши - и вперёд. клавы и анимации можно поизучать по оригинальному скрипту и учебникам. сигару оружием сделать? думаю лишнее. и так видно же)) невозможного ничего нет.
ЗАГРУЗИТЬ ВСЕ КОММЕНТАРИИ
Скриптинг в GTA: San Andreas
Скриптинг,FAQ по нему и все что к этому относится.
Не забывайте, что новый созданный вами скрипт требует новой игры
Кто может подробно объяснить, как делать гаражи перекраски и тюнинга..? плиз! очень надо!