Tengo unas pocas de macros de separar oro y fundir y tal... pero llega un momento que o empieza a tirar los minerales al suelo o me pone connection lost...

Esta es la macro

Código:
    ; Macro by Alex tuneada por Shamino
    ; Para Separar ores y fundirlos.
    ; Necesitamos un cofre donde tengamos los ores a separar y poder dejar los lingotes,
    ; junto a una forja, vigilad que tengamos linea de visión con ambos.
    ; =======================================================================
    ; Primero tenemos que poner cuantos ores debe separar y fundir
    ; es recomendable poner de 50 a 100 para que no tengamos sobrepeso
    ; Al empezar deberemos configurar el Cofre y un punto de nuestra mochila.
    ; Los pasos se explican en el UO al darle a empezar.
    ; Una vez configurado la macro empezará sola a separar, fundir y guardar.
    ; =======================================================================
    ; IMPORTANTE: Haced paquetes de 200 en 200 de los minerales, no superiores (dentro del baúl).

    ; Poner aquí el número de ores que irá separando y fundiendo cada vez. (10, 20, 30,...)
    ;--------------------------
    set %sep 50
    :--------------------------
    initevents
    set %confp 1
    configurar:
    if %confp = 1
    {
    Event sysmessage Abre el cofre en el que tienes los ores a separar y manten el cursor en el...
    event sysmessage Y presiona la tecla ESC
    set %conf 1
    set %confp 2
    goto TESC
    }
    if %confp = 2
    {
    event sysmessage Pon el cursor donde desees dejar el objeto a separar...
    event sysmessage Y presiona la tecla ESC
    set %conf 2
    goto TESC
    }

    TESC:
    onHotKey ESC
    {
    if %conf = 1
    {
    set %cofre #LOBJECTID
    set %cofrex #CURSORX
    set %cofrey #CURSORY
    goto configurar
    }
    if %conf = 2
    {
    set %dejarx #CURSORX
    set %dejary #CURSORY
    set %tot 0
    set %vez 0
    set %fin 0
    goto separar
    }
    }
    goto TESC


    separar:
    for %vecesS 1 %sep
    {
    finditem TVJ c_ , %cofre
    if #FINDSTACK = 0
    {
    findItem GWJ C_ , %cofre
    if #FINDSTACK = 0
    {
    findItem EWJ C_ , %cofre
    if #FINDSTACK = 0
    {
    findItem DWJ C_ , %cofre
    if #FINDSTACK = 0
    {
    set %fin 1
    }
    }

    }
    }
    event drag #FINDID
    wait 5
    msg 1 $
    click %dejarx %dejary p
    wait 5
    }

    fundir:
    findItem TVJ C_ , #BACKPACKID
    if #FINDSTACK > 0
    {
    set #LOBJECTID #FINDID
    event macro 17
    set %vecesF %vecesF + 1
    wait 5
    goto fundir
    }
    if %fin = 1
    {
    set %fin 2
    }
    set %vecesF 0

    guardar:
    findItem RMK C_ , #BACKPACKID
    if #FINDSTACK = 0
    {
    findItem NMK C_ , #BACKPACKID
    if #FINDSTACK = 0
    {
    findItem XMK C_ , #BACKPACKID
    if #FINDSTACK = 0
    {
    findItem TMK C_ , #BACKPACKID
    }

    }

    }
    event drag #findid
    wait 5
    KEY ENTER
    wait 5
    click %cofrex %cofrey p
    set %tot %tot + #FINDSTACK
    findItem RMK C_ , #BACKPACKID
    if #FINDSTACK = 0
    {
    findItem NMK C_ , #BACKPACKID
    if #FINDSTACK = 0
    {
    findItem XMK C_ , #BACKPACKID
    if #FINDSTACK = 0
    {
    findItem TMK C_ , #BACKPACKID
    if #FINDSTACK = 0
    {
    if %fin = 2
    {
    gosub finalizar
    }
    }
    }

    }

    }
    if #FINDSTACK > 0
    {
    goto guardar
    }
    set %vez %vez + 1
    goto separar

    sub finalizar
    {
    event sysmessage Se ha finalizado la macro, no se ha encontrado más mineral que fundir!
    halt
    }