Countdown

Fragen zu HTML, CSS, eigenen Erweiterungen etc.
InvaderX
Beiträge: 49
Registriert: 21.08.2009, 00:10

Re: Countdown

Ungelesener Beitrag von InvaderX » 23.10.2009, 12:01

Das ist ganz einfach, du brauchst den Chatbefehl nur in die Scripting - Engine rein machen und schon kannst nur du als Admin den Befehl nutzen auführen.

Benutzeravatar
Linus
Moderator
Beiträge: 1124
Registriert: 14.02.2005, 20:31
Wohnort: NRW
Kontaktdaten:

Re: Countdown

Ungelesener Beitrag von Linus » 23.10.2009, 12:20

@hamigra

Code: Alles auswählen

<script language="javascript">if(myStatus>2){id=parseInt(Math.random()*1000);parent.rightFrame.document.body.innerHTML='<div id="cd-'+id+'"><\/div>'+parent.rightFrame.document.body.innerHTML;var ez=Date.parse(new Date)+(parseInt(strip_tags('%user%'))*1000);cd(id, ez);}else{document.write("versucht, einen Countdown zu starten");}</script>
Hierzu muss allerdings die Funktion ebenfalls verändert werden (verkürzt), wiel man sonst mit den Zeichen im Chatbefehl nicht auskommt. Die Funktion lautet also:

Code: Alles auswählen

function cd(cdID, ez){
   var jetztZeit=Date.parse(new Date());
   a=parseInt((ez-jetztZeit)/1000);
   h=parseInt(a/3600);
   min=parseInt((a/60)-60*h);   
   sec=a%60;
   h=h<10?("0"+h):h;
   min=min<10?("0"+min):min;
   sec=sec<10?("0"+sec):sec;
   parent.rightFrame.document.getElementById("cd-"+cdID).innerHTML=h+":"+min+":"+sec;
   if(a>0){
      setTimeout("cd("+cdID+", "+ez+")", 100);
   }else{
      parent.rightFrame.document.getElementById("cd-"+cdID).style.display="none";
      alert("Countdown abgelaufen!");
   }
}
Es wurde nur der Funktionsname und die Feld-ID geändert, damit man im Chatbefehl zusätzlich Platz sparen kann.

InvaderX
Beiträge: 49
Registriert: 21.08.2009, 00:10

Re: Countdown

Ungelesener Beitrag von InvaderX » 23.10.2009, 13:01

Mir ist grad was aufgefallen und zwar wenn der Countdown läuft geht das Nickmenü nicht mehr. Und kann man vieleicht die Chat-Variable "%me%" mit einbauen damit man weiß wer den Countdown gestartet hat und der Name sollte nach ablauf mit dem Countdown wieder verschwinden. Hoffe ich überfordere dich nicht Linus :lol:

1. FC Keller
Moderator
Beiträge: 866
Registriert: 04.07.2004, 17:10
Wohnort: heimat:// Thüringen.Deutschland.eu/ Zeulenroda
Kontaktdaten:

Re: Countdown

Ungelesener Beitrag von 1. FC Keller » 23.10.2009, 13:06

linus, ich glaube da ist ein kleiner denkfehler drin...
if(myStatus>2) - das sagt dass der Countdown nur bei Admins angezeigt wird... es ging doch aber wenn ich es richtig verstanden habe eher darum, dass nur Admins einen Countdown starten können sollen, der dann aber bei allen angezeigt wird.

Benutzeravatar
Linus
Moderator
Beiträge: 1124
Registriert: 14.02.2005, 20:31
Wohnort: NRW
Kontaktdaten:

Re: Countdown

Ungelesener Beitrag von Linus » 23.10.2009, 14:39

Puh... Da ist was dran... Sowas verwechsel ich gerne mal :(

@ %me%: Geht, hab ich auch gerade gebastelt :)

JS:

Code: Alles auswählen

function cd(cdID, ez, name){
   var jetztZeit=Date.parse(new Date());
   a=parseInt((ez-jetztZeit)/1000);
   h=parseInt(a/3600);
   min=parseInt((a/60)-60*h);   
   sec=a%60;
   h=h<10?("0"+h):h;
   min=min<10?("0"+min):min;
   sec=sec<10?("0"+sec):sec;
   parent.rightFrame.document.getElementById("cd-"+cdID).innerHTML=name+": "+h+":"+min+":"+sec;
   if(a>0){
      setTimeout("cd("+cdID+", "+ez+", '"+name+"')", 100);
   }else{
      parent.rightFrame.document.getElementById("cd-"+cdID).style.display="none";
      alert("Countdown von "+name+" abgelaufen!");
   }
}
Chatbefehl:

Code: Alles auswählen

<script language="javascript">id=parseInt(Math.random()*1000);parent.rightFrame.document.body.innerHTML='<div id="cd-'+id+'"><\/div>'+parent.rightFrame.document.body.innerHTML;var ez=Date.parse(new Date)+(parseInt(strip_tags('%user%'))*1000);cd(id, ez, strip_tags('%me%'));</script>

InvaderX
Beiträge: 49
Registriert: 21.08.2009, 00:10

Re: Countdown

Ungelesener Beitrag von InvaderX » 23.10.2009, 15:00

genau sowas thx :D

Benutzeravatar
hamigra
Beiträge: 567
Registriert: 31.08.2006, 16:02
Wohnort: Werdau
Kontaktdaten:

Re: Countdown

Ungelesener Beitrag von hamigra » 23.10.2009, 15:29

Meine Frage hab ich von diesem Script abgeleitet:

Code: Alles auswählen

<script language="javascript">if(["hamigra"].inArray(strip_tags('%me%'))){document.write('<img src="http://url-zum-bild">')}</script>
Somit kann nur ICH ein Bild einfügen welches aber ALLE sehen können, obwohl das ein globaler Chatbefehl ist.

InvaderX
Beiträge: 49
Registriert: 21.08.2009, 00:10

Re: Countdown

Ungelesener Beitrag von InvaderX » 24.10.2009, 12:44

Ich bin auf der suche nach ner alternativen anzeige möglichkeit, da das Nickmenü ja außer gefecht gesetzt wird. Habe versucht es im Raumwahl bereich unter zu bringen hat auch geklappt hab einfach aus rightFrame ChannelFrame 4mal gemacht. Nur in diesem Bereich gibt es anscheinend keine Scrollleiste warum auch ^^

Ist es möglich zusätzlich eine einzubauen?

InvaderX
Beiträge: 49
Registriert: 21.08.2009, 00:10

Re: Countdown

Ungelesener Beitrag von InvaderX » 25.10.2009, 18:10

Da ich auf der suche war nach einer altanativen Möglichkeit es wo anders anzeigen zu lassen habe ich es geschaft das es im Eingabeframe angezeigt wird hintereinander und es sieht den Countdown auch nur derjenige der einen gestartet hat. Sowie auch die Meldung erhält nur der den Countdown gestartet hat und man kann auch mehre Countdowns für sich starten. Habe die Version von Linus ein wenig abgeändert auf mein bedürfnisse. Jetzt funktioniert das Nickmenü auf jedenfall wieder wenn ein Countdown läuft.

js Datei

Code: Alles auswählen

function cd(cdID, ez, name){
   var jetztZeit=Date.parse(new Date());
   a=parseInt((ez-jetztZeit)/1000);
   h=parseInt(a/3600);
   min=parseInt((a/60)-60*h);   
   sec=a%60;
   h=h<10?("0"+h):h;
   min=min<10?("0"+min):min;
   sec=sec<10?("0"+sec):sec;
   parent.info.document.getElementById("cd-"+cdID).innerHTML=name+": "+h+":"+min+":"+sec;
   if(a>0){
      setTimeout("cd("+cdID+", "+ez+", '"+name+"')", 100);
   }else{
      parent.info.document.getElementById("cd-"+cdID).style.display="none";
      alert("Countdown von "+name+" abgelaufen!");
   }
}
Chatbefehl

Code: Alles auswählen

<script language="javascript">if(strip_tags('%me%')==myNick){id=parseInt(Math.random()*1000);parent.info.document.body.innerHTML='  <nobr id="cd-'+id+'"><\/nobr>'+parent.info.document.body.innerHTML;var ez=Date.parse(new Date)+(parseInt(strip_tags('%user%'))*60*1000);cd(id, ez, strip_tags('%me%'));}</script>
Bild

John
Beiträge: 9
Registriert: 25.07.2010, 00:02

Re: Countdown

Ungelesener Beitrag von John » 25.07.2010, 00:18

1. FC Keller hat geschrieben:
wenn die Sekunden-Zahl variabel sein soll müsste diese Variante als Chatbefehl funktionieren (in die Ankündigung kommt der gleiche Code wie oben):

Code: Alles auswählen

