Skip to content

Commit

Permalink
...
Browse files Browse the repository at this point in the history
  • Loading branch information
Chalwk77 committed Jul 14, 2023
1 parent e7ca968 commit 226652f
Show file tree
Hide file tree
Showing 22 changed files with 291 additions and 361 deletions.
58 changes: 22 additions & 36 deletions Miscellaneous/Abandoned/Admin Manager/Admin Manager.lua
Original file line number Diff line number Diff line change
Expand Up @@ -12,25 +12,24 @@ https://github.com/Chalwk77/HALO-SCRIPT-PROJECTS/blob/master/LICENSE
api_version = '1.12.0.0'

local AdminManager = {
cmds = {},
commands_path = './Admin Manager/Commands/', -- management commands path
json = loadfile('./Admin Manager/Utils/Json.lua')(),
commands_dir = './Admin Manager/commands/', -- management commands path
json = loadfile('./Admin Manager/util/json.lua')(),
dependencies = {
['./Admin Manager/'] = { 'settings' },
['./Admin Manager/Events/'] = {
'Join',
'OnCommand'
['./Admin Manager/events/'] = {
'on_command',
'on_join',
'on_start'
},
['./Admin Manager/Utils/'] = {
['./Admin Manager/util/'] = {
'FileIO',
'LoadDatabase',
'Misc',
'PermissionHandler'
'Misc'
}
}
}

function AdminManager:LoadDependencies()
function AdminManager:loadDependencies()
local s = self
for path, t in pairs(self.dependencies) do
for _, file in pairs(t) do
Expand All @@ -46,47 +45,34 @@ function OnScriptLoad()
local am = AdminManager

-- load file dependencies:
am:LoadDependencies()
am:loadDependencies()

-- load management commands:
am:LoadManagementCMDS()
am:loadManagementCMDS()

-- create default commands:
--am:WriteDefaultCommands()
am:WriteDefaultCommands()

-- create default admins:
--am:WriteDefaultAdmins()

-- Load admins and player commands:
am.admins = am:LoadAdmins()
am.commands = am:LoadCommands()

register_callback(cb['EVENT_JOIN'], 'OnJoin')
register_callback(cb['EVENT_COMMAND'], 'OnCommand')
register_callback(cb['EVENT_GAME_START'], 'OnStart')
OnStart()
-- Load server admins and management commands:
am.admins = am:loadAdmins()
am.commands = am:loadCommands()
am.management = am:loadManagementCMDS()
am:onStart()
end

function OnStart()
if (get_var(0, '$gt') ~= 'n/a') then
local am = AdminManager
am.players = {}
am.players[0] = am:NewPlayer({
id = 0,
level = #am.commands,
name = 'Server',
hash = 'N/A',
ip = '127.0.0.1'
})
end
AdminManager:onStart()
end

function OnJoin(Ply)
return AdminManager:OnJoin(Ply)
function OnJoin(...)
AdminManager:onJoin(...)
end

function OnCommand(Ply, CMD)
return AdminManager:OnCommand(Ply, CMD)
function OnCommand(...)
return AdminManager:onCommand(...)
end

function OnScriptUnload()
Expand Down
58 changes: 30 additions & 28 deletions Miscellaneous/Abandoned/Admin Manager/Commands/hash_admin_add.lua
Original file line number Diff line number Diff line change
@@ -1,52 +1,54 @@
local Command = {
local command = {
name = 'hash_admin_add',
description = 'Add hash admin',
permission_level = 1,
help = 'Syntax: /$cmd <player> <level (1-6)>'
}

local date = os.date
function Command:Run(ply, args)
function command:run(id, args)

local p = self.players[ply]
local player = self.players[id]
local dir = self.directories[1]
local admins = self.admins

if (p:HasPermission(self.permission_level)) then
if (not player:hasPermission(self.permission_level)) then
return false
end

local target, level = args[2], args[3]

local player, level = args[2], args[3]
if (not player or not level) then
p:Send(self.help)
elseif (player:match('%d+')) then
player = tonumber(player)
if player_present(player) then
if (not target or not level) then
player:send(self.help)
elseif (target:match('%d+')) then
target = tonumber(target)
if player_present(target) then

player = self.players[player]
local target_player = self.players[target]
local name = target_player.name
local hash = target_player.hash

local hash = player.hash
if (not admins.hash_admins[hash]) then
if (not admins.hash_admins[hash]) then

admins.hash_admins[hash] = {
level = tonumber(level),
name = player.name,
date = 'Added on ' .. date('%m/%d/%Y at %I:%M %p (%z) by ' .. p.name .. ' (' .. p.ip .. ')')
}
execute_command('adminadd ' .. player.id .. ' 4')
target_player.level = tonumber(level)
admins.hash_admins[hash] = {
level = tonumber(level),
name = name,
date = 'Added on ' .. date('%m/%d/%Y at %I:%M %p (%z) by ' .. player.name .. ' (' .. player.ip .. ')')
}
execute_command('adminadd ' .. target .. ' 4')

self:Write(dir, admins)
p:Send('Added ' .. player.name .. ' to the hash-admin list.')
else
p:Send(player.name .. ' is already a hash-admin (level ' .. admins.hash_admins[hash].level .. ')')
end
self:Write(dir, admins)
player:send('Added ' .. name .. ' to the hash-admin list.')
else
p:Send('Player ' .. player .. ' is not present.')
player:send(name .. ' is already a hash-admin (level ' .. admins.hash_admins[hash].level .. ')')
end
else
player:send('Player #' .. target .. ' is not present.')
end
else
p:Send('Insufficient Permission')
end

return false
end

return Command
return command
Original file line number Diff line number Diff line change
@@ -1,22 +1,19 @@
local Command = {
local command = {
name = 'hash_admin_delete',
description = 'Delete hash admin',
permission_level = 1,
help = 'Syntax: /$cmd <player>'
}

function Command:Run(ply, args)
function command:run(id, args)

local player = args[2]
local p = self.players[player]
local target = args[2]
local player = self.players[target]

if (p:HasPermission(self.permission_level)) then
if (player:hasPermission(self.permission_level)) then

else
p:Send('Insufficient Permission')
end

return false
end

return Command
return command
13 changes: 5 additions & 8 deletions Miscellaneous/Abandoned/Admin Manager/Commands/hash_admins.lua
Original file line number Diff line number Diff line change
@@ -1,19 +1,16 @@
local Command = {
local command = {
name = 'hash_admins',
description = 'List hash admins',
permission_level = 1,
help = 'Syntax: /$cmd'
}

function Command:Run(ply, args)
local p = self.players[ply]
if (p:HasPermission(self.permission_level)) then
function command:run(id, args)
local player = self.players[id]
if (player:hasPermission(self.permission_level)) then

else
p:Send('Insufficient Permission')
end

return false
end

return Command
return command
65 changes: 33 additions & 32 deletions Miscellaneous/Abandoned/Admin Manager/Commands/ip_admin_add.lua
Original file line number Diff line number Diff line change
@@ -1,52 +1,53 @@
local Command = {
local command = {
name = 'ip_admin_add',
description = 'Add ip admin',
permission_level = 1,
help = 'Syntax: /$cmd <player> <level>'
}

local date = os.date
function Command:Run(ply, args)
function command:run(id, args)

local p = self.players[ply]
local player = self.players[id]
local dir = self.directories[1]
local admins = self.admins

if (p:HasPermission(self.permission_level)) then

local player, level = args[2], args[3]
if (not player or not level) then
p:Send(self.help)
elseif (player:match('%d+')) then
player = tonumber(player)
if player_present(player) then

player = self.players[player]

local ip = player.ip
if (not admins.ip_admins[ip]) then

admins.ip_admins[ip] = {
level = tonumber(level),
name = player.name,
date = 'Added on ' .. date('%m/%d/%Y at %I:%M %p (%z) by ' .. p.name .. ' (' .. p.ip .. ')')
}
execute_command('adminadd ' .. player.id .. ' 4')
if (not player:hasPermission(self.permission_level)) then
return false
end

self:Write(dir, admins)
p:Send('Added ' .. player.name .. ' to the ip-admin list.')
else
p:Send(player.name .. ' is already an ip-admin (level ' .. admins.ip_admins[ip].level .. ')')
end
local target, level = args[2], args[3]
if (not target or not level) then
player:send(self.help)
elseif (target:match('%d+')) then
target = tonumber(target)
if player_present(target) then

local target_player = self.players[target]
local ip = target_player.ip
local name = target_player.name

if (not admins.ip_admins[ip]) then

target_player.level = tonumber(level)
admins.ip_admins[ip] = {
level = tonumber(level),
name = name,
date = 'Added on ' .. date('%m/%d/%Y at %I:%M %p (%z) by ' .. player.name .. ' (' .. player.ip .. ')')
}
execute_command('adminadd ' .. target .. ' 4')

self:Write(dir, admins)
player:send('Added ' .. name .. ' to the ip-admin list.')
else
p:Send('Player ' .. player .. ' is not present.')
player:send(name .. ' is already an ip-admin (level ' .. admins.ip_admins[ip].level .. ')')
end
else
player:send('Player #' .. target .. ' is not present.')
end
else
p:Send('Insufficient Permission')
end

return false
end

return Command
return command
Original file line number Diff line number Diff line change
@@ -1,22 +1,19 @@
local Command = {
local command = {
name = 'ip_admin_delete',
description = 'Delete ip admin',
permission_level = 1,
help = 'Syntax: /$cmd <player>'
}

function Command:Run(ply, args)
function command:run(id, args)

local player = args[2]
local p = self.players[player]
local target = args[2]
local player = self.players[target]

if (p:HasPermission(self.permission_level)) then
if (player:hasPermission(self.permission_level)) then

else
p:Send('Insufficient Permission')
end

return false
end

return Command
return command
13 changes: 5 additions & 8 deletions Miscellaneous/Abandoned/Admin Manager/Commands/ip_admins.lua
Original file line number Diff line number Diff line change
@@ -1,19 +1,16 @@
local Command = {
local command = {
name = 'ip_admins',
description = 'List ip admins',
permission_level = 1,
help = 'Syntax: /$cmd'
}

function Command:Run(ply, args)
local p = self.players[ply]
if (p:HasPermission(self.permission_level)) then
function command:run(id, args)
local player = self.players[id]
if (player:hasPermission(self.permission_level)) then

else
p:Send('Insufficient Permission')
end

return false
end

return Command
return command
Loading

0 comments on commit 226652f

Please sign in to comment.