crachoverayd
04/08/2008, 1:17:25
Essa macro parece ser muito boa, mas nñ consegi usar ela deve tar com algums erros qeu ñ consegi ver, se algem puder ajudar
#########################################Ratosh### #######################################
# Crédito a Ratosh #
# #
# O que faz: #
# - Refina o $refineItem usando o minerio $refineOre #
# - Verifica a quantidade do item a ser refinado e de minérios #
# - Upa todos os itens até $safetyLvl com a conversa $npcTalkText #
# - Upa de $safetyLvl até $maxLvl com a conversa $npcTalkTextOver #
# #
#---------------------------------------------------------------------------------------#
# #
# O que não faz: #
# - Não pega o item a ser refinado na kafra nem no carrinho #
# - Não pega o minério usado para refinar na kafra nem no carrinho #
# #
#---------------------------------------------------------------------------------------#
# #
# Como configurar: #
# - Tenha todos os itens necessarios para refinar no inventário do char #
# - Configure os valores na automacro refina #
# * refineItem - Item a ser refinado #
# * refineOre - Minério usado para refinar o item #
# * maxLvl - Nível máximo de refinamento do item #
# * safetyLvl - Nível que o item é refinado sem perigo de quebrar #
# * npcTalkText - Texto usado para refinar sem perigo de quebrar #
# * npcTalkTextOver - Texto usado para refinar com perigo de quebrar #
# #
################################################## #######################################
automacro refina {
run-once 1
set refineItem Boots [1]
set refineOre Elunium
set maxLvl 5
set safetyLvl 4
set npcTalkText c r5 c r0 c n
set npcTalkTextOver c r5 c r0 c c r0 c c c c
delay 5
call refinar
}
macro refinar {
do conf route_randomWalk 0
do conf storageAuto 0
do conf sellAuto 0
:resetEquipLvl
$atualEquipLvl = 0
# Ponto de inicio da macro onde é verificado a quantidade de minerais
:recomeca
$refineOreQuantity = @invamount ($refineOre)
if ($refineOreQuantity >= $safetyLvl) goto go
log ### Nenhum $refineOre no inventário ###
stop
#Testa a posição atual do jogador
:go
$local = $.map $.pos
if ($local = prt_in 59 67) goto checkitem
if ($local != prt_in 59 67) goto mover
# Move para posicao de up
:mover
do move 59 67 prt_in
goto checkitem
# Verifica a quantidade de itens para upar
:checkitem
$item = $refineItem
$invent = @invamount ($refineItem)
if ($invent < 1) goto checkNext
goto equip
# Equipa o item inicial para up
:equip
do eq $item
# Upgrade do item até o $safetyLvl
:upgrade
if ($atualEquipLvl >= $safetyLvl) goto resetEquipLvl
$atualEquipLvl++
pause 1
do talknpc 63 60 $npcTalkText
pause 3
goto upgrade
:checkNext
if ($atualEquipLvl >= safetyLvl) goto checkOver
$atualEquipLvl++
if ($atualEquipLvl >= $maxLvl) goto overLimit
if ($atualEquipLvl >= safetyLvl) goto checkOver
$invent = @invamount (+$atualEquipLvl $refineItem)
$item = +$atualEquipLvl $refineItem
if ($invent >= 1) goto equip
if ($atualEquipLvl < $maxLvl) goto checkOver
log ### Nenhum +$atualEquipLvl $refineItem no inventário ###
# Verifica a quantidade de itens para over grade
:checkOver
$invent = @invamount (+$atualEquipLvl $refineItem)
if ($invent < 1) goto checkNextOver
goto overGrade
# Realiza overgrade
:checkNextOver
$atualEquipLvl++
if ($atualEquipLvl >= $maxLvl) goto overLimit
$invent = @invamount (+$atualEquipLvl $refineItem)
if ($invent >= 1) goto overGrade
if ($atualEquipLvl < $maxLvl) goto checkNextOver
log ### Nenhum +$atualEquipLvl $refineItem no inventário ###
stop
:overGrade
do eq +$atualEquipLvl $refineItem
do talknpc 63 60 $npcTalkTextOver
goto resetEquipLvl
:overLimit
log ### Todos $refineItem refinados até $maxLvl ###
stop
}
#########################################Ratosh### #######################################
# Crédito a Ratosh #
# #
# O que faz: #
# - Refina o $refineItem usando o minerio $refineOre #
# - Verifica a quantidade do item a ser refinado e de minérios #
# - Upa todos os itens até $safetyLvl com a conversa $npcTalkText #
# - Upa de $safetyLvl até $maxLvl com a conversa $npcTalkTextOver #
# #
#---------------------------------------------------------------------------------------#
# #
# O que não faz: #
# - Não pega o item a ser refinado na kafra nem no carrinho #
# - Não pega o minério usado para refinar na kafra nem no carrinho #
# #
#---------------------------------------------------------------------------------------#
# #
# Como configurar: #
# - Tenha todos os itens necessarios para refinar no inventário do char #
# - Configure os valores na automacro refina #
# * refineItem - Item a ser refinado #
# * refineOre - Minério usado para refinar o item #
# * maxLvl - Nível máximo de refinamento do item #
# * safetyLvl - Nível que o item é refinado sem perigo de quebrar #
# * npcTalkText - Texto usado para refinar sem perigo de quebrar #
# * npcTalkTextOver - Texto usado para refinar com perigo de quebrar #
# #
################################################## #######################################
automacro refina {
run-once 1
set refineItem Boots [1]
set refineOre Elunium
set maxLvl 5
set safetyLvl 4
set npcTalkText c r5 c r0 c n
set npcTalkTextOver c r5 c r0 c c r0 c c c c
delay 5
call refinar
}
macro refinar {
do conf route_randomWalk 0
do conf storageAuto 0
do conf sellAuto 0
:resetEquipLvl
$atualEquipLvl = 0
# Ponto de inicio da macro onde é verificado a quantidade de minerais
:recomeca
$refineOreQuantity = @invamount ($refineOre)
if ($refineOreQuantity >= $safetyLvl) goto go
log ### Nenhum $refineOre no inventário ###
stop
#Testa a posição atual do jogador
:go
$local = $.map $.pos
if ($local = prt_in 59 67) goto checkitem
if ($local != prt_in 59 67) goto mover
# Move para posicao de up
:mover
do move 59 67 prt_in
goto checkitem
# Verifica a quantidade de itens para upar
:checkitem
$item = $refineItem
$invent = @invamount ($refineItem)
if ($invent < 1) goto checkNext
goto equip
# Equipa o item inicial para up
:equip
do eq $item
# Upgrade do item até o $safetyLvl
:upgrade
if ($atualEquipLvl >= $safetyLvl) goto resetEquipLvl
$atualEquipLvl++
pause 1
do talknpc 63 60 $npcTalkText
pause 3
goto upgrade
:checkNext
if ($atualEquipLvl >= safetyLvl) goto checkOver
$atualEquipLvl++
if ($atualEquipLvl >= $maxLvl) goto overLimit
if ($atualEquipLvl >= safetyLvl) goto checkOver
$invent = @invamount (+$atualEquipLvl $refineItem)
$item = +$atualEquipLvl $refineItem
if ($invent >= 1) goto equip
if ($atualEquipLvl < $maxLvl) goto checkOver
log ### Nenhum +$atualEquipLvl $refineItem no inventário ###
# Verifica a quantidade de itens para over grade
:checkOver
$invent = @invamount (+$atualEquipLvl $refineItem)
if ($invent < 1) goto checkNextOver
goto overGrade
# Realiza overgrade
:checkNextOver
$atualEquipLvl++
if ($atualEquipLvl >= $maxLvl) goto overLimit
$invent = @invamount (+$atualEquipLvl $refineItem)
if ($invent >= 1) goto overGrade
if ($atualEquipLvl < $maxLvl) goto checkNextOver
log ### Nenhum +$atualEquipLvl $refineItem no inventário ###
stop
:overGrade
do eq +$atualEquipLvl $refineItem
do talknpc 63 60 $npcTalkTextOver
goto resetEquipLvl
:overLimit
log ### Todos $refineItem refinados até $maxLvl ###
stop
}