mirror of
https://github.com/PHIDIAS0303/ExpCluster.git
synced 2025-12-30 12:31:41 +09:00
Changed events to use common format
This commit is contained in:
@@ -3,21 +3,23 @@ local Game = require 'utils.game'
|
||||
local Global = require 'utils.global'
|
||||
local move_items = ext_require('expcore.common','move_items')
|
||||
|
||||
local Public = {
|
||||
local Jail = {
|
||||
old_roles = {},
|
||||
temp_bans = {},
|
||||
player_jailed=script.generate_event_name(),
|
||||
player_unjailed=script.generate_event_name(),
|
||||
player_temp_banned=script.generate_event_name(),
|
||||
player_clear_temp_ban=script.generate_event_name()
|
||||
events = {
|
||||
on_player_jailed=script.generate_event_name(),
|
||||
on_player_unjailed=script.generate_event_name(),
|
||||
on_player_temp_banned=script.generate_event_name(),
|
||||
on_player_temp_ban_cleared=script.generate_event_name()
|
||||
}
|
||||
}
|
||||
|
||||
Global.register({
|
||||
old_roles = Public.old_roles,
|
||||
temp_bans = Public.temp_bans
|
||||
old_roles = Jail.old_roles,
|
||||
temp_bans = Jail.temp_bans
|
||||
},function(tbl)
|
||||
Public.old_roles = tbl.old_roles
|
||||
Public.temp_bans = tbl.temp_bans
|
||||
Jail.old_roles = tbl.old_roles
|
||||
Jail.temp_bans = tbl.temp_bans
|
||||
end)
|
||||
|
||||
local function event_emit(event,player,by_player_name,reason)
|
||||
@@ -34,15 +36,15 @@ end
|
||||
-- @tparam LuaPlayer player the player that will be jailed, must not be in jail
|
||||
-- @tparam[opt='<server>'] string by_player_name the name of the player doing the action used in logs
|
||||
-- @treturn the number of roles that were removed, nil if there was an error
|
||||
function Public.jail_player(player,by_player_name)
|
||||
function Jail.jail_player(player,by_player_name)
|
||||
player = Game.get_player_from_any(player)
|
||||
if not player then return end
|
||||
if Roles.player_has_role(player,'Jail') then return end
|
||||
local old_roles = Roles.get_player_roles(player)
|
||||
Public.old_roles[player.name] = old_roles
|
||||
Jail.old_roles[player.name] = old_roles
|
||||
Roles.unassign_player(player,old_roles,by_player_name,true)
|
||||
Roles.assign_player(player,'Jail',by_player_name,true)
|
||||
event_emit(Public.player_jailed,player,by_player_name)
|
||||
event_emit(Jail.events.on_player_jailed,player,by_player_name)
|
||||
return #old_roles
|
||||
end
|
||||
|
||||
@@ -50,14 +52,14 @@ end
|
||||
-- @tparam LuaPlayer player the player that will be unjailed, must be in jail
|
||||
-- @tparam[opt='<server>'] string string by_player_name the name of the player who is doing the action
|
||||
-- @treturn the number of roles that were added, nil if there was an error
|
||||
function Public.unjail_player(player,by_player_name)
|
||||
function Jail.unjail_player(player,by_player_name)
|
||||
player = Game.get_player_from_any(player)
|
||||
if not player then return end
|
||||
if not Roles.player_has_role(player,'Jail') then return end
|
||||
local old_roles = Public.old_roles[player.name]
|
||||
local old_roles = Jail.old_roles[player.name]
|
||||
Roles.unassign_player(player,'Jail',by_player_name,true)
|
||||
Roles.assign_player(player,old_roles,by_player_name,true)
|
||||
event_emit(Public.player_unjailed,player,by_player_name)
|
||||
event_emit(Jail.events.on_player_unjailed,player,by_player_name)
|
||||
return #old_roles
|
||||
end
|
||||
|
||||
@@ -66,17 +68,17 @@ end
|
||||
-- @tparam[opt='<server>'] string by_player_name the name of the player that is doing the action
|
||||
-- @tparam[opt='None string Given.'] reason the reason that will be stored for this temp ban
|
||||
-- @treturn boolean true if successful else will return nil
|
||||
function Public.temp_ban_player(player,by_player_name,reason)
|
||||
function Jail.temp_ban_player(player,by_player_name,reason)
|
||||
player = Game.get_player_from_any(player)
|
||||
reason = reason or 'None Given.'
|
||||
if not player then return end
|
||||
if Public.temp_bans[player.name] then return end
|
||||
Public.jail_player(player,by_player_name)
|
||||
Public.temp_bans[player.name] = {reason,by_player_name}
|
||||
if Jail.temp_bans[player.name] then return end
|
||||
Jail.jail_player(player,by_player_name)
|
||||
Jail.temp_bans[player.name] = {reason,by_player_name}
|
||||
local inv = player.get_main_inventory()
|
||||
move_items(inv.get_contents())
|
||||
inv.clear()
|
||||
event_emit(Public.player_temp_banned,player,by_player_name,reason)
|
||||
event_emit(Jail.events.on_player_temp_banned,player,by_player_name,reason)
|
||||
return true
|
||||
end
|
||||
|
||||
@@ -84,14 +86,14 @@ end
|
||||
-- @tparam LuaPlayer player the player that will be cleared from temp baned, must be temp banned
|
||||
-- @tparam[opt='<server>'] string by_player_name the name of the player that is doing the action
|
||||
-- @treturn boolean true if successful else will return nil
|
||||
function Public.clear_temp_ban_player(player,by_player_name)
|
||||
function Jail.clear_temp_ban_player(player,by_player_name)
|
||||
player = Game.get_player_from_any(player)
|
||||
if not player then return end
|
||||
if not Public.temp_bans[player.name] then return end
|
||||
Public.unjail_player(player,by_player_name)
|
||||
Public.temp_bans[player.name] = nil
|
||||
event_emit(Public.player_clear_temp_ban,player,by_player_name)
|
||||
if not Jail.temp_bans[player.name] then return end
|
||||
Jail.unjail_player(player,by_player_name)
|
||||
Jail.temp_bans[player.name] = nil
|
||||
event_emit(Jail.events.on_player_temp_ban_cleared,player,by_player_name)
|
||||
return true
|
||||
end
|
||||
|
||||
return Public
|
||||
return Jail
|
||||
Reference in New Issue
Block a user