Seite 1 von 2

Nickänderung - was mache ich falsch?

Verfasst: 21.05.2012, 19:45
von lieblich
Hallo,

brauche Hilfe beim script zur Nickänderung. Habe es so auf wktools.net hochgeladen und es funktioniert nicht bzw. ändert den Nicknamen nicht. Kann es daran liegen, dass ich die Ol benutze, die Chatter in Gruppen einteilt und ICONS hinter Nicknamen in der Ol. Ich weiß nicht wer es war (glaube Linus oder Keller) haben es einmal bei mir im chat geschafft, einen Nicknamen zu ändern.
Hier das Script, dass ich auf wktools habe:
Script:Zeigen

Code: Alles auswählen

//----------------------// 
// Nickänderungs-Script // 
//     by DarkModi      // 
//----------------------// 

// 
// Scriptversion vom 18. Mai 2007 - V. 2 
// Link für Updates/Abgleich zur aktuellen Version: 
// 
// http://www.wkforum.de/viewtopic.php?t=11502 
// 

// Diese Zeile NICHT ändern! 

nickChangeList = new Object; 

/* Einstellungen */ 

// Definierung der neuen Nicks 
// Syntax: 
// nickChangeList["alter Nick"] = ["NEUER GRUNDNICK", "NICKMODUS", "OPTIONAL: NICK FÜR DIE ONLINELISTE"]; 

nickChangeList["lieblich"] = ["Max", 1]; 
nickChangeList["Beispiel2"] = ["Neuer Nick 2", 0]; 

// Nickänderung im Chatstream? 
// 0 = aus, 1 = ein, 2 = /w wird verändert, 3 = /w wird verändert + HTML-Tags bleiben 

strNickChange = 1; 

// Nickänderung in der Onlineliste? 
// 0 = aus, 1 = ein, 2 = ein + HTML-Tags bleiben 

olNickChange = 1; 

// Nick in Ankündigung und im Eingabeframe ändern? 
// 0 = aus, 1 = ein 

aiNickChange = 0; 

//------------------------------// 
// AB HIER NICHTS MEHR ÄNDERN!!!// 
//------------------------------// 

/* Funktionen & Variablen */ 

// Länge des Streams in Zeilen (anfangs 0) 

strLen = 0; 

// Erstellen der neuen Nickfarbe 

function nick2arr (nick) { 
 temp = strip_tags(nick).replace(/&[a-z0-9#]+;/ig, "X").split(""); 
 while (strip_tags(nick).match(/&[a-z0-9#]+;/i)) { 
  temp[strip_tags(nick).search(/(&[a-z0-9#]+;)/i)] = RegExp.$1; 
  nick = nick.replace(/&[a-z0-9#]+;/i, "X"); 
 } 
 while (nick.match(/<[^>]*>/)) { 
  if (temp[nick.search(/<[^>]*>/)]) { 
   temp[nick.search(/(<[^>]*>)/)] = RegExp.$1 + temp[nick.search(/<[^>]*>/)]; 
  } else { 
   temp[temp.length-1] = temp[temp.length-1] + nick.match(/(<[^>]*>)/)[0]; 
  } 
  nick = nick.replace(/<[^>]*>/, ""); 
 } 
 return temp; 
} 

// Generierung der neuen Nickfarbe 

function crNickColor (c) { 
 if (c.getElementsByTagName("font")[0]) { 
  if (typeof(n[0]) == "string") { 
   n[0] = nick2arr(n[0]); 
  } 
  var nick = ""; 
  var ar = n[0]; 
  var c = c.getElementsByTagName("font"); 
  if (c[1]) { 
   if (c[0].face) { 
    var t = 1; 
    var font = c[0].face; 
    if (n[1] > 2 && font.match("#")) { 
     var ar = nick2arr(font.replace(font.split("#", 1)[0] + "#", "").replace("<", "<").replace(">", ">")); 
    } 
    font = font.split("#", 1)[0]; 
   } else { 
    var t = 0; 
   } 
   if (n[1] % 2 == 1) { 
    var x = new Array(); 
    var y = new Array(); 
    var z = new Array(new Array, new Array, new Array); 
    for (var i = 0; i < 3; i++) { 
     x[i] = parseInt(c[t].color.substr(i*2+1, 2), 16); 
     y[i] = parseInt(c[c.length-1].color.substr(i*2+1, 2), 16); 
    } 
    for (var i = 0; i < 3; i++) { 
     for (var j = 0; j < ar.length; j++) { 
      z[i][j] = Math.round(x[i] + (y[i] - x[i]) * j / (ar.length - 1)); 
     } 
    } 
    for (var i = 0; i < ar.length; i++) { 
     nick += "<span style=\"color:rgb(" + z[0][i] + "," + z[1][i] + "," + z[2][i] + ")\">" + ar[i] + "</span>"; 
    } 
   } else { 
    for (var i = 0; i < ar.length; i++) { 
     nick += "<span style=\"color:"; 
     nick += (i % 2 == 0) ? c[t].color : c[c.length-1].color; 
     nick += "\">" + ar[i] + "</span>"; 
    } 
   } 
   if (t == 1) { 
    nick = "<span style=\"font-family:" + font + "\">" + nick + "</span>"; 
   } 
  } else { 
   nick = "<span style=\"color:" + c[0].color + "\">" + ar.join("") + "</span>"; 
  } 
 } else { 
  var nick = c.innerHTML; 
 } 
 return nick; 
} 

// Änderung des Nicks im Stream 

function changeNickStr () { 
 for (strLen; strLen < document.getElementsByTagName("td").length; strLen++) { 
  c = document.getElementsByTagName("td")[strLen]; 
  if (c.getElementsByTagName("span")[0]) { 
   if (!(c.getElementsByTagName("span")[0].className == "not_reg")) { 
   c = c.getElementsByTagName("b"); 
    for (var i = 0; i < c.length; i++) { 
     var nick = strip_tags(c[i].innerHTML); 
     if (!(c[i].getElementsByTagName("b")[0]) && c[i].getElementsByTagName("font")[0] && nickChangeList[nick]) { 
      n = nickChangeList[nick]; 
      if (n[1] < 1) { 
       c[i].innerHTML = n[0]; 
      } else { 
       if (!(n[3])) { 
        n[3] = crNickColor(c[i]); 
       } 
       if (i < c.length-1 && strip_tags(c[i].innerHTML) == strip_tags(c[c.length-1].innerHTML) && c[c.length-1].getElementsByTagName("font")[0]) { 
        c[i].innerHTML = n[3]; 
        n[3] = crNickColor(c[c.length-1]); 
       } else { 
        c[i].innerHTML = n[3]; 
       } 
      } 
     } 
    } 
   } else if (strNickChange > 1) { 
    c = c.getElementsByTagName("span"); 
    for (var i = 1; i < c.length; i++) { 
     var nick = strip_tags(c[i].innerHTML).replace("(*)", ""); 
     if (nickChangeList[nick]) { 
     n = nickChangeList[nick]; 
     if (!(n[2])) { 
       n[2] = (typeof(n[0]) == "string") ? n[0] : n[0].join(""); 
      } 
     c[i].innerHTML = (strNickChange > 2) ? c[i].innerHTML.replace(nick, n[2]) : c[i].innerHTML.replace(nick, strip_tags(n[2])); 
     } 
    } 
   } 
  } 
 } 
} 

// Änderung des Nicks in der Online-Liste 

function changeNickOl () { 
 for (var nick in nickChangeList) { 
  if (parent.rightFrame.document.getElementById(nick)) { 
   var n = nickChangeList[nick]; 
   if (!(n[2])) { 
    nickChangeList[nick][2] = (typeof(n[0]) == "string") ? n[0] : n[0].join(""); 
   } 
   olc = parent.rightFrame.document.getElementById(nick).getElementsByTagName("span"); 
   olc[olc.length-1].innerHTML = (olNickChange == 1) ? strip_tags(n[2]) + "&nbsp;" : n[2] + "&nbsp;"; 
  } 
 } 
} 

// Ersetzen des Nicks in der Ankündigung und im Eingabeframe 

function changeNickAi (nick) { 
 if (nickChangeList[nick]) { 
  n = nickChangeList[nick]; 
  c = parent.info.document.getElementsByTagName("b")[parent.info.document.getElementsByTagName("b").length-1]; 
  if (strip_tags(c.innerHTML) == nick) { 
   if (n[1] > 0) { 
    c.innerHTML = crNickColor(c); 
   } else { 
    c.innerHTML = nickChangeList[nick][0]; 
   } 
  } 
  c = document.getElementsByTagName("b"); 
  for (i = 0; c.length > i; i++) { 
   if (strip_tags(c[i].innerHTML) == nick) { 
    if (n[1] == 0) { 
     c[i].innerHTML = n[0]; 
    } else { 
     c[i].innerHTML = crNickColor(c[i]); 
    } 
   } 
  } 
 } 
} 

// Starten des Nickänderers 

function nickChange (str, ol, nick) { 
 if (aiNickChange == 1) { 
  changeNickAi(nick); 
 } 
 if (olNickChange > 0) { 
  setInterval("changeNickOl();", ol); 
 } 
 if (strNickChange > 0) { 
  setInterval("changeNickStr();", str); 
 } 
}

Re: Nickänderung - was mache ich falsch?

Verfasst: 21.05.2012, 19:50
von harry2109
Nach meiner meinung funzt es mir dem onlineliste script nich es wird dann der nick im chat geändert sowie im eingabeframe.

Re: Nickänderung - was mache ich falsch?

Verfasst: 21.05.2012, 21:51
von Maxs
Das ist nicht ganz richtig, siehe in diesem Beitrag ganz unten: http://www.webkicks.de/forum/individuel ... ml#p140577 ;)

Re: Nickänderung - was mache ich falsch?

Verfasst: 21.05.2012, 22:00
von lieblich
Achso... Kann mir jemand helfen?

Re: Nickänderung - was mache ich falsch?

Verfasst: 21.05.2012, 22:09
von Maxs
Ignorierst du mich? :lol:
Maxs hat geschrieben:Das ist nicht ganz richtig, siehe in diesem Beitrag ganz unten: http://www.webkicks.de/forum/individuel ... ml#p140577 ;)

Re: Nickänderung - was mache ich falsch?

Verfasst: 21.05.2012, 22:29
von lieblich
Also geht nicht? Und wenn ich es ausbaue?

Re: Nickänderung - was mache ich falsch?

Verfasst: 21.05.2012, 22:36
von Maxs
Also manchmal ... :roll:
Lies doch einfach mal das, was ich dir verlinkt habe. Da steht doch alles, was du wissen willst ... :?

Re: Nickänderung - was mache ich falsch?

Verfasst: 21.05.2012, 22:51
von lieblich
So richtig? Klappt immernoch nicht:
Script:Zeigen

Code: Alles auswählen

//----------------------// 
// Nickänderungs-Script // 
//     by DarkModi      // 
//----------------------// 

// 
// Scriptversion vom 18. Mai 2007 - V. 2 
// Link für Updates/Abgleich zur aktuellen Version: 
// 
// http://www.wkforum.de/viewtopic.php?t=11502 
// 

// Diese Zeile NICHT ändern! 

nickChangeList = new Object; 

/* Einstellungen */ 

// Definierung der neuen Nicks 
// Syntax: 
// nickChangeList["alter Nick"] = ["NEUER GRUNDNICK", "NICKMODUS", "OPTIONAL: NICK FÜR DIE ONLINELISTE"]; 

nickChangeList["lieblich"] = ["Team_lieblich", 1]; 
nickChangeList["Beispiel2"] = ["Neuer Nick 2", 0]; 

// Nickänderung im Chatstream? 
// 0 = aus, 1 = ein, 2 = /w wird verändert, 3 = /w wird verändert + HTML-Tags bleiben 

strNickChange = 1; 

// Nickänderung in der Onlineliste? 
// 0 = aus, 1 = ein, 2 = ein + HTML-Tags bleiben 

olNickChange = 1; 

// Nick in Ankündigung und im Eingabeframe ändern? 
// 0 = aus, 1 = ein 

aiNickChange = 0; 

//------------------------------// 
// AB HIER NICHTS MEHR ÄNDERN!!!// 
//------------------------------// 

/* Funktionen & Variablen */ 

// Länge des Streams in Zeilen (anfangs 0) 

strLen = 0; 

// Erstellen der neuen Nickfarbe 

function nick2arr (nick) { 
 temp = strip_tags(nick).replace(/&[a-z0-9#]+;/ig, "X").split(""); 
 while (strip_tags(nick).match(/&[a-z0-9#]+;/i)) { 
  temp[strip_tags(nick).search(/(&[a-z0-9#]+;)/i)] = RegExp.$1; 
  nick = nick.replace(/&[a-z0-9#]+;/i, "X"); 
 } 
 while (nick.match(/<[^>]*>/)) { 
  if (temp[nick.search(/<[^>]*>/)]) { 
   temp[nick.search(/(<[^>]*>)/)] = RegExp.$1 + temp[nick.search(/<[^>]*>/)]; 
  } else { 
   temp[temp.length-1] = temp[temp.length-1] + nick.match(/(<[^>]*>)/)[0]; 
  } 
  nick = nick.replace(/<[^>]*>/, ""); 
 } 
 return temp; 
} 

// Generierung der neuen Nickfarbe 

function crNickColor (c) { 
 if (c.getElementsByTagName("font")[0]) { 
  if (typeof(n[0]) == "string") { 
   n[0] = nick2arr(n[0]); 
  } 
  var nick = ""; 
  var ar = n[0]; 
  var c = c.getElementsByTagName("font"); 
  if (c[1]) { 
   if (c[0].face) { 
    var t = 1; 
    var font = c[0].face; 
    if (n[1] > 2 && font.match("#")) { 
     var ar = nick2arr(font.replace(font.split("#", 1)[0] + "#", "").replace("<", "<").replace(">", ">")); 
    } 
    font = font.split("#", 1)[0]; 
   } else { 
    var t = 0; 
   } 
   if (n[1] % 2 == 1) { 
    var x = new Array(); 
    var y = new Array(); 
    var z = new Array(new Array, new Array, new Array); 
    for (var i = 0; i < 3; i++) { 
     x[i] = parseInt(c[t].color.substr(i*2+1, 2), 16); 
     y[i] = parseInt(c[c.length-1].color.substr(i*2+1, 2), 16); 
    } 
    for (var i = 0; i < 3; i++) { 
     for (var j = 0; j < ar.length; j++) { 
      z[i][j] = Math.round(x[i] + (y[i] - x[i]) * j / (ar.length - 1)); 
     } 
    } 
    for (var i = 0; i < ar.length; i++) { 
     nick += "<span style=\"color:rgb(" + z[0][i] + "," + z[1][i] + "," + z[2][i] + ")\">" + ar[i] + "</span>"; 
    } 
   } else { 
    for (var i = 0; i < ar.length; i++) { 
     nick += "<span style=\"color:"; 
     nick += (i % 2 == 0) ? c[t].color : c[c.length-1].color; 
     nick += "\">" + ar[i] + "</span>"; 
    } 
   } 
   if (t == 1) { 
    nick = "<span style=\"font-family:" + font + "\">" + nick + "</span>"; 
   } 
  } else { 
   nick = "<span style=\"color:" + c[0].color + "\">" + ar.join("") + "</span>"; 
  } 
 } else { 
  var nick = c.innerHTML; 
 } 
 return nick; 
} 

// Änderung des Nicks im Stream 

function changeNickStr () { 
 for (strLen; strLen < document.getElementsByTagName("td").length; strLen++) { 
  c = document.getElementsByTagName("td")[strLen]; 
  if (c.getElementsByTagName("span")[0]) { 
   if (!(c.getElementsByTagName("span")[0].className == "not_reg")) { 
   c = c.getElementsByTagName("b"); 
    for (var i = 0; i < c.length; i++) { 
     var nick = strip_tags(c[i].innerHTML); 
     if (!(c[i].getElementsByTagName("b")[0]) && c[i].getElementsByTagName("font")[0] && nickChangeList[nick]) { 
      n = nickChangeList[nick]; 
      if (n[1] < 1) { 
       c[i].innerHTML = n[0]; 
      } else { 
       if (!(n[3])) { 
        n[3] = crNickColor(c[i]); 
       } 
       if (i < c.length-1 && strip_tags(c[i].innerHTML) == strip_tags(c[c.length-1].innerHTML) && c[c.length-1].getElementsByTagName("font")[0]) { 
        c[i].innerHTML = n[3]; 
        n[3] = crNickColor(c[c.length-1]); 
       } else { 
        c[i].innerHTML = n[3]; 
       } 
      } 
     } 
    } 
   } else if (strNickChange > 1) { 
    c = c.getElementsByTagName("span"); 
    for (var i = 1; i < c.length; i++) { 
     var nick = strip_tags(c[i].innerHTML).replace("(*)", ""); 
     if (nickChangeList[nick]) { 
     n = nickChangeList[nick]; 
     if (!(n[2])) { 
       n[2] = (typeof(n[0]) == "string") ? n[0] : n[0].join(""); 
      } 
     c[i].innerHTML = (strNickChange > 2) ? c[i].innerHTML.replace(nick, n[2]) : c[i].innerHTML.replace(nick, strip_tags(n[2])); 
     } 
    } 
   } 
  } 
 } 
} 

// Änderung des Nicks in der Online-Liste 

function changeNickOl () { 
 for (var nick in nickChangeList) { 
  if (parent.rightFrame.document.getElementById(nick)) { 
   var n = nickChangeList[nick]; 
   if (!(n[2])) { 
    nickChangeList[nick][2] = (typeof(n[0]) == "string") ? n[0] : n[0].join(""); 
   } 
   olc = parent.rightFrame.document.getElementById(nick).getElementsByTagName("span"); 
   olc[olc.length-1].innerHTML = (olNickChange == 1) ? strip_tags(n[2]) + "&nbsp;" : n[2] + "&nbsp;"; 
  } 
 } 
}

// Ersetzen des Nicks in der Ankündigung und im Eingabeframe 

function changeNickAi (nick) { 
 if (nickChangeList[nick]) { 
  n = nickChangeList[nick]; 
  c = parent.info.document.getElementsByTagName("b")[parent.info.document.getElementsByTagName("b").length-1]; 
  if (strip_tags(c.innerHTML) == nick) { 
   if (n[1] > 0) { 
    c.innerHTML = crNickColor(c); 
   } else { 
    c.innerHTML = nickChangeList[nick][0]; 
   } 
  } 
  c = document.getElementsByTagName("b"); 
  for (i = 0; c.length > i; i++) { 
   if (strip_tags(c[i].innerHTML) == nick) { 
    if (n[1] == 0) { 
     c[i].innerHTML = n[0]; 
    } else { 
     c[i].innerHTML = crNickColor(c[i]); 
    } 
   } 
  } 
 } 
} 

// Starten des Nickänderers 

function nickChange (str, ol, nick) { 
 if (aiNickChange == 1) { 
  changeNickAi(nick); 
 } 
 if (olNickChange > 0) { 
  setInterval("changeNickOl();", ol); 
 } 
 if (strNickChange > 0) { 
  setInterval("changeNickStr();", str); 
 } 
}

Re: Nickänderung - was mache ich falsch?

Verfasst: 22.05.2012, 19:12
von Maxs
Nö, weil du keine Änderung vorgenommen hast. Wie soll es denn dann bitteschön auf einmal funktionieren? :roll:
Mach doch einfach nur das, was dort im verlinkten Beitrag ganz unten steht. Da steht doch ganz groß und fett:
Nickänderungsscript von DarkModi kompatibel machen

Lesen ist wohl manchmal echt zu viel verlangt ...

Re: Nickänderung - was mache ich falsch?

Verfasst: 22.05.2012, 19:17
von lieblich
Habe ich auch, ich sollte einen Teil verändern.
Kannst du vlt. zu mir in den chat kommen? Da ist es einfacher als hier...

Re: Nickänderung - was mache ich falsch?

Verfasst: 22.05.2012, 19:18
von Maxs
Und wieso hast du diesen einen Teil dann nicht geändert?

Re: Nickänderung - was mache ich falsch?

Verfasst: 22.05.2012, 19:19
von lieblich
Habe ich.. warte, ich guck mal eben nach.

Re: Nickänderung - was mache ich falsch?

Verfasst: 22.05.2012, 19:22
von lieblich
maxs hat geschrieben:Um das Nickänderungsscript von DarkModi (für die Nickänderungen in der Onlineliste) kompatibel zu machen, ersetze bitte diesen Teil im Nickänderungsscript:

Code:
// Änderung des Nicks in der Online-Liste

function changeNickOl () {
for (var nick in nickChangeList) {
if (parent.rightFrame.document.getElementById(nick)) {
var n = nickChangeList[nick];
if (!(n[2])) {
nickChangeList[nick][2] = (typeof(n[0]) == "string") ? n[0] : n[0].join("");
}
olc = parent.rightFrame.document.getElementById(nick).getElementsByTagName("span");
olc[olc.length-1].innerHTML = (olNickChange == 1) ? strip_tags(n[2]) + "&nbsp;" : n[2] + "&nbsp;";
}
}
}


mit diesem Code:

Code:
// Änderung des Nicks in der Online-Liste

function changeNickOl () {
for (var nick in nickChangeList) {
if (parent.rightFrame.document.getElementById("new" + nick)) {
var n = nickChangeList[nick];
if (!(n[2])) {
nickChangeList[nick][2] = (typeof(n[0]) == "string") ? n[0] : n[0].join("");
}
olc = parent.rightFrame.document.getElementById("new" + nick).getElementsByTagName("span");
olc[olc.length-1].innerHTML = (olNickChange == 1) ? strip_tags(n[2]) + "&nbsp;" : n[2] + "&nbsp;";
}
}
}

Re: Nickänderung - was mache ich falsch?

Verfasst: 22.05.2012, 19:23
von Maxs
Ja, das ist die Anleitung. Führe sie aus und es wird funktionieren.

Re: Nickänderung - was mache ich falsch?

Verfasst: 22.05.2012, 19:27
von lieblich
Habe ich doch ersetzt... Aber eigt. sehen doch beide codes gleich aus..