main
henrique 2 months ago
parent 03377267ae
commit b3e6f7e8c3

@ -2,23 +2,19 @@ import os
from pymxs import runtime as rt
def carregar_menu_mnx():
rt.clearListener()
print("\n" + "="*50)
print("LOG DE INSTALAÇÃO DE INTERFACE - VR4LIFE")
print("AGENDANDO CARREGAMENTO DE INTERFACE - VR4LIFE")
print("="*50)
try:
# 1. Definir caminhos (Usando barras normais / para evitar conflitos)
# 1. Definir caminhos
pasta_macros = rt.getDir(rt.name("userMacros"))
pasta_enu = os.path.dirname(pasta_macros)
caminho_mnx = os.path.join(pasta_enu, "en-US", "UI", "vr4life.mnx").replace("\\", "/")
plugin_dir = os.path.dirname(os.path.realpath(__file__)).replace("\\", "/")
run_script = f"{plugin_dir}/run_vr4life.py"
print(f"[*] Pasta do Plugin: {plugin_dir}")
print(f"[*] Caminho do MNX: {caminho_mnx}")
# 2. Registrar MacroScript
# 2. Registrar MacroScript (Isso pode ser feito agora, não depende de UI)
macro_cmd = (
'macroScript VR4Life_Launcher\n'
'category:"Immerse Games"\n'
@ -29,30 +25,41 @@ def carregar_menu_mnx():
)
rt.execute(macro_cmd)
# 3. Carregar MNX (Corrigido para evitar o erro de sintaxe @C)
if os.path.exists(caminho_mnx):
print(f"[!] Arquivo MNX encontrado. Solicitando carregamento...")
# Aqui usamos aspas duplas e formatamos o caminho para o MaxScript
cmd_load = (
'(\n'
' if menuMan != undefined then (\n'
f' local result = menuMan.loadMenuFile "{caminho_mnx}"\n'
' menuMan.updateMenuBar()\n'
' format ">> MaxScript: loadMenuFile result: %\\n" result\n'
' ) else (\n'
' format ">> MaxScript Erro: menuMan ainda e undefined\\n"\n'
' )\n'
')'
# 3. AGENDAMENTO (O Timer de 2 segundos)
# Criamos um timer que espera o menuMan acordar para carregar o seu MNX
timer_cmd = f"""
(
fn tryLoadVRMenu = (
if menuMan != undefined then (
menuMan.loadMenuFile "{caminho_mnx}"
menuMan.updateMenuBar()
format ">> VR4Life: Menu carregado via Timer com sucesso.\\n"
return true
) else (
format ">> VR4Life: Aguardando interface...\\n"
return false
)
)
rt.execute(cmd_load)
else:
print(f"[X] ERRO: Arquivo {caminho_mnx} NAO existe no disco.")
print("="*50)
-- Cria um timer de 2000ms (2 segundos)
local theTimer = dotNetObject "System.Windows.Forms.Timer"
theTimer.interval = 2000
dotNet.addEventHandler theTimer "Tick" (fn onTick s e = (
if (tryLoadVRMenu()) do (
s.stop()
s.dispose()
)
))
theTimer.start()
)
"""
rt.execute(timer_cmd)
print("[*] Timer iniciado. O menu aparecera em 2 segundos.")
except Exception as e:
print(f"\n[EXCEPTION] Falha grave:\n{str(e)}")
print(f"\n[EXCEPTION] Falha no agendamento:\n{str(e)}")
if __name__ == "__main__":
carregar_menu_mnx()
Loading…
Cancel
Save