; ====================================================================================================== ; '|| ||` '||` || /.\ '||` ; || || || || '' // \\ || '' ; || || || ''||'' || '||),,(|, '''|. //...\\ || || '''|. `||''|, '''/ '''|. ; || || || || || || || || .|''|| // \\ || || .|''|| || || // .|''|| ; `|...|' .||. `|..' .||. .|| ||. `|..||. .// \\. .||. .||. `|..||. .|| ||. /... `|..||. ; ====================================================================================================== ; ; Script Name: Pacificar con Presencia y Familiar/Montura ; ; ..zeeeeeee.. ; .zd$$$$$$$$$$$$$$$$be. ; .e$$$$$$$$$$$$$$$$$$$$$$$$e. ; .$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$c ; .$$$$$$$$$$*"" $$$$$$ ""*$$$$$$$$$$. ; z$$$$$$$$"" $$$$$$ "$$$$$$$$b ; d$$$$$$$" $$$$$$ "$$$$$$$$ ; d$$$$$$" $$$$$$ "$$$$$$$ ; d$$$$$$" $$$$$$ ^$$$$$$b ; .$$$$$$F $$$$$$ '$$$$$$r ; d$$$$$$ $$$$$$. $$$$$$$ ; $$$$$$F .$$$$$$$$c 4$$$$$$ ; $$$$$$F e$$$$$$$$$$$. $$$$$$ ; $$$$$$F .$$$$$$$$$$$$$$b .$$$$$$ ; $$$$$$b e$$$$$$$$$$$$$$$$$c 4$$$$$$ ; 3$$$$$$ .$$$$$$P$$$$$$$$$$$$$b. $$$$$$P ; $$$$$$b d$$$$$$" $$$$$$ "$$$$$$$c d$$$$$$" ; '$$$$$$b.$$$$$$P $$$$$$ ^*$$$$$$bd$$$$$$F ; "$$$$$$$$$$$$" $$$$$$ "$$$$$$$$$$$$P ; "$$$$$$$$$P $$$$$$ *$$$$$$$$$" ; ^$$$$$$$$$e. $$$$$$ .e$$$$$$$$$" ; "$$$$$$$$$$$ee$$$$$$ee$$$$$$$$$$$* ; "$$$$$$$$$$$$$$$$$$$$$$$$$$$$" ; "*$$$$$$$$$$$$$$$$$$$$$$*" ; ^"*$$$$$$$$$$$$$$*"" ; """""" ; Author: Sthil Lauda ; Testeada por: Wolfi ; Version: 1.3 ; Client Tested with: 2.0.3 ; EUO version tested with: EasyUO 1.5 Version 243 ; Shard: Ultima Alianza (¡Hasta la muerte!) ; Public Release: 05/02/2020 ; Revision Date: 05/02/2020 ; Global Variables Used: none. ; Purpose: Entrena la skill de pacificar con una presencia incorpórea y un familiar o montura que la golpee. ; ----------------------------------------------------- set %comida RGG_NRD_QSD_ZBG_WLI_QRD_END_FUD_YLI_WLI_HGI +_KGI_EGI_QLI_KLI_MLI_KRD_HQD_AQD_MQE_VQE_TQE_JQE_IQE +_GQE_SPE_ZPE_OQE_BDF_KPE_RQE_YSD_SQD_YWI_AXI_PQD_QQD set %tiempo_alimentacion 360 set %tiempo_actual #SCNT set %tiempo_espera 20 set %proxima_vez #SCNT set %siguiente_kill #SCNT set %presencia IJB ;======================================================== ; ; ******************* LOOP PRINCIPAL ******************** ; ;======================================================== loop: gosub Pacificar gosub checkHungry goto loop ;======================================================== ; ; ***************** FIN LOOP PRINCIPAL ****************** ; ;======================================================== ;-@ ============================== @-; ;-@ ############################## @-; ;-@ ############ SUBS ############ @-; ;-@ ############################## @-; ;-@ ============================== @-; sub Pacificar if #SCNT >= %siguiente_kill { gosub mata } else { _RePacifica: findItem %presencia G_2 if #FINDCNT = 0 ; No hay presencia { wait 1 return } set %jstart #jindex event macro 13 9 target set #LTARGETID #FINDID set #LTARGETKIND 1 event macro 22 gosub wait_for MSG logra no_logra 10 if #TRUE in #RESULT { if no_logra in #RESULT { goto _RePacifica } if logra in #RESULT { wait 6s return } } } return sub mata findItem %presencia G_2 if #FINDCNT = 0 ; No hay presencia { wait 1 return } event macro 1 0 all kill target set #LTARGETID #FINDID set #LTARGETKIND 1 event macro 22 wait 20 set %siguiente_kill #SCNT + %tiempo_espera return sub checkHungry set %tiempo_actual #SCNT if %proxima_vez <= %tiempo_actual { gosub comprobar_comida } return ; --- Subs de Comida (Código de Sthil Lauda) --- sub comprobar_comida { hambriento: set %jrnl #jindex ; Marcamos un índice de las líneas del diario. event macro 4 0 .hungry wait 20 while #true { if #jindex > %jrnl ; Si aparece una nueva línea. { set %jrnl %jrnl + 1 ; Seleccionamos ese numero de línea. scanjournal %jrnl ; La leemos... if Estas_no_le_afecta_el_hambre in #journal || Estas_tan_lleno_que_no_puedes in #journal || Estas_totalmente_saciado in #journal { set %proxima_vez %tiempo_actual + %tiempo_alimentacion return } else { if Estas_lleno in #journal || Estas_contento in #journal || Estas_en_inanicion in #journal || Estas_hambriento in #journal || Sientes_mucho in #journal || Estas_con_hambre in #journal || Estas_parcialmente in #journal || Estas_bien_lleno in #journal || Te_sientes_casi_lleno in #journal { finditem %comida C_ , #BACKPACKID if #findcnt > 0 { set #LOBJECTID #FINDID event macro 17 wait 20 goto hambriento } else { event exmsg #CHARID 3 48 COMPRA COMIDA!! wait 40 set %proxima_vez %tiempo_actual + %tiempo_alimentacion } } else ; Mensaje extraño, repetimos... { goto hambriento } } } return } ; FIN While } return ;================================================================= sub wait_for ;================================================================= ; This "wait_for" sub package was created by Locke. If you use these subs please keep this header intact. ; // end header ; 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. ; Thanks to ~BookWibble~ for helping with all the debugging and spotting a bug or three. ; "wait_for core dispatcher" version 1.3 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 ignoreitem reset LLWAITFOR 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_MSG ; version 1.4 ~Locke ;================================================================= if !_A0 < 3 { display ok You haven't specified enough vars.$ +The basic format is: gosub wait_for MSG %message % , time_out_in_seconds$ +Script is halting halt } set !_timeout ( #scnt + !_A . !_A0 ) _lets_wait_for_a_message: for %i %jstart #jindex { scanjournal %i set %end !_A0 - 1 for %ii 2 %end { if !_A . %ii in #journal && %jstart <> %i set #result #true , #spc , !_A . %ii } } if #true notin #result { set #result #false if !_timeout =< #scnt return #result wait 1 goto _lets_wait_for_a_message } else return #result wait 1 goto _lets_wait_for_a_message