TeleportGUI

TeleportGUI 2.0.20

This plugin require the Chaos extension -> https://chaoscode.io/resources/chaos.321/



Untitled-15.png



Features
- Full teleport, homes and warps system
- Can be used via commands or the UI
- Easy to use user interface, color scheme customizable in the config
- Popup notifications for TP requests and time until teleport
- VIP permission system, with many different configurable options based on custom permissions
- Options to auto-accept requests from friends, clan members and team-mates
- Admin bypass and admin silent teleport, which allows admins to teleport without requests and optionally without telling the other player
- Supports alias commands
- Saves players' cooldowns between reloads/restarts
- Supports payments using ServerRewards, Economics or scrap
- Many configurable teleport conditions to allow/prevent teleporting
- Save locations and teleport to them (admins only)
- Options to pay to teleport when maximum daily uses have been used
- Options to set homes on beds, bags and towels.
- Option to disable setting homes via command or menu, and only allows bed/bag/towel homes
- Ability to automatically generate warp points at desired monuments
- Ability to create custom chat commands and assign permissions to monument warp points
- Easily convert admin location and home data from NTeleportation via console command

TP Permissions
- teleportgui.tp.use - Allows access to the menu and basic TP commands
- teleportgui.tp.tpback - Allows access to the /tpb command
- teleportgui.tp.tphere - Allows access to the /tprhere command
- teleportgui.tp.tpcancel - Allows access to the /tpcancel command. You may also want to give this to everyone
- teleportgui.tp.sleepers - Allows access to toggle sleepers in the menu. Keep this to admins as it's instant (there is no 'request')
- teleportgui.tp.autoaccept - access to the sleepers menu. Keep this to admins as it's instant (there is no 'request')
- teleportgui.tp.location - Allows access to the /tpsave, /tpl, /tpllist commands. There are no restrictions on these commands and should be given to admins only


Home Permissions
- teleportgui.homes.use - Allows access to the menu and basic home commands
- teleportgui.homes.back - Allows access to the /homeback command
- teleportgui.homes.back.bypass - Allows access to /homeback command without and limitations (for admins)
- teleportgui.homes.viewothershomes - Allows access to view the homes of other players (for admins)
- teleportgui.homes.deleteothershomes - Allows access to delete the homes of other players (for admins)


Warp Permissions
- teleportgui.warps.use - Allows access to the warp menu and warp use command
- teleportgui.warps.admin - Allows access to create and delete warp points (for admins)


Admin Permissions
- teleportgui.admin - Allows access to the tpadmin console commands
- teleportgui.tp.tpback.admin - Allows admins to send players back to their previous location after teleporting
- teleportgui.homes.back.admin - Allows admins to send players back to their previous location after a home TP
- teleportgui.warps.back.admin - Allows admins to send players back to their previous location after a warp
- teleportgui.seeall - If the "Only shows friends..." config option is enabled, players with this permission will still be able to view the entire player list


TP Commands
- /tp - Opens the TP GUI
- /tp {x} {y} {z} - Teleports to co-ords (admin only)
- /tpr {player} - Sends a tp request to {player}
- /tpa - Accepts the incoming tp request
- /tpd - Denies the incoming tp request
- /tpc - Cancels the teleport
- /tpb - Teleports you back
- /tprhere - Teleports someone to you

- /tpb <playername> - Teleport the target player back to their last location (teleportgui.tp.tpback.admin)
- /tpsave {locationname} - Save you current position as a location
- /tpl {locationname} - Teleport to a previously saved location
- /tpllist - List saved locations


Home Commands
- /home - Opens the homes GUI
- /home {home} - Teleports you to the home
- /homec - Cancels a home teleport
- /homeback - Teleport to your previous location before your last home TP
- /sethome {home} - Creates a new home at your position
- /delhome {home} - Deletes the home
- /listhomes - Lists all your homes

- /homeback <playername> - Teleport the target player back to their last location (teleportgui.home.back.admin)


Warp Commands
- /warp - Opens the warp GUI
- /warp {to/list} [name] - Commands for non-GUI users, showing a list of warps and allowing you to go to a warp
- /warpadd - (admin) Allows you to add a warp
- /warpremove - (admin) Allows you to remove a warp
- /warpback - Teleport to your previous location before warping
- /warpback <playername> - Teleport the target player back to their last location (teleportgui.warps.back.admin)


Admin Console Commands
- tpadmin wipehomes <user_id> - Wipe the homes for the specified user
- tpadmin wipelocations <user_id> - Wipe the locations for the specified user
- tpadmin wipetpusage <user_id> - Wipe the TP usage data for the specified user
- tpadmin wipehomeusage <user_id> - Wipe the home usage data for the specified user
- tpadmin wipewarpusage <user_id> - Wipe the warp usage data for the specified user

** You can use the argument '*' in place of the user ID for all of these commands to have it apply to everyone on the server
ex. 'tpadmin wipehomes *' will wipe homes for everyone on the server


Generating monument warp points / Assigning custom permissions and commands
In the configuration, under the 'Monument Warp Points' section is a list of monuments.
ex.
JSON:
      "trainyard_1": {
        "Generate warp for this monument": false,
        "Custom chat command": "",
        "Required permission (prefix with teleportgui.)": ""
      },

Each of these give you the option to automatically generate a warp entry for monuments by setting 'Generate warp for this monument' to true.
The plugin will then generate a bunch of positions in and around the specified monument. When a player warps to that warp point it will randomly pick one of the generated positions to teleport them to.

There is a option to assign a permission to each monument to restrict access to certain players/groups. This permission should be prefixed with 'teleportgui.'
ex. "Required permission (prefix with teleportgui.)": "teleportgui.trainyard",

There is also the option to create a custom chat command that will allow players to use that warp point quickly without having to use the menu
ex. "Required permission (prefix with teleportgui.)": "trainyard" will create the command /trainyard
It is worth noting that while custom commands can be used on monuments that appear multiple times on the map (such as gas station or warehouse), players will only be teleported to the first one in the list when using the command


Configuration
JSON:
{
  "Chat options": {
    "Use chat prefix": true,
    "Chat prefix": "<color=#C4FF00>TP: </color>",
    "Chat icon (steam ID)": 0
  },
  "Teleport options": {
    "Teleport request timeout (seconds)": 30,
    "Only shows friends, clan members and team mates in player list": false,
    "Cancel pending teleport if hurt": true,
    "Cancel pending teleport if either player dies": false,
    "Teleport delay options": {
      "Default time until teleport (seconds)": 15,
      "VIP time until teleport (permission | seconds)": {
        "teleportgui.vip": 10,
        "teleportgui.elite": 5,
        "teleportgui.god": 3
      }
    },
    "Teleport cooldown options": {
      "Default cooldown time (seconds)": 10,
      "VIP cooldown times (permission | seconds)": {
        "teleportgui.vip": 60,
        "teleportgui.elite": 30,
        "teleportgui.god": 15
      }
    },
    "Teleport daily limit options": {
      "Default daily limit (0 disables limits entirely)": 3,
      "VIP daily limit (permission | limit)": {
        "teleportgui.vip": 5,
        "teleportgui.elite": 8,
        "teleportgui.god": 15
      }
    },
    "Purchase options": {
      "Require payment to teleport after daily limit has been reached": false,
      "Payment mode (ServerRewards, Economics, Scrap)": "Scrap",
      "Default payment cost": 10,
      "VIP payment cost (permission | cost)": {
        "teleportgui.vip": 8,
        "teleportgui.elite": 6,
        "teleportgui.god": 5
      }
    },
    "Command aliases": []
  },
  "Home options": {
    "Max home options": {
      "Default home limit (0 disables limits entirely)": 3,
      "VIP home limit (permission | limit)": {
        "teleportgui.vip": 5,
        "teleportgui.elite": 8,
        "teleportgui.god": 10
      }
    },
    "Sleeping bag homes": {
      "Create home on bag placement": false,
      "Create home on bed placement": false,
      "Create home on beach towel placement": false,
      "Only create a home on placement if it is inside a building": true,
      "Remove home on bed/bag removal": false,
      "Disable set home command": false
    },
    "Allow creating home in building blocked area": false,
    "Homes can only be set on building blocks": true,
    "Allow homes to be set on floors": false,
    "Don't allow homes to be set within X distance of another home": 20.0,
    "Wipe home data when the server is wiped": true,
    "Cancel pending teleport if hurt": true,
    "Cancel pending teleport if either player dies": false,
    "Teleport delay options": {
      "Default time until teleport (seconds)": 15,
      "VIP time until teleport (permission | seconds)": {
        "teleportgui.vip": 10,
        "teleportgui.elite": 5,
        "teleportgui.god": 3
      }
    },
    "Teleport cooldown options": {
      "Default cooldown time (seconds)": 10,
      "VIP cooldown times (permission | seconds)": {
        "teleportgui.vip": 60,
        "teleportgui.elite": 30,
        "teleportgui.god": 15
      }
    },
    "Teleport daily limit options": {
      "Default daily limit (0 disables limits entirely)": 3,
      "VIP daily limit (permission | limit)": {
        "teleportgui.vip": 5,
        "teleportgui.elite": 8,
        "teleportgui.god": 15
      }
    },
    "Purchase options": {
      "Require payment to teleport after daily limit has been reached": false,
      "Payment mode (ServerRewards, Economics, Scrap)": "Scrap",
      "Default payment cost": 10,
      "VIP payment cost (permission | cost)": {
        "teleportgui.vip": 8,
        "teleportgui.elite": 6,
        "teleportgui.god": 5
      }
    },
    "Command aliases": []
  },
  "Warp options": {
    "Teleport to random point in X vicinity (0 to disable)": 0.0,
    "Monument warp points": {
      "trainyard_1": {
        "Generate warp for this monument": false,
        "Custom chat command": "",
        "Required permission (prefix with teleportgui.)": ""
      },
      "harbor_2": {
        "Generate warp for this monument": false,
        "Custom chat command": "",
        "Required permission (prefix with teleportgui.)": ""
      },
      "harbor_1": {
        "Generate warp for this monument": false,
        "Custom chat command": "",
        "Required permission (prefix with teleportgui.)": ""
      },
      "fishing_village_c": {
        "Generate warp for this monument": false,
        "Custom chat command": "",
        "Required permission (prefix with teleportgui.)": ""
      },
      "fishing_village_a": {
        "Generate warp for this monument": false,
        "Custom chat command": "",
        "Required permission (prefix with teleportgui.)": ""
      },
      "fishing_village_b": {
        "Generate warp for this monument": false,
        "Custom chat command": "",
        "Required permission (prefix with teleportgui.)": ""
      },
      "desert_military_base_d": {
        "Generate warp for this monument": false,
        "Custom chat command": "",
        "Required permission (prefix with teleportgui.)": ""
      },
      "arctic_research_base_a": {
        "Generate warp for this monument": false,
        "Custom chat command": "",
        "Required permission (prefix with teleportgui.)": ""
      },
      "launch_site_1": {
        "Generate warp for this monument": false,
        "Custom chat command": "",
        "Required permission (prefix with teleportgui.)": ""
      },
      "compound": {
        "Generate warp for this monument": false,
        "Custom chat command": "",
        "Required permission (prefix with teleportgui.)": ""
      },
      "bandit_town": {
        "Generate warp for this monument": false,
        "Custom chat command": "",
        "Required permission (prefix with teleportgui.)": ""
      },
      "excavator_1": {
        "Generate warp for this monument": false,
        "Custom chat command": "",
        "Required permission (prefix with teleportgui.)": ""
      },
      "junkyard_1": {
        "Generate warp for this monument": false,
        "Custom chat command": "",
        "Required permission (prefix with teleportgui.)": ""
      },
      "stables_a": {
        "Generate warp for this monument": false,
        "Custom chat command": "",
        "Required permission (prefix with teleportgui.)": ""
      },
      "powerplant_1": {
        "Generate warp for this monument": false,
        "Custom chat command": "",
        "Required permission (prefix with teleportgui.)": ""
      },
      "military_tunnel_1": {
        "Generate warp for this monument": false,
        "Custom chat command": "",
        "Required permission (prefix with teleportgui.)": ""
      },
      "water_treatment_plant_1": {
        "Generate warp for this monument": false,
        "Custom chat command": "",
        "Required permission (prefix with teleportgui.)": ""
      },
      "airfield_1": {
        "Generate warp for this monument": false,
        "Custom chat command": "",
        "Required permission (prefix with teleportgui.)": ""
      },
      "radtown_small_3": {
        "Generate warp for this monument": false,
        "Custom chat command": "",
        "Required permission (prefix with teleportgui.)": ""
      },
      "mining_quarry_c": {
        "Generate warp for this monument": false,
        "Custom chat command": "",
        "Required permission (prefix with teleportgui.)": ""
      },
      "sphere_tank": {
        "Generate warp for this monument": false,
        "Custom chat command": "",
        "Required permission (prefix with teleportgui.)": ""
      },
      "mining_quarry_b": {
        "Generate warp for this monument": false,
        "Custom chat command": "",
        "Required permission (prefix with teleportgui.)": ""
      },
      "satellite_dish": {
        "Generate warp for this monument": false,
        "Custom chat command": "",
        "Required permission (prefix with teleportgui.)": ""
      },
      "mining_quarry_a": {
        "Generate warp for this monument": false,
        "Custom chat command": "",
        "Required permission (prefix with teleportgui.)": ""
      },
      "entrance_bunker_d": {
        "Generate warp for this monument": false,
        "Custom chat command": "",
        "Required permission (prefix with teleportgui.)": ""
      },
      "entrance_bunker_a": {
        "Generate warp for this monument": false,
        "Custom chat command": "",
        "Required permission (prefix with teleportgui.)": ""
      },
      "entrance_bunker_c": {
        "Generate warp for this monument": false,
        "Custom chat command": "",
        "Required permission (prefix with teleportgui.)": ""
      },
      "entrance_bunker_b": {
        "Generate warp for this monument": false,
        "Custom chat command": "",
        "Required permission (prefix with teleportgui.)": ""
      },
      "warehouse": {
        "Generate warp for this monument": false,
        "Custom chat command": "",
        "Required permission (prefix with teleportgui.)": ""
      },
      "supermarket_1": {
        "Generate warp for this monument": false,
        "Custom chat command": "",
        "Required permission (prefix with teleportgui.)": ""
      },
      "gas_station_1": {
        "Generate warp for this monument": false,
        "Custom chat command": "",
        "Required permission (prefix with teleportgui.)": ""
      },
      "lighthouse": {
        "Generate warp for this monument": false,
        "Custom chat command": "",
        "Required permission (prefix with teleportgui.)": ""
      }
    },
    "Cancel pending teleport if hurt": true,
    "Cancel pending teleport if either player dies": false,
    "Teleport delay options": {
      "Default time until teleport (seconds)": 15,
      "VIP time until teleport (permission | seconds)": {
        "teleportgui.vip": 10,
        "teleportgui.elite": 5,
        "teleportgui.god": 3
      }
    },
    "Teleport cooldown options": {
      "Default cooldown time (seconds)": 10,
      "VIP cooldown times (permission | seconds)": {
        "teleportgui.vip": 60,
        "teleportgui.elite": 30,
        "teleportgui.god": 15
      }
    },
    "Teleport daily limit options": {
      "Default daily limit (0 disables limits entirely)": 3,
      "VIP daily limit (permission | limit)": {
        "teleportgui.vip": 5,
        "teleportgui.elite": 8,
        "teleportgui.god": 15
      }
    },
    "Purchase options": {
      "Require payment to teleport after daily limit has been reached": false,
      "Payment mode (ServerRewards, Economics, Scrap)": "Scrap",
      "Default payment cost": 10,
      "VIP payment cost (permission | cost)": {
        "teleportgui.vip": 8,
        "teleportgui.elite": 6,
        "teleportgui.god": 5
      }
    },
    "Command aliases": []
  },
  "Teleport conditions": {
    "Can teleport whilst bleeding": {
      "Can teleport if target player has condition": true,
      "Can teleport if player has condition": false
    },
    "Can teleport whilst crafting": {
      "Can teleport if target player has condition": true,
      "Can teleport if player has condition": false
    },
    "Can teleport if mounted": {
      "Can teleport if target player has condition": false,
      "Can teleport if player has condition": false
    },
    "Can teleport if building blocked": {
      "Can teleport if target position has condition": false,
      "Can teleport if target player has condition": false,
      "Can teleport if player has condition": false
    },
    "Can teleport if raid blocked": {
      "Can teleport if target player has condition": false,
      "Can teleport if player has condition": false
    },
    "Can teleport if on cargo ship": {
      "Can teleport if target player has condition": false,
      "Can teleport if player has condition": false
    },
    "Can teleport if on hot air balloon": {
      "Can teleport if target player has condition": false,
      "Can teleport if player has condition": false
    },
    "Can teleport if near oil rig": {
      "Can teleport if target position has condition": false,
      "Can teleport if target player has condition": false,
      "Can teleport if player has condition": false
    },
    "Can teleport if in underwater labs": {
      "Can teleport if target position has condition": false,
      "Can teleport if target player has condition": false,
      "Can teleport if player has condition": false
    },
    "Can teleport if in water": {
      "Can teleport if target player has condition": false,
      "Can teleport if player has condition": false
    },
    "Can teleport if in notp zone": {
      "Can teleport if target player has condition": false,
      "Can teleport if player has condition": false
    },
    "Can teleport if in safe zone": {
      "Can teleport if target player has condition": false,
      "Can teleport if player has condition": false
    },
    "Can teleport if in monument": {
      "Can teleport if target position has condition": false,
      "Can teleport if target player has condition": false,
      "Can teleport if player has condition": false
    }
  },
  "Purge user data after x amount of days of no activity": 7,
  "Admin options": {
    "Don't notify user's when a admin teleports to them": false,
    "Allow instant teleportation for admins": false
  },
  "UI options": {
    "Hide admins from player search list": false,
    "Hide warp points if the player doesn't have permission": false,
    "UI Colors": {
      "Background": {
        "Hex": "151515",
        "Alpha": 0.94
      },
      "Panel": {
        "Hex": "FFFFFF",
        "Alpha": 0.165
      },
      "Header": {
        "Hex": "C4FF00",
        "Alpha": 0.314
      },
      "Button": {
        "Hex": "2A2E32",
        "Alpha": 1.0
      },
      "Close": {
        "Hex": "CE422B",
        "Alpha": 1.0
      },
      "Highlight": {
        "Hex": "C4FF00",
        "Alpha": 1.0
      }
    }
  },
  "Version": {
    "Major": 2,
    "Minor": 0,
    "Patch": 3
  }
}

API
C#:
// Get the homes of the target player
Dictionary<string, Vector3> GetPlayerHomes(ulong userID)

// Get the TP locations of the target player
Dictionary<string, Vector3> GetPlayerLocations(ulong userID)

// Get the warp points on the server
Dictionary<string, Vector3> GetWarpPoints()

// Get the current cooldown for the target player
double GetPlayerHomeCooldown(ulong userID)
double GetPlayerTPCooldown(ulong userID)
double GetPlayerWarpCooldown(ulong userID)

// Get the current daily uses for the target player
int GetPlayerHomeUses(ulong userID)
int GetPlayerTPUses(ulong userID)
int GetPlayerWarpUses(ulong userID)

Converting NTeleportation Data
There is a easy command to convert admin location and home data from NTeleportation to TeleportGUI

Type 'teleportgui.convertntp <folder>' in rcon, replacing <folder> with the value of the 'Data File Directory (Blank = Default)' config option in your NTeleportation config.

If you do not have a value set for that option, then simply type 'null' as the folder

Information

Author
k1lly0u
First release
Last update
Rating
4.65 star(s) 20 ratings

Latest Release v2.0.20

Released
Apr 21, 2024 at 5:09 AM
Rating
0.00 star(s) 0 ratings


More resources from k1lly0u

  • UberTool - Admin's new Friend
    UberTool - Admin's new Friend
    The ultimative build'n'place solution without any borders or other known limits
  • TrainHeist
    TrainHeist
    A event where a train with scientists drives around the above or below rail ring
  • StacksExtended
    StacksExtended
    Advanded stacking system with modular permission based container sizing
  • Loadouts
    Loadouts
    Allow players to create custom loadouts which they can later claim
  • Juggernaut
    Juggernaut
    A minigame where 1 player becomes a juggernaut and must make it to a set destination in order to win

TeleportGUI by k1lly0u
© chaoscode.io Feb 5, 2017

Latest reviews

Love it, easy to setup allrounder teleport plugin with nice ui.
Thank you for years of first class support
Awesome
awesome stuff, enjoyed it for a short time, but players moaned that there wasn't an outpost tp command or town command, or home command, was silly really, they moaned about an easy to use program, but yeah, be cool if it had at least /bandit and /outpost tp commands built in :)
Perfect.. woorks fine :)
As usual great work.
Fast updates, No problems Just good
The ultimate TP plugin, works just fine and let you do wathever you want ! ++
Brilliant plugin. However Admins can't seem to TP while vanished...
Great Plugin. Ty