Recordad que para pedir soporte alguno, debéis facilitar los datos de soporte oportunos por favor, mirad aquí y leer las Normas generales del foro, esto nos servirá de ayuda para dar el mejor soporte..

Gracias.

La Administración de phpBB España.

BBcode 2 Cuenta Atrás independientes en mismo post.

Dudas sobre BBCodes personalizados


0
No hay votos
 
Votos totales: 0

Belcegor
Observador/a
Mensajes: 29
Registrado: 27 Feb 2013, 00:32

BBcode 2 Cuenta Atrás independientes en mismo post.

#1

Mensaje por Belcegor »

URL: http://colosos.hol.es/Foro
Versión phpBB: phpBB3 (3.0.11)
MODs Instalados: Board3 Portal v2.0.1
NV advanced last topic titles v1.3.2
Temas Recientes v1.0.5
Thanks for Posts v1.3.5
Colorized Unread Links
Advanced BBcode Box 3.3.0.12
Plantilla(s) usada(s): Prosilver
Servidor: Hostinger.es - pues no se si es windows o linux, pero es gratuíto
Actualización desde otra versión: No
Conversión desde otro sistema de foros: No

Espero que esté todo.
Mi problema es que he conseguido un BBcode que me pone una cuenta atrás o regresiva y funciona perfectamente.
Pero lo quiero usar 2 veces en el mismo post.
Me explico, el foro es para un guild de un juego de golf online, en este juego se realizan eventos, los anuncian con anterioridad y lo que yo quisiera es poner una cuenta regresiva desde que anuncian el evento hasta que se inicia y otra para cuando finalice el evento.
El BBcode me va de lujo para poner solo 1 cuenta, he probado varias cosas pero no me funciona una segunda vez en el post.

Pongo el BBcode en este spoiler.
SPOILER_SHOW
Uso BBcode

[descuento]{SIMPLETEXT1},{SIMPLETEXT2},{SIMPLETEXT3},{SIMPLETEXT4},{SIMPLETEXT5}[/descuento]


Reemplazo HTML

<SCRIPT TYPE="text/javascript" LANGUAGE="JavaScript">
<!-- //start
//######################################################################################
// Author: ricocheting.com
// For: public release (freeware)
// Date: 4/24/2003 (update: 5/24/2006)
// Description: displays the amount of time until the "dateFuture" entered below.

// NOTE: the month entered must be one less than current month. ie; 0=January, 11=December
// NOTE: the hour is in 24 hour format. 0=12am, 15=3pm etc
// format: dateFuture = new Date(year,month-1,day,hour,min,sec)
// example: dateFuture = new Date(2003,03,26,14,15,00) = April 26, 2003 - 2:15:00 pm

dateFuture = new Date({SIMPLETEXT1},{SIMPLETEXT2},{SIMPLETEXT3},{SIMPLETEXT4},{SIMPLETEXT5});

// TESTING: comment out the line below to print out the "dateFuture" for testing purposes
//document.write(dateFuture +"<br />");


//###################################
//nothing beyond this point
function GetCount(){

dateNow = new Date(); //grab current date
amount = dateFuture.getTime() - dateNow.getTime(); //calc milliseconds between dates
delete dateNow;

// time is already past
if(amount < 1){
document.getElementById('countbox').innerHTML="EVENTO FINALIZADO";
}
// date is still good

else{
days=0;hours=0;mins=0;secs=0;out="";

amount = Math.floor(amount/1000);//kill the "milliseconds" so just secs

days=Math.floor(amount/86400);//days
amount=amount%86400;

hours=Math.floor(amount/3600);//hours
amount=amount%3600;

mins=Math.floor(amount/60);//minutes
amount=amount%60;

secs=Math.floor(amount);//seconds

if(days != 0){out += days +" dia"+((days!=1)?"s":"")+", ";}
if(days != 0 || hours != 0){out += hours +" hora"+((hours!=1)?"s":"")+", ";}
if(days != 0 || hours != 0 || mins != 0){out += mins +" minuto"+((mins!=1)?"s":"")+", ";}
out += secs +" segundos";
document.getElementById('countbox').innerHTML=out;

setTimeout("GetCount()", 1000);
}
}

window.onload=function(){GetCount();}//call when everything has loaded

//-->
</script>
<div align="center" style="background-color:red">
<font size="5" face="trebuchet ms" color="white" font=weight: bold>
FINALIZA EN:<div id="countbox"></div>
</font>
</div>

