1
Инструкции и уроки по созданию модификаций / [MS] Девятая часть. Модульная система, файл game_menus.
« : 26 Июня, 2009, 08:35 »
Девятая часть.
Следующим файлом, требующим нашего внимания, станет module_game_menus.py. Он содержит все игровые меню МиБа. Игровые меню служат для интеракции между игроком и возникающей сценой. Кроме того игровые меню представляют из себя достаточно гибкий инсрумент, способный послужить в самым целям. Внутригровая система переходов также использует игровые меню для реализации своих функций.
9.1 Файл module_game_menus.py.
Файл начинается с python-овского списка, затем описаны два меню, используемых при создании персонажа, в частности выбор пола персонажа и выбор класса персонажа. Для нас это может оказаться пока сложновато для первого знакомства, поэтому для примера мы поищем что-нибудь полегче.
Пример игрового меню :
(прим: У него талант выбирать примеры, которых нет в оригинальной версии МиБа. Этот не исключение)
(прим2: зато есть в Варбанде)
(
"salt_mine",mnf_auto_enter,
"You enter the salt mine.",
"none",
[(reset_price_rates,0),(set_price_rate_for_item,"itm_salt",55)],
[
("enter",[],"Enter.",[[set_jump_mission,"mt_visit_town_horseback"],[jump_to_scene,"scn_salt_mine"],[change_screen_mission]]),
("leave",[],"Leave.",[[leave_encounter],[change_screen_return]]),
]
),
Это меню появляется при входе в соляные шахты. Оно очень простое, обладает меткой mnf_auto_enter. Любое меню с такой меткой автоматически активирует первую опцию меню, для всех игровых ситуаций, не ожидая выбора игрока. В случае соляных шахт, этой опцией является “войти”.
Описание полей записи игрового меню.
1) Идентификатор игрового меню. Используется для ссылки на игровое меню.
2) Метки игрового меню.
3) Текст игрового меню. Это текст, который игрок увидит в игровом меню в кнопке.
4) Идентификатор 3D модели. В настоящий момент не используется, потому в таких полях везде должно стоять значение "none".
5) Блок операций. Блок операций, выполняющихся когда активируется меню.
6) Список опций меню. Каждая опция игрового меню, состоит из следующих элементов:
6.1) Идентификатор опции меню. Используется для ссылок на опцию игрового меню из других файлов.
6.2) Блок условий. Условия, оговоривающие когда будет выведенна на экран данная опция игрового меню.
6.3) Текст игровго меню. Кликабельный текст опций игрового меню. Подстановка подчёркивающей линии ("_") - изящный трюк для того, чтобы сделать кнопку некликабельной.
6.4) Блок последствий. Блок последствий, активируемый при выборе данной опции игрового меню.
Разбор записи меню соляных шахт.
1) Идентификатор игрового меню = "salt_mine"
2) Метки игрового меню = mnf_auto_enter
2) Текст игрового меню = "You enter the salt mine."
3) Идентификатор 3D модели = "none"
4) Блок операций = (reset_price_rates,0),(set_price_rate_for_item,"itm_salt",55)
5) Список опций меню
6.1) Идентификатор опции меню = "enter", "leave"
6.2) Блок условий = нет условий
6.3) Текст игровго меню = "Enter.", "Leave."
6.4) Блок последствий = [set_jump_mission,"mt_visit_town_horseback"],[jump_to_scene,"scn_salt_mine"],[change_screen_mission], [leave_encounter],[change_screen_return]
# в Варбанде такой метки нет
# вместо неё mt_town_center
Первое, что делает это меню – сброс всех торговых ставок на 0 (не обнуление цен, а сброс именно наценки торговца и установление настоящей цены вещам) и затем установка цены соли в 55% от обычной (то есть соль будет продаваться не за 100 динаров, а за 55). Следущее действие, реализованнное с помощью метки mnf_auto_enter, это то, что меню автоматически, за игрока, выберет первую (и единственную) опцию в меню. В данном случае ("enter") и выполнит ее, переместив игрока в солянные шахты, не ожидая клика мышки.
В следуещем разделе мы используем соляные шахты, как шаблон для меню города, который мы создали во 2 части, таким образом завершив его создание.
Следующим файлом, требующим нашего внимания, станет module_game_menus.py. Он содержит все игровые меню МиБа. Игровые меню служат для интеракции между игроком и возникающей сценой. Кроме того игровые меню представляют из себя достаточно гибкий инсрумент, способный послужить в самым целям. Внутригровая система переходов также использует игровые меню для реализации своих функций.
9.1 Файл module_game_menus.py.
Файл начинается с python-овского списка, затем описаны два меню, используемых при создании персонажа, в частности выбор пола персонажа и выбор класса персонажа. Для нас это может оказаться пока сложновато для первого знакомства, поэтому для примера мы поищем что-нибудь полегче.
Пример игрового меню :
(прим: У него талант выбирать примеры, которых нет в оригинальной версии МиБа. Этот не исключение)
(прим2: зато есть в Варбанде)
(
"salt_mine",mnf_auto_enter,
"You enter the salt mine.",
"none",
[(reset_price_rates,0),(set_price_rate_for_item,"itm_salt",55)],
[
("enter",[],"Enter.",[[set_jump_mission,"mt_visit_town_horseback"],[jump_to_scene,"scn_salt_mine"],[change_screen_mission]]),
("leave",[],"Leave.",[[leave_encounter],[change_screen_return]]),
]
),
Это меню появляется при входе в соляные шахты. Оно очень простое, обладает меткой mnf_auto_enter. Любое меню с такой меткой автоматически активирует первую опцию меню, для всех игровых ситуаций, не ожидая выбора игрока. В случае соляных шахт, этой опцией является “войти”.
Описание полей записи игрового меню.
1) Идентификатор игрового меню. Используется для ссылки на игровое меню.
2) Метки игрового меню.
3) Текст игрового меню. Это текст, который игрок увидит в игровом меню в кнопке.
4) Идентификатор 3D модели. В настоящий момент не используется, потому в таких полях везде должно стоять значение "none".
5) Блок операций. Блок операций, выполняющихся когда активируется меню.
6) Список опций меню. Каждая опция игрового меню, состоит из следующих элементов:
6.1) Идентификатор опции меню. Используется для ссылок на опцию игрового меню из других файлов.
6.2) Блок условий. Условия, оговоривающие когда будет выведенна на экран данная опция игрового меню.
6.3) Текст игровго меню. Кликабельный текст опций игрового меню. Подстановка подчёркивающей линии ("_") - изящный трюк для того, чтобы сделать кнопку некликабельной.
6.4) Блок последствий. Блок последствий, активируемый при выборе данной опции игрового меню.
Разбор записи меню соляных шахт.
1) Идентификатор игрового меню = "salt_mine"
2) Метки игрового меню = mnf_auto_enter
2) Текст игрового меню = "You enter the salt mine."
3) Идентификатор 3D модели = "none"
4) Блок операций = (reset_price_rates,0),(set_price_rate_for_item,"itm_salt",55)
5) Список опций меню
6.1) Идентификатор опции меню = "enter", "leave"
6.2) Блок условий = нет условий
6.3) Текст игровго меню = "Enter.", "Leave."
6.4) Блок последствий = [set_jump_mission,"mt_visit_town_horseback"],[jump_to_scene,"scn_salt_mine"],[change_screen_mission], [leave_encounter],[change_screen_return]
# в Варбанде такой метки нет
# вместо неё mt_town_center
Первое, что делает это меню – сброс всех торговых ставок на 0 (не обнуление цен, а сброс именно наценки торговца и установление настоящей цены вещам) и затем установка цены соли в 55% от обычной (то есть соль будет продаваться не за 100 динаров, а за 55). Следущее действие, реализованнное с помощью метки mnf_auto_enter, это то, что меню автоматически, за игрока, выберет первую (и единственную) опцию в меню. В данном случае ("enter") и выполнит ее, переместив игрока в солянные шахты, не ожидая клика мышки.
В следуещем разделе мы используем соляные шахты, как шаблон для меню города, который мы создали во 2 части, таким образом завершив его создание.