Código:
;==================================================
;GREMIO DE CARPINTERIA (INSIGNIAS) BY JAVIERCV
;==================================================
set #SYSMSGCOL 1100
event sysmessage Macro de preparacion de insignias
event sysmessage del gremio de carpinteros
event sysmessage By JavierCV
;==================================================
;CONFIGURACIÓN
;Para el funcionamiento del macro necesitas tener 6 bolsas dentro de un contenedor.
;bolsa 1: sierras de carpintero
;bolsa 2: madera normal
;bolsa 3: madera mágica
;bolsa 4: insignia diaria
;bolsa 5: insignia normal
;bolsa 6: insignia semanal
;==================================================
set %contenedor JUMDGOD ;Contenedor donde están las bolsas
set %BolsaSierras JVAVVOD ;Bosa con las sierras de carpintero
set %BolsaMadera HUYUUPD ;Bosa con madera
set %BolsaMagica OUYUUPD ;Bosa con madera mágica
set %BolsaRapida IUYUUPD ;Bosa donde dejar el material de la insignia RAPIDA (diaria)
set %BolsaNormal NUYUUPD ;Bosa donde dejar el material de la insignia NORMAL
set %BolsaSemanal KUYUUPD ;Bosa donde dejar el material de la insignia SEMANAL
;==================================================
;NO TOCAR NADA A PARTIR DE AQUÍ
;==================================================
set %insignia MTL ;ID de las insignias (todas tienen el mismo ID)
set %insigniacreada ACBB ;ID de las insignias creadas (todas tienen el mismo ID)
set %sierra EGG ;ID de las sierras
set %madera ZLK ;ID de la madera y la madera mágica
set %tablones DMK ;ID del lote de tablones
set %banco QIE ;ID de los bancos de cerezo
set %maquetabarco FWH ;ID de las maquetas de barcos
set %diana UNL ;ID de las dianas
set %trono EJE ;ID de los tronos
set %cofremadera KIF ;ID de los cofres de madera
set %estanteria BDE ;ID de las estanterias
set %dianaEntrenamiento WEG ;ID de la diana de entrenamiento
set %rueca XEG ;ID de la rueca
set %canaMagica XHF ;ID de la caña de pescar mágica
;==================================================
;HILO PRONCIPAL DEL MACRO
;==================================================
gosub Menu
loop:
if #menubutton <> n/a
{
gosub #menubutton
set #menubutton n/a
;INSIGNIA RAPIDA
sub EUOButton1
gosub InsigniaRapida
return
;INSIGNIA NORMAL
sub EUOButton2
gosub InsigniaNormal
return
;INSIGNIA SEMANAL
sub EUOButton3
gosub InsigniaSemanal
return
}
goto loop
;==================================================
;RENDERIZADO DEL MENÚ
;==================================================
sub Menu
menu Clear
menu Window Title Gremio de Carpinterios
menu Window Size 190 127
menu Font Size 8
menu Text EUOLabelb1a 5 17 Insignia Rapida
menu Button EUOButton1 100 5 80 35 CREAR
menu Text EUOLabelb2a 5 57 Insignia Normal
menu Button EUOButton2 100 45 80 35 CREAR
menu Text EUOLabelb3a 5 97 Insignia Semanal
menu Button EUOButton3 100 85 80 35 CREAR
menu Show
return
;==================================================
;INSIGNIA RAPIDA
;==================================================
sub InsigniaRapida
event sysmessage Iniciando creacion de insignia rapida
;abre cofre
set #LOBJECTID %contenedor
event macro 17 0
wait 10
;1- hace el lote de tablones
gosub tablones 1
;2- hace 5 bancos
gosub bancos 5
;3- hace 7 maquetas de barco
gosub maquetabarcos 7
;4- coge la insignia rapida
gosub coger %BolsaRapida %insignia 1
;5- hace la insignia
FindItem %insignia C_ , #BACKPACKID
SET #LOBJECTID #FINDID
Event Macro 17
wait 10
;6- deja la insignia
gosub dejar %BolsaRapida %insignia
gosub dejar %BolsaRapida %insigniacreada
event sysmessage Insignia rapida creada
return
;==================================================
;INSIGNIA NORMAL
;==================================================
sub InsigniaNormal
event sysmessage Iniciando creacion de insignia normal
;abre cofre
set #LOBJECTID %contenedor
event macro 17 0
wait 10
;1- hace el lote de tablones
gosub tablones 1
;2- hace 5 dianas
gosub dianas 5
;3- hace 5 tronos
gosub tronos 5
;4- hace 5 cofres de madera
gosub cofres 5
;5- hace 3 estanterias
gosub estanterias 3
;6- coge la insignia normal
gosub coger %BolsaNormal %insignia 1
;7- hace la insignia
FindItem %insignia C_ , #BACKPACKID
SET #LOBJECTID #FINDID
Event Macro 17
wait 10
;8- deja la insignia
gosub dejar %BolsaNormal %insignia
gosub dejar %BolsaNormal %insigniacreada
event sysmessage Insignia normal creada
return
;==================================================
;INSIGNIA SEMANAL
;==================================================
sub InsigniaSemanal
event sysmessage Iniciando creacion de insignia semanal
;abre cofre
set #LOBJECTID %contenedor
event macro 17 0
wait 10
;1- hace 2 lotes de tablones
gosub tablones 2
;2- hace 2 dianas de entrenamiento
gosub dianasEntrenamiento 2
;3- hace 2 ruecas
gosub ruecas 2
;4- hace 10 cofres de madera
gosub cofres 10
;5- hace 5 cañas mágicas
gosub canasMagicas 5
;6- Coge 20 de madera mágica
gosub coger %BolsaMagica %madera 20
;7- coge la insignia semanal
gosub coger %BolsaSemanal %insignia 1
;5- hace la insignia
FindItem %insignia C_ , #BACKPACKID
SET #LOBJECTID #FINDID
Event Macro 17
wait 10
;6- deja la insignia
gosub dejar %BolsaSemanal %insignia
gosub dejar %BolsaSemanal %insigniacreada
event sysmessage Insignia semanal creada
return
;==================================================
;TABLONES
;==================================================
sub tablones %1
set %cantidad %1
;check sierras
finditem %sierra C_ , #BACKPACKID
if #FINDSTACK = 0
{
gosub coger %BolsaSierras %sierra 1
}
;coge madera si necesita
finditem %madera C_ , #BACKPACKID
set %tmp 150 - #FINDSTACK
if %tmp > 0
{
gosub coger %BolsaMadera %madera %tmp
}
;selecciona sierra
FindItem %sierra C_ , #BACKPACKID
SET #LOBJECTID #FINDID
;hace 1 lote de tablones
Event Macro 17
wait 20
click 69 251 ;otros
wait 2s
click 272 132 ;lote de tablones
wait 5s
;Hace lotes de tablones hasta que llega a la cantidad indicada
finditem %tablones C_ , #BACKPACKID
if #FINDSTACK = %cantidad
{
event sysmessage %cantidad Lote(s) de tablones creado(s)
}
else
{
gosub tablones %cantidad
}
return
;==================================================
;BANCOS
;==================================================
sub bancos %1
set %cantidad %1
;check sierras
finditem %sierra C_ , #BACKPACKID
if #FINDSTACK = 0
{
gosub coger %BolsaSierras %sierra 1
}
;coge madera si necesita
finditem %madera C_ , #BACKPACKID
set %tmp 17 - #FINDSTACK
if %tmp > 0
{
gosub coger %BolsaMadera %madera %tmp
}
;selecciona sierra
FindItem %sierra C_ , #BACKPACKID
SET #LOBJECTID #FINDID
;hace 1 banco de cerezo
Event Macro 17
wait 20
click 69 171 ;mobiliario
wait 2s
click 437 350 ;siguiente
wait 2s
click 437 350 ;siguiente
wait 2s
click 275 250 ;banco de cerezo
wait 5s
;Hace bancos de cerezo hasta que llega a la cantidad indicada
finditem %banco C_ , #BACKPACKID
if #FINDCNT = %cantidad
{
event sysmessage %cantidad Banco(s) de cerezo creado(s)
}
else
{
gosub bancos %cantidad
}
return
;==================================================
;MAQUETAS DE BARCOS
;==================================================
sub maquetabarcos %1
set %cantidad %1
;check sierras
finditem %sierra C_ , #BACKPACKID
if #FINDSTACK = 0
{
gosub coger %BolsaSierras %sierra 1
}
;coge madera si necesita
finditem %madera C_ , #BACKPACKID
set %tmp 10 - #FINDSTACK
if %tmp > 0
{
gosub coger %BolsaMadera %madera %tmp
}
;selecciona sierra
FindItem %sierra C_ , #BACKPACKID
SET #LOBJECTID #FINDID
;hace 1 maqueta de barco
Event Macro 17
wait 20
click 70 214 ;decoración
wait 2s
click 277 111 ;maqueta de barco
wait 5s
;Hace maquetas de barco hasta que llega a la cantidad indicada
finditem %maquetabarco C_ , #BACKPACKID
if #FINDCNT = %cantidad
{
event sysmessage %cantidad maqueta(s) de barco creada(s)
}
else
{
gosub maquetabarcos %cantidad
}
return
;==================================================
;DIANAS
;==================================================
sub dianas %1
set %cantidad %1
;check sierras
finditem %sierra C_ , #BACKPACKID
if #FINDSTACK = 0
{
gosub coger %BolsaSierras %sierra 1
}
;coge madera si necesita
finditem %madera C_ , #BACKPACKID
set %tmp 5 - #FINDSTACK
if %tmp > 0
{
gosub coger %BolsaMadera %madera %tmp
}
;selecciona sierra
FindItem %sierra C_ , #BACKPACKID
SET #LOBJECTID #FINDID
;hace 1 diana
Event Macro 17
wait 20
click 70 291 ;entrenamiento
wait 2s
click 277 111 ;diana
wait 5s
;Hace dianas hasta que llega a la cantidad indicada
finditem %diana C_ , #BACKPACKID
if #FINDCNT = %cantidad
{
event sysmessage %cantidad diana(s) creada(s)
}
else
{
gosub dianas %cantidad
}
return
;==================================================
;TRONOS
;==================================================
sub tronos %1
set %cantidad %1
;check sierras
finditem %sierra C_ , #BACKPACKID
if #FINDSTACK = 0
{
gosub coger %BolsaSierras %sierra 1
}
;coge madera si necesita
finditem %madera C_ , #BACKPACKID
set %tmp 17 - #FINDSTACK
if %tmp > 0
{
gosub coger %BolsaMadera %madera %tmp
}
;selecciona sierra
FindItem %sierra C_ , #BACKPACKID
SET #LOBJECTID #FINDID
;hace 1 trono
Event Macro 17
wait 20
click 70 170 ;Mobiliario
wait 2s
click 437 350 ;siguiente
wait 2s
click 277 290 ;trono
wait 5s
;Hace tronos hasta que llega a la cantidad indicada
finditem %trono C_ , #BACKPACKID
if #FINDCNT = %cantidad
{
event sysmessage %cantidad trono(s) creada(s)
}
else
{
gosub tronos %cantidad
}
return
;==================================================
;ESTANTERIAS
;==================================================
sub estanterias %1
set %cantidad %1
;check sierras
finditem %sierra C_ , #BACKPACKID
if #FINDSTACK = 0
{
gosub coger %BolsaSierras %sierra 1
}
;coge madera si necesita
finditem %madera C_ , #BACKPACKID
set %tmp 25 - #FINDSTACK
if %tmp > 0
{
gosub coger %BolsaMadera %madera %tmp
}
;selecciona sierra
FindItem %sierra C_ , #BACKPACKID
SET #LOBJECTID #FINDID
;hace 1 estanteria
Event Macro 17
wait 20
click 70 170 ;Mobiliario
wait 2s
click 437 350 ;siguiente
wait 2s
click 277 109 ;estanteria
wait 5s
;Hace estanterias hasta que llega a la cantidad indicada
finditem %estanteria C_ , #BACKPACKID
if #FINDCNT = %cantidad
{
event sysmessage %cantidad estanteria(s) creada(s)
}
else
{
gosub estanterias %cantidad
}
return
;==================================================
;COFRES DE MADERA
;==================================================
sub cofres %1
set %cantidad %1
;check sierras
finditem %sierra C_ , #BACKPACKID
if #FINDSTACK = 0
{
gosub coger %BolsaSierras %sierra 1
}
;coge madera si necesita
finditem %madera C_ , #BACKPACKID
set %tmp 20 - #FINDSTACK
if %tmp > 0
{
gosub coger %BolsaMadera %madera %tmp
}
;selecciona sierra
FindItem %sierra C_ , #BACKPACKID
SET #LOBJECTID #FINDID
;hace 1 cofre de madera
Event Macro 17
wait 20
click 70 150 ;Contenedores
wait 2s
click 270 130 ;Cofre de madera
wait 5s
;Hace cofres de madera hasta que llega a la cantidad indicada
finditem %cofremadera C_ , #BACKPACKID
if #FINDCNT = %cantidad
{
event sysmessage %cantidad cofre(s) de madera creada(s)
}
else
{
gosub cofres %cantidad
}
return
;==================================================
;DIANA DE ENTRENAMIENTO
;==================================================
sub dianasEntrenamiento %1
set %cantidad %1
;check sierras
finditem %sierra C_ , #BACKPACKID
if #FINDSTACK = 0
{
gosub coger %BolsaSierras %sierra 1
}
;coge madera si necesita
finditem %madera C_ , #BACKPACKID
set %tmp 30 - #FINDSTACK
if %tmp > 0
{
gosub coger %BolsaMadera %madera %tmp
}
;selecciona sierra
FindItem %sierra C_ , #BACKPACKID
SET #LOBJECTID #FINDID
;hace 1 diana de entrenamiento
Event Macro 17
wait 20
click 70 293 ;entrenamiento
wait 2s
click 270 170 ;diana de entrenamiento
wait 5s
;Hace dianas de entrenamiento hasta que llega a la cantidad indicada
finditem %dianaEntrenamiento C_ , #BACKPACKID
if #FINDCNT = %cantidad
{
event sysmessage %cantidad diana(s) de entrenamiento creada(s)
}
else
{
gosub dianasEntrenamiento %cantidad
}
return
;==================================================
;RUECAS
;==================================================
sub ruecas %1
set %cantidad %1
;check sierras
finditem %sierra C_ , #BACKPACKID
if #FINDSTACK = 0
{
gosub coger %BolsaSierras %sierra 1
}
;coge madera si necesita
finditem %madera C_ , #BACKPACKID
set %tmp 20 - #FINDSTACK
if %tmp > 0
{
gosub coger %BolsaMadera %madera %tmp
}
;selecciona sierra
FindItem %sierra C_ , #BACKPACKID
SET #LOBJECTID #FINDID
;hace 1 rueca
Event Macro 17
wait 20
click 70 270 ;sastre
wait 2s
click 270 130 ;rueca
wait 5s
;Hace ruecas hasta que llega a la cantidad indicada
finditem %rueca C_ , #BACKPACKID
if #FINDCNT = %cantidad
{
event sysmessage %cantidad rueca(s) creada(s)
}
else
{
gosub ruecas %cantidad
}
return
;==================================================
;CAÑAS MÁGICAS
;==================================================
sub canasMagicas %1
set %cantidad %1
;check sierras
finditem %sierra C_ , #BACKPACKID
if #FINDSTACK = 0
{
gosub coger %BolsaSierras %sierra 1
}
;coge madera si necesita
finditem %madera C_ , #BACKPACKID
set %tmp 1 - #FINDSTACK
if %tmp > 0
{
gosub coger %BolsaMagica %madera %tmp
}
;selecciona sierra
FindItem %sierra C_ , #BACKPACKID
SET #LOBJECTID #FINDID
;hace 1 rueca
Event Macro 17
wait 20
click 70 230 ;herramientas
wait 2s
click 270 170 ;caña mágica
wait 5s
;Hace cañas mágicas hasta que llega a la cantidad indicada
finditem %canaMagica C_ , #BACKPACKID
if #FINDCNT = %cantidad
{
event sysmessage %cantidad caña(s) magica(s) creada(s)
}
else
{
gosub canasMagicas %cantidad
}
return
;==================================================
;COGER
;==================================================
sub coger %1 %2 %3 ;CONTENEDOR - ITEM - CANTIDAD
set #LOBJECTID %1
event macro 17 0
wait 10
finditem %2 C_ , %1
if #findcnt > 0
{
exevent drag #FINDID %3
wait 10
exevent dropc #BACKPACKID
wait 10
}
return
;==================================================
;DEJAR
;==================================================
sub dejar %1 %2 ;CONTENEDOR - ITEM
set #LOBJECTID %1
event macro 17 0
wait 10
finditem %2 C_ , #BACKPACKID
if #findcnt > 0
{
exevent drag #FINDID #FINDSTACK
wait 10
exevent dropc %1
wait 10
gosub dejar %1 %2 ;repite mientras queden
}
return