From 9c88be95604a2a34fc88b5845485bb1459271a9a Mon Sep 17 00:00:00 2001 From: henrique Date: Mon, 23 Feb 2026 21:10:22 -0300 Subject: [PATCH] aa --- instalador/vr4life-install-3dmax.mzp | Bin 2134 -> 2591 bytes instalador/vr4life.mnx | 10 +++++++ install_vr4life.py | 38 ++++++++++++++------------- 3 files changed, 30 insertions(+), 18 deletions(-) create mode 100644 instalador/vr4life.mnx diff --git a/instalador/vr4life-install-3dmax.mzp b/instalador/vr4life-install-3dmax.mzp index 3330e1cb00a9dbfa2af4aa485289996af749083c..988446ae602b0faf9376c2a7acd5b8c06d075116 100644 GIT binary patch delta 483 zcmca6FkfVYBzrwGiwFY)0|$fK((stm=ez$oGcqu2VrF3A28xyyndD@qrRwG8Rji$S zI_t23fa~|xf6W)`q;6IZu4g?x$EHyna_2NRFb5-gdK_SV##hc## zT*c*)w%=EMGrM`N_p(nlw>>jweu~m!dA5>aT`Oa9D}(FY^fv2WE#;H_f0s;;IhuZB zU)|z8Yv1fEoquD${%ke3mim+3xdl747JhR)wS`BaLX6XS4UZD@>!5cwQ&%l{$8<=2 zP2rKJ9cO>u_T!l^|IBpr$DlU!84oyZ8RyGD8UMg|6Pb`TE$a~lLf diff --git a/instalador/vr4life.mnx b/instalador/vr4life.mnx new file mode 100644 index 0000000..98bb037 --- /dev/null +++ b/instalador/vr4life.mnx @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/install_vr4life.py b/install_vr4life.py index 3be155e..14d152c 100644 --- a/install_vr4life.py +++ b/install_vr4life.py @@ -4,48 +4,50 @@ 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" + 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) + # A GRANDE MUDANÇA: Em vez de __file__, vamos direto na pasta + # temporária onde o mzp.run extraiu os arquivos! + pasta_temp_windows = os.environ.get('TEMP') + pasta_extracao_mzp = os.path.join(pasta_temp_windows, "VR4Life_Install") + + caminho_origem_mnx = os.path.join(pasta_extracao_mzp, nome_arquivo_mnx) - # Trava de segurança: verifica se você não esqueceu de colocar o .mnx junto + # Verifica se achou no temp 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.", + f"Erro: O arquivo '{nome_arquivo_mnx}' não foi encontrado na pasta de extração:\n{caminho_origem_mnx}\n\nVerifique se o arquivo está dentro do .mzp com o nome exato (em minúsculo).", 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")) + # Acha a pasta de interface do usuário do 3ds Max + pasta_macros = pymxs.runtime.pathConfig.getDir(pymxs.runtime.name("userMacros")) + pasta_enu = os.path.dirname(pasta_macros) + pasta_ui_usuario = os.path.join(pasta_enu, "en-US", "UI") + + if not os.path.exists(pasta_ui_usuario): + os.makedirs(pasta_ui_usuario) + caminho_destino_mnx = os.path.join(pasta_ui_usuario, nome_arquivo_mnx) - # 4. Copia o arquivo .mnx silenciosamente para a máquina do cliente + # Faz a cópia 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") + pymxs.runtime.print_(f"VR4Life: 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" + title="VR4Life - Sucesso!" ) 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() \ No newline at end of file