Badwordscript verursacht Fehler bei reconnect

Script-Generatoren und -Manager sowie vereinfachte Chat-Verwaltung.
keine
Beiträge: 72
Registriert: 09.05.2004, 20:13
Kontaktdaten:

Badwordscript verursacht Fehler bei reconnect

Ungelesener Beitrag von keine » 01.04.2015, 01:02

Ich wollte dieses Script eigentlich heute für einen Aprilscherz benutzen, um bestimmte Wörter zu vertauschen, die oft benutzt werden. Allerdings klappt das nicht richtig, also die Funktion geht zwar, die Wörter werden korrekt ersetzt. Allerdings wenn ich bei aktiviertem Badwordscript reconnect mache erscheint bei mir das hier in der Eingabezeile:

<font color=deeppink>test</font>

Im Chat wird nix ausgegeben. Egal wie oft ich probiere und es bleibt auch in der Eingabezeile stehen, allerdings nützt löschen auch nix, kommt direkt wieder. Hatte dann mein Schript zum Farbeändern mal rausgenommen, weil es für mich am logischsten war dass es damit zu tun hatte (meine Schriftfarbe ist aktuell deeppink). Dieses hab ich aber direkt in der Ankündigung drinnen, nicht bei wktools. Hab das dann rausgenommen. Konnte dann zwar schreiben, so dass es im Chat ausgegeben wird, aber der Text blieb in der Eingabezeile stehen. Das ist dann natürlich auch nicht das wahre, jedesmal den Text rauszulöschen, also nicht nur für mich sondern auch für die User (an mir lliegts nicht, eine Userin hatte das gestern auch schon als ich das testen wollte)

Jetzt weiß ich allerdings nicht mehr woran es noch liegen könnte, meine andern Scripts können damit nix zu tun haben, hab auch sonst nur wenige drinnen. Woran kann das liegen? An den Wörtern selbst oder wie ist das möglich dass dieses Script einen Einfluss auf reconnect hat? Wie schon gesagt tritt der Fehler dann auf wenn man reconnect gemacht hat und das wird ja oft im Chat benutzt.

Ich hoffe man kann mir möglichst bald helfen, denn ich brauche das ja als Aprilscherz und hab daher nur den einen Tag.

Hier ist noch mein Ankündigungstext, falls dort doch noch was zu finden ist, was nicht passt:
Script:Zeigen

Code: Alles auswählen

<font color="#FF0000" face="comic sans ms" size="3"><b><span onclick="javascript: repClick('willkommen')" style="cursor: pointer;"><img src="http://server2.webkicks.de/chatandfun/replacer/willkommen.gif"></span> im Chat %user%</b></font> <span onclick="javascript: repClick('wink')" style="cursor: pointer;"><img src="http://server2.webkicks.de/chatandfun/replacer/wink.gif"></span><script>
//
//
// ------ BEGINN - FRAMES ------ </script>
<div style="background-color:#000000"><hr color="#ff0000" size="1">
<iframe src="http://www.chatandfun.lima-city.de/chat-clips.html" frameborder="0" width="1050" height="265"></iframe>
<iframe src="http://www.chatandfun.lima-city.de/chat-info.html" frameborder="0" width="1050" height="338"></iframe>
<hr color="#ff0000" size="1"></div><script>
// ------ ENDE - FRAMES ------
//
//
//
//
//
// ------ BEGINN - SCRIPTE ------
//
//
// SCRIPT - Grundscriptsammlung
</script>
<script type="text/javascript" src="/grundscripts.js"></script><script>
//
//
// SCRIPT - WKtools
</script><script type='text/javascript'>document.write('<script type="text/javascript" src="'+(p=location.protocol)+'//'+(p=='https:'?'ssl-account.com/':'')+'wktools.net/hostedScripts/allScripts_2_chatandfun.js?'+Math.random()+'"><'+'/script>');</script><script>
//
//
// SCRIPT - Countdown
</script><script type="text/javascript">function addframe(){parent.rightFrame.document.body.innerHTML='<iframe src="http://free.timeanddate.com/countdown/i3sqcjsd/n83/cf12/cm0/cu4/ct0/cs0/ca0/co1/cr0/ss0/cacf00/cpcf00/pct/tcfff/fs95/szw256/szh108/tatTime%20left%20to%20Start%206x18/tacf00/tptTime%20since%206x18/tpcf00/iso2015-04-17T02:00:00" frameborder="0" width="150" height="43"></iframe>'+ parent.rightFrame.document.body.innerHTML;} setTimeout('addframe()',2000)</script><script>
//
//
// SCRIPT - User-Icons
</script><script type="text/javascript">var IconUser = []; var IconAdressen = ["http://www.chatandfun.lima-city.de/symbol/wiki.gif", "http://www.chatandfun.lima-city.de/symbol/teufel.gif"]; IconUser[0]=["keine", "sweety", "Loving", "Nasenbaer", "robert1", "Pommi"]; IconUser[1]=["DelenaForever", "marijke", "Fiona", "Sasu", "Einfach_Ich", "Sahnchen", "KlausElijahFan"]; function OlSetIcons(){ if(IconAdressen.length != IconUser.length){alert("Anzahl der Eintraege ungleich!"); return;} for(i=0;i<IconUser.length;i++){for(j=0;j<IconUser[i].length;j++){ if(parent.rightFrame.document.getElementById(IconUser[i][j]) && parent.rightFrame.document.getElementById(IconUser[i][j]).innerHTML.search(IconAdressen[i]) == -1){ with(parent.rightFrame.document.getElementById(IconUser[i][j])){innerHTML = innerHTML+"<img src='"+IconAdressen[i]+"'>"; }}}}} window.setInterval("OlSetIcons()", 2000) </script><script>
//
//
// SCRIPT - Strich Away
</script><script language="JavaScript">function streicheAway(){a=parent.rightFrame.document.getElementsByTagName("i"); for(i=0;i<a.length;i++){a[i].style.textDecoration="line-through";}} window.setInterval('streicheAway();', 1000);</script><script>
//
//
// SCRIPT - Farbe Away
</script><script language="JavaScript">function faerbeAway(){a=parent.rightFrame.document.getElementsByTagName("i"); for(i=0;i<a.length;i++){a[i].style.color="#A9A9A9";}} window.setInterval('faerbeAway();', 1000);</script><script>
//
//
// SCRIPT - Autoscroll
</script><script type="text/javascript">parent.info.document.forms[0].AutoScroll.checked = false;</script><script>
//
//
// SCRIPT - Raumname
</script><script type='text/javascript'>function renameRooms(){with(parent.ChannelFrame.document.forms[0].message){for(i=0;i<options.length;i++){if(options[i].text=="Hauptchat"){options[i].text="Mystic-Falls"}}}}setInterval(renameRooms, 1500);</script><script>
//
//
//
//
// ------ USER - SCRIPTE ------
//
//
// SCRIPT - Befehl - Farbe ändern
</script><script type="text/javascript">function farbeaendern(farbe, userName){if(efIsLoad() && typeof myNick != "undefined"){ userName=(userName?strip_tags(userName):myNick).toLowerCase(); if(userName==myNick.toLowerCase() && myStatus != 0){ parent.info.document.eingabe.onsubmit= function(e){frm=parent.info.document.eingabe; if(frm.message.value.search('/') != 0){ frm.message.value='<font color=' + farbe + '>' + frm.message.value + '</font>';} parent.info.submitForm(frm); return false;}; exp=new Date(); exp=exp.setYear(exp.getFullYear()+5); setCookie("fontColor", farbe, new Date(exp)); }} else{window.setTimeout("farbeaendern('"+farbe+(userName?("','"+userName):"")+"')", 1000);}} if(fntColor=getCookie("fontColor")){ farbeaendern(fntColor);}</script><script>
//
//
// ------ ENDE - SCRIPTE ------ </script>

Edit by Team: Ankündigung in Code-Tags gesetzt zur bessen Übersicht. ;)

Maxs
Moderator
Beiträge: 551
Registriert: 09.10.2008, 18:21
Kontaktdaten:

Re: Badwordscript verursacht Fehler bei reconnect

Ungelesener Beitrag von Maxs » 01.04.2015, 02:12

Hallo keine,

das liegt daran, dass beide Scripts die Funktion der Eingabezeile ändern wollen und deswegen nur eines der beiden Scripts durchkommt ;)

Entferne das Badwordscript und das farbeaendern-Script und probiere dieses (enthält beides):
Script:Zeigen

Code: Alles auswählen

// Einstellungen für das Badwordscript
var suchworte= new Array(/Badword1/i, /Badword2/i); 
var ersetzen = new Array('Ersatzwort1', 'Ersatzwort2'); 
var BadWordsVerwenden = true; 
// Funtion - Badwords verwenden 
if(suchworte.length != ersetzen.length){ 
  alert("Für jedes Badword muss eine\nErsetzung angegeben sein!"); 
} 

function badwords(){
 if(efIsLoad() && typeof myNick != "undefined"){ 
  parent.info.document.eingabe.onsubmit= function(e){
    for(i=0; i<suchworte.length; i++){
      while(parent.info.document.eingabe.message.value.match(suchworte[i])){
        parent.info.document.eingabe.message.value=parent.info.document.eingabe.message.value.replace(suchworte[i], ersetzen[i]);
      }
    }
    parent.info.submitForm(parent.info.document.eingabe);
    return false;
  }
 } else {
  window.setTimeout("badwords()", 1000);
 }
}

//Script zum Ändern der Schriftfarbe mit eingefügtem Badwordscript
function farbeaendern(farbe, userName){
 if(efIsLoad() && typeof myNick != "undefined"){ 
  userName=(userName?strip_tags(userName):myNick).toLowerCase(); 
  if(userName==myNick.toLowerCase()){ 
   parent.info.document.eingabe.onsubmit= function(e){
    frm=parent.info.document.eingabe; 
    if(BadWordsVerwenden){ 
     for(i=0; i<suchworte.length; i++){ 
      while(frm.message.value.match(suchworte[i])){
frm.message.value=frm.message.value.replace(suchworte[i], ersetzen[i]); 
      } 
     } 
    } 
    if(frm.message.value.search('/') != 0 && myStatus != 0){ 
     frm.message.value='<font color=' + farbe + '>' + frm.message.value + '</font>';
    } 
    parent.info.submitForm(frm); 
    return false;
   };
   exp=new Date(); 
   exp=exp.setYear(exp.getFullYear()+5); 
   setCookie("fontColor", farbe, new Date(exp)); 
  }
 } else {
 window.setTimeout("farbeaendern('"+farbe+(userName?("','"+userName):"")+"')", 1050);}
} 
if(fntColor=getCookie("fontColor")){ 
 farbeaendern(fntColor);
} else if (BadWordsVerwenden) {
 badwords();
}
Einstellungen sollte wie bei den alten Scripts funktionieren ;)
Bei:

Code: Alles auswählen

var BadWordsVerwenden = true; 
Kannst du das Badwordscript aus- und einschalten (false ist ausgeschaltet, true ist eingeschaltet)
Wäre es nicht adäquat, den Usus heterogener Termini zu minimieren?

keine
Beiträge: 72
Registriert: 09.05.2004, 20:13
Kontaktdaten:

Re: Badwordscript verursacht Fehler bei reconnect

Ungelesener Beitrag von keine » 01.04.2015, 03:21

Wow ich hätte jetzt nicht gedacht, dass ich so schnell schon eine Antwort und sogar noch mit Lösung bekomme. Vielen Dank für die schnelle Hilfe.

Ich hab da jetzt aber noch ein Problem mit dem Script. Das sieht mir ja nicht nach einem Script aus dass ich direkt in die Ankündigung setzen kann. Kenne mich eigentlich mit Scripten überhaupt nicht aus. Versteh da nur Bahnhof und kann sie nur verändern, also anpassen an den entsprechenden Stellen, wie z.b. Badwords eintragen ist für mich kein Problem. Aber ansonsten weiß ich grad nicht wie ich das Script verwenden kann. Wenn ich dafür eine js Datei erstelle, wie krieg ich die in den Chat? Ich hatte sowas mal probiert zum testen, weiß aber nicht mehr wie ich das in der Ankündigung rein gesetzt hatte. Wärs nicht einfach für mich das direkt da reinzusetzen wie die andern Scripte? Würde dafür ausreichen wenn ich das einfach zwischen <script></script> reinsetze oder müsste es dafür umgeschrieben werden? Mit HTML kenn ich mich übrigens super aus und hab auch keine Probleme fertige Scripts in HTML einzubinden.

Und wie siehts mit dem Farbbefehl aus? Muss ich den dann nicht auch zusätzlich verändern wenn ich ein anderes Script habe? Denn den kann ich ja auch nicht so einfach ändern, weil das ja auch ein Schript ist und wüsste da jetzt nicht wie ich das verändern müsste, mangels Script Erfahrung

keine
Beiträge: 72
Registriert: 09.05.2004, 20:13
Kontaktdaten:

Re: Badwordscript verursacht Fehler bei reconnect

Ungelesener Beitrag von keine » 01.04.2015, 03:25

Da fällt mir noch was ein. Muss die Stelle wo die Badwords stehen forlaufend nummeriert sein? Da steht ja badword1, badword2 usw. Wenn ich zwischendrin eins entferne, würde das noch funktionieren, oder muss ich die dann jedesmal neu nummerieren? (was ja ziemlich aufwändig wäre)

Maxs
Moderator
Beiträge: 551
Registriert: 09.10.2008, 18:21
Kontaktdaten:

Re: Badwordscript verursacht Fehler bei reconnect

Ungelesener Beitrag von Maxs » 01.04.2015, 03:36

Also, da du ja wktools nutzt, füge das Script einfach wie folgt ein:

http://wkTools.net -> Scriptmanager -> eigene Scripts -> neues Script anlegen

Dort kannst du es dann auch aktivieren oder deaktivieren. An deinem Farbe-Chatbefehl musst du nichts ändern.
Badwords musst du nicht nummerieren. Sagen wir mal, du willst das Wort "Popo" mit "Gesäß" ersetzen, dann machst du es wie folgt:

Code: Alles auswählen

var suchworte= new Array(/Popo/i); 
var ersetzen = new Array('Gesäß'); 
Möchtest du aber, dass zusätzlich "Blödmann" mit "Herzallerliebster" ersetzt wird, dann sollte der Codeteil so aussehen:

Code: Alles auswählen

var suchworte= new Array(/Popo/i, /Blödmann/i); 
var ersetzen = new Array('Gesäß', 'Herzallerliebster'); 
So kannst du immer mehr Wörter hinzufügen. Zum Beispiel noch "Halunke" mit "Freund":

Code: Alles auswählen

var suchworte= new Array(/Popo/i, /Blödmann/i, /Halunke/i); 
var ersetzen = new Array('Gesäß', 'Herzallerliebster', 'Freund'); 
Ich hoffe, das verdeutlicht, wie es funktioniert ;)

// Edit: Du kannst es aber auch in <script>-Tags in die Ankündigung setzten. Funktioniert genauso ;)
Vergiss aber nicht, das alte farbeaendern-Script aus der Ankündigung zu entfernen :D
Wäre es nicht adäquat, den Usus heterogener Termini zu minimieren?

keine
Beiträge: 72
Registriert: 09.05.2004, 20:13
Kontaktdaten:

Re: Badwordscript verursacht Fehler bei reconnect

Ungelesener Beitrag von keine » 01.04.2015, 03:45

Ok jetzt hab ichs verstanden. Ich hatte das mit den Nummerierungen falsch verstanden, ich dachte das müsste dann dahinter, so dass die Nummerierung dabei steht. Allerdings wirds ohne Zahlen aber auch wieder unübersichtlich weil die Ersatzwörter ja an anderer Stelle aufgelistet sind. Kann ich das irgendwie mit Comments nummerieren, so dass ich erkenne welches Ersatzwort zum jeweiligen Badword gehört. Oder geht das an der Stelle nicht mitten in der Klammer? Hab mir schon ne Liste gemacht für die Wörter und da sind fast 50 Wörter zusammen gekommen (obwohls gar net soviel aussieht)

Maxs
Moderator
Beiträge: 551
Registriert: 09.10.2008, 18:21
Kontaktdaten:

Re: Badwordscript verursacht Fehler bei reconnect

Ungelesener Beitrag von Maxs » 01.04.2015, 03:54

Dann ersetze diese beiden Zeilen doch so:

Code: Alles auswählen

var suchworte= new Array(); 
var ersetzen = new Array();

suchworte[0] = /Popo/i;
ersetzen[0] = 'Gesäß';
suchworte[1] = /Blödmann/i;
ersetzen[1] = 'Herzallerliebster';
suchworte[2] = /Halunke/i;
ersetzen[2] = 'Freund';
Du kannst aber natürlich auch mit Kommentaren nummerieren:

Code: Alles auswählen

var suchworte= new Array(/*1*/ /Popo/i, /*2*/ /Blödmann/i, /*3*/ /Halunke/i); 
var ersetzen = new Array(/*1*/ 'Gesäß', /*2*/ 'Herzallerliebster', /*3*/ 'Freund');
Wird aber auf Dauer wohl unübersichtlich, außer du machst es vll. so:

Code: Alles auswählen

var suchworte= new Array(
/*1*/ /Popo/i, 
/*2*/ /Blödmann/i, 
/*3*/ /Halunke/i
); 
var ersetzen = new Array(
/*1*/ 'Gesäß', 
/*2*/ 'Herzallerliebster', 
/*3*/ 'Freund'
);
Wäre es nicht adäquat, den Usus heterogener Termini zu minimieren?

keine
Beiträge: 72
Registriert: 09.05.2004, 20:13
Kontaktdaten:

Re: Badwordscript verursacht Fehler bei reconnect

Ungelesener Beitrag von keine » 01.04.2015, 04:10

Vielen Dank, so sieht das schon viel besser aus. Ich werde wohl das dritte Beispiel nehmen, das ist durch die Zahlen am Anfang der Zeilen noch am übersichtlichsten und schnell zu erkennen welches Wort einem Badword zugeordnet ist.

Ich hab das Script grad schon getestet, direkt bei wktools eingefügt und jeweils 2 Wörter als Beispiel genommen. Funktioniert prima, einwandfrei, keine Fehler wenn ich reconnect mache und Farbe ändern funktioniert auch.

Mich irritiert jetzt zwar etwas, warum die Badwords die ich bei wktools eingetragen hatte, auch ohne Farbenscript (was ich zum testen ja entfernte) auch noch zu Fehlern führte. Aber ich vermute mal, das könnte mit dem Cookie zu tun haben das ja dann wohl noch existierte auch wenn das Script raus ist. Aber ist jetzt auch nicht so wichtig, hauptsache es funktioniert jetzt ohne Fehler.

Maxs
Moderator
Beiträge: 551
Registriert: 09.10.2008, 18:21
Kontaktdaten:

Re: Badwordscript verursacht Fehler bei reconnect

Ungelesener Beitrag von Maxs » 01.04.2015, 04:13

Ich habe einen kleinen Fehler im Script entdeckt. Es hat bei Leuten, die ihre Schriftfarbe nicht geändert haben, nicht funktioniert. Ich habe es verbessert, du musst es nur nochmal neu kopieren. Ich habe es oben in meinem 1. Beitrag editiert. Ich hoffe, danach funktioniert es perfekt ;)
Wäre es nicht adäquat, den Usus heterogener Termini zu minimieren?

keine
Beiträge: 72
Registriert: 09.05.2004, 20:13
Kontaktdaten:

Re: Badwordscript verursacht Fehler bei reconnect

Ungelesener Beitrag von keine » 01.04.2015, 04:39

Danke für den Hinweis und fürs Korrigieren. Ich kopiers mir dann gleich neu und teste das mal als Gast, der hat ja dann noch keine Schriftfarbe. Wenn ich mich net mehr melde hat alles geklappt :D

keine
Beiträge: 72
Registriert: 09.05.2004, 20:13
Kontaktdaten:

Re: Badwordscript verursacht Fehler bei reconnect

Ungelesener Beitrag von keine » 01.04.2015, 04:56

Schade, jetzt muss ich mich doch nochmal melden. Als Gast gehts mal nicht. Jetzt weiß ich allerdings nicht obs an dem Script liegt oder daran dass es ein Gast war. Kann es sein dass das Script nur bei registrierten Usern geht?

Maxs
Moderator
Beiträge: 551
Registriert: 09.10.2008, 18:21
Kontaktdaten:

Re: Badwordscript verursacht Fehler bei reconnect

Ungelesener Beitrag von Maxs » 01.04.2015, 14:57

Es sollte als Gast funktionieren. Probiere es mal im privaten Modus (Strg + Umschalt + N). Denn du hast das Cookie der Schriftfarbe bei dir gespeichert, deswegen geht es nicht. ;)

Wenn du es auch für Gäste willst, dass sie die Schriftfarbe ändern können und somit Badwords auch bei Gästen mit Schriftfarben-Cookies (weil sie vorher schon als registrierter User drin waren und die Schriftfarbe gewechselt hatten) richtig funktioniert (Sie können den Chatbefehl wahrscheinlich sowieso nicht einsetzen, also kannst du das ruhig ändern), dann ändere folgende Zeile so um:

Code: Alles auswählen

  if(userName==myNick.toLowerCase() && myStatus != 0){ 
in:

Code: Alles auswählen

  if(userName==myNick.toLowerCase()){ 
Wäre es nicht adäquat, den Usus heterogener Termini zu minimieren?

keine
Beiträge: 72
Registriert: 09.05.2004, 20:13
Kontaktdaten:

Re: Badwordscript verursacht Fehler bei reconnect

Ungelesener Beitrag von keine » 01.04.2015, 17:11

Ach Mist, ich hab grad zweimal nen längeren Text hier geschrieben, war aber net so wichtig, der jedesmal weg war weil ich auf ne falsche Taste kam, deswegen mach ichs jetzt einfach kurz:

Dankeschön :D den Code änder ich dann und probier das dann auch im privaten Modus vorher.

keine
Beiträge: 72
Registriert: 09.05.2004, 20:13
Kontaktdaten:

Re: Badwordscript verursacht Fehler bei reconnect

Ungelesener Beitrag von keine » 01.04.2015, 17:21

Funktioniert zwar jetzt mit dem Gast, Wörter werden ausgetauscht, jedoch erscheint alles so im Chat:

(17:19) test: <font color=deeppink>test</font>

egal was geschrieben wird, auch die ersetzten Wörter erscheinen in den font Tags

Maxs
Moderator
Beiträge: 551
Registriert: 09.10.2008, 18:21
Kontaktdaten:

Re: Badwordscript verursacht Fehler bei reconnect

Ungelesener Beitrag von Maxs » 01.04.2015, 18:28

Joa, stimmt, <font>-Tags können Gäste nicht posten. Das liegt wie gesagt daran, dass du durch deinen Hauptnick die Farbe in deinen Cookies abgespeichert hast und du das als Gast halt auch übernimmst. Sollte bei normalen Gästen aber nicht vorkommen, da sie den Cookie ja nicht haben. Aber ändere folgende Zeile noch so um, dann sollte es klappen:

Code: Alles auswählen

    if(frm.message.value.search('/') != 0){ 
in

Code: Alles auswählen

    if(frm.message.value.search('/') != 0 && myStatus != 0){ 
//Edit: Hab's jetzt auch mal oben im Code angepasst.
Wäre es nicht adäquat, den Usus heterogener Termini zu minimieren?

Antworten

Wer ist online?

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