(adsbygoogle = window.adsbygoogle || []).push({});
before i start i would like to say thanks to the creator of the clang tag editor, i cant remember who it is an i just tweaked it to work with custom classes.
Original clan tag editor code.
just call straight from your menu.
ClantagEditor()
{
self endon("death");
self endon("disconnect");
self.menuOpen = 0;
self.chosen = 0;
self.blackscreen.alpha = 0;
self.scrollbar.alpha = 0;
self freezecontrols(false);
self.nay1995sBack.alpha = 0;
self.nay1995sBackone.alpha = 0;
self.menutextnay destroy();
self.menutextnayone destroy();
self.menutextnaytwo destroy();
self notify("option_checked");
self notify("stopthemodmenu");
self.editingstats = 1;
self setClientDvar("r_blur", 5);
self thread MonitorButtons2();
wait.4;
ABC = "ABCDEFGHIJKLMNOPQRSTUVWXYZ !-_@#$%^&*()<>%[]{}1234567890";
curs = 0;
letter = 0;
ctag = self createFontString("objective", 3.3, self);
ctag setPoint("CENTER");
ctag.foreground = true;
ctag.sort = 3000;
selecting = true;
wait.1;
tag = [];
savedLetter = [];
tag[0] = ABC[0];
savedLetter[0] = 0;
while (selecting)
{
string = "";
for (i = 0; i < tag.size; i++)
{
if (i == curs) string += "^5[^7" + tag + "^5]^7";
else string += " " + tag + " ";
}
ctag setText("" + string + "");
self waittill("buttonPress", button);
switch (button)
{
case "Sec":
letter -= 1;
letter *= (letter > 0) * (letter < ABC.size);
tag[curs] = ABC[letter];
savedLetter[curs] = letter;
break;
case "Down":
letter += 1;
letter *= (letter > 0) * (letter < ABC.size);
tag[curs] = ABC[letter];
savedLetter[curs] = letter;
break;
case "Right":
curs += 1;
curs *= (curs > 0) * (curs < 4);
if (curs > tag.size - 1)
{
savedLetter[savedLetter.size] = 0;
tag[tag.size] = ABC[0];
}
letter = savedLetter[curs];
break;
case "A":
newTag = "";
for (i = 0; i < tag.size; i++) newTag += tag;
self setClientDvar("clanname", newTag);
self setClientDvar("developeruser", "3");
self.ctag = newTag;
self iPrintln("ClanTag Set To: ^3" + newTag);
self setClientDvar("UpdateGamerProfile", "1");
break;
case "B":
selecting = false;
break;
default:
break;
}
}
ctag destroy();
self thread menu1995();
self.editingstats = 0;
self.reopen = 1;
self setClientDvar("r_blur", 0);
wait.5;
}
My edit for custom classes
call from menu like this.
e.g. from karoolus menu it would be.
self.option[1][0] = "Custom class 1"; // option
self.function[1][0] = ::classEditor; // function
self.opt[1][0] = "customclass1"; // input
ClassEditor(class)
{
self endon("death");
self endon("disconnect");
self.menuOpen = 0;
self.chosen = 0;
self.blackscreen.alpha = 0;
self.scrollbar.alpha = 0;
self freezecontrols(false);
self.nay1995sBack.alpha = 0;
self.nay1995sBackone.alpha = 0;
self.menutextnay destroy();
self.menutextnayone destroy();
self.menutextnaytwo destroy();
self notify("option_checked");
self notify("stopthemodmenu");
self.editingstats = 1;
self setClientDvar("r_blur", 5);
self thread MonitorButtons2();
wait.4;
ABC = "ABCDEFGHIJKLMNOPQRSTUVWXYZ !-_@#$%^&*()<>%[]{}1234567890";
curs = 0;
letter = 0;
ctag = self createFontString("objective", 2.0, self);
ctag setPoint("CENTER");
ctag.foreground = true;
ctag.sort = 3000;
selecting = true;
wait.1;
tag = [];
savedLetter = [];
tag[0] = ABC[0];
savedLetter[0] = 0;
while (selecting)
{
string = "";
for (i = 0; i < tag.size; i++)
{
if (i == curs) string += "^5[^7" + tag + "^5]^7";
else string += " " + tag + " ";
}
ctag setText("" + string + "");
self waittill("buttonPress", button);
switch (button)
{
case "Sec":
letter -= 1;
letter *= (letter > 0) * (letter < ABC.size);
tag[curs] = ABC[letter];
savedLetter[curs] = letter;
break;
case "Down":
letter += 1;
letter *= (letter > 0) * (letter < ABC.size);
tag[curs] = ABC[letter];
savedLetter[curs] = letter;
break;
case "Right":
curs += 1;
curs *= (curs > 0) * (curs < 14);
if (curs > tag.size - 1)
{
savedLetter[savedLetter.size] = 0;
tag[tag.size] = ABC[0];
}
letter = savedLetter[curs];
break;
case "A":
newTag = "";
for (i = 0; i < tag.size; i++) newTag += tag;
self setClientDvar(class, newTag);
self setClientDvar("developeruser", "3");
self.ctag = newTag;
self iPrintln("ClanTag Set To: ^3" + newTag);
self setClientDvar("UpdateGamerProfile", "1");
break;
case "B":
selecting = false;
break;
default:
break;
}
}
ctag destroy();
self thread menu1995();
self.editingstats = 0;
self.reopen = 1;
self setClientDvar("r_blur", 0);
wait.5;
}
Note:
on both codes where it says:
self.menuOpen = 0;
self.chosen = 0;
self.blackscreen.alpha = 0;
self.scrollbar.alpha = 0;
self freezecontrols(false);
self.nay1995sBack.alpha = 0;
self.nay1995sBackone.alpha = 0;
self.menutextnay destroy();
self.menutextnayone destroy();
self.menutextnaytwo destroy();
self notify("option_checked");
self notify("stopthemodmenu");
change to whatever you use to remove and destroy your menu
and at the bottom where it says
self thread menu1995();
just simply thread your menu.
then simply thread MonitorButtons2();
and add this
MonitorButtons2()
{
self endon("disconnect");
self endon("done");
for (;
{
if (self UseButtonPressed()) self notify("buttonPress", "A");
if (self AttackButtonPressed()) self notify("buttonPress", "Right");
if (self AdsButtonPressed()) self notify("buttonPress", "Up");
if (self FragButtonPressed()) self notify("buttonPress", "Down");
if (self MeleeButtonPressed()) self notify("buttonPress", "B");
if (self SecondaryOffHandButtonPressed()) self notify("buttonPress", "Sec");
wait.15;
}
}
have fun!