R-Remover-Tool

Building and entity removal tool

Total Downloads: 65,414 - First Release: Apr 3, 2015 - Last Update: Feb 7, 2018

5/5, 105 likes
  1. Cool nice one :) i got EntityOwner working with basic entities, just not metal doors etc.

    @Werkrat I like the idea of internal tracking, it sounds like after you find the fix for foundation and walls then this really is the perfect plugin. Can we then push your plugin be an official update?

    This is the most essential oxide plugin in my opinion and would be good to get it all working
     
    Last edited by a moderator: Apr 1, 2016
  2. Glad you got it working, do remember players are now able to pick up doors do removing them isnt to important, it would save some time yes :).
     
  3. how to configure the plugin to be able to remove the built mallet?
     
  4. With the way mod has currently been designed there is no way to enable a setting to disable this, is there any reason you want to remove the mallet? I ask as the mallet (aka Hammer) also deals with upgrading and rotating of the building parts.
    It you wanted to to not allow the hammer to destroy walls then you would have to either request for that feature to be added or make/request a seperate mod that does that by itself.
    I belive this is the function you need to call:
    void OnStructureDemolish(BuildingBlock block, BasePlayer player)

    If you return a false then it will cancel the destruction, But I do not know if this will affect anything else.
    Code:
    void OnStructureDemolish(BuildingBlock block, BasePlayer player)
    {
        return false;
    }
     
  5. Last edited by a moderator: Apr 4, 2016
  6. THIS IS SO GREAT!! Thanks so much, Everyone needs to use this... I got these settings to make it perfect

    "Remove - Access - Use Building Owners": true,
    "Remove - Access - Use RustIO & BuildingOwners (Building Owners needs to be true)": true,
    "Remove - Access - Use ToolCupboards": false,

    So this doesn't use Buildingowners or EntityOwner, has its own internal ownership and the new friends support? Does this mean the top 2 lines of config above are now irrelevant?
     
  7. Use Building Owners is now changed within the plugin to determine if the person should own the block
    Use RustIO & BuildingOwners is used within the plugin to determine if friends can remove each others blocks

    Both settings are still necessary and still used. I forgot to change the config references.... You're right that it uses Rust's internal tracking and you CAN remove BuildingOwners and EntityOwners. The new Friends plugin is the one that is referenced with this one.
     
  8. Super mate, Cheers! works a charm just what i was looking for
     
  9. Can you set permission for player group to be able to use remover tool? If so console command would be grant group player......? Or is it default?
     
  10. Last edited by a moderator: Apr 4, 2016

  11. top thank a lot.

    version
     
  12. You forgot to renamed stone to stones
     

    Attached Files:

  13. Yep, shows how long since I used a newly generated config xD, thanks.


    [DOUBLEPOST=1459735404][/DOUBLEPOST]ICYMI: This version removes deployables, works with the Friends plugin, and properly displays when you are refunded (deployables and resources)

    Updated:
    • When removing skinned items, you get that skin back instead of always getting the default
    • Changed version to 3.0.22 in case updater plugin conflicts
    • Added fix to stones name when default config generated
    • Changed the config to no longer reference RustIO or BuildingOwners. New lines are generated automatically

    New lines look like this:
    Code:
    "Remove - Access - Require Block Ownership": true,
    "Remove - Access - Use Friends & Require Ownership (Require Block Ownership must be true)": false,

    You can remove the following lines, or generate a new config:

    Code:
    "Remove - Access - Use Building Owners": true,
    "Remove - Access - Use RustIO & BuildingOwners (Building Owners needs to be true)": false,
    Updated: R-Remover Tool | Page 85 | Oxide
     
    Last edited by a moderator: May 16, 2016
  14. Awesome, works perfect with no configuration needed!
     
  15. Question what does this mean ? It started to day.

    [Info] [RemoverTool] 111111
    [Warning] [RemoverTool] [REMOVE]: [AGENT] Final activated remove count:1
     
    Last edited by a moderator: Apr 5, 2016
  16. I have had that for a while now
     
  17. Looks like some debug output maybe... I've never seen it before
     
  18. I really would like to see that its possible to remove everything from a specified user and that pookie bears are removeable with /remove all command.
     
  19. HOW DO YOU REMOVE THE PAY/COST THING?
     
  20. I got an (in my mind) important Feature Request for better "Buildingblocks" security:

    Atm, if we use Tool.Cupboard, we can remove ALL in range of the cupboard, blocks and deployables.
    This would include some kind of Remove-Abuse if someone finds all the cupboards.

    For that, the use of only "Building Owners" and NOT Tool.Cupboard stops this kind of usage, but prevents from being able to remove Deployables. (>> My results, if i'm correct)

    For the best combination of both, i changed the code of static bool hasTotalAccess to the following:
    (I've added the code from CanRemoveEntity and changed the ownercheck condition)
    Code:
    static bool hasTotalAccess(BasePlayer player, BaseEntity entity)
            {
                List<BuildingPrivlidge> playerpriv = buildingPrivlidges.GetValue(player) as List<BuildingPrivlidge>;
                if (playerpriv.Count == 0)
                {
                    return false;
                }
                foreach (BuildingPrivlidge priv in playerpriv.ToArray())
                {
                    List<ProtoBuf.PlayerNameID> authorized = priv.authorizedPlayers;
                    bool foundplayer = false;
                    foreach (ProtoBuf.PlayerNameID pni in authorized.ToArray())
                    {
                        if (pni.userid == player.userID)
                            foundplayer = true;
                    }
                    if (!foundplayer)
                    {
                        return false;
                    }
                }
                    if (entity is BuildingBlock)
                    {
                        var returnhook = Interface.GetMod().CallHook("FindBlockData", new object[] { entity as BuildingBlock });
                        if (returnhook is string)
                        {
                            string ownerid = (string)returnhook;
                            if (player.userID.ToString() != ownerid) {
                                return false;
                            }
                            if (useRustIO && RustIOIsInstalled())
                                if (!HasFriend(ownerid, player.userID.ToString())) {
                                    return false;
                                    }
                        }
                    }
    If you could write a new switch for that, this would be really awsome, and would provide the highest base-removal security, that includes Deployables remove as known before with the Cupboard

    Kind Regards