Hello people,
Pretty much I have a deathrun server, and I was wondering how I would make it if a user is on TEAM_DEATH and the user slays themselves, ONLY if they slay themselves, how I would get it to respawn them, because I don't want it respawning if slayed by someone on TEAM_RUNNER, or slayed by someone else on the death team, how would I do this..?
[CODE]
if TEAM == TEAM_DEATH and ... then
v:Spawn()
else
return( false )
end
[/CODE]
I had an idea of it being something like this... (I'm not that great at coding, but I assumed it would be SOMETHING like this...) I'm sure this is completely incorrect way of starting out, but I was wondering if someone can point me in the right direction of this... thanks
Why not just block suiciding?
[url]http://wiki.garrysmod.com/page/GM/CanPlayerSuicide[/url]
Suiciding is blocked, but slaying bypasses it.
Why do you allow users to slay themselves/others? Isn't that just suicide?
I don't allow them to slay themselves, but I have some admins that tend to anyways, And I believe it is just suicide, but it still doesn't stop them, because deathrun automatically stops deaths from typing explode in console, which it stops, but slaying doesn't.
In the slay command, just put something like
[code]if SlayTarget == Slayer then return end[/code]
It seems to disallow me to actually slay anyone now... help would be appreciated.. thanks
What is the exact code you used?
[CODE]
function ulx.slay( calling_ply, target_plys )
local affected_plys = {}
if SlayTarget == Slayer then return end
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:Kill()
table.insert( affected_plys, v )
end
end
ulx.fancyLogAdmin( calling_ply, "#A slayed #T", affected_plys )
end
local slay = ulx.command( CATEGORY_NAME, "ulx slay", ulx.slay, "!slay" )
slay:addParam{ type=ULib.cmds.PlayersArg }
slay:defaultAccess( ULib.ACCESS_ADMIN )
slay:help( "Slays target(s)." )
[/CODE]
Is what it looks like atm.
[QUOTE=Cheissos;45040545][CODE]
function ulx.slay( calling_ply, target_plys )
local affected_plys = {}
if SlayTarget == Slayer then return end
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:Kill()
table.insert( affected_plys, v )
end
end
ulx.fancyLogAdmin( calling_ply, "#A slayed #T", affected_plys )
end
local slay = ulx.command( CATEGORY_NAME, "ulx slay", ulx.slay, "!slay" )
slay:addParam{ type=ULib.cmds.PlayersArg }
slay:defaultAccess( ULib.ACCESS_ADMIN )
slay:help( "Slays target(s)." )
[/CODE]
Is what it looks like atm.[/QUOTE]
so you want them to not beable to slay the TEAM_DEATH?
I want the person to not be able to slay themselves, if you take a look at this
if SlayTarget == Slayer then return end
Uh, those variables don't exist. They were just examples.
oh... my bad LOL, such a stupid thing I did, sorry, let me go fix it.
[QUOTE=Cheissos;45040569]I want the person to not be able to slay themselves, if you take a look at this
if SlayTarget == Slayer then return end[/QUOTE]
Why would you want them not to slay them selfs?
So I got something like this
if target_ply == v then return end
But for V, what would I set? I tried LocalPlayer(), ply, v, none of them seem to work.
[quote]I don't allow them to slay themselves, but I have some admins that tend to anyways[/quote]
Uh, might it be a better idea to just speak to the admins doing it as opposed to trying awkward ULX work arounds?
[lua]
elseif v == calling_ply then
ULib.tsayError( calling_ply, v:Nick() .. " attempted to slay themself", true )
[/lua]
Add that to the conditional statment
[QUOTE=NiandraLades;45041502]Uh, might it be a better idea to just speak to the admins doing it as opposed to trying awkward ULX work arounds?[/QUOTE]
Nah, that involves an element of trust! Because obviously you get admins you dont trust, riiiiiight?
Sorry, you need to Log In to post a reply to this thread.