Seite 1 von 1

Verlassen eines Raumes verbieten

Verfasst: 09.11.2010, 18:28
von BlackGeneration
Hallo und ich bin neu hier,

ich suche einen Script, womit man in einem bestimmten Chatraum den Befehl /join RAUM sperren kann. Ich habe einen Chatraum namens "Strafe" eingerichtet, damit ich da ein stördenden Spamer erstmal verwarnen kann (dahin verschieben zuerst) bevor ich zu knebeln/kicken oder gar bannen anfange. Ich bin sehr gutmütig und will jedem neue Chancen geben! Nur leider passiert es mir dann immer wieder, dass sie per Befehl /join wieder abhauen..! Kann man das irgendwie verhindern? Also nur für den Chatraum "Strafe" . Ich habe bis jetzt folgendes Script im Raumthema stehen:
Script:Zeigen
<script type="text/javascript">parent.ChannelFrame.document.body.innerHTML = 'Gesperrt!';</script> <script type="text/javascript">window.setTimeout("parent.ChannelFrame.document.body.innerHTML = \"Gesperrt!\"", 1000);</script>
Das Pulldown-Menü ist dadurch gesperrt. Aber den Befehl /join ? Wie geht das ? Wäre für jede Antwort sehr dankbar. 8)


Schöne Grüße..



EDIT: Könnte man das mit einem Script auch hinbekommen, dass nur Admins und Mods diesen Chatraum "Strafe" betreten können und die Nicknamen wo da hinein geschubst werden? Sonst keiner ? Weil wir werden jetzt auch von anderen gestört, wenn wir in Ruhe die Sache regeln.. Aber nur wenn es möglich ist wäre sehr sehr dankbar :)

Re: Script gesucht

Verfasst: 18.11.2010, 15:31
von 1. FC Keller
Mit diesem Script wird eine Fehlermeldung in die Eingabezeile geschrieben sobald man versucht "/join strafe" von einem anderen Raum aus oder nur "/join" aus dem Raum "Strafe" heraus einzugeben. Zusammen mit deinem Raumthema-Script zum Überschreiben des Raumauswahl-Frames dürfte es dann schon relativ schwierig werden aus dem Raum auszubrechen (wobei man natürlich immer den Chat einfach verlassen kann).
Dieses Script muss in eine JS-Datei oder den Scriptmanager bei wktools

Code: Alles auswählen

function checkStrafe(){
  if(myStatus>1)window.clearInterval(strafeInterval);
  var m=parent.info.document.eingabe.message
  if(getRoom().toLowerCase()=="strafe"){
    if(m.value.match(/^\/join/i))m.value='JOIN ist in diesem Raum gesperrt!';
  }else if(m.value.match(/\/join\s+strafe/i)){
    m.value="IN DIESEN RAUM DARF NICHT GEWECHSELT WERDEN";
  }
}
var strafeInterval=window.setInterval(checkStrafe, 50);
Wenn du eine js-Datei verwendest muss diese wie immer in die erste und dritte Ankündigung eingebunden werden:

Code: Alles auswählen

<script type='text/javascript' src='http://deineseite.de/deineJSDatei.js'></script>

Re: Verlassen eines Raumes verbieten

Verfasst: 06.04.2011, 09:11
von T935
Ich hätte da noch eine Frage? Derzeit verwende ich ein Scrip, wo mir zum knebeln/bannen zwei Buttons in der Online-Liste vor den Nicknames angezeigt werden. Ich würde gern den Knebel-Button umschreiben, damit er mir automatisch /move name channel ausgibt. Ist das möglich?
Habe schon versucht ein bisschen zu experimentieren, finde aber nicht die korrekte Stelle wo es umgeschrieben werden müsste. Hier das Script:
Script:Zeigen
<script type="text/javascript">function schreibeKneb(){knebelBild="URL KNEBEL BILD" ; divs = parent.rightFrame.document.getElementsByTagName("div"); for(i=0;i<divs.length;i++){ if(divs.id && divs.id != "" && !divs.innerHTML.match(knebelBild)){ parent.rightFrame.document.getElementsByTagName("div").innerHTML = "<img src='"+knebelBild+"' onclick='parent.info.document.eingabe.message.value = \"\/knebel "+divs.id+" \"'>"+divs.innerHTML;}}} window.setInterval("schreibeKneb()", 1000); </script>


Ansonsten vielen Dank! Das Script hier war genau das, was ich suchte!

Re: Verlassen eines Raumes verbieten

Verfasst: 06.04.2011, 09:17
von 1. FC Keller
Damit sollte es klappen:
Script:Zeigen
siehe hamigras Code direkt unter meinem
Edit: Thx hami, deine Version ist auf jeden Fall besser.

Re: Verlassen eines Raumes verbieten

Verfasst: 06.04.2011, 09:51
von hamigra
Warum nicht die Funktionen des Scriptes umschreiben? Wenn das von DG gepostete Script verwendet wird kann es zum Knebeln nicht mehr verwendet werden.
Hier das umgeschriebene Script zum moven:
Script:Zeigen
<script type="text/javascript">function schreibeMove(){movebild="http://url-zum-bild" ; divs = parent.rightFrame.document.getElementsByTagName("div"); for(i=0;i<divs.length;i++){ if(divs.id && divs.id != "" && !divs.innerHTML.match(movebild)){ parent.rightFrame.document.getElementsByTagName("div").innerHTML = "<img src='"+movebild+"' onclick='parent.info.document.eingabe.message.value = \"\/move "+divs.id+" channel\"'>"+divs.innerHTML;}}} window.setInterval("schreibeMove()", 1000); </script>
Zu ändern ist das url-zum-bild
und bei channel ist der Raum einzutragen in welchen der User gemovt werden soll.

