;------------------------------------------------------------------------
;| |
;| Carpintero - Geppetto 1.2 |
;| |
;=========================================
;| |
;| by Mortae Rex |
;| |
;------------------------------------------------------------------------
;=========================================
;=== INSTRUCCIONES ===
;=========================================
;
; Hay que iniciar con minimo 30 troncos en la mochila.
; Tambien necesitas tener suficientes serruchos en la mochila.
; Requiere el uso del Assist, Razor u otro con macro creada para hacer el lote
; y tecla asignada para correr esta macro (sin loop).
; Esta tecla sera %macrolote
; Si tienes un filete de cerdo en la mochila, comera cuando le de hambre
;************IMPORTANTE************
; Debes modificar los valores en las lineas señaladas dentro del SETUP
; Fuera de eso, NO modifiques nada... NADA
;****************** AYUDA **************************
;como hago para saber el ID de un item?
; dale doble click en el juego y luego, en el easy, buscas en la columna a la
; derecha Last Action, #LOBJECTID
; Si quieres saber el ID del TIPO de objeto, de igual manera buscas #LOBJECTTYPE
; Asi por ejemplo, tu pico particular puede tener el ID: UEZSPPD y ser del tipo NPF
;como se las coordenadas de mi baul?
; coloca el cursor del raton sobre el cofre. En el easy, bien abajo, hay una barra con numeros.
; el ultimo par de numeros te indica las coordenadas de la pantalla.
; como referencia, a resolucion de la pantalla de 1024x768, tus pies estaran en 400/300
; osea x: 400 , y: 300
;----------------------------------------
; Acerca del TITULO
;----------------------------------------
; Si quitas el display del razor o assist, la barra de titulo del UO te mostrara tu progreso en
; carpinteria.
;//////////////// SETUP /////////////////////
gosub iniciando
event Sysmessage Setup
set %log ZLK
;-------- si usas otro tipo de serrucho, agregalo en la siguente linea, ej: %serrucho EGG_XXX_BBB
set %serrucho EGG
set %lote MMF
set %comida RUD
;-------- aqui debes poner el ID de TU cofre.
;-------- y las coordenadas de algun punto SOBRE el cofre, donde soltara los lotes.
set %cofre YFMASPD
set %cofrex 370
set %cofrey 310
set %mochila #BACKPACKID
set %mochilax 910
set %mochilay 220
;------- asigna la tecla 7 a la macro para crear el lote o modifica en
;------ la siguiente linea a la tecla que le asignaste a la macro
set %macrolote 7
set %tiempolote 8s
set %cargar NO
set %dejar NO
set %intentos 0
;----- Si deseas que la macro pare al llegar a cierto nivel de habilidad, coloca el valor
; como numero de 3 digitos en la siguente linea. ej: 64.9 = 649.
; Para que no pare o si ya eres GM, dejalo en 999
set %maxskill 999
set %setup 1
; ///////// GUMPS ///////////
event Sysmessage Acomodando pantalla
if %setup <> 0
{
; close gumps
event macro 31 0
wait 20
; paperdoll
event macro 8 1
wait 20
contpos 764 0
wait 10
; status
event macro 8 2
wait 20
contpos 790 340
wait 10
; backpack
event macro 8 7
wait 20
contpos 833 514
wait 10
; cofrecursos
set #lobjectid %cofre
event macro 17 0
wait 20
contpos 629 488
wait 10
}
; ******************* SETUP SKILL **************************
event Sysmessage Iniciando skills y barra de Titulo
set %skill CARP
set %topeSkill ON
chooseskill %skill real
set %skill0 #skill
set %skill0d %skill0 / 10
set %skill0r %skill0 % 10
set %skill0m %skill0d , #dot , %skill0r
gosub titulo SETUP
; /////////////////////**************************------- INICIO --------*******************************//////////////////////////////
INICIO:
event Sysmessage Iniciando la Macro
if %intentos % 50 = 0
{
gosub comer
}
set %maxpeso #MAXWEIGHT + 15
if #WEIGHT > %maxpeso
{
gosub dejar
set %cargar NO
}
gosub qtroncos
gosub dejar
gosub cargar
gosub crear
goto INICIO:
; //////////////////// SUBS /////////////////////////////
; ******************** QTRONCOS *******************
sub qtroncos
finditem %log c_ , %mochila
wait 10
if #FINDKIND <> 0 || #FINDSTACK < 30
{
set %cargar YES
set %dejar YES
}
return
; ******************* DEJAR *************************
sub dejar
if %dejar <> YES
{
return
}
wait 60
finditem %lote c_ , %mochila
wait 20
gosub drag #FINDID stack_gump #FINDSTACK %cofrex %cofrey %dejar
finditem %lote c_ , %mochila
if #FINDKIND = 0
{
return
}
set %dejar NO
return
;****************** CARGAR *******************
sub cargar
if %cargar <> YES
{
return
}
finditem %log c_ , %cofre
wait 20
if #FINDKIND <> 0 || #FINDSTACK < 150
{
gosub espera %log %cofre
}
set %carga #MAXWEIGHT - #WEIGHT
set %carga %carga + 10
set %carga %carga / 2
if %carga < 2
{
set %carga 0
}
gosub drag #FINDID stack_gump %carga %mochilax %mochilay %cargar
set %cargar NO
return
sub iniciando
event Sysmessage Mortae Rex presenta...
event Sysmessage Carpinteria "Geppetto"
wait 5
event Sysmessage Iniciando...
return
;******************** CREAR *******************
sub crear
gosub titulo CREANDO
key %macrolote
key BACK
wait %tiempolote
set %intentos %intentos + 1
return
; ---------------------- DRAG --------------------------
sub drag
; %1 objeto a dragear
; %2 drag_gump, stack_gump
; %3 cantidad
; %4 dropX
; %5 dropY
; %6 cargar o dejar
if %6 = yes
{
RepWaitForContName:
set %TM #SCNT
event drag %1
WaitForContName:
if #CONTNAME <> %2
{
if ( #SCNT - %TM ) > 5
{
Goto RepWaitForContName:
}
Goto WaitForContName:
}
msg %3 $
set %TM #SCNT
WaitForLliftle:
if #LLIFTEDKIND <> 1
{
if ( #SCNT - %TM ) > 5
{
Goto RepWaitForContName:
}
Goto WaitForLliftle:
}
RepClickDown:
set %TM #SCNT
click %4 %5 f
WaitForDropClick:
if #LLIFTEDKIND = 1
{
if ( #SCNT - %TM ) > 30
{
Goto RepClickDown:
}
Goto WaitForDropClick:
}
}
return
;******************** ESPERA ********************
; %1 item a buscar
; %2 contenedor donde buscar
sub espera
ESPERANDO:
finditem %1 C_ , %2
wait 20
if #findkind = -1
{
SetUOTitle ESPERANDO %1
set %espera %espera + 1
if %espera > 20
{
msg terminando por %1 en %2
HALT
}
wait 200
goto ESPERANDO:
}
return
;****************** WORLDSAVE *******************
sub worldsave
for %ws 1 10
{
scanjournal %ws
if minuto_habra in #journal
{
gosub titulo WORLDSAVE
wait 90s
deletejournal
return
}
}
return
;****************** COMER *******************
sub comer
finditem %comida
;wait 5
if #FINDKIND = -1 || #FINDTYPE <> %comida
{
return
}
if #FINDKIND = 0 && #FINDTYPE = %comida
{
set #LOBJECTID #FINDID
event macro 17 0
}
return
;************************ TITULO ******************************
; %skill codigo de 4 letras para la skill a subir
sub titulo
chooseskill %skill real
set %skill1 #skill
set %skill1d %skill1 / 10
set %skill1r %skill1 % 10
set %skill1m %skill1d , #dot , %skill1r
set %skilld %skill1 - %skill0
set %skilldd %skilld / 10
set %skilldr %skilld % 10
set %skilldm %skilldd , #dot , %skilldr
SetUOTitle Ini: %skill0m | Act: %skill1m | Dif: %skilldm | Int.: %intentos | %1
if %topeSkill = ON
{
if #skill > %maxskill
{
halt
}
}
return