You are not logged in.
Имеется практически пустой main.scm, т.е. в нём только всё основное для запуска игры (main.scm от wmysterio). Имеется одна катсцена (а точнее самая последняя с титрами) в оригинальном main.scm. Я хочу перенести катсцену так, что бы игрок становился на маркер и запускалась катсцена. Я это вижу так: игрок встал на маркер и запустилась катсцена, в которой просто по карте летает камера, играет музыка, титры я вырежу, после окончания катсцены напишет "миссия пройдена", но если стать на маркер, то катсцена снова запустится. Вопрос: как мне перенести катсцену? С каких до каких пор в оригинальном маине вырезать блоки с кодом? Как вообще всё устроено, а то все инструкции, которые я нашел, связаны с созданием миссии на cleo, что отличается от main...
Так же на подобии этой катсцены я хочу перенести ещё несколько, всё на подобии такого...
Ещё вопрос: а вообще реально ли перенести катсцену (или её часть) из main.scm в .sc скрипт с меню выбора катсцены? И будет ли это проще, чем переносить их в другой main.scm?
Offline
Для какой игры? В вайс сити за финальную сцену с титрами отвечает вот этот код из миссии "Keep your friends close..."
0000: 01B4: set_player $PLAYER_CHAR can_move 0 02A3: enable_widescreen 1 03BF: set_player $PLAYER_CHAR ignored_by_everyone_to 1 03F4: set_all_vehicles_apply_damage_rules 0 04BB: select_interiour 0 // select render area 0004: $991 = 0 // $ = int 03AD: set_rubbish 1 04FA: clear_extra_colors_with_fade 0 0055: put_player $PLAYER_CHAR at 198.4252 -434.6284 9.5332 0434: show_credits 0004: $61 = 0 // $ = int 03EA: generate_cars_around_camera 1 01BD: $4811 = current_time_in_ms 0001: wait 0 ms 0001: wait 0 ms 02A3: enable_widescreen 1 01BD: $4811 = current_time_in_ms 0084: $5040 = $4811 // $ = $ int 01B6: set_weather 0 :FIN_1_24761 00D6: if 8436: not reached_end_of_credits 004D: jump_if_false @FIN_1_26913 0001: wait 0 ms 01BD: $4811 = current_time_in_ms 00D6: if 00E1: player 0 pressed_button 16 004D: jump_if_false @FIN_1_24827 00D6: if 0038: $61 == 1 // $ == int 004D: jump_if_false @FIN_1_24820 0435: end_credits :FIN_1_24820 0002: jump @FIN_1_24834 :FIN_1_24827 0004: $61 = 1 // $ = int :FIN_1_24834 00D6: if 0038: $5039 == 0 // $ == int 004D: jump_if_false @FIN_1_24980 00D6: if 001C: $4811 > $5040 // $ > $ int 004D: jump_if_false @FIN_1_24980 015F: set_camera_position 315.4413 -606.3295 10.9994 rotation 0.0 0.0 0.0 0160: point_camera 315.8044 -605.4032 11.1004 switchstyle 2 00C0: set_current_time 18 0 009B: destroy_actor_instantly $5027 009A: $5027 = create_actor_pedtype 4 model #MALE01 at 315.4413 -606.3295 10.9994 0084: $5040 = $4811 // $ = $ int 0008: $5040 += 20000 // $ += int 0008: $5039 += 1 // $ += int :FIN_1_24980 00D6: if 0038: $5039 == 1 // $ == int 004D: jump_if_false @FIN_1_25055 00D6: if 001C: $4811 > $5040 // $ > $ int 004D: jump_if_false @FIN_1_25055 0169: set_fade_color 0 0 1 016A: fade 1 3000 ms 0084: $5040 = $4811 // $ = $ int 0008: $5040 += 20000 // $ += int 0008: $5039 += 1 // $ += int :FIN_1_25055 00D6: if 0038: $5039 == 2 // $ == int 004D: jump_if_false @FIN_1_25130 00D6: if 001C: $4811 > $5040 // $ > $ int 004D: jump_if_false @FIN_1_25130 0169: set_fade_color 0 0 1 016A: fade 0 3000 ms 0084: $5040 = $4811 // $ = $ int 0008: $5040 += 3500 // $ += int 0008: $5039 += 1 // $ += int :FIN_1_25130 00D6: if 0038: $5039 == 3 // $ == int 004D: jump_if_false @FIN_1_25276 00D6: if 001C: $4811 > $5040 // $ > $ int 004D: jump_if_false @FIN_1_25276 015F: set_camera_position -57.009 -1579.473 11.6604 rotation 0.0 0.0 0.0 0160: point_camera -57.1214 -1578.485 11.765 switchstyle 2 00C0: set_current_time 14 0 009B: destroy_actor_instantly $5027 009A: $5027 = create_actor_pedtype 4 model #MALE01 at -57.009 -1579.473 11.6604 0084: $5040 = $4811 // $ = $ int 0008: $5040 += 20000 // $ += int 0008: $5039 += 1 // $ += int :FIN_1_25276 00D6: if 0038: $5039 == 4 // $ == int 004D: jump_if_false @FIN_1_25351 00D6: if 001C: $4811 > $5040 // $ > $ int 004D: jump_if_false @FIN_1_25351 0169: set_fade_color 0 0 1 016A: fade 1 3000 ms 0084: $5040 = $4811 // $ = $ int 0008: $5040 += 20000 // $ += int 0008: $5039 += 1 // $ += int :FIN_1_25351 00D6: if 0038: $5039 == 5 // $ == int 004D: jump_if_false @FIN_1_25426 00D6: if 001C: $4811 > $5040 // $ > $ int 004D: jump_if_false @FIN_1_25426 0169: set_fade_color 0 0 1 016A: fade 0 3000 ms 0084: $5040 = $4811 // $ = $ int 0008: $5040 += 3500 // $ += int 0008: $5039 += 1 // $ += int :FIN_1_25426 00D6: if 0038: $5039 == 6 // $ == int 004D: jump_if_false @FIN_1_25572 00D6: if 001C: $4811 > $5040 // $ > $ int 004D: jump_if_false @FIN_1_25572 015F: set_camera_position -31.4477 -942.5128 11.2897 rotation 0.0 0.0 0.0 0160: point_camera -30.4814 -942.2845 11.4088 switchstyle 2 00C0: set_current_time 15 0 009B: destroy_actor_instantly $5027 009A: $5027 = create_actor_pedtype 4 model #MALE01 at -31.4477 -942.5128 11.2897 0084: $5040 = $4811 // $ = $ int 0008: $5040 += 20000 // $ += int 0008: $5039 += 1 // $ += int :FIN_1_25572 00D6: if 0038: $5039 == 7 // $ == int 004D: jump_if_false @FIN_1_25647 00D6: if 001C: $4811 > $5040 // $ > $ int 004D: jump_if_false @FIN_1_25647 0169: set_fade_color 0 0 1 016A: fade 1 3000 ms 0084: $5040 = $4811 // $ = $ int 0008: $5040 += 20000 // $ += int 0008: $5039 += 1 // $ += int :FIN_1_25647 00D6: if 0038: $5039 == 8 // $ == int 004D: jump_if_false @FIN_1_25722 00D6: if 001C: $4811 > $5040 // $ > $ int 004D: jump_if_false @FIN_1_25722 0169: set_fade_color 0 0 1 016A: fade 0 3000 ms 0084: $5040 = $4811 // $ = $ int 0008: $5040 += 3500 // $ += int 0008: $5039 += 1 // $ += int :FIN_1_25722 00D6: if 0038: $5039 == 9 // $ == int 004D: jump_if_false @FIN_1_25868 00D6: if 001C: $4811 > $5040 // $ > $ int 004D: jump_if_false @FIN_1_25868 015F: set_camera_position 527.1948 -1101.658 12.3979 rotation 0.0 0.0 0.0 0160: point_camera 526.1959 -1101.612 12.4088 switchstyle 2 00C0: set_current_time 12 0 009B: destroy_actor_instantly $5027 009A: $5027 = create_actor_pedtype 4 model #MALE01 at 527.1948 -1101.658 12.3979 0084: $5040 = $4811 // $ = $ int 0008: $5040 += 20000 // $ += int 0008: $5039 += 1 // $ += int :FIN_1_25868 00D6: if 0038: $5039 == 10 // $ == int 004D: jump_if_false @FIN_1_25943 00D6: if 001C: $4811 > $5040 // $ > $ int 004D: jump_if_false @FIN_1_25943 0169: set_fade_color 0 0 1 016A: fade 1 3000 ms 0084: $5040 = $4811 // $ = $ int 0008: $5040 += 20000 // $ += int 0008: $5039 += 1 // $ += int :FIN_1_25943 00D6: if 0038: $5039 == 11 // $ == int 004D: jump_if_false @FIN_1_26018 00D6: if 001C: $4811 > $5040 // $ > $ int 004D: jump_if_false @FIN_1_26018 0169: set_fade_color 0 0 1 016A: fade 0 3000 ms 0084: $5040 = $4811 // $ = $ int 0008: $5040 += 3500 // $ += int 0008: $5039 += 1 // $ += int :FIN_1_26018 00D6: if 0038: $5039 == 12 // $ == int 004D: jump_if_false @FIN_1_26164 00D6: if 001C: $4811 > $5040 // $ > $ int 004D: jump_if_false @FIN_1_26164 015F: set_camera_position 329.8244 -1123.419 29.418 rotation 0.0 0.0 0.0 0160: point_camera 329.5483 -1122.458 29.4027 switchstyle 2 00C0: set_current_time 2 0 009B: destroy_actor_instantly $5027 009A: $5027 = create_actor_pedtype 4 model #MALE01 at 329.8244 -1123.419 29.418 0084: $5040 = $4811 // $ = $ int 0008: $5040 += 20000 // $ += int 0008: $5039 += 1 // $ += int :FIN_1_26164 00D6: if 0038: $5039 == 13 // $ == int 004D: jump_if_false @FIN_1_26239 00D6: if 001C: $4811 > $5040 // $ > $ int 004D: jump_if_false @FIN_1_26239 0169: set_fade_color 0 0 1 016A: fade 1 3000 ms 0084: $5040 = $4811 // $ = $ int 0008: $5040 += 20000 // $ += int 0008: $5039 += 1 // $ += int :FIN_1_26239 00D6: if 0038: $5039 == 14 // $ == int 004D: jump_if_false @FIN_1_26314 00D6: if 001C: $4811 > $5040 // $ > $ int 004D: jump_if_false @FIN_1_26314 0169: set_fade_color 0 0 1 016A: fade 0 3000 ms 0084: $5040 = $4811 // $ = $ int 0008: $5040 += 3500 // $ += int 0008: $5039 += 1 // $ += int :FIN_1_26314 00D6: if 0038: $5039 == 15 // $ == int 004D: jump_if_false @FIN_1_26460 00D6: if 001C: $4811 > $5040 // $ > $ int 004D: jump_if_false @FIN_1_26460 015F: set_camera_position 420.3749 -179.7319 12.2077 rotation 0.0 0.0 0.0 0160: point_camera 420.3214 -178.7335 12.193 switchstyle 2 00C0: set_current_time 11 0 009B: destroy_actor_instantly $5027 009A: $5027 = create_actor_pedtype 4 model #MALE01 at 420.3749 -179.7319 12.2077 0084: $5040 = $4811 // $ = $ int 0008: $5040 += 20000 // $ += int 0008: $5039 += 1 // $ += int :FIN_1_26460 00D6: if 0038: $5039 == 16 // $ == int 004D: jump_if_false @FIN_1_26535 00D6: if 001C: $4811 > $5040 // $ > $ int 004D: jump_if_false @FIN_1_26535 0169: set_fade_color 0 0 1 016A: fade 1 3000 ms 0084: $5040 = $4811 // $ = $ int 0008: $5040 += 20000 // $ += int 0008: $5039 += 1 // $ += int :FIN_1_26535 00D6: if 0038: $5039 == 17 // $ == int 004D: jump_if_false @FIN_1_26610 00D6: if 001C: $4811 > $5040 // $ > $ int 004D: jump_if_false @FIN_1_26610 0169: set_fade_color 0 0 1 016A: fade 0 3000 ms 0084: $5040 = $4811 // $ = $ int 0008: $5040 += 3500 // $ += int 0008: $5039 += 1 // $ += int :FIN_1_26610 00D6: if 0038: $5039 == 18 // $ == int 004D: jump_if_false @FIN_1_26756 00D6: if 001C: $4811 > $5040 // $ > $ int 004D: jump_if_false @FIN_1_26756 015F: set_camera_position -397.3825 22.9746 47.9553 rotation 0.0 0.0 0.0 0160: point_camera -396.5451 23.4814 47.7505 switchstyle 2 00C0: set_current_time 5 45 009B: destroy_actor_instantly $5027 009A: $5027 = create_actor_pedtype 4 model #MALE01 at -391.2471 26.5135 25.2721 0084: $5040 = $4811 // $ = $ int 0008: $5040 += 20000 // $ += int 0008: $5039 += 1 // $ += int :FIN_1_26756 00D6: if 0038: $5039 == 19 // $ == int 004D: jump_if_false @FIN_1_26831 00D6: if 001C: $4811 > $5040 // $ > $ int 004D: jump_if_false @FIN_1_26831 0169: set_fade_color 0 0 1 016A: fade 1 3000 ms 0084: $5040 = $4811 // $ = $ int 0008: $5040 += 20000 // $ += int 0008: $5039 += 1 // $ += int :FIN_1_26831 00D6: if 0038: $5039 == 20 // $ == int 004D: jump_if_false @FIN_1_26906 00D6: if 001C: $4811 > $5040 // $ > $ int 004D: jump_if_false @FIN_1_26906 0169: set_fade_color 0 0 1 016A: fade 0 3000 ms 0084: $5040 = $4811 // $ = $ int 0008: $5040 += 3500 // $ += int 0004: $5039 = 21 // $ = int :FIN_1_26906 0002: jump @FIN_1_24761 :FIN_1_26913 043C: set_game_sounds_disable_on_fade 1 0440: stop_cutscene_music 009B: destroy_actor_instantly $5027 02A3: enable_widescreen 0 03EA: generate_cars_around_camera 0 01B7: release_weather 0395: clear_area 1 at -379.2 -536.4 16.2 range 1.0 0055: put_player $PLAYER_CHAR at -379.2 -536.4 16.2 0171: set_player $PLAYER_CHAR z_angle_to 0.0 0373: set_camera_directly_behind_player 04BB: select_interiour 0 // select render area 0004: $991 = 0 // $ = int 03AD: set_rubbish 1 04FA: clear_extra_colors_with_fade 0 03CB: load_scene -379.2 -536.4 16.2 0169: set_fade_color 0 0 1 016A: fade 1 1500 ms 01B4: set_player $PLAYER_CHAR can_move 1 02A3: enable_widescreen 0 03BF: set_player $PLAYER_CHAR ignored_by_everyone_to 0 03F4: set_all_vehicles_apply_damage_rules 1 0373: set_camera_directly_behind_player 02EB: restore_camera_with_jumpcut 03DE: set_pedestrians_density_multiplier_to 1.0 0395: clear_area 0 at -354.419 -569.529 30.0 range 200.0 04E3: set_player $PLAYER_CHAR mood 0 duration 60000 end_thread
Offline
Титры с именами запускаются командами
0434: show_credits 0435: end_credits 8436: not reached_end_of_credits
непосредственно к пролету камеры они отношения не имеют
Offline
Для какой игры?
San Andreas. И где вообще мне взять учебники/туториалы по main.scm?
Offline
Финальную катсцену в Сан Андреас можно найти в миссии 112 FINALEC. Сразу после команды 0434: show_credits
:FINALEC_41683 0954: start_playing_loaded_soundtrack 043C: disable_sounds_after_fadeout 0 0924: enable_screen_darkness 1 with_value -1 0434: show_credits 016A: fade 1 time 250 0925: restore_camera_to_user_defined 0936: set_camera 2523.975 -1749.962 57.202 position_to 2514.887 -1733.851 57.202 time 2000 smooth_transition 0 0920: point_camera 2523.755 -1749.572 56.3075 transverse_to 2514.668 -1733.461 56.3075 time 2000 smooth_transition 0 :FINALEC_41780 ... <финальная катсцена> ...
учебники/туториалы по main.scm?
на главной странице https://sannybuilder.com/ru/index.html есть несколько ссылок, можно начать с них
Offline