; ------------------------------------------------------
; Macro de Pescar para UA-Sphere (Sphere 0.56b-Nightly)
; Versión 1.0
; Creado por: darksplit
; Ultima edición: --
; Modificaciones de: --
; ------------------------------------------------------
;
;
; Explicación:
; Pesca: Peces, pececillos de todo tipo, cofres y frascos con mapa.
; Objetivo: Guardar TODO en la trampilla. Evita todo tipo de monstruo marino.
; Problemas: Kraken te quita el ocultar (no son frecuentes).
; Solución: Tener un Familiar/Mascota Leal/Golem paseando por el barco (no desaparecen).
; Skill: 30-45, falla mucho y sube poco.
; 45-50, no falla tanto, empieza a subir y pescar más
; 50-100, sube rapido y pesca abundante.
;
; Funcionamiento:
; Rail: Dibuja un cuadrado en el agua, para crear un bucle,
; debes estar en Mar Profundo en un espacio grande
; Pesca: Pesca siempre en perpendicular al barco, para peinar el mar.
;
; Importante:
; Skills: Pescar y Ocultarse (o utilizar Túnica Oscura).
; Posición del barco: Sur-Norte o Norte-Sur.
; Posición del PJ: Entre el Mástil y la Trampilla, en el cuadrado siguiente al mastil.
;
;
; Modificaciones:
; Falta probar el Type de las cañas Mágicas.
; Plantearse hacer, if skill ocultarse >= 100, que solo se oculte cuando pesca agujero.
; así se gana tiempo cada vez que se mueve el barco.
;
; Types de los objetos y bichos
set %peces FQD_GQD_EQD_DQD
set %pezespecial YDF_IEF_XDF_HEF
set %tesoro IIF
set %frasco JMF
set %bicho KI_P
set %baul ZNX_LWX_ZUX_UVX
; Variables iniciales
set %coordenadas 2
set %lado 0
set %moverse 1
set %orientacion 1
set %seguridad 0
; Variables UOTitle
set %kraken 0
set %infopececillos 0
set %infopeces 0
set %infopecesantiguos 0
set %infopecestotal 0
finditem %baul G_5
set %idbaul #FINDID
set #LOBJECTID %idbaul
event macro 17 0
wait 10
finditem %peces C_ , %idbaul
for #findindex 1 #findcnt
{
set %infopecesantiguos %infopecesantiguos + #findstack
}
set %infotesoros 0
set %infofrascos 0
set %infobichos 0
set %infomovimientos 0
set #sysmsgcol 1264
event sysmessage ================
event sysmessage Comienza la macro de Pescar.
event sysmessage ================
; Comprueba si stoy Hiding al inicio, si no lo estoy, va al Sub para Ocultarse
inicio:
if #CHARSTATUS = H
{
goto comienzo
}
else
{
gosub ocultarse
}
goto inicio
; Sub para Ocultarse, lo intenta hasta conseguirlo comprobandolo.
sub ocultarse
set %cmsg #jIndex
set %fmsg #jIndex
for %i %cmsg %fmsg
{
scanJournal %i
if You_have_hidden in #journal || #CHARSTATUS = H
{
goto comienzo
}
event macro 13 21
wait 4s
}
gosub ocultarse
; Sub que edita el titulo cada vez que pesca en algun punto
sub titulo
set %infopecestotal %infopecesantiguos + %infopeces
setuotitle Bucles: %infomovimientos || Peces en baul: %infopecestotal | Peces añadidos: %infopeces | Pececillos última pesca: %infopececillos | Bichos esquivados: %infobichos | Kraken: %kraken | Tesoros: %infotesoros | Frascos: %infofrascos
return
; Comienzo de la macro, busca caña y la utiliza.
comienzo:
gosub titulo
finditem KDF_XHF C_ , #CHARID
set #LOBJECTID #FINDID
set %cmsg #jIndex
event macro 17
wait 10
set %fmsg #jIndex
for %i %cmsg %fmsg
{
scanJournal %i
if Donde_quieres_lanzar in #journal
{
goto acabopescar
}
}
goto comienzo
; Al tener la caña en uso, pesca.
acabopescar:
set %cmsg #jIndex
if %orientacion = 1 ; Pesca perpendicular a la orientación S-N
{
set #LTARGETY #CHARPOSY
set #LTARGETX #CHARPOSX + %coordenadas
}
if %orientacion = 2 ; Pesca en perpendicular a la orientación E-O
{
set #LTARGETY #CHARPOSY + %coordenadas
set #LTARGETX #CHARPOSX
}
wait 5
event macro 22
wait 10
set %fmsg #jIndex
for %i %cmsg %fmsg
{
scanJournal %i
; Ha pescado algo, reinicia la Rallada y lo recoge. Vuelve a pescar en el mismo lugar.
if pez_grande in #journal || pececillos in #journal || cofre in #journal || tesoro in #journal || frasco in #journal
{
set %rallada 0
gosub recoger
goto comienzo
}
; Ha pescado posiblemente un bicho, reinicia la Rallada y Vigila.
if agujero in #journal
{
set %rallada 0
gosub recoger
gosub vigilo
goto comienzo
}
; No pesco nada, lo vuelve a intentar, un máximo de 10 veces seguidas se puede fallar.
if No_pescas_nada in #journal
{
set %rallada %rallada + 1
if %rallada = 10
{
set %rallada 0
gosub editocoordenadas
goto comienzo
}
goto comienzo
}
; Aquí dónde has pescado no hay nada de nada, prueba en otro lado.
if Intenta_pescar_en in #journal || Aqui_no_hay in #journal || Eso_es_muy_lejos in #journal || You_can't_see in #journal
{
gosub editocoordenadas
goto comienzo
}
}
; La seguridad por si se queda esperando una frase y no aparece, y tiene el target puesto.
; Buscará 200 veces la frase, traducido en segundos, durante unos pocos minutos.
set %seguridad %seguridad + 1
if %seguridad = 200
{
set %seguridad 0
goto comienzo
}
goto acabopescar
; Sub para recoger cualquier cosa que haya pescado.
; Primero la busca y luego la coge y la deja en la trampilla.
; Los tesoros necesitan de dos drags para poder cogerlos correctamente.
sub recoger
finditem %peces G_2
if #findcnt > 0
{
set %infopeces %infopeces + #findstack
exevent drag #FINDID #FINDSTACK
finditem %baul G_5
set %idbaul #FINDID
exevent dropc %idbaul
}
finditem %pezespecial G_2
if #findcnt > 0
{
set %infopececillos %infopececillos + 1
exevent drag #FINDID #FINDSTACK
finditem %baul G_5
set %idbaul #FINDID
exevent dropc %idbaul
}
finditem %frasco G_2
if #findcnt > 0
{
set %infofrascos %infofrascos + 1
exevent drag #FINDID
finditem %baul G_5
set %idbaul #FINDID
exevent dropc %idbaul
}
finditem %tesoro G
if #findcnt > 0
{
set %infotesoros %infotesoros + 1
finditem %baul G_5
set %idbaul #FINDID
finditem %tesoro G
exevent drag #FINDID
exevent dropc %idbaul
wait 1s
msg .resend$
exevent drag #FINDID
exevent dropc %idbaul
wait 1s
}
return
; Busca un bicho, pero no todos tienen TYPE
; así que espera 10s si no lo ha encontrado, y busca si lo ve por Journal.
; Si lo encuentra, se esperará otro rato más para evitar que siga pescando y se
; desoculte al querer mover el barco.
sub vigilo
finditem %bicho G
if #FINDCNT > 0
{
wait 240s
}
wait 10s
scanjournal
if Kraken in #journal
{
set %kraken %kraken + 1
}
if Kraken in #journal || Monstruo in #journal || Serpiente in #journal
{
set %infobichos %infobichos + 1
wait 360s
}
return
; Sub de coordenadas de pesca. Se empieza a una casilla del PJ para no pescar sobre el barco.
; Con un máximo de 6 casillas del PJ, ya que no tiene más sedal.
sub editocoordenadas
if %lado = 0
{
set %coordenadas %coordenadas + 1
if %coordenadas >= 7
{
set %lado 1
set %coordenadas -2
}
}
if %lado = 1
{
set %coordenadas %coordenadas - 1
if %coordenadas <= -7
{
set %lado 0
set %coordenadas 2
gosub moverse
}
}
return
; Sub de movimiento del barco.
; Utiliza una variable, al que se le añade un punto cada vez que avanza.
; Al llegar a un número determinado, se gira el barco. Se reinicia a 1 cuando
; vuelve al lugar de origen (en teoria, sin tener en cuenta Saves, etc).
sub moverse
if %moverse < 21 ; norte
{
set %orientacion 1
msg adelante$
wait 30
msg stop$
wait 10
set %moverse %moverse + 1
gosub ocultarse
}
if %moverse = 21 ; giro al este
{
set %orientacion 2
msg gira derecha$
wait 10
set %moverse %moverse + 1
gosub ocultarse
}
if %moverse < 32 && %moverse > 21 ; este
{
set %orientacion 2
msg adelante$
wait 30
msg stop$
wait 10
set %moverse %moverse + 1
gosub ocultarse
}
if %moverse = 32 ; giro sur
{
set %orientacion 1
msg gira derecha$
wait 10
set %moverse %moverse + 1
gosub ocultarse
}
if %moverse < 43 && %moverse > 32 ; sur
{
set %orientacion 1
msg adelante$
wait 30
msg stop$
wait 10
set %moverse %moverse + 1
gosub ocultarse
}
if %moverse = 43 ; giro oeste
{
set %orientacion 2
msg gira derecha$
wait 10
set %moverse %moverse + 1
gosub ocultarse
}
if %moverse < 54 && %moverse > 43 ; oeste
{
set %orientacion 2
msg adelante$
wait 30
msg stop$
wait 10
set %moverse %moverse + 1
gosub ocultarse
}
if %moverse = 54
{
set %moverse 1
set %orientacion 1
set %infomovimientos %infomovimientos + 1
msg gira derecha$
gosub ocultarse
}
return
; Cualquier duda,
[email protected]