CAAD

Comunidad de Aventuras Conversacionales y Relatos Interactivos
Fecha actual 22 Ago 2017 04:18

Todos los horarios son UTC + 1 hora




Nuevo tema Responder al tema  [ 14 mensajes ] 
Autor Mensaje
 Asunto: Tiempo real
NotaPublicado: 17 Dic 2013 09:59 
Desconectado
Betatester
Betatester
Avatar de Usuario

Registrado: 09 Feb 2012 20:33
Mensajes: 855
Quiero añadir un efecto en tiempo real en una parte de la aventura, para ello he usado;

Para activarlo cuando me conviene
Thread.currentThread().setRealTimeEnabled(true);

y para desactivarlo;

Thread.currentThread().setRealTimeEnabled(false);

En el momento en que está activo el tiempo real, ¿puedo modificar de algún modo las unidades de tiempo? Es decir, según he leído en:

http://www.caad.es/aetheria/doc/doku.ph ... odo_update

cada orden consume una cantidad determinada de unidades de tiempo, en función de la orden serán más o menos unidades de tiempo, pero mi pregunta es, se puede modificar el tiempo real(vida real) de cada unidad de tiempo(AGE).... no sé si estoy liando al personal;
Supongamos que está definido una unidad de tiempo en AGE como 50 milisegundos, puedo modificarlo para que sean 25 milisegundos??

_________________
Te quiero... lo siento Yoda sólo tenemos café.


Arriba
 Perfil  
 
 Asunto: Re: Tiempo real
NotaPublicado: 17 Dic 2013 10:52 
Desconectado
Implementador
Implementador

Registrado: 13 Feb 2005 18:57
Mensajes: 1854
viewtopic.php?f=31&t=3683&p=43943#p43943
Al-Khwarizmi escribió:
Para ajustar el número de milisegundos que dura una unidad de tiempo:

Código:
Thread.currentThread().setRealTimeQuantum(milisegundos);


Todo esto se puede invocar desde cualquier método de AGE.

Por defecto, la unidad de tiempo dura 1500 milisegundos (o sea, segundo y medio). Se le puede dar el valor que se quiera, pero te recomiendo que no pongas valores muy pequeños (menores de 100 milisegundos o por ahí) porque eso hará que AGE tenga que actualizar el mundo muchas veces por segundo, consumiendo más CPU de lo necesario.


Arriba
 Perfil  
 
 Asunto: Re: Tiempo real
NotaPublicado: 28 Dic 2013 21:58 
Desconectado
Betatester
Betatester
Avatar de Usuario

Registrado: 09 Feb 2012 20:33
Mensajes: 855
He estado siguiendo el hilo anterior y he leído:

Citar:
Que sepas que también existe la posibilidad de cambiar de turnos a tiempo real (o viceversa) en medio de la partida. Es decir, podrías hacer que todo el resto del juego fuese por turnos, y al llegar a la escena de la discusión pasase automáticamente a tiempo real (aunque siempre el jugador tendría la opción de cambiarlo).


No existe la forma de "bloquear" esta opción, es decir, que el jugador no pueda cambiar de tiempo real a turnos?.

_________________
Te quiero... lo siento Yoda sólo tenemos café.


Arriba
 Perfil  
 
 Asunto: Re: Tiempo real
NotaPublicado: 28 Dic 2013 22:27 
Desconectado
Samudio
Samudio
Avatar de Usuario

Registrado: 09 Mar 2004 16:16
Mensajes: 5268
Ubicación: Coruña
En principio no existe, ya que la filosofía de AGE es dar al jugador la libertad para jugar una aventura como quiera (aunque el autor elija cómo es por defecto).

Pero no eres el primero que menciona que le gustaría quitar esa opción. Siempre se puede pensar en dar la opción al autor de prohibir esa posibilidad.

_________________
Actúa siempre de tal modo que las decisiones de tu voluntad pudiesen servir como preceptos de una legislación universal (E. Kant)


Arriba
 Perfil  
 
 Asunto: Re: Tiempo real
NotaPublicado: 29 Dic 2013 06:43 
Desconectado
Betatester
Betatester
Avatar de Usuario

Registrado: 09 Feb 2012 20:33
Mensajes: 855
Bueno poniendo un aviso al inicio de la aventura indicando que el juego es en tiempo real y que no es recomendable cambiarlo, pues creo que bastaría.

Gracias.

_________________
Te quiero... lo siento Yoda sólo tenemos café.


Arriba
 Perfil  
 
 Asunto: Re: Tiempo real
