Skip to content

Instantly share code, notes, and snippets.

@calicaixeta
Last active April 9, 2025 20:43
Show Gist options
  • Save calicaixeta/1796044b7933fcf5b018 to your computer and use it in GitHub Desktop.
Save calicaixeta/1796044b7933fcf5b018 to your computer and use it in GitHub Desktop.
Yue Mining Moving Full 5.0
// Yue Mining Moving 4.1
//
// Script para Mineiros p/ UOpilot v1.07 beta 7 WK
// By Gustavo Caixeta (Yue), Feverreiro, 2004
// [email protected]
//-Configurações no UO
// Always Run- Ligado
// Teclas: PageUP, PageDown, Home, End, Up, Down, Left, Right como movimentos padrões do UO
// Criar Macro de UO: LastObject - WaitForTarg - LastTarget. Mudar a variavel $key do script para essa tecla.
//-Configurações No Config do Script
// set lastobject (ID da Sua picareta). Caso não queira usar essa var apenas adcione // na frente do set lastobject, caso fassa isso será nescessário dar 2 cliques na picareta.
// set $key (tecla LastObject - WaitForTarg - LastTarget)
// set $delaymaxmim (delay em milisegundos do tempo maximo de mineração em apenas um lugar, regule com cuidado. 6000 é o tempo original)
// set $delaymsg (tempo minimo para aparecer mensaguem de erro ou acerto. Caso esteja minerando em uma mina izolada é possivel diminuir este tempo)
// set $delaypasso (tempo entre um passo e outro na hora de andar. Caso o personagem não consigir andar aumente esse tempo.)
// set $delayerromin (tempo entre um erro e outra tentativa em lugar diferente. Esse tempo depenendo do Shard pode ser zero)
// set $quantpontmin (quantidade de centros de mining)
//-Configuração dos Locais centrais de mining.
// set %arr [1 1] (Cordenada X do primeiro Ponto)
// set %arr [1 2] (Cordenada Y do primeiro Ponto)
// set %arr [2 1] (Cordenada X do segundo Ponto)
// set %arr [2 2] (Cordenada Y do segundo Ponto)
// ...
//Caso queria colocar mais pontos basta mudar no $quantpontmin e adcionar novos pontos de mineração.
//Estes pontos são o centro de mining. Apos o personagem se locomover para essa cordenada ele automaticamente minerará em todo o alcance.
//////////////// Config /////////////////
set lastobject 1136868580
set $key F1
set $delaypasso 300
set $quantpontmin 10
set $delaymax 15
//Menssage Config
set $skillup Your skill in
set $msgacerto You put the
set $minaerro You loosen some rocks but fail to find any useable ore
set $msg1 Nao tem nada aqui para minerar
set $msg2 That is too far away
set $msg3 You have no line of sight to that location
set $msg4 Try mining in rock
set $msg5 You can\'t see the target
set $msg6 Tente minerar em outro lugar
set $msg7 You can\'t
set $where Where do you want to use the pickaxe
//System Config
set lasttargetkind 3
/////////////Cord Move ///////////////
:startmove
//Center Points Mining Config
set %arr [1 1] 2558
set %arr [1 2] 496
set %arr [2 1] 2563
set %arr [2 2] 492
set %arr [3 1] 2567
set %arr [3 2] 488
set %arr [4 1] 2571
set %arr [4 2] 487
set %arr [5 1] 2572
set %arr [5 2] 482
set %arr [6 1] 2577
set %arr [6 2] 478
set %arr [7 1] 2579
set %arr [7 2] 481
set %arr [8 1] 2570
set %arr [8 2] 476
set %arr [9 1] 2566
set %arr [9 2] 478
set %arr [10 1] 2564
set %arr [10 2] 485
for #xy 1 $quantpontmin 1
set $gox %arr [#xy 1]
set $goy %arr [#xy 2]
:moving
gosub move
if charposy = $goy [ and charposx = $gox ]
goto locmin
else
goto moving
end_if
//////////// Mining /////////////
:locmin
for #minx -2 +2 1
for #miny -2 +2 1
set lasttargetx charposx + #minx
set lasttargety charposy + #miny
set lasttargetz charposz
:minera
Send $key
set #tempo 0
:check
while_not ( lastmsg = $msg1 ) or ( lastmsg = $msg2 ) or ( lastmsg = $msg3 ) or ( lastmsg = $msg4 ) or ( lastmsg = $msg5 ) or ( lastmsg = $msg6 ) or ( lastmsg = $msg7 ) or ( lastmsg = $msgacerto ) or ( lastmsg = $skillup ) or ( #tempo > $delaymax ) or ( lastmsg = $minaerro )
set #tempo #tempo + 1
end_while
while ( lastmsg = $where )
if target = 1
send Escape
goto minera
else
goto check
end_if
end_while
if ( lastmsg = $msg1 ) or ( lastmsg = $msg2 ) or ( lastmsg = $msg3 ) or ( lastmsg = $msg4 ) or ( lastmsg = $msg5 ) or ( lastmsg = $msg6 ) or ( lastmsg = $msg7 )
goto fimmin
end_if
if ( lastmsg = $msgacerto ) or ( lastmsg = $skillup ) or ( lastmsg = $minaerro )
goto minera
end_if
goto minera
:fimmin
end_for
end_for
end_for
///////////////Move/////////////////
:move
if charposx > $gox [ and charposy < $goy ]
send Left
send Left
wait $delaypasso
end_if
if charposx < $gox [ and charposy > $goy ]
send Right
send Right
wait $delaypasso
end_if
if charposx < $gox [ and charposy < $goy ]
send Down
send Down
wait $delaypasso
end_if
if charposx > $gox [ and charposy > $goy ]
send Up
send Up
wait $delaypasso
end_if
if charposx < $gox
send PageDown
send PageDown
wait $delaypasso
end_if
if charposx > $gox
send Home
send Home
wait $delaypasso
end_if
if charposy < $goy
send End
send End
wait $delaypasso
end_if
if charposy > $goy
send PageUp
send PageUp
wait $delaypasso
end_if
return
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment