Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

9 Screenshots

  • 1,010
  • 27
  • 45.54 kB

About aMAZEingPro

aMAZEingPro is a Rust mini-game which allows you and your friends to enjoy amazeingly fun but confusing mazes. Included extension required.
If the download contains extra files, named "READ ME" or "IMPORTANT", please read through since it's important notes for the version you're using.

 

Upcoming

Here's a list of upcoming features that are considered or will in fact make the cut in a future version of aMAZEingPro.

  • NPCs in the maze — Follows and ensures to confuse the player.
  • Automatic event mode — Enables events within an year automatically. (e.g Halloween event will enable itself all throughout October).
  • Event Themes — Christmas (whole December), Valentine's Day (February, 14th) & Easter (around April, who knows) themes.

 

Features

The plugin currently features the following:

  • Extremely customizable.
  • Asynchronous maze creation.
  • Batch maze creation & destruction.
  • Configurable maze sizes.
  • Maze modes.
  • Multiple floors.
  • Multiplayer.
  • Spectating mode.
  • Host & helper player lives & respawning on trap death.
  • Rewards: Economics and / or ServerRewards
  • Events: Halloween mode.

Configurable per floor:

  • Posters.
  • Traps (landmines, gun traps & bear traps).
  • Block tier configurations (twigs, wood, stone, metal, top tier).
  • Entrance / exit (reward box) loot configurations.
  • Skins for entrance (small) / exit (large) storage boxes and rugs.
  • Trap spawn chance amounts.
  • Locked doors & gifts.

 

API

The plugin currently features the following:

(string) CreateBuilding(ulong playerId, string modeJson, Vector3 rootPosition, int seed) // Generates a maze building with the mode configuration and returns the id which can be used to destroy it.
(void) DestroyBuilding(ulong playerId, string buildingId) // Destroys a building with the id.
(bool) IsHosting(ulong playerId) // Returns true if the player with the ID is currently hosting / playing a game.
(bool) IsHelping(ulong playerId) // Returns true if the player with the ID is currently playing or is participating in someone's game.
(bool) IsCooledDown(ulong playerId) // Returns true if the player with the ID is currently cooled down.
(int) GetCooldown(ulong playerId) // Returns the amount in seconds of someone's cooldown.

Warning: On plugin reload, the buildings created with the API (along with the running games) are going to be destroyed.

 

Configuration

The config comes with a few handy links, quick to access when you wanna make changes, like change the skins of small / large storage box, or need the item short-names and block tier indicators.

{
  "ItemsListWebsite": "https://www.corrosionhour.com/rust-item-list/",
  "LargeWoodenStorageBoxWorkshopWebsite": "https://steamcommunity.com/workshop/browse/?appid=252490&searchtext=&childpublishedfileid=0&browsesort=trend&section=mtxitems&requiredtags%5B%5D=Large+Wood+Box",
  "SmallWoodenStorageBoxWorkshopWebsite": "https://steamcommunity.com/workshop/browse/?appid=252490&searchtext=&childpublishedfileid=0&browsesort=trend&section=mtxitems&requiredtags%5B%5D=Wood+Storage+Box",
  "RugWorkshopWebsite": "https://steamcommunity.com/workshop/browse/?appid=252490&searchtext=&childpublishedfileid=0&browsesort=trend&section=mtxitems&requiredtags%5B%5D=Rug",
  "BlockTiers": "0 = Twigs, 1 = Wood, 2 = Stone, 3 = Metal, 4 = Top Tier",
  "WelcomeCommand": "maze",
  "InfoCommand": "maze.info",
  "PlayCommand": "maze.play",
  "LeaveCommand": "maze.leave",
  "KickCommand": "maze.kick",
  "InviteCommand": "maze.invite",
  "InviteAcceptCommand": "maze.accept",
  "InviteDeclineCommand": "maze.decline",
  "ModesCommand": "maze.modes",
  "LeaderboardCommand": "maze.lead",
  "ResetModesCommand": "maze.resetmodes",
  "MaximumInvites": 5,
  "DefaultHeight": 250.0,
  "BatchKillCount": 15,
  "BatchCreationRowCount": 5,
  "EnableLogging": true,
  "UseNPipesSignText": false,
  "EnablePlayerNoclip": false,
  "EnablePlayerNoclipLerp": true,
  "PlayerNoclipLerp": 4.0,
  "PlayerNoclipSprintMultiply": 3.0,
  "Themes": {
    "EnableHalloween": false
  },
  "GroupCooldowns": {
    "admin": 0,
    "vip": 25,
    "default": 120
  },
  "Modes": {}
}

 

Modes

To set up a mode with one or more floors, it must look something like this:

{
  "DisplayName": "Easy Run",
  "DisplayDescription": "Fun but complicated. Don't give up too easily. There're memes for your enjoyment.",
  "Size": 15,
  "EnableInvites": false,
  "RespawnOnFloorWherePlayerDied": true,
  "HostMaximumLives": 1,
  "HelperMaximumLives": 1,
  "Floors": [
    {
      "EnableLanterns": true,
      "Posters": {
        "Urls (Must be an accessible direct download link to an image - PNG or JP[E]G)": [
          "https://i.redd.it/cbcz02c3wlv51.jpg",
          "https://i.redd.it/xhyxowes0gv51.jpg",
          "https://i.redd.it/y30leeu81lv51.jpg",
          "https://i.redd.it/qbo7ot73ojv51.jpg",
          "https://i.redd.it/78v3jj30hjv51.jpg"
        ],
        "PosterSpawnChanceAmount": 5,
        "PosterSpawnChanceTimes": 2
      },
      "Doors": {
        "DoorChanceAmount": 10,
        "DoorChanceTimes": 6,
        "DoorMaximumAmount": 7,
        "GiftStorageChanceAmount": 5,
        "GiftStorageChanceTimes": 2,
        "GiftStorageSkinId": 0,
        "WrapGifts": true,
        "GiftLoot": [
        {
          "ShortName": "scrap",
          "MinAmount": 50,
          "MaxAmount": 500
        }]
      },
      "Traps": {
        "EnableLandMines": false,
        "EnableGunTraps": true,
        "EnableBearTraps": false,
        "EnableFog (Works only if Halloween mode is enabled)": true,
        "GunTrapAmmoChanceAmount": 5,
        "GunTrapAmmoChanceTimes": 2,
        "GunTrapAmmoAmount": 64,
        "LandMineChanceAmount": 5,
        "LandMineChanceTimes": 2,
        "BearTrapChanceAmount": 5,
        "BearTrapChanceTimes": 2
      },
      "Blocks": {
        "RugSkinId": 0,
        "EntranceWallTier": 2,
        "ExitWallTier": 2,
        "WallTier": 1,
        "WallFrameTier": 1,
        "FoundationTier": 1,
        "FloorTier": 2
      },
      "Loot": {
        "EntranceSignFormat": "START",
        "EntranceStorageLoot": [],
        "EntranceStorageSkinId": 0,
        "ExitSignFormat": "FINISH\nGood job, {0}!",
        "ExitStorageLoot": [
          {
            "ShortName": "scrap",
            "MinAmount": 500,
            "MaxAmount": 1000
          }
        ],
        "ExitStorageSkinId": 0
      }
    }
  ]
}

 

Permissions
Here are all the permissions you can use:

  • aMAZEingPro.play: Allows anyone to start a new maze. Invited players do not require this permission.
  • aMAZEingPro.admin: Allows anyone to execute [admin command]s.

 

Commands
Here are all the commands you can use:

  • Welcome: /maze by default, will print some information about this plugin, including the commands.
  • Info: /maze.info by default, will print some information the current game the player's playing, including mode information.
  • Play: /maze.play by default, [1/2/3 or mazeId (easy, hard, etc.)] will start a game with the specified maze id or index.
  • Leave: /maze.leave by default, will make a player or a helper teleport back to where they were. If the same player started the maze, the maze will be destroyed.
  • Invite: /maze.invite by default, will invite another player if you're already in a maze. They'll be secretly notified about it, where they can:
  • Accept: /maze.accept by default, [none or playerName] will accept a request to help a player to the maze. Accepting without having any input, will accept any games that the player's been requested to.
  • Decline: /maze.decline by default, [none or playerName] will decline a request to help a player to the maze. Declining without having any input, will decline any games that the player's been requested to.
  • Kick: /maze.kick by default, [playerName] will kick a helper player from a player's game.
  • Modes: /maze.modes by default, will print a list of all the maze modes a player can play in.
  • Leaderboard: /maze.lead by default, will print a list of all the maze modes with top 5 players best completion times.
  • Reset Modes: /maze.resetmodes by default [admin command], will reset the configuration.

 

Installation
To properly set up the plugin, please make sure you executed the following steps:

Step 1
Place Humanlights.System.dll in the RustDedicated_Data/Managed folder.

Step 2
Put aMAZEingPro.cs within the oxide/plugins folder.

Step 3
If you want everyone to be able to play the mini-game, use oxide.grant group default aMAZEingPro.play or replace default with admin, vip or any group you want.

 

Dependencies

The plugin currently depends on the following plugins:

The following are optional but highly recommended plugin dependencies:

 

Feedback

If you have any ideas or feedback you wanna give me, please comment down below.


User Feedback

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.