Seite 1 von 2

Gäste die nichts schreiben in anderen raum verschieben

Verfasst: 01.11.2010, 19:13
von harry2109
Hallo ich habe da mal ne frage gibt es ne möglichkeit Gäste die ich sage mal 10min nichts schreiben automatisch in einen anderen raum zu verschieben(moven) würde mich da über hilfe freuen Gruß Harry2109

Re: Gäste die nichts schreiben in anderen raum verschieben

Verfasst: 02.11.2010, 13:10
von Maxs
So, ich hab mal das Script geschrieben ;)
Script:Zeigen

Code: Alles auswählen

var guestroom = "Guests"; //Raum, in den der Gast verschoben werden soll
var movetime = 600000; //Wie lange darf der Gast nichts schreiben, bis er verschoben wird (in Millisekunden, 10 Minuten = 600000)
var smyText = ""; //Nicht ändern!

function moveGuest() {
  if (myStatus == 0 && getRoom() != guestroom) {
    mtime = window.setTimeout("sendeText('/join "+guestroom+"', myNick);", movetime);
    moveintv = window.setInterval("checkGuestMsg()", 500); 
  } else {
    window.setTimeout("moveGuest()", 10000);
  }
}

function checkGuestMsg() {
  var tds = document.getElementsByTagName("td");
  if (typeof(tds[tds.length-1]) != "undefined" && tds[tds.length-1].innerHTML.match(/\d\d:\d\d/i)) {
    var myLine = lineData(tds[tds.length-1]);
    if (myLine[2] == myNick && myLine[3] != smyText) {
      smyText = myLine[3];
      window.clearTimeout(mtime);
      window.clearInterval(moveintv);
      moveGuest();
    }
  }
}

moveGuest();
Ganz oben in dem Script musst du wahrscheinlich noch was anpassen:
var guestroom = "Guests"; //Raum, in den der Gast verschoben werden soll
Das Guests muss in den Raum umbenannt werden, in den du den Gast schieben möchtest.
var movetime = 600000; //Wie lange darf der Gast nichts schreiben, bis er verschoben wird (in Millisekunden, 10 Minuten = 600000)
Die Zahl 600000 zeigt die Millisekunden an. Innerhalb dieser Zeit muss der Gast etwas geschrieben haben, damit er nicht verschoben wird. Schreibt er in dieser Zeit etwas, fängt die Zeitspanne an, wieder von vorne zu laufen. 600000 sind 10 Minuten. Falls du Probleme hast, Minuten in Millisekunden umzurechnen, hilft dir wahrscheinlich folgende Seite weiter: http://www.convertworld.com/de/zeit/Millisekunden.html
Befindet sich der Gast außerdem nach einer Verschiebung im Gastraum und wechselt dann wieder in einen anderen Raum, fängt die Zeit wieder von vorne an.
Übrigens fängt die Zeit nicht nochmal von vorne an, wenn der Gast einfach immer genau das selbe schreibt. Schreibt der Gast z.B. alle 5 Minuten genau diesen Satz: "hallo", dann wird, wenn er das zum ersten mal schreibt, die Zeit zurückgesetzt, doch wenn er irgendwann innerhalb der 10 Minuten nocheinmal oder auch mehrmals nur das Wort "hallo" pro Chatzeile schreibt, wird die Zeit nicht zurückgesetzt. Er muss also auch mal in der Zeit was anderes schreiben, z.B. so etwas wie "hallo du".

Dieses Script musst du als JS-Datei abspeichern und das muss dann in die Gästeankündigung (3. Ankündigung):
<script type="text/javascript" src="URL-ZUM-SCRIPT"></script>
URL-ZUM-SCRIPT natürlich in den jeweiligen Link zum Script ändern.


Falls du das Script ganz in die Ankündigung setzen möchtest, dann nimm das (natürlich auch in die Gästeankündigung, also die dritte):
Script:Zeigen
<script type="text/javascript">var guestroom="Guests";var movetime=600000;var smyText="";function moveGuest(){if(myStatus==0&&getRoom()!=guestroom){mtime=window.setTimeout("sendeText('/join "+guestroom+"',myNick);",movetime);moveintv=window.setInterval("checkGuestMsg()",500);}else{window.setTimeout("moveGuest()",10000);}}function checkGuestMsg(){var tds=document.getElementsByTagName("td");if(typeof(tds[tds.length-1])!="undefined"&&tds[tds.length-1].innerHTML.match(/\d\d:\d\d/i)){var myLine=lineData(tds[tds.length-1]);if(myLine[2]==myNick&&myLine[3]!=smyText){smyText=myLine[3];window.clearTimeout(mtime);window.clearInterval(moveintv);moveGuest();}}}moveGuest();</script>
Das farbige wie oben ändern.

Bei beiden Varianten wird die Grundscriptsammlung vorausgesetzt!

Re: Gäste die nichts schreiben in anderen raum verschieben

Verfasst: 02.11.2010, 15:25
von harry2109
Danke Maxs für die schnelle arbeit werde es gleich testen
Harry2109

Re: Gäste die nichts schreiben in anderen raum verschieben

Verfasst: 02.11.2010, 15:49
von harry2109
Danke Maxs super script funzt bestens im ie und ff Gruß Harry2109

Re: Gäste die nichts schreiben in anderen raum verschieben

Verfasst: 02.11.2010, 19:53
von Mogli
Ich hätte jetzt mal eine Frage: Wozu braucht man diese Funktion? Ich meine, der Timeout ist 20 Min. Dann fliegt der Gast sowieso. Und ob er jetzt 20 Min. (außer vielleicht ein "Hallo") nix schreibt ist doch egal. Wenn er nichts schreibt, dann stört der Gast ja nicht. Mir leuchtet der Sinn der Funktion nicht ganz ein! *grübel*lächel* :?:

Re: Gäste die nichts schreiben in anderen raum verschieben

Verfasst: 02.11.2010, 20:30
von Maxs
Damit die lieben Scripter in diesem Forum etwas zu tun haben ;)
Nene, da musst du harry2109 fragen :mrgreen:

Gäste und Benutzer im Schlaff Raum verschieben nach 10min?

Verfasst: 05.11.2010, 15:11
von RDJ
Wie mach ich dann wenn ich das bei Gäste und Benutzer machen will wie muss der Code dann sein... und wo muss ich den Code einfügen?

Re: Gäste die nichts schreiben in anderen raum verschieben

Verfasst: 05.11.2010, 16:17
von 1. FC Keller
Suche folgende Zeile heraus:

Code: Alles auswählen

if (myStatus == 0 && getRoom() != guestroom) {
dort setzt du statt der 0 eine 1 ein. Es muss also so aussehn:

Code: Alles auswählen

if (myStatus == 1 && getRoom() != guestroom) {
Das Script muss dann sowohl in der Gastankündigung als auch in der für registrierte User (also erste und dritte im Admin-Menü) eingefügt werden. Ansonsten bleibt alles wie von Maxs beschrieben.

Re: Gäste die nichts schreiben in anderen raum verschieben

Verfasst: 05.08.2012, 16:06
von Partyboy
Eine Frage zu dem Script kann man denn auch umschreiben das man auch normale User die nicht schreiben in ein anderen Raum verschieben kann ich meine Die sich im Chat angemeldet haben und die nicht als gast drin sind
<script type="text/javascript">var guestroom="Guests";var movetime=600000;var smyText="";function moveGuest(){if(myStatus==0&&getRoom()!=guestroom){mtime=window.setTimeout("sendeText('/join "+guestroom+"',myNick);",movetime);moveintv=window.setInterval("checkGuestMsg()",500);}else{window.setTimeout("moveGuest()",10000);}}function checkGuestMsg(){var tds=document.getElementsByTagName("td");if(typeof(tds[tds.length-1])!="undefined"&&tds[tds.length-1].innerHTML.match(/\d\d:\d\d/i)){var myLine=lineData(tds[tds.length-1]);if(myLine[2]==myNick&&myLine[3]!=smyText){smyText=myLine[3];window.clearTimeout(mtime);window.clearInterval(moveintv);moveGuest();}}}moveGuest();</script>

Re: Gäste die nichts schreiben in anderen raum verschieben

Verfasst: 05.08.2012, 16:15
von ZischDings
Wie das Script auch für registrierte Chatter funktioniert, hat 1. FC Keller doch direkt vor Deinem Beitrag beschrieben...

Re: Gäste die nichts schreiben in anderen raum verschieben

Verfasst: 05.08.2012, 16:24
von Partyboy
So muss das Richtig sein oder gibs zu auch ein Chat befehl der normale Chat befehl ist ja /move nick und raum

Wird der User nach 10min im anderen Raum verschoben
automatisch.
<script type="text/javascript">var guestroom="Guests";var movetime=600000;var smyText="";function moveGuest(){if(myStatus==1&&getRoom()!=guestroom){mtime=window.setTimeout("sendeText('/join "+guestroom+"',myNick);",movetime);moveintv=window.setInterval("checkGuestMsg()",500);}else{window.setTimeout("moveGuest()",10000);}}function checkGuestMsg(){var tds=document.getElementsByTagName("td");if(typeof(tds[tds.length-1])!="undefined"&&tds[tds.length-1].innerHTML.match(/\d\d:\d\d/i)){var myLine=lineData(tds[tds.length-1]);if(myLine[2]==myNick&&myLine[3]!=smyText){smyText=myLine[3];window.clearTimeout(mtime);window.clearInterval(moveintv);moveGuest();}}}moveGuest();</script>

Re: Gäste die nichts schreiben in anderen raum verschieben

Verfasst: 06.08.2012, 14:40
von Maxs
Hey!
Partyboy hat geschrieben:So muss das Richtig sein oder gibs zu auch ein Chat befehl der normale Chat befehl ist ja /move nick und raum
Ja, so ist das richtig. Nein, es gibt keinen Chatbefehl, der extra angelegt werden muss. "/join" ist in jedem Chat schon automatisch enthalten.
Partyboy hat geschrieben:Wird der User nach 10min im anderen Raum verschoben
automatisch.
Dafür ist das Script doch geschrieben worden. :wink:

Re: Gäste die nichts schreiben in anderen raum verschieben

Verfasst: 06.08.2012, 16:04
von Partyboy
Und wo genau kann ich das ändern ich möchte es ja so haben wenn man nach 10 min nichts schreibt im chat dann soll der im raum Abwesendraum verschoben werden,und wo stellt man das nach 10 min im code

Gruß Markus

Re: Gäste die nichts schreiben in anderen raum verschieben

Verfasst: 06.08.2012, 16:56
von Maxs
Wie oben geschrieben sind standardmäßig 10 Minuten eingestellt, du brauchst also nichts ändern.

Re: Gäste die nichts schreiben in anderen raum verschieben

Verfasst: 06.08.2012, 17:01
von Partyboy
Ich habe ja denn Code in der Ankündigung drin so dann logg ich mich mit mein test nick ein warte 10 min

dann leitet der mich einfach auf http://monsterradio.ucoz.de/ dieser Seite der verschiebt kein im anderen raum
immer kommt diese Seite http://monsterradio.ucoz.de/

kann ja wohl eigentlich nicht sein da stimmt mir dem Code was nicht