NANO BIG HACK MENU BASE V2.3

Hey guys, yeah, arrow keys menu base release have fun
Nice colors too
:>
Code:
local vgui, surface, Color, input, hook, KEY_INSERT, pairs, string = vgui, surface, Color, input, hook, KEY_INSERT, pairs, string;
local KEY_UP, KEY_DOWN, KEY_RIGHT, KEY_LEFT = KEY_UP, KEY_DOWN, KEY_RIGHT, KEY_LEFT;
local menvars = {
["Cheat Name"] = "Menu Base",
["BGColor"] = Color(0, 255, 0, 255),
["TXTColor"] = Color(255, 0, 225, 255),
["OutlineColor"] = Color(225, 255, 0, 255),
["BarColor"] = Color(0, 0, 255, 255),
};
local vars = {
["Aimbot"] = {
{"Autoshoot", 0},
{"NoSpread", 1},
},
["ESP"] = {
{"2D Box", 1},
{"3D Box", 0},
{"Show Text", 0},
},
["Triggerbot"] = {
{"Enabled", 1},
{"Team", 0},
{"Friends", 0},
},
["Menu"] = {
{"Pos X", 5},
{"Pos Y", 5},
},
};
local function gBool(a, b)
if (!vars[a]) then return false; end
local bool;
for i = 1, #vars[a] do
local v = vars[a][i];
if v[1] == b then bool = (v[2] > 0 && true || false); end
end
return(bool || false);
end
local function gInt(a, b)
if (!vars[a]) then return 0; end
local val;
for i = 1, #vars[a] do
local v = vars[a][i];
if v[1] == b then val = v[2]; end
end
return(val || 0);
end
local menuopen, selmade;
local cursel = 1;
local showtabs = {};
local function Menu()
local larrowdown, rarrowdown, darrowdown, uarrowdown;
local main = vgui.Create("DFrame");
main:SetSize(150, 5);
main:SetTitle("");
main:ShowCloseButton(false);
main:SetDraggable(false);
main:SetPos(gInt("Menu", "Pos X"), gInt("Main", "Pos Y"));
local allitems = 0;
local sel = 0;
function main:Paint(w, h)
allitems = 0;
local hh = 25;
surface.SetFont("BudgetLabel");
surface.SetDrawColor(menvars["BGColor"]);
surface.DrawRect(0, 0, w, h);
surface.SetTextPos(5, 5);
surface.SetTextColor(menvars["TXTColor"]);
surface.DrawText(menvars["Cheat Name"]);
for k,v in pairs(vars) do
allitems = allitems + 1;
local citem = allitems;
if (cursel == citem) then
if (sel != 0) then
showtabs[k] = !showtabs[k];
sel = 0;
end
surface.SetDrawColor(menvars["BarColor"]);
surface.DrawRect(0, hh, 150, 15);
end
surface.SetTextPos(5, hh);
surface.DrawText((showtabs[k] and "[-] " or "[+] ")..k);
hh = hh + 15;
if (!showtabs[k]) then continue; end
for _, var in pairs(vars[k]) do
allitems = allitems + 1;
local curitem = allitems;
if (cursel == curitem) then
if (sel != 0) then
if (k == "Menu" && string.find(vars[k][_][1], "Pos")) then sel = sel * 5; end
vars[k][_][2] = (vars[k][_][2] + sel >= 0 && vars[k][_][2] + sel || vars[k][_][2]);
sel = 0;
end
surface.SetDrawColor(menvars["BarColor"]);
surface.DrawRect(0, hh, 150, 16);
end
local shit;
if (k != "Menu") then
shit = vars[k][_][2]..".00";
else
shit = vars[k][_][2];
end
surface.SetTextPos(15, hh);
local n = vars[k][_][1];
if (n != "") then
surface.DrawText(vars[k][_][1]..": "..shit);
end
surface.SetTextPos(15, hh);
hh = hh + 15;
end
end
main:SetSize(150, hh + 5);
main:SetPos(gInt("Menu", "Pos X"), gInt("Menu", "Pos Y"));
surface.SetDrawColor(menvars["OutlineColor"]);
surface.DrawOutlinedRect(0, 0, 150, hh + 5);
end
function main:Think()
if (input.IsKeyDown(KEY_UP) && !uarrowdown) then
if (cursel - 1 > 0) then
cursel = cursel - 1;
end
uarrowdown = true;
elseif (!input.IsKeyDown(KEY_UP)) then
uarrowdown = false;
end
if (input.IsKeyDown(KEY_DOWN) && !darrowdown) then
if (cursel < allitems) then
cursel = cursel + 1;
end
darrowdown = true;
elseif (!input.IsKeyDown(KEY_DOWN)) then
darrowdown = false;
end
if (input.IsKeyDown(KEY_LEFT) && !larrowdown) then
sel = -1;
larrowdown = true;
elseif (!input.IsKeyDown(KEY_LEFT)) then
larrowdown = false;
end
if (input.IsKeyDown(KEY_RIGHT) && !rarrowdown) then
sel = 1;
rarrowdown = true;
elseif (!input.IsKeyDown(KEY_RIGHT)) then
rarrowdown = false;
end
if (input.IsKeyDown(KEY_INSERT) && !insertdown2) then
main:Close();
menuopen = false;
end
end
end
local insertdown = false;
hook.Add("Think", "", function()
if (input.IsKeyDown(KEY_INSERT) && !menuopen && !insertdown) then
menuopen = true;
insertdown = true;
Menu();
elseif (!input.IsKeyDown(KEY_INSERT) && !menuopen) then
insertdown = false;
end
if (input.IsKeyDown(KEY_INSERT) && insertdown && menuopen) then
insertdown2 = true;
else
insertdown2 = false;
end
end);





