diff --git a/install_vr4life.py b/install_vr4life.py index c2ac5bd..9bb5188 100644 --- a/install_vr4life.py +++ b/install_vr4life.py @@ -6,45 +6,53 @@ def auto_install_menu(): # 1. PEGAR O CAMINHO DO PLUGIN (onde este script está) plugin_dir = os.path.dirname(os.path.realpath(__file__)).replace("\\", "/") - # 2. REGISTAR A ACTION (O QUE O BOTÃO FAZ) + # 2. REGISTRAR A ACTION (CORRIGIDO: usando string bruta para evitar erro de escape) + # Usamos o comando 'getDir #userScripts' para montar o caminho dinamicamente no MaxScript macro_cmd = f""" macroScript VR4Life_Launcher category:"Immerse Games" tooltip:"Abrir VR4Life" ( - python.executeFile @{plugin_dir}/run_vr4life.py@ + on execute do ( + local scriptPath = @{plugin_dir}/run_vr4life.py@ + if (doesFileExist scriptPath) then ( + python.executeFile scriptPath + ) else ( + messageBox "Erro: run_vr4life.py nao encontrado." + ) + ) ) """ rt.execute(macro_cmd) - # 3. CRIAR O MENU NO TOPO + # 3. CONFIGURAR O MENU NO TOPO menu_manager = rt.menuMan main_bar = menu_manager.getMainMenuBar() - # Verifica se o menu já existe para não duplicar toda vez que rodar - for i in range(1, main_bar.numItems() + 1): - if main_bar.getItem(i).getTitle() == "VR4Life": - menu_manager.unRegisterMenu(menu_manager.findMenu("VR4Life")) + # Limpa menu antigo se existir para evitar duplicados + existente = menu_manager.findMenu("VR4Life") + if existente: + menu_manager.unRegisterMenu(existente) - # Cria um novo menu chamado VR4Life + # Cria o novo menu new_menu = menu_manager.createMenu("VR4Life") - # Cria o item de clique que chama a Action que registamos acima - # O nome tem de ser igual ao do macroScript: "VR4Life_Launcher" + # Cria o item que aponta para o MacroScript "VR4Life_Launcher" launcher_item = menu_manager.createActionItem("VR4Life_Launcher", "Immerse Games") - # Adiciona o botão dentro do menu + # Adiciona o botão no menu new_menu.addItem(launcher_item, -1) - # 4. INJETAR NA BARRA PRINCIPAL (Main Menu Bar) - # Cria o "SubMenu" e coloca ele antes do 'Help' (último item) + # 4. INJETAR NA BARRA PRINCIPAL sub_menu_item = menu_manager.createSubMenuItem("VR4Life", new_menu) + + # Adiciona antes do menu Help (que costuma ser o último) main_bar.addItem(sub_menu_item, main_bar.numItems()) - # ATUALIZA A INTERFACE NA HORA + # ATUALIZA A INTERFACE menu_manager.updateMenuBar() - print("VR4Life: Menu instalado via script com sucesso!") + print("VR4Life: Instalacao concluida com sucesso!") return True except Exception as e: