annuncio

Comprimi
Ancora nessun annuncio.

Tintin ++

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

  • #16
    categoria:sporchi trucchetti

    trigger per barra di stato: vi arriva se la vostra esperienza sta diminuendo (px rimanenti al livello in aumento), o se vi stanno rubando soldi
    (chiedo scusa a tutti i ladri)
    Funziona col prompt di default

    codice:
    #act {Exp:%1 Oro:%2 Stato} {#if {$oldxp - %1 < 0} {#showme {<139> ###<119> WARNING  <139>### <179>--> PX IN AUMENTO}};#math oldxp %1;#if {$oldmoney - %2 > 0} {#showme {<139> ###<119> WARNING  <139>### <179>--> ORO IN DIMUNUZIONE} };#math oldmoney %2}
    ----------------------------

    trigger per la creazione del pg
    inserite i valori che NON volete

    codice:
    #math {errore}{0}
    
    #act {Destrezza   : Buona} {#math {errore} { $errore -1 } }
    #act {Destrezza   : Normale} {#math {errore} { $errore -1 } }
    #act {Destrezza   : Bassa} {#math {errore} { $errore -1 } }
    
    #act {Costituzione: Normale} {#math {errore} { $errore -1 } }
    #act {Costituzione: Buona} {#math {errore} { $errore -1 } }
    
    #act {Intelligenza: Buona} {#math {errore} { $errore -1 } }
    #act {Intelligenza: Normale} {#math {errore} { $errore -1 } }
    
    #act {Forza       : Buona} {#math {errore} { $errore -1 } }
    #act {Forza       : Normale} {#math {errore} { $errore -1 } }
    
    #act {Saggezza    : Buona} {#math {errore} { $errore -1 } }
    #act {Saggezza    : Normale} {#math {errore} { $errore -1 } }
    
    #act {Accetti queste statistiche? [S/N]} {
            #if {$errore <0 } {N;#math {errore}{0}}{}
            }
    ---------------------------
    ripetere un comando piu' volte con un certo intervallo di tempo
    codice HTML:
    #loop  {1 10} {#delay { &0 * 5 }{#showme &0;ot prova} }
    Ultima modifica di allanozzolo; 15-07-2008, 21:05.
    Sibilla l'ultima cartomante, veggente, cristalloveggente, ..
    Malvokian il fanatico
    Harj un figlio del vento
    Dealle drunken master
    .
    SUFFURU!

    Commenta


    • #17
      Visto che me lo hanno richiesto in tantissimi,
      ecco la mia versione del kill counter (il conta mob uccisi).

      (in realta si ringraziano quelle uniche due persone che si son mostrate interessate )


      Questa mia versione fa uso di
      1) un database, mysql (*)
      2) uno script in python che utilizza il modulo MySQLdb (pacchetto python-mysqldb per debianizzati)
      3) ebbe'... tintin++

      Praticamente l'idea e' quella di abbinare al nome mob ucciso anche una data, per fare statistiche a fini di differenziamento mob, boh, a qualcosa servira' la data...


      ---------
      installazione

      1) dando per scontato che sia gia in funzione e tutto il resto, ecco la struttura della tabella, l'ho fatta ad muzzum, quindi miglioratela negli attributi.

      codice:
      CREATE TABLE `nomepg` (
        `id` int(10) unsigned NOT NULL auto_increment,
        `mob` varchar(255) NOT NULL,
        `date` datetime default NULL,
        PRIMARY KEY  (`id`)
      );
      2) scaricare lo script
      http://www.alaimo.org/index.php?down...ill_counter.py

      salvatelo da qualche parte, ricordatevi dove :P

      3)
      impostare le var, alias e act adatti a usare lo scriptino

      codice:
      /* alias e trigger per il database mob uccisi  */
      #var pg nomepg
      #var {kill counter} {./scripts/kill_counter.py }
      #
      #ACTION {%0 e' mort%1!!}{#script {${kill counter} "$pg" "add" "%0"}}
      #
      #alias getall {#script {${kill counter} "$pg" get_all}}
      #alias getday {#if {"%1" !=""}{#var n %1}{#var n 0};#script {${kill counter} "$pg" get_day "-$n"}}
      #alias get {#script {${kill counter} "$pg" get_lastn "%0"}}

      OSSERVAZIONI:

      la variabile pg contiene il nome della tabella su cui salvare il conteggio, che io ho scelto uguale al nome del pg stesso.

      la variabile {kill counter} contiene il PATH (in questo caso relativo ) per raggiungere lo script



      Fine,
      l'ho testato per 20 livelli e funziona bene, certo oggi prima di decidermi a postarlo l'ho modificato un po' perche' prima era piu' grezzo ancora, ma confido di non aver fatto danni.
      ...le ultime parole famose..



      NOTE
      (*) perche' mysql? chiaramente chi lo conosce pensera' subito che sia uno spreco di risorse installare una database relazionare per una cosa di questo tipo.
      E difatti e' cosi'. Un file di test, o sqlite3 sarebbero stati infinitamente una scelta migliore per questo compito cosi umiliante.
      Ma,
      io ho scelto mysql per due motivi:
      1) perche' per altri motivi me lo ritrovo gia' installato e a regime
      2) perche' volevo provare la nuova funzionalita' di mysql 5.1! ovvero il partitioning!!
      Il partizionamento permette di spezzare (non relazionarmente) una tabella in piu' sottotabelle in base a criteri speficati.
      esempio pratico:
      supponendo di aver giocato anni e anni all'eterno e imperituo equilibrium, si potrebbe aver ucciso chissa quale numero incredibile di mob. L'elevato numero potrebbe inficiare le prestazioni del vostro database nel momento in cui va a fare una query (richiesta) in quella tabella.
      Ebbene, il partizionamento in questo, visto che ogni record e' composto da (mob, data) potrebbe esser fatto in base all'anno.
      Ovvero mysql in maniera del tutto trasparente all'utente, sistema i dati in modo da avere subtabelle con i dati che rientrano in quel criterio prima specificato, ovvero l'anno, in questo caso.

      Ecco la differenza tra tabella partizionata e tabella non partizionata, nel nostro esempio (mob, data)

      query 1 : dimmi quali mostri ho ucciso oggi

      tabella non partizionata --> mysql esegue la query analizzando TUTTI i dati, supponiamo 20 anni di kills frenetici ===> relativamente molto tempo

      tabella partizionata -> mysql esegue la query sono analizzando i dati della subtabella relativa all'anno solare in corso, quindi gli altri 19 anni non vengono presi in considerazione ===> guadagno tempo


      query 2: elencami tutti i mob uccisi in vita mia

      in questo caso non ci sono vantaggi, anzi il partitioning introduce una perdita di prestazioni.
      Ultima modifica di allanozzolo; 17-07-2008, 03:46.
      Sibilla l'ultima cartomante, veggente, cristalloveggente, ..
      Malvokian il fanatico
      Harj un figlio del vento
      Dealle drunken master
      .
      SUFFURU!

      Commenta


      • #18
        Una cosa che mi e' venuta in mente solo ora, visto che ormai gioco solo un pg, Harj

        volendo fare una cosa piu' relazionata potreste pensare di collegare la tabella mob_uccisi ad una tabella pg, in rapporto n:1

        in questo modo avrete una enorme tabella con tutti tutti i vostri mob uccisi, e non solo da quel personaggio (come e' adesso).

        Beh, fatelo voi poi io ve lo copio.


        Io per ora sto facendo un proof of concept di uno script per la gestione delle identificazioni!!

        L'obiettivo e' inserire, richiamare (tramite richerche per key), e cancellare le identificazioni, all'interno di tintin stesso, e senza usare finestre grafiche (io nun le posso usare sempre).
        A questo abbinero' un interfaccina web, faro' uso dello splendido framework cakephp (che consiglio a tutti appasionati del duo php+db), in modo da soddisfare il motto:
        identifica una sola volta, guardale ovunque!
        Ultima modifica di allanozzolo; 17-07-2008, 07:07.
        Sibilla l'ultima cartomante, veggente, cristalloveggente, ..
        Malvokian il fanatico
        Harj un figlio del vento
        Dealle drunken master
        .
        SUFFURU!

        Commenta


        • #19
          Statistiche di Sessione

          Ciao a tutti
          Ecco qua un piccolo script per avere le statistiche dell'esperienza e dell'oro guadagnati per sessione di gioco.

          codice:
          /* Conteggio Exp e Oro */
          #act {Exp:%0 Oro:%1 Stato}
          {
              #if {$CFLAG == "Attivo"}
              {
                  #math AExp { $IExp - %0 } ;
                  #math AOro { %1 - $IOro } ;
                  #alias {statses} {#showme <060>#### Statistiche per questa sessione ####\n# \t<050>Esperienza:<030>  $AExp <060>\t\t#\n#\t<050>Oro Accumu.:<030> $AOro <060> \t\t#\n######################################### }
              }
              {
                  #variable {CFLAG} {"Attivo"} ;
                  #variable {IExp} {%0} ;
                  #variable {IOro} {%1}
              }
          }
          Il funzionamento č semplice una volta inserito questo script potete cominciare a giocare.
          Scrivendo statses vi disegnerą una tabella che riassumerą l'esperienza e l'oro, guadagnati per sessione di gioco. Ovvero da quando vi siete collegati.
          Nella speranza che possa interessare vi mando un bacio a tutte
          e una stretta di mano hai maschietti
          ----------------
          Se la vita č solo un illusione, un mud che cos'č?
          Mortigan e Orem

          Commenta

          Sto operando...
          X