diff --git a/instalador/Instalador_Online_VR4Life.py b/instalador/Instalador_Online_VR4Life.py index c981f12..3c6ac2d 100644 --- a/instalador/Instalador_Online_VR4Life.py +++ b/instalador/Instalador_Online_VR4Life.py @@ -5,8 +5,9 @@ from pymxs import runtime as rt # ========================================== # CONFIGURAÇÕES DO GITEA - IMMERSE GAMES # ========================================== -GITEA_RAW_URL = "https://git.immersegame.com/immersegame/vr4life-3dmax-plugin/raw/branch/main/" -GITEA_TOKEN = "efebcde14ce96a2b80d0b3f207991bc155018ab8" +# URL apontando para a pasta 'instalador' +GITEA_RAW_URL = "https://git.immersegame.com/vr4life_public/vr4life-3dmax-plugin/raw/branch/main/" +GITEA_TOKEN = "3831a0da2f87e391f41f4649d48498136a1903c9" # Descobre a pasta segura de Scripts do Usuário do próprio 3ds Max user_scripts_dir = rt.getDir(rt.name("userScripts")) @@ -24,20 +25,27 @@ FILES_TO_DOWNLOAD = [ def install_from_cloud(): rt.clearListener() - print("=== INICIANDO INSTALAÇÃO ONLINE VR4LIFE ===") + print("=== INICIANDO INSTALAÇÃO ONLINE ===") + # 1. Cria a pasta do plugin dentro do 3ds Max se ela não existir if not os.path.exists(PLUGIN_DIR): os.makedirs(PLUGIN_DIR) - + print(f"Pasta de destino criada: {PLUGIN_DIR}") + + # 2. Inicia o download forçando o token na URL try: for file_name in FILES_TO_DOWNLOAD: - remote_url = GITEA_RAW_URL + file_name + # INJEÇÃO DIRETA: O token vai na própria URL para evitar bloqueio do Gitea nas rotas Raw + remote_url = f"{GITEA_RAW_URL}{file_name}?token={GITEA_TOKEN}" local_path = os.path.join(PLUGIN_DIR, file_name).replace("\\", "/") print(f"Baixando: {file_name}...") + req = urllib.request.Request(remote_url) - req.add_header("Authorization", f"token {GITEA_TOKEN}") + # Mantemos o cabeçalho Bearer como redundância de segurança + req.add_header("Authorization", f"Bearer {GITEA_TOKEN}") + # Executa o download e salva no PC response = urllib.request.urlopen(req) remote_code = response.read().decode('utf-8') @@ -46,6 +54,7 @@ def install_from_cloud(): print("Download concluído! Configurando menu do 3ds Max...") + # 3. Executa o instalador local (que ele acabou de baixar) para montar o menu install_script = os.path.join(PLUGIN_DIR, "install_vr4life.py").replace("\\", "/") rt.python.ExecuteFile(install_script) diff --git a/instalador/VR4Life_Installer.mzp b/instalador/VR4Life_Installer.mzp deleted file mode 100644 index f0f79ea..0000000 Binary files a/instalador/VR4Life_Installer.mzp and /dev/null differ diff --git a/instalador/mzp.run b/instalador/mzp.run index 6f45b55..dc4930e 100644 --- a/instalador/mzp.run +++ b/instalador/mzp.run @@ -1,8 +1,5 @@ -name "VR4Life Web Installer" -version "1.0" +name "VR4Life Installer" +version 1 -extract to $temp\VR4Life_WebInstaller -copy *.* to $temp\VR4Life_WebInstaller - -run "run_installer.ms" -drop "run_installer.ms" \ No newline at end of file +extract to $temp\vr4life_inst +run "run_installer.ms" \ No newline at end of file diff --git a/instalador/run_installer.ms b/instalador/run_installer.ms index b1ce35a..aca6ac7 100644 --- a/instalador/run_installer.ms +++ b/instalador/run_installer.ms @@ -1,7 +1,13 @@ --- O MZP vai extrair os arquivos para a pasta Temporária do Max. -local py_script = (getDir #temp) + "\\VR4Life_WebInstaller\\Instalador_Online_VR4Life.py" -if doesFileExist py_script then ( - python.ExecuteFile py_script -) else ( - messageBox "Erro: Arquivo Python não encontrado no pacote MZP." title:"Erro" +( + -- Aponta para a pasta exata que definimos no mzp.run + local py_script = (getDir #temp) + "\\vr4life_inst\\Instalador_Online_VR4Life.py" + + -- Checa se o arquivo realmente está lá + if doesFileExist py_script then ( + -- Se estiver, executa e deixa o Python cuspir erros reais se houver + python.ExecuteFile py_script + ) else ( + -- Se não estiver, avisa onde procurou + messageBox ("O instalador não encontrou o Python!\n\nProcurou em:\n" + py_script) title:"Erro de Extração MZP" + ) ) \ No newline at end of file diff --git a/instalador/vr4life-install-3dmax.mzp b/instalador/vr4life-install-3dmax.mzp new file mode 100644 index 0000000..8f0c016 Binary files /dev/null and b/instalador/vr4life-install-3dmax.mzp differ