Línea de Ayuda

[descuento]año,mes-1,dia,hora,minutos[/descuento]
Soy novato en esto de los foros, pero de momento me las voy apañando. He probado a repetir el BBcode con otro nombre y nada falla, he probado a retocar todas las variables que he llegado a reconocer añadiendoles la letra b. Por ejemplo datenow pasaría a ser datenowb, pero nada, he probado a intentar hacerlo en 1 solo BBcode pero nada.
No he sido capaz, a ver si me podéis echar una mano, no debe de ser demasiado complicado creo yo, ya que tenemos el BBcode que funciona, solo hay que conseguír que me permita usarlo dos veces con distinta fecha a la vez en un mismo post de manera que me indique con una cuenta atras el tiempo que falta para que el evento comienze y otra cuenta atrás indicando el tiempo que falta para que el evento finalice.

Espero que esté correcto el post, si no es así perdonadme y decidme que he de hacer para dejarlo correcto.

Gracias por la ayuda que me podáis prestar.

Gracias por moverlo a su sitio adecuado
Última edición por Belcegor el 26 Mar 2013, 13:23, editado 1 vez en total.


URL: http://colosos.hol.es/Foro
Versión phpBB: phpBB3 (3.0.11)
MODs Instalados: Board3 Portal v2.0.1
[tab=126]Colorized Unread Links
[tab=126]Advanced BBcode Box 3.3.0.12
[tab=126]AutoMod 1.0.2
[tab=126]MChat 1.3.5
[tab=126]Activity Stats 1.0.0
Plantilla(s) usada(s): Prosilver
Servidor: Hostinger.es - linux - gratuíto
Actualización desde otra versión: No
Conversión desde otro sistema de foros: No
Base de Datos limpiada con STK


Enlace:
BBCode:
HTML:

Ocultar enlaces al mensaje
Mostrar enlaces al mensaje
Belcegor
Observador/a
Mensajes: 29
Registrado: 27 Feb 2013, 00:32

Re: Dudas con un BBcode Cuenta Atrás o Regresiva.

#2

Mensaje por Belcegor »

