Heres a little mod that will add that chat command /giveent "username or id". It will try add that user as the owner and whitelist persmissions on the entity you are looking at.
Search for the line. "private void CmdCheckEntity(BasePlayer player)"
Above that paste in.
[ChatCommand("giveent")]
private void CmdGiveEnt(BasePlayer player, string command, string[] args)
{
if (!player.IsAdmin) { return; }
if (!permission.UserHasPermission(player.UserIDString, permAllow))
{
player.ChatMessage("Not enough permissions");
return;
}
RaycastHit hit;
var raycast = Physics.Raycast(player.eyes.HeadRay(), out hit, toolDistance, layerMask);
BaseEntity entity = raycast ? hit.GetEntity() : null;
if (!entity)
{
player.ChatMessage(Lang("NoEntityFound", player.UserIDString, toolUsed));
return;
}
if (args.Length == 0)
{
player.ChatMessage("No player name/id given!");
return;
}
BasePlayer gplayer = BasePlayer.FindAwakeOrSleeping(args[0]);
if (gplayer == null)
{
player.ChatMessage("Cant find player " + args[0].ToString());
return;
}
ProtoBuf.PlayerNameID pl = new ProtoBuf.PlayerNameID();
pl.userid = gplayer.userID;
pl.username = gplayer.displayName;
if (entity is SleepingBag)
{
SleepingBag sleepingBag = entity as SleepingBag;
sleepingBag.deployerUserID = gplayer.userID;
}
if (entity is Door)
{
Door door = entity as Door;
entity.OwnerID = pl.userid;
var lockSlot = door.GetSlot(BaseEntity.Slot.Lock);
if (lockSlot is CodeLock)
{
var codeLock = (CodeLock)lockSlot;
entity.OwnerID = pl.userid;
codeLock.whitelistPlayers.Add(pl.userid);
}
}
if (entity is AutoTurret)
{
AutoTurret at = entity as AutoTurret;
at.OwnerID = gplayer.userID;
at.authorizedPlayers.Add(pl);
}
if (entity is StorageContainer)
{
StorageContainer sc = entity as StorageContainer;
entity.OwnerID = pl.userid;
var lockSlot = sc.GetSlot(BaseEntity.Slot.Lock);
if (lockSlot is CodeLock)
{
var codeLock = (CodeLock)lockSlot;
entity.OwnerID = pl.userid;
codeLock.whitelistPlayers.Add(pl.userid);
}
}
if (entity is BuildingPrivlidge)
{
BuildingPrivlidge bp = entity as BuildingPrivlidge;
bp.OwnerID = gplayer.userID;
bp.authorizedPlayers.Add(pl);
}
player.ChatMessage("Give entity to " + gplayer.displayName);
}