Kendim bir açık kaynak kod paylaşayım, modumun film temasına oturmasının önemli bir detayıydı. Ben adına Jenerik ekran dedim.
-Nedir bu kod ?
+ Efendime söyleyeyim, bazı filmlerde kara ekranda tarih, yer belirtilip, sonra ekranı aydınlatılıyor du. Benim senaryo da film temasına oturması gerektiğini düşündüğümden böyle bir şey yapma ihtiyacı duydum. Presentation'lar ile her şeyi yapabilirsiniz. Yeter ki hayal gücünüz geniş olsun.
module_presentations;
module_strings;
Mission_templates'te herhangi bir misyon;
Bu kodu eklentinizde-modunuzda kullanacaksanız, benim ve bu açık kaynağın ismini link olarak teşekkürlere koymanız gerekmektedir. Örneğin;
İzin almanıza gerek yok, bu dediklerimi yapmanız yeterli.
Çalıştığının kanıtı ;
-Nedir bu kod ?
+ Efendime söyleyeyim, bazı filmlerde kara ekranda tarih, yer belirtilip, sonra ekranı aydınlatılıyor du. Benim senaryo da film temasına oturması gerektiğini düşündüğümden böyle bir şey yapma ihtiyacı duydum. Presentation'lar ile her şeyi yapabilirsiniz. Yeter ki hayal gücünüz geniş olsun.
module_presentations;
Code:
# screen write
("screen_write",prsntf_read_only,0,[
(ti_on_presentation_load,
[
(assign, "$g_presentation_obje_1", -1),
(assign, "$g_presentation_obje_2", -1),
(assign, "$g_presentation_obje_1_alpha", 0),
(assign, "$g_presentation_obje_2_alpha", 0),
(mission_cam_set_screen_color, 0xFF000000), #Ekrani karart
]),
(ti_on_presentation_run,
[
(store_trigger_param_1, ":cur_time"),
(set_fixed_point_multiplier, 1000),
(presentation_set_duration, 1000000),
(try_begin),
(lt, "$g_presentation_obje_1", 0),
(str_store_string, s1, "str_tarih_stringi"),#birinci yazi
(create_text_overlay, "$g_presentation_obje_1", s1, tf_center_justify|tf_double_space|tf_vertical_align_center),
(overlay_set_color, "$g_presentation_obje_1", 0xFF0000),
(overlay_set_alpha, "$g_presentation_obje_1", 0),
(position_set_x, pos1, 1750),
(position_set_y, pos1, 1750),
(overlay_set_size, "$g_presentation_obje_1", pos1),
(position_set_x, pos1, 500),
(position_set_y, pos1, 375),
(overlay_set_position, "$g_presentation_obje_1", pos1),
(overlay_animate_to_alpha, "$g_presentation_obje_1", 2000, 0xFF),
(else_try),
(gt, ":cur_time", 6000), # 6 saniye gectiyse
(lt, "$g_presentation_obje_2", 0), #ikinci yazi
(str_store_string, s2, "str_yer_stringi"),
(create_text_overlay, "$g_presentation_obje_2", s2, tf_center_justify|tf_double_space|tf_vertical_align_center),
(overlay_set_color, "$g_presentation_obje_2", 0xFF0000),
(overlay_set_alpha, "$g_presentation_obje_2", 0),
(position_set_x, pos1, 1500),
(position_set_y, pos1, 1500),
(overlay_set_size, "$g_presentation_obje_2", pos1),
(position_set_x, pos1, 500),
(position_set_y, pos1, 295),
(overlay_set_position, "$g_presentation_obje_2", pos1),
(overlay_animate_to_alpha, "$g_presentation_obje_2", 2000, 0xFF),
(else_try),
(gt, ":cur_time", 7500), #7.5 saniye gectiyse
(eq, "$g_presentation_obje_1_alpha", 0),
(assign, "$g_presentation_obje_1_alpha", 1),
(overlay_animate_to_alpha, "$g_presentation_obje_1", 1500, 0x00), #yazilari kaybet
(else_try),
(gt, ":cur_time", 8500), #8.5 saniye gectiyse
(eq, "$g_presentation_obje_2_alpha", 0),
(assign, "$g_presentation_obje_2_alpha", 1),
(overlay_animate_to_alpha, "$g_presentation_obje_2", 1500, 0x00),#yazilari kaybet
(else_try),
(gt, ":cur_time", 11000), #11 saniye gectiyse
(mission_cam_animate_to_screen_color, 0x00000000, 3000), # ekrani 3 saniyede aydinlat
(else_try),
(gt, ":cur_time", 15000), # 15 saniye gectiyse
(presentation_set_duration, 0), #presentationu sonlandir
(try_end),
]),
]),
# screen write ends
module_strings;
Code:
# screen write
("yer_stringi", "Söğüt yakınları..."),
("tarih_stringi", "27 Ocak 1300..."),
# screen write ends
Mission_templates'te herhangi bir misyon;
Code:
# screen write
(ti_after_mission_start, 0, ti_once, [],
[(start_presentation, "prsnt_screen_write"),]),
# screen write ends
Bu kodu eklentinizde-modunuzda kullanacaksanız, benim ve bu açık kaynağın ismini link olarak teşekkürlere koymanız gerekmektedir. Örneğin;
İzin almanıza gerek yok, bu dediklerimi yapmanız yeterli.
Çalıştığının kanıtı ;