Re: Verlassen eines Raumes verbieten

Verfasst: 06.04.2011, 10:27
von T935
Das klappt schon mal super! Danke sehr.

Mein Problem ist, dass ich die Online-Liste ein Tick breiter haben müsste um alle 3 *Knöpfe* [bann, knebel, move] bei längeren Nicknames unterzubringen.Ich habe schon die Foren-Suche bemüht,aber nichts gefunden.
Alternativ werde ich mich von einer Funktion einfach verabschieden.
Kurz gesagt: supi, vielen Dank nochmal!

Re: Verlassen eines Raumes verbieten

Verfasst: 06.04.2011, 10:48
von ZischDings
huhu :)

onlineliste verbreitern ist kein problem, hast du nicht in der scriptübersicht geguckt? ;-)
1. FC Keller hat geschrieben:Folgendes in der Ankündigung sollte euere Wünsche erfüllen:

Code: Alles auswählen

<script language="javascript">framesets=parent.document.getElementsByTagName("frameset");for(i in framesets){if(framesets[i].cols=="*,165"){framesets[i].cols="*,300"}}</script>
Original ist die Onlineliste 165 Pixel breit. Die 300 ist die neue Breite... Die könnt ihr auch ändern ;-)
»Quelle«

(wobei 300 in deinem fall zu breit ist, <200 würden vermutlich genügen)

Re: Verlassen eines Raumes verbieten

Verfasst: 06.04.2011, 11:24
von T935
Vielen Dank! Ich muss wohl die falschen Suchbegriffe versucht haben und auf die Übersicht hätte ich wirklich selbst kommen müssen. Aber jetzt klappe alles wunderbar!

Re: Verlassen eines Raumes verbieten

Verfasst: 06.04.2011, 12:55
von hamigra
Wenn du diese 3 Scripte einfügst (Kick, Knebel und Move) dann wird die Reihenfolge der entsprechenden Bilder vor den Nicks in der Onlineliste fast bei jeden der den Chat betritt anders sein.
Nimmst du die 3 Scripte aber zusammengefaßt als js-Datei ist die Reihenfolge bei allen Usern dieselbe.
Hier sind Moven, Knebeln und Kicken in eier js-Datei:
Script:Zeigen
function schreibeMove(){moveBild="http://url-zum-movebild"; divs = parent.rightFrame.document.getElementsByTagName("div"); for(i=0;i<divs.length;i++){ if(divs.id && divs.id != "" && !divs.innerHTML.match(moveBild)){ parent.rightFrame.document.getElementsByTagName("div").innerHTML = "<img src='"+moveBild+"' onclick='parent.info.document.eingabe.message.value = \"\/move "+divs.id+" moveraum\";parent.info.document.eingabe.message.focus();'> "+divs.innerHTML;}}}
function schreibeKnebel(){knebelBild="http://url-zum-knebelbild"; divs = parent.rightFrame.document.getElementsByTagName("div"); for(i=0;i<divs.length;i++){ if(divs.id && divs.id != "" && !divs.innerHTML.match(knebelBild)){ parent.rightFrame.document.getElementsByTagName("div").innerHTML = "<img src='"+knebelBild+"' onclick='parent.info.document.eingabe.message.value = \"\/knebel "+""+divs[i].id+" \";parent.info.document.eingabe.message.focus();'> "+divs[i].innerHTML;}}}
function schreibeKick(){kickBild="http://url-zum-kickbild"; divs = parent.rightFrame.document.getElementsByTagName("div"); for(i=0;i<divs.length;i++){ if(divs[i].id && divs[i].id != "" && !divs[i].innerHTML.match(kickBild)){ parent.rightFrame.document.getElementsByTagName("div")[i].innerHTML = "<img src='"+kickBild+"' onclick='parent.info.document.eingabe.message.value = \"\/kick "+""+divs[i].id+" \";parent.info.document.eingabe.message.focus();'> "+divs[i].innerHTML;}}}
window.setInterval("schreibeKick(); schreibeKnebel(); schreibeMove();", 1000);
Zu ändern wieder die Url zu den Bildern und der Raum in dem gemovt werden soll.
Die Reihenfolge, in der die Bilder stehen sollen wird bei
window.setInterval("schreibeKick(); schreibeKnebel(); schreibeMove();", 1000); festgelegt.

Re: Verlassen eines Raumes verbieten

Verfasst: 19.04.2011, 22:36
von T935
Kann es sein, dass sich dieses Script mit dem "Schriftfarbe ändern"-Script nicht verträgt?
Das folgende Problem besteht seit Einbau dieses Scriptes hier:
A, B und C sind im Chat.
A wechselt die Schriftfarbe.
B und C haben beim nächsten Login genau die Schriftfarbe von A.

Das ist unabhängig von Browser und Betriebssystem bei verschiedenen Personen aufgetaucht.

Re: Verlassen eines Raumes verbieten

Verfasst: 20.04.2011, 12:06
von hamigra
Eine Unverträglichkeit dieser beiden Scripte ist nicht bekannt.
Ich kann es aber auch nicht testen, da ich das Script zum Schriftfarbe ändern ablehne. Ich persönlich finde es abartig wenn jeder sich seine Scriftfarbe aussuchen kann und mit zum Teil 10 verschiedenen Farben geschrieben wird. Den Augen tut so etwas bestimmt nicht gut.
Aber das ist nur meine Meinung! :wink: