Buenas a todos, al final me decido a publicar una macro que me ha servido muchisimo, sobretodo para romper mano con el EasyUO y aprender muchisimo de este gran programa. Muchos son los que me pedian la macro pero la guardaba con recelo ya que lo mio me costó, pero ahora que no juego apenas ya no veo sentido hacerlo.
Primeramente he de aclarar que esta macro es muy especifica, solo sirve para Heaven, en concreto para la mina de la izquierda, teneis que entender que una macro personal se adapta para una situacion, y no era en principio para todo el publico, asi que esto es lo que hay.
El script evita ser expulsados del heaven una vez alcanzado un limite de skill predefinido. Es tan sencillo como entrar a la mina y darle al play.
Hay muchos scripts o subs reutilizables, podeis cogerlos a vuestro antojo, como yo hice con los de otras personas (sobretodo de Alex, gracias por tus magnificas macros)
Código:
; Creditos
;------------------------------------------
; Macro adaptada por Akelos para el Heaven de Ultima Alianza
; y el cliente 1.5 de EasyUO con los nuevos Exevent
; Macro original de Alex, sin ella nunca habria aprendido tanto,
; gracias tambien a Tecmo's Heal por su macro y a Wiki.EasyUO.com
;
; Esta es mi primera macro, en caso de errores inesperados,
; contacten conmigo por el foro
;------------------------------------------
;
;
; Requisitos Previos, IMPORTANTE
;------------------------------------------
; Primeramente necesitaras tener equipado un pico, y tener en
; tu mochila una pala.
; Seguidamente necesitaras un contenedor (%CofreMinerales)
; en tu banco, ahi sera donde se almacene todo el mineral.
; Entra en la mina y dale al play, eso es todo :)
;
;------------------------------------------
;
;
; Qué hace esta Macro?
;------------------------------------------
; - Ya no necesita mas el cursor del raton, tansolo minimizalo y dejale hacer a él la faena.
; - Adaptada a lamina de Heaven, en concreto para la mina de la izquierda (pequeña Rail adaptada).
; - Cuando estas lleno va al banco y deposita todos los minerales que tengas.
; - Evita ser expulsado del Heaven, bloqueando la skill de minar (65.0% reales).
; - Curarse en caso de ataque. ( has de llevar vendas, no las va a buscar)
; - Llama a los guardias en caso de ser atacados.
;
;
; Modificar estas variables segun tus necesidades
;------------------------------------------
;
; Id del cofre donde guardaremos los minerales, debe estar en el primer
; nivel de tu banco
;--------------------------
set %CofreMinerales UJTVTPD
;--------------------------
;
; Estas en el Heaven y quieres evitar ser expulsado? si / no
;--------------------------
set %HeavenGuardian si
;--------------------------
;
; En Ultima Alianza el limite de skill es 650 reales
;--------------------------
set %LimiteSkill 650
;--------------------------
;
; Quieres llamar a los guardias en caso de ser atacado y
; aplicar vendas hasta que sea necesario? (Recuerda llevar vendas encima)
; si / no
;--------------------------
set %HpScanning si
;--------------------------
;
; Una vez alcanzado este peso dejara de minar e ira al banco a depositar los minerales
;--------------------------
set %PesoMaximo ( #maxweight - 30 )
;------------------------------------------
;
;
;
; No tocar nada mas
;===========================================================
;
; Inicializando Variables y comprobaciones previas
;------------------------------------------
chooseskill Mini real
set %skillini #skill
if ( %HeavenGuardian = si )
goSub CheckSkillStatus
wait 10
event Macro 8 2 ;Open Status
wait 10
event Macro 8 7 ;Open Backpack
wait 10
set %CallGuarslIfLowerThan ( #MAXHITS - 10 )
if ( #TARGCURS = 1 )
set #TARGCURS 0
;
;
; Inicializando Variables de Alex
;--------------------------
set %locs LOCATIONS_PISADAS
set %lugaro 2440
set %lugarp X
set %borrado 0
;------------------------------------------
;
;
; Tecmo's Heal
;------------------------------------------
set %healer 0
set %healtimer 16
set %healtemp 120 - #dex
set %healtemp %healtemp / 16
set %healtimer %healtimer + %healtemp
set %HealIfLowerThan 92
;
;
event SysMessage - Iniciando macro de Minar para vagos.. no va por ti #CHARNAME :)
;
;
comienzo:
if ( %HpScanning = si )
goSub UnderAttack
if ( %HeavenGuardian = si )
goSub HeavenGuardian
if ( #weight > %PesoMaximo ) || ( too_heavy in #journal )
{
event SysMessage - Estas lleno, vamos a vaciar la saca :)
goto IrAlBanco
}
findItem NPF
if #FINDSTACK = 0
{
findItem QPF
}
set #LOBJECTID #FINDID
set %cmsg #jIndex
event macro 17
wait 10
set %fmsg #jIndex
for %i %cmsg %fmsg
{
scanJournal %i
if where_do_you_want in #journal
{
set %seguridad 0
goto acabapicar
}
}
goto comienzo
acabapicar:
set %cmsg #jIndex
set #lTargetX #CHARPOSX
set #lTargetY #CHARPOSY + 1
set #lTargetKind 3
target 5s
event macro 22
wait 10
set %fmsg #jIndex
for %i %cmsg %fmsg
{
scanJournal %i
if You_put in #journal || No_encuentras in #journal
{
set %skillinc #SKILL - %skillini
setuotitle Skill de Mining | Inicial: %skillini | Actual: #SKILL | Incremento: %skillinc
goto comienzo
}
if Aqui_no_hay_nada_por in #journal || Prueba_a in #journal
{
goto moverse
}
}
gosub seguridad
goto acabapicar
moverse:
if #CHARPOSX , _ , #CHARPOSY notIn %locs
{
set %borrado %borrado + 1
if %borrado > 100
{
set %locs LOCATIONS_PISADAS
set %borrado 0
}
set %locs %locs , _ , #CHARPOSX , _ , #CHARPOSY
}
if %lugarp = X
{
if %lugaro < #CHARPOSX
{
for %i 1 6
{
event macro 5 7
wait 10
}
}
}
if %lugarp = Y
{
if %lugaro < #CHARPOSY
{
for %i 1 6
{
event macro 5 1
wait 10
}
}
}
set %mover #random % 7
event macro 5 %mover
wait 20
event macro 5 %mover
wait 20
if #CHARPOSX , _ , #CHARPOSY in %locs
goto moverse
goto comienzo
sub seguridad
{
set %seguridad %seguridad + 1
if %seguridad > 15
{
set %seguridad 0
goto comienzo
}
return
}
; Rail especifica para la mina de la izquierda del Heaven
;------------------------------------------
IrAlBanco:
; Parte superior-izquierda de la mina
if #CHARPOSY > 99
{
move 2425 105 1
move 2425 96 1
}
; Parte superiros la mina
if #CHARPOSX <= 2426 && #CHARPOSY < 93
{
move 2426 85 2
move 2431 90 1
}
if #CHARPOSX = 2422 && #CHARPOSY <= 93
{
move 2426 85 2
move 2431 90 1
}
; Parte inferior de la mina
; No hace falta volver a subir para ir al banco
else
{
if #CHARPOSX >= 2436
move 2442 94 1
else
{
move 2430 93 1
move 2433 96 1
}
}
move 2442 94 1
move 2449 94 1
move 2452 89 2
goto GuardarAlBanco
GuardarAlBanco:
if #targCurs = 1
{
set #targCurs 0
}
msg bank $
wait 20
set %bancoid #contid
wait 20
if %bancoid <> N/A
{
event sysmessage - Guardando en el banco
goSub GuardarMinerales
}
else
{
event sysmessage - Banco NO encontrado
halt
}
goto VolverAlInicio
VolverAlInicio:
; Del banco al punto de inicio
move 2452 89 1
move 2449 94 1
move 2442 94 1
move 2433 96 1
move 2430 92 1
goto moverse
; Macro que almacena todos los tipos de minarales encontrados
; en nuestra mochila, recuerda definir %CofreMinerales previamente
;------------------------------------------
sub GuardarMinerales
set %bucle si
while ( %bucle = si )
{
finditem DWJ
if #findkind <> -1
{
wait 15
Exevent Drag #findid #findstack
wait 20
Exevent Dropc %CofreMinerales
wait 15
}
else
set %bucle no
}
return
;------------------------------------------
;
; Comprueba si la skill de Minar debe estar en Up o Bloqueada,
; cualquier otro estado sera modificado
;------------------------------------------
sub CheckSkillStatus
if #skillLock = down || #skillLock = up
{
goSub HeavenGuardian
if #skillLock = down
Exevent skilllock black up
}
return
;------------------------------------------
;
;
; Macro que evitara que nuestro personaje sea expulsado
; del queridisimo Heaven segun lo especificado en %LimiteSkill
;------------------------------------------
Sub HeavenGuardian
if ( #SKILL >= %LimiteSkill ) && ( #skillLock <> locked )
{
Exevent skilllock mini locked
if #skillLock <> locked
{
event SysMessage - Skill Minar no pudo ser bloqueada. Se ha pausado el EUO, bloqueala manualmente y dale a Play
pause
}
event sysmessage - Alcanzado el limite de skill ( %LimiteSkill ) para el Heaven
event SysMessage - Skill Minar ha sido bloqueada
}
return
;------------------------------------------
;
;
; Macro para llamar a los guardias en caso de ser atacado y
; aplicar vendas hasta que sea necesario
;------------------------------------------
Sub UnderAttack
if ( #hits < %CallGuarslIfLowerThan )
{
msg Guards$
if %healer <= #scnt
{
set %healer #scnt + %healtimer
finditem ZLF C
if #findkind = -1
{
event SysMessage You do not have any bandages!
return
}
set #lobjectid #findid
event macro 17
target
event macro 23
set %ht %healer - #scnt
CountDownLoop:
wait 1s
set %ht %ht - 1
if %ht > 0
goto CountDownLoop
}
gosub UnderAttack
}
return
;------------------------------------------