Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // ==UserScript==
- // @name johnRainbow
- // @namespace http://w3.tbd.my/
- // @description Masukkan shoutbox ngan rainbow text
- // @include http://w3.tbd.my/index.php
- // @include http://w3.tbd.my/
- // ==/UserScript==
- function init() {
- var textarea = document.getElementById("shout_data");
- var img = document.createTextNode("[ rainbow ]");
- button = document.createElement('a');
- button.href = '#';
- button.addEventListener('click', MakeSFX, false);
- button.appendChild(img);
- textarea.parentNode.insertBefore(button, textarea);
- }
- function tohex(decval) {
- var l, h;
- var str = "";
- l = Math.floor(decval % 16);
- h = Math.floor(decval / 16);
- if (h < 10) {
- str = "" + h;
- }
- if (h > 9) {
- switch (h) {
- case 10:
- str = "A";
- break;
- case 11:
- str = "B";
- break;
- case 12:
- str = "C";
- break;
- case 13:
- str = "D";
- break;
- case 14:
- str = "E";
- break;
- case 15:
- str = "F";
- break;
- default:
- str = "X";
- break;
- }
- }
- if (l < 10) {
- str = str + "" + l;
- }
- if (l > 9) {
- switch (l) {
- case 10:
- str += "A";
- break;
- case 11:
- str += "B";
- break;
- case 12:
- str += "C";
- break;
- case 13:
- str += "D";
- break;
- case 14:
- str += "E";
- break;
- case 15:
- str += "F";
- break;
- default:
- str += "X";
- break;
- }
- }
- return str;
- }
- function getSFXColor(k) {
- var r, g, b, k1, min, max;
- if (g_cstyle == 0) {
- k1 = k;
- r = 127 + 127 * Math.cos(k1 - .5);
- g = 127 + 127 * Math.cos(k1 - 2.5);
- b = 127 + 127 * Math.cos(k1 - 4.5);
- min = r;
- if (g < min) min = g;
- if (b < min) min = b;
- r -= min;
- g -= min;
- b -= min;
- max = r;
- if (g > max) max = g;
- if (b > max) max = b;
- max = 255.0 / max;
- r *= max;
- g *= max;
- b *= max;
- max = 1;
- min = 0;
- r = r * max + min;
- g = g * max + min;
- b = b * max + min;
- if (r < 0) r = 0;
- if (g < 0) g = 0;
- if (b < 0) b = 0;
- if (r > 255) r = 255;
- if (g > 255) g = 255;
- if (b > 255) b = 255;
- }
- g_r = r;
- g_g = g;
- g_b = b;
- }
- function MakeSFX() {
- var shout = document.getElementById("shout_data");
- var r, g, b;
- var i, j, k, l;
- var x, scale, res;
- var min, max;
- var in_tag = 0;
- var oignumi = 0;
- temp = new String("");
- instr = new String(shout.value);
- outstr = new String("");
- tempstr = new String("");
- res = 2;
- if (res < 1) res = 1;
- j = instr.length;
- scale = Math.PI * (2 - .21) / j;
- g_cstyle = 0;
- for (i = 0; i < j; i++) {
- if (instr.charAt(i) == "<") in_tag = 1;
- if (in_tag == 0) {
- k = scale * i;
- getSFXColor(k);
- r = g_r;
- g = g_g;
- b = g_b;
- tempstr = tohex(r) + tohex(g) + tohex(b);
- temp = instr.charAt(i);
- if (instr.charAt(i) == "&") {
- for (l = i + 1; l < j; l++) {
- if (instr.charAt(l) == " ") break;
- if (instr.charAt(l) == "<") break;
- if (instr.charAt(l) == ">") break;
- if (instr.charAt(l) == ";") break;
- }
- if (instr.charAt(l) == ";") {
- temp = instr.substr(i, l - i + 1);
- }
- }
- if (i % res == 0) {
- outstr = outstr + "[color=#" + tempstr + "]";
- oignumi = 1;
- }
- outstr = outstr + temp;
- if ((i + 1) % res == 0) {
- outstr = outstr + "[/color]";
- oignumi = 0;
- }
- if (temp.length > 1) i += (temp.length - 1);
- }
- if (in_tag == 1) outstr = outstr + instr.charAt(i);
- if (instr.charAt(i) == ">") in_tag = 0;
- }
- if (oignumi > 0) {
- outstr = outstr + "[/color]";
- }
- //shout.focus();
- shout.value = "";
- shout.value = outstr;
- //shout.focus();
- }
- init();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement