henrique 2 months ago
parent e2b89a7552
commit 951feb57d4

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

Binary file not shown.

@ -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"
extract to $temp\vr4life_inst
run "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"
)
)
Loading…
Cancel
Save