Пример #1
0
        private void OnEntityDeath(BaseCombatEntity victim, HitInfo info)
        {
            if (victim is BasePlayer && !victim.IsNpc)
            {
                var player = (BasePlayer)victim;
                DestroyGUI(player);

                if (Backpack.HasBackpackFile(player.userID))
                {
                    var backpack = Backpack.Get(player.userID);

                    backpack.ForceCloseAllLooters();

                    if (permission.UserHasPermission(player.UserIDString, KeepOnDeathPermission))
                    {
                        return;
                    }

                    if (_config.EraseOnDeath)
                    {
                        backpack.EraseContents();
                    }
                    else if (_config.DropOnDeath)
                    {
                        var droppedContainer = backpack.Drop(player.transform.position);

                        if (droppedContainer != null && ConVar.Server.corpses)
                        {
                            if (_lastDroppedBackpacks.ContainsKey(player.userID))
                            {
                                _lastDroppedBackpacks[player.userID] = droppedContainer;
                            }
                            else
                            {
                                _lastDroppedBackpacks.Add(player.userID, droppedContainer);
                            }
                        }
                    }
                }
            }
        }
Пример #2
0
        private void OnEntityDeath(BaseCombatEntity victim, HitInfo info)
        {
            if (victim is BasePlayer && !(victim is NPCPlayer) && !(victim is HTNPlayer))
            {
                var player = (BasePlayer)victim;

                if (Backpack.HasBackpackFile(player.userID))
                {
                    var backpack = Backpack.Get(player.userID);

                    backpack.ForceClose();

                    if (_config.EraseOnDeath)
                    {
                        backpack.EraseContents();
                    }
                    else if (_config.DropOnDeath)
                    {
                        backpack.Drop(player.transform.position + Vector3.up * 0.5f);
                    }
                }
            }
        }