¿Nada? :( :( :(
URL: http://colosos.hol.es/Foro
Versión phpBB: phpBB3 (3.0.11)
MODs Instalados: Board3 Portal v2.0.1
[tab=126]Colorized Unread Links
[tab=126]Advanced BBcode Box 3.3.0.12
[tab=126]AutoMod 1.0.2
[tab=126]MChat 1.3.5
[tab=126]Activity Stats 1.0.0
Plantilla(s) usada(s): Prosilver
Servidor: Hostinger.es - linux - gratuíto
Actualización desde otra versión: No
Conversión desde otro sistema de foros: No
Base de Datos limpiada con STK


Enlace:
BBCode:
HTML:

Ocultar enlaces al mensaje
Mostrar enlaces al mensaje
Belcegor
Observador/a
Mensajes: 29
Registrado: 27 Feb 2013, 00:32

Re: Dudas con un BBcode Cuenta Atrás o Regresiva.

#3

Mensaje por Belcegor »

Lo mismo me da un bbcode nuevo que me sirva para lo que quiero, estoy buscando como loco por google y no encuentro nada.
Cuentas Atrás hay muchas, no todas me funcionan y las que lo hacen no me dan lo que necesito.

Si no se puede modificar para usarlo 2 veces en un mismo post, ¿al menos sabríais como modificarlo para poder marcarle la hora y que no se acoja a la hora local?
Me explico, es un problema de diferencias horarias. Como coge hora local, a mi me marca correctamente pero a otros usuarios con hora local distinta, les marca mal.

Sigo a la espera, gracias.
URL: http://colosos.hol.es/Foro
Versión phpBB: phpBB3 (3.0.11)
MODs Instalados: Board3 Portal v2.0.1
[tab=126]Colorized Unread Links
[tab=126]Advanced BBcode Box 3.3.0.12
[tab=126]AutoMod 1.0.2
[tab=126]MChat 1.3.5
[tab=126]Activity Stats 1.0.0
Plantilla(s) usada(s): Prosilver
Servidor: Hostinger.es - linux - gratuíto
Actualización desde otra versión: No
Conversión desde otro sistema de foros: No
Base de Datos limpiada con STK


Enlace:
BBCode:
HTML:

Ocultar enlaces al mensaje
Mostrar enlaces al mensaje
Belcegor
Observador/a
Mensajes: 29
Registrado: 27 Feb 2013, 00:32

Re: Dudas con un BBcode Cuenta Atrás o Regresiva.

#4

Mensaje por Belcegor »

Bueno, he encontrado este script que me funciona más acorde con lo que busco. En él puedo definir la franja horaria.
SPOILER_SHOW
<script language="JavaScript">
TargetDate = "04/01/2013 23:59 UTC-0700";
BackColor = "yellow";
ForeColor = "red";
CountActive = true;
CountStepper = -1;
LeadingZero = true;
DisplayFormat = "%%D%% Días, %%H%% Horas, %%M%% Minutos, %%S%% Segundos.";
FinishMessage = "Ha terminado la cuenta atrás";
</script>
<script language="JavaScript" src="http://scripts.hashemian.com/js/countdown.js"></script>
Yo soy un lerdo en esto de la programación.
Solo quisiera saber si me podeis solucionar el introducir yo los campos necesarios en vez de definirlos directamente dentro del script, o sea, poner fecha, hora, franja horaraia, untexto a mostrar encima de la cuenta atrás y un texto para cuando finalice la cuenta.

Un breve comentario de como modificar el tamaño y color del texto para adaptarlos al primer bbcode de arriba ya que los 2 funcionan sin problemas conjuntamente en un mismo post.

Y para el bbcode de arriba con modificarlo para poder seleccionar la franja horaria me sería suficiente o bien modificar este para que muestre 2 cuentas atrás con sus correspondientes textos.

Gracias por todo.
URL: http://colosos.hol.es/Foro
Versión phpBB: phpBB3 (3.0.11)
MODs Instalados: Board3 Portal v2.0.1
[tab=126]Colorized Unread Links
[tab=126]Advanced BBcode Box 3.3.0.12
[tab=126]AutoMod 1.0.2
[tab=126]MChat 1.3.5
[tab=126]Activity Stats 1.0.0
Plantilla(s) usada(s): Prosilver
Servidor: Hostinger.es - linux - gratuíto
Actualización desde otra versión: No
Conversión desde otro sistema de foros: No
Base de Datos limpiada con STK


Enlace:
BBCode:
HTML:

Ocultar enlaces al mensaje
Mostrar enlaces al mensaje
Belcegor
Observador/a
Mensajes: 29
Registrado: 27 Feb 2013, 00:32

Re: Dudas con un BBcode Cuenta Atrás o Regresiva.

#5

Mensaje por Belcegor »

Al final tanto va el cántaro a la fuente.....
Bueno, creo que lo tengo o casi lo tengo.
A falta de comprobar si a los de otra zona horaria les marca correctamente la hora, de momento he conseguido hacer que se vean 2 cuentas atrás distintas en un mismo post sin problemas.

Os dejo el BBcode aquí por si a alguien le viene bien o si le veis fallos.
SPOILER_SHOW
Uso del BBcode:



Reemplazo HTML:
<script type="text/javascript">
dateFuture1 = new Date({SIMPLETEXT1},{SIMPLETEXT2},{SIMPLETEXT3},{SIMPLETEXT4},{SIMPLETEXT5});
dateFuture2 = new Date({SIMPLETEXT6},{SIMPLETEXT7},{SIMPLETEXT8},{SIMPLETEXT9},{SIMPLETEXT10});

//set this to the number of hours offset from GMT
tzOffset = -7;

dx = dateFuture1.toGMTString();
dx = dx.substr(0,dx.length -3);
tzCurrent=(dateFuture1.getTimezoneOffset()/60)*-2;
dateFuture1.setTime(Date.parse(dx))
dateFuture1.setHours(dateFuture1.getHours() + tzCurrent - tzOffset);

//set this to the number of hours offset from GMT
tzOffset = -7;

dx = dateFuture2.toGMTString();
dx = dx.substr(0,dx.length -3);
tzCurrent=(dateFuture2.getTimezoneOffset()/60)*-2;
dateFuture2.setTime(Date.parse(dx))
dateFuture2.setHours(dateFuture2.getHours() + tzCurrent - tzOffset);

function GetCount(ddate,iid){

dateNow = new Date(); //grab current date
amount = ddate.getTime() - dateNow.getTime(); //calc milliseconds between dates
delete dateNow;

// if time is already past
if(amount < 0){
document.getElementById(iid).innerHTML="¡Ya!";
}
// else date is still good
else{
days=0;hours=0;mins=0;secs=0;out="";

amount = Math.floor(amount/1000);//kill the "milliseconds" so just secs

days=Math.floor(amount/86400);//days
amount=amount%86400;

hours=Math.floor(amount/3600);//hours
amount=amount%3600;

mins=Math.floor(amount/60);//minutes
amount=amount%60;

secs=Math.floor(amount);//seconds

if(days != 0){out += days +" "+((days==1)?"dia":"dias")+", ";}
if(hours != 0){out += hours +" "+((hours==1)?"hora":"horas")+", ";}
out += mins +" "+((mins==1)?"min":"mins")+", ";
out += secs +" "+((secs==1)?"seg":"segs")+", ";
out = out.substr(0,out.length-2);
document.getElementById(iid).innerHTML=out;

setTimeout(function(){GetCount(ddate,iid)}, 1000);
}
}

window.onload=function(){
GetCount(dateFuture1, 'countbox1');
GetCount(dateFuture2, 'countbox2');
};

</script>
<div align="center" style="background-color:red">
<font size="5" face="trebuchet ms" color="white" font=weight: bold>
FINALIZA EN:<div id="countbox1"></div>
</font>
</div>
<BR />
<div align="center" style="background-color:red">
<font size="5" face="trebuchet ms" color="white" font=weight: bold>
FINALIZA EN:<div id="countbox2"></div>
</font>
</div>


Línea de ayuda:
Primero la fecha de comienzo y después la fecha de finalización.
Este BBcode no es mío, yo solo me he vuelto loco buscando correcciones sobre él y al final parece que más o menos lo tengo.

Vale, falla con el tema de la hora.

Ya no se por donde meterle más mano, el tema es que el script trabaje con la misma hora para todos, o sea, en mi caso me interesaría GMT -7 que es la que usa el servidor del juego.
¿Pero como hacer para que trabaje con la misma hora para todos?
Encontre un trozo de código que parecía que lo solucionaba, pero nada, no me funciona, a ver si alguien sabe como resolverlo. No parece ser lo más complicado del tema, se supone que sería sacar la hora GMT +0 usando la hora local de cada equipo, restarle 7 y con el resultado poner en marcha la cuenta atrás.
Pero yo no tengo ni pajolera de como hacer eso, no tengo ni idea e programación. A ver si alguien lo sabe.

Gracias por todo.
URL: http://colosos.hol.es/Foro
Versión phpBB: phpBB3 (3.0.11)
MODs Instalados: Board3 Portal v2.0.1
[tab=126]Colorized Unread Links
[tab=126]Advanced BBcode Box 3.3.0.12
[tab=126]AutoMod 1.0.2
[tab=126]MChat 1.3.5
[tab=126]Activity Stats 1.0.0
Plantilla(s) usada(s): Prosilver
Servidor: Hostinger.es - linux - gratuíto
Actualización desde otra versión: No
Conversión desde otro sistema de foros: No
Base de Datos limpiada con STK


Enlace:
BBCode:
HTML:

Ocultar enlaces al mensaje
Mostrar enlaces al mensaje
Belcegor
Observador/a
Mensajes: 29
Registrado: 27 Feb 2013, 00:32

Re: Dudas con un BBcode Cuenta Atrás o Regresiva.

#6

Mensaje por Belcegor »

Bueno, al final lo conseguí.
Me ha costado lo indecible pero al final lo he hecho, sacando pedazos de código de varios sitios y experimentando con ellos al final funciona como es debido.
He probado el BBcode cambiando varias zonas horarias en mi pc y siempre se muestra correctamente con lo que yo buscaba.
En mi caso busco GMT-7, que en milisegundos son -25.200.000.
Si alguien lo quiere para una zona horaria distinta solo ha de calcular el valor en milisegundos y cambiarlo por el que tiene puesto el bbcode.

Os dejo aquí el BBcode:
SPOILER_SHOW
Uso del BBcode:



Reemplazo HTML:
<script type="text/javascript">
dateFuture1 = new Date({SIMPLETEXT1},{SIMPLETEXT2},{SIMPLETEXT3},{SIMPLETEXT4},{SIMPLETEXT5});
dateFuture2 = new Date({SIMPLETEXT6},{SIMPLETEXT7},{SIMPLETEXT8},{SIMPLETEXT9},{SIMPLETEXT10});



function GetCount(ddate,iid){

d = new Date(); //grab current date
utc = d.getTime() + ((d.getTimezoneOffset() * 60000) + -25200000); // GMT-7 = -25200000 en milisegundos, cambiar este valor por el que necesites en milisegundos, positivo o negativo segun zona horaria.
amount = ddate.getTime() - utc; //calc milliseconds between dates
delete d;

// if time is already past
if(amount < 0){
document.getElementById(iid).innerHTML="¡Ya!";
}
// else date is still good
else{
days=0;hours=0;mins=0;secs=0;out="";

amount = Math.floor(amount/1000);//kill the "milliseconds" so just secs

days=Math.floor(amount/86400);//days
amount=amount%86400;

hours=Math.floor(amount/3600);//hours
amount=amount%3600;

mins=Math.floor(amount/60);//minutes
amount=amount%60;

secs=Math.floor(amount);//seconds

if(days != 0){out += days +" "+((days==1)?"dia":"dias")+", ";}
if(hours != 0){out += hours +" "+((hours==1)?"hora":"horas")+", ";}
out += mins +" "+((mins==1)?"min":"mins")+", ";
out += secs +" "+((secs==1)?"seg":"segs")+", ";
out = out.substr(0,out.length-2);
document.getElementById(iid).innerHTML=out;

setTimeout(function(){GetCount(ddate,iid)}, 1000);
}
}

window.onload=function(){
GetCount(dateFuture1, 'countbox1');
GetCount(dateFuture2, 'countbox2');
};

</script>
<div align="center" style="background-color:blue">
<font size="5" face="trebuchet ms" color="white" font=weight: bold>
COMIENZA EN:<div id="countbox1"></div>
</font>
</div>
<BR />
<div align="center" style="background-color:red">
<font size="5" face="trebuchet ms" color="white" font=weight: bold>
FINALIZA EN:<div id="countbox2"></div>
</font>
</div>


Línea de ayuda:
Siempre mes-1, ej. marzo seria 02, primera fecha la de inicio, segunda fecha la finalización.

Espero que sea de utilidad para alguien, porque me ha costado la vida hacerlo ir, para otros sera un paseo, pero recuerdo que no se programar jajajaja.
Gracias por todo.
URL: http://colosos.hol.es/Foro
Versión phpBB: phpBB3 (3.0.11)
MODs Instalados: Board3 Portal v2.0.1
[tab=126]Colorized Unread Links
[tab=126]Advanced BBcode Box 3.3.0.12
[tab=126]AutoMod 1.0.2
[tab=126]MChat 1.3.5
[tab=126]Activity Stats 1.0.0
Plantilla(s) usada(s): Prosilver
Servidor: Hostinger.es - linux - gratuíto
Actualización desde otra versión: No
Conversión desde otro sistema de foros: No
Base de Datos limpiada con STK


Enlace:
BBCode:
HTML:

Ocultar enlaces al mensaje
Mostrar enlaces al mensaje
Belcegor
Observador/a
Mensajes: 29
Registrado: 27 Feb 2013, 00:32

Re: BBcode 2 Cuenta Atrás independientes en mismo post.

#7

Mensaje por Belcegor »

Ya sabia yo que todo parecía demasiado bonito.
Hay un fallo, si bien no es grande, es importante.
Pero ya para eso me veo yo incapaz de solucionarlo.
Hay que añadir de alguna manera una comprobación para los horarios de verano e invierno.
Y ahí ya me veo totalmente incapaz de hacerlo.
Espero que alguien pueda echarme una mano.


Pues a rectificar toca, resulta que la hora que me daba de descuadre con Sudamérica viene dada por que la hora del servidor ha entrado en PDT, o sea que han adelantado ya la hora, y yo volviéndome loco con el tema.
De momento y hasta ver como queda la cosa cuando adelantemos hora en España el BBcode va perfecto.

Gracias por anticipado.
URL: http://colosos.hol.es/Foro
Versión phpBB: phpBB3 (3.0.11)
MODs Instalados: Board3 Portal v2.0.1
[tab=126]Colorized Unread Links
[tab=126]Advanced BBcode Box 3.3.0.12
[tab=126]AutoMod 1.0.2
[tab=126]MChat 1.3.5
[tab=126]Activity Stats 1.0.0
Plantilla(s) usada(s): Prosilver
Servidor: Hostinger.es - linux - gratuíto
Actualización desde otra versión: No
Conversión desde otro sistema de foros: No
Base de Datos limpiada con STK


Enlace:
BBCode:
HTML:

Ocultar enlaces al mensaje
Mostrar enlaces al mensaje

Volver a “❓ Dudas sobre BBCode”