Code:
--==============================================================================
--AFK
AddChatCommand("afk", {info="go afk"}, function (player)
if (player:IsDead()) then
return false, "Only Alive"
elseif(player.actor:GetSpectatorMode()~=0 or g_gameRules:GetState()=="PreGame") then
return false, "Only Ingame"
elseif(player:IsOnVehicle()) then
return false, "Leave vehicle"
end
if (Afk[player.id]) then
g_gameRules.game:RenamePlayer(player.id, Afk[player.id].lastName);
g_gameRules.game:MovePlayer(player.id, Afk[player.id].startPos, player:GetWorldAngles())
g_gameRules.game:SetInvulnerability(player.id, true, 2);
SendMessageToAll(player:GetName().." is back!")
Afk[player.id] = nil
else
Afk[player.id] = {
startPos = player:GetWorldPos();
afkPos = player:GetWorldPos();
lastName = player:GetName();
lastInv = _time;
};
Afk[player.id].afkPos.z = Afk[player.id].afkPos.z + 100000
g_gameRules.game:MovePlayer(player.id, Afk[player.id].afkPos, player:GetWorldAngles())
g_gameRules.game:SetInvulnerability(player.id, true, 2);
SendMessageToAll(player:GetName().." is afk!")
end
end);
function Afk:AfkTick(player)
if (not Afk[player.id] or player:IsDead()) then
Afk[player.id] = nil
return
end
g_gameRules.game:MovePlayer(player.id, Afk[player.id].afkPos, player:GetWorldAngles())
g_gameRules.game:SetInvulnerability(player.id, true, 2);
if (_time-Afk[player.id].lastInv>=2) then
SendBigCenterMessageToPlayer(player, "Type in !afk to get back")
g_gameRules.game:SetInvulnerability(player.id, true, 2);
end
end