Since the site for Ulysses is impossible, maybe you guys can help me. My TTT has the TTT ULX commands installed, which include ULX Slaynr, which slays people next round. I'm having an issue where, if I put a player on slaynr, and the map changes before they are slain, when they are slain on the next map, it kills them, but lets them stay in terrorists team, as if they're alive.
[CODE]function ulx.slaynr( calling_ply, target_ply, num_slay, should_slaynr )
if not GetConVarString("gamemode") == "terrortown" then ULib.tsayError( calling_ply, gamemode_error, true ) else
local affected_plys = {}
local slays_left = tonumber(target_ply:GetPData("slaynr_slays")) or 0
local current_slay
local new_slay
if ulx.getExclusive( target_ply, calling_ply ) then
ULib.tsayError( calling_ply, ulx.getExclusive( target_ply, calling_ply ), true )
elseif num_slay < 0 then
ULib.tsayError( calling_ply, "Invalid integer:\"" .. num_slay .. "\" specified.", true )
else
current_slay = tonumber(target_ply:GetPData("slaynr_slays")) or 0
if not should_slaynr then
new_slay = current_slay + num_slay
else
new_slay = current_slay - num_slay
end
--local slay_reason = reason
--if slay_reason == "reason" then
-- slay_reason = false
--end
if new_slay > 0 then
target_ply:SetPData("slaynr_slays", new_slay)
--target_ply:SetPData("slaynr_reason", slay_reason)
else
target_ply:RemovePData("slaynr_slays")
--target_ply:RemovePData("slaynr_reason")
end
local slays_left = tonumber(target_ply:GetPData("slaynr_slays")) or 0
local slays_removed = ( current_slay - slays_left ) or 0
if slays_removed==0 then
chat_message = ("#T will not be slain next round.")
elseif slays_removed > 0 then
chat_message = ("#A removed ".. slays_removed .." round(s) of slaying from #T.")
elseif slays_left == 1 then
chat_message = ("#A will slay #T next round.")
elseif slays_left > 1 then
chat_message = ("#A will slay #T for the next ".. tostring(slays_left) .." rounds.")
end
ulx.fancyLogAdmin( calling_ply, chat_message, target_ply, reason )
end
end
end
local slaynr = ulx.command( CATEGORY_NAME, "ulx slaynr", ulx.slaynr, "!slaynr" )
slaynr:addParam{ type=ULib.cmds.PlayerArg }
slaynr:addParam{ type=ULib.cmds.NumArg, max=100, default=1, hint="rounds", ULib.cmds.optional, ULib.cmds.round }
--slaynr:addParam{ type=ULib.cmds.StringArg, hint="reason", ULib.cmds.optional}
slaynr:addParam{ type=ULib.cmds.BoolArg, invisible=true }
slaynr:defaultAccess( ULib.ACCESS_ADMIN )
slaynr:help( "Slays target(s) for a number of rounds" )
slaynr:setOpposite( "ulx rslaynr", {_, _, _, true}, "!rslaynr" )[/CODE]
That's pretty normal actually. Though I'm sure of a workaround. They are slain but they count as alive. Best thing to do is respawn then slay them again. Unless someone can provide a workaround for you
I would probably recommend to check if it's the last round, then wait for the map to load and then slay them like usual
Sorry, you need to Log In to post a reply to this thread.