annuncio

Comprimi
Ancora nessun annuncio.

[EASYUO] Script Radar

Comprimi
X
 
  • Filtro
  • Ora
  • Visualizza
Elimina tutto
nuovi messaggi

  • [EASYUO] Script Radar

    Molti di voi usano script per controllare quando spawna un mob (putri lurg etc etc) per starsene tranquillamente a navigare (visto che spawnano ogni tot minuti).
    Spulciando su easyuo ho trovato uno script carinissimo che uso per vedere se quando sto navigando mi si avvcina qualche mob. E' un radar in tutto e per tutto che ho modificato rendendolo trasparente e di dimensioni non troppo esagerate che mostra tutto ciò che c'è intorno: persone corpi mob etc etc. lo script è un pò datato e non ci sono tutti i tipi di mob ML per esempio (lurg miasma e putri li ho aggiunti io :P ).
    Mi servirebbe qualcuno di buona volontò che mi aiuta a modificarlo, ecco cosa vorrei fare: in primis aggiungere tutti i tipi di creatures che mancano (http://easyuo.com/creaturetype.php nn ne ho voglia : ) poi, aggiungere un suono quando appare un determinato animale magari a scelta (se volete la call da richiamare ce l'ho già pronta ma non capisco in che punto devo aggiungerla) ed infine migliorare la veste grafica (non so se sia possibile ingrandire quei pallini :P)


    vi posto uno screen il pallino giallo sono io e il blu è il mio pet :P


    di seguito lo script magari provatelo a luna o in posti affollati o su fellucca e magari postate qua se scazza qualcosa

  • #2
    codice HTML:
    ;==========================================================
    ; Universal Radar v1.6
    ;----------------------------------------------------------
    ; Original author: nilmer
    ; Contributors: old_asm_programmer, the.WZA
    ; Auto size mods by Kal
    ;----------------------------------------------------------
    ; copyleft (c) 2003 by nilmer
    ;==========================================================
    
    ; --Change %scanrange to increase/decrease radar range (MAX 25)
      set %scanRange 18
    ;-- Default Setting ---------------------------------------
      linesPerCycle 100
    ; time before refreshing char blip (0.1s increment)
       set %charBlipRefresh 50
    ; minimum time between each scan (0.1s increment)
      set %scanFrequency 5
    ; check that #findCnt remains constant during scan period
      set %forceAccurateScan #false
    ;-- Internal Settings -------------------------------------
    ;   set %creatureType1 _IS_HS
    ;   set %creatureType2 _WZA
    ;   ...
    ;   set %creature %monterType1 , %monterType2 , ...
      set %creature IS_HS_QF_LD_XE_RM_ME_GN_QO_HH_ZI_DN_MB_SI_BD_TH_CJ_NI_GD_ID_YE_PD_ED_XH_I_UC
      +_UD_RB_BJ_W_CBB_JD_WD_XC_DB_Y__DI_AB_ND_AI_BI_RI_KI_DJ_N_TI_OD_OJ_EF
      +_AF_UF_WB_BB_JB_XF_FD_QE_GB_QD_IB_KD_TD_AE_DE_BE_IE_CD_WE_YFM_IS_HS_OAB_NAB_AV_XU_QAB_ZBN_HG_VQC
    ;   +_VE_PE_ZC_YD
      set %corpse _YFM
      set %rep1 1 ; Innocent
      set %rep2 2 ; Friend (Guild)
      set %rep3 3 ; Grey
      set %rep4 4 ; Criminal
      set %rep5 5 ; Enemy (Guild)
      set %rep6 6 ; Murderer
      set %rep7 7 ; Shopkeeper
      set %reputationFilter %rep1 , %rep2 , %rep3 , %rep4 , %rep5 , %rep6 , %rep7
    ;-- Window definition -------------------------------------
      set %xfac 11 ; scan window factor
      set %mfac 12 ; menu size factor
      set %scanWidth %scanrange * %xfac
      set %scanLeft  ( ( %scanrange * %mfac ) - %scanwidth ) / 2
      set %scanRight %scanLeft + %scanWidth
      set %scanTop 5
      set %scanHeight %scanrange * %xfac
      set %scanBottom %scanTop + %scanHeight
      set %scanCenterX %scanWidth / 2 + %scanLeft
      set %scanCenterY %scanHeight / 2 + %scanTop
    ;----------------------------------------------------------
      menu HideEUO
      set %mpos %scanheight + 10
      menu Clear
     set %x %scanrange * %mfac
     set %y %scanrange * %mfac + 100
      menu Window size %x %y
      menu window transparent 70
      menu Window color black
      menu Show
      menu Font color green
      menu Font bgcolor black
      menu Font size 8
      set %x %scanleft + 20
      set %y %mpos
      menu Text repFilterText1 %x %y Innocent
      set %y %y + 12
      menu Text repFilterText2 %x %y Friend (Guild)
      set %y %y + 12
      menu Text repFilterText3 %x %y Grey
      set %y %y + 12
      menu Text repFilterText4 %x %y Criminal
      set %y %y + 12
      menu Text repFilterText5 %x %y Enemy (Guild)
      set %y %y + 12
      menu Text repFilterText6 %x %y Murderer
      set %y %y + 12
      menu Text repFilterText7 %x %y Shopkeeper
      set %y %y + 12
      menu Text corpseFilterText %x %y Corpse
      menu Font Name Wingdings
      set %x %scanleft
      set %y %mpos
      menu Button 1 %x %y 12 12 ü
      set %y %y + 12
      menu Button 2 %x %y 12 12 ü
      set %y %y + 12
      menu Button 3 %x %y 12 12 ü
      set %y %y + 12
      menu Button 4 %x %y 12 12 ü
      set %y %y + 12
      menu Button 5 %x %y 12 12 ü
      set %y %y + 12
      menu Button 6 %x %y 12 12 ü
      set %y %y + 12
      menu Button 7 %x %y 12 12 ü
      set %y %y + 12
      menu Button corpse %x %y 12 12 ü
      gosub charBlipRefresh
    ;----------------------------------------------------------
      ignoreItem reset
      ignoreItem #charID
      gosub setArray rep_color 1 blue green white white orange red yellow purple
      set %currentNS 0
      nameSpace Local %currentNS
      nameSpace Clear
      set %previousNS %currentNS
      set %currentNS ( %currentNS + 1 ) % 2
      set #menuButton N/A
      set %scanSync #sCnt2 + %scanFrequency
    scan:
      nameSpace Local %currentNS
      nameSpace Clear
      set !scan 0
      set %scanList
      findItem %creature 1 G_ , %scanRange
      if #findCnt > 0
      {
        set %findCnt #findCnt
        if #findRep in %reputationFilter || #findType in %corpse
          gosub scan
        if %findCnt > 1
        {
        set *123 Warning ; flag persistent variable for Kal's external alarm
          for %i 2 %findCnt
          {
            findItem %creature %i G_ , %scanRange
            if %forceAccurateScan && #findCnt <> %findCnt
              goto scan
            if #findRep in %reputationFilter || #findType in %corpse
              gosub scan
          }
        }
      }
      nameSpace Local %previousNS
      if !scan > 0
      {
        for %i 1 !scan
        {
          if !scan . %i notIn %scanList
          {
            nameSpace Local !scan . %i
            nameSpace Clear
            nameSpace Local %previousNS
            menu delete !scan . %i
          }
        }
      }
      nameSpace Local %currentNS
      if !scan > 0
      {
        for %i 1 !scan
        {
          nameSpace Local !scan . %i
          if !redraw
          {
            menu delete #nsName
            menu Shape #nsName !X !Y 5 5 1 1 0 red 7 !C
          }
          nameSpace Local %currentNS
        }
      }
      set %previousNS %currentNS
      set %currentNS ( %currentNS + 1 ) % 2
    scanSync:
      if %nextRefresh < #sCnt2
        gosub charBlipRefresh
      if #menuButton = CLOSED
        halt
      if #menuButton in 1234567
        gosub toggleRepFilter #menuButton
    ;   if #menuButton > 10 ; Hook for creatures buttons 11, 12, ...
    ;      gosub toggleCreatureFilter #menuButton
      if #menuButton = CORPSE
        gosub toggleCorpseFilter
      if %scanSync > #sCnt2
      {
        sleep 50
        set %10 %10 + 1
        goto scanSync
      }
      set %scanSync #sCnt2 + %scanFrequency
    ;   if #menuButton = N/A
        goto scan
    ;   display ok Illegal value for menuButton: #menuButton
    ;halt
    
    sub setArray
      for %_idx 3 %0
      {
        set % , %1 , %2 % . %_idx
        set %2 %2 + 1
      }
    return
    
    sub scan
      set !X ( #findX - #charPosX ) * 3
      set !Y ( #charPosY - #findY ) * 3
      set %X %scanCenterX + !X + !Y
      set %Y %scanCenterY + !X - !Y
      if %X > %scanLeft && %X < %scanRight && %Y > %scanTop && %Y < %scanBottom
      {
        set !scan !scan + 1
        set !scan . !scan #findID
        nameSpace Local #findID
        set !redraw !X <> %X || !Y <> %Y
        if !redraw
        {
          set !X %X
          set !Y %Y
          if #findType in %corpse
            set !C %rep_color . 8
          else
            set !C %rep_color . #findRep
        }
        nameSpace Local %currentNS
        set %scanList %scanList , _ , #findID
      }
    return
    
    sub charBlipRefresh
      menu delete #charID
      menu Shape #charID %scanCenterX %scanCenterY 5 5 1 1 0 red 7 yellow
      menu delete radarFrame
      menu Shape radarFrame %scanLeft %scanTop %scanWidth %scanHeight 4 7 1 green 2 green
      set %nextRefresh #sCnt2 + %charBlipRefresh
    return
    
    sub toggleRepFilter ;     xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
      menu delete %1
      set %X %mpos + 12 * %1 - 12
      if %rep . %1 = %1
      {
        menu Button %1 %scanleft %X 12 12 û
        set %rep . %1
      }
      else
      {
        menu Button %1 %scanleft %X 12 12  ü
        set %rep . %1 %1
      }
      set %reputationFilter %rep1 , %rep2 , %rep3 , %rep4 , %rep5 , %rep6 , %rep7
      set #menuButton N/A
    return
    
    sub toggleCreatureFilter
       set %1 %1 - 10
       set %1 %creatureType . %1
       if %1 = N/A
       {
          display ok Illegal value for menuButton: #menuButton
          halt
       }
       str Pos %creature %1
       if #strRes > 0
       {
          set %0 #strRes
          str Len %1
          str Del %creature %0 #strRes
          set %creature #strRes
       }
       else
          set %creature %1 , %creature
       set #menuButton N/A
    return
    
    sub toggleCorpseFilter
      set %X %mpos + 85
      menu delete corpse
      if %corpse = X
      {
        menu Button corpse %scanleft %X 12 12 ü
        set %corpse _YFM
      }
      else
      {
        menu Button corpse %scanleft %X 12 12 û
        set %corpse X
      }
      set #menuButton N/A
    return

    Commenta


    • #3
      Io aggiungerei di renderlo dimensionabile a seconda di come uno preferisce.
      Inoltre sarebbe carino poterlo far rimanere (con un doppioclik) sempre sullo schermo e senza bordi.. Tipo automap insomma.

      Io non ho idea di dove si cominci altrimenti avrei subito iniziato, mi sembra un progettino niente male.

      Commenta


      • #4
        ame rimane sempre in primo piano ma il fatto dei bordi non so come risolverlo, cmq utilizza una finestra di windows.....ripetò è datato come script quindi magari si può ovviare al problema.....

        Commenta


        • #5
          Carinissimo


          Murderer cosa sono? :0


          ICQ: 204-621-943 <-- preferito rispetto a msn
          MSN: marcolino3000[at]hotmail.com

          Commenta


          • #6
            sei proprio uno schifoso niubbo.

            Murderer = Assassino

            quindi i PK
            Lista dei Punti di Xorina
            icq 112740352

            Commenta


            • #7
              oggi ho ritrovato per caso questo script e l'ho voluto modificare un pochetto, adesso:

              - il menu è più compatto ed ha forma e dimensioni del radar
              - sono mostrate le coordinate del pg nel titolo
              - è calibrato sul radar del gioco
              - se clickate sul radar e avviate lo script posiziona il menu in automatico sopra

              (l'mmagine non corrisponde al 100% dei fix fatti)

              è uno script divertente anche se per adesso non lo trovo fondamentale per giocare, forse per qualche quest in futuro tornerà comodo... volendo posso aggiungere delle funzionalità, se avete in mente qualcosa suggeritemi.

              codice:
              ;==========================================================
              ; Universal Radar v1.6
              ;----------------------------------------------------------
              ; Original author: nilmer
              ; Contributors: old_asm_programmer, the.WZA
              ; Auto size mods by Kal
              ;----------------------------------------------------------
              ; copyleft (c) 2003 by nilmer
              ;==========================================================
              ; Changes by Algander:
              ; modificato il menu ed il calcolo delle coordinate dei punti per "aderire" al radar.
              ;==========================================================
              
              ; --Change %scanrange to increase/decrease radar range (MAX 25)
                set %scanRange 25
              ;-- Default Setting ---------------------------------------
                linesPerCycle 100
              ; time before refreshing char blip (0.1s increment)
                 set %charBlipRefresh 50
              ; minimum time between each scan (0.1s increment)
                set %scanFrequency 1
              ; check that #findCnt remains constant during scan period
                set %forceAccurateScan #false
              ;-- Internal Settings -------------------------------------
              ;   set %creatureType1 _IS_HS
              ;   set %creatureType2 _WZA
              ;   ...
              ;   set %creature %monterType1 , %monterType2 , ...
                set %creature IS_HS_QF_LD_XE_RM_ME_GN_QO_HH_ZI_DN_MB_SI_BD_TH_CJ_NI_GD_ID_YE_PD_ED_XH_I_UC
                +_UD_RB_BJ_W_CBB_JD_WD_XC_DB_Y__DI_AB_ND_AI_BI_RI_KI_DJ_N_TI_OD_OJ_EF
                +_AF_UF_WB_BB_JB_XF_FD_QE_GB_QD_IB_KD_TD_AE_DE_BE_IE_CD_WE_YFM_IS_HS_OAB_NAB_AV_XU_QAB_ZBN_HG_VQC
              ;   +_VE_PE_ZC_YD
                set %corpse _YFM
                set %rep1 1 ; Innocent
                set %rep2 2 ; Friend (Guild)
                set %rep3 3 ; Grey
                set %rep4 4 ; Criminal
                set %rep5 5 ; Enemy (Guild)
                set %rep6 6 ; Murderer
                set %rep7 7 ; Shopkeeper
                set %reputationFilter %rep1 , %rep2 , %rep3 , %rep4 , %rep5 , %rep6 , %rep7
              ;-- Window definition -------------------------------------
                set %xfac 8 ; scan window factor
                set %mfac 9 ; menu size factor
                set %scanWidth %scanrange * %xfac
                set %scanLeft  ( ( %scanrange * %mfac ) - %scanwidth ) / 2
                set %scanRight %scanLeft + %scanWidth
                set %scanTop 5
                set %scanHeight %scanrange * %xfac
                set %scanBottom %scanTop + %scanHeight
                set %scanCenterX %scanWidth / 2 + %scanLeft
                set %scanCenterY %scanHeight / 2 + %scanTop
              ;----------------------------------------------------------
                menu HideEUO
                set %mpos %scanheight + 10
                menu Clear
              menu Window Title X: #charposx Y: #charposy
               set %x %scanrange * %mfac
               set %y %scanrange * %mfac + 40
                menu Window size %x %y
                menu window transparent 60
                menu Window color black
                gosub locate_radar
                menu Font color green
                menu Font bgcolor black
                menu Font size 8
                set %x %scanleft + 20
                set %y %mpos
                menu Text repFilterText1 %x %y Innocent
                set %y %y + 12
                menu Text repFilterText2 %x %y Friend (Guild)
                set %y %y + 12
                menu Text repFilterText3 %x %y Grey
                set %y %y + 12
                menu Text repFilterText4 %x %y Criminal
                set %x %scanleft + 120
                set %y %mpos
                menu Text repFilterText5 %x %y Enemy (Guild)
                set %y %y + 12
                menu Text repFilterText6 %x %y Murderer
                set %y %y + 12
                menu Text repFilterText7 %x %y Shopkeeper
                set %y %y + 12
                menu Text corpseFilterText %x %y Corpse
                menu Font Name Wingdings
                set %x %scanleft
                set %y %mpos
                menu Button 1 %x %y 12 12 ü
                set %y %y + 12
                menu Button 2 %x %y 12 12 ü
                set %y %y + 12
                menu Button 3 %x %y 12 12 ü
                set %y %y + 12
                menu Button 4 %x %y 12 12 ü
                set %x %scanleft + 100
                set %y %mpos
                menu Button 5 %x %y 12 12 ü
                set %y %y + 12
                menu Button 6 %x %y 12 12 ü
                set %y %y + 12
                menu Button 7 %x %y 12 12 ü
                set %y %y + 12
                menu Button corpse %x %y 12 12 ü
                gosub charBlipRefresh
              ;----------------------------------------------------------
                ignoreItem reset
                ignoreItem #charID
                gosub setArray rep_color 1 blue green white white orange red yellow purple
                set %currentNS 0
                nameSpace Local %currentNS
                nameSpace Clear
                set %previousNS %currentNS
                set %currentNS ( %currentNS + 1 ) % 2
                set #menuButton N/A
                set %scanSync #sCnt2 + %scanFrequency
              scan:
              menu Window Title X: #charposx Y: #charposy
                nameSpace Local %currentNS
                nameSpace Clear
                set !scan 0
                set %scanList
                findItem %creature G_ , %scanRange
                if #findCnt > 0
                {
                  set %findCnt #findCnt
                  if #findRep in %reputationFilter || #findType in %corpse
                    gosub scan
                  if %findCnt > 1
                  {
                  set *123 Warning ; flag persistent variable for Kal's external alarm
                    for %i 2 %findCnt
                    {
                      findItem %creature %i G_ , %scanRange
                      if %forceAccurateScan && #findCnt <> %findCnt
                        goto scan
                      if #findRep in %reputationFilter || #findType in %corpse
                        gosub scan
                    }
                  }
                }
                nameSpace Local %previousNS
                if !scan > 0
                {
                  for %i 1 !scan
                  {
                    if !scan . %i notIn %scanList
                    {
                      nameSpace Local !scan . %i
                      nameSpace Clear
                      nameSpace Local %previousNS
                      menu delete !scan . %i
                    }
                  }
                }
                nameSpace Local %currentNS
                if !scan > 0
                {
                  for %i 1 !scan
                  {
                    nameSpace Local !scan . %i
                    if !redraw
                    {
                      menu delete #nsName
                      menu Shape #nsName !X !Y 4 4 1 1 0 red 7 !C
                    }
                    nameSpace Local %currentNS
                  }
                }
                set %previousNS %currentNS
                set %currentNS ( %currentNS + 1 ) % 2
              scanSync:
                if %nextRefresh < #sCnt2
                  gosub charBlipRefresh
                if #menuButton = CLOSED
                  halt
                if #menuButton in 1234567
                  gosub toggleRepFilter #menuButton
              ;   if #menuButton > 10 ; Hook for creatures buttons 11, 12, ...
              ;      gosub toggleCreatureFilter #menuButton
                if #menuButton = CORPSE
                  gosub toggleCorpseFilter
                if %scanSync > #sCnt2
                {
                  sleep 50
                  set %10 %10 + 1
                  goto scanSync
                }
                set %scanSync #sCnt2 + %scanFrequency
              ;   if #menuButton = N/A
                  goto scan
              ;   display ok Illegal value for menuButton: #menuButton
              ;halt
              
              sub setArray
                for %_idx 3 %0
                {
                  set % , %1 , %2 % . %_idx
                  set %2 %2 + 1
                }
              return
              
              sub scan
                set !X ( #findX - #charPosX )
                set !Y ( #charPosY - #findY )
                set %X %scanCenterX + !X + !Y
                set %Y %scanCenterY + !X - !Y
                if %X > %scanLeft && %X < %scanRight && %Y > %scanTop && %Y < %scanBottom
                {
                  set !scan !scan + 1
                  set !scan . !scan #findID
                  nameSpace Local #findID
                  set !redraw !X <> %X || !Y <> %Y
                  if !redraw
                  {
                    set !X %X
                    set !Y %Y
                    if #findType in %corpse
                      set !C %rep_color . 8
                    else
                      set !C %rep_color . #findRep
                  }
                  nameSpace Local %currentNS
                  set %scanList %scanList , _ , #findID
                }
              return
              
              sub charBlipRefresh
                menu delete #charID
                menu Shape #charID %scanCenterX %scanCenterY 4 4 1 1 0 red 7 lime
                menu delete radarFrame
                menu Shape radarFrame %scanLeft %scanTop %scanWidth %scanHeight 1 7 1 green 2 green
                set %nextRefresh #sCnt2 + %charBlipRefresh
              return
              
              sub toggleRepFilter ;     xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
                menu delete %1
                set %X %mpos + 12 * %1 - 12
                if %rep . %1 = %1
                {
                  menu Button %1 %scanleft %X 12 12 û
                  set %rep . %1
                }
                else
                {
                  menu Button %1 %scanleft %X 12 12  ü
                  set %rep . %1 %1
                }
                set %reputationFilter %rep1 , %rep2 , %rep3 , %rep4 , %rep5 , %rep6 , %rep7
                set #menuButton N/A
              return
              
              sub toggleCreatureFilter
                 set %1 %1 - 10
                 set %1 %creatureType . %1
                 if %1 = N/A
                 {
                    display ok Illegal value for menuButton: #menuButton
                    halt
                 }
                 str Pos %creature %1
                 if #strRes > 0
                 {
                    set %0 #strRes
                    str Len %1
                    str Del %creature %0 #strRes
                    set %creature #strRes
                 }
                 else
                    set %creature %1 , %creature
                 set #menuButton N/A
              return
              
              sub toggleCorpseFilter
                set %X %mpos + 85
                menu delete corpse
                if %corpse = X
                {
                  menu Button corpse %scanleft %X 12 12 ü
                  set %corpse _YFM
                }
                else
                {
                  menu Button corpse %scanleft %X 12 12 û
                  set %corpse X
                }
                set #menuButton N/A
              return
              
              ;by Algander
              ;this sub locates the radar and gives the coordinates of the gump
              sub locate_radar
              relocate:
              wait 10
              if #contname <> radar_gump
                  {
                  event macro 8 8
                  if #contsize <> 280_280 || #contname <> radar_gump
                    goto relocate
                  }
              set !showx #contposx + 26
              set !showy #contposy + 33
              menu show !showx !showy
              return

              ps: per trovare i mob fa riferimento ad una lista di type definita, questo perchè una ricerca generica su tutti gli item trovabili lo renderebbe ancora più lento, sto lavorando ad un sistema per aggirare il problema o almeno renderlo più versatile. anche filtri aggiuntivi potrebbero essere interessanti ditemi che ne pensate...

              pps: la risoluzione è abbastanza bassa purtroppo, volendo si può modificare e renderlo meglio visibile su una mappa in scala più grande tipo 2x-4x di automap.
              Ultima modifica di fengyr; 25-04-2010, 20:58.
              ____________________________________________________________________

              Il p Fengyr
              ____________________________________________________________________
              : algander#6292

              Commenta


              • #8
                che portata ha? se solo nelle vicinanze a me va benissimo, son morto parecchie volte fidandomi degli spawn lenti, ma la legge di murphy vince sempre..=)

                se ha un vasto raggio i pvp apprezzeranno molto..
                ICQ 579630104
                [Amdir]Firma Irregolare[/Amdir]
                Originariamente inviato da GiaPly3 , Dav87E , Gatsu
                Maledetto sia colui il quale m'ha segnalato la signa.

                Commenta


                • #9
                  ; --Change %scanrange to increase/decrease radar range (MAX 25)
                  set %scanRange 25

                  la portata dovrebbe essere di 25 tile, veramente carino come script.
                  icq 553-203-374

                  Commenta

                  Sto operando...
                  X