NoEscape for Rust

Prevent teleportation (and more) while in raid or combat

Total Downloads: 6,337 - First Release: Oct 23, 2015 - Last Update: Jul 29, 2017

5/5, 26 likes
  1. Calytic
    Description

    NoEscape prevents teleportation (and other actions) when a raid or combat is detected. NoEscape is meant to reduce the impact of many popular plugins on the core gameplay mechanics of Rust, namely combat strategy and tactics.

    block_gui.jpg

    Blocked Commands
    • /home (Teleportation)
    • /tpr (Teleportation)
    • /remove (Remover Tool)
    • /t home # (Magic Teleportation)
    • /bgrade (Automatic Build Grades)
    • /trade (Trade)
    • /rec (Recycle)
    • /bank (Bank)
    • /kit (Kits)
    Permissions
    You must assign permissions for the types of blocking you want
    • noescape.raid.tpblock
      noescape.combat.tpblock
      Blocks teleportation (/home /tpr)

    • noescape.raid.removeblock
      noescape.combat.removeblock
      Blocks remover tool (/remove)

    • noescape.raid.bgradeblock
      noescape.combat.bgradeblock
      Blocks automatic building grades (/bgrade)

    • noescape.raid.buildblock
      noescape.combat.buildblock
      Blocks regular building

    • noescape.raid.repairblock
      noescape.combat.repairblock

      Blocks regular repairing

    • noescape.raid.upgradeblock
      noescape.combat.upgradeblock
      Blocks regular upgrading of structures

    • noescape.raid.vendblock
      noescape.combat.vendblock
      Blocks using vending machines

    • noescape.raid.tradeblock
      noescape.combat.tradeblock
      Blocks trade (/trade)

    • noescape.raid.recycleblock
      noescape.combat.recycleblock
      Blocks recycling (/recycle)

    • noescape.raid.bankblock
      noescape.combat.bankblock
      Blocks bank (/bank)

    • noescape.raid.kitblock
      noescape.combat.kitblock
      Blocks redeeming of kits (/kit)

    • noescape.raid.assignbedblock
      noescape.combat.assignbedblock
      Blocks players from assigning others to a sleeping bag

    • Ex. grant group default noescape.raid.tpblock
    • Ex. grant user Calytic noescape.raid.tpblock
    Raid Block
    Detects when a raid is occurring and block players from using teleport (or other commands).

    The raid "participants" whom may be blocked:
    1. The owner of the base
    2. The nearby clan-mates of the owner
    3. The nearby friends of the owner
    4. The raid initiator
    5. The nearby clan-mates of the raid initiator
    6. The nearby friends of the raid initiator
    7. Anyone nearby (including raiders and bystanders)
    • raidBlock will detect raids and dispense command blocks depending on a variety of circumstances.
    • ownerBlock will check if the owner of the damaged block is within the configured distance, they are blocked for the configured duration.
    • clanShare will check if any clan-mates within configured distance and block them for the configured duration.
    • friendShare will check if any friends within configured distance and block them for the configured duration.
    • clanCheck will prevent clan-mates from blocking eachother accidentally.
    • friendCheck will prevent friends from blocking eachother accidentally.
    • blockAll will block everyone within configured distance for the configured duration. Note: this option overrides ownerBlock, friendShare, clanShare and raiderBlock entirely.
    Combat Block
    Detects when a player has given or received damage to/from another player, then blocks one or both parties from using teleport (or remover tool) for the configured duration.

    Configuration
    • raidBlock (default true)
      Whether or not raiding will perform blocking
    • raidDistance (default 100)
      The distance the owner must be from where the raid is occurring (default 100 meters)
    • raidDuration (default 300)
      The length of time before the raid block is lifed (default 5 minutes)
    • raidBlockNotify (default true)
      Whether or not player is notified when they are raid blocked.
    Raid Block Options
    • ownerBlock (default true)
      Blocks owner of target block (if nearby)
    • ownerCheck (default true)
      Prevents player from raidblocking themselves
    • blockAll (default false)
      Blocks everyone within configured distance (including raiders and bystanders).
    • cupboardShare (default false)
      Blocks nearby players who are authorized on you or friends cupboard
    • friendShare (default false)
      Block nearby friends of owner
    • friendCheck (default false)
      Prevents friends from blocking eachother
    • clanShare (default false)
      Block nearby clan-mates of owner
    • clanCheck (default false)
      Prevents clan-mates from blocking eachother
    • raidDamageTypes
      Choose what types of structure damage will block escape
    • raiderBlock (default false)
      Blocks player who initiated raid
    • raiderClanShare (default false)
      Blocks nearby clan-mates of raid initiator
    • raiderFriendShare (default false)
      Blocks nearby friends of raid initiator
    Combat Block Options
    • combatBlock (default false)
      Whether or not raiding will perform blocking
    • combatDuration (default 180)
      The length of time in seconds before the raid block is lifted (default 3 minutes)
    • combatOnHitPlayer (default true)
      Whether successfully hitting another player blocks you
    • combatOnTakeDamage (default true)
      Whether successfully being hit by another player blocks you
    • combatBlockNotify (default false)
      Whether or not a player is notified when they are combat blocked
    • combatDamageTypes
      Choose what types of player vs player damage will block escape
    Misc. Settings
    • cacheMinutes (default 1)
      The number of minutes before friend and clan relationships are refreshed
    • useZoneManager (default false)
      Raids create a zone around the raid the blocks everyone who enters the zone
    • zoneEnter (default true)
      Entering a raid zone initiates raid block on player
    • zoneLeave (default false)
      Leaving a raid zone eliminates raid block on player
    • sendChatNotification (default true)
    • sendUINotification (default true)
    Default Configuration
    Code (Text):
    {
      "blockAll": false,
      "blockingPrefabs": [
        "door",
        "window.bars",
        "floor.ladder.hatch",
        "floor.frame",
        "wall.frame",
        "shutter",
        "external"
      ],
      "blockOnDamage": true,
      "blockOnDestroy": false,
      "blockUnowned": false,
      "cacheMinutes": 1.0,
      "clanCheck": false,
      "clanShare": false,
      "combatBlock": false,
      "combatBlockNotify": false,
      "combatDamageTypes": [
        "Bullet",
        "Arrow",
        "Blunt",
        "Stab",
        "Slash",
        "Explosion",
        "Heat",
        "ElectricShock"
      ],
      "combatDuration": 180.0,
      "combatOnHitPlayer": true,
      "combatOnTakeDamage": true,
      "combatUnblockOnDeath": true,
      "combatUnblockOnRespawn": true,
      "combatUnblockOnWakeup": false,
      "cupboardShare": false,
      "friendCheck": false,
      "friendShare": false,
      "ownerBlock": true,
      "ownerCheck": true,
      "raidBlock": true,
      "raidBlockNotify": true,
      "raidDamageTypes": [
        "Bullet",
        "Blunt",
        "Stab",
        "Slash",
        "Explosion",
        "Heat"
      ],
      "raidDistance": 100.0,
      "raidDuration": 300.0,
      "raiderBlock": false,
      "raiderClanShare": false,
      "raiderFriendShare": false,
      "raidUnblockOnDeath": true,
      "raidUnblockOnRespawn": true,
      "raidUnblockOnWakeup": false,
      "sendChatNotification": true,
      "sendUINotification": true,
      "useZoneManager": false,
      "VERSION": "1.0.7",
      "zoneEnter": true,
      "zoneLeave": false
    }
    API
    Code (Text):
    bool IsEscapeBlockedS(string target)
    bool IsEscapeBlockedS(string target)
    bool IsRaidBlocked(BasePlayer target)
    bool IsRaidBlockedS(string target)
    bool IsCombatBlocked(BasePlayer target)
    bool IsCombatBlockedS(string target)

    void StartRaidBlocking(BasePlayer player, Vector3 position, createZone = true)
    void StopBlocking(BasePlayer target)
    void StopRaidBlockingS(string target)
    void StartCombatBlocking(BasePlayer target)
    void StopCombatBlockingS(string target)
    Contribute
    How To: Report Bugs