You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

51 lines
2.2 KiB
Python

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()