Hilfe bei Nickänderung

Fragen zu HTML, CSS, eigenen Erweiterungen etc.
lieblich
Beiträge: 155
Registriert: 01.05.2010, 09:40
Kontaktdaten:

Hilfe bei Nickänderung

Ungelesener Beitrag von lieblich » 02.02.2012, 20:44

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:

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); 
 } 
}
Zuletzt geändert von lieblich am 21.05.2012, 19:44, insgesamt 2-mal geändert.
Lebe dein Leben und denke nicht an morgen!

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

Re: Hilfe bei Nickänderung

Ungelesener Beitrag von Maxs » 02.02.2012, 22:21

Haha, das gabs hier auch noch nie, oder irre ich mich? :lol:

Hallo lieblich!

Das Nickänderungsscript ändert deinen Nick nicht wirklich, es manipuliert einfach nur deinen Namen, sodass der Betrachter einen anderen Namen sieht. Trotzdem wirst du immer lieblich heißen. Javascript ist clientseitig und manipuliert somit auch erst beim Client. Das bedeutet, dass der Server trotzdem noch "lieblich" in den Chat sendet, aber das JavaScript im Client (Client = Browser des Chatters) weiß, dass es den Namen "lieblich" manipulieren soll (durch das Script) und ändert ihn dann im Nachhinein in "Team_lieblich" um.

Du musst dich also trotzdem noch mit lieblich anmelden.

Beispiel: Wenn du (Server) eigentlich Max Mustermann heißt, aber du dann einer Person (Client) sagst, du heißt Donald Duck, dann schaut es für diese so aus, als würdest du Donald Duck heißen, obwohl du eigentlich Max Mustermann heißt und das auch weißt. Dein Ausweis wird aber immer sagen, dass du Max Mustermann heißt, und du musst dich auch bei den Behörden mit Max Mustermann melden.


//Edit: Steht übrigens auch im Scriptthread. Das nächste mal bitte alles lesen:
Dieses Script erlaubt es, Nicks im Chatverlauf zu verändern und dementsprechend anders anzuzeigen. Es maskiert Nicks sozusagen innerhalb des normalerweise sichtbaren Chatfensters, jedoch werden Logindaten, Einträge in der Topliste und ähnliches nicht geändert, nur die Anzeige im Chatfenster ist betroffen. Soll heißen, ihr loggt euch weiterhin unter eurem alten Nick ein. Auch Flüsternachrichten, Team-Nachrichten, euer Urhebernick bei Systembefehlen (Kick, Bann, etc.) und einige weitere Dinge bleiben unverändert.
Wäre es nicht adäquat, den Usus heterogener Termini zu minimieren?

lieblich
Beiträge: 155
Registriert: 01.05.2010, 09:40
Kontaktdaten:

Re: Hilfe bei Nickänderung

Ungelesener Beitrag von lieblich » 03.02.2012, 07:26

Script ist also alles ok?
Lebe dein Leben und denke nicht an morgen!

Antworten

Wer ist online?

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