...Call ed eseguire una sola sub dello script Richiamato?
annuncio
Comprimi
Ancora nessun annuncio.
[EASYUO]E' possibile fare un...
Comprimi
X
-
si, è necessario che modificare lo script perchè si comporti come una libreria di sub ma è fattibile, inserisci questo all'inizio dello script da richiamare:
codice:if %0 >= 1 gosub %1 exit
se la sub ha bisogno di argomenti nella chiamata invece:
codice:if %0 >= 1 gosub _indirectInvokeEx %1 %2 %3 %4 %5 %6 %7 %8 %9 %10 %11 %12 exit sub _indirectInvokeEx ; %argc(full) %subname %args[10] namespace push namespace local indirectInvoke_ , #random goto %1 ; si arriva qui solo se la label non è riconosciuta (numero args errato) event exmsg #charid 3 0 ATTENZIONE! Il numero degli argomenti di _indirectInvokeEx è errato! Lo script andrà in pausa. pause goto out 0: gosub %2 goto out 1: gosub %2 %3 goto out 2: gosub %2 %3 %4 goto out 3: gosub %2 %3 %4 %5 goto out 4: gosub %2 %3 %4 %5 %6 goto out 5: gosub %2 %3 %4 %5 %6 %7 goto out 6: gosub %2 %3 %4 %5 %6 %7 %8 goto out 7: gosub %2 %3 %4 %5 %6 %7 %8 %9 goto out 8: gosub %2 %3 %4 %5 %6 %7 %8 %9 %10 goto out 9: gosub %2 %3 %4 %5 %6 %7 %8 %9 %10 %11 goto out 10: gosub %2 %3 %4 %5 %6 %7 %8 %9 %10 %11 %12 goto out out: namespace clear namespace pop return #result sub _indirectInvoke gosub _indirectInvokeEx %0 %1 %2 %3 %4 %5 %6 %7 %8 %9 %10 %11 return #result
cosi dal tuo script puoi richiamare la sub con: "call 'nomescript' 'numero argomenti' 'nomesub' 'argomento1' 'argomento2' etc."
fino a un massimo di 10 argomentiUltima modifica di fengyr; 03-01-2011, 19:30.____________________________________________________________________
Il più Fengyr
____________________________________________________________________
: algander#6292
Commenta