This introduces 4 new methods inside the frmHub object, which make redirect management easier.
frmHub:GetRed(what) returns 0 if off, 1 if on, -1 on failure
frmHub:GetRedAddy(what) returns the redirect address or -1 on failure.
frmHub:SetRed(what,option) option can be 0 or 1, returns non-nil on success, nil on failure
frmHub:SetRedAddy(what,addy) returns non-nil on success, nil on failure
what can be:
"share"
"maxhubs"
"ratio"
"slots"
"full"
"allnew"
"ban"
"default"
"regonly"
"tempban"
"nickrule"
"notag"
frmHub.SetRedAddy=function(self,what,addy)
local FuncTable=
{
["share"]=function (addy)
self:SetShareRedirAddr(addy)
end,
["slots"]=function (addy)
self:SetSlotsRedirAddr(addy)
end,
["ratio"]=function (addy)
self:SetRatioRedirAddr(addy)
end,
["maxhubs"]=function (addy)
self:SetMaxHubsRedirAddr(addy)
end,
["nickrule"]= function (addy)
self:SetNickRuleRedirAddr(addy)
end,
["tempban"]=function (addy)
self:SetTempBanRedirAddr(addy)
end,
["regonly"]=function (addy)
self:SetRegOnlyRedirAddr(addy)
end,
["ban"]=function (addy)
self:SetBanRedirAddr(addy)
end,
["default"]=function (addy)
self:SetRedirectAddress(addy)
end,
["notag"]=function (addy)
self:SetNoTagRedirAddr(addy)
end,
}
if FuncTable[what] then
FuncTable[what](addy)
return true
end
end
frmHub.GetRedAddy=function(self,what)
local FuncTable=
{
["share"]=function ()
return self:GetShareRedirAddr()
end,
["slots"]=function ()
return self:GetSlotsRedirAddr()
end,
["ratio"]=function ()
return self:GetRatioRedirAddr()
end,
["maxhubs"]=function ()
return self:GetMaxHubsRedirAddr()
end,
["nickrule"]=function ()
return self:GetNickRuleRedirAddr()
end,
["tempban"]=function ()
return self:GetTempBanRedirAddr()
end,
["regonly"]=function ()
return self:GetRegOnlyRedirAddr()
end,
["ban"]=function ()
return self:GetBanRedirAddr()
end,
["default"]=function ()
return self:GetRedirectAddress()
end,
["notag"]=function ()
return self:GetNoTagRedirAddr()
end
}
if not FuncTable[what] then return -1
else return FuncTable[what]() end
end
frmHub.SetRed=function(self,what,p)
local FuncTable=
{
["share"]=function (p)
self:SetShareRedirect(p)
end,
["slots"]=function (p)
self:SetSlotsRedirect(p)
end,
["ratio"]=function (p)
self:SetRatioRedirect(p)
end,
["maxhubs"]=function (p)
self:SetMaxHubsRedirect(p)
end,
["nickrule"]=function (p)
self:SetNickRuleRedirect(p)
end,
["tempban"]=function (p)
self:SetTempBanRedirect(p)
end,
["regonly"]=function (p)
self:SetRegOnlyRedirect(p)
end,
["ban"]=function (p)
self:SetBanRedirect(p)
end,
["allnew"]=function (p)
if p then self:SetRedirectFull(math.abs(p-1)) end -- lol
self:SetRedirectAll(p)
end,
["full"]=function (p)
self:SetRedirectFull(p)
end,
}
if FuncTable[what] then
FuncTable[what](p)
return true
end
end
frmHub.GetRed=function(self,what)
local FuncTable=
{
["share"]=function ()
return self:GetShareRedirect()
end,
["slots"]=function ()
return self:GetSlotsRedirect()
end,
["ratio"]=function ()
return self:GetRatioRedirect()
end,
["maxhubs"]=function ()
return self:GetMaxHubsRedirect()
end,
["nickrule"]=function ()
return self:GetNickRuleRedirect()
end,
["tempban"]=function ()
return self:GetTempBanRedirect()
end,
["regonly"]=function ()
return self:GetRegOnlyRedirect()
end,
["ban"]=function ()
return self:GetBanRedirect()
end,
["allnew"]=function ()
return self:GetRedirectAll()
end,
["full"]=function ()
return self:GetRedirectFull()
end,
}
if not FuncTable[what] then return -1
else return FuncTable[what]() end
end