Hola,
a petición del gato de Meighallo, dejo por aquí esta macro de fundir engranajes para recuperar lingotes de Iron...
Salu2,Código:; | / \ | . ; _ -O- . ) (( )) ( -O- ; (@) | + /|\ ))_(( /|\ | . ; |-| / | \ (/\|/\) / | \ (@) ; | | --------------------------/--|-voV---\`|'/--Vov-|--\---------------------------|-| . ; |-| '^` (o o) '^` | | ; | | `\Y/' |-| ; |-| _______ __ __ __ _______ __ __ | | ; | | | | | | |_|__|.--------.---.-.| _ | |__|.---.-.-----.-----.---.-. |-| . o ; |-| | | | | _| || | _ || | | || _ | |-- __| _ | | | ; | | |_______|__|____|__||__|__|__|___._||___|___|__|__||___._|__|__|_____|___._| |-| ; |_|________________________________________________________________________________| | ; (@) l /\ / ( ( \ /\ l `\|-| . ; o l / V \ \ V \ l + (@) ; l/ _) )_ \I + ; + `\ /' ; ; Script Name: Fundir Engranajes ; Author: Sthil Lauda ; Version: 1.1 ; Client Tested with: 2.0.3 ; EUO version tested with: 1.5 Version 130 ; Shard: Ultima Alianza ; Release: 01/05/2019 ; Purpose: Recupera lingotes de hierro a partir de engranajes. ;================================== ; ________________________________ ; ; /////////////////////////////// ; ************** CONFIGURACIÓN ************** ; /////////////////////////////// ; ________________________________ ; set %max_lingotes 50 ; Máximo número de lingotes en la mochila, antes de moverlos al cofre/bolsa ; _______________________________________________ ; ; ////////////////////////////////////////////// ; ************************* FIN CONFIGURACIÓN ************************* ; ////////////////////////////////////////////// ; _______________________________________________ ; set %hierro RMK set %martillos GBG_FBG_TLH_CGG set %engranajes RCG gosub setupBolsas ; Configurar cofres/bolsas. ;======================================================== ; ; ************************************* LOOP PRINCIPAL ************************************** ; ;======================================================== loop: gosub checkMartillo gosub ReponerLingotes gosub ReponerEngranajes gosub makeLingotes gosub moveLingotes goto loop ;======================================================== ; ; ******************************** FIN LOOP PRINCIPAL ******************************** ; ;======================================================== sub setupBolsas ; <===========================================> set #SYSMSGCOL 88 event sysmessage click en la bolsa/cofre de Lingotes wait 20 set #TARGCURS 1 target while #TARGCURS = 1 { wait 1 } set %bolsa_lingotes #LTARGETID event sysmessage click en la bolsa/cofre de Martillos wait 20 set #TARGCURS 1 target while #TARGCURS = 1 { wait 1 } set %bolsa_martillos #LTARGETID event sysmessage click en la bolsa/cofre de Engranajes wait 20 set #TARGCURS 1 target while #TARGCURS = 1 { wait 1 } set %bolsa_engranajes #LTARGETID return sub makeLingotes ; <===========================================> _reFunde: finditem %hierro C_ , #BACKPACKID if #FINDSTACK > 0 { set #LOBJECTID #FINDID finditem %engranajes C_ , #BACKPACKID if #FINDSTACK > 0 { event macro 17 gosub wait_for GUMP 530_480 30 ; Esperar a que vuelva el menú de crafteo if ( #TRUE in #RESULT ) { click 69 423 f for #FINDINDEX 1 #FINDCNT { target set #LTARGETID #FINDID set #LTARGETKIND 1 event macro 22 wait 10 } key ESC } } } return sub moveLingotes ; <===========================================> _reMove: finditem %hierro C_ , #BACKPACKID if #FINDSTACK > 1 ; Dejamos uno para poder abrir el menú y fundir. { if #FINDSTACK >= %max_lingotes { set %cantidad #FINDSTACK - 1 if #FINDSTACK > %cantidad { exevent drag #FINDID %cantidad exevent dropc %bolsa_lingotes wait 30 goto _reMove } } } return sub ReponerLingotes ; <===========================================> _rePon: finditem %hierro C_ , #BACKPACKID if #FINDSTACK < 1 { finditem %hierro C_ , %bolsa_lingotes if #FINDCNT > 0 { for #FINDINDEX 1 #FINDCNT { event property #FINDID if ( Lingote , #spc , De , #spc , Hierro in #PROPERTY ) { set %peso #WEIGHT if #FINDSTACK > 0 { exevent drag #FINDID 1 gosub waitForSysVar Weight <> %peso 50 ; Esperamos a que cambie el peso del PJ exevent dropc #BACKPACKID gosub waitforitem #FINDID 50 #BACKPACKID ; Esperamos a que caiga el objeto en la mochila goto _rePon } } } } else { halt } } return sub ReponerEngranajes ; <===========================================> _rePon2: finditem %engranajes C_ , #BACKPACKID if #FINDSTACK < 1 { finditem %engranajes C_ , %bolsa_engranajes if #FINDCNT > 0 { set %peso #WEIGHT if #FINDSTACK > 0 { exevent drag #FINDID 1 gosub waitForSysVar Weight <> %peso 50 ; Esperamos a que cambie el peso del PJ exevent dropc #BACKPACKID gosub waitforitem #FINDID 50 #BACKPACKID ; Esperamos a que caiga el objeto en la mochila goto _rePon2 } } else { halt } } return sub checkMartillo ; <===========================================> _checkMartillo: finditem %martillos C_ , #CHARID if #FINDCNT = 0 { finditem %martillos C_ , #BACKPACKID if #FINDCNT = 0 { set %peso #WEIGHT finditem %martillos C_ , %bolsa_martillos if #FINDCNT > 0 { exevent drag #FINDID 1 gosub waitForSysVar Weight <> %peso 50 ; Esperamos a que cambie el peso del PJ exevent dropc #BACKPACKID gosub waitforitem #FINDID 50 #BACKPACKID ; Esperamos a que caiga el objeto en la mochila goto _checkMartillo } } else { set #LOBJECTID #FINDID event macro 17 wait 30 goto _checkMartillo } } return sub waitforitem ; <===========================================> { set %time #SCNT2 + %2 ; Décimas de segundo dropwait2: finditem %1 C_ , %3 if ( #FINDKIND = -1 ) ; Not Found { wait 1 if ( #SCNT2 >= %time ) { return #FALSE } goto dropwait2 } return } ;================================================================= sub wait_for ;================================================================= ; This "wait_for" sub package was created by Locke. If you use these subs please keep this header intact. ; Documentation: the sub package grew to large with all the comments. To load them call the sub like this: ; gosub wait_for docs | or you can use doc, documention, what, or my personal favorite, kickass. ; "wait_for core dispatcher" version 1.2 by Locke if %1 = doc || if %1 = docs || if %1 = documentation || if %1 = what || if %1 = kickass { Display ok Please click ok and wait for your browser to start. execute http://www.easyuo.com/forum/viewtopic.php?t=24716 halt } nameSpace Push namespace local LLNS set #result N/A ; if #result isn't set by one of my wait_for subs it'll throw an error. set !LPC #lpc set #lpc 200 for %i 0 %0 set !_A . %i % . %i gosub wait_for_ , !_A1 set #lpc !lpc namespace clear LLNS namespace pop if #result <> N/A return #result else display ok You specified an unknown wait_for command. Script returned #result and is halting. halt ;====================================================================== sub wait_for_GUMP ; version 1.4 ~Locke ;================================================================= ; Añadido #CONTID ^^ if !_A0 < 3 { display ok You haven't specified enough vars.$ +The basic format is: gosub wait_for GUMP XXX_YYY time_out_in_seconds$ +Script is halting halt } if !_A3 <> CLOSE set !_timeout #scnt2 + !_A3 else set !_timeout 0 ; no gump wait if %3 = CLOSE since we already believe it to be open. _lets_wait_for_a_gump: if #CONTSIZE = !_A2 || #CONTKIND = !_A2 || #CONTNAME = !_A2 || #CONTTYPE = !_A2 || #CONTID = !_A2 { if !_A5 <> N/A && !_A6 <> N/A { set !clickx !_A5 + #contposx set !clicky !_A6 + #contposy click !clickx !clicky } if !_A3 = CLOSE || if !_A4 = CLOSE || !_A5 = CLOSE || !_A6 = CLOSE { set !string #contsize str pos !string _ set !pos #strres str del !string #strres #strres set !clickX #contposx + ( #strres / 2 ) str del !string 1 !pos set !clickY #contposy + ( #strres / 2 ) click !clickx !clicky R } return #true } if ( !_timeout =< #scnt2 ) && ( !_A4 = N/A ) { return #false } if !_A4 <> N/A && !_timeout =< #scnt2 { finditem !_A4 if #findkind <> -1 { for #findindex 1 #findcnt { if #finddist > 2 ignoreitem #findid LLWAITFOR else break } set #lobjectid #findid event macro 17 0 set !_timeout #scnt2 + !_A3 } else return #false } wait 1 goto _lets_wait_for_a_gump sub waitForSysVar if %0 < 4 || %4 = N/A set %4 %_defaultWaitForTimeout if %0 < 5 set %5 return set %4 #sCnt2 + %4 _waitForSysVar: set % . %5 # . %1 %2 %3 if ! % . %5 && #sCnt2 < %4 { Wait 1 goto _waitForSysVar } return
![]()



Citar





