Subir

Resultados 1 al 1 de 1

Tema: Macro para subir skills de Ocultar y Andar Oculto

  1. #1
    Avatar de Lauda
    Fecha de ingreso
    November-2017
    Ubicación
    Cueva de Cove
    Clan
    Sin Clan
    Facción
    Neutral
    Profesión
    Aventurero
    Nacimiento
    Haven
    Localización
    Haven
    Edad
    39
    Mensajes
    21
    Reputacion: 39
    Poder de reputación
    0

    Post Macro para subir skills de Ocultar y Andar Oculto

    A petición de un malvado jugador, añado una macro para entrenar ocultarse y andar oculto...

    Se puede macrear solamente la skill de ocultarse o bien ocultarse y andar oculto al mismo tiempo...

    Es sencilla de configurar; sólo responder a las preguntas y leer los dos avisos que salen en la pantalla/diario para establecer las coordenadas que se van a emplear en caso de entrenar andar oculto.

    Código:
    ;        |                                 /   \                   |       .
    ;  _    -O-       .                )      ((   ))     (           -O-
    ; (@)    |     +                  /|\      ))_((     /|\           |            .
    ; |-|                            / | \    (/\|/\)   / | \                            (@)
    ; | | --------------------------/--|-voV---\`|'/--Vov-|--\---------------------------|-|         .
    ; |-|                                '^`   (o o)  '^`                                | |
    ; | |                                      `\Y/'                                     |-|
    ; |-|   _______ __ __   __                  _______ __ __                            | |
    ; | |  |   |   |  |  |_|__|.--------.---.-.|   _   |  |__|.---.-.-----.-----.---.-.  |-|    .     o
    ; |-|  |   |   |  |   _|  ||        |  _  ||       |  |  ||  _  |     |-- __|  _  |  | |
    ; | |  |_______|__|____|__||__|__|__|___._||___|___|__|__||___._|__|__|_____|___._|  |-|
    ; |_|________________________________________________________________________________| |
    ; (@)                     l   /\ /         ( (          \ /\   l                   `\|-|             .
    ;           o             l /   V           \ \          V   \ l       +             (@)
    ;                         l/                _) )_             \I                                 +
    ;      +                                    `\ /'
    ;
    ; Script Name: Hiding & Stealth Trainer
    ; Author: Sthil Lauda
    ; Version: 1.0
    ; Client Tested with: 2.0.3
    ; EUO version tested with: 1.5 Version 142
    ; Shard: Ultima Alianza (¡Hasta la muerte!)
    ; Public Release: 26/07/2019
    ; Purpose: Entrena hiding y andar oculto hasta ser GM.
    ;==================================================================================
    ; INSTRUCCIONES:
    ;
    ; 1- Responder a la pregunta (Sólo Hiding o bien Hiding + Stealth).
    ; 2- Desactivar "Always Run" -> "event macro 32 0" o bien desde UO -> Opciones Macro -> Acciones -> AlwaysRun
    ; 3- Pulsar el play :)
    ;
    ;==============================================================
    ; ESQUEMA:
    ;
    ; Punto A ----camina--desde--A--hacia--B--> Punto B
    ; Punto B <----camina--desde--B--hacia--A-- Punto A
    ;
    ;==============================================================
    ; Ciclo para comer.
    set %tiempo_alimentacion 360 ; Cada cuántos segundos va a comprobar si tiene hambre (6 minutos).
    set %version 1.0
    ; _______________________________________________
    ;
    ; //////////////////////////////////////////////
    ; ************* FIN CONFIGURACIÓN *************
    ; //////////////////////////////////////////////
    ; _______________________________________________
    ;
    set %comida RGG_NRD_QSD_ZBG_WLI
     +_QRD_END_FUD_YLI_WLI_HGI_JQE
     +_KGI_EGI_QLI_KLI_MLI_KRD_HQD
     +_AQD_MQE_VQE_TQE_IQE_PQD_QQD
     +_GQE_SPE_ZPE_OQE_BDF_KPE_RQE
     +_YSD_SQD_AXI
    set %tiempo_actual #SCNT ; Reloj
    set %proxima_vez %tiempo_actual ; Trigger
    
    initevents
    chooseskill Hidi real
    set %skillinihiding #SKILL
    chooseskill Stlt real
    set %skillinistlt #SKILL
    
    set #SYSMSGCOL 88
    event sysmessage =====================
    set #SYSMSGCOL 53
    event sysmessage Hiding & Stealth %version
    set #SYSMSGCOL 88
    event sysmessage =====================
    wait 40
    
    ; Selecciona el tipo de entrenamiento ^^
    display yesno *********************** [ HIDING ] ***********************$$
                + ¿Quieres entrenar solamente la skill de Hiding?           $$
                + NOTA: Si eliges "NO", entonces entrenará caminar oculto.  $$
                + ********************************************************* $$
    if ( #dispres = yes )
         {
           set %trainHiding #TRUE
           goto hidingLoop ; Hiding
         }
         else
            {
              set %trainHiding #FALSE
              gosub setupCoordenadas
              goto stealthLoop ; Hiding + Stealth
            }
    
    ;============================================================
    ;
    ; ******************* LOOPS PRINCIPALES ********************
    ;
    ;============================================================
    ; *** Stealth ***
    stealthLoop:
    gosub checkHungry ; Alimentación.
    gosub checkSkill  ; Comprobar GM.
    ; Ocultarse y Moverse...
    if #CHARPOSX = %X_2 && #CHARPOSY = %Y_2 || #CHARPOSX <> %X_2 || #CHARPOSY <> %Y_2
       {
         gosub hiding
         move %X_1 %Y_1 0 10s ; (Timeout)
       }
    if #CHARPOSX = %X_1 && #CHARPOSY = %Y_1 || #CHARPOSX <> %X_1 || #CHARPOSY <> %Y_1
       {
         gosub hiding
         move %X_2 %Y_2 0 10s ; (Timeout)
       }
    goto stealthLoop
    
    ; *** Hiding ***
    hidingLoop:
    gosub checkHungry ; Alimentación.
    gosub checkSkill  ; Comprobar GM.
    gosub hiding      ; Ocultarse
    goto hidingLoop
    ;============================================================
    ;
    ; ***************** FIN LOOPS PRINCIPALES ******************
    ;
    ;============================================================
    
    sub setupCoordenadas ; <=============================>
    if %confp = 1 || %confp = N/A
       {
         set #SYSMSGCOL 43
         event sysmessage Mueve tu PJ hasta la posicon (A)
         event sysmessage Y presiona la tecla ESC.
         setuotitle Mueve el personaje al punto (A) y presiona ESC.
         set %conf 1
         set %confp 2
         gosub TESC
       }
    if %confp = 2
       {
         set #SYSMSGCOL 53
         event sysmessage Mueve tu PJ hasta la posicon (B)
         event sysmessage Y presiona la tecla ESC.
         setuotitle Mueve el personaje al punto (B) y presiona ESC.
         set %conf 2
         gosub TESC
       }
    return
    
    sub TESC ; <=============================>
    _TESCLOOP:
    onHotKey ESC
           {
             if %conf = 1
                {
                  ; --------------------------
                  ; Las cordenadas del punto A
                  ; --------------------------
                  set %X_1 #CHARPOSX ; La puedes ver en el EasyUO -> Character Info -> #CHARPOSX
                  set %Y_1 #CHARPOSY ; La puedes ver en el EasyUO -> Character Info -> #CHARPOSY
                  return
                }
             if %conf = 2
                {
                  ; --------------------------
                  ; Las cordenadas del punto B
                  ; --------------------------
                  set %X_2 #CHARPOSX ; La puedes ver en el EasyUO -> Character Info -> #CHARPOSX
                  set %Y_2 #CHARPOSY ; La puedes ver en el EasyUO -> Character Info -> #CHARPOSY
                  return ; Todo listo :-)
                }
           }
    wait 1
    goto _TESCLOOP
    
    sub hiding ; <=============================>
    _reHid:
    if ( H notin #CHARSTATUS || %trainHiding )
         {
           set %jstart #jindex
           event macro 13 21 ; Use Skill Hiding
           gosub wait_for MSG No_consigues Consigues_ocultarte 50
           if ( #TRUE in #RESULT )
                {
                  if No_consigues in #RESULT
                     {
                       goto _reHid
                     }
                  if Consigues_ocultarte in #RESULT
                     {
                       return
                     }
                }
         }
    return
    
    sub checkSkill ; <=============================>
    chooseskill Hidi real
    set %skillhidingAhora #SKILL
    chooseskill Stlt real
    set %skillstltAhora #SKILL
    ; Título con skills.
    setuotitle || Skill Hiding | Ini: %skillinihiding | Actual: %skillhidingAhora || Skill Stealth | Ini: %skillinistlt | Actual: %skillstltAhora
    if ( ! %trainHiding && %skillstltAhora >= 1000 ) ; 645 para Haven
         {
           set #SYSMSGCOL 23
           event sysmessage Somos GM Stealth :-)
           halt ; Paramos
         }
         else
            {
              if ( %trainHiding && %skillhidingAhora >= 1000 ) ; 645 para Haven
                   {
                     set #SYSMSGCOL 23
                     event sysmessage Somos GM Hiding :-)
                     halt ; Paramos
                   }
            }
    return
    
    sub checkHungry ; <=============================>
    set %tiempo_actual #SCNT
    if ( %proxima_vez <= %tiempo_actual )
         {
           gosub comprobar_comida
         }
    return
    
    ;=====================================================
    ; Rutina para, en caso de hambre, comer hasta saciarse
    ;=====================================================
    ; v2.4
    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 Dentro_de_1_minuto in #JOURNAL
                   {
                     wait 120s ; Save del server...
                   }
                if no_te_puedes_comer_eso in #JOURNAL
                   {
                     event exmsg #CHARID 3 48 ESTO NO ES COMIDA!!
                     wait 40
                     ignoreitem #FINDID ComidaID ; Lo guardamos en una lista de ID's que no se pueden comer [ ignoreitem reset ComidaID ].
                     goto hambriento
                   }
                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
                                  goto hambriento ; Seguimos comiendo...
                                }
                                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.
    ; 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_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 ( #scnt2 + !_A . !_A0 )
    _lets_wait_for_a_message:
    for %i %jstart #jindex
    {
     scanjournal %i
      for %ii 2 !_A0
      {
        if !_A . %ii in #journal && %jstart <> %i
        set #result #true , #spc , !_A . %ii
      }
    }
    
    if #true notin #result
    {
    set #result #false
     if !_timeout =< #scnt2
     return #result
    wait 1
    goto _lets_wait_for_a_message
    }
    else
    return #result
    
    wait 1
    goto _lets_wait_for_a_message
    ¡Saludos!

    Última edición por Lauda; 27-Jul-2019 a las 11:29

Temas similares

  1. *COMPRO* Ps Andar Oculto
    Por Wiki en el foro Mercadillo
    Respuestas: 3
    Último mensaje: 30-Jan-2012, 14:39
  2. Andar Oculto
    Por Breton en el foro Dudas y Preguntas
    Respuestas: 2
    Último mensaje: 26-Aug-2009, 08:19
  3. Skill andar oculto
    Por El_Carnicero en el foro Dudas y Preguntas
    Respuestas: 12
    Último mensaje: 03-Jun-2008, 13:51
  4. Problemas con andar oculto
    Por Trokolo en el foro Dudas y Preguntas
    Respuestas: 6
    Último mensaje: 07-May-2008, 04:02
  5. andar oculto
    Por Escawen^^ en el foro Macros
    Respuestas: 7
    Último mensaje: 08-Oct-2007, 20:29

Etiquetas para este tema

Permisos de publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •  
YoutubeFbChat IRCTwit