Убрать GUI при заходе в сундук — screenChangeHook

Сегодня мы разберем относительно новую функцию ModPE — ловушку screenChangeHook. Данная функция очень полезна присоздании и управлении игры или при управлении GamePlay’ем.

Как уже говорилось, данная функция — хук, и имеет она всего один аргумент — строку. Этот хук срабатывает при каждом изменении игрового экрана. Более простыми словами, эта функция показывает, в каком меню в игре игрок находится. Примеры — в игре, в стартовом меню, в GUI верстака и так далее. Таким образом, она более чем заменяет ловушки newLevel и leaveGame, имея существенно большие возможности.

Аргумент дает нам строковое название экрана, если честно — первое, попавшее в голову Zhuowei Zhang (ну, или создателям Minecraft’а, я точно не знаю ;-)). Вот список названий экранов (взят из Seesaa Wiki):

  • add_external_server_screen
  • anvil_screen
  • brewing_stand_screen
  • chat_screen
  • confirm_screen
  • crafting_screen
  • create_world_screen
  • creative_inventory_screen
  • death_screen
  • dispenser_screen
  • dropper_screen
  • enchanting_screen
  • furnace_screen
  • gamepad_layout_screen
  • hopper_screen
  • horse_screen
  • hud_screen
  • in_bed_screen
  • in_game_play_screen
  • keyboard_layout_screen
  • language_choice_screen
  • large_chest_screen
  • leave_level_screen
  • modal_screen-xblLogin.LoginMessageTitle-xblLogin.LoginMessage
  • options_screen
  • pause_screen
  • play_screen-friends
  • play_screen-realms
  • play_screen-worlds
  • progress_screen-local_world_load
  • progress_screen-nether
  • skin_picker_screen
  • small_chest_screen
  • start_screen
  • store_screen
  • survival_inventory_screen
  • xbl_optional_signin_screen-gui.achievements
  • xbl_optional_signin_screen-networkWorld.add_friend

Детальное описание я приводить не буду, знания английского должно быть достаточно, чтобы понять большинство этих экранов. Скажу, что все настройки полностью изменились и на данный момент страницы настроек начинаются с префикса screen_controls_and_settings-. Самые новые названия можно вывести с помощью скрипта:

1
2
3
function screenChangeHook(screen){
    print(screen);
}

Самые новые экраны можете заносить на страницу на Вики, в описание данной ловушки.

Еще одно — стоит заметить, что in_game_play_screen и hud_screen появляются по очереди при заходе в игру — по сути, если надо отловить то, что игрок в игре, а не в гуи блока или не в меню — используйте две этих функции вместе. Пример всего этого есть на Хабе, в нашем репозитории.  Это небольшой модик UltraIndicators, который я скоро вам запрезентую)))

Запись опубликована в рубрике ModPE. Добавьте в закладки постоянную ссылку.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *