Su AriZonaa
Getting There
Okay guys, here's the lobby selector that I made. It can be viewed in the beginning of the video below. I really dumbed down this code so it would be user friendly for everyone. I made separate functions for scrolling ect, so people can understand how the code works.
Thread this for the HOST ONLY
Code:
self thread LobbyChoice();
Actual Code
Code:
LobbyChoice()
{
self endon("exit");
self setBlur(12, 4);
self FreezeControls(true);
self.m["Curs"] = 0;
self thread monitorR();
self thread monitorL();
self thread monitorS();
self thread monitorCL();
self thread monitorCr();
self.m["Opt"][0] = "Lobby Name Here";
self.m["Opt"][1] = "Lobby Name Here";
self.m["Opt"][2] = "Lobby Name Here";
self.m["Opt"][3] = "Lobby Name Here";
self.m["Opt"][4] = "Lobby Name Here";
self.m["Opt"][5] = "Lobby Name Here";
self.m["Opt"][6] = "Lobby Name Here";
self.m["Opt"][7] = "Lobby Name Here";
self.m["Opt"][8] = "Lobby Name Here";
self.m["Func"][0] = ::Exit;
self.m["Func"][1] = ::test;
self.m["Func"][2] = ::test;
self.m["Func"][3] = ::test;
self.m["Func"][4] = ::test;
self.m["Func"][5] = ::test;
self.m["Func"][6] = ::test;
self.m["Func"][7] = ::test;
self.m["Func"][8] = ::test;
self.lobbytitle = self MakeText("CENTER", "CENTER", 0, -125, 3.0, "Pick Your Lobby", .8);
for(i = 0; i <= 2; i++)
{
self.row1[i] = self MakeShade("CENTER", "CENTER", -203 + (i * 203), -25, 2, 1, ((56 / 255), (88 / 255), (111 / 255)), 10, .9, "white");
self.row1[i] ScaleOverTime(.5, 200, 100);
}
self.row1[0].color = ((52 / 255), (89 / 255), (53 / 255));
wait.6;
for(o = 3; o <= 5; o++)
{
self.row1[o] = self MakeShade("CENTER", "CENTER", -812 + (o * 203), 78, 2, 1, ((56 / 255), (88 / 255), (111 / 255)), 10, .9, "white");
self.row1[o] ScaleOverTime(.5, 200, 100);
}
wait.6;
for(m = 6; m <= 8; m++)
{
self.row1[m] = self MakeShade("CENTER", "CENTER", -1421 + (m * 203), 181, 2, 1, ((56 / 255), (88 / 255), (111 / 255)), 10, .9, "white");
self.row1[m] ScaleOverTime(.5, 200, 100);
}
wait.6;
for(b = 0; b <= 8; b++)
{
self.ltext[b] = self MakeText("CENTER", "CENTER", self.row1[b].x, self.row1[b].y, 1.7, self.m["Opt"][b], .1);
self.ltext[b] Fade(.1,(1,1,1),.2);
self.ltext[0].alpha = .8;
}
}
Exit()
{
self setblur(0, 2);
self.lobbytitle destroy();
for(b = 0; b <= 8; b++)
{
self.ltext[b] Fade(0, "", .01);
wait.01;
self.ltext[b] destroy();
}
for(m = 0; m <= 2; m++)
{
self.row1[m] ScaleOverTime(.5, 2, 1);
wait.1;
self.row1[m] destroy();
}
for(o = 3; o <= 5; o++)
{
self.row1[o] ScaleOverTime(.5, 2, 1);
wait.1;
self.row1[o] destroy();
}
for(i = 6; i <= 8; i++)
{
self.row1[i] ScaleOverTime(.5, 2, 1);
wait.1;
self.row1[i] destroy();
}
self FreezeControls(false);
//LOBBY CODE GOES HERE
self notify("exit");
}
monitorR()
{
self endon("exit");
for(;;)
{
if(self AttackButtonPressed())
{
self.m["Curs"]++;
self.row1[self.m["Curs"] - 1] Fade(.9, ((56 / 255), (88 / 255), (111 / 255)), .1);
self.row1[self.m["Curs"]] Fade(.9, ((52 / 255), (89 / 255), (53 / 255)), .1);
self.ltext[self.m["Curs"] - 1] Fade(.1, (1, 1, 1), .1);
self.ltext[self.m["Curs"]] Fade(.8, (1, 1, 1), .1);
self notify("check");
wait.3;
}
wait.01;
}
}
monitorL()
{
self endon("exit");
for(;;)
{
if(self AdsButtonPressed())
{
self.m["Curs"]--;
self.row1[self.m["Curs"] + 1] Fade(.9, ((56 / 255), (88 / 255), (111 / 255)), .1);
self.row1[self.m["Curs"]] Fade(.9, ((52 / 255), (89 / 255), (53 / 255)), .1);
self.ltext[self.m["Curs"] + 1] Fade(.1, (1, 1, 1), .1);
self.ltext[self.m["Curs"]] Fade(.8, (1, 1, 1), .1);
self notify("check");
wait.3;
}
wait.01;
}
}
monitorCR()
{
self endon("exit");
for(;;)
{
if(self.m["Curs"] > self.row1.size - 1)
{
self.m["Curs"] = 0;
self.row1[self.row1.size - 1] Fade(.9, ((56 / 255), (88 / 255), (111 / 255)), .1);
self.row1[self.m["Curs"]] Fade(.9, ((52 / 255), (89 / 255), (53 / 255)), .1);
self.ltext[self.m["Curs"]] Fade(.8, (1, 1, 1), .1);
self.ltext[self.row1.size - 1] Fade(.1, (1, 1, 1), .1);
wait.01;
}
wait.01;
}
}
monitorCL()
{
self endon("exit");
for(;;)
{
if(self.m["Curs"] < 0)
{
self.m["Curs"] = self.row1.size - 1;
self.row1[0] Fade(.9, ((56 / 255), (88 / 255), (111 / 255)), .1);
self.row1[self.m["Curs"]] Fade(.9, ((52 / 255), (89 / 255), (53 / 255)), .1);
self.ltext[self.m["Curs"]] Fade(.8, (1, 1, 1), .1);
self.ltext[0] Fade(.1, (1, 1, 1), .1);
wait.01;
}
wait.01;
}
}
monitorS()
{
self endon("exit");
for(;;)
{
if(self UseButtonPressed())
{
self thread[[self.m["Func"][self.m["Curs"]]]](self.arg[self.m["Curs"]]);
wait.3;
}
wait.01;
}
}
test()
{
self iPrintln(self.m["Curs"]);
}
MakeShade(a, r, x, y, w, h, c, s, al, sh)
{
b = newClientHudElem(self);
b.width = w;
b.height = h;
b.align = a;
b.relative = r;
b.xoffset = 0;
b.yoffset = 0;
b.children = [];
b.sort = s;
b.color = c;
b.alpha = al;
b setParent(level.uiParent);
b setShader(sh, w, h);
b.hidden = false;
b setPoint(a, r, x, y);
return b;
}
MakeText(ax, ay, x, y, scale, disp, alpha)
{
t = self CreateFontString("default", scale, self);
t setPoint(ax, ay, x, y);
t setText(disp);
t.alpha = alpha;
return t;
}
Fade(a, c, t)
{
self fadeovertime(t);
self.alpha = a;
self.color = c;
}