Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- flags by lauscript
- Radlands.Flags = { }
- Radlands.Flags.Registered = { }
- function Radlands.Flags:New( flagname, flagdescription, flagkey )
- if ( !flagname or !flagdescription or !flagkey ) then return end
- self.Registered[ flagkey ] = { Name = flagname, Description = flagdescription }
- end
- function Radlands.Flags:Get( key )
- if ( key and self.Registered[ key ] ) then
- return self.Registered[ key ]
- end
- end
- function Radlands.Flags:GetName( key )
- if ( !key ) then return end
- local info = self:Get( key );
- return info["Name"]
- end
- function Radlands.Flags:GetDescription( key )
- if ( !key ) then return end
- local info = self:Get( key );
- return info["Description"]
- end
- function Radlands.Flags:Exists( key )
- if ( !key ) then return end
- if ( self.Registered[ key ] ) then
- return true
- else
- return false
- end
- end
- function Radlands.Flags:Unpack( player )
- if ( player:GetPData("Flags") ) then
- local info = glon.decode( player:GetPData("Flags") )
- return info
- end
- end
- function Radlands.Flags:Pack( player, newtable )
- if ( newtable ) then
- local info = glon.encode( newtable )
- player:SetPData("Flags", info );
- end
- end
- function Radlands.Flags:Give( player, key )
- if ( !key or !self:Exists( key ) ) then return end
- if ( player:GetPData("Flags") ) then
- local flags = self:Unpack( player );
- if ( !flags[ key ] ) then
- table.insert( flags, key )
- self:Pack( player, flags );
- end
- else
- local flags = { }
- table.insert( flags, key )
- self:Pack( player, flags );
- end
- end
- function Radlands.Flags:HasFlag( player, key )
- if ( !key ) then return end
- local flags = self:Unpack( player );
- if ( flags ) then
- if ( table.HasValue( flags, key ) ) then
- return true
- else
- return false
- end
- else
- return false
- end
- end
- Radlands.Flags:New( "Tooltrust", "Gives access to the toolgun.", "T")
- Radlands.Flags:New( "Phystrust", "Gives access to the physgun.", "P")
Add Comment
Please, Sign In to add comment