Location vetas_minerales = [775, 440];
Location veta_mineral = [709, 476];
Location veta_mineral_para_quemar = veta_mineral - [0, 5] + [4,0];
number cant_minerales = 196;
repeat (cant_minerales - 3)
{
drag 1 vetas_minerales veta_mineral
}
repeat (cant_minerales - 3)
{
dclick left veta_mineral_para_quemar
wait 1
wait 400 msec
}
Y ahora con muchos comentarios que explican el funcionamiento:
# En esta localizacion tenemos los ores agrupados
Location vetas_minerales = [775, 440];
# En esta localizacion tenemos el sitio donde se pondran los minerales de 1 en 1
Location veta_mineral = [709, 476];
# Esta localizacion apunta a los minerales sueltos para ir quemando
# se calcula en las proximidades a la veta de mineral
Location veta_mineral_para_quemar = veta_mineral - [0, 5] + [4,0];
# El numero de minerales que vamos a separar quemar
number cant_minerales = 196;
# Aqui comprobamos que las localizaciones estan bien puestas
# descomentando el exit que esta mas abajo, tambien podemos mover un mineral para asegurarnos
mousemove vetas_minerales
wait 1
mousemove veta_mineral
wait 1
mousemove veta_mineral_para_quemar
#drag 1 vetas_minerales veta_mineral
#exit
# Separar la cantidad de ores menos 3, ya q cuando hay - de 3 vetas el objeto
# cambia de forma y se puede perder la localizacion
repeat (cant_minerales - 3)
{
drag 1 vetas_minerales veta_mineral
}
# Se queman tantos minerales como se han separado
repeat (cant_minerales - 3)
{
dclick left veta_mineral_para_quemar
wait 1 # espera un segundo
wait 400 msec # y 400 milisegundos
}
Todos los comentarios son explicativos y las pruebas no son necesarias, pero si utiles.
La típica macro de repetir constantemente la tecla F1:
wait 1 # Esperamos 1 segundo por si acaso
while true # Repetimos para esto para siempre
{
pkey 'f1' # Pulsa f1
wait 8 # esperamos 8 segundos hasta volver a pulsar
}
Tipica macro de construccion de dagas (o cualquier otro objeto):
Location armas = [250, 100];
Location flecha = [267, 92];
Location lejos = [500, 500];
Location arma = [90, 87]
Location tipo = [80, 87];
wait 1
repeat (40/3)
{
pkey 'F1'
wait 1
repeat 2
{
click left flecha
wait 1
mousemove lejos
}
dclick left armas
wait 1
dclick left tipo
wait 1
dclick left arma
wait 4
}
La misma con comentarios que explican el funcionamiento:
Location armas = [250, 100];
Location flecha = [267, 92];
Location lejos = [500, 500];
Location arma = [90, 87] # dagas
Location tipo = [80, 87]; # dagas
wait 1
# Intenta construir tantas dagas como pueda con 40 lingotes, suponiendo que
# se necesitan 3 lingotes por daga
repeat (40/3)
{
pkey 'F1' # Macro en ultima de lastobject, lasttarget
wait 1
# En el menu de herreria, hay que pulsar 2 veces(esto varia segun el server) sobre
# la flecha de la derecha para llegar a las armas de swordmanship
repeat 2
{
click left flecha
wait 1
mousemove lejos # x si sale el cuadrado negro explicativo
}
dclick left armas # Doble click sobre el menu de construccion de armas
wait 1
dclick left tipo # Doble click sobre armas de sword
wait 1
dclick left arma # Doble click sobre menu de las dagas
wait 4 # Esperamos 4 segundos, que acumulados a los que esperamos
# que al sumarse con los segundos que se espera para navegar
# de menu en menu son 9 segundos entre daga y daga
}
Macro para aplicar vendas de vez en cuando, que ademas comprueba que hora es y si son mas de las 11:30 de la mañana apaga el Uo y detiene el script:
number hora,minutos,segundos;
wait 1 sec
while true
{
time (hora,minutos,segundos);
if ((a >= 11) && (b >= 30))
{
wait 4
pkey 'alt'+'f4'
wait 1
exit
}
pkey 'f5'
wait 20
}
Y ahora con extras y explicaciones añadidas:
number hora,minutos,segundos; # Para guardar la hora
wait 1 sec
while true # Repetimos para siempre(o hasta q paremos el script)
{
time (hora,minutos,segundos); # Almacenamos la hora en las variables
# Mostramos la hora en la consola de mensajes
print "Son las " + hora+":"+minutos+":"+segundos
# Si son las 11:30 o mas tarde
if ((a >= 11) && (b >= 30))
{
beep # Hacemos sonar un beep
wait 4
pkey 'alt'+'f4' # Pulsamos Alt+F4 lo que cerrara el UO a lo bestia
wait 1
exit # Terminamos de ejecutar el script
}
pkey 'f5' # F5 es una macro lastobject-targetself
# que nos abremos acordado de aplicar vendas
# antes de empezar
wait 20 # Esperamos 20 segundos antes de volver a aplicar
}