annuncio

Comprimi
Ancora nessun annuncio.

[SCRIPT] Controllo item danneggiati

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

  • [SCRIPT] Controllo item danneggiati

    Ciao a a tutti,

    visti i recenti fix, dopo aver rischiato gia' un paio di volte di distruggere item di valore, ho pensato di creare un semplice script che avvisi nel caso un item diventi troppo danneggiato.

    Lo script va eseguito in background e poi fa tutto da solo, ed è fatto in modo da essere più semplice e meno invadente possibile.

    Lo posto qua, se qualcuno ha voglia di provarlo per aiutarmi a trovare eventuali bug o di suggerire nuove funzioni / migliorie fara' cosa ben gradita.

    Grazie

    Edit del 24/12/06: pubblicata versione 0.2 (vedere sotto per le modifiche)

    codice:
    ;======================================================
    ; Script Name: Bodom's Durability Checker
    ; Author: DaRkBoDoM
    ; Version: 0.2
    ; Client Tested with: 5.0.7
    ; EUO version tested with: 1.5 ver 101
    ; Shard OSI / FS: FS
    ; Revision Date: 24-12-06
    ; Public Release: 24-12-06
    ; Global Variables Used: N/A
    ; Purpose: Checks if a dressed item is breaking, then
    ;          prints a warning.
    ; ======================================================
    ; -------------------------Version History--------------
    ; ======================================================
    ; Ver 0.1 Inital test/writting version.
    ; Ver 0.2 Now ignores items without durability prop.
    ;         Automatically opens paperdoll if closed
    ;         Main code is now contained in a subroutine
    ;         Does nothing if character is dead
    ; ======================================================
    
    ; Settings:
    
    ; Livello di guardia (avvisa se la durability
    ; di un oggetto scende sotto a questo valore
    
    set %warnlevel 3
    
    ; Ogni quanti secondi controllare l'equip
    
    set %scanevery 300
    
    ; Colore del testo del messaggio di avviso
    
    set %warncolor 55
    
    ; -----------------------------------------------
    
    set %debuglevel 0
    
    gosub durCheck 5s %warnlevel  %warncolor 1
    set %t %scanevery , s
    wait %t
    
    sub durCheck
    {
    
        ;Sub principale, ontrolla lo stato degli item
        ;Parametri:
        ;%1 = tempo di attesa tra un controllo e l'altro
        ;%2 = durability minima (sce scende sotto a %1 avvisa)
        ;%3 = colore del messaggio di avviso
        ;%4 = usa ignoreitem 1=si 0=no *
        
        ; NOTA:
        ; L'utilizzo di ignoreitem (parametro %4) aumenta la
        ; velocità dello script e lo rende ancor meno invadente,
        ; tuttavia, se viene utilizzato come sub insieme ad altri
        ; script, questa funzione potrebbe causare effetti
        ; imprevisti e quindi è buona norma disattivarla.
    
        if %debuglevel > 0
        {
            event sysMessage Richiamata funzione %0 %1 %2 %3 %4
        }
    
        if %0 <> 4
        {
            event sysMessage Errore nella chiamata alla funzione!
            return
        }
        
        ;Se sono morto è inutile perdere tempo...
        if #charGhost = YES
        {
            if %debuglevel > 0
            {
                event sysMessage You are dead.
            }
    
            return
        }
        
        set %i 0
        set %pclosed 1
    
        repeat
        {
            ;Cerco gli item indossati
            set %i %i + 1
            findItem * %i C_ , #CHARID
    
            ;Apro il Paperdoll se e' chiuso
            while #findkind = -1 && %i = 1
            {
                if %debuglevel > 0
                {
                    event SysMessage Paperdoll chiuso!
                }
    
                event macro 8 1
                set %pclosed 0
    
                findItem * %i C_ , #CHARID
        		}
    
        		;Se ho aperto il paperdoll, lo sposto dove non rompa
        		if %pclosed  = 0
        		{
                contPos 1000 1000
            }
    
            event Property #FINDID
    
            ;Leggo la durability
            str Count #PROPERTY Durability
            set %t #STRRES
            if %t > 0
            {
                ;Considero solo gli oggetti che hanno durability
    
                str Pos #PROPERTY Durability %t
                set %pos #STRRES + 11
                str Len #PROPERTY
                set %len #STRRES
                set %t %len - %pos
                str Mid #PROPERTY %pos %t
                set %itdur #STRRES
                str Pos %itdur /
                set %pos #STRRES - 2
                str Left %itdur %pos
                set %itdur #STRRES
                ;%itdur adesso contiene la durability
    
                str Pos #PROPERTY $ 1
                set %pos #STRRES - 1
                str Left #PROPERTY %pos
                set %itname #STRRES
                ;%itname adesso contiene il nome
    
                if %debuglevel > 1
                {
                    event sysMessage %i #FINDKIND #FINDID #PROPERTY
                }
    
                ;Avviso se un item e' danneggiato
                if %itdur < %2
                {
                    event ExMsg #CHARID 0 %3 ---AVVISO ITEM DANNEGGIATO---
                    event ExMsg #CHARID 3 %3 %itname si sta rompendo!
                }
                else
                {
                    if %debuglevel > 0
                    {
                        event sysMessage %itname %itdur
                    }
                }
            }
            else
            {
                ;Evito di considerare l'item al loop successivo
                ;(suggested by Dalamar Kanan)
                if %4 = 1
                {
                    ignoreitem #FINDID
                }
            }
    
            if %debuglevel > 0
            {
                event sysMessage #FINDKIND
            }
    
            wait %1
    
        }
        until #FINDKIND = -1
    }
    Ultima modifica di darkbodom; 24-12-2006, 12:16.

  • #2
    be se funziona complimenti bella idea




    un grazie al quel grande amico niubbo di lane :*

    "Ci vuole un minuto per notare una persona speciale,un ora per apprezzarla, un giorno per volerle bene,ma poi tutta una vita per dimenticarla"

    "Charlie Chaplin"


    Commenta


    • #3
      Testo e ti faccio sapere qualcosa.
      Originariamente inviato da Amdir
      Ray ti setto spammer cosi' non si vede la firma e mezzo shard mi viene a piangere su icq

      Amdir
      Originariamente inviato da Aka
      (17:59:58) Salvo: aka >>>>>>>> OSI
      Originariamente inviato da Prof. Pala
      "Prima che la situazione si faccia imbarazzante, è meglio se si ripresenta al prossimo appello..."
      http://www.deshack.org/

      Commenta


      • #4
        Carino, se proprio vuoi modificarlo puoi:
        - aggiungere un'ignoreitem per gli item senza durability, in modo che il giro successivo non vengano considerati.
        - con controllo su event property (alcune volte non legge la property)
        codice:
        event property $ ; un modo come un'altro per pulire #property
        repeat
        {
         event property #findid
         str len #property
        }
        unltil( #strres > 1 )
        Ultima modifica di Dalamar_Kanan; 23-12-2006, 20:52.
        .
        ORDINI
        Dalamar 72-56-95-58 : Shalafy 44-33-52-55 : Pifferaio 22-93-39-201

        Commenta


        • #5
          ma ti avvisa il gioco quando ti si abbassa troppo la durability

          Grazie al mio amore per la firma :*

          Chiamatemi Auron, dato che non posso chiamarmici io

          ICQ 236-454-287

          Commenta


          • #6
            Originariamente inviato da Dalamar Kanan
            Carino, se proprio vuoi modificarlo puoi:
            - aggiungere un'ignoreitem per gli item senza durability, in modo che il giro successivo non vengano considerati.
            - con controllo su event property (alcune volte non legge la property)
            codice:
            event property $ ; un modo come un'altro per pulire #property
            repeat
            {
             event property #findid
             str len #property
            }
            unltil( #strres > 1 )
            E te pareva che te non postassi qualcosa sugli script

            :*

            Icq 223-493-903

            I only use the brakes so I can accelerate all over again.
            « Guardati dalla furia di un uomo tranquillo » John Dryden




            Commenta


            • #7
              Bello lo provo


              Mio ICQ: 462013723

              Commenta


              • #8
                Secondo me dovresti farne anche una versione "sub" da inserire in altri script, come per esempio uno script per la bendata, uno per le pozze, o cose del genere =)
                Per il resto, bella idea. Complimenti



                Now in London.

                -

                Commenta


                • #9
                  mo lo provo.....

                  Commenta


                  • #10
                    Provo e ti dico...comunque complimenti!!!

                    Commenta


                    • #11
                      Originariamente inviato da Dalamar Kanan
                      Carino, se proprio vuoi modificarlo puoi:
                      - aggiungere un'ignoreitem per gli item senza durability, in modo che il giro successivo non vengano considerati.
                      - con controllo su event property (alcune volte non legge la property)
                      codice:
                      event property $ ; un modo come un'altro per pulire #property
                      repeat
                      {
                       event property #findid
                       str len #property
                      }
                      unltil( #strres > 1 )
                      Buona idea. Ho aggiunto l'ignore item cosi' lo script gira un po' piu' leggero. Il fatto che a volte non trovasse le prop era dovuto al paperdoll che poteva essere chiuso (perche' lo script funzioni deve stare per forza aperto). Ora se è chiuso se lo apre automaticamente e lo sposta in una posizione dove non dia fastidio.

                      Originariamente inviato da Auron
                      ma ti avvisa il gioco quando ti si abbassa troppo la durability
                      Si ma con una scrittina grigia che non noto mai (mentre spammi wither a Tokuno è quasi impossibile farci caso) e soltanto una volta che io sappia, da qui la necessita' dello script, che invece fa una bella scrittona ogni "x" secondi.

                      Originariamente inviato da UomoFocaccina
                      Secondo me dovresti farne anche una versione "sub" da inserire in altri script, come per esempio uno script per la bendata, uno per le pozze, o cose del genere =)
                      Per il resto, bella idea. Complimenti
                      Ho messo tutto in una sub cosi' puoi infilarlo in altri script, in questo caso stai attento a:
                      - Non utilizzare la funzione ingnoreitem
                      - Impostare un tempo di attesa bassissimo (se non da' problemi ti consiglio 0), per evitare che faccia da "tappo"

                      Script aggiornato alla versione 0.2 coi vostri suggerimenti, ho editato il post principale.

                      Grazie a tutti.

                      Commenta


                      • #12
                        grazie mille

                        Commenta


                        • #13
                          lo provo pero sinceramente mi da fastidio che arte tipo totem e hat si rovinino ora


                          uno col piede caldo :O
                          icq 249-068-318 ma cmq in profilo -.-


                          Originariamente inviato da Revolucionario
                          Non leggo la tag di Moderatore sotto il tuo nick. Ma leggo quella velata di n00b, quindi ti chiedo cortesemente di tornare sul forum UOD, se da li vieni, o cuocere a fuoco lento nel forno.

                          Addio.
                          Originariamente inviato da Blackhawk19
                          La morte, moralmente parlando, la subiranno i tuoi giocatori quando usciranno umiliati dalle mura degli stadi.

                          Commenta


                          • #14
                            Originariamente inviato da GaaRa Of ThE DeSeRT
                            lo provo pero sinceramente mi da fastidio che arte tipo totem e hat si rovinino ora
                            Perchè che hanno di diverso dagli altri arte scusa?

                            Commenta


                            • #15
                              Originariamente inviato da GaaRa Of ThE DeSeRT
                              lo provo pero sinceramente mi da fastidio che arte tipo totem e hat si rovinino ora
                              devono sistemare :P pre il mio totem e' a 100/255 :P

                              * [SCAMBIO]BOD da kit BARBED AGGIORNATO*
                              * [COMPRO] tailor bods di TUTTI I TIPI*
                              * [VENDO]kit barbed*
                              * [COMPRO]Cristalline ring*

                              Commenta

                              Sto operando...