Not a true swap, but something to work with anyway...
------------------------------ Make Prisoner------------------------------
function ulx.makeprisoner( calling_ply, target_plys )
local affected_plys = {}
for i=1, #target_plys do
local v = target_plys[ i ]
if ulx.getExclusive( v, calling_ply ) then
ULib.tsayError( calling_ply, ulx.getExclusive( v, calling_ply ), true )
//elseif not v:Alive() then
// ULib.tsayError( calling_ply, v:Nick() .. " is already dead!", true )
elseif v:IsFrozen() then
ULib.tsayError( calling_ply, v:Nick() .. " is frozen!", true )
else
v:KillSilent()
v:SetTeam(TEAM_PRISONER)
v.AllowRespawn = true
v:Spawn();
table.insert( affected_plys, v )
end
end
ulx.fancyLogAdmin( calling_ply, "#A changed the team of #T", affected_plys )
end
local makeprisoner = ulx.command( CATEGORY_NAME, "ulx makeprisoner", ulx.makeprisoner, "!makeprisoner" )
makeprisoner:addParam{ type=ULib.cmds.PlayersArg }
makeprisoner:defaultAccess( ULib.ACCESS_ADMIN )
makeprisoner:help( "Changes the team of the target(s) to prisoner." )
------------------------------ Make Guard ------------------------------
function ulx.makeguard( calling_ply, target_plys )
local affected_plys = {}
for i=1, #target_plys do
local v = target_plys[ i ]
if ulx.getExclusive( v, calling_ply ) then
ULib.tsayError( calling_ply, ulx.getExclusive( v, calling_ply ), true )
//elseif not v:Alive() then
// ULib.tsayError( calling_ply, v:Nick() .. " is already dead!", true )
elseif v:IsFrozen() then
ULib.tsayError( calling_ply, v:Nick() .. " is frozen!", true )
else
v:KillSilent()
v:SetTeam(TEAM_GUARD)
v.AllowRespawn = true
v:Spawn();
table.insert( affected_plys, v )
end
end
ulx.fancyLogAdmin( calling_ply, "#A changed the team of #T", affected_plys )
end
local makeguard = ulx.command( CATEGORY_NAME, "ulx makeguard", ulx.makeguard, "!makeguard" )
makeguard:addParam{ type=ULib.cmds.PlayersArg }
makeguard:defaultAccess( ULib.ACCESS_ADMIN )
makeguard:help( "Changes the team of the target(s) to prisoner." )
------------------------------ Make Warden ------------------------------
function ulx.makewarden( calling_ply, target_plys )
local affected_plys = {}
for i=1, #target_plys do
local v = target_plys[ i ]
if ulx.getExclusive( v, calling_ply ) then
ULib.tsayError( calling_ply, ulx.getExclusive( v, calling_ply ), true )
elseif not v:Alive() then
ULib.tsayError( calling_ply, v:Nick() .. " is already dead!", true )
elseif v:IsFrozen() then
ULib.tsayError( calling_ply, v:Nick() .. " is frozen!", true )
else
local warden=JB.TRANSMITTER:GetJBWarden()
if IsValid(warden) then
warden:RemoveWardenStatus();
table.insert( affected_plys, warden )
end
v:KillSilent()
v:SetTeam(TEAM_GUARD)
v.AllowRespawn = true
v:Spawn();
v:AddWardenStatus();
table.insert( affected_plys, v )
end
end
ulx.fancyLogAdmin( calling_ply, "#A forced warden #T", affected_plys )
end
local makewarden = ulx.command( CATEGORY_NAME, "ulx makewarden", ulx.makewarden, "!makewarden" )
makewarden:addParam{ type=ULib.cmds.PlayersArg }
makewarden:defaultAccess( ULib.ACCESS_ADMIN )
makewarden:help( "Force warden of the target(s)." )