<script language="javascript">var CountDownID=parseInt(Math.random()*1000); document.write('<span id="countdown'+CountDownID+'"></span>'); var endZeit = Date.parse(new Date)+(parseInt(strip_tags('%user%'))*1000);countDown();</script>
dann könntest du den Countdown per "/chatbefehl ZAHL" starten (ZAHL durch Zeit in Sekunden ersetzen)

ich kann allerdings mangels zeit gerade nicht testen.
Könnte mir bitte jemand dieses Script so umschreiben, dass die Zeit nicht runterläuft, sondern bei 00:01 beginnt zu zählen und so lange läuft wie man will bzw. eventuell auch unenedlich lang.

Das wäre echt cool.

John

Century
Beiträge: 35
Registriert: 21.03.2009, 12:42

Re: Countdown

Ungelesener Beitrag von Century » 26.07.2010, 22:07

Würde mich auch interessieren.

John
Beiträge: 9
Registriert: 25.07.2010, 00:02

Re: Countdown

Ungelesener Beitrag von John » 30.07.2010, 16:19

Kann da jemand helfen? Wäre echt super nett. :P

1. FC Keller
Moderator
Beiträge: 866
Registriert: 04.07.2004, 17:10
Wohnort: heimat:// Thüringen.Deutschland.eu/ Zeulenroda
Kontaktdaten:

Re: Countdown

Ungelesener Beitrag von 1. FC Keller » 02.08.2010, 11:01

Ich kam nicht zum testen... versucht's einfach mal damit:
js Datei

Code: Alles auswählen

function cu(cuID, sz, name){
   var jetztZeit=Date.parse(new Date());
   a=parseInt((jetztZeit-sz)/1000);
   h=parseInt(a/3600);
   min=parseInt((a/60)-60*h);   
   sec=a%60;
   h=h<10?("0"+h):h;
   min=min<10?("0"+min):min;
   sec=sec<10?("0"+sec):sec;
   parent.info.document.getElementById("cu-"+cuID).innerHTML=name+": "+h+":"+min+":"+sec;
   setTimeout("cu("+cuID+", "+sz+", '"+name+"')", 100);
}
Chatbefehl

Code: Alles auswählen

<script language="javascript">if(strip_tags('%me%')==myNick){id=parseInt(Math.random()*1000);parent.info.document.body.innerHTML='  <nobr id="cu-'+id+'"><\/nobr>'+parent.info.document.body.innerHTML;var sz=Date.parse(new Date); cu(id, sz, strip_tags('%me%'));}</script>

Benutzeravatar
hamigra
Beiträge: 567
Registriert: 31.08.2006, 16:02
Wohnort: Werdau
Kontaktdaten:

Re: Countdown

Ungelesener Beitrag von hamigra » 02.08.2010, 11:46

Als Countup klappt es, aber es hat einige Nachteile.
1. Im IE bleibt nach dem Start eines Counters das Geschriebene in der Eingabezeile stehen, im FF nicht!
2. Der Countup läßt sich nicht stoppen, er läuft im Chatstream ganz links unten unendlich weiter bis zu einem reconnect, aber er bleibt auch nach dem reconnect unten sichtbar - er läuft lediglich nicht weiter.
3. Wenn der Countup mehrmals gestartet wird, steht er auch mehrmals nebeneinander. Ich hab ihn als Beispiel 4 mal im Abstand von 20 Sekunden gestartet
Bild

Ich weiß nicht ob es gewollt ist, aber den Countup sieht nur der, der ihn gestartet hat.

John
Beiträge: 9
Registriert: 25.07.2010, 00:02

Re: Countdown

Ungelesener Beitrag von John » 07.08.2010, 17:15

hamigra hat geschrieben:Als Countup klappt es, aber es hat einige Nachteile.
1. Im IE bleibt nach dem Start eines Counters das Geschriebene in der Eingabezeile stehen, im FF nicht!
2. Der Countup läßt sich nicht stoppen, er läuft im Chatstream ganz links unten unendlich weiter bis zu einem reconnect, aber er bleibt auch nach dem reconnect unten sichtbar - er läuft lediglich nicht weiter.
3. Wenn der Countup mehrmals gestartet wird, steht er auch mehrmals nebeneinander. Ich hab ihn als Beispiel 4 mal im Abstand von 20 Sekunden gestartet
Bild

Ich weiß nicht ob es gewollt ist, aber den Countup sieht nur der, der ihn gestartet hat.
Sollte bitte jeder sehen können. :-) :-)

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste