import os import shutil import pymxs def instalar_menu_vr4life(): try: # 1. Pega o nome exato do arquivo que você gerou no 3ds Max # (Altere aqui se você salvou com outro nome) nome_arquivo_mnx = "VR4Life.mnx" # 2. Descobre a pasta atual onde este instalador Python está rodando diretorio_atual = os.path.dirname(os.path.realpath(__file__)) caminho_origem_mnx = os.path.join(diretorio_atual, nome_arquivo_mnx) # Trava de segurança: verifica se você não esqueceu de colocar o .mnx junto if not os.path.exists(caminho_origem_mnx): pymxs.runtime.messageBox( f"Erro na instalação: O arquivo '{nome_arquivo_mnx}' não foi encontrado na pasta.", title="VR4Life - Erro" ) return False # 3. Magia do pymxs: Pergunta ao 3ds Max onde fica a pasta UI daquele usuário # Geralmente é C:\Users\[Nome]\AppData\Local\Autodesk\3dsMax\2026 - 64bit\ENU\en-US\UI\ pasta_ui_usuario = pymxs.runtime.pathConfig.getDir(pymxs.runtime.name("userUI")) caminho_destino_mnx = os.path.join(pasta_ui_usuario, nome_arquivo_mnx) # 4. Copia o arquivo .mnx silenciosamente para a máquina do cliente shutil.copy2(caminho_origem_mnx, caminho_destino_mnx) # 5. Avisa no console interno do 3ds Max que deu certo (ótimo para debug) pymxs.runtime.print_(f"VR4Life: Arquivo de menu copiado com sucesso para {pasta_ui_usuario}\n") # 6. Alerta final de sucesso na tela para a sua equipe pymxs.runtime.messageBox( "O menu do VR4Life foi instalado com sucesso!\n\nSe ele não aparecer imediatamente no topo, reinicie o 3ds Max.", title="VR4Life - Instalação Concluída" ) return True except Exception as e: # Captura qualquer erro (falta de permissão no Windows, etc.) pymxs.runtime.messageBox( f"Falha ao instalar o menu.\nErro técnico: {str(e)}", title="VR4Life - Erro Fatal" ) return False # Dispara a função quando o script for rodado no 3ds Max if __name__ == '__main__': instalar_menu_vr4life()