NotaPublicado: 29 Dic 2013 20:28 
Desconectado
Betatester
Betatester
Avatar de Usuario

Registrado: 09 Feb 2012 20:33
Mensajes: 855
A ver si consigo explicarme un poco el problema que tengo.
Ya estoy usando el tiempo real, en la que el personaje según un tiempo determinado suelta una frase al azar.
En un momento dado el personaje está asustado por un sobresalto que ha tenido, activo un temporizador y durante ese tiempo el personaje está asustado.
Al pasar ese tiempo el personaje vuelve a tranquilizarse y ya podemos hablar con él.
Copio código:

Spoiler: Mostrar
Código:
void update ( PropertyEntry pe , World w ){
    int RndSustos;
    int numSustos=4;
    int numCanta=10;

    String[] canta=new String[numCanta];
    String[] sustos=new String[numSustos];
   
    sustos[0]="Ayyy que susto, que asco de pájaro";
    sustos[1]="¡Pero de donde habrá salido ese bicho!";
    sustos[2]="Es que no me lo quito de la cabeza, tan negro y feo";
    sustos[3]="¡Con lo limpio que lo tengo todo, no me explico de por dónde se habrá colado!";

   
    canta[0]="¿Qué tiene la zarzamora que a todas horas llora que lloraaaaaa por los rinconessss?";
    canta[1]="ella que siempre reíaaaaa y presumíaaaaa de que partía los corazoneeeeeees";
    canta[2]="En el café de levante entre palmas y alegríaaaaa cantaba la zarzamora";
    canta[3]="se lo pusieron de mote porque dicen que teniaaaaaa los ojos como la mora";
    canta[4]="Le habló primero a un tratante, y olé, y luego fue de un Marques";
    canta[5]="que la lleno de brillantes, y olé, de la cabeza a los pies";
    canta[6]="De un querer hizo la prueba y un cariño conoció";
    canta[7]="que la trae y que la lleva por la calle del dolor";
    canta[8]="Los flamencos del colmado la vigilan a deshoraaaaa";
    canta[9]="porque se han empestillado en saber del querer desgraciado que embrujo a la zarzamora";

    RndSustos=world.getRandom().nextInt(numSustos);
    RndCanta=world.getRandom().nextInt(numCanta);

    //el lanzador de frases
    if ( equals( pe.getName(), "mensajes") ) {
        //miramos las propieddes a true
        if (get(self, "asustada")) {
            //mobile("jugador").write("\n");
            self.say(sustos[RndSustos]);
        }
        else if (get(self, "cantando")) {
            //mobile("jugador").write("\n");
            world.getMessages().setNextMessage("someone.says.something", "Eugenia cantando \"$text\".\n");
            self.say(canta[RndCanta]);
            world.getMessages().setMessage("someone.says.something", "Eugenia dice \"$text\".\n");                       
        }
        // reiniciamos el contador
        setTime(self, "mensajes", 30);
        end();       
    }

    //miramos si ha llegado a cero el tiempo que está asustada eugenia
    if ( equals ( pe.getName() , "asustada" ) ) {
        //mejor que no empiece a cantar hasta dentro de un ratín
        set(self, "cantando", false);
        setTime(self, "cantando", 30);
        set(self, "asustada", false);
        self.say("ayy ya se me pasó el susto señor Pedro, menos mal");
        Thread.sleep(4000);       
        end();       
        }
    // vuelve a cantar
    if (equals(pe.getName(), "cantando") && !get(self, "cantando")) { set(self, "cantando", true); }
   

} // fin update


Vale he pegao un trozo de código y diréis ¿y esto qué es? Uno de los problema que tengo es con la propiedad "asustada", cuando esta llega a cero debería imprimir:
"ayy ya se me pasó el susto señor Pedro, menos mal"

Peeero me lo imprime dos veces, pego tal y como lo imprime la aventura y lo comento entre medias:

Código:
!!!Estos mensajes los va lanzando cuando el personaje está asustado
Eugenia dice "¡Pero de donde habrá salido ese bicho!".
Eugenia dice "¡Con lo limpio que lo tengo todo, no me explico de por dónde se habrá colado!".
Eugenia dice "Ayyy que susto, que asco de pájaro".

!!!Aquí la propiedad asustada llego a cero e imprime dos veces el mensaje ??????
Eugenia dice "ayy ya se me pasó el susto señor Pedro, menos mal".
Eugenia dice "ayy ya se me pasó el susto señor Pedro, menos mal".


Coloqué la instrucción : Thread.sleep(4000); después de imprimir el mensaje, pensando que era un problema del temporizador, y de consumo de unidades de tiempo, pero ya lo he puesto a 4 segundos y sigue igual. Se imprime dos veces y no consigo saber el porqué....

bueno no sé si más o menos he conseguido explicarme...

Gracias de todas formas!

_________________
Te quiero... lo siento Yoda sólo tenemos café.


Arriba
 Perfil  
 
 Asunto: Re: Tiempo real
NotaPublicado: 29 Dic 2013 20:49 
Desconectado
Betatester
Betatester
Avatar de Usuario

Registrado: 09 Feb 2012 20:33
Mensajes: 855
Vale lo siento por liar a la gente, me autorespondo... faltaba poner el time de esa propiedad a -1.

Código:
setTime(self, "asustada", -1);


Solucionado.

_________________
Te quiero... lo siento Yoda sólo tenemos café.


Arriba
 Perfil  
 
 Asunto: Re: Tiempo real
NotaPublicado: 10 Ene 2014 12:47 
Desconectado
Betatester
Betatester
Avatar de Usuario

Registrado: 09 Feb 2012 20:33
Mensajes: 855
edlobez escribió:

Spoiler: Mostrar
Código:
void update ( PropertyEntry pe , World w ){
    int RndSustos;
    int numSustos=4;
    int numCanta=10;

    String[] canta=new String[numCanta];
    String[] sustos=new String[numSustos];
   
    sustos[0]="Ayyy que susto, que asco de pájaro";
    sustos[1]="¡Pero de donde habrá salido ese bicho!";
    sustos[2]="Es que no me lo quito de la cabeza, tan negro y feo";
    sustos[3]="¡Con lo limpio que lo tengo todo, no me explico de por dónde se habrá colado!";

   
    canta[0]="¿Qué tiene la zarzamora que a todas horas llora que lloraaaaaa por los rinconessss?";
    canta[1]="ella que siempre reíaaaaa y presumíaaaaa de que partía los corazoneeeeeees";
    canta[2]="En el café de levante entre palmas y alegríaaaaa cantaba la zarzamora";
    canta[3]="se lo pusieron de mote porque dicen que teniaaaaaa los ojos como la mora";
    canta[4]="Le habló primero a un tratante, y olé, y luego fue de un Marques";
    canta[5]="que la lleno de brillantes, y olé, de la cabeza a los pies";
    canta[6]="De un querer hizo la prueba y un cariño conoció";
    canta[7]="que la trae y que la lleva por la calle del dolor";
    canta[8]="Los flamencos del colmado la vigilan a deshoraaaaa";
    canta[9]="porque se han empestillado en saber del querer desgraciado que embrujo a la zarzamora";

    RndSustos=world.getRandom().nextInt(numSustos);
    RndCanta=world.getRandom().nextInt(numCanta);

    //el lanzador de frases
    if ( equals( pe.getName(), "mensajes") ) {
        //miramos las propieddes a true
        if (get(self, "asustada")) {
            //mobile("jugador").write("\n");
            self.say(sustos[RndSustos]);
        }
        else if (get(self, "cantando")) {
            //mobile("jugador").write("\n");
            world.getMessages().setNextMessage("someone.says.something", "Eugenia cantando \"$text\".\n");
            self.say(canta[RndCanta]);
            world.getMessages().setMessage("someone.says.something", "Eugenia dice \"$text\".\n");                       
        }
        // reiniciamos el contador
        setTime(self, "mensajes", 30);
        end();       
    }

    //miramos si ha llegado a cero el tiempo que está asustada eugenia
    if ( equals ( pe.getName() , "asustada" ) ) {
        //mejor que no empiece a cantar hasta dentro de un ratín
        set(self, "cantando", false);
        setTime(self, "cantando", 30);
        set(self, "asustada", false);
        self.say("ayy ya se me pasó el susto señor Pedro, menos mal");
        Thread.sleep(4000);       
        end();       
        }
    // vuelve a cantar
    if (equals(pe.getName(), "cantando") && !get(self, "cantando")) { set(self, "cantando", true); }
   

} // fin update





Recupero este mensaje para comentar algo que hablé con Al-K en el IRC. El problema es que el PSI sigue cantando y me explico, en el código anterior en las líneas:
Código:
 else if (get(self, "cantando")) {
            //mobile("jugador").write("\n");
            world.getMessages().setNextMessage("someone.says.something", "Eugenia cantando \"$text\".\n");
            self.say(canta[RndCanta]);
            world.getMessages().setMessage("someone.says.something", "Eugenia dice \"$text\".\n");                       
        }


Cuando llega el tiempo establecido el personaje suelta una frase de la canción:
Eugenia cantando "que la trae y que la lleva por la calle del dolor".

Tenía el problema que alguna veces, cuando el PSI nos tenía que decir algo seguía "cantándolo":
Eugenia cantando dice "Buenas señor Pedro". !!Aquí no está saludando y nos canta.

Por el IRC comentamos de cambiar la línea:
Código:
 world.getMessages().setNextMessage("someone.says.something", "Eugenia cantando \"$text\".\n");

por
Código:
 world.getMessages().setMessage("someone.says.something", "Eugenia cantando \"$text\".\n");


La cambié y en principio parecía solucionado, pero sigue cantando cuando no toca. Pensaba que justo el PSI nos decía una frase cuando se cumple el tiempo de cantar la frase. Por lo que me he creado una función "dice":

Código:
//función de hablar de los personajes
void dice (String text) {
    world.getMessages().setMessage("someone.says.something", "$1 dice \"$text\".\n"); 
    self.say(text);
}


De tal forma que en lugar de la función predefinida "say" de cada personaje, las he cambiado todas por "dice", sin embargo sigue cantando.... y ye me he perdido.
Te paso un log:
>> decir a eugenia "que le pasa al reloj de la pared"
Dices "Señora Eugenia, el reloj de la portería ¿se ha estropeado?".
Eugenia cantando dice "Parece que sí señor Pedro. Esta mañana al llegar me di cuenta, ayer funcionaba. En cuanto tenga un momento libre lo pondré en hora". !!! ESTA FRASE LA CANTA Y NO SÉ PORQUÉ
Eugenia cantando "Le habló primero a un tratante, y olé, y luego fue de un Marques". !!!ESTA FRASE ESTÁ BIEN LA DEBE CANTAR

No sé porqué me canta la frase respuesta del reloj, si el mensaje lo suelta llamando a la función "dice" que establece el mensaje por defecto.

:(

PD: Verás en el código que te he pegado está aún la función "say", pero es que el código lo he recuperado del mensaje anterior. Te paso el actual:

Spoiler: Mostrar
Código:
void update ( PropertyEntry pe , World w ){
   
    int RndSustos;
    int RndCanta;
    int numSustos=4;
    int numCanta=10;

    // sustoAnterior=0;
    // canteAnterior=0

    String[] canta=new String[numCanta];
    String[] sustos=new String[numSustos];
   
    sustos[0]="Ayyy que susto, que asco de pájaro";
    sustos[1]="¡Pero de donde habrá salido ese bicho!";
    sustos[2]="Es que no me lo quito de la cabeza, tan negro y feo";
    sustos[3]="¡Con lo limpio que lo tengo todo, no me explico de por dónde se habrá colado!";

   
    canta[0]="¿Qué tiene la zarzamora que a todas horas llora que lloraaaaaa por los rinconessss?";
    canta[1]="ella que siempre reíaaaaa y presumíaaaaa de que partía los corazoneeeeeees";
    canta[2]="En el café de levante entre palmas y alegríaaaaa cantaba la zarzamora";
    canta[3]="se lo pusieron de mote porque dicen que teniaaaaaa los ojos como la mora";
    canta[4]="Le habló primero a un tratante, y olé, y luego fue de un Marques";
    canta[5]="que la lleno de brillantes, y olé, de la cabeza a los pies";
    canta[6]="De un querer hizo la prueba y un cariño conoció";
    canta[7]="que la trae y que la lleva por la calle del dolor";
    canta[8]="Los flamencos del colmado la vigilan a deshoraaaaa";
    canta[9]="porque se han empestillado en saber del querer desgraciado que embrujo a la zarzamora";

    //que no repita el mismo mensaje, el siguiente siempre difierente
    do {
        RndSustos=world.getRandom().nextInt(numSustos);
        } while (RndSustos==sustoAnterior);
    sustoAnterior=RndSustos;
       
   
    do {
        RndCanta=world.getRandom().nextInt(numCanta);
        } while (RndCanta==canteAnterior);
    canteAnterior=RndCanta;
   
   

    //el lanzador de frases
    if ( equals( pe.getName(), "mensajes") ) {
        //miramos las propieddes a true
        if (get(self, "asustada")) {
            //mobile("jugador").write("\n");
            self.dice(sustos[RndSustos]);
        }
        else if (get(self, "cantando")) {
            //mobile("jugador").write("\n");
            world.getMessages().setMessage("someone.says.something", "Eugenia cantando \"$text\".\n");
            self.say(canta[RndCanta]);
            world.getMessages().setMessage("someone.says.something", "$1 dice \"$text\".\n");                       
        }
        // reiniciamos el contador
        setTime(self, "mensajes", 100);
        end();       
    }

    //miramos si ha llegado a cero el tiempo que está asustada eugenia
    if ( equals ( pe.getName() , "asustada" ) ) {
        //mejor que no empiece a cantar hasta dentro de un ratín
        set(self, "cantando", false);
        setTime(self, "cantando", 30);
        set(self, "asustada", false);
        setTime(self, "asustada", -1);
        self.dice("ayy ya se me pasó el susto señor Pedro, menos mal");             
        end();       
        }
    // vuelve a cantar
    if (equals(pe.getName(), "cantando") && !get(self, "cantando")) { set(self, "cantando", true); }
   

} // fin update

_________________
Te quiero... lo siento Yoda sólo tenemos café.


Arriba
 Perfil  
 
 Asunto: Re: Tiempo real
NotaPublicado: 10 Ene 2014 13:22 
Desconectado
Samudio
Samudio
Avatar de Usuario

Registrado: 09 Mar 2004 16:16
Mensajes: 5268
Ubicación: Coruña
Pues así a ojo no veo cuál puede ser el problema. ¿Puedes poner el código donde se responde a lo del reloj? (donde se le manda decir a Eugenia lo de "Parece que sí señor Pedro. Esta mañana al llegar me di cuenta (...)")? Ése creo que no lo has pegado, e igual el problema está ahí.

P.D.: creo que sería más sencillo que el estado por defecto del mensaje fuera "dice", y que en vez de hacer la función "dice" hubieras hecho la función "canta", que cambiara el mensaje a "canta", llamara a "say" y volviera a cambiar el mensaje a "dice" (qué lío de palabras, pero espero que se entienda :D) En todo caso, esto es sólo una observación, lo que tienes me parece que debería funcionar... así que pon ese código que falta a ver si saco algo en claro.

_________________
Actúa siempre de tal modo que las decisiones de tu voluntad pudiesen servir como preceptos de una legislación universal (E. Kant)


Arriba
 Perfil  
 
 Asunto: Re: Tiempo real
NotaPublicado: 10 Ene 2014 15:34 
Desconectado
Betatester
Betatester
Avatar de Usuario

Registrado: 09 Feb 2012 20:33
Mensajes: 855
Vale, creo que he visto algo de luz... ahora no tengo el código a mano, a ver si en un rato me "escaqueo" me lo descargo le hecho una miradita y lo pego.

Con respecto a la función "dice" o "canta", también, era más sencillo, pero he creado esa función "dice", ya que tenía intención de ampliarla en el sentido que aceptara algún parámetro más y en función de él cambiara el color de salida de texto o el mensaje, por ejemplo que fuera:

Código:
void dice (String texto, int estado) {
 
      switch (estado) {
              case 1: //enfadado imprimir la salida de texto en rojo
                         //y que diera también eco de pantalla Personaje dice enfadado "Estoy muy enfadado"
                        ...... codigo....
               case 2: //alegre, salida de texto en azul
                         //Personaje dice con un sonrisa en la cara "Estoy muy alegre"
               
               default: //Personaje dice "y tu que miras"
             .......
              }
}


Estoy improvisando sobre la marcha, pero era más o menos lo que tenía pensado. Podía incluir también el "cantar" aquí, mmmm se me acaba de ocurrir.

_________________
Te quiero... lo siento Yoda sólo tenemos café.


Arriba
 Perfil  
 
 Asunto: Re: Tiempo real
NotaPublicado: 10 Ene 2014 20:24 
Desconectado
Betatester
Betatester
Avatar de Usuario

Registrado: 09 Feb 2012 20:33
Mensajes: 855
Nada, ni idea, pensaba que más o menos había visto algo pero nada, te paso el código del reloj, aunque me pasa con todos los objetos. Te paso la función que da la respuesta del reloj.

Spoiler: Mostrar
Código:
Void respuestas(Mobile PNJ, String args) {
   
    switch (PNJ) {
        case mobile("eugenia"): //mobile("jugador").write("le preguntamos a eugenia por el reloj.\n");
                                if (!get(PNJ, "temaReloj")) {
                                    set(PNJ, "temaReloj", true);
                                    mobile("jugador").digo("Señora Eugenia, el reloj de la portería ¿se ha estropeado?");
                                    Thread.sleep(2000);
                                    mobile("eugenia").dice("Parece que sí señor Pedro. Esta mañana al llegar me di cuenta, ayer funcionaba. En cuanto tenga un momento libre lo pondré en hora.");
                                    end();
                                }
                                mobile("jugador").digo("Señora Eugenia, el reloj de la portería sigue parado a las 3:33");
                                Thread.sleep(2000);
                                mobile("eugenia").dice("Si señor Pedro, ya me lo ha dicho, en cuanto tenga tiempo lo pondré en hora.");
                                end();
               
                               
                               
   
        default: return "Sobre eso no tengo nada que decirle.";
                 end();
    }
   
}

_________________
Te quiero... lo siento Yoda sólo tenemos café.


Arriba
 Perfil  
 
 Asunto: Re: Tiempo real
NotaPublicado: 10 Ene 2014 20:34 
Desconectado
Betatester
Betatester
Avatar de Usuario

Registrado: 09 Feb 2012 20:33
Mensajes: 855
edlobez escribió:
Nada, ni idea, pensaba que más o menos había visto algo pero nada, te paso el código del reloj, aunque me pasa con todos los objetos. Te paso la función que da la respuesta del reloj.

Spoiler: Mostrar
Código:
Void respuestas(Mobile PNJ, String args) {
   
    switch (PNJ) {
        case mobile("eugenia"): //mobile("jugador").write("le preguntamos a eugenia por el reloj.\n");
                                if (!get(PNJ, "temaReloj")) {
                                    set(PNJ, "temaReloj", true);
                                    mobile("jugador").digo("Señora Eugenia, el reloj de la portería ¿se ha estropeado?");
                                    Thread.sleep(2000);
                                    mobile("eugenia").dice("Parece que sí señor Pedro. Esta mañana al llegar me di cuenta, ayer funcionaba. En cuanto tenga un momento libre lo pondré en hora.");
                                    end();
                                }
                                mobile("jugador").digo("Señora Eugenia, el reloj de la portería sigue parado a las 3:33");
                                Thread.sleep(2000);
                                mobile("eugenia").dice("Si señor Pedro, ya me lo ha dicho, en cuanto tenga tiempo lo pondré en hora.");
                                end();
               
                               
                               
   
        default: PNJ.say("Sobre eso no tengo nada que decirle"); //Corregida
                 end();
    }
   
}


Lo vuelvo a enviar corregido hay un bug en la última línea, en el default.

_________________
Te quiero... lo siento Yoda sólo tenemos café.


Arriba
 Perfil  
 
 Asunto: Re: Tiempo real
NotaPublicado: 10 Ene 2014 21:04 
Desconectado
Betatester
Betatester
Avatar de Usuario

Registrado: 09 Feb 2012 20:33
Mensajes: 855
Doy permiso a todos los integrantes del CAAD que han segido este hilo a que me cortéis las manos para dejar de dar la lata intentando programar una aventura.

Ya encontré el porqué mi PSI sólo hacía más que cantar y cantar....

En los nombre singulares de referencia de este PSI tenía puesto:

Código:
Cuando !get(self, "asustada"): Eugenia cantando (nombre propio)


Por lo que mi PSI no es cantase cuando no venía a cuento, es que cantando era su apellido...

Lo siento.
: (

_________________
Te quiero... lo siento Yoda sólo tenemos café.


Arriba
 Perfil  
 
 Asunto: Re: Tiempo real
NotaPublicado: 10 Ene 2014 22:24 
Desconectado
Samudio
Samudio
Avatar de Usuario

Registrado: 09 Mar 2004 16:16
Mensajes: 5268
Ubicación: Coruña
Juas, no te preocupes, esos fallos tontos en programación nos pasan a todos.

_________________
Actúa siempre de tal modo que las decisiones de tu voluntad pudiesen servir como preceptos de una legislación universal (E. Kant)


Arriba
 Perfil  
 
Mostrar mensajes previos:  Ordenar por  
Nuevo tema Responder al tema  [ 14 mensajes ] 

Todos los horarios son UTC + 1 hora


¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 3 invitados


No puede abrir nuevos temas en este Foro
No puede responder a temas en este Foro
No puede editar sus mensajes en este Foro
No puede borrar sus mensajes en este Foro

Buscar:
Saltar a:  
Desarrollado por phpBB® Forum Software © phpBB Group
Traducción al español por Huan Manwë para phpBB-